~bzr-pqm/bzr/bzr.dev

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
####################
Bazaar Release Notes
####################

.. toctree::
   :maxdepth: 1

bzr 2.5b1
#########

:2.5b1: NOT RELEASED YET

External Compatibility Breaks
*****************************

.. These may require users to change the way they use Bazaar.

New Features
************

.. New commands, options, etc that users may wish to try out.

* A ``from_unicode`` parameter can be specified when registering a config
  option. This implements boolean and integer config options when the
  provided ``bool_from_store`` and ``int_from_store`` are used.
  (Vincent Ladeuil)

* A ``from_unicode`` parameter can be specified when registering a config
  option. This implements boolean, integer and list config options when the
  provided ``bool_from_store``, ``int_from_store`` and ``list_from_store``
  are used for this parameter.  (Vincent Ladeuil)

* Accessing a packaging branch on Launchpad (eg, ``lp:ubuntu/bzr``) now
  checks to see if the most recent published source package version for
  that project is present in the branch tags. This should help developers
  trust whether the packaging branch is up-to-date and can be used for new
  changes. The level of verbosity is controlled by the config item
  ``launchpad.packaging_verbosity``. It can be set to one of

  off
    disable all checks


  minimal
    only display if the branch is out-of-date

  short
    also display single-line up-to-date and missing,


  all
    (default) display multi-line content for all states


  (John Arbash Meinel, #609187, #812928)

* Add a config option gpg_signing_key for setting which GPG key should
  be used to sign commits. Also default to using the gpg user identity
  which matches user_email() as set by whoami. (Jonathan Riddell,
  #68501)

* An ``invalid`` parameter can be specified when registering a config option
  to decide what should be done when invalid values are
  encountered. 'warning' and 'eeror' will respectively emit a warning and
  ignore the value or errors out. (Vincent Ladeuil)

* bzr log -m now matches message, author, committer and bugs instead
  of just matching the message.  --message keeps its original meaning,
  while --match-message, --match-author, --match-committer and
  --match-bugs match each of those fields.

* ``bzr help configuration/<option>`` display the help for ``option`` for
  all registered configuration options. (Vincent Ladeuil, #747050)

* Relative local paths can now be specified in URL syntax by using the
  "file:" prefix.  (Jelmer Vernooij)

Improvements
************

.. Improvements to existing commands, especially improved performance 
   or memory usage, or better results.

Bug Fixes
*********

.. Fixes for situations where bzr would previously crash or give incorrect
   or undesirable results.

* A call to CHKInventory's filter-method will not result in a
  DuplicateFileId error, if you move a subfolder and change a file in
  that subfolder.
  (Bastian Bowe, #809901)

* Decode ``BZR_HOME`` with fs encoding on posix platforms to avoid unicode
  errors.  (Vincent Ladeuil, #822571)

* Fix i18n use when no environment variables are set. (Jelmer Vernooij, #810701)

* TreeTransformBase.fixup_new_roots no longer forces trees to have a root, so
  operations that use it, like merge, can now create trees without a root.
  (Aaron Bentley)

Documentation
*************

.. Improved or updated documentation.

* Release instructions refreshed. (Vincent Ladeuil)

API Changes
***********

.. Changes that may require updates in plugins or other code that uses
   bzrlib.

* New class ``URL`` in ``bzrlib.utils`` for managing parsed URLs.
  (Jelmer Vernooij)

* New methods ``get_transport_from_path`` and ``get_transport_from_url``
  have been added that only support opening from a path or a URL,
  unlike ``get_transport``. (Jelmer Vernooij)

* New method ``Tree.get_file_verifier`` which allows tree implementations
  to return non-sha1 checksums to verify files.
  (Jelmer Vernooij, #720831)

* New method ``InterTree.file_content_matches`` which checks that
  two files in different trees have the same contents.
  (Jelmer Vernooij)

* New registry ``OptionRegistry`` specialized for configuration options.
  (Vincent Ladeuil)

* Remove ``AtomicFile.closed`` which has been deprecated in bzr 0.10.
  (Vincent Ladeuil)

* Remove ``commands._builtin_commands``, ``commands.shlex_split_unicode``,
  ``Command._maybe_expand_globs`` and ``Command.run_direct`` deprecated in
  2.10 and 2.2.0. (Vincent Ladeuil)

* Remove ``diff.get_trees_and_branches_to_diff`` deprecated in 2.2.0.

* Remove ``log.calculate_view_revisions``, ``log._filter_revision_range``,
  ``log.get_view_revisions`` which have been deprecated in bzr 2.1.0. Also
  remove ``log.show_one_log`` which was never properly deprecated but wasn't
  used and is easy to inline if needed. (Vincent Ladeuil)

* Remove ``trace.info``, ``trace.error`` and ``trace.show_log_error``
  deprecated in 2.1.0. (Vincent Ladeuil)

* Remove ``TransportListRegistry.set_default_transport``, as the concept of
  a default transport is currently unused. (Jelmer Vernooij)

* Remove ``UIFactory.warn_cross_format_fetch`` and
  ``UIFactory.warn_experimental_format_fetch`` in favor of
  ``UIFactory.show_user_warning``. (Jelmer Vernooij)

* There is a new class `ContentFilterTree` that provides a facade for 
  content filtering.  The `filtered` parameter to `export` is deprecated 
  in favor of passing a filtered tree, and the specific exporter plugins
  no longer support it.
  (Martin Pool)

* ``Transport`` now has a ``_parsed_url`` attribute instead of
  separate ``_user``, ``_password``, ``_port``, ``_scheme``, ``_host``
  and ``_path`` attributes. Proxies are provided for the moment but
  may be removed in the future. (Jelmer Vernooij)


Internals
*********

.. Major internal changes, unlikely to be visible to users or plugin 
   developers, but interesting for bzr developers.

* New method ``ControlDir._get_selected_branch`` which returns the
  colocated branch selected using path segment parameters.
  (Jelmer Vernooij, #380871)

Testing
*******

.. Fixes and changes that are only relevant to bzr's test framework and 
   suite.  This can include new facilities for writing tests, fixes to 
   spurious test failures and changes to the way things should be tested.

* `BranchBuilder.build_snapshot` now supports a "flush" action.  This
  cleanly and reliably allows tests using `BranchBuilder` to construct
  branches that e.g. rename files out of a directory and unversion that
  directory in the same revision.  Previously some changes were impossible
  due to the order that `build_snapshot` performs its actions.
  (Andrew Bennetts)

* Don't require ``os.fdatasync`` to be defined on all supported OSes
  (BSD-based OSes don't define it).  (Vincent Ladeuil, #822649)

* Fix compatibility with testtools 0.9.12. (Jelmer Vernooij, #815423)

* ``LockDir`` can now be run when the local hostname is ``localhost``.
  (Jelmer Vernooij, #825994)

* ``ModuleAvailableFeature`` won't try to import already imported modules,
  allowing it to be used for modules with side-effects.
  (Vincent Ladeuil, #712474)

* `TestCaseWithMemoryTransport` is faster now: `_check_safety_net` now
  just compares the bytes in the dirstate file to its pristine state,
  rather than opening the WorkingTree and calling ``last_revision()``.
  This reduces the overall test suite time by about 10% on my laptop.
  (Andrew Bennetts)

* Update `TestCase.knownFailure` to the testtools way of handling expected
  failures to resolve Python 2.7 incompatibility. (Martin [gz], #607400)

..
   vim: tw=74 ft=rst ff=unix