Hi, My name is vila and... err, wrong channel.
We have a new beta release: the third one in the 2.4 series (2.4.0 is planned to be released in August 2011). Our beta releases are suitable for everyday use but you may encounter small incompatibilities with some plugins. Since this is our third beta, most of them have already been addressed though; so file bugs for the remaining ones ! All fixes done on our previous stable releases are included (it's always the case but it's worth reminding). I'm happy to thank everyone who contributed to this release whether you sent merge proposals, patches, suggestions and feedback, this is much appreciated, keep them coming ! Bazaar is now available for download from https://launchpad.net/bzr/2.4/2.4b3/ as a source tarball. Installers have been built in record time after the source freeze for windows and OSX. Packages for Ubuntu are available in the beta ppa: https://launchpad.net/~bzr/+archive/beta Note that we've stopped supporting python-2.4/2.5 and hardy there for the *beta*, the 2.3 stable series will maintain compatibility with python2.4. And now for the gory details: External Compatibility Breaks ***************************** * ``bzr-2.4`` has officially dropped support for python2.4 and python2.5. We will continue to maintain ``bzr-2.3`` for people who still need to use those versions of python. (John Arbash Meinel) New Features ************ * The text compressor used for 2a repositories now has a tweakable parameter that can be set in bazaar.conf. ``bzr.groupcompress.max_entries_per_source`` default of 65536. When doing compression, we build up an index of locations to match against. Setting this higher will result in slightly better compression, at a cost of more memory. Note that a value of 65k represents fully sampling a 1MB file. So this only has an effect when compressing texts larger than N*16 bytes. (John Arbash Meinel, #602614) Improvements ************ * ``bzr branch --stacked`` from a smart server uses the network a little more efficiently. For a simple branch it reduces the number of round-trips by about 20%. (Andrew Bennetts) * ``bzr log --line`` scales the width of the author field with the size of the line. This means that the full author name is shown when the environment variable BZR_COLUMNS=0. (Neil Martinsen-Burrell) * ``bzr pull`` now properly triggers the fast ``CHKInventory.iter_changes`` rather than the slow generic inter-Inventory changes. It used to use a ``DirStateRevisionTree`` as one of the source trees, which is faster when we have to read the whole inventory anyway, but much slower when we can get just the delta out of the repository. On a 70k record tree, this changes ``bzr pull`` from 28s down to 17s. (John Arbash Meinel, #780677) * Slightly reduced memory consumption when fetching into a 2a repository by reusing existing caching a little better. (Andrew Bennetts) * Speed up ``bzr status`` by a little bit when there are a couple of modified files. We now track how many files we have seen that need updating, and only rewrite the dirstate file if enough of them have changed. The default is 10, and can be overridden by setting the branch option "``bzr.workingtree.worth_saving_limit``". (Ian Clatworthy, John Arbash Meinel, #380202) * Speed up ``bzr uncommit``. Instead of resetting the dirstate from scratch, use ``update_basis_by_delta``, computing the delta from the repository. (John Arbash Meinel, #780544) Bug Fixes ********* * All Tree types can now be exported as tar.*, zip or directories. (Aaron Bentley) * ``bzr merge --no-remember location`` never sets ``submit_branch``. (Vincent Ladeuil, #782169) * ``bzr pull --no-remember location`` never sets ``parent_location``. ``bzr push --no-remember location`` never sets ``push_location``. ``bzr send --no-remember submit_location public_location`` never sets ``submit_branch`` nor ``public_branch``. (Vincent Ladeuil) * Conflicts involving non-ascii filenames are now properly reported rather than failing with a UnicodeEncodeError. (Martin [GZ], #686161) * Correct parent is now set when using 'switch -b' with bound branches. (A. S. Budden, #513709) * Fix `bzr plugins` regression in bzr 2.4 which resulted in a traceback from writelines on ckj terminals. (Martin [GZ], #754082) * ``WT.inventory`` and ``WT.iter_entries_by_dir()`` was not correctly reporting subdirectories that were tree references (in formats that supported them). (John Arbash Meinel, #764677) * Merging into empty branches now gives an error as this is currently not supported. (Jonathan Riddell, #242175) * Do not show exception to user on pointless commit error (Jonathan Riddell #317357) * ``WT.update_basis_by_delta`` no longer requires that the deltas match the current WT state. This allows ``update_basis_by_delta`` to be used by more commands than just commit. Updating with a delta allows us to not load the whole inventory, which can take 10+s with large trees. (Jonathan Riddell, John Arbash Meinel, #781168) Documentation ************* * Restore the workaround for option names including dots (--1.14) which was disabled when we stopped listing --1.9 as a format. (Vincent Ladeuil, #782289) API Changes *********** * ``annotate_file`` has been deprecated in favor of ``annotate_file_revision_tree``. (Jelmer Vernooij, #775598) * ``Branch.fetch`` now takes an optional ``limit`` argument. (Andrew Bennetts, Jelmer Vernooij, #750175) * ``Inter.get`` now raises ``NoCompatibleInter`` if there are no compatible optimisers rather than an instance of the class it is called on. (Jelmer Vernooij) * ``Branch.push`` now takes a ``lossy`` argument. ``Branch.lossy_push`` has been removed. (Jelmer Vernooij) * New method ``Repository.get_file_graph`` which can return the per-file revision graph. (Jelmer Vernooij, #775578) * The default implementation of ``Branch`` is now oriented to storing the branch tip. Branch implementations which store the full history should now subclass ``FullHistoryBzrBranch``. ``Branch._last_revision_info`` has been renamed to ``Branch._read_last_revision_info`` (Jelmer Vernooij) * ``Tree.__iter__`` has been deprecated; use ``Tree.all_file_ids`` instead. (Jelmer Vernooij) * ``Tree.get_symlink_target`` now takes an optional ``path`` argument. (Jelmer Vernooij) Internals ********* * Removed ``bzrlib.branch._run_with_write_locked_target`` as ``bzrlib.cleanup`` provides the same functionality in a more general way. (Andrew Bennetts) Testing ******* * A test that was expected to fail but passes instead now counts as a failure catching up with new testtools and subunit handling. (Martin [GZ], #654474) * Make it easier for plugins to reuse the per_workingtree scenarios by restoring the wt_scenarios helper that was accidentally deleted. (Vincent Ladeuil, #783472) * Removed ``test_breakin`` tests that were excessively prone to hanging, did not work on Wine, and partly already disabled. (Martin Pool, #408814, #746985) * Windows locations are different and should be tested accordingly. (Vincent Ladeuil, #788131)
