Permalink
e3ea1ac Oct 7, 2016
@ferventcoder @dtgm
1315 lines (915 sloc) 109 KB

Chocolatey Open Source CHANGELOG

This covers changes for the "chocolatey" and "chocolatey.lib" packages, which are available as FOSS.

NOTE: If you have a licensed edition of Chocolatey ("chocolatey.extension"), refer to this in tandem with Chocolatey Licensed CHANGELOG.

0.10.3 (October 7, 2016)

BREAKING CHANGES

  • 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

0.10.2 (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

IMPROVEMENTS

  • 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

0.10.1 (September 19, 2016)

We're dubbing this the "Shhh! Keep that secret please" release. We've found that when passing in passwords and other sensitive arguments, those items can end up in the logs in clear text. We've addressed this in #948 and #953. When it comes to passing sensitive arguments through to native installers, you can set up environment variables with those sensitive args and pass those arguments directly through to Start-ChocolateyProcessAsAdmin. If you prefer a better experience, the licensed version allows passing sensitive options directly through choco.exe as --install-arguments-sensitive and --package-parameters-sensitive. Read more in the Licensed CHANGELOG.

Perhaps the biggest improvement in this release is that Chocolatey will automatically look to see if it can download binaries over HTTPS when provided an HTTP url. If so, Chocolatey will switch to downloading the binaries over SSL. This provides better security in downloading and knowing you are getting the binary from the source location instead of a possible man in the middle location, especially when the package does not provide checksums for verification.

Another improvement you may not even notice, but we think you will love is that Chocolatey now supports TLS v1.2 transport which presents a nice transparent increase in security. You will need to have at least .NET Framework 4.5 installed to take advantage of this feature.

FEATURES

  • [Security] Support TLS v1.2 - see #458
  • [Security] Attempt to download packages via HTTPS connection - see #746
  • [Security] Pro/Business - Pass sensitive arguments to installers - see #948
  • Search (and info) by version - see #935

BUG FIXES

  • [Security] Fix - Passwords in command line options are logged in clear text - see #953
  • [Security] Fix - For PowerShell v2 - if switch down to SSLv3 protocol fails, go back to original protocol - see #958
  • Fix - Unzipping to ProgramFiles/System32 is Subject to File System Redirection - see #960
  • Fix - Run without login - see #945
  • Fix - Support Long Paths - see #934
  • Fix - help should not issue warning about elevated command shell - see #893
  • Fix - Licensed Feed cannot be disabled - see #959
  • Fix - Choco with unknown command should show help menu - see #938
  • Fix - Get-FtpFile error when file is missing (called through Get-ChocolateyWebFile) - see #920
  • Fix - Skip Get-WebFileName for FTP - see #957
  • Fix - Chocolatey-InstallChocolateyPackage fix for double chocolatey folder name is not also applied to the passed in file name - see #908
  • Fix - Start-ProcessAsAdmin - working directory should be from the location of the executable - see #937
  • [POSH Host] Fix - PowerShell Host - Package scripts setting values can affect packages that depend on them - see #719
  • Fix - Transactional install - pending check may fail if the lib folder doesn't exist - see #954
  • Fix - Start-ChocolateyProcessAsAdmin Module Import for PowerShell causes errors - see #901

IMPROVEMENTS

  • Transactional Install - Improve concurrent operations (pending) - see #943
  • Uninstall-ChocolateyPackage should set unrecognized fileType to exe - see #964
  • Powershell functions - Allow access to package title, not only ID - see #925
  • Option to apply package parameters / install arguments to dependent packages - see #839
  • Get-ChocolateyWebFile download check enhancements - see #952
  • Do not treat unknown checksum types as MD5 - see #932
  • Pro/Business - Install-ChocolateyPackage - UseOriginalLocation - see #950
  • Auto determine checksum type - see #922
  • Ensure PowerShell functions have parameter name parity - see #941
  • Output from installer should go to verbose log - see #940

0.10.0 (August 11, 2016)

What was planned for 0.9.10.4 is now 0.10.0. This is due partly to a breaking change we are making for security purposes and a move to provide better a better versioning scheme for the remainder of the sub-v1 versions of Chocolatey. Instead of 0.y.z.0 being considered where major verions occur in the sub 1 series, 0.y.0 will now be considered where those major versions occur. We also are moving right along towards v1 (and hope to be there in 2017).

0.10.0 carries the fixes for 0.9.10.4 and includes a major security enhancement (checksum requirement).

BREAKING CHANGES

  • [Security] Checksum requirement and enhancements - see #112

Checksums in package scripts are meant as a measure to validate the originally intended downloaded resources used in the creation of a package are the same files that are received at a future date. This also ensures that the same files that are checked by all parts of moderation (if applicable) are the same files that are received by users for a package. This is seen mostly on the community repository because it is public and packages are subject to copyright laws (distribution rights), which typically requires the package scripts to download software from the official distribution locations. The Chocolatey framework has had the ability to use checksums in package scripts since July 2014.

What is the requirement? choco will now fail if a package download resources from HTTP/FTP and does not use checksums to verify those downloaded resources. The requirement for HTTP/FTP is #112. We are considering also requiring it for HTTPS (#895) as well. You can optionally set a feature (allowEmptyChecksumsSecure) to ensure packages using HTTPS also use checksums.

How does this protect the community anymore than before? During moderation review, there is a check of these downloaded binaries against VirusTotal (which verifies these binaries against 50-60+ different virus scanners). The binaries are also verified for installation purposes against a test computer. With an independent 3rd party checksum in the package itself, it guarantees that the files received by a user from those remote sources are the exact same files that were used in the verification process.

Why the requirement, and why now? This is a measure of protection for the Chocolatey community. HTTP is easy to hack with both DNS poisoning and MITM (man in the middle) attacks. Without independent verification of the integrity of the downloaded resources, users can be left susceptible to these issues. We've been planning a move to require checksums for awhile now, with a planned longer and smoother transition for package maintainers to get packages updated to reduce breakages. Unfortunately there was a recent event with FOSSHub getting hacked (the community repository had 8 possibly affected packages and we quickly took action), which necessitated a need for us to move in a much swifter fashion to ensure the protection of the community sooner, rather than later. The changes in Chocolatey represented by the checksum changes are a major step in the process to ensure protection. Requiring for HTTPS as well will mitigate any future compromises of software distribution sites that are used with Chocolatey packages.

Can I shut this behavior off or opt out per package? You can shut off the checksum requirement by enabling the feature allowEmptyChecksums. This will return Chocolatey to previous behavior. We strongly recommend against it.

You can shut it off or turn it per package install/upgrade with --allow-empty-checksums and --require-checksums, respectively. See https://chocolatey.org/docs/commands-install / https://chocolatey.org/docs/commands-upgrade.

You can also disable the feature allowEmptyChecksumsSecure to enforce checksums for packages that download from secure locations (HTTPS).

Other things I should know? Users also now have the ability to pass their own checksums and checksumtypes into the install. See https://chocolatey.org/docs/commands-install / https://chocolatey.org/docs/commands-upgrade.

KNOWN ISSUES

FEATURES

  • Pro/Business - Download a package without installing it - see #108

BUG FIXES

  • Fix - Installing choco on Windows 10 Vagrant box stops Vagrant from being able to manage the box - see #834
  • Fix - 64bit 7z.exe on 32bit system in chocolatey\tools - see #836
  • Fix - [POSH Host] PowerShell exit code does not reset between packages in a single run - see #854
  • Fix - Uninstall-ChocolateyZipPackage is failing - see #871
  • Fix - "C:\Program Files\WindowsPowerShell\Modules" is missing in PSModulePath for cmd.exe #830
  • Fix - Environment variables update fixes #840
  • Fix - Handle null items better - see #853
  • Fix - HKCU may not have Environment (Install of Chocolatey) - see #375
  • Fix - Progress of download does not clear the whole output line - see #875
  • Fix - Wrong download progress reported during package upgrade - see #872
  • Fix - Uninstall not supporting side-by-side => ChocolateyUninstall.ps1 not run - see #862
  • Fix - Uninstall ignores the version parameter - see #861
  • Fix - Search by exact or by id only is case sensitive for remote sources - see #889
  • Fix - Deprecated links inserted in .nuspec files created by choco new ... - see #870
  • Fix - Get-OSArchitectureWidth doesn't do what it says it does - see #828
  • Fix - When Choco fails to get a package from NuGet Core, fail the package with exit code 1 - see #867
  • Fix - Illegal characters in path - see #857
  • Fix - Get-OSArchitectureWidth doesn't do what it says it does - see #828
  • Fix - Pro/Business - Choco install config file fails on licensed assembly - see #866
  • Fix - DISM /all doesn't run anywhere but Windows 6.2 -- no dependencies get installed - see #897

IMPROVEMENTS

  • Do not install tab completion (edit of profile) under certain conditions - see #833
  • Choco install with packages.config should print out the packages to install - see #878
  • Larger default log file size and retention - see #852
  • Allow getting installer type to be overridden - see #885
  • Pack - Add optional output folder option - see #598
  • Little command name correction on init.ps1 - see #595
  • Tab completion - don't query if there is a file in the folder that meets completion - see #847

0.9.10.3 (June 23, 2016)

BUG FIXES

  • Fix - Ignore ValidPackage Exit Codes for Real - see #827
  • Fix - Cache folder running under SYSTEM account should be C:\Windows\TEMP - see #826
  • Fix - Built-in 7zip doesn't behave properly - see #775
  • Fix - Successful installer exit codes not recognized by choco should return 0 - see #821
  • Fix - NotSilent fails with "Cannot bind argument to parameter statements because it is an empty string" - see #819
  • Fix - Silent Args being passed as a string array cause package failure - see #808

IMPROVEMENTS

  • Hold pending check for 10 seconds / provide means of explicitly overriding the transactional install cleanup - see #822
  • Pro/Business - Add runtime skip option to allow skipping the virus scanner - see #786

0.9.10.2 (June 19, 2016)

BUG FIXES

  • Fix - Chocolatey Licensed is unable to find 0.9.10.x (only 0.9.10.0) - see #814
  • Fix - Logging is broken in some packages due to new TEMP directory - see #813
  • [API] Fix - When performing an Install/Uninstall/Upgrade operation through the API, an error is throw for "chocolatey.resources" - see #811

IMPROVEMENTS

  • Ensure log file path exists - and fix the log file arguments if necessary - see #758

0.9.10.1 (June 18, 2016)

BUG FIXES

  • Fix - Cannot bind argument to parameter 'exitCode' because it is null - see #810

IMPROVEMENTS

  • [Security] Upgrade to 7zip 16.02 to overcome CVE-2016-2334/CVE-2016-2335 - see #812

0.9.10 (June 17, 2016)

Chocolatey Logo

The "I got 99 problems, but a package manager ain't one" release. With the release of 0.9.10 (or if you prefer 0.9.10.0), we're about to make everything 100% better in your Windows package management world. We've addressed over 100 features and bugs in this release. We looked at how we could improve PowerShell and we've come out with a competely internal host that can Prompt and Read-Host in a way that times out and selects default values after a period of time. Speaking of PowerShell, how about some tab completion choco <tab> to choco install node<tab>? How about never having to close and reopen your shell again?

Alternative sources (-source webpi, -s windowsfeature, etc) are back! I mean, am I right?! Have you heard of auto uninstaller? If Chocolatey has installed something that works with Programs and Features, Chocolatey knows how to uninstall it without an uninstall script about 90+% of the time. This feature was in beta for the 0.9.9 series, it is on by default in 0.9.10 (unless you disabled it after trying it, you will need to reenable it, see choco feature for more details).

Here's one you probably never knew existed - extensions. Chocolatey has had the ability to extend itself by adding PowerShell modules for years, and most folks either didn't know it existed or have never used them. We've enhanced them a bit in preparation for the licensed version of Chocolatey.

We redesigned our choco new default packaging template and we've made managing templates as easy as managing packages.

choco search/choco list has so many enhancements, you may not need to visit dot org again. See it in action.

There are 150 tickets closed for this release! We've included remediation steps for when a breaking change affects you. Mostly if you have been using Chocolatey in a recommended way, you won't even notice any adverse changes. There are a number of things we thought to highlight, and quite a few security enhancements coming in this release (look for the [Security] tag on the ticket summary).

BREAKING CHANGES

  • Only fail automation scripts (chocolateyInstall.ps1) if the script returns non-zero exit code - see #445

The 0.9.8 series would only fail a package with terminating errors. The 0.9.9 series took that a bit further and started failing packages if anything wrote to stderr. It turns out that is a bad idea. Only when PowerShell exits with non-zero (which comes with terminating errors) should the package fail due to this. If you need the old behavior of the 0.9.9 series, you can get it back with a switch (--fail-on-standard-error and its aliases) and/or a feature flip (failOnStandardError).

  • Fix - Force reinstall, force upgrade, and uninstall should delete the download cache - see #590

If you set a custom cache directory for downloads, it will no longer use a "chocolatey" subdirectory under that. You may need to make any adjustments if this is going to affect you.

  • Exit with the same exit code as the software being installed - see #512

There are more exit codes from Chocolatey now that indicate success -0, 1605, 1614, 1641, and 3010. You may need to adjust anything you were using that would only check for 0 and nonzero. If you need the previous behavior, be sure to disable the feature usePackageExitCodes or use the --ignore-package-exit-codes switch in your choco commands.

  • PowerShell module functions adjusted for automatic documentation - see #697

If you were using any of the functions in a non-recommended way or not compliant with the examples, you are going to find breakages in the functions as some of the things that were called out as non-optional are now enforced. This shouldn't affect most folks.

  • [Security] Explicit permissions - remove inheritance/lock down to admins - see #398

This further restricts the default installation location by removing all permissions and inheritance of permissions, explicitly giving Administrator/LocalSystem to Full access, and Users are granted Read and Execute. In prior installations, we ensured Modify access to the installing user, but that has been removed for security reasons. Should you need the previous behavior, set $env:ChocolateyInstallAllowCurrentUser="true".

KNOWN ISSUES

FEATURES

  • Alternative Sources - see #14
  • [POSH Host] Use Internal PowerShell Host - see #8
  • Run a script before uninstall/upgrade (chocolateyBeforeModify.ps1) to allow for things like services to shutdown - see #268
  • Manage package templates with a specially named package and special package folder - see #542
  • Support for custom headers - see #332
  • [Security] Show moderation-related information in search results - see #493
  • New Helper - Get-ToolsLocation helper (replacement for Get-BinRoot) - see #631
  • Choco list/search should have exact filter search - see #453
  • RefreshEnv (Refresh Environment Variables) Should also work in PowerShell - see #664
  • Provide PowerShell tab completion for Chocolatey - see #412
  • [Security] Sign the powershell scripts and assemblies - see #501
  • Add a choco info command to show info for one package - see #644
  • Mark packages pending until install completes successfully - see #198
  • Resolve sources by name - see #356
  • Uninstall-ChocolateyEnvironmentVariable function - see #772
  • Get-UninstallRegistryKey function - see #739
  • Pro/Business - Ubiquitous Install Directory Switch - see #258
  • Pro/Business - Runtime Virus Scanning - see virus scanning
  • Pro/Business - Private CDN cache for downloads - see private CDN cache
  • Pro/Business - Sync "choco installed status" with "Windows installed status" - see #567

BUG FIXES

  • [Security] Fix - Only load the Chocolatey PowerShell module from a known location - see #560
  • [Security] Fix - Package source authentication at http://location/path doesn't also use http://location/ (base url) - see #466
  • [Security] Fix - When defining a proxy without credentials - proxy password is shown in plain text - see #503
  • [Security] Fix - Fully qualify shutdown command - see #702
  • [Security] Fix - MSI packages fail install with Could not find 'msiexec' - see #723
  • Fix - Force should set allow-downgrade to true - see #585
  • Fix - Do not use NuGet package cache - see #479
  • Fix - Pack doesn't include chocolatey-specific metadata - see #607
  • Fix - TEMP environment variable is 8.3 Path on some systems - see #532
  • Fix - $packageName should be present for zip uninstalls in uninstall script template - see #534
  • Fix - Debug/Verbose messages not logged in automation scripts (chocolateyInstall.ps1) - see #520
  • Fix - Escape log output for variables that have data from external sources - see #565
  • Fix - Choco new silentargs can't pass in args in the param=value format - see #510
  • Fix - Exception if no source is enabled - see #490
  • Fix - Chocolatey command help output written to standard error instead of standard out - see #468
  • Fix - Logger doesn't clear cached NullLoggers - see #516
  • Fix - DISM "/All" argument in the wrong position - see #480
  • Fix - Pro - Installing/uninstalling extensions should rename files in use - see #594
  • Fix - Running Get-WebFileName in PowerShell 5 fails and sometimes causes package errors - see #603
  • Fix - Merging assemblies on a machine running .Net 4.5 or higher produces binaries incompatible with .Net 4 - see #392
  • Fix - API - Incorrect log4net version in chocolatey.lib dependencies - see #390
  • [POSH Host] Fix - Message after Download progress is on the same line sometimes - see #525
  • [POSH Host] Fix - PowerShell internal process - "The handle is invalid." - see #526
  • [POSH Host] Fix - The handle is invalid - when output is being redirected and a package attempts to write to a filestream - see #572
  • [POSH Host] Fix - Write-Host adding multiple line breaks - see #672
  • [POSH Host] Fix - PowerShell Host doesn't show colorization overrides - see #674
  • [POSH Host] Fix - $profile is empty string when installing packages - does not automatically install the ChocolateyProfile - see #667
  • [POSH Host] Fix - Getting LCID doesn't work properly with the built-in PowerShell - see #741
  • [POSH Host] Fix - Host.Version should return actual PowerShell version - see #708
  • Fix - Verbose shows in output on debug switch - see #611
  • Fix - Get-ChocolateyUnzip captures files that don't belong to the package / Unzip should not do a full disk scan - see #616 and #155
  • Fix - Package succeeds but software install silently fails when Install-ChocolateyInstallPackage has the wrong arguments - see #629
  • Fix - ShimGen handling of spaces and arguments that have shimgen in them - see #647
  • Fix - PowerShell v2 - Choco installer messages can't actually be warnings (causes FileStream errors) - see #666
  • Fix - Installing chocolatey removes $env:PSModulePath changes for current PowerShell session - see #295
  • Fix - Notice for Get-BinRoot deprecation won't be displayed - see #673
  • Fix - choco new creates a bad ChocolateyUninstall.ps1 script which does not work. - see #460
  • Fix - ShimGen fails when file metadata has strings that need literals - see #677
  • Fix - Install-ChocolateyPath Expands Variables in PATH, Overwriting Preexisting Variables - see #303
  • Fix - Install-ChocolateyShortcut gives invalid warning when target is a web url - see #592
  • Fix - Argument Parsing failures should be reported as warnings and not debug messages - see #571
  • Fix - choco pack returns zero exit code when Nuget.Core validation errors - see #469
  • Fix - Install-ChocolateyPath updates PATH to REG_SZ, which may break using Windows dir and system32 tools - see #699
  • Fix - Removing environment variables sets empty environment variables - see #724
  • Fix - Environment Variable Changes Require Reboot - see #728
  • Fix - Get-WebFileName determines strange file name - see #727
  • Fix - Package params are also applied to dependent package - see #733
  • Fix - Use package name/version from environment, not parameters - see #751
  • Fix - Get-WebFileName Does Not Match on Invalid Characters - see #753
  • Fix - choco new cannot introduce multistage folder hierarchy template - see #706
  • Fix - Empty $env:ChocolateyToolsLocation combine error - see #756
  • Fix - Installing chocolatey removes $env:PSModulePath changes for current powershell session - see #295
  • Fix - Some environment variables are set too early for options/switches to have an effect - see #620
  • [API] Fix - Issue when attempting to execute run command through API - see #769
  • Fix - Logging of upgrade messages - placement of some messages is incorrect - see #557
  • Fix - Get-WebFile fails with - The term '//continue' is not recognized as the name of a cmdlet - see #789
  • Fix - Unable to read registry snapshot file - see #487
  • Fix - Pro/Business - Licensed version has an incorrect dependency on PowerShell assemblies and will only load v3 and above - see #799
  • Fix - Exit codes in package scripts should work - see #802
  • Fix - Running choco new creates a bad nuspec - see #801

IMPROVEMENTS

  • AutoUninstaller is on by default - see #308
  • Use the actual download file name instead of providing one - see #435
  • Unset Configuration Values - see #551
  • Ability to run "choco upgrade all" ignoring specific packages - see #293
  • Extensions enhancements - see #588
  • Show human-readable file sizes when downloading - see #363
  • [Security] Warn about environment changes - see #563
  • Warn when execution timeout has elapsed - see #561
  • Update nuspec to make it easier to get started - see #535
  • Suppress verbose output to verbose - like with 7-zip - see #476
  • Choco push moderation message only on push to dot org - see #601
  • Allow tools/bin root to be root of the drive again - see #628
  • File description of ShimGen shims should match original as closely as possible - see #374
  • Shim Generation should automatically detect GUI - see #634
  • Don't show 32 bit wording unless there is explicitly both versions available - see #642
  • Allow passing arbitrary key/value arguments to new command when generating packages from templates - see #658
  • Choco search/list should be able to search just by Id - see #663
  • Search by approved, by not broken, by download cache - see #670
  • Save nuspec files with package installs - see #623
  • Show a prompt character when asking a multiple choice question - see #184
  • When prompting for a user yes/no answer, use a short [y/n] representation - see #181
  • Default package template should include LICENSE.txt and VERIFICATION.txt for packages with binaries - see #675
  • choco list/search aliases for -v - '-detail' and '-detailed' - see #646
  • Log normal output to a secondary log - see #682
  • Display Package test status information on install/upgrade - see #696
  • Report when reboots are necessary from package installs - see #712
  • Report loaded extensions - see #715
  • Exit with specific codes on certain actions - see #707
  • Determine if Downloaded File is HTML or Plain Text - see #649
  • Interactively prompt with timeout on some questions - see #710
  • [POSH Host] Exit code from PowerShell Host should be useful - see #709
  • Update environment for scripts after setting environment variables - see #729
  • Clean up any temp nuget folder actions after NuGet operations - see #622
  • Ensure Web Requests and Responses Do Not Timeout - make configurable - see #732
  • Combine timeout from push and execution timeout as one parameter - see #752
  • Override autouninstaller / failonautouninstaller fail with switches for uninstall - see #515
  • Offer to remove actual package (.install/.portable) when removing meta/virtual package - see #735
  • Provide more info in package summary - see #455
  • Report install location - see #689
  • Track MSI Information Better - see #755
  • Support for client certificates - see #399
  • choco feature list formatting enhancements - see #742
  • choco new --original-template - see #737
  • Update Get-FtpFile with fixes for Get-WebFile - see #765
  • Rename Get-ProcessorBits as a more appropriately named Get-OSArchitectureWidth - see #713
  • Allow passing no 32-bit url and fail the package on 32-bit systems - see #527
  • Enhance Install-ChocolateyShortcut to support WindowStyle, Pin to Taskbar and Run As Administrator checkbox - see #519
  • [Security] Allow hashing files for checksums with FIPS compliant algorithms - see #446
  • After upgrading provide summary of upgraded packages - see #759
  • Web functions - Check for local file and return early - see #781
  • Refresh environment variables after each install - see #439
  • Capture Arguments for a Package during Install/Upgrade - see #358
  • If config update fails, log to debug instead of warn - see #793
  • Remove extra empty lines when doing choco upgrade all - see #796
  • Mention required permissions if user has no access - see #794
  • Pro/Business - Also check for license in User Profile location - see #606
  • Pro/Business - Set download cache information if available - see #562
  • Pro/Business - Allow commands to be added - see #583
  • Pro/Business - Load/Provide hooks for licensed version - see #584
  • Pro/Business - On valid license, add pro/business source automatically - see #604
  • Pro/Business - Add switch to fail on invalid or missing license - see #596
  • Pro/Business - add ignore invalid switches/parameters - see #586
  • Pro/Business - Don't prompt to upload file for virus scanning if it is too large - see #695
  • Pro/Business - add 'support' command - see #745
  • Pro/Business - Adjust environment settings warning to suggest upgrade - see #795
  • API - Add the ability to retrieve package count for a Source - see #431
  • API - Chocolatey Lib still marks vital package information as internal - see #433
  • API - Add paging to list command - see #427
  • API - Choco search should sort by version - see #668
  • API - Switch dll to .NET Client Profile - see #680

0.9.9.12 (March 18, 2016)

BUG FIXES

  • Fix - PowerShell "Collection is read-only" - see #659

0.9.9.11 (October 6, 2015)

BUG FIXES

  • Fix - Pin list is broken - see #452

0.9.9.10 (October 3, 2015)

Not to be confused with 0.9.10 (this is not that version). This fixes a small but extremely significant issue with relation to configuration managers and other tools that use choco.

BUG FIXES

  • Fix - List output for other tools messed up in 0.9.9.9 (pipe separator missing) - see #450
  • Fix - accidentally escaped characters in "new" -help - see #447

0.9.9.9 (October 2, 2015)

With this release you can completely configure choco from the command line (including the priority of sources). Choco now allows you to create custom package templates. Choco has proper proxy support now. We also squashed up some bugs, like the infinite download loop that happens if the connection is lost. We've also improved the installation experience of Chocolatey itself, unpacking all of the required setup files in the chocolatey package and improving the messaging output during the bootstrapping process. Chocolatey also doesn't try to write config updates every command, unless something actually changes in the config file. And last but not least for mentions, the issue of choco not recognizing itself as needing upgraded after being installed by the bootstrapper is now fixed.

FEATURES

  • Config Command - see #417
  • Create Custom Package Templates - see #76
  • Proxy Support - see #243

BUG FIXES

  • Fix - [Security] Remove rollback should validate it exists in choco install backup directory - see #387
  • Fix - Ensure chocolatey is installed into the lib folder during initial install - see #414
  • Fix - Infinite loop downloading files if connection is lost - see #285
  • Fix - list / search results blocking until completion instead of streaming output - see #143
  • Fix - default template install script for MSI silentArgs are bad - see #354
  • Fix - Deleting read-only files fails - see #338 and #263
  • Fix - If the package uses $packageParameters instead of $env:PackageParameters, quotes are removed - see #406
  • Fix - Choco upgrade not downloading new installer if current installer is the same size - see #405
  • Fix - Exit with non-zero code if install/upgrade version and a newer version is installed - see #365
  • Fix - Chocolately can permanently corrupt the config file if an operation is interrupted - see #355
  • Fix - Handle PowerShell's InitializeDefaultDrives Error (that should just be a warning) - see #349
  • Fix - Checksumming can not be turned off by the feature flag - see #33
  • Fix - Process with an id of is not running errors on 0.9.9.8 - see #346
  • Fix - Export cmdlets for automation scripts - see #422

IMPROVEMENTS

  • [Security] Add SHA-2 (sha256 / sha512) to checksum - see #113
  • Sources should have explicit priority order- see #71
  • Unpack the powershell files just before packaging up the nupkg (Installing chocolatey meta) - see #347
  • API - List --localonly not working by default - see #223
  • API - Expose package results - see #132
  • API - Externalize IPackage and its interfaces - see #353
  • Enhance "Access to path is denied" message on no admin rights - see #177
  • Only update chocolatey.config if there are changes - see #364
  • Modify source when attempting to add a source with same name but different URL - see #88
  • Features should contain description - see #416
  • Chocolatey Installer - removing modules not loaded - see #442
  • Chocolatey Installer - Don't use Write-Host - see #444
  • Set environment variables once configuration is complete - see #420
  • Enhance Package Template for 0.9.9.9 - see #366

0.9.9.8 (June 26, 2015)

BUG FIXES

  • Fix - [Security] choco install -y C: deletes all files - see #341
  • Fix - Read-Host halts scripts rather than prompt for input - see #219

IMPROVEMENTS

  • Download Progress Bar is Missing - see #56

0.9.9.7 (June 20, 2015)

"Fix Everything. Fix All The Things" - There have been some things bugging us for a long time related to limitations with NuGet, so we decided to fix that. Like nuspec enhancements, that crazy content folder restriction has been removed (I know, right?!), and we're working around badly behaved packages quite a bit more to bring you more feature parity.

Let's talk about a couple of big, like really big, BIG features just added with this release. No more packages rebooting Windows. We fixed (#304 / #323) and enhanced up the Auto Uninstaller Service quite a bit to ensure things are working like you would expect (It goes on by default in 0.9.10 - we'll start documenting more about it soon). But wait, there's more! I haven't even told you about the big features yet

