.sqlite files differently from older versions. Previously, yum could crash while completing a transaction if it were still cleaning up the .sqlite file from a previous transaction. This crash cannot happen in the current version of yum. (BZ#470274)
pkgSack object for a transaction if the transaction included both a removal and an installation of the same package. As a result, the transaction would fail with the message Error: Transaction Check Error: package package_name is already installed. Now, yum creates a pkgSack object for the transaction, removes the package, and reinstalls it. (BZ#471207)
yum repolist command would truncate the results of both the repo id and repo name columns. Because the beginnings of many channel ids and and names are identical, the truncation could make it impossible to identify specific channels. Yum now displays the repo id column in its entirety, although the repo name column is even further truncated. However, with at least one of these columns displayed in full, it is now possible to positively identify specific channels. (BZ#471598)
# printed would force a new line on terminals narrower than 80 characters. Yum now determines the actual width of the terminal rather than assuming the width, and draws its progress bars accordingly. (BZ#474822)
Is this ok [y/N]. Under certain circumstances, messages from plugins (such as the RHN plugin) might appear directly above the prompt in quiet mode and make it appear as if the prompt were related to the message from the plugin rather than to the transaction. Yum now now always prints details of the transaction -- even in quiet mode -- so that it is always obvious to what the prompt is referring. (BZ#474826)
rpmdb, other applications can make changes to the package database at the same time that yum does. Previously, changes made to rpmdb by another application could cause yum to crash; for example, if an application removed data about a package and yum then attempted to retrieve this data. Now, if yum discovers data that is needs to complete a transaction is missing from the rpmdb, yum will exit safely and avoid crashing. (BZ#476195)
--disablerepo='*' option, or when available repos had no packages in them, the yum install '*' command produced a long warning that listed every package already on the system as being installed and not available. This warning was nonsensical and misleading because it implied that every package already on the system was available in a repository that yum could access. The code that produced this warning has been removed from yum. Now when yum install '*' is used under circumstances where no packages are available in any repository, yum does not produce this warning, but simply reports Nothing to do. (BZ#482812)
%description field, yum info did not allow for packages where this field might be empty. When yum info encountered such a package, it would crash. Yum info now allows for empty %description fields in packages and will not crash when it encounters an empty field. (BZ#491406)
bad checksum type error. Now, when yum encounters a bad SHA-256 checksum, it attempts to verify the package with a SHA-1 checksum instead, which will sucessfully verify the MD5 checksums used for Red Hat Enterprise Linux 5 packages. (BZ#500697)
yum update for a package that was not installed, yum would exit with the message No Packages marked for Update, whether the package were available or not. Although true, this message did not alert the user that such a package was available for installation. Now, if the package is available but not installed, yum notifies the user of this fact. (BZ#507326)
LC_CTYPE specifies a character set and the variable LC_MESSAGES specifies a language for messages. Previously, yum selected a language for messages based on LC_CTYPE instead of LC_MESSAGES. Although on many configurations, LC_CTYPE and LC_MESSAGES will be set to the same language and character encoding, this is not necessarily the case, and by using the wrong environment variable, yum would not provide the expected output under configurations where LC_CTYPE and LC_MESSAGES were set differently. Yum now uses LC_MESSAGES to determine the language to provide messages in, resulting in consistent and expected behavior. (BZ#507357)
--color=never option on the command line and color=never option in yum.conf. Yum output was therefore always in color, regardless of user preferences. With the error corrected, users can now use yum in monochrome. (BZ#507883)
package-cleanup --dupes command. Yum would crash and the recursion would eventually terminate with the error maximum recursion depth exceeded while calling a Python object. The code that populates the package sacks is now modified so that this recursion cannot take place, therefore avoiding the crash. (BZ#507885)
to_str parameter. Therefore, when loading the yum-filter-data plugin, yum crashed. With to_str now specified in the code, yum can import the module name and does not crash when it loads the plugin. (BZ#508051)
--downloaddir option resulted in a crash. The code used to set directory attributes is now substantially rewritten and now allows the --downloaddir option to work correctly. (BZ#508055)