Personal tools
     DOCUMENTATION

Conary:Release Notes/2.0

From rPath Wiki

Jump to: navigation, search
Conary --> Release Notes --> 2.0.x

Contents

The following release notes apply to 2.0.x versions of Conary.

Conary 2.0.21

  • Added support for RPM payloads which have been compressed with lzma. The /usr/bin/unlzma program must be available to use this feature. CNY-2834
  • Added separate s390x architecture. CNY-2852
  • An error introduced in 2.0.20 which caused an assertion failure during dependency checking has been fixed. CNY-2883

Conary 2.0.20

  • Dependency checking can now be run without computing the dependency order.
  • Added closeDatabase parameter when creating an updateJob to prevent that updateJob from closing the database when it's destroyed. This is a workaround to support CNY-1834.
  • Build dependency temporary tables incrementally instead of rebuilding them each time. This results in speedup for group building approaching 50%.
  • Updates after a local update of a package that is referenced in multiple groups now function again. CNY-2882

Conary 2.0.19

  • Removed unnecessary repository accesses that were occuring while determining local system changes during an update. CNY-2876
  • "import os" within recipes now functions again. CNY-2879

Conary 2.0.18

  • The addRoleMember() and getRoleMembers() calls are now exposed via XMLRPC. CNY-2862
  • Added support for package creator specific data to trove info and the getPackageCreatorTroves() repository call. CNY-2855
  • A rare error that occurred when an updating containing several groups that contained different versions of the same package has been fixed. CNY-2860
  • Some .car format files previously caused builds to fail; this has been corrected. CNY-2871
  • Tracebacks no longer print each filename twice (bug introduced in Conary 2.0.16). CNY-2872
  • When the configure script run by r.Configure() or r.ManualConfigure() fails, "command not found" messages are highlighted, and possible missing buildRequires based on those messages are sought in the repository. CNY-2708
  • All missing buildRequires found by noticing programs used in source actions, build actions, and policies are reported immediately as well as summarized at the end of the build, to make it clearer why each requirement has been suggested. CNY-2858
  • The r.addPatch() method now takes an optional patchName keyword argument, which is the name of the patch program to use to apply the patch. CNY-2858


Conary 2.0.17

  • Recipes loaded based on the autoLoadRecipe configuration directive are now ordered based on the loadedTroves list in the packages containing those recipes. CNY-2694
  • The information provided by the cvc status command is now available through the checkin.generateStatus API call, and it now handles new packages that have not yet been checked in. CNY-2843
  • The cvc log command now has a --newer option that prints only log messages that are newer than the current checkout, and has been modified to be consumable via a new checkin.iterLog API call. CNY-2840
  • Building factories which haven't been checked in should work now. CNY-2757
  • Specifying checkDeps and resolveDeps no longer causes an extra dependency check when building a group.
  • Checking out a source trove without a buildLabel set, but with a version specified, no longer gives a confusing warning about the buildLabel being unset. CNY-2783
  • A bug that caused a traceback when rolling back the installation of a group containing a post-rollback script has been corrected. CNY-2844
  • A bug that caused a traceback during metadata lookup when installing files to a new component has been corrected. CNY-2846
  • A bug causing magic to identify almost every file as a tarfile has been fixed. CNP-135
  • When rolling back an update started with Conary version 2.0.15 or older, that generated multiple rollback points (generally as a result of the presence of critical updates as part of the job), the rollback scripts are properly executed. CNY-2845
  • The deleteUserByName() xmlrpc call now only deletes the role with a matching name on very limited situations CNY-2775

