xbps-0.5.0 (2010-05-01): * xbps-repo(8): fixed the 'search' target to also match patterns against its description, and not only from the package/version touple. * Cleaned up the code by using the LLVM's clang static analyzer, found two possible NULL pointer dereferences and dead core. * xbps-bin(8): added new flag '-p' for the 'remove' and 'autoremove' targets, to also purge the package(s) after successful removal. * xbps-repo(8): print a warning when registering a repository that has been already added previously. * Add proplib-0.4.1 source and use it in XBPS. This is to avoid an external dependency, so that we depend on the features of the internal library. This also means that proplib is not required anymore. * Added support to read/write gzip compressed plists by default, thanks to proplib-0.4 that gained new functionality. xbps-0.4.1 (2010-02-28): * xbps-bin(8): fixed the install target to work with package names containing multiple '-', thus resulting in incorrect package name. [ https://bugs.launchpad.net/bugs/528212 ] * xbps-bin(8): fixed printing of incorrect message for packages containing the 'preserve' object in its props dictionary. [ https://bugs.launchpad.net/xbps/bugs/528216 ] xbps-0.4 (2010-02-01): * libxbps, xbps-bin(8), xbps-repo(8): redirect all warning and error messages to stderr. * libxbps: changes xbps_yesno() and xbps_noyes() to only accept "yes" or "no" (case insensitive) answers rather than 'y' or 'n', to avoid mistaken answers. * xbps-repo(8): added support to the 'search' target to find exact matches, i.e 'xbps-repo search bash'. * xbps-bin(8) added support to the 'install', 'remove' and 'update' targets to accept any arbitrary number of package names, i.e "xbps-bin install foo blah baz". See https://blueprints.launchpad.net/xbps/+spec/arbitrary-pkgname-args * xbps-bin(8): added support to the 'install' and 'update' targets to accept package patterns, i.e "xbps-bin install 'foo<=3.0'. See https://blueprints.launchpad.net/xbps/+spec/install-pkg-by-pkgmatch * libxbps: fixed some bugs while upgrading essential packages when new package didn't have an INSTALL or REMOVE script and old package had them. * libxbps: fixed some memleaks found by cppcheck and valgrind. * Makefiles reworked to support parallel builds. * libxbps: many exported functions to the API are now internal and not exported, because they were only used internally. The API is still not finished and may be changed without notice. * libxbps: be more strict finding required metadata plist files in binary packages. Now the code checks for the two required plist files to be at index <= 4 and doesn't write any entry to storage until they aren't found. * Added doxygen documentation for the API, enabled with BUILD_API_DOCS. * libxbps: synced libfetch code with NetBSD's pkgsrc, updated to 2.30. * xbps-bin(8): when downloading binary packages, it now sets default libfetch cache connection limits, thus reusing connections to the same host. * xbps-uhelper: the 'fetch' target now accepts an arbitrary number of arguments, and sets default libfetch cache connection limits. * xbps-bin(8): enable -f option for the 'purge' and 'remove' targets. If set, files will be removed even if its hash doesn't match for the 'remove' target, and configuration files for the 'purge' target. * libxbps: if updating a package, always overwrite files while unpacking; compare old and new files to remove obsoletes if necessary. This makes the "essential" object in package dictionary unnecessary, because all packages are treated as they were essential.