Doxygen Release 1.5.7.1
(release date 5-10-2008)
Changes
* The dot tool is no longer part of the doxygen package for
MacOSX. Please install GraphViz separately and set the dot path
to /usr/local/bin
New features
* Added option DOT_FONTSIZE which allows to set the size of
the fonts used in dot generated graphs.
Bug fixes
* id 554432: Re-added ALPHABETICAL_INDEX option.
* id 554379: Fixed internal error for GENERATE_INDEXLOG when
GENERATE_HTML was set to NO.
* id 554546: Included fix for handling relative includes in
the preprocessor.
* Included several VHDL fixes related to syntax highlighting,
finding class members, and mixing upper and lower case.
* Included patch to allow setting DEST_DIR environment variable
to determine where to install doxygen.
Doxygen Release 1.5.7
(release date 28-9-2008)
Changes
* The default CSS style sheet has been cleaned up and simplified,
thanks to the work done by Quinn Taylor.
New features
* Added new config options GENERATE_QHP which enables generating
.qch (Qt compiled help) file via the Qt's qthelpgenerator tool
(part of Qt 4.4+). This type of files can be read with Qt's
Assisant to browse the documentation in a similar way as is
possible with Microsoft's compiled HTML help (.chm). To further
customize the output and run the help generator from within
doxygen, the following options are available: QCH_FILE,
QHP_NAMESPACE, QHP_VIRTUAL_FOLDER, QHG_LOCATION. Thanks to
Sebastian Pipping for the patch.
* Add new option SYMBOL_CACHE_SIZE to allow a different trade
off between doxygen's memory usage and the amount of disk
accesses.
* id 532695: Added 3 new commands: \extends, \implements, and
\memberof that allow object oriented constructs to be documented
as such for languages that do not support it natively (e.g. C)
* Added better support for one line comments after VHDL types.
* Added new option LAYOUT_FILE which can be used to specify a
layout template file that tells doxygen in which order to
generate the output and which titles to use for headings and
how the navigation index will look; Read this for more info.
As a result the following options are now obsolete since they
can now only be controlled via the layout file: DETAILS_AT_TOP,
ALPHABETICAL_INDEX. The following options can also be set via
the layout file, but for convenience and backward compatibility
reasons they are still also part of the configuration file:
SHOW_INCLUDE_FILES, SHOW_USED_FILES, CLASS_GRAPH, COLLABORATION_GRAPH,
GROUP_GRAPHS, INCLUDE_GRAPH, INCLUDED_BY_GRAPH. Run doxygen
with the -l option to generate the default layout file.
* Included update for the Macedonian, Catalan, Brazilian, and
Serbian translation and also support for Serbian with Cyrilic
characters.
Bug fixes (ids refer to the bugzilla database)
* id 140264, 332187, 541924: Sections inside a \subpage where
not shown as subsection in the LaTeX/RTF output.
* id 155098,156188: Added support for UTF-8 special characters
in identifiers (which is allowed by e.g. C#).
* id 304598: operator-- caused invalid HTML output.
* id 324047: parameter type [in or out] were not generated in
RTF document
* id 363499: @todo and friends did not work in a comment marked
with @dir.
* id 445485: HTML commands in a comment block with attribute
values without quotes were not handled properly.
* id 533855: Processes were always documented as anonymous in
VHDL code.
* id 535379: Added support for %{...%} blocks in XPCOM's IDL.
* id 536298: Last port in a VHDL port list was not correctly
put in a member group.
* id 536385: Fixed problem matching function prototype and
implementation under certain conditions.
* id 536629: Fixed compilation issue on NetBSD.
* id 537393: Properties in Python were not properly handled.
* id 538065: Added support for @optional and @required in
Objective C 2.0 protocols.
* id 538239: Some unlabeled VHDL processes were not corrected
detected.
* id 538515: Deriving a Objective-C interface from a protocol
caused parsing problems if the interface also has a body.
* id 539057: Part of an Objective-C expression could be missing
in the source browser under certain conditions.
* id 539590: Generic C# classes with the same name but different
template arguments were no longer treated as different classes.
* id 539712: Fixed code parser issue for parameter indices of
procedures and functions.
* id 540058: Creator code was wrong in the MacOSX application
bundle.
* id 540372: Fixed problem parsing large table by increasing
YY_READ_BUF_SIZE in the generated parser files.
* id 540247: Fixed potential memory corruption issue parsing
VHDL.
* id 541113: Fixed locale for ctype, to avoid stripping of 0xA0
from multi-byte UTF-8 characters.
* id 544479: SORT_MEMBER_DOCS did not work for class members.
* id 546621: Fixed makefile so that .svn stuff is removed from
the tarball when doing "make archive".
* id 546812: Using a table with row span greater than 1 did
not produce correct LaTeX output.
* id 545098: Fixed problem parsing where clauses in combination
with C# generics.
* id 545503: Nameless parameters of type "struct A" could end
up wrongly in the XML output.
* id 545970: Refering to the main page did not work as advertised.
* id 546158: The variable defined inside a foreach statement
in C# code was not considered for source linking, cause
potentially incomplete call graphs.
* id 547361: Linking to specialized template functions did not
work.
* id 548175: Fixed problem parsing class members within a class
X, inside a namespace that is also named X.
* id 548443: Documenting a nested namespace/classes with
@namespace X.Y did not work for C# (only X::Y worked).
* id 548489: C++/CLI classes of type sealed abstract were not
processed correctly.
* id 549318: Some headings in the user manual where wrongly
formatted.
* id 549581: Fixed potential buffer overflow in preprocessor.
* id 550058: Obj-C: properties for private fields did not appear
in the output unless EXTRACT_PRIVATE was enabled.
* id 550156: Corrected typo in the documentation for
GENERATE_TREEVIEW.
* id 550247: Fixed problem parsing octal character literals in
the preprocessing phase.
* id 551739: Related function with explicit namespace scope
was not properly placed if the function also existed in the
global namespace.
* id 552115: Anonymous structs and unions could produce invalid
links in the html help index.
* id 552361: Fixed problem with operators in the LaTeX output.
* id 552600: \copybrief ended a brief description instead of
appending to it.
* id 553469: Removed bogus warning about internal inconsistency
when importing items via a tagfiles that are inside an undocumented
scope.
* id 553616: One can now remove the automatic line breaks in
the type part of a declaration by using a custom stylesheet
with BR.typebreak { display: none; }
* id 553663: Aliases did not work in Fortan comments.
* id 549022: Reimplemented in links could be wrong in case of
overloaded members.
* id 553225: Parser was confused by arrays inside an Obj-C
message.
* Finnish translation was disabled.
* A collaboration graph with multiple edge labels with not
written to the XML output correctly.
* sub pages of a \mainpage were not shown in the Latex/RTF
output.
* Included some fixed for the VHDL parser.
1.8.1:
Many bug fixes and improvements, including:
* BLEND_RGBA_* blitters and blenders to go with the BLEND_RGB_* blend modes.
* documentation updates (mainly for new sprite classes released in 1.8.0)
* sound fixes, and streaming some music from file like objects
* image saving fixes
* greatly expanded tests
* Pixelarray, and surfarray updates and fixes.
* Enhanced Color class, reimplemented in C for speed.
* New Windows and Mac binary installers.
1.8.0:
Besides features such as
* pygame.mask for collision masks
* pygame.scrap for clipboard support
* new and improved sprite groups
* blending support for filling and blitting surfaces
* saving surfaces as jpeg and png
* buffer access for Surface and Sound objects
* numpy support for pygame.surfarray and pygame.pixelarray
* New Windows and Mac installers.
it contains tons of bug fixes and improvements in nearly all areas.
2.14.1:
* Windows build: Use the new DLL naming convention, like boost.
(Armin Burgmeier)
* Documentation:
- Corrected the index page for DevHelp.
(Deng Xiyue) Bug #559896
0.2002 Thu Sep 11 14:33:09 EDT 2008
- changed: removed Exporter dependency
- test fix: fixed strange t/07_uplevel_too_high.t fail on Win32
0.2001 Tue Sep 9 22:22:40 EDT 2008
- test fix: changed prior override test to be more robust (SCHWERN)
0.20 Tue Sep 9 19:23:35 EDT 2008
- changed: bumped perl requirement to 5.006 and stopped using vars
(fixes a test bug under Test::More > 0.80)
0.19_03 Fri Jul 4 13:31:21 EDT 2008
- fixed: load Carp only as needed (fixes problem on 5.005)
0.19_02 Thu Feb 21 14:58:46 EST 2008
- added: uplevel will warn if uplevel request is more than the call
stack depth
mowgli is a development framework for C (like GLib), which provides high
performance and highly flexible algorithms. It can be used as a suppliment
to GLib (to add additional functions (dictionaries, hashes), or replace
some of the slow GLib list manipulation functions), or stand alone. It
also provides a powerful hook system and convenient logging for your code,
as well as a high performance block allocator.
* If you created a product or component with the same name as one you previously deleted, it would fail with an error about the series table. (Bug 247936)
* Includes a fix for: http://www.bugzilla.org/security/2.20.6/
a recent enough version of gettext(3) e.g. Mac OS X or Linux. Dynamically
adjust the package list depending on the configure result.
Bump the package revisions because the package list was incorrect on
various platforms.
==============
0.3.0 (stable)
==============
The lsdiff -H option is now the default, and new options have
been added to filterdiff for reading inclusion/exclusion
patterns from files, and for removing non-diff lines.
Pkgsrc changes:
- Updated HOMEPAGE. Changes were collected from this page.
- Needs GNU make.
- LICENSE is GPLv2
- Added basic support for "make test".
Changes since version 3.0q:
===========================
Xdelta-3.0u release notes:
* New xdelta3 merge command (issue 36)
* Windows stdin/stdout-related fixes (issue 34)
* Fix API-only infinite loop (issue 70)
* Various portability and build fixes (gcc4, DJGPP, MinGW, Big-endian,
Solaris, C++)
* New regression test (yeah!)
Xdelta-3.0t release notes:
* Improves compression by avoiding inefficient small copies (e.g.,
copies of length 4 at a distance >= 2^14 are skipped)
* Fixes an uninitialized array element in -S djw which did not cause
a crash, but caused less than ideal compression and test failures
* Fixes bugs in xdelta3 recode, tests added
* All tests pass under Valgrind
Xdelta-3.0s release notes:
* Faster! Several optimizations to avoid unnecessary arithmetic
* xdelta3 -1 has faster/poorer compression (xdelta3 -2 is the former
configuration)
* -S djw exposes secondary compression levels as -S djw1 .. -S djw9
* Removes "source file too large for external decompression" error check
* API support for transcoding other formats into VCDIFF
Xdelta-3.0r release notes:
* Fixes an encoder crash caused by -S djw (secondary compressor) on
certain data, new tests for code-length overflow
* Adds new recode command for re-encoding a delta with different
secondary compression settings
* Fixes API-specific bugs related to non-blocking calls to
xd3_encode_input and xd3_decode_input
* Adds new examples/encoder_decoder_test.c program for the non-blocking API
Pkgsrc changes:
- Removed patches patch-aa, patch-ab and patch-ac (integrated upstream).
- Added explicit version requirements for glib and zlib.
- HOMEPAGE and MASTER_SITES had moved to a different location.
Changes since version 1.1.1:
============================
** Changes since version 1.1.3
* Add an implementation of xdp_generator_free() for users of the
libxdelta API. Previously there were no such users of the 1.x API,
but Elliot Lee <sopwith@redhat.com> has written a program for
providing delta operations on RPM files. See http://@@@
* The man page now documents return values.
** Changes since version 1.1.2
* Correct error message format for the case when gzread fails trying
to automatically decompress a corrupted GZIP file. The situation
itself--corrupt GZIP files--should be dealt with the -p (--pristine)
option, which disables GZIP file recognition. Reported by Ben
Escoto.
* Apply a patch from Klaus Dittrich for building on HPUX with the
native compiler. There is now a script called "contrib/build_hpux".
** Changes since version 1.1.1
* This code release is a distant fork of the 2.0 release. It will
hopefully be replaced.
* When 'patch' supplies its default TO file name recorded in the
delta, it still generates a unique file name to avoid overwriting an
existing copy. Use the 'xdelta info' command to see what file names
are contained in the delta.
* The code for writing patches to stdout was broken in the case where
gzip compression is used. Writing patches to stdout has therefore
been disabled. The problem is a limitation in the gzdopen/gzwrite
functions provided by zlib--you cannot determine how many bytes have
been written to the file descriptor without dup-ing the FD
beforehand and then lseek-ing afterwards, which does not work
correctly if the output file is not seekable.
* By default, Xdelta uses a hard-coded 16 byte block size. If you're
working with large files, try #undef XDELTA_HARDCODE_SIZE in
xdelta.h then use -s BLOCKSIZE (--blocksize=BLOCKSIZE), which should
be a power of 2.
* New test program in the 'test' subdirectory, which runs comparisons
against "diff --rcs -a" and also verifies the "xdelta patch"
command.
* Incorporate DJGPP patches from Richard Dawe <richdawe@bigfoot.com>.
You can find his versions directly at:
ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2apps/xdlt112b.zip
ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2apps/xdlt112s.zip
* Updated xdelta(1) man page.
* Updated autoconf (2.50), automake (1.4-p4), libtool (1.4) scripts,
which includes updated config.guess and config.sub scripts.
* Correct some backward compatibility issues: strcmp() was not being
tested == 0 for formats older than 1.0.4.
* Update GLIB version requirement, now 1.2.8.
* We really need support for 64bit file sizes... perhaps the next
version?
Changes:
0.61 Fri November 7, 2008
* Moose::Meta::Attribute
- When passing a role to handles, it will be loaded if necessary
(perigrin)
* Moose::Meta::Class
- Method objects returned by get_method (and other methods)
Could end up being returned without an associated_metaclass
attribute. Removing get_method_map, which is provided by
Class::MOP::Class, fixed this. The Moose version did nothing
different from its parent except introduce a bug. (Dave Rolsky)
- added tests for this (jdv79)
* Various
- Added a $VERSION to all .pm files which didn't have one. Fixes
RT #40049, reported by Adam Kennedy. (Dave Rolsky)
* Moose::Cookbook::Basics::Recipe4
* Moose::Cookbook::Basics::Recipe6
- These files had spaces on the first line of the SYNOPSIS, as
opposed to a totally empty line. According to RT #40432, this
confuses POD parsers. (Dave Rolsky)
Changes in CMake 2.6.2 RC 6
- Fix bug#7669 cpack did not work when sym-linked after install
Changes in CMake 2.6.2 RC 5
- Add beta BundleUtilities.cmake file
- CPackRPM 7435 fixes to add optional post-install
- Fix Bug #7456, FindBoost versioned find not working
- Fix FindCurses to be able to work without ncurses.h
- FindQt4 fix bug #7433, add a bit more documentation and add ability
to specify extra flags to lupdate.
Changes in CMake 2.6.2 RC 4
- Fix bug #7359 make llvm-gcc work, by explicitely excluding
"llvm-" from _CMAKE_TOOLCHAIN_PREFIX
- Fix bug 7046: OS X Framework support: extensionless headers were
being ignored when specified as public headers
- Fix documentation in CheckCCompilerFlag.cmake
- Add better version support to find_package command
- Fix Xcode debug not working
- Add VERSION compare to if command
- Make FindThreads sete THREADS_FOUND
- Deb cpack generator sets Installed-Size for the package
- Do not add an empty /D"" at the end of VS 6 .dsp compile lines
- Recognize /MAP in VS 7 and greater
- Add new policy CMP0009 - GLOB_RECURSE should not follow symlinks by
default
Changes in CMake 2.6.2 RC 3
- Fix bug, and remove extra closing > in visual fortran projects.
- Fix bug in ctest -C where it was sometimes ignored.
- Fix crash with exec_process when cmake is being debugged on windows
- Fix unsetting of global properties
Changes in CMake 2.6.2 RC 2
- allow tool chains to limit object path length
- add info.plist to frameworks
- better preservation of user link lines
- add a get command for cmake policies
- support for imported libraries of unknown type
- support link interface in target_link_libraries
- Do not hang when select lies
- .m compiled with gcc and g++ on mac
- Fix issue when application bundle dir is removed cmake
needs to re-run automatically
- Report an error when configure has one error
- Fix bug where -E commands stole command line options
- Fix infinite recursion bug with try-compile and change of compilers
- Fix delete and backspace in ccmake
- Fix coverage not to follow symlinks
- Add more possible languages for NSIS in cpack
- FindQt4.cmake fix bug #7433, add documentation that
directories also can be specified to update the translation files.
- Add standard arg handling to FindPHP4.cmake
- Add X11R6 to search path for FindOpenGL
- update cmake-syntax.vim to have more keywords
- BUG: fix#7477, set VERBOSE=1 in the kdevelop setting for
the environment, not together with the make executable
- UsePkgConfig.cmake - clean up, add a status message in case
pkgconfig didn't find the package, sync with kde
- FindX11 look in more places
- FindTIFF look for more names
- FindQt3, make sure qt4 is not found and some style stuff
- FindPNG add more names of linpng (sync with the KDE version)
- FindKDE3/KDE4 sanity checks on qt versions found
- FindLibXMl2 also search for xmllint, which comes with libxml2
(sync with FindLibXml2.cmake from KDE)
- Fix sizeof, and other compiler INFO string checks with
GNU linker's --gc-sections
- Fix bogus dependency on executable targets when a linked library
happended to match the name of an executable target
- Improve readability of circular depends error
- Fix crash on circular target dependencies
- find_package now knows about lib64 paths
- Fix gentoo elf security issue with RPATH and RUNPATH
Changes in CMake 2.6.2 RC 1
- Fix abort in eclipse generator with empty EXECUTABLE_OUTPUT_PATH
- Fix FindKDE3.cmake syntax error
- Fix custom command output by relative path not always working
- Fix bug, Do not convert RPATH entries to full path.
- Allow for "$ORIGIN" into the RPATH>
- Allow for static libraries with lots of objects using archive append
- Fix documentation for FindImageMagick.cmake
- Fix link error with MS compiler and comdef
- Fix crash when attempting to load the RPATH out of a non-ELF file
- Add --trace option to cmake allowing for the tracing of a cmake run
- Fix for issue #4971 where the case of the drive letter component of
the filenames might be different when analyzing gcov output.
- Add warning level W0 to visual studio
- Add support for OSX library version flags
Changes:
tig-0.12.1
----------
Improvements:
* Status view: revert uncommitted diff chunks and unstaged files with
changes. Bound to ! by default.
* Main view: use --topo-order also when rev-list arguments are given on
the command line.
* Log view: support for refreshing.
Bug fixes:
* Status view: use ls-files' --exclude-standard so user specific ignore
rules are effective. The option was added in git version 1.5.4.
* Stage view: fix assertion failure triggered when updating while status
view is not displayed.
* Help view: avoid confusion by showing "(no key)" instead of "?" for
unbound requests.
* Reload repository references when refreshing the main (and log) view.
* Do not maximize views when refreshing.
tig-0.12
--------
Improvements:
* F5 also refreshes the current view.
* Allow line graphics to be disabled with new line-graphics option.
* Main view: also include the reference names when searching.
* Main view: support for refreshing.
* Main view: disable boundary commits by default. Use --boundary when
they should be shown. (Debian bug 498628)
* Stage view: add stage-next action to jump to next diff chunk that can
be staged. By default bound to @.
* Configure: check for the ncurses header files.
* Add author-width option to costumize the width of the author column.
For example, put the following in ~/.tigrc: set author-width = 10
Bug fixes:
* Fix regression when staging all diff chunks in a section.
* Bind the maximize view action to O; it conflicted with the keybinding
to launch the merge tool in the status view.
* Fix problem with $(cmd) usage in shell code. Some shells (jsh)
installed as /bin/sh does not support it.
* Do not show incomplete boundary commits when --no-walk is used.
* Documentation: Rename gitlink macro to support AsciiDoc 8.2.3.
* Ignore pipe reads with errno "Success" reported after a signals, for
example when refreshing doing background loading.
tig-0.11
--------
Incompatibilities:
* Remove parsing of deprecated options: -g, -l, -d.
* The first seen -- will stop option parsing and is passed to git
instead of breaking out of tig's option parsing.
New features:
* Blame view; bound to B by default, reachable from the command line and
the tree, status, and stage views.
* Blame/main view: allow display of date, author, and references to be
toggled on/off. Bound to D, A, and F respectively.
* Add action to maximize the current view.
Improvements:
* Show the current branch in the status view.
* Show local/light-weight tags.
Bug fixes:
* Fix regressions for the pager mode.
* Fix refreshing of the index with working directory info.
BUG FIXES
* Fix compatibility with Bazaar 1.9. (#279444)
* Cope with pushing files changed into directories. (#277369)
* Don't assume root path can't change; Microsoft's CodePlex site
does this. (#278930)
* Fix python2.6 deprecation warnings. (#292306)
* Ignore with tags that happen to be files. (#290664)
bzr-svn 0.4.13 2008-09-24
pkgsrc changes
* Add patch-aa to support bzr 1.8 without warnings.
BUG FIXES
* Fix compatibility with Subversion 1.4 on Windows.
* Fix bug modifying set of right hand side revisions during fetch. (#264740)
* Fix linking against Subversion 1.5 on Windows. (#263570)
* Avoid NoneType error when no revisions to push in "bzr dpush". (#267484)
* Properly convert errors raised when starting a commit. (#267899)
* Fix compatibility with Bazaar 1.7.
FEATURES
* Add support for using Apple keychain.
* RELEASE: bzrtools 1.9.0
October 22 2008
* Use lazy command registration (changes bzr rocks 0.496 => 0.461).
October 17 2008
* Rename shelve and unshelve to shelve1 and unshelve1, with aliases to 'shelve'
and 'unshelve'. This allows bzr core to supply 'shelve' and 'unshelve'.
October 7 2008
* RELEASE: bzrtools 1.8.0
* Fix NotStandalone class to be stringable (#277652)
September 11 2008
* RELEASE: bzrtools 1.7.0
July 10 2008
* colordiff can now use /etc/colordiffrc
------------------
This release of Bazaar adds a new repository format, ``1.9``, with smaller
and more efficient index files. This format can be specified when
creating a new repository, or used to losslessly upgrade an existing
repository. bzr 1.9 also speeds most operations over the smart server
protocol, makes annotate faster, and uses less memory when making
checkouts or pulling large amounts of data.
BUG FIXES:
* Fix "invalid property value 'branch-nick' for None" regression with
branches bound to svn branches. (Martin Pool, #293440)
* Fix SSL/https on Python2.6. (Vincent Ladeuil, #293054)
* ``SFTPTransport.readv()`` had a bug when requests were out-of-order.
This only triggers some-of-the-time on Knit format repositories.
(John Arbash Meinel, #293746)
bzr 1.9rc1 2008-10-31
---------------------
NEW FEATURES:
* New Branch hook ``transform_fallback_location`` allows a function to
be called when looking up the stacked source. (Michael Hudson)
* New repository formats ``1.9`` and ``1.9-rich-root``. These have all
the functionality of ``1.6``, but use the new btree indexes.
These indexes are both smaller and faster for access to historical
information. (John Arbash Meinel)
IMPROVEMENTS:
* ``BTreeIndex`` code now is able to prefetch extra pages to help tune
the tradeoff between bandwidth and latency. Should be tuned
appropriately to not impact commands which need minimal information,
but provide a significant boost to ones that need more context. Only
has a direct impact on the ``--development2`` format which uses
btree's for the indexes. (John Arbash Meinel)
* ``bzr dump-btree`` is a hidden command introduced to allow dumping
the contents of a compressed btree file. (John Arbash Meinel)
* ``bzr pack`` now tells the index builders to optimize for size. For
btree index repositories, this can save 25% of the index size
(mostly in the text indexes). (John Arbash Meinel)
* ``bzr push`` to an existing branch or repository on a smart server
is faster, due to Bazaar making more use of the ``get_parent_map``
RPC when querying the remote branch's revision graph.
(Andrew Bennetts)
* default username for bzr+ssh and sftp can be configured in
authentication.conf. (Aaron Bentley)
* launchpad-login now provides a default username for bzr+ssh and sftp
URLs, allowing username-free URLs to work for everyone. (Aaron Bentley)
* ``lp:`` lookups no longer include usernames, making them shareable and
shorter. (Aaron Bentley)
* New ``PackRepository.autopack`` smart server RPC, which does
autopacking entirely on the server. This is much faster than
autopacking via plain file methods, which downloads a large amount
of pack data and then re-uploads the same pack data into a single
file. This fixes a major (although infrequent) cause of lengthy
delays when using a smart server. For example, pushing the 10th
revision to a repository with 9 packs now takes 44 RPCs rather than
179, and much less bandwidth too. This requires Bazaar 1.9 on both
the client and the server, otherwise the client will fallback to the
slower method. (Andrew Bennetts)
BUG FIXES:
* A failure to load a plugin due to an IncompatibleAPI exception is
now correctly reported. (Robert Collins, #279451)
* API versioning support now has a multiple-version checking api
``require_any_api``. (Robert Collins, #279447)
* ``bzr branch --stacked`` from a smart server to a standalone branch
works again. This fixes a regression in 1.7 and 1.8.
(Andrew Bennetts, #270397)
* ``bzr co`` uses less memory. It used to unpack the entire WT into
memory before writing it to disk. This was a little bit faster, but
consumed lots of memory. (John Arbash Meinel, #269456)
* ``bzr missing --quiet`` no longer prints messages about whether
there are missing revisions. The exit code indicates whether there
were or not. (Martin Pool, #284748)
* Fixes to the ``annotate`` code. The fast-path which re-used the
stored deltas was accidentally disabled all the time, instead of
only when a branch was stacked. Second, the code would accidentally
re-use a delta even if it wasn't against the left-parent, this
could only happen if ``bzr reconcile`` decided that the parent
ordering was incorrect in the file graph. (John Arbash Meinel)
* "Permission denied" errors that occur when pushing a new branch to a
smart server no longer cause tracebacks. (Andrew Bennetts, #278673)
* Some compatibility fixes for building the extensions with MSVC and
for python2.4. (John Arbash Meinel, #277484)
* The index logic is now able to reload the list of pack files if and
index ends up disappearing. We still don't reload if the pack data
itself goes missing after checking the index. This bug appears as a
transient failure (file not found) when another process is writing
to the repository. (John Arbash Meinel, #153786)
* ``bzr switch`` and ``bzr bind`` will now update the branch nickname if
it was previously set. All checkouts will now refer to the bound branch
for a nickname if one was not explicitly set.
(Marius Kruger, #230903)
DOCUMENTATION:
* Improved hook documentation. (Michael Ernst)
API CHANGES:
* commands.plugins_cmds is now a CommandRegistry, not a dict.
INTERNALS:
* New AuthenticationConfig.set_credentials method allows easy programmatic
configuration of authetication credentials.
bzr 1.8 2008-10-16
------------------
Bazaar 1.8 includes several fixes that improve working tree performance,
display of revision logs, and merges. The bzr testsuite now passes on OS
X and Python 2.6, and almost completely passes on Windows. The
smartserver code has gained several bug fixes and performance
improvements, and can now run server-side hooks within an http server.
BUG FIXES:
* Fix "Must end write group" error when another error occurs during
``bzr push``. (Andrew Bennetts, #230902)
PORTABILITY:
* Some Pyrex versions require the WIN32 macro defined to compile on
that platform. (Alexander Belchenko, Martin Pool, #277481)
bzr 1.8rc1 2008-10-07
---------------------
CHANGES:
* ``bzr log file`` has been changed. It now uses a different method
for determining which revisions to show as merging the changes to
the file. It now only shows revisions which merged the change
towards your mainline. This simplifies the output, makes it faster,
and reduces memory consumption. (John Arbash Meinel)
* ``bzr merge`` now defaults to having ``--reprocess`` set, whenever
``--show-base`` is not supplied. (John Arbash Meinel)
* ``bzr+http//`` will now optionally load plugins and write logs on the
server. (Marius Kruger)
* ``bzrlib._dirstate_helpers_c.pyx`` does not compile correctly with
Pyrex 0.9.4.1 (it generates C code which causes segfaults). We
explicitly blacklist that version of the compiler for that
extension. Packaged versions will include .c files created with
pyrex >= 0.9.6 so it doesn't effect releases, only users running
from the source tree. (John Arbash Meinel, #276868)
FEATURES
* bzr is now compatible with python-2.6. python-2.6 is not yet officially
supported (nor released, tests were conducted with the dev version of
python-2.6rc2), but all known problems have been fixed. Feedback
welcome.
(Vincent Ladeuil, #269535)
IMPROVEMENTS:
* ``bzr annotate`` will now include uncommitted changes from the local
working tree by default. Such uncommitted changes are given the
revision number they would get if a commit was done, followed with a
? to indicate that its not actually known. (Robert Collins, #3439)
* ``bzr branch`` now accepts a ``--standalone`` option, which creates a
standalone branch regardless of the presence of shared repositories.
(Daniel Watkins)
* ``bzr push`` is faster in the case there are no new revisions to
push. It is also faster if there are no tags in the local branch.
(Andrew Bennetts)
* File changes during a commit will update the tree stat cache.
(Robert Collins)
* Location aliases can now accept a trailing path. (Micheal Hudson)
* New hooks ``Lock.hooks`` when LockDirs are acquired and released.
(Robert Collins, MartinPool)
* Switching in heavyweight checkouts uses the master branch's context, not
the checkout's context. (Adrian Wilkins)
* ``status`` on large trees is now faster, due to optimisations in the
walkdirs code. Of particular note, the walkdirs code now performs
a temporary ``chdir()`` while reading a single directory; if your
platform has non thread-local current working directories (and is
not windows which has its own implementation), this may introduce a
race condition during concurrent uses of bzrlib. The bzrlib CLI
will not encounter this as it is single threaded for working tree
operations. (Robert Collins)
* The C extensions now build on python 2.4 (Robert Collins, #271939)
* The ``-Dhpss`` debug flag now reports the number of smart server
calls per medium to stderr. This is in addition to the existing
detailed logging to the .bzr.log trace file. (Andrew Bennetts)
BUG FIXES:
* Avoid random failures arising from misinterpreted ``errno`` values
in ``_readdir_pyx.read_dir``.
(Martin Pool, #279381)
* Branching from a shared repository on a smart server into a new
repository now preserves the repository format.
(Andrew Bennetts, #269214)
* ``bzr log`` now accepts a ``--change`` option.
(Vincent Ladeuil, #248427)
* ``bzr missing`` now accepts an ``--include-merges`` option.
(Vincent Ladeuil, #233817)
* Don't try to filter (internally) '.bzr' from the files to be deleted if
it's not there.
(Vincent Ladeuil, #272648)
* Fix '_in_buffer' AttributeError when using the -Dhpss debug flag.
(Andrew Bennetts)
* Fix TooManyConcurrentRequests errors caused by a connection failure
when doing ``bzr pull`` or ``bzr merge`` from a ``bzr+ssh`` URL.
(Andrew Bennetts, #246233)
* Fixed ``bzr st -r branch:PATH_TO_BRANCH`` where the other branch
is in a different repository than the current one.
(Lukáš Lalinský, #144421)
* Make the first line of the manpage preamble a comment again.
(David Futcher, #242106)
* Remove use of optional parameter in GSSAPI FTP support, since
it breaks newer versions of Python-Kerberos. (Jelmer Vernooij)
* The autopacking logic will now always create a single new pack from
all of the content which it deems is worth moving. This avoids the
'repack a single pack' bug and should result in better packing
overall. (John Arbash Meinel, #242510, #172644)
* Trivial documentation fix.
(John Arbash Meinel, #270471)
DOCUMENTATION:
* Explain revision/range identifiers. (Daniel Clemente)
API CHANGES:
* ``CommitBuilder.record_entry_contents`` returns one more element in
its result tuple - an optional file system hash for the hash cache
to use. (Robert Collins)
* ``dirstate.DirState.update_entry`` will now only calculate the sha1
of a file if it is likely to be needed in determining the output
of iter_changes. (Robert Collins)
* The PackRepository, RepositoryPackCollection, NewPack classes have a
slightly changed interface to support different index types; as a
result other users of these classes need to supply the index types
they want. (Robert Collins)
TESTING:
* ``bzrlib.tests.repository_implementations`` has been renamed to
``bzrlib.tests.per_repository`` so that we have a common structure
(and it is shorter). (John Arbash Meinel, #239343)
* ``LocalTransport.abspath()`` now returns a drive letter if the
transport has one, fixing numerous tests on Windows.
(Mark Hammond)
* PreviewTree is now tested via intertree_implementations.
(Aaron Bentley)
* The full test suite is passing again on OSX.
(Guillermo Gonzalez, Vincent Ladeuil)
* The full test suite passes when run with ``-Eallow_debug``.
(Andrew Bennetts)
INTERNALS:
* A new hook, ``Branch.open``, has been added, which is called when
branch objects are opened. (Robert Collins)
* ``bzrlib.osutils._walkdirs_utf8`` has been refactored into common
tree walking, and modular directory listing code to aid future
performance optimisations and refactoring. (Robert Collins)
* ``bzrlib.trace.debug_memory`` can be used to get a quick memory dump
in the middle of processing. It only reports memory if
``/proc/PID/status`` is available. (John Arbash Meinel)
* New method ``RevisionSpec.as_tree`` for representing the revision
specifier as a revision tree object. (Lukáš Lalinský)
* New race-free method on MutableTree ``get_file_with_stat`` for use
when generating stat cache results. (Robert Collins)
* New win32utils.get_local_appdata_location() provides access to a local
directory for storing data. (Mark Hammond)
* To be compatible with python-2.6 a few new rules should be
observed. 'message' attribute can't be used anymore in exception
classes, 'sha' and 'md5' modules have been deprecated (use
osutils.[md5|sha]), object__init__ and object.__new__ don't accept
parameters anymore.
(Vincent Ladeuil)
bzr 1.7.1 2008-10-01
--------------------
No changes from 1.7.1rc1.
bzr 1.7.1rc1 2008-09-24
-----------------------
This release just includes an update to how the merge algorithm handles
file paths when we encounter complex history.
FEATURES:
* If we encounter a criss-cross in history, use information from
direct Least Common Ancestors to resolve inventory shape (locations
of files, adds, deletes, etc). This is similar in concept to using
``--lca`` for merging file texts, only applied to paths.
(John Arbash Meinel)
bzr 1.7 2008-09-23
------------------
This release includes many bug fixes and a few performance and feature
improvements. ``bzr rm`` will now scan for missing files and remove them,
like how ``bzr add`` scans for unknown files and adds them. A bit more
polish has been applied to the stacking code. The b-tree indexing code has
been brought in, with an eye on using it in a future repository format.
There are only minor installer changes since bzr-1.7rc2.
FEATURES
* Some small updates to the win32 installer. Include localization
files found in plugins, and include the builtin distutils as part of
packaging qbzr. (Mark Hammond)
bzr 1.7rc2 2008-09-17
---------------------
A few bug fixes from 1.7rc1. The biggest change is a new
``RemoteBranch.get_stacked_on_url`` rpc. This allows clients that are
trying to access a Stacked branch over the smart protocol, to properly
connect to the stacked-on location.
BUG FIXES:
* Branching from a shared repository on a smart server into a new
repository now preserves the repository format.
(Andrew Bennetts, #269214)
* Branching from a stacked branch via ``bzr+ssh`` can properly connect
to the stacked-on branch. (Martin Pool, #261315)
* ``bzr init`` no longer re-opens the BzrDir multiple times.
(Vincent Ladeuil)
* Fix '_in_buffer' AttributeError when using the -Dhpss debug flag.
(Andrew Bennetts)
bzr 1.7rc1 2008-09-09
---------------------
This release candidate for bzr 1.7 has several bug fixes and a few
performance and feature improvements. ``bzr rm`` will now scan for
missing files and remove them, like how ``bzr add`` scans for unknown
files and adds them. A bit more polish has been applied to the stacking
code. The b-tree indexing code has been brought in, with an eye on using
it in a future repository format.
CHANGES:
* ``bzr export`` can now export a subdirectory of a project.
(Robert Collins)
* ``bzr remove-tree`` will now refuse to remove a tree with uncommitted
changes, unless the ``--force`` option is specified.
(Lukáš Lalinský, #74101)
* ``bzr rm`` will now scan for files that are missing and remove just
them automatically, much as ``bzr add`` scans for new files that
are not ignored and adds them automatically. (Robert Collins)
FEATURES
* Support for GSSAPI authentication when using FTP as documented in
RFC2228. (Jelmer Vernooij, #49623)
* Add support for IPv6 in the smart server. (Jelmer Vernooij, #165014)
IMPROVEMENTS:
* A url like ``log+file:///tmp`` will log all access to that Transport
to ``.bzr.log``, which may help in debugging or profiling.
(Martin Pool)
* ``bzr branch`` and ``bzr push`` use the default stacking policy if the
branch format supports it. (Aaron Bentley)
* ``bzr init`` and ``bzr init-repo`` will now print out the same as
``bzr info`` if it completed successfully.
(Marius Kruger)
* ``bzr uncommit`` logs the old tip revision id, and displays how to
restore the branch to that tip using ``bzr pull``. This allows you
to recover if you realize you uncommitted the wrong thing.
(John Arbash Meinel)
* Fix problems in accessing stacked repositories over ``bzr://``.
(Martin Pool, #261315)
* ``SFTPTransport.readv()`` was accidentally using ``list += string``,
which 'works', but adds each character separately to the list,
rather than using ``list.append(string)``. Fixing this makes the
SFTP transport a little bit faster (~20%) and use a bit less memory.
(John Arbash Meinel)
* When reading index files, if we happen to read the whole file in a
single request treat it as a ``_buffer_all`` request. This happens
most often on small indexes over remote transports, where we default
to reading 64kB. It saves a round trip for each small index during
fetch operations. Also, if we have read more than 50% of an index
file, trigger a ``_buffer_all`` on the next request. This works
around some inefficiencies because reads don't fall neatly on page
boundaries, so we would ignore those bytes, but request them again
later. This could trigger a total read size of more than the whole
file. (John Arbash Meinel)
BUG FIXES:
* ``bzr rm`` is now aliased to ``bzr del`` for the convenience of svn
users. (Robert Collins, #205416)
* Catch the infamous "select/poll returned error" which occurs when
pycurl try to send a body request to an HTTP/1.0 server which has
already refused to handle the request. (Vincent Ladeuil, #225020)
* Fix ``ObjectNotLocked`` errors when using various commands
(including ``bzr cat`` and ``bzr annotate``) in combination with a
smart server URL. (Andrew Bennetts, #237067)
* ``FTPTransport.stat()`` would return ``0000`` as the permission bits
for the containing ``.bzr/`` directory (it does not implement
permissions). This would cause us to set all subdirectories to
``0700`` and files to ``0600`` rather than leaving them unmodified.
Now we ignore ``0000`` as the permissions and assume they are
invalid. (John Arbash Meinel, #259855)
* Merging from a previously joined branch will no longer cause
a traceback. (Jelmer Vernooij, #203376)
* Pack operations on windows network shares will work even with large
files. (Robert Collins, #255656)
* Running ``bzr st PATH_TO_TREE`` will no longer suppress merge
status. Status is also about 7% faster on mozilla sized trees
when the path to the root of the tree has been given. Users of
the internal ``show_tree_status`` function should be aware that
the show_pending flag is now authoritative for showing pending
merges, as it was originally. (Robert Collins, #225204)
* Set valid default _param_name for Option so that ListOption can embed
'-' in names. (Vincent Ladeuil, #263249)
* Show proper error rather than traceback when an unknown revision
id is specified to ``bzr cat-revision``. (Jelmer Vernooij, #175569)
* Trailing text in the dirstate file could cause the C dirstate parser
to try to allocate an invalid amount of memory. We now properly
check and test for parsing a dirstate with invalid trailing data.
(John Arbash Meinel, #186014)
* Unexpected error responses from a smart server no longer cause the
client to traceback. (Andrew Bennetts, #263527)
* Use a Windows api function to get a Unicode host name, rather than
assuming the host name is ascii.
(Mark Hammond, John Arbash Meinel, #256550)
* ``WorkingTree4`` trees will now correctly report missing-and-new
paths in the output of ``iter_changes``. (Robert Collins)
DOCUMENTATION:
* Updated developer documentation. (Martin Pool)
API CHANGES:
* Exporters now take 4 parameters. (Robert Collins)
* ``Tree.iter_changes`` will now return False for the content change
field when a file is missing in the basis tree and not present in
the target tree. Previously it returned True unconditionally.
(Robert Collins)
* The deprecated ``Branch.abspath`` and unimplemented
``Branch.rename_one`` and ``Branch.move`` were removed. (Jelmer Vernooij)
* BzrDir.clone_on_transport implementations must now accept a stacked_on
parameter. (Aaron Bentley)
* BzrDir.cloning_metadir implementations must now take a require_stacking
parameter. (Aaron Bentley)
TESTING:
* ``addCleanup`` now takes ``*arguments`` and ``**keyword_arguments``
which are then passed to the cleanup callable as it is run. In
addition, addCleanup no longer requires that the callables passed to
it be unique. (Jonathan Lange)
* Fix some tests that fail on Windows because files are deleted while
still in use.
(Mark Hammond)
* ``selftest``'s ``--starting-with`` option can now use predefined
prefixes so that one can say ``bzr selftest -s bp.loom`` instead of
``bzr selftest -s bzrlib.plugins.loom``. (Vincent Ladeuil)
* ``selftest``'s ``--starting-with`` option now accepts multiple values.
(Vincent Ladeuil)
INTERNALS:
* A new plugin interface, ``bzrlib.log.log_adapters``, has been added.
This allows dynamic log output filtering by plugins.
(Robert Collins)
* ``bzrlib.btree_index`` is now available, providing a b-tree index
layer. The design is memory conservative (limited memory cache),
faster to seek (approx 100 nodes per page, gives 100-way fan out),
and stores compressed pages allowing more keys per page.
(Robert Collins, John Arbash Meinel)
* ``bzrlib.diff.DiffTree.show_diff`` now skips changes where the kind
is unknown in both source and target.
(Robert Collins, Aaron Bentley)
* ``GraphIndexBuilder.add_node`` and ``BTreeBuilder`` have been
streamlined a bit. This should make creating large indexes faster.
(In benchmarking, it now takes less time to create a BTree index than
it takes to read the GraphIndex one.) (John Arbash Meinel)
* Mail clients for `bzr send` are now listed in a registry. This
allows plugins to add new clients by registering them with
``bzrlib.mail_client.mail_client_registry``. All of the built-in
clients now use this mechanism. (Neil Martinsen-Burrell)
Pkgsrc changes:
* Drop dependencies on Perl 5 modules provided by the minimum
required perl5 package (5.10)
Upstream changes:
[Changes for 0.89 - 2008-11-03]
* Distribution fixes.
* Do not use base Exporter.
* Detection of 'asa' and 'only::matching'.
[Changes for 0.88 - 2008-10-28]
* Add special case for File::HomeDir.
[Changes for 0.87 - 2008-10-28]
* Add special case for PPI.
[Changes for 0.86 - 2008-10-23]
* Fix the 'use prefork "Foo"' static detection.
* Fix the detection of any of the module-loader modules such as
prefork, autouse, etc. if invoked as 'use prefork"Foo"' (note
the lack of a space).
* Slightly refactor the loader-module scanning. (see above)
* Support for "use maybe 'foo';"
* Use (arch|priv)libexp instead of (arch|priv)lib
in scandeps.pl (Mark Stosberg)
* Update to Module::Install 0.77
[Changes for 0.85 - 2008-08-01]
* Add special case for Net::Server.
Changes in version 2.4 (2008-11-02):
* %language is an experimental feature.
We first introduced this feature in test release 2.3b as a cleaner
alternative to %skeleton. Since then, we have discussed the possibility of
modifying its effect on Bison's output file names. Thus, in this release,
we consider %language to be an experimental feature that will likely evolve
in future releases.
* Forward compatibility with GNU M4 has been improved.
* Several bugs in the C++ skeleton and the experimental Java skeleton have been
fixed.
Changes in version 2.3b (2008-05-27):
* The quotes around NAME that used to be required in the following directive
are now deprecated:
%define NAME "VALUE"
* The directive `%pure-parser' is now deprecated in favor of:
%define api.pure
which has the same effect except that Bison is more careful to warn about
unreasonable usage in the latter case.
* Push Parsing
Bison can now generate an LALR(1) parser in C with a push interface. That
is, instead of invoking `yyparse', which pulls tokens from `yylex', you can
push one token at a time to the parser using `yypush_parse', which will
return to the caller after processing each token. By default, the push
interface is disabled. Either of the following directives will enable it:
%define api.push_pull "push" // Just push; does not require yylex.
%define api.push_pull "both" // Push and pull; requires yylex.
See the new section `A Push Parser' in the Bison manual for details.
The current push parsing interface is experimental and may evolve. More user
feedback will help to stabilize it.
* The -g and --graph options now output graphs in Graphviz DOT format,
not VCG format. Like --graph, -g now also takes an optional FILE argument
and thus cannot be bundled with other short options.
* Java
Bison can now generate an LALR(1) parser in Java. The skeleton is
`data/lalr1.java'. Consider using the new %language directive instead of
%skeleton to select it.
See the new section `Java Parsers' in the Bison manual for details.
The current Java interface is experimental and may evolve. More user
feedback will help to stabilize it.
* %language
This new directive specifies the programming language of the generated
parser, which can be C (the default), C++, or Java. Besides the skeleton
that Bison uses, the directive affects the names of the generated files if
the grammar file's name ends in ".y".
* XML Automaton Report
Bison can now generate an XML report of the LALR(1) automaton using the new
`--xml' option. The current XML schema is experimental and may evolve. More
user feedback will help to stabilize it.
* The grammar file may now specify the name of the parser header file using
%defines. For example:
%defines "parser.h"
* When reporting useless rules, useless nonterminals, and unused terminals,
Bison now employs the terms "useless in grammar" instead of "useless",
"useless in parser" instead of "never reduced", and "unused in grammar"
instead of "unused".
* Unreachable State Removal
Previously, Bison sometimes generated parser tables containing unreachable
states. A state can become unreachable during conflict resolution if Bison
disables a shift action leading to it from a predecessor state. Bison now:
1. Removes unreachable states.
2. Does not report any conflicts that appeared in unreachable states.
WARNING: As a result, you may need to update %expect and %expect-rr
directives in existing grammar files.
3. For any rule used only in such states, Bison now reports the rule as
"useless in parser due to conflicts".
This feature can be disabled with the following directive:
%define lr.keep_unreachable_states
See the %define entry in the `Bison Declaration Summary' in the Bison manual
for further discussion.
* Lookahead Set Correction in the `.output' Report
When instructed to generate a `.output' file including lookahead sets
(using `--report=lookahead', for example), Bison now prints each reduction's
lookahead set only next to the associated state's one item that (1) is
associated with the same rule as the reduction and (2) has its dot at the end
of its RHS. Previously, Bison also erroneously printed the lookahead set
next to all of the state's other items associated with the same rule. This
bug affected only the `.output' file and not the generated parser source
code.
* --report-file=FILE is a new option to override the default `.output' file
name.
* The `=' that used to be required in the following directives is now
deprecated:
%file-prefix "parser"
%name-prefix "c_"
%output "parser.c"
* An Alternative to `%{...%}' -- `%code QUALIFIER {CODE}'
Bison 2.3a provided a new set of directives as a more flexible alternative to
the traditional Yacc prologue blocks. Those have now been consolidated into
a single %code directive with an optional qualifier field, which identifies
the purpose of the code and thus the location(s) where Bison should generate
it:
1. `%code {CODE}' replaces `%after-header {CODE}'
2. `%code requires {CODE}' replaces `%start-header {CODE}'
3. `%code provides {CODE}' replaces `%end-header {CODE}'
4. `%code top {CODE}' replaces `%before-header {CODE}'
See the %code entries in section `Bison Declaration Summary' in the Bison
manual for a summary of the new functionality. See the new section `Prologue
Alternatives' for a detailed discussion including the advantages of %code
over the traditional Yacc prologues.
The prologue alternatives are experimental. More user feedback will help to
determine whether they should become permanent features.
* Revised warning: unset or unused mid-rule values
Since Bison 2.2, Bison has warned about mid-rule values that are set but not
used within any of the actions of the parent rule. For example, Bison warns
about unused $2 in:
exp: '1' { $$ = 1; } '+' exp { $$ = $1 + $4; };
Now, Bison also warns about mid-rule values that are used but not set. For
example, Bison warns about unset $$ in the mid-rule action in:
exp: '1' { $1 = 1; } '+' exp { $$ = $2 + $4; };
However, Bison now disables both of these warnings by default since they
sometimes prove to be false alarms in existing grammars employing the Yacc
constructs $0 or $-N (where N is some positive integer).
To enable these warnings, specify the option `--warnings=midrule-values' or
`-W', which is a synonym for `--warnings=all'.
* Default %destructor or %printer with `<*>' or `<>'
Bison now recognizes two separate kinds of default %destructor's and
%printer's:
1. Place `<*>' in a %destructor/%printer symbol list to define a default
%destructor/%printer for all grammar symbols for which you have formally
declared semantic type tags.
2. Place `<>' in a %destructor/%printer symbol list to define a default
%destructor/%printer for all grammar symbols without declared semantic
type tags.
Bison no longer supports the `%symbol-default' notation from Bison 2.3a.
`<*>' and `<>' combined achieve the same effect with one exception: Bison no
longer applies any %destructor to a mid-rule value if that mid-rule value is
not actually ever referenced using either $$ or $n in a semantic action.
The default %destructor's and %printer's are experimental. More user
feedback will help to determine whether they should become permanent
features.
See the section `Freeing Discarded Symbols' in the Bison manual for further
details.
* %left, %right, and %nonassoc can now declare token numbers. This is required
by POSIX. However, see the end of section `Operator Precedence' in the Bison
manual for a caveat concerning the treatment of literal strings.
* The nonfunctional --no-parser, -n, and %no-parser options have been
completely removed from Bison.
Changes in version 2.3a, 2006-09-13:
* Instead of %union, you can define and use your own union type
YYSTYPE if your grammar contains at least one <type> tag.
Your YYSTYPE need not be a macro; it can be a typedef.
This change is for compatibility with other Yacc implementations,
and is required by POSIX.
* Locations columns and lines start at 1.
In accordance with the GNU Coding Standards and Emacs.
* You may now declare per-type and default %destructor's and %printer's:
For example:
%union { char *string; }
%token <string> STRING1
%token <string> STRING2
%type <string> string1
%type <string> string2
%union { char character; }
%token <character> CHR
%type <character> chr
%destructor { free ($$); } %symbol-default
%destructor { free ($$); printf ("%d", @$.first_line); } STRING1 string1
%destructor { } <character>
guarantees that, when the parser discards any user-defined symbol that has a
semantic type tag other than `<character>', it passes its semantic value to
`free'. However, when the parser discards a `STRING1' or a `string1', it
also prints its line number to `stdout'. It performs only the second
`%destructor' in this case, so it invokes `free' only once.
[Although we failed to mention this here in the 2.3a release, the default
%destructor's and %printer's were experimental, and they were rewritten in
future versions.]
* Except for LALR(1) parsers in C with POSIX Yacc emulation enabled (with `-y',
`--yacc', or `%yacc'), Bison no longer generates #define statements for
associating token numbers with token names. Removing the #define statements
helps to sanitize the global namespace during preprocessing, but POSIX Yacc
requires them. Bison still generates an enum for token names in all cases.
* Handling of traditional Yacc prologue blocks is now more consistent but
potentially incompatible with previous releases of Bison.
As before, you declare prologue blocks in your grammar file with the
`%{ ... %}' syntax. To generate the pre-prologue, Bison concatenates all
prologue blocks that you've declared before the first %union. To generate
the post-prologue, Bison concatenates all prologue blocks that you've
declared after the first %union.
Previous releases of Bison inserted the pre-prologue into both the header
file and the code file in all cases except for LALR(1) parsers in C. In the
latter case, Bison inserted it only into the code file. For parsers in C++,
the point of insertion was before any token definitions (which associate
token numbers with names). For parsers in C, the point of insertion was
after the token definitions.
Now, Bison never inserts the pre-prologue into the header file. In the code
file, it always inserts it before the token definitions.
* Bison now provides a more flexible alternative to the traditional Yacc
prologue blocks: %before-header, %start-header, %end-header, and
%after-header.
For example, the following declaration order in the grammar file reflects the
order in which Bison will output these code blocks. However, you are free to
declare these code blocks in your grammar file in whatever order is most
convenient for you:
%before-header {
/* Bison treats this block like a pre-prologue block: it inserts it into
* the code file before the contents of the header file. It does *not*
* insert it into the header file. This is a good place to put
* #include's that you want at the top of your code file. A common
* example is `#include "system.h"'. */
}
%start-header {
/* Bison inserts this block into both the header file and the code file.
* In both files, the point of insertion is before any Bison-generated
* token, semantic type, location type, and class definitions. This is a
* good place to define %union dependencies, for example. */
}
%union {
/* Unlike the traditional Yacc prologue blocks, the output order for the
* new %*-header blocks is not affected by their declaration position
* relative to any %union in the grammar file. */
}
%end-header {
/* Bison inserts this block into both the header file and the code file.
* In both files, the point of insertion is after the Bison-generated
* definitions. This is a good place to declare or define public
* functions or data structures that depend on the Bison-generated
* definitions. */
}
%after-header {
/* Bison treats this block like a post-prologue block: it inserts it into
* the code file after the contents of the header file. It does *not*
* insert it into the header file. This is a good place to declare or
* define internal functions or data structures that depend on the
* Bison-generated definitions. */
}
If you have multiple occurrences of any one of the above declarations, Bison
will concatenate the contents in declaration order.
[Although we failed to mention this here in the 2.3a release, the prologue
alternatives were experimental, and they were rewritten in future versions.]
* The option `--report=look-ahead' has been changed to `--report=lookahead'.
The old spelling still works, but is not documented and may be removed
in a future release.
Pkgsrc changes:
o Simplified MASTER_SITES
Upstream changes:
6.48 Mon Oct 20 11:18:13 PDT 2008
Test Fixes
* Protect against stray environment variables effecting the tests.
[rt.cpan.org 14930]
6.47_02 Thu Oct 16 16:14:20 PDT 2008
Test Fixes
* MIN_PERL_VERSION test had some goofs on VMS. [thanks Craig Berry]
6.47_01 Tue Oct 14 12:38:05 EDT 2008
New Features
* Added optional parameter MIN_PERL_VERSION, to define minimal
required perl version for dependency checks and to pass on to
META.yml and ppd files. [rt.cpan.org 28374]
Thanks to David Golden, Alexandr Ciornii (chorny) and Martin Becker
Bug Fixes
* Guard against a path to Perl with a space in it.
From Max Maischein. [bleadperl@32905]
Test Fixes
- Small fix for VOS from Paul Green [bleadperl@33259]
Other
* $ExtUtils::MakeMaker::Revision, $ExtUtils::MM_Unix::Revision and
$ExtUtils::MM_VMS::Revision are all now based on $VERSION. You
shouldn't be using them for anything anyway.
6.46 Sat Sep 27 17:34:03 EDT 2008
Bug Fixes
- Fix META_MERGE for more than one level of hashes. [rt.cpan.org 39348]
6.45_02 Sun Sep 7 13:59:14 PDT 2008
Bug Fixes
- Updated bundled ExtUtils::Command to 1.14, ExtUtils::Install to
1.50 and ExtUtils::Manifest to 1.54
Test Fixes
- t/writemakefile_args.t had the wrong skip amount causing failures
when run without version.pm (mostly 5.6 users)
6.45_01 Sat Sep 6 03:19:03 PDT 2008
New Features
* META_ADD and META_MERGE have been added to manipulate the META.yml.
Thanks to Adriano Ferreira. [rt.cpan.org 21282]
- META.yml now includes configure_requires ExtUtils::MakeMaker by
default. [rt.cpan.org 32337]
- META.yml now excludes t/ and inc/ from indexing by default.
- META.yml license is now "unknown" instead of undef if a LICENSE is not
given.
- META.yml now conforms to version 1.4 of the spec.
Bug Fixes
- Make @MM_Sections and @Overridable global again. It's an undocumented
but used way to manipulate MakeMaker behavior. [rt.cpan.org 36047]
Portability
* Changed the name/dmake test in MM_Win32.pm to use regexs to that
they are able to handle Perl on a Stick absolute paths.
Pkgsrc changes:
o Added commented-out HOMEPAGE using search.cpan.org
Upstream changes:
0.301 Sat Sep 6 20:11:01 CEST 2008
- On Cygwin, link directly against the DLLs of dependencies. Patch by
Yaakov.
- Require perl 5.6.0.
Pkgsrc changes:
o Change to Module::Build
Upstream changes:
1.15 Sun, Oct 12, 2008
- cp fails to update timestamp on Win32:
http://rt.cpan.org/Ticket/Display.html?id=34718
Patch supplied by MSCHWERN
Pkgsrc changes:
o Canonicalize HOMEPAGE
Upstream changes:
1.26 Oct 25, 2008
- No code changes, just bumped the Devel::StackTrace dependency to
1.20.
The changes in 1.25 exposed a bug in Devel::StackTrace which has now
been fixed. This caused HTML::Mason test failures, among other
things. Reported by Andreas Koenig.
1.25 Oct 21, 2008
- The Exception::Class::Base constructor no longer looks at the
associated Devel::StackTrace object's frames. Avoiding looking at
the frames should make constructing exception objects much
faster. Instead the information based on the stack trace frames -
package(), file(), and line() - is only retrieved when it is
requested. Patch by Ruslan Zakirov. RT #40221.
(I hope the maintainer won't mind.)
Pkgsrc changes:
o Add the "00" suffix to ensure we don't decrease the version number
Upstream changes:
1.20 Oct 25, 2008
- The change in 1.15 to object creation broke the no_refs feature,
causing references to be stored until the trace's frame objects were
created.
* Exception::Class objects are always stringified by calling
overload::StrVal().
Pkgsrc changes:
o Add commented-out HOMEPAGE using search.cpan.org
o Add overlooked (?) dependencies
Upstream changes:
1.01 Sat Oct 25, 2008, joern
Bugfixes:
- Even objects returned by methods not declared as
an "object returner" where turned into Event::RPC
object handles instead of copying the complete
data structure to the client. Thanks for the report
to Alex <alex AT lokku.com>.
* Version 1.11 (released 2008-10-28)
** libidn: New WARN_CFLAGS configure variable.
It is used internally to add -Werror and other warnings flags, to
catch coding mistakes before releases.
** Win32: Perl is no longer required to build Libidn in Visual Studio.
** Win32: Functions in idna.h are also exported.
Reported by Adam Strzelecki <adam.strzelecki@java.pl>.
** doc: Included cyclomatic code complexity charts of the library code.
See doc/cyclo/.
** tests: Add more self-tests to get more self-test code coverage.
** tests: New 'make coverage' command to generate code coverage reports.
The output is created in doc/coverage/. Requires the LCOV tools. See
http://www.gnu.org/software/libidn/coverage/ for a pre-generated copy.
** Clarify copyright and license for gdoc, man pages, and C# port.
** Update gnulib files and translations.
** API and ABI is backwards compatible with the previous version.
New features and improvements:
* library
o new flavor of the ncurses library provides rudimentary
support for POSIX threads. Several functions are reentrant,
but most require either a window-level or screen-level
mutex.
(This is API-compatible, but not ABI-compatible with
the normal library).
o add NCURSES_OPAQUE symbol to curses.h, will use to make
structs opaque in selected configurations.
o add NCURSES_EXT_FUNCS and NCURSES_EXT_COLORS symbols
to curses.h to make it simpler to tell if the extended
functions and/or colors are declared.
o add wresize to C++ binding
o eliminate fixed-buffer vsprintf calls in C++ binding.
o add several functions to C++ binding which wrap C
functions that pass a WINDOW* parameter.
o adapt mouse-handling code from menu library in form-library
o improve tracing for form library, showing created forms, fields, etc.
o make $NCURSES_NO_PADDING feature work for termcap interface .
o add check to trace-file open, if the given name is a
directory, add ".log" to the name and try again.
o several new manpages: curs_legacy.3x, curs_memleaks.3x,
curs_opaque.3x and curs_threads.3x
* programs:
o modified three test-programs to demonstrate the threading
support in this version: ditto, rain, worm.
o several new test-programs: demo_panels, dots_mvcur,
inch_wide, inchs, key_name, key_names, savescreen,
savescreen.sh test_arrays, test_get_wstr, test_getstr,
test_instr, test_inwstr and test_opaque.
o add adacurses-config to the Ada95 install.
o modify tic -f option to format spaces as \s to prevent
them from being lost when that is read back in unformatted
strings.
o The tack program is now distributed separately from
ncurses.
* terminal database
o added entries:
+ Eterm-256color, Eterm-88color and rxvt-88color
+ aterm
+ konsole-256color
+ mrxvt
+ screen.mlterm
+ screen.rxvt
+ teraterm4.59 is now the primary primary teraterm
entry, renamed original to teraterm2.3
+ 9term terminal
+ Newbury Data entries
o updated/improved entries:
+ gnome to version 2.22.3
+ h19, z100
+ konsole to version 1.6.6
+ mlterm, mlterm+pcfkeys
+ xterm, and building-blocks for function-keys to
xterm patch #230.
Major bug fixes:
* add logic to tic for cancelling strings in user-defined
capabilities (this is needed for current konsole terminfo
entry).
* modify mk-1st.awk so the generated makefile rules for linking
or installing shared libraries do not first remove the library,
in case it is in use, e.g., libncurses.so by /bin/sh.
* correct check for notimeout in wgetch.
* fix a sign-extension bug in infocmp's repair_acsc function.
* change winnstr to stop at the end of the line.
* make Ada95 demo_panels example work.
* fix for adding a non-spacing character at the beginning of a line.
* fill in extended-color pair to make colors work for
wide-characters using extended-colors.
* improve refresh of window on top of multi-column characters,
taking into account split characters on left/right window
boundaries.
* modify win_wchnstr to ensure that only a base cell is returned
for each multi-column character.
* improve waddch and winsch handling of EILSEQ from mbrtowc by
using unctrl to display illegal bytes rather than trying to
append further bytes to make up a valid sequence.
* restore curs_set state after endwin/refresh
* modify keyname to use "^X" form only if meta has been called,
or if keyname is called without initializing curses, e.g., via
initscr or newterm.
* modify unctrl to check codes in 128-255 range versus isprint.
If they are not printable, and locale was set, use a "M-" or
"~" sequence.
* improve resizeterm by moving ripped-off lines, and repainting
the soft-keys.
* modify form library to accept control characters such as
newline in set_field_buffer, which is compatible with Solaris.
* use NCURSES_MOUSE_MASK in definition of BUTTON_RELEASE, etc.,
to make those work properly with the --enable-ext-mouse
configuration
* correct some functions in Ada95 binding which were using
return value from C where none was returned.
* reviewed/fixed issues reported by Coverity and Klocwork tools.
Portability:
* configure script:
o new options:
--disable-big-strings
control whether static string tables are generated
as single large strings (to improve startup
performance), or as array of individual strings.
--disable-relink
control whether shared libraries are relinked
(during install) when rpath is enabled.
--disable-tic-depends
make explicit whether tic library depends on
ncurses/ncursesw library.
--enable-mixed-case
override the configure script's check if the
filesystem supports mixed-case filenames. This
allows one to control how the terminal database
maps to the filesystem. For filesystems that do
not support mixed-case, the library uses generate
2-character (hexadecimal) codes for the lower-level
of the filesystem terminfo database
--enable-reentrant
builds a different flavor of the ncurses library
(ncursest) which improves reentrant use of the
library by reducing global and static variables
(see the "--with-pthread" option for the threaded
support).
--enable-weak-symbols
use weak-symbols for linking to the POSIX thread
library, and use the same soname for the ncurses
shared library as the normal library (caveat: the
ABI is for the threaded library, which makes global
data accessed via functions).
--with-pthread
build with the POSIX thread library (tested with
AIX, GNU/Linux, FreeBSD, OpenBSD, HPUX, IRIX64,
Solaris, Tru64).
--with-ticlib
build/install the tic-support functions in a separate
library
o improved options:
--enable-ext-colors
requires the wide-character configuration.
--with-chtype
ignore option value "unsigned" is always added to
the type in curses.h; do the same for --with-mmask-t.
--with-dmalloc
build-fix for redefinition of strndup.
--with-hashed-db
+ accepts a parameter which is the install-prefix
of a given Berkeley Database.
+ the $LIBS environment variable overrides the
search for the db library.
--without-hashed-db
assumed when "--disable-database" is used.
* other configure/build issues:
o build-fixes for LynxOS
o modify shared-library rules to allow FreeBSD 3.x to use rpath.
o build-fix for FreeBSD "contemporary" TTY interface.
o build-fixes for AIX with libtool.
o build-fixes for Darwin and libtool.
o modify BeOS-specific ifdef's to build on Haiku.
o corrected gcc options for building shared libraries on
Solaris and IRIX64.
o change shared-library configuration for OpenBSD, make rpath work.
o build-fixes for using libutf8, e.g., on OpenBSD 3.7
o add "-e" option in ncurses/Makefile.in when generating
source-files to force earlier exit if the build environment
fails unexpectedly.
o add support for shared libraries for QNX.
o change delimiter in MKlib_gen.sh from '%' to '@', to
avoid substitution by IBM xlc to '#' as part of its
extensions to digraphs.
* library:
o rewrite wrapper for wcrtomb, making it work on Solaris.
This is used in the form library to determine the length
of the buffer needed by field_buffer.
o add/use configure script macro CF_SIG_ATOMIC_T, use
the corresponding type for data manipulated by signal
handlers.
o set locale in misc/ncurses-config.in since it uses a
range
o disable GPM mouse support when $TERM does not happen
to contain "linux", since Gpm_Open no longer limits its
assertion to terminals that it might handle, e.g., within
"screen" in xterm.
o reset mouse file-descriptor when unloading GPM library.
* test programs:
o update test programs to build/work with various UNIX
curses for comparisons.
0.84 Wed Oct 15 09:06:12 EDT 2008
Other
* 0.82 accidentally shipped with experimental Mouse dependency.
0.82 Tue Oct 14 23:06:56 EDT 2008
Bug Fixes
- 0.81_01 broke $TODO such that $TODO = '' was considered todo.
0.81_02 Tue Sep 9 04:35:40 PDT 2008
New Features
* Test::Builder->reset_outputs() to reset all the output methods back to
their defaults.
Bug Fixes
- Fixed the file and line number reported by like when it gets a bad
regex.
Features Changed
- Now preserves the tests' exit code if it exits abnormally, rather than
setting it to 255.
- Changed the "Looks like your test died" message to
"Looks like your test exited with $exit_code"
- no_plan now only warns if given an argument. There were a lot of people
doing that, and it's a sensible mistake. [test-more.googlecode.com 13]
0.81_01 Sat Sep 6 15:13:50 PDT 2008
New Features
* Adam Kennedy bribed me to add new_ok(). The price was one DEFCON license key.
[rt.cpan.org 8891]
* TODO tests can now start and end with 'todo_start' and 'todo_end'
Test::Builder methods. [rt.cpan.org 38018]
* Added Test::Builder->in_todo() for a safe way to check if a test is inside a
TODO block. This allows TODO tests with no reason.
* Added note() and explain() to both Test::More and Test::Builder.
[rt.cpan.org 14764] [test-more.googlecode.com 3]
Features Changed
* Changed the message for extra tests run to show the number of tests run rather than
the number extra to avoid the user having to do mental math.
[rt.cpan.org 7022]
Bug fixes
- using a relative path to perl broke tests [rt.cpan.org 34050]
- use_ok() broke $SIG{__DIE__} in the used module [rt.cpan.org 34065]
- diagnostics for isnt() were confusing on failure [rt.cpan.org 33642]
- warnings when MakeMaker's version contained _ [rt.cpan.org 33626]
- add explicit test that non-integer plans die correctly [rt.cpan.org 28836]
(Thanks to Hans Dieter Pearcey [confound] for fixing the above)
- die if no_plan is given an argument [rt.cpan.org 27429]
Version 2.05.01
* Fix the -w/-W option parsing, which was broken in NASM 2.05.
Version 2.05
* Fix redundant REX.W prefix on JMP reg64.
* Make the behaviour of -O0 match NASM 0.98 legacy behavior.
See section 2.1.22.
* -w-user can be used to suppress the output of %warning
directives. See section 2.1.24.
* Fix bug where ALIGN would issue a full alignment datum instead
of zero bytes.
* Fix offsets in list files.
* Fix %include inside multi-line macros or loops.
* Fix error where NASM would generate a spurious warning on
valid optimizations of immediate values.
* Fix arguments to a number of the CVT SSE instructions.
* Fix RIP-relative offsets when the instruction carries an immediate.
* Massive overhaul of the ELF64 backend for spec compliance.
* Fix the Geode PFRCPV and PFRSQRTV instruction.
* Fix the SSE 4.2 CRC32 instruction.
Version 2.04
* Sanitize macro handing in the %error directive.
* New %warning directive to issue user-controlled warnings.
* %error directives are now deferred to the final assembly phase.
* New %fatal directive to immediately terminate assembly.
* New %strcat directive to join quoted strings together.
* New %use macro directive to support standard macro directives.
See section 4.6.4.
* Excess default parameters to %macro now issues a warning by
default. See section 4.3.
* Fix %ifn and %elifn.
* Fix nested %else clauses.
* Correct the handling of nested %reps.
* New %unmacro directive to undeclare a multi-line macro. See
section 4.3.10.
* Builtin macro __PASS__ which expands to the current assembly
pass. See section 4.11.9.
* __utf16__ and __utf32__ operators to generate UTF-16 and
UTF-32 strings. See section 3.4.5.
* Fix bug in case-insensitive matching when compiled on platforms
that don't use the configure script. Of the official release
binaries, that only affected the OS/2 binary.
* Support for x87 packed BCD constants. See section 3.4.7.
* Correct the LTR and SLDT instructions in 64-bit mode.
* Fix unnecessary REX.W prefix on indirect jumps in 64-bit mode.
* Add AVX versions of the AES instructions (VAES...).
* Fix the 256-bit FMA instructions.
* Add 256-bit AVX stores per the latest AVX spec.
* VIA XCRYPT instructions can now be written either with or
without REP, apparently different versions of the VIA spec
wrote them differently.
* Add missing 64-bit MOVNTI instruction.
* Fix the operand size of VMREAD and VMWRITE.
* Numerous bug fixes, especially to the AES, AVX and VTX instructions.
* The optimizer now always runs until it converges. It also
runs even when disabled, but doesn't optimize. This allows most
forward references to be resolved properly.