The first big feature is enhancing the nuspec. I mentioned this I know, but now you can use packageSourceUrl in the nuspec to tell folks where you are storing the source for the package! We also added projectSourceUrl, docsUrl, mailingListUrl, and bugTrackerUrl. What's even better is that the community feed has already been enhanced to look for these values. So have the templates from choco new. And it's backwards compatible, meaning you can still install packages that have these added nuspec enhancements without issue (but we will need to provide a fix for Nuget Package Explorer).

The second is Xml Document Transformations (XDT), which I think many folks are aware of but may not realize what it can provide. NuGet has allowed transformations for quite awhile to allow you to make changes to an app.config/web.config on install/uninstall. We are following in similar footsteps to allow you to do similar when installing/upgrading packages. We will look for *.install.xdt files in the package (doesn't matter where) and they will apply to configuration files with the same name in the package. This means that during upgrades we won't overwrite configuration files during upgrades that have opted into this feature. It allows you to give users a better experience during upgrades because they won't need to keep making the same changes to the xml config files each time they upgrade your package.

FEATURES

  • Allow XDT Configuration Transforms - see #331
  • Prevent reboots - see #316
  • Enhance the nuspec - first wave - see #205
  • Uninstaller Service Enhancements - see #305

BUG FIXES

  • When uninstall fails, do not continue removing files - see #315
  • Do not run autouninstaller if the package result is already a failure - see #323
  • Fix - Auto Uninstaller can fail if chocolateyUninstall.ps1 uninstalls prior to it running - see #304
  • Fix - Packages with content folders cannot have a dependency without also having a content folder - see #290
  • Remove ShimGen director files on upgrade/uninstall - see #326
  • If feature doesn't exist, throw an error - see #317
  • Fix - The operation completed successfully on stderr - see #249
  • Fix - When specific nuget version is needed by a package it is the chocolatey version that is used - see #194
  • When installing with *.nupkg, need to get package name from package, not file name - see #90
  • Fix - Choco pin list is not returning a list - see #302
  • Fix - A pin is not created for existing installations (prior to new choco) - see #60

IMPROVEMENTS

  • Allow upgrade to always install missing packages - see #300
  • Enhance Templates - see #296
  • Always log debug output to the log file - see #319
  • Warn when unable to snapshot locked files - see #313
  • Use %systemroot% in place of %windir%. PATH exceed 2048 breaks choco - see #252
  • Add fault tolerance to registry snapshot checks - see #337

0.9.9.6 (May 16, 2015)

Some really large fixes this release, especially removing all files that are installed to the package directory if they haven't changed, including ensuring that the nupkg file is always removed on successful uninstalls. The really big add some folks are going to like is the new outdated command. Some more variables that were misused have been brought back, which allows some packages (like Atom) to be installed again without issue. If you can believe some people never read these, we decided to add a note to the installer prompt to let people know about -y.

FEATURES

  • Outdated Command - Use choco outdated to see outdated packages - see #170

BUG FIXES

  • Fix - NotSilent Switch Not Working - see #281
  • Fix - Silent installation of choco without admin is not possible - see #274
  • Fix - Package resolves to latest version from any source - see #279
  • Fix - Install fails when shortcut creation fails - see #264
  • Fix - Error deserializing response of type Registry - see #257
  • Fix - Auto uninstaller should not depend on optional InstallLocation value - see #255
  • Fix - Nupkg is left but reported as successfully uninstalled by NuGet - see #254
  • Fix - SHA1 checksum compared as MD5 for Install-ChocolateyZipPackage - see #253
  • Fix - Auto uninstaller strips off "/" and "-" in arguments - see #212

IMPROVEMENTS

  • Uninstall removes all installed files if unchanged - see #121
  • Auto uninstaller should convert /I to /X for Msi Uninstalls - see #271
  • Bring back more variables for feature parity - see #267
  • Mention -y in the prompt - see #265

0.9.9.5 (April 20, 2015)

BREAKING CHANGES

  • Renamed short option p to i for list --include-programs so that p could be ubiquitous for password across commands that optionally can pass a password - see #240

BUG FIXES

  • Fix - Secure Sources Not Working - see #240
  • Fix - Generate-BinFile / Remove-BinFile - see #230
  • Fix - cpack should only include files from nuspec - see #232
  • Fix - cpack should leave nupkg in current directory - see #231
  • Fix - Install-PowerShellCommand uses incorrect path - see #241
  • Fix - choco list source with redirects does not resolve - see #171
  • Fix - choco tried to resolve disabled repo - see #169
  • Fix - cpack nuspec results in "The path is not of a legal form" - see #164
  • Fix - cpack hangs on security related issue - see #160
  • Fix - spelling error in "package has been upgradeed successfully" - see #64

IMPROVEMENTS

  • Api Key and Source matching could be more intuitive - see #228
  • Remove warning about allowGlobalConfirmation being enabled - see #237
  • Include log file path when saying 'See the log for details' - see #187
  • Uninstall prompts for version when there is only one installed - see #186
  • Do not offer a default option when prompting for a user choice - see #185
  • Remove the warning note about skipping, and instead show the warning when selecting skip - see #183
  • Do not print PowerShell install/update scripts by default - see #182

0.9.9.4 (March 30, 2015)

BUG FIXES

  • Fix - The term 'false' is not recognized as the name of a cmdlet - see #215

IMPROVEMENTS

  • Some packages use non-API variables like $installArguments - see #207

0.9.9.3 (March 29, 2015)

BUG FIXES

  • Fix - Install .NET Framework immediately during install - see #168
  • Fix - Do not error on Set-Acl during install/upgrade - see #163
  • Fix - Do not escape curly braces in powershell script - see #208
  • Fix - Formatting issues on --noop command logging - see #202
  • Fix - Uninstaller check doesn't find 32-bit registry keys - see #197
  • Fix - Uninstaller errors on short path to msiexec - see #211

IMPROVEMENTS

  • Some packages use non-API variables like $installArguments - see #207
  • Add Generate-BinFile to Helpers (widely used but never part of API) - see #145
  • Add Remove-BinFile to Helpers - see #195
  • Get-ChocolateyWebFile should create path if it doesn't exist - see #167

0.9.9.2 (March 6, 2015)

BUG FIXES

  • Fix - Allow passing install arguments again (regression in 0.9.9 series) - see #150
  • Fix - Allow apostrophes to be used as quotes - quoting style that worked with previous client - see #141
  • Fix - Shims write errors to stderr - see #142 and ShimGen #14

IMPROVEMENTS

  • Upgrade -r should always return a value - see #153

0.9.9.1 (March 3, 2015)

BUG FIXES

  • Fix - Get-BinRoot broken - see #144

0.9.9 (March 3, 2015)

This also includes issues that were being tracked in the old Chocolatey repository: Chocolatey 0.9.9.

The two links above will not capture everything that has changed, since this is a complete rewrite. We broke everything. If this were a v1+, it would be a major release. But we are less than v1, so 0.9.9 it is! ;)