Conary 2.0.16

  • magic has been extended to identify tar archives. CNY-2825
  • Derived packages created from an unmodified shadow now choose the correct binary from which to derive. CNY-2776
  • A bug that caused conary to traceback when formating strings in the syslog logger has been fixed. CNY-2689
  • A workaround for a bug in the standard python library that can prevent the display of extended debugging information has been added.
  • Unmodified shadows will be recognized as already present when promoting them to their parent branch. Previously they would be re-promoted unnecessarily. CNY-2837
  • conary update --test no longer executes the tagscripts associated with the update. CNY-2800
  • Multi-stage rollbacks correctly execute the post-rollback script after all affected troves have been rolled back, instead of between stages. CNY-2829
  • Info recipe actions (r.User, r.Group, and r.SupplementalGroup) are now available in package recipes. CNY-2723
  • Python packages now use %(libdir)s instead of %(prefix)s/lib for pure Python libraries. This is an artifact left behind from fixing CNY-2110 and CNP-121.
  • A bug causing log output to be lost if conary's log module was imported in a recipe has been fixed. CNY-2813
  • Testing the HTTPS environment variable to know whether a connection is secure is now case-insensitive, because existing implementations differ in case. CNY-2838


Conary 2.0.15

  • We've started using a @publicApi decorator to tag methods which are part of the public conary API. CNY-2367
  • xmldata.py is no longer part of the Conary library. CNY-2765
  • An incompatibility of the db2db migration script with the latest repository schema has been corrected. CNY-2774
  • An error in the handling of multiple URLs with addArchive has been fixed. CNY-2778
  • sys.argv is not defined under mod_python; importing cvc.py should no longer fail as a result of using sys.argv as a default argument to main(). CNY-2786
  • Repository code handles correctly the removal of groups that include troves from other repositories. CNY-2802
  • When using sqlite, some temporary tables used the invalid column datatype of STRING instead of TEXT. This has been fixed. CNY-2013
  • Fixed bug that made the repository code return incomplete data for the getPackageBranchPathIds call in certain situations. CNY-2810
  • Removed defaultBasePackages configuration option as well as the functionality for loading recipes from the filesystem based on configuration.
  • Reworked recipe loading to make the code more understandable.
  • Implemented autoLoadRecipes configuration option. CNY-2694
  • Using the byDefault parameter to startGroup only determines the byDefault setting when the new group is added to its parent group. CNY-2791


Conary 2.0.14

  • A bug causing python-setuptools to incorrectly appear to be an excessive build requirement has been fixed. CNY-2738
  • A bug in which python-setuptools was sometimes incorrectly not recognized as being needed in buildRequires has been fixed. CNY-2772
  • A regression has been fixed that caused rMake to abort when recursing through a group recipe that added troves with full versions. CNY-2768
  • When reporting possibly excessive buildRequires, not mentioning buildRequires at all in the recipe caused Conary to report the immediate superclass's buildRequires as the recipe's buildRequires. This bug has been resolved. CNY-2769
  • A bug that caused the --context flag to not be recognized when specified before a command has been fixed. CNY-2770


Conary 2.0.13

  • When cooked, factories can now package additional files in their :recipe component. CNY-2748
  • Moved VersionConflicts to pluggable policy and removed default exceptions. CNY-2716
  • PGP Keyring location is no longer determined using $HOME, which is unreliable; a getpwuid() lookup is used instead. CNY-2722
  • The number of retries for providing a passphrase when signing troves changed from 3 to 5. CNY-2709
  • Some incompatibilities with python2.5 have been removed.
  • More optimizations for the pathId lookup query times for some package builds. CNY-2742
  • A bug that caused an InsufficientPermission error when a user only has repository access permissions added by trove calls getNewTroveList() has been fixed. CNY-2755
  • A bug that caused a request to add access to a trove for a role to be ignored if the same trove was used previously to grant access to a different role has been fixed. CNY-2758
  • A bug that caused an InsufficientPermission error when a user requests a changeset to which the user has been granted access with addTroveAccess has been fixed. CNY-2760
  • The XML writer in xmldata.py is now encoding using UTF-8. CNY-2756


