All Versions
Latest Version
Avg Release Cycle
97 days
Latest Release
263 days ago

Changelog History
Page 2

  • v0.10.10 Changes

    April 11, 2018

    ๐Ÿ› BUG FIXES

    • Fix - Installing Chocolatey 0.10.9 results in an exit code of 1 - see #1529
    • Fix - Proxy bypass list with "*" will return regex quantifier parsing errors - see #1532
    • Fix - NuGet cache folders - choco should always attempt to remove and should find in the cacheLocation when set - see #1527


    • Logging - Exclusive File Lock on Non-Essential Logs - see #1531
  • v0.10.9 Changes

    March 25, 2018

    ๐Ÿš€ The vendored 7Zip had a couple of security findings that necessitated a release. There is also a lot of goodness going into this release as well. We've fixed XDT transforms not to keep extra data around (requiring manual fixes). We've resolved some issues surrounding compatibility with Get-PackageParameters in the chocolatey-core.extension package and what's now built into Chocolatey. That should now work appropriately, and the built-in method should be preferred, so if you are using --package-parameters-sensitive, those will be added as well when you do have the chocolatey-core.extension package also installed.

    โฌ†๏ธ We've also brought in the long desired logging with no colorization. You can set that as a switch or globally with a feature flipper. With outdated/upgrade, you can now ignore unfound packages along with already skipping pinned packages. That will help you reduce your output to only the things it finds upgrades for that can be upgraded.

    ๐Ÿ› BUG FIXES

    • [Security] Fix - Pro/Business - Logging - Get-PackageParameters should not log sensitive params - see #1460
    • Fix - XDT transform causes xml file to have extra data in it (unusable until manually fixed) - see #1482
    • Fix - Escape package registry information to reduce unreadable files - see #1505
    • Fix - Uninstall-ChocolateyZipPackage is unable to find zip contents file - see #1415
    • Fix - Get-PackageParameters - Resolve differences between chocolatey.core-extension and built-in method - see #1490
    • Fix - Get-PackageParameters - force built-in method to be preferred over chocolatey-core.extension method - see #1476
    • Fix - Get-PackageParameters should handle urls - see #1459
    • Fix - Setting output directory with proper quoting can result in "The given path's format is not supported." - see #1517
    • Fix - Logging - PowerShell script contents logging should not error if they have contents mistaken for log formatting - see #1489
    • Fix - Incorrect documentation for Install-ChocolateyInstallPackage - see #1416
    • [API] Fix - Logging - Loggers should always be checked for initialization - see #1447
    • Fix - Pro/Business - Expired licenses should not cause Chocolatey errors - see #1500


    • [Security] RAR extraction with older 7zip can cause memory corruption (CVE-2018-5996) / ZIP Shrink vulnerability (CVE-2017-17969) - see #1478
    • Provide friendly error messages on well-known exit codes - see #1526
    • Capture password securely during validation when only the user name has been provided - see #1524
    • Outdated/Upgrade - Option/feature to ignore unfound packages - see #1398
    • Installation/Setup: run choco once to initialize the config file - see #1401
    • Logging - Log access denied for config file to log file only - see #1445
    • Ability to pick x64/x86 runtime binaries for shimming by architecture without needing PowerShell scripts - see #1365
    • Logging - Add '--no-color' as a global option and 'logWithoutColor' feature - see #100
    • Reset colors after abnormal exit - see #474
    • [API] Logging - Set logging levels debug/verbose/trace - see #1448
    • [API] Logging - Sync already logged items when setting custom logging - see #1446
    • [API] Fix - Ensure one instantiation of GetChocolatey at a time - see #1400
    • Pro/Business - Uninstall - Keep stored package information by default - see #1399
    • Pro/Business - Logging - See licensing logging output - see #1488
  • v0.10.8 Changes

    August 30, 2017

    ๐Ÿ“š With this release, Package Parameters are fully supported from both the user side and the packaging side. Check out the documentation and check out the walkthrough on how to use package parameters in your packaging. Note if you are pushing packages to the community repository, you must continue to take a dependency on the chocolatey-core.extension as a polyfill for older versions until at least six months after a new feature is released.

    ๐Ÿš€ What you can do with logging has greatly increased your ability to have more power over how it works and deeper output to determine errors (we've expanded --trace #1379). This release also gives packagers and users more power when working with the AutoUninstaller - opt-out (#1257) and passing arguments to the uninstaller (#1133).

    ๐Ÿ“ฆ Another noteworthy addition is the ability to pass custom properties to Choco like you would do with nuget pack, allowing better integration with packages you manage in Visual Studio (#1313).


    • Function - Get-PackageParameters - see #1393

    ๐Ÿ› BUG FIXES

    • Fix - "Value cannot be null" running choco outdated - see #1383
    • Fix - Package parameters are ignored on when install directly points to nupkg/nuspec - see #1155
    • Fix - Logging - log4net Logger location (the code location logging) is incorrect - see #1377
    • [API] Fix - GetConfiguration() sets the configuration for other calls - see #1347
    • [API] Fix - Pro/Business - Self-Service information not returned for sources - see #1394
    • [API] Fix - Config output is being set to Regular Output - see #1396


    • [Security][POSH Host] Implement Read-Host -AsSecureString- see #1335
    • AutoUninstaller - Opt-out from packages - see #1257
    • AutoUninstaller - Use Uninstall Arguments and Override Arguments if provided - see #1133
    • pack - Pass arbitrary properties like nuget pack - see #1313
    • list - Sub-command should not require admin access (and not prompt) - see #1353
    • new - Package Templates - Do not treat binaries in template as text files - see #1385
    • new - Package Templates - Add more helpful items, like a todo list to the default template - see #1386
    • Document how to pass multiple sources on CLI - see #1331
    • Logging - Trace output should provide deep logging information - see #1379
    • Logging - Allow external log4net config file - see #1378
    • Logging - Allow capturing output to an additional log file - see #1376
    • [API] Make log4net dependency less restrictive - see #1395
    • Pro/Business - source/list - Support for Admin Only Sources - Limit non-admin list to self service only - see #1265
  • v0.10.7 Changes

    June 08, 2017


    • Set requested execution level back to asInvoker while determining more advanced elevated scenarios - see #1324

    After much deliberation with the community, we're moving execution policy back to the default of asInvoker to make it work like it did prior to 0.10.4. However we are leaving it open for you to change it to whatever execution level you want by keeping the manifest external from choco.exe. We will be looking more at advanced scenarios - the discussion is at #1307. If you don't have a GitHub account, feel free to start a thread on the mailing list (and if you are a customer, you have private channels to voice your opinions on this change).

    Moving to "asInvoker" means that Chocolatey will not ask for elevated privileges prior to execution, so you will need to remember to do that yourself. If you go to $env:ChocolateyInstall, you will find choco.exe.manifest, and you have freedom to adjust the execution level as you see fit. There is one catch, you will need to do it on every install/upgrade of Chocolatey until #1206 is implemented.

    ๐Ÿ› BUG FIXES

    • Fix - Add file/file64 not as aliases, but use them to set url/url64 if empty - see #1323
    • Fix - Automatic Uninstaller doesn't split multiple paths - see #1327
    • Fix - choco list / search / info - fails with local directory source - see #1325
    • Fix - When version is four digits, Chocolatey version heading is not shown - see #1326
    • Fix - search / list - page/page-size not honored for exact search in 0.10.6 - see #1322
    • Fix - Deserializing failures on package info files should not fail the choco run - see #1328


    • Use $packageArgs in default template for uninstall script - see #1330
  • v0.10.6 Changes

    June 01, 2017

    ๐Ÿš€ This release includes fixes and adjustments to the API to make it more usable. Search / List has also been improved with the data that it returns when verbose/detailed, along with info always returning a package with information instead of erroring sometimes. The search results from the community package repository now match what you see on the website.

    ๐Ÿ› BUG FIXES

    • Fix - choco.exe.manifest is ignored because it is extracted AFTER first choco.exe access - see #1292
    • Fix - Chocolatey config changes in 0.10.4+ - The process cannot access the file because it is being used by another process - see #1241
    • Fix - PowerShell sees authenticode hash as changed in scripts that are UTF8 (w/out BOM) that contain unicode characters - see #1225
    • Fix - Chocolatey timed out immediately when execution timeout was infinite (0) - see #1224
    • Fix - Multiple authenticated sources with same base url fail when authentication is different - see #1248
    • Fix - choco list / search / info - Some packages can't be found - see #1004
    • Fix - chocolatey.config gets corrupted when multiple processes access simultaneously - see #1258
    • Fix - Update ShimGen to 0.8.x to address some issues - see #1243
    • Fix - AutoUninstaller should skip uninstall keys if they are empty - see #1315
    • Fix - Trace logging should only occur on when trace is enabled - see #1309
    • Fix - RefreshEnv.cmd doesn't set the correct PATH - see #1227
    • Fix - choco new generates uninstall template with wrong use of registry key variable - see #1304
    • [API] Fix- chocolatey.lib nuget package has incorrect documentation xml - see #1247
    • [API] Fix - Chocolatey file cache still adds a 'chocolatey' directory on each install - see #1231
    • [API] Fix - List and Count should implement similar functionality as run - see #1298
    • Pro/Business - [API] Fix - Ensure DLL can work with licensed code - see #1287


    • Default package push url now uses push subdomain - see #1285
    • Report process id in the log files - see #1239
    • choco info / list / search - Include summary on detailed view - see #1253
    • choco info / list /search - Include release notes on detailed view - see #1263
    • choco list / search - Option to list packages only by name - see #1237
    • choco list / search - Allow sorting package results by relevance - see #1101
    • choco list / search - Search by tags only - see #1033
    • choco outdated - Option to leave out pinned packages - see #994
    • Install-ChocolateyPackage and other functions should alias File/File64 - see #1284
    • Install-ChocolateyPowerShellCommand should alias File/FileFullPath for PsFileFullPath - see #1311
    • Logging - capture more information about a user (user name, domain, remote?, system?) - see #615
    • Stop saying "0 packages failed." - see #1259
    • [API] provide a way to see ChocolateyConfiguration - see #1267
    • [API] Attempt to get ChocolateyInstall environment variable prior to extraction - see #1297
    • [API] Expose Container directly - see #1294
    • Pro/Business - Support for Package Audit (who installed packages) - see #1238
    • Pro/Business - [API] Ensure configuration retains base info between uses - see #1296
  • v0.10.6.1 Changes

    June 03, 2017

    ๐Ÿ› BUG FIXES

    • Fix - shimgen fails with unrecognized option: '/errorendlocation' in .NET 4.0 only environments - see #1321
    • Fix - Do not fail extracting resources at runtime - see #1318
    • Fix - Silently fail when deleting choco.exe.old - see #1319
  • v0.10.5 Changes

    March 30, 2017

    ๐Ÿ› BUG FIXES

    • Fix - Start-ChocolateyProcessAsAdmin errors when running PowerShell scripts - see #1220


    • Show machine readable output with choco outdated -r - see #1222
  • v0.10.4 Changes

    March 30, 2017

    ๐Ÿš€ We're dubbing this the "10-4 good buddy" release. We've added some major functionality and fixes we think you are going to find top notch - dare we say as smooth as really expensive chocolate? A lot of work for this release has been provided by the community. Remember that Chocolatey is only as good as the support that comes from the community! Be sure to thank other community members for the awesome that is Chocolatey and Chocolatey 10-4. We've closed over 30 bugs and added over 40 enhancements (75 tickets in total)!

    ๐Ÿ”ง Proxy support just got some major enhancements with the ability to not only specify proxy information at runtime, but also to set bypass lists and bypassing on local connections and configure source repositories to bypass proxies. A major issue with changing command execution timeout was just fixed. And there used to be a tiny chance you might corrupt the choco config when running multiple choco processes -but now that is much better handled.

    ๐Ÿ‘€ We've also made package itself display download progress, which is great when software binaries are embedded in packages. For you folks looking to remove any progress (like when using Vagrant), now you can use --no-progress. When NuGet.Core has issues, those issues will have more visibility into why things are failing without needing a debugging log. Speaking of some extreme visibility, see network traffic with --trace.

    ๐Ÿ‘€ We've got a few possible breaking changes that could affect you, see what we've written about them below.

    ๐Ÿš€ This also marks the first release that uses the Chocolatey Software digital certificate for signing instead of the RealDimensions Software, LLC certificate.

    ๐Ÿš€ Another major feature released in preview is using remembered arguments on upgrade. This is in preview in 0.10.4 and will be turned to 'on' automatically in a future release. We are going to be continually making it better and won't turn it on by default until it is ready. If you want to turn it on and start using it, once you have 0.10.4 installed, run choco feature enable -n useRememberedArgumentsForUpgrades. You can also do this per command with --use-remembered-arguments. You can also turn it off per command with --ignore-remembered-arguments. We've also really described a lot of important considerations and thoughts related to using this so there are no surprises. Please do read the issue notes at length if you plan to use this feature to reduce confusion.


    • Run with highestAvailable Execution Level by default - see #1054

    One longstanding request with Chocolatey was to have it always request admin privileges before running. This has been a hope that it would cut down on the accidental runs of Chocolatey in a command shell that is not elevated and needing to open one that is elevated. This UAC (User account control) setting is handled by something called an application manifest (app.manifest). We had it set to "asInvoker", or run with the context of the user that ran the command. We've moved this to "highestAvailable", which means if you are a non-admin, it will just run under your context, but if you are an admin in a non-elevated shell, it will ask for elevated permissions to run. There is also "requireAdministrator", which locks execution down to administrators only.

    Moving to "highestAvailable" allows for that asking of privileges that you are used to, up front before it runs. However one additional thing we did here was give you more control over this setting now. We used to embed the app manifest into choco.exe. We now set it next to choco.exe (base install under $env:ChocolateyInstall, you will find choco.exe.manifest) so you have more freedom to adjust those execution levels as you see fit. There is one catch, you will need to do it on every install/upgrade of Chocolatey until #1206 is implemented.

    • When a prerelease is installed, it should upgrade to latest prerelease unless excluded - typically seen in choco upgrade all - see #686

    When you run choco upgrade all, it never catches the prereleases. However if you run choco upgrade all --pre, it may upgrade some of your stable installs to prereleases. Neither of these situations are desirable. So by default, we've made it so that choco upgrade all just does the right thing, which is to upgrade your stable releases to the latest stable release and your prerelease packages will upgrade to the absolute latest available, whether that be stable or prerelease. If you need to change the behavior back to the old way for upgrade all, simply add the --exclude-prerelease option.

    • Fix - Passing Allow Downgrade To upgrade against a prerelease may downgrade it to last stable version - see #1212

    This is a bug fix that was allowing a prerelease to be downgraded accidentally to the last stable version if you ran choco upgrade somepackage --allow-downgrade without a particular version and without --pre. Now while this would be less affected with #686 above, it could still happen. It's a bug. The only reason this was marked as breaking change is that someone could be depending on the buggy behavior. So heads up, this bug is now fixed. If you are attempting to downgrade, make sure you specify the version you want it to go down to.


    • [Security][Preview] Use Remembered Arguments for a Package During Upgrades - You must opt in for this to work - see #797
    • Show download progress for the packages themselves - see #1134
    • Set Explicit Proxy Bypass List / Bypass On Local - see #1165
    • Option/feature to stop installation when a package fails - see #1151
    • Add File64 to Install-ChocolateyInstallPackage and Get-ChocolateyUnzip - see #1187

    ๐Ÿ› BUG FIXES

    • [Security] Fix - PowerShell sees authenticode hash as changed in scripts that were signed with Unix Line Endings (LF) - unable to use AllSigned - see #1203
    • [Security] Fix - chocolatey setup - Use https for downloading .NET Framework 4x if not installed - see #1112
    • Fix - chocolatey.config gets corrupted when multiple processes access simultaneously - see #1047
    • Fix - "commandExecutionTimeoutSeconds" always reverts to 2700 when deprecated config setting is 0 - see #1059
    • Fix - Allow Chocolatey version check with FIPS - see #1193
    • Fix - Chocolatey doesn't always decompress downloads appropriately (support automatic decompression) - see #1056
    • Fix - Load built-in Chocolatey functions, then load extensions - see #1200
    • Fix - Use provided checksum type - see #1018
    • Fix - MSU fails to install with space in path - see #1177
    • Fix - Unable to disable failOnInvalidOrMissingLicense feature - see #1069
    • Fix - PowerShell (Start-ChocolateyProcessAsAdmin) should only import the installerModule and not the profile - see #1013
    • Fix - Automatic Uninstaller should skip when uninstaller executable does not exist - see #1035
    • Fix - Package installation often fails with ERROR: You cannot call a method on a null-valued expression - see #1141
    • Fix - Text file determination fails to throw an error because it catches it - see #1010
    • Fix - Delete the .istext file before the content-type check - see #1012
    • Fix - new command - don't add unparsed options as the name - see #1085
    • Fix - Proxy settings ignored for local connections - see #497
    • Fix - RefreshEnv / Update-SessionEnvironment changes current user to SYSTEM - see #902
    • Fix - Set-EnvironmentVariable writes an error when installing Chocolatey as SYSTEM - see #1043
    • Fix - Get-FtpFile fails with integer overflow when downloading file more than 2gb in size - see #1098
    • Fix - Uninstall-ChocolateyPackage prints out warning if the passed file path starts and ends with quotes - see #1039
    • Fix - Get-UninstallRegistryKey fixes/improvements - see #815
    • Fix - Unzip specific folder feature is broken after introducing 7zip - see #676
    • Fix - Join-Path error when installing Chocolatey as SYSTEM - see #1042
    • Fix - $env:OS_NAME is 'Windows' for Windows 10 - see #1178
    • Fix - choco install relativepath/to/some.nuspec fails - see #906
    • Fix - When pointing to a nupkg, choco should use only that nupkg to install and not a newer version in the same directory - see #523
    • Fix - Automatic uninstaller should split by quotes when necessary - see #1208
    • [API] Fix - lib should merge the AlphaFS dependency - see #1148
    • [API] Fix - don't reset loggers on setting custom automatically - see #1121
    • [API] Fix - Chocolatey file cache adds a 'chocolatey' directory on each install - see #1210
    • [API] Fix - Getting Local List of Package may leave config in undesirable state - see #1213
    • Fix - Pro/Business - Chocolatey Licensed Feed May Show Up More Than Once - see #1166
    • Fix - Pro/Business - Synchronized packages with DLLs are attempted to be imported by Chocolatey's PowerShell Extensions Loader - see #1041


    • [Security] Username and password for choco apikey not encrypted in output - see #1106
    • [Security] Sign Binaries / Authenticode Signatures with Chocolatey Software digital certificate - see #1214
    • Setting commandExecutionTimeout to 0 means never time out - see #1202
    • Configure sources to skip proxy - see #262
    • Set proxy information at runtime - see #1173
    • Start-ChocolateyProcessAsAdmin should not elevate when already elevated - see #1126
    • Add --no-progress cli switch for hidding progress bars - see #917
    • Note web status errors on package install failures - see #1172
    • Always let Nuget.Core log - see #1095
    • Make choco get its proxy settings also from environment variables - see #605
    • Remove quotes in process passed to Start-ChocolateyProcessAsAdmin / CommandExecutor - see #1167
    • Increase download buffer size in Get-FtpFile to speed up downloads - see #1099
    • Trace network traffic - see #1182
    • Upgrade 7Zip to 16.04 - see #1184
    • Do not create .ignore file if outside of Chocolatey location - see #1180
    • Help should exit zero if called with the help switch, otherwise non-zero on bad commands - see #473
    • "Licensed messages" may address users in a somewhat unprofessional manner - see #1111
    • Show the entire text to turn on the allowGlobalConfirmation flag - see #1053
    • Running choco should produce name/version and further instructions - see #1083
    • Typo in Install-ChocolateyPowershellCommand - see #1088
    • Update choco new pkg template to give example of handling nested quoted paths - see #1067
    • Add Aliases for Install-ChocolateyVsixPackage - see #1146
    • Add Chocolatey Software to copyright - see #1209
    • Pro/Business - Feature to Disable Non-Elevated Warnings - see #1118
    • Pro/Business - Package Throttle - Bitrate limit packages and downloads (support) - see #454
    • Pro/Business - Allow version overrides for local packages - see #942
    • Pro/Business - List include programs should not show items from Package Synchronizer's Programs and Features Package Sync - see #1205
    • Pro/Business - Show better messaging when unable to load licensed assembly - see #1145
    • Pro/Business - PowerShell Functions should allow overriding urls - see #1117
    • Pro/Business - Automatic Uninstaller - allow remove directly - see #1119
    • Pro/Business - Add Chocolatey Architect edition license SKU - see #1075
    • Pro/Business - Ensure sync command can be machine parseable - quiet logging - see #1147
    • Pro/Business - Configure a source to be allowed for self-service - see #1181
  • v0.10.3 Changes

    October 07, 2016


    • Fix - Do Not Check $LastExitCode - Only error a package install if script errors or set a different exit code when it is specifically set - see #1000

    Starting in v0.9.10, Chocolatey started checking $LASTEXITCODE in addition to the script command success as a way to be more helpful in determining package failures. This meant it offered the ability to capture when a script exited with Exit 1 and handle that accordingly. However that really has never been a recommended scenario for returning errors from scripts and is not seen in the wild anywhere so it is believed that those that may be affected are very few.

    Checking $LastExitCode checks the last executable's exit code when the script specifically does not call Exit (which is . This can lead to very perplexing failures, such as running a successful xcopy that exits with 2 and seeing package failures without understanding why. Since it is not typically recommended to call Exit to return a value from PowerShell because of issues with different hosts, it's less of a concern to only look at explicit failures. For folks that may need it, allow failing a package again by the last external command exit code or exit from a PowerShell script. Note that it is not recommended to use exit with a number to return from PowerShell scripts. Instead you should use $env:ChocolateyExitCode or Set-PowerShellExitCode (first available in v0.9.10) to ensure proper setting of the exit code.

    If you need the prior behavior, please turn on the feature scriptsCheckLastExitCode.

    ๐Ÿ› BUG FIXES

    • Fix - chocolateybeforemodify runs after modifying (moving) chocolatey lib package files - see #995
    • Fix - The refreshenv command throws an error about Write-FunctionCallLogMessage when ran in PowerShell on 0.10.2 - see #996
  • v0.10.2 Changes

    September 30, 2016

    ๐Ÿš€ We're dubbing this the "Every Joe" release in honor of a friend that just lost his fight with brain cancer. If you want to help further research, please make a donation to a cancer research association of your choosing (e.g. the American Brain Tumor Assocation).

    ๐Ÿš€ A couple of important fixes/enhancements in this release. Most of the improvements are about providing better feedback to you and fixing minor issues. The big one surrounds when packages set a download path for a file using $env:TEMP, choco will ensure that the file can still be found for later use.

    ๐Ÿ› BUG FIXES

    • Fix - Downloaded file is at old $env:TEMP\chocolatey\chocolatey location, but install calls with just $env:TEMP\chocolatey\ location - see #969
    • Fix - [Pro/Business] UseOriginalLocation fails when there is no 64bit file - see #972
    • Fix - Do not use unparsed options as package names - see #983


    • Start-ChocolateyProcessAsAdmin enhancements - see #977
    • Log PowerShell function calls better - see #976
    • Allow environment variables in some config settings - see #971
    • [Pro/Business] Provide license type to environment variables - see #968
    • Note that chocolateyUninstall.ps1 may no longer required in template - see #982
    • Provide guidance when licensed only options are passed to FOSS - see #984
    • Rollback automatically when a user cancels an operation - see #985
    • Explain how to workaround a failing uninstall - see #573
    • Remove extra forward slashes in url - see #986
    • Side by side uninstall enhancements - see #992