Okay, so we didn't really break everything. We have maintained nearly full compatibility with how you pass options into choco, although the output may be a bit different (but better, we hope) and in at least one case, additional switches (or a feature setting) is/are required - we limited this to security related changes only.

We also fixed and improved a bunch of things, so we feel the trade off is well worth the changes.

We'll try to capture everything here that you should know about. Please call choco -? or choco.exe -h to get started.

KNOWN ISSUES

  • Known Issues
  • TEMPORARY install all is missing - this is expected to be back in 0.9.10 - see #23
  • Alternative sources (webpi,ruby,python,cygwin, windowsfeature) do not work yet. This is expected to be fixed in 0.9.10 - see #14
  • Progress bar is missing when downloading until we are using internal posh components for Packages - see #56
  • See Feature Parity for items not yet reimplemented from older PowerShell Chocolatey client (v0.9.8.32 and below).

BREAKING CHANGES

  • [Security] Prompt for confirmation: For security reasons, we now stop for confirmation before changing the state of the system on most commands. You can pass -y to confirm any prompts or set a value in the config that will globally confirm - see #52 (NOTE: This is one of those additional switches we were talking about)
  • [Security] If your default installation is still at c:\Chocolatey, this version will force a move to ProgramData and update the environment settings - see #7
  • Configuration Breaking Changes:
    1. You now have one config file to interact with in %ChocolateyInstall%\config - your user config is no longer valid and can be removed once you migrate settings to the config.
    2. The config will no longer be overwritten on upgrade.
    3. Choco no longer interacts with NuGet's config file at all. You will need to reset all of your apiKeys (see features for apikey). On the plus side, the keys will work for all users of the machine, unlike NuGet's apiKeys (only work for the user that sets them).
    4. This also means you can no longer use useNugetForSources. It has been removed as a config setting.
  • Packaging Changes:
    1. Choco now installs packages without version numbers on folders. This means quite a few things...
    2. Upgrading packages doesn't install a new version next to an old version, it actually upgrades.
    3. Dependencies resolve at highest available version, not the minimum version as before - see Chocolatey #415
  • Package Maintenance Changes:
    1. Read the above about apikey changes
    2. Read above about dependency resolution changes.
  • Deprecated/Removed Commands:
    1. installmissing has been removed. It was deprecated awhile ago, so this should not be a surprise.
    2. choco version has been deprecated and will be removed in v1. Use choco upgrade pkgName --noop or choco upgrade pkgName -whatif instead.
    3. Write-ChocolateySuccess, Write-ChocolateyFailure have been deprecated.
    4. update is now upgrade. update has been deprecated and will be removed/replaced in v1. Update will be reincarnated later for a different purpose. Hint: It rhymes with smackage pindexes.