Conary 2.0.12

  • Conary now warns about some possibly unused build requirements. This requires conary-policy 1.0.16 or later. CNY-2232
  • Suggested additions to buildRequires lists are now separately encoded in the XML build log. CNY-2621
  • Loaded recipe modules are no longer tracked in sys.modules RPL-2409
  • The source components needed to build everything in a group can now be found when the group uses searchPaths. CNY-2710
  • The SubscriptionLogWriter CNY-2622 sometimes caused builds to fail. This issue has been resolved. CNY-2717
  • Group builds now store the searchPath used with the built troves in the repository. CNY-2721
  • Conary will now re-read /etc/resolv.conf if an error occurs when resolving a hostname. CNY-2703
  • Conary now caches the result of IP lookups and uses the cached results if an IP address lookup fails during an update. CNY-2260
  • Migrate now preserves local installs only of groups and kernels. Before, all manually-installed components and troves that were referenced by the group being migrated would be updated instead of erased. CNY-2569
  • An API (the createSourceTrove() method of client objects) has been added which creates source troves without using the conary.checkin module. CNY-2498
  • The internal function _ensureReadableRollbackStatus now directly ensures that it collects the necessary state it needs to succeed instead of relying on that state having been previously collected. CNY-2711
  • Conary repository migration from repository databases created by conary 1.2.x has been fixed. CNY-2731
  • In rare cases, some output could corrupt logging data during builds. This has been fixed. CNY-2734
  • MySQL performance when inserting troves with large numbers of files has been fixed. CNY-2737
  • The addUser() xmlrpc call no longer automatically creates a matching role. CNY-2604
  • The repository code and repository schema have been updated to allow for faster processing and lookup of file pathIds. CNY-2468

Conary 2.0.11

  • Added factory command to cvc for displaying and changing the factory of the currently checked out recipe CNY-2690
  • The SubscriptionLogWriter now handles line continuation. CNY-2693
  • A regression introduced by the build requirements suggestions for recipes using r.MakePathsInstall has been fixed. CNY-2697
  • A bug that caused a traceback when r.MakeDevices() is called with a path that contains 'lib' has been fixed. CNY-2692
  • A regression introduced by the multi-URL support for addArchive has been fixed. CNY-2696

Conary 2.0.10

  • An xml formatted log has been added to :debuginfo. This is in addition to the human readable log. The xml log contains the same information as the human readable log, plus additional contextual information useful for formatting the log data. CNY-2487
  • AutoResolve defaults to True for image groups. CNY-2291
  • Exceptions and inclusions to policies that don't match anything will now emit an error. CNY-2221
  • A new selective logging facility for policy to use to inspect build output has been added. CNY-2622
  • It is now possible to pass a list of multiple URLs to addArchive. Conary will try to download the source from each URL, in order, until it succeeds. CNY-2505
  • Recipe actions have now the ability to suggest build requirements. CNY-935
  • Running cvc cook in a directory with a CONARY file now builds the sources specified by that checkout. This is particularly useful for source troves which do not provide recipes thanks to a factory. CNY-2642
  • Conary now looks for factories in the same places it looks for superclasses, including the current working directory for local cooks. CNY-2641
  • Suggesting build requirements produces a warning if the supplied command cannot be found in the search path. CNY-2663
  • Skip FactoryRecipeClass when loading recipes to make it easier to develop factory recipes. CNY-2666
  • Checking out multiple sources with a single command line once again creates the CONARY files properly. CNY-2645
  • The addArchive source action now supports .war and .jar archives. CNY-2684
  • Previously, rollbacks could restore files from local rollbacks by overwriting existing contents rather than replacing the file. In addition, the operation was not journaled properly. CNY-2596
  • A bug in finding the sources required to build all the packages for a group that omitted replace() packages has been fixed. This mainly affected rmake builds of group recipes. CNY-2605
  • An error in the repository that caused a malformed exception to be returned to the client when a trove was missing has been corrected. CNY-2624
  • If launched with sudo, Conary will no longer change the owner on the user's PGP keyring, and will use the proper system-wide keyring. CNY-2630
  • When using PostgreSQL as a repository backend, some queries could be executed with poor execution plans CNY-2639
  • A bug that caused a local cook (e.g., "cvc cook pkg.recipe") to fail at "Copying forward metadata to newly built items..." when the Conary repository for that recipe is not available has been fixed. CNY-2640
  • Checking out source components which used factories now preserves the factory
  • Building directly from recipe files which use factories for superclasses now works CNY-2656
  • The conary rdiff command works correctly for groups that include troves from foreign repositories. CNY-2544
  • An issue related to the build logger not properly setting the logging pseudo-tty in raw mode has been fixed. CNY-2647
  • Conary can now parse perl dependencies with periods in them from the command line. CNY-2667
  • On failure, the proper URL is returned to the Conary client library. This fixes a regression introduced in the Conary 2 codebase, where only the selector part of the URL would be returned. CNY-2517
  • A source of circular references which could cause unpredictable memory usage has been removed. CNY-2674
  • Tighten the rules for what characters are allowed in version strings CNY-2657
  • Fixed a file descriptor leak when using in-memory-only databases.
  • More of the update logic is now protected by the filesystem journal, and the journal now cleans up rollback state on failure. CNY-2592
  • Conary now displays more progress information during the "Preparing changeset request..." phase. Much of the time in this phase is spent communicating with the repository. Now "Requesting changeset ..." and "Downloading" will be shown as data is transferred.


Conary 2.0.9

  • A bug that occasionally caused a thread deadlock when multiple threads access the local system Conary database concurrently has been fixed. CNY-2586
  • Checking out sources unpacks duplicate binary files CNY-2543
  • Derived packages use the revision which was shadowed from to find the version to derive from instead of the latest on the branch CNY-2577
  • A bug that occurred when rMake recursed through a group recipe that made use of the replace command has been fixed. CNY-2606

Conary 2.0.8

  • A close() method has been added to UpdateJob objects. It is recommended to call the method explicitly instead of relying on the object to be collected when going out of scope. CNY-2489
  • Group recipes now implement a requireLatest command. It can be passed as a keyword argument to r.add, r.replace, r.addAll, and r.addCopy. This flag defaults to True. CNY-1611
  • requireLatest has also been implemented as a recipe level attribute. Setting requireLatest to False for a recipe will affect the default for all calls to r.add, r.replace, r.addAll, and r.addCopy. CNY-1707
  • Conary now has support for group policies. Policies deriving from GroupEnforcementPolicy and ImageGroupEnforcementPolicy will be run on groups at the end of the cook process. CNY-2378
  • ImageGroup is now an attribute tracked in a group's troveInfo. This attribute is set for groups meant to define a complete, functional system, and implies that ImageGroupEnforcementPolicy group policies have been run for that group, recursively. CNY-2520
  • The VersionConflicts group policy has been added. This group policy enforces that two different versions of a trove will not be accidentally included in one install image. CNY-2371
  • TroveFilters now exist. Trove filters allow a packager to reference particular troves within a group for group policy inclusions/exceptions. CNY-2477
  • The Conary policy to fix trailing newlines in config files has been corrected to handle non-writable config files. CNY-2559
  • Conary will now warn if the PGP keyring is not writable, and will continue, instead of stopping with an error. CNY-2555
  • The "cvc derive" command now creates a reference directory named _OLD_ROOT_ alongside _ROOT_ when the --extract argument is provided. CNY-2530
  • A new group recipe command, startGroup, has been added, which calls createGroup, addNewGroup and setDefaultGroup in one step. CNY-2197
  • The addCvsSnapshot source action no longer caches the HEAD of the repository, since cvs export will not use it. CNY-2568
  • Macros from config files and from the command line are now available to group recipes. CNY-2574
  • A new concept, recipe factories, has been implemented. CNY-2549
  • Binary packages built from superclass recipes will be unflavored, regardless of any flavor-related references in a recipe. CNY-2576
  • Conary no longer loses ownership of changed files when updating multiple flavors of the same version of the same package at the same time. CNY-2553
  • If Conary is running on kernels which, under certain circumstances, return EINVAL when calling poll(), the lazy file cache will only count the file descriptors it has open itself. CNY-2571
  • conary rdiff works correctly for groups that include troves from foreign repositories. CNY-2544
  • Job invocation information no longer uses null characters, which are not allowed in an XML document. CNY-2580
  • Updating files which point to other files (due to a PTR in the changeset) previously failed when those other files were not being installed at the same time to a "conary remove" on those files, for example due to a "conary remove" on those files, for example. CNY-2595
  • Excluding all Java files in the r.Provides policy no longer produces a stack trace. CNY-2594