FEATURES

BUG FIXES

Probably a lot of bug fixes that may not make it here, but here are the ones we know about.

IMPROVEMENTS

  • [Security] Allow keeping c:\chocolatey install directory with environment variable - see #17
  • [Security] Require switch on unofficial build - see #36
  • Install script updates - see #7
  • Ensure Chocolatey pkg is installed properly in lib folder - This means you can take a dependency on a minimum version of Chocolatey (we didn't like that before) - see #19
  • Uninstall - allow abort - see #43
  • Support for HTTPS basic authorization - see Chocolatey #128
  • Smooth out success/failure logging - see Chocolatey #154
  • Add $env:CHOCOLATEY_VERSION - see Chocolatey #251
  • Replace ascii cue with visual cues - see Chocolatey #376
  • Uninstall all versions of an app - see Chocolatey #389
  • Add parameters in packages.config files - see Packages.config, Chocolatey #472, and #10
  • Choco pack should support -version - see Chocolatey #526
  • Enhancements to Start-ChocolateyProcessAsAdmin - see Chocolatey #564
  • Install-ChocolateyFileAssociation - add label to new file types - see Chocolatey #564
  • Clean up the verobsity of Chocolatey - see Chocolatey #374
  • Compact choco upgrade --noop option - see Chocolatey #414
  • Remove references to the Chocolatey gods - see Chocolatey #669
  • Shims now have noop (--shimgen-noop) and help (--shimgen-help) switches - see ShimGen #8 and ShimGen #10
  • Shims will terminate underlying process on termination signal - see ShimGen #11
  • Shims now have gui (--shimgen-gui) and exit (--shimgen-exit) switches - see ShimGen #13 and ShimGen #12
  • Dat help menu tho. I mean srsly guise - see Chocolatey #641

0.9.8.33 (Feb 11, 2015)

FEATURES:

  • Dynamically export helpers (this fixes helpers that were not visible before) - #628

IMPROVEMENTS:

  • Accept -y as a parameter, Add warning about -y for 0.9.9.
  • Company name misspelled in shims - #673 and shimgen #9

0.9.8.32 (January 22, 2015)

BUG FIXES:

  • Fix - Chocolatey-Install should return non-zero exit code if chocolateyInstall.ps1 fails - #568 & #658

0.9.8.31 (January 7, 2015)

BUG FIXES:

  • Fix - Shim doesn't always shift off the first argument - #655 & ShimGen #7
  • Fix - If executable isn't available, fallback to default icon - #579

0.9.8.30 (January 6, 2015)

FEATURES:

BUG FIXES:

  • Fix - Shims don't correctly handle spaces in path to shim - #654 & ShimGen #5

0.9.8.29 (January 2, 2015)

FEATURES:

  • Use icon of the executable with generated shim - #579 & ShimGen #2
  • Allow setting custom temp download location - #307

IMPROVEMENTS:

  • Don't assume $env:TEMP or $env:UserProfile are set - #647
  • Remove Kickstarter message.

0.9.8.28 (November 4, 2014)

BREAKING CHANGES:

  • You may need to update your saved API key for chocolatey, due to #599 we have switched push to ensure https.

BUG FIXES:

  • Fix - Shim argument parsing needs fixed for quoting - ShimGen #1
  • Fix - Forcing x86 does not use 32bit checksum - #535
  • Fix - Powershell v2 fails to download SSLv3 files - #531
  • Fix - Get-ChocolateyUnzip fails due to Wait-Process exception - #571

IMPROVEMENTS:

  • Use default credentials for internet if available - #577
  • Add moderation message on push - #600
  • Restrict all calls to chocolatey.org to HTTPS - #599
  • Batch fallback should quote path for spaces - #558

0.9.8.27 (July 13, 2014)

BUG FIXES:

  • Fix - Posh v3+ Ignores -Wait when run from cmd.exe - #516

0.9.8.26 (July 12, 2014)

BUG FIXES:

  • Fix - Allow spaces in arguments to chocolatey again - Regenerate chocolatey included shims to take advantage of shimgen fixes - #507
  • Fix - Default path has changed, causing running without closing shell to have issues again - #510
  • Fix - Working directory of shimgen generated files points to path target executable is in (GUI apps only) - #508
  • Fix - cpack/cpush returns zero exit code even when error occurs - #256 & #384
  • Fix - Install error throws another error due to true instead of $true - #514
  • Fix - Posh v3+ Ignores -Wait when run from cmd.exe - #516

IMPROVEMENTS:

  • Allow to pass shimgen specific parameters - #509
  • Issue warning if user is not running an elevated shell - #519

0.9.8.25 (July 7, 2014)

BUG FIXES:

  • Fix - Shims that require admin may fail on UAC enforced machines (System.ComponentModel.Win32Exception: The requested operation requires elevation) - #505
  • Fix - Do not check content-length if there isn't a content-length returned from Get-WebHeaders - #504

0.9.8.24 (July 3, 2014)

BREAKING CHANGES:

  • Enhancement - Default install to C:\ProgramData\chocolatey - #452 & #494
  • Don't allow $binroot to be set to c:\ - #434 - this is meant to be temporary while other pieces are fixed.

FEATURES:

  • Checksum downloaded files - #427
  • Replace Batch Redirector with Shims - #372
  • New Helper - Get-UACEnabled - #451
  • Enhancement - Install to Machine environment variable - #453
  • Enhancement - Install the .NET framework 4.0 requirement - #255
  • Update environment using command (RefreshEnv) - #134
  • -quiet parameter that silences almost all output / allow shutting off real write-host - #416 & #411
  • New Helpers - Test-ProcessAdminRights, Get-EnvironmentVariableNames, Get-EnvironmentVariable, Set-EnvironmentVariable - #486

BUG FIXES:

  • Fix - Cannot bind argument to parameter 'Path' because it is an empty string - #371
  • Fix - clist -source webpi doesn't prompt for admin access - #293
  • Fix - Get-ChocolateyUnzip silently fails due to incorrect usage of System32 (File System Redirector Issues) - #476 & #455
  • Fix - 7za.exe is subject to UAC file virtualization - #454
  • Fix - "You cannot call a method on a null-valued expression" introduced somewhere. - #430
  • Fix - Get-BinRoot defaulted to "C:\" instead of "C:\tools" - #421
  • Fix - Get-ProcessorBits doesn't return the bitness of the OperatingSystem - #396
  • Fix - Fix Invoke for Install All from a Feed (DEPRECATED by #446 - in improvements below) - #381
  • Fix - Upgrade to 0.9.8.24 produces cannot find Update-SessionEnvironment when using cmd.exe - #459
  • Fix - Package depending on newer chocolatey version is installed using existing version of chocolatey - #460
  • Fix - Bash improvements - #383
  • Fix - Resolve issue with DISM "missing" or with the 32-bit DISM being called on a 64-bit system - #393
  • Fix - Do NOT throw if missing a chocolateyuninstall.ps1 - #499

IMPROVEMENTS:

  • Do not download if file already cached - #428 & #109
  • If *.ignore file failes to create, do not fail the process - #380
  • Validate downloaded file is the right size - #429
  • Add perf to Chocolatey-List & allow to return as object - #426
  • Chocolatey-List LocalOnly performance improvements - #425
  • Chocolatey-Version Improvements - #445
  • Remove Invoke-Chocolatey Function to improve handling - #446
  • Don't create a window during Run-Nuget.ps1 - #450
  • Generate _env.cmd file instead of bat file for consistency - #469
  • Remove-BinFile removes shim.exes when installing a package - #449
  • Remove annoying "Reading environment variables from registry. Please wait..." - #440
  • Replace ascii cue to visual cue for "installing package" - #376
  • Clean up the verbosity of chocolatey - #374
  • Improve chocolatey setup as administrator - #486
  • Simplify Chocolatey-Update - #493
  • Update to Nuget.exe 2.8.2 - #379

0.9.8.23 (November 11, 2013)

BUG FIXES:

  • Fix - Chocolatey 0.9.8.22 incorrectly reports version as alpha1 #368
  • Fix - Some chocolatey commands with no arguments error #369

0.9.8.22 (November 10, 2013)

BREAKING CHANGES:

  • To use spaces and quotes, one should now use single quotation marks. It works best in both powershell and cmd.

FEATURES:

  • Enhancement - Add switch to force x86 when packages have both versions - #365
  • Enhancement - Allow passing parameters to packages - #159

BUG FIXES:

  • Fix - Chocolatey 0.9.8.21 errors when using spaces or quotes with chocolatey or with batch redirect files. - #367

0.9.8.21 (November 7, 2013)

BREAKING CHANGES:

  • Enhancement - For local package searching, use choco list -lo or choco search -lo. The execution speed is greatly increased. cver for local has been deprecated. - #276
  • Breaking - Chocolatey default source no longer includes Nuget official feed. This will help improve response time and greatly increase relevant results. - #349

FEATURES:

  • Enhancement - Support for Server Core - #59
  • Enhancement - Add a switch for ignoring dependencies on install -ignoredependencies - #131
  • Command - choco is now a default term
  • Command - search is now a command (aliases list) - choco search something [-localonly]
  • Function - Get-ProcessorBits - tells you whether a processor is x86 or x64. This functionality was in chocolatey already but has been globalized for easy access. - #231 & #229
  • Function - Get-BinRoot - Gives package maintainers the ability to call one command that gets them the tools/bin root. This gives you the location where folks want certain packages installed. - #359

IMPROVEMENTS:

  • Enhancement - Install multiple packages by specifying them all on the same line - #191
  • Enhancement - Install .NET Framework 4.0 requirement if not already installed - #255
  • Enhancement - Refresh command line PATH after installs - partial to #134 - Previously we were just doing it in chocolatey with #158
  • Enhancement - Allow chocolatey to install when zip shell extensions are disabled - #297
  • Enhancement - Support for bash and similar shells - #347 & #258
  • Enhancement - Allow file uri to be used when downloading files - #322
  • Enhancement - Chocolatey version all versions returned for specific local package. - #260
  • Enhancement - Exit codes return appropriately - #210
  • Enhancement - Better logging support - #208
  • Enhancement - Pass through exit codes from binned batch files - https://github.com/chocolatey/chocolatey/issues/360
  • Enhancement - Support MSU file type - https://github.com/chocolatey/chocolatey/pull/348

BUG FIXES:

  • Fix - Treat installation failures appropriately - #10
  • Fix - Using newer versions of nuget breaks chocolatey - #303
  • Fix - Chocolatey incorrectly reports 64 bit urls when downloading anything - #331
  • Fix - Executing cuninst without parameters shouldn't do anything - #267 & #265
  • Fix - VSIX installer helper is finding the wrong Visual Studio version - #262
  • Fix - Renaming logs appending .old results in error - #225
  • Fix - Minor typo in uninstall script "uninINstalling" - #247
  • Fix - Bug in Get-ChocolateyUnzip throws issues sometimes #244 & #242
  • Fix - Minor typo "succesfully" - #241

0.9.8.20 (December 11, 2012)

FEATURES:

  • Command - Windows Feature feed - #150
  • Function - Add function to install environment variables - #149
  • Function - Function to associate file extensions with installed executables - #146
  • Function - Helper function to create explorer context menu items - #144
  • Function - Helper function for pinning items to task bar - #143 & #141
  • Command - Sources command - #138
  • Command - Provide a way to list all the installed packages - #125

IMPROVEMENTS:

  • Enhancement - Added FTP support for the chocolatey file downloader. - #137
  • Enhancement - Block installer exe from being "bin"-ed - #174
  • Enhancement - Making the unzip process silent - #180
  • Enhancement - Makes install args more explicit - #179
  • Enhancement - Update Write-Progress every 5000 iterations instead of every iteration - #177
  • Enhancement - Codeplex Support - #176
  • Enhancement - Fix downloads greater than 2GB - #173
  • Enhancement - Add -verbose switch for clist support to see package description - #166
  • Enhancement - Refresh env vars after Install - #158 & #153
  • Enhancement - Add EditorConfig file denoting coding style. - #123
  • Enhancement - Chocolatey-Version Remote Check - #119
  • Enhancement - Write every unzip path/file to a text file - #114

BUG FIXES:

  • Fix - "Execution of NuGet not detected" error. - #151
  • Fix - chocolatey.bat can't find chocolatey.cmd - #152
  • Fix - chocolatey version all prints only the last package's information - #183
  • Fix - Issue with $processor.addresswidth var - #121

0.9.8.19 (July 2, 2012)

FEATURES:

  • Enhancement - Allow community extensions - #115

BUG FIXES:

  • Fix - PowerShell v3 doesn't like foreach loop (prefers ForEach-Object) - #116
  • Fix - Cannot install Python packages on Windows 8 - #117

0.9.8.18 (June 16, 2012)

BUG FIXES:

  • Fix - 0.9.8.17 installer doesn't create chocolatey folder if it doesn't exist - #112

0.9.8.17 (June 15, 2012)

FEATURES:

  • Enhancement - Support for naive uninstall - #96

IMPROVEMENTS:

  • Enhancement - Sources specified through config (or nuget.config) - #101
  • Enhancement - Chocolatey should support multiple sources - #82
  • Enhancement - Use Cygwin as a package source - #93
  • Enhancement - Use Python as a package source (uses easy_install) - #100
  • Enhancement - Use Default Credentials before Get-Credentials when using proxy on web call - #83
  • Enhancement - Reduce the verbosity of running chocolatey - #84
  • Enhancement - Support opening links to "GUI" type applications in a different way than the console apps - #76
  • Enhancement - Do not create batch redirects for certain executables in package folder - #106
  • Enhancement - Add a -debug switch - #85
  • Enhancement - Improve pipelining of cver by returning an object - #94

BUG FIXES:

  • Fix - Packages.config source now uses chocolatey/nuget sources by default instead of empty - #79
  • Fix - Executable batch links not created for "prerelease" versions - #88
  • Fix - Issue where latest version is not returned - #92
  • Fix - Prerelease versions now broken out as separate versions - #90
  • Fix - During install PowerShell session gets bad $env:ChocolateyInstall variable - #80
  • Fix - Build path with spaces now works - #102

0.9.8.16 (February 27, 2012)

BUG FIXES:

  • Small fix to installer for upgrade issues from 0.9.8.15

0.9.8.15 (February 27, 2012)

BREAKING CHANGES:

  • Enhancement - Chocolatey's default folder is now C:\Chocolatey (and no longer C:\NuGet) - #58
  • Enhancement - Use -force to reinstall existing packages - #45

FEATURES:

  • Enhancement - Install now supports all with a custom package source to install every package from a source! - #46

IMPROVEMENTS:

  • Enhancement - Support Prerelease flag for Install - #71
  • Enhancement - Support Prerelease flag for Update/Version - #72
  • Enhancement - Support Prerelease flag in List - #74

BUG FIXES:

  • Fix - Parsing the wrong version when trying to update - #73

0.9.8.14 (February 6, 2012)

IMPROVEMENTS:

  • Enhancement - Pass ValidExitCodes to Install Helpers - #54
  • Enhancement - Add 64-bit url to Install-ChocolateyZipPackage - #48
  • Enhancement - Add 64-bit url to Install-ChocolateyPowershellCommand - #57
  • Enhancement - Make the main helpers work with files not coming over HTTP - #51
  • Enhancement - Upgrade NuGet.exe to 1.6.0 to take advantage of prerelease packaging - #64

BUG FIXES:

  • Fix - The packages.config feature has broken naming packages with '.config' - #56
  • Fix - CList includes all versions without adding the switch - #60
  • Fix - When NuGet.exe failes to run due to .NET Framework 4.0 not installed, chocolatey should report that. - #65

0.9.8.13 (January 8, 2012)

FEATURES:

  • New Command! Enhancement - Integration with Ruby Gems (cgem packageName or cinst packageName -source ruby) - #29
  • New Command! Enhancement - Integration with Web PI (cwebpi packageName or cinst packageName -source webpi) - #28
  • Enhancement - Call chocolatey install with packages.config file (thanks AnthonyMastrean!) - #31 and #43 and #50
  • New Command! Enhancement - Chocolatey Push (chocolatey push packageName.nupkg or cpush packageName.nupkg) - #36
  • New Command! Enhancement - Chocolatey Pack (chocolatey pack [packageName.nuspec] or cpack [packageName.nuspec]) - #35

IMPROVEMENTS:

  • Enhancement - @datachomp feature - Override Installer Arguments chocolatey install packageName -installArgs "args to override" -override or cinst packageName -ia "args to override" -o) - #40
  • Enhancement - @datachomp feature - Append Installer Arguments (chocolatey install packageName -installArgs "args to append" or cinst packageName -ia "args to append") - #39
  • Enhancement - Run installer in not silent mode (chocolatey install packageName -notSilent or cinst packageName -notSilent) - #42
  • Enhancement - List available Web PI packages (clist -source webpi) - #37
  • Enhancement - List command should allow the All or AllVersions switch - #38
  • Enhancement - Any install will create the ChocolateyInstall environment variable so that installers can take advantage of it - #30

BUG FIXES:

  • Fixing an issue on proxy display message (Thanks jasonmueller!) - #44
  • Fixing the source path to allow for spaces (where chocolatey is installed) - #33
  • Fixing the culture to InvariantCulture to eliminate the turkish "I" issue - #22

0.9.8.12 (November 20, 2011)

IMPROVEMENTS:

  • Enhancement - Reducing the number of window pop ups - #25

BUG FIXES:

  • Fixed an issue with write-host and write-error overrides that happens in the next version of powershell - #24
  • Fixing an issue that happens when powershell is not on the path - #23
  • Fixing the replacement of capital ".EXE" in addition to lowercase ".exe" when creating batch redirects - #26

0.9.8.11 (October 4, 2011)

BUG FIXES:

  • Fixing an update issue if the package only exists on chocolatey.org - #16
  • Fixing an issue with install missing if the package never existed - #13

0.9.8.10 (September 17, 2011)

FEATURES:

  • New Helper! Install-ChocolateyPowershellCommand - install a powershell script as a command - #11

0.9.8.9 (September 10, 2011)

BUG FIXES:

  • Reinstalls an existing package if -version is passed (first surfaced in 0.9.8.7 w/NuGet 1.5) - #9

0.9.8.8 (September 10, 2011)

BUG FIXES:

  • Fixing version comparison - #4
  • Fixed package selector to not select like named packages (i.e. ruby.devkit when getting information about ruby) - #3

0.9.8.7 (September 2, 2011)

IMPROVEMENTS:

  • Added proxy support based on #1
  • Updated to work with NuGet 1.5 - #2

0.9.8.6 (July 27, 2011)

BUG FIXES:

  • Fixed a bug introduced in 0.9.8.5 - Start-ChocolateyProcessAsAdmin erroring out when setting machine path as a result of trying to log the message.

0.9.8.5 (July 27, 2011)

IMPROVEMENTS:

  • Improving Run-ChocolateyProcessAsAdmin to allow for running entire functions as administrator by importing helpers to that command if using PowerShell.
  • Updating some of the notes.

BUG FIXES:

  • Fixed bug in installer when User Environment Path is null.

0.9.8.4 (July 27, 2011)

BUG FIXES:

  • Fixed a small issue with the Install-ChocolateyDesktopLink

0.9.8.3 (July 7, 2011)

BREAKING CHANGES:

  • Chocolatey no longer runs the entire powershell script as an administrator. With the addition of the Start-ChocolateyProcessAsAdmin, this is how you will get to administrative tasks outside of the helpers.

FEATURES:

  • New chocolatey command! InstallMissing allows you to install a package only if it is not already installed. Shortcut is 'cinstm'.
  • New Helper! Install-ChocolateyPath - give it a path for out of band items that are not imported to path with chocolatey
  • New Helper! Start-ChocolateyProcessAsAdmin - this allows you to run processes as administrator
  • New Helper! Install-ChocolateyDesktopLink - put shortcuts on the desktop

IMPROVEMENTS:

  • NuGet updated to v1.4
  • Much of the error handling is improved. There are two new Helpers to call (ChocolateySuccess and Write-ChocolateyFailure).
  • Chocolatey no longer needs administrative rights to install itself.

0.9.8.2 (May 21, 2011)

FEATURES:

  • You now have the option of a custom installation folder. Thanks Jason Jarrett!

0.9.8.1 (May 18, 2011)

BUG FIXES:

  • General fix to bad character in file. Fixed selection for update as well.

0.9.8 (May 4, 2011)

BREAKING CHANGES:

  • A dependency will not reinstall once it has been installed. To have it reinstall, you can install it directly (or delete it from the repository and run the core package).

IMPROVEMENTS:

  • Shortcuts have been added: 'cup' for 'chocolatey update', 'cver' for 'chocolatey version', and 'clist' for 'chocolatey list'.
  • Update only runs if newer version detected.
  • Calling update with no arguments will update chocolatey.
  • Calling update with all will update your entire chocolatey repository.

0.9.7.3 (April 30, 2011)

BUG FIXES:

  • Fixing Install-ChocolateyZipPackage so that it works again.

0.9.7.2 (April 29, 2011)

BUG FIXES:

  • Fixing an underlying issue with not having silent arguments for exe files.

0.9.7.1 (April 29, 2011)

BUG FIXES:

  • Fixing an introduced bug where the downloader didn't get the file name passed to it.

0.9.7 (April 29, 2011)

FEATURES:

  • New helper added Install-ChocolateyInstallPackage - this was previously part of the download & install and has been broken out.
  • New chocolatey command! Version allows you to see if a package you have installed is the most up to date. Leave out package and it will check for chocolatey itself.

IMPROVEMENTS:

  • The powershell module is automatically loaded, so packages no longer need to import the module. This means one line chocolateyInstall.ps1 files!
  • Error handling is improved.
  • Silent installer override for msi has been removed to allow for additional arguments that need to be passed.

0.9.6.4 (April 26, 2011)

IMPROVEMENTS:

  • Remove powershell execution timeout.

0.9.6.3 (April 25, 2011)

FEATURES:

  • New Helper added Install-ChocolateyZipPackage - this wraps the two upper commands into one smaller command and addresses the file name bug.

0.9.6.2 (April 25, 2011)

BUG FIXES:

  • Addressed a small bug in getting back the file name from the helper.

0.9.6.1 (April 23, 2011)

IMPROVEMENTS:

  • Adding in ability to find a dependency when the version doesn't exist.

0.9.6 (April 23, 2011)

IMPROVEMENTS:

  • Can execute powershell and chocolatey without having to change execution rights to powershell system wide.

FEATURES:

  • New Helper added - Get-ChocolateyWebFile - downloads a file from a url and gives you back the location of the file once complete.
  • New Helper added - Get-ChocolateyZipContents - unzips a file to a directory of your choosing.

0.9.5 (April 21, 2011)

FEATURES:

  • Helper for native installer added (Install-ChocolateyPackage). Reduces the amount of powershell necessary to download and install a native package to two lines from over 25.

IMPROVEMENTS:

  • Helper outputs progress during download.
  • Dependency runner is complete.

0.9.4 (April 10, 2011)

IMPROVEMENTS:

  • List command has a filter.
  • Package license acceptance terms notated.

0.9.3 (April 4, 2011)

IMPROVEMENTS:

  • You can now pass -source and -version to install command.

0.9.2 (April 4, 2011)

FEATURES:

  • List command added.

0.9.1 (March 30, 2011)

IMPROVEMENTS:

  • Shortcut for 'chocolatey install' - 'cinst' now available.