Conary 2.0.7

  • Handling pkg-config dependencies has been moved to conary-policy. CNP-93
  • When resuming the update after the execution of a critical update, Conary will now use the original file replacement flags. This corrects file conflict errors in a migrate when a critical update was present. CNY-2513
  • The lazy file cache was using /proc/self/fd as a method of determining the number of open file descriptors for the current process. However, under certain circumstances the directory is not readable. The lazy file cache now uses a poll2-based technique. CNY-2536
  • If the directory where the public keyring is stored does not exist, it is now automatically created. CNY-2504
  • Reading metadata from RPM files now validates the size of the RPM and the sha1 of the full set of metadata.

Conary 2.0.6

  • Java dependencies for classes that are not dependency-complete are now automatically disabled. To re-enable them, the missing dependencies should be added as buildRequires. CNY-2175
  • Build actions that do not match anything r.Copy, etc. r.Move, r.Copy, etc. will now log exactly what they were trying to do. CNY-2216
  • A minor bug in the display of the password prompt has been fixed. CNY-2497
  • When x86_64 is specified and a biarch package is available, Conary will mention the biarch as an alternative flavor instead of the x86 one.
  • Derived packages will now work on x86_64 systems even if a biarch flavor is specified. CNY-2494
  • Signatures of unexpected types on subkeys are now ignored. CNY-2490
  • When updating a group which contained a package that used to be byDefault False but is now byDefault True, Conary will now install the package. CNY-2507
  • When using the tagScript argument with the client's applyUpdateJob call, the paths to group scripts to be executed are stored relative to the root of the installation, instead of absolute. The tag script is always supposed to be executed under chroot. CNY-2523
  • The serverName configuration option now allows glob-style wildcards. CNY-2293
  • Slow SQL queries used to remove unused entries from the TroveFiles table and TroveTroves table have been rewritten to make some queries faster with repositories implemented with a sqlite database. CNY-2515
  • The file EULA_Conary.txt has been added to clarify that Conary is available under two licenses, and to state the conditions under which the two licenses apply.

Conary 2.0.5

  • Conary now attempts to provide hints about flavor combinations that would work if it cannot find a flavor that matches your exact request CNY-1920.
  • The rollback API now raises a RollbackError instead of returning non-zero on errors. CNY-1643
  • When file conflicts occur while cooking groups, the deps that caused a package to be pulled in are listed. CNY-2308
  • Config policy will automatically append a newline to non-binary files. Files that are marked as Config and appear to be binary will continue to trigger an error as they have previously. CNY-2422
  • Perl requirements that are not present on the system or provided by the package being built are dropped. CNY-2180
  • Two expansion functions have been introduced to package recipes: r.glob and r.regexp. These functions return an object that can be substituted for any API parameter that calls for a string based regexp or glob. CNY-2222
  • Group recipe actions like "r.addAll" and "r.addCopy" now record the version of the group that is being copied from into the newly created group. CNY-2359
  • Add code to display new-style metadata through rq, q, and showchangeset, as well as propagate that metadata via cooking, promoting, shadowing, and committing source packages. Entering this metadata must still be done through scripts. CNY-1808
  • Added a hook that allows build requirements to be overridden by rMake. CNY-2427
  • Conary no longer tracebacks when building a package that contains a pkgconfig reference to a file in the current package that is in a symlinked directory. CNY-2455
  • The order in which configuration files are read when a glob was passed to includeConfigFile is now deterministic. CNY-2483

Conary 2.0.4

  • Moving an unmodified shadow to tip via cvc promote no longer causes an error. CNY-2441
  • Recipes using addSvnSnapshot no longer modify the conary configuration object's tmpDir setting CNY-2401
  • Fixed a rare bug in which dependency resolution would fail when a dependency that used to be provided by one installed package is now provided by two new packages. CNY-2459
  • Conary will now use the proxy settings stored in its local configuration when loading remote configuration files. CNY-2363
  • PGP keys having some self signatures that fail to pass are no longer failing, as long as at least one self signature passes. CNY-2439
  • The client enforces the trust model using the internal implementation of OpenPGP. CNY-1895
  • Policies that move files in destdir now track path changes they make so that files will end up in the correct package or component after being moved, when "package=" or "component=" has been used in a build action. CNY-1679

Conary 2.0.3

  • PGP version 3 keys are now supported for verification of package signatures. According to RFC4880, version 3 keys are deprecated. CNY-2420
  • Superclasses are now loaded from the filesystem. Superclasses can now be cooked. Doing so will make a changeset that installs the recipe itself on the filesystem. CNY-983
  • When building packages, Conary now reads /etc/ld.so.conf.d/*.conf files to determine whether to include the path in the dependency. CNY-2433
  • The /etc/ld.so.conf.d/*.conf handling added to Conary 1.2.13 introduced a bug that could erase necessary entries from ld.so.conf in some circumstances. This bug has been resolved. CNY-2440
  • Spaces in URLs are now automatically escaped. CNY-2389
  • The Requires() policy now inspects Lib: and Lib.private: pkg-config keywords in .pc files to find library files, and where it finds them, it adds appropriate Conary trove requirements to the .pc files. CNY-2370
  • The implementation of the util.mkdirChain function has been changed to no longer use exceptions internally to signal that the directory already exists. Raising exceptions is a relatively expensive operation that slows down the data store. Exceptions are still used internally in the very infrequent case of intermediate directories not existing. CNY-2405
  • Conary will not downgrade packages if no version is specified by the user, but, due to an out of date mirror or other reasons, the update available for a package is older than the currently installed package. CNY-2402
  • Conary now recognizes /etc/ld.so.conf.d/*.conf files, adding an include line to /etc/ld.so.conf if they exist, and does not add new duplicate entries to /etc/ld.so.conf for directories already specified in /etc/ld.so.conf.d/*.conf files. CNY-2432
  • A getDatabase() method has been added to the ConaryClient class. This method returns the local system database object. Code that needs to query the local system database should use this method to obtain the database object. CNY-2316
  • A bug that caused an unhandled exception when adding a new role in the Conary repository web interface has been fixed.

Conary 2.0.2

  • PGP version 2 signatures are now properly parsed. Version 2 signatures are documented in the outdated RFC1991 and are considered deprecated, but some PGP keys contain them. CNY-2417
  • A bug that caused an unhandled exception when adding a new role in the Conary repository web interface has been fixed.

Conary 2.0.1

  • The Requires() policy now inspects Lib: and Lib.private: pkg-config keywords in .pc files to find library files, and where it finds them, it adds appropriate Conary trove requirements to the .pc files. CNY-2370
  • An update bug that could result in a trove integrity error has been fixed. The issue would occur when updating packages where, for some files, the only changes are to file versions. CNY-2403

Conary 2.0.0

  • The way Conary handles architecture flavors has been changed, primarily for better support for multilib systems that support having both 32-bit and 64-bit packages installed.
  • The Conary repository Access Control List capabilities have been significantly upgraded to support per-trove ACLs. Trove permissions are cached and recalculated whenever the ACLs change or new troves are added to the repository, for better scaling and faster changeset retrieval.
  • All dependencies on the GnuPG "gpg" program have been removed; Conary now implements the required OpenPGP functionality internally.
  • Conary 2.0 is significantly faster for many repository commit operations. Some "cvc promote" operations, in particular, have a 200% performance improvement. Some group commit operations are 75% faster. Creating a new shadow can be as much as 100% faster. Details of some of the changes that provide the improvement are below.
  • Committing to repositories has been reworked to pull all modified streams from the repository or database with one query. CNY-2053
  • Unchanged stream sets now return None on diff. This prevents the Conary repository from having to do unnecessary work to retrieve the "old" version of a stream and apply a diff when nothing actually changed.
  • Unchanged file streams are now 2-byte, backwards compatible, sequences instead of more complex representations of "nothing changed".
  • The commit code (both client and server) recognizes unchanged files and does not merge stream sets for them.
  • Distributed changeset creation no longer recompresses file contents.
  • "cvc promote" no longer recompresses non-config files during changeset assembly. CNY-2202
  • "cvc promote" now gets file contents and streams from changesets when a lot of them are needed from the same trove. CNY-2202
  • Changesets that represent a "cvc promote" operation have been changed to be relative to either the source of the promote promoting within a server if promoting within a server or to the current version on the target. CNY-2202
  • The "cvc shadow" command now commits relative changesets when the shadow is made to the same repository as the original trove.
  • The Conary client now tries to perform update jobs as close to updateThreshold (without going over) as practical for a noticeable performance improvement. CNY-2283
  • Committing changesets to the repository has been modified to check for files which don't have contents available (during a promote or shadow, for example) with one SQL query. Previously, a single SQL query was used to check for each file. CNY-2053
  • Conary will now ignore flavoring and requirements from ELF libraries that are built for architectures other than the architecture that is being built for. This avoids a common problem where a single extra (unused) sparc file library causes an entire package to be flavored to be installed on systems that support both x86 and sparc instruction sets, as that configuration is not meaningful. CNY-1717
  • The rarely used "cvc describe" command line interface has been removed. CNY-2357
  • The rarely used "cvcdesc" script has been removed. CNY-2357
  • Spaces in URLs provided in source actions such as addArchive are now automatically escaped to make them legal URLs. CNY-2389
  • The "cvc promote" command now uses the labels and branches specified in the "from" section of any promote as the place to search for packages CNY-2235.
  • The PackageSpec documentation incorrectly stated that you could pass both package and component information to it; this has been corrected to properly redirect to ComponentSpec for this usage. CNY-2387
  • The "getTroveLatestByLabel" client-side call has been added.
  • Most repository exceptions are demarshalled using logic in the exception class itself rather than in a large if/elif block. CNY-747
  • The "troveNames" and "troveNamesByServer" methods now accept a "troveTypes" argument, and by default return only troves that are present. CNY-1838
  • The mirror client supports a --fast-sync flag which will only scan for new troves in the source and skip the time-expensive scans for changed trove info records. CNY-1756
  • The mirror client supports a --absolute flag which will make it use only absolute changesets to mirror content. CNY-1755
  • The rollback stack code has been split into a separate class. CNY-2061
  • A new "conary rmrollback" command that removes old rollbacks has been added. CNY-2061
  • Rollback objects now have an "isLocal" method to tell whether applying that rollback will require repository access. CNY-2077
  • Conary now allows a biarch system to have one flavor that expresses both the x86 and x86_64 support. The flavorPreferences configuration option informs conary to prefer x86_64 packages. This change allows group building to automatically resolve x86 packages. CNY-525
  • Conary no longer uses gnupg for OpenPGP key management. CNY-2349
  • Conary clients no longer send an absolute URI when talking directly to a repository server. CNY-2324
  • Many repository permission handling methods have been renamed for consistency. For a complete list, see doc/PROTOCOL.versions in the Conary source code. CNY-2298
  • Setting/resetting the admin field permission is now handled by the setUserGroupIsAdmin() call instead of addAcl/editAcl. CNY-1782
  • The scoring for target flavor sets has been fixed. CNY-1539
  • The (unimplemented) concept of caps for permissions has been removed.
  • Server methods have been decorated with the @requireClientProtocol decorator.
  • The "usergroups" term has been replaced with "roles" in the repository web user interface. CNY-1973
  • Server exceptions have been reworked to have marshalling logic in the exception class instead of in a large if/elif block. CNY-747
  • Server exceptions are marshalled in the proxy layer now instead of in both the proxy and server layers.
  • When the repository database is locked, "RepositoryLocked" exceptions are now returned for all code paths. CNY-1596
  • The repository call log now tracks changeset cache misses. CNY-1843
  • Repositories no longer pass anonymous hints to the proxy layer. The hint has been False since Conary 1.1.29.
  • The "troveNames" method now filters by using the "troveTypes" argument. CNY-1838
  • The "getPackageBranchPathIds" method no longer requires access to the entire version history of a package; it returns the pathIds and fileIds for troves the user is allowed to see. Previously, an InsufficientPermission exception was raised if part of the version history of a package was not visible to the user. CNY-2038
  • The repository call log now records the time required to service the request. CNY-2305
  • A "serializeCommits" boolean server configuration option has been added. This is best turned on for repositories used for development, but is unneeded for repositories that are mirrors. CNY-2285
  • The XML-RPC protocol now allows passing keyword arguments for exceptions. CNY-747
  • XML-RPC return values no longer include the "useAnonymous" flag.