Skip to content

Conversation

@AdmiringWorm
Copy link
Member

This is the finalization of the CLI 2.6.0 release.

This includes the milestone 2.6.0.

gep13 and others added 30 commits July 9, 2025 13:28
(maint) Finish the 2.5.0 release by merging master to develop
To allow better testing when using Hyper-V with Vagrant, this commit
updates the vagrantfile. Some notable updates:

- Standardize the memory used to be 16GB which matches the systems we
  use for testing with Test Kitchen. Also updates to 4 CPU cores for the
  same reason.
- Specify hyperv then virtualbox so that Vagrant by default will give
  preference to Hyper-V if it's available. This can be overridden by
  calling with `--provider=virtualbox` or setting
  `$env:VAGRANT_DEFAULT_PROVIDER`
  (https://developer.hashicorp.com/vagrant/docs/providers/default).
- Configure Hyper-V to use dynamic memory. This allows that although we
  ask for 16 GB of memory, Hyper-V will assign the memory that the VM
  actually requests/requires, allowing you to run more VMs with less
  memory. This provides a comment in the code of how to swap to static
  memory if you experience issues.
- Specify the "Default Switch" for Hyper-V so that if you have multiple
  switches defines (like if you have WSL running), it won't prompt you
  to pick a switch. We do provide the ability to specify the switch as
  an environment variable if you have need for a different switch.
- Configure the synced folder to allow passing in username/password for
  Hyper-V shared folders.
- Finally, update the calls to robocopy to: do not copy the attributes
  of directories, exclude the `.vagrant` file as Hyper-V stores the
  differencing vhdx files there, use 12 threads for the copy, and log to
  a file to improve the copy speed.
Some of the new tab completions utilize choco.exe to determine what is
available for completion. These tests can only work in a scenario where
Chocolatey CLI is built using the official keys. As such, the tests for
this completion have been updated to be within a Context block that is
tagged `Internal` so that they are excluded when run locally.
Prefer Hyper-V for the vagrant local testing
This contains updates to the CREDITS files with the
new global format. The CREDIT.md file has been
updated and all of the other info in it has been
moved to the THANKS.md file. There is also a new
CREDITS.json file that contains information about
all the dependencies, as well as a PDF version for
easy reading.
This contains updates to the CREDITS files for
2.1.0.
This contains updates to the CREDITS files for
2.4.0.
This contains updates to the CREDITS files for
2.4.3.
This contains updates to the CREDITS files for
2.5.0.
This adds CREDITS.json and CREDITS.pdf files to the CODEOWNERS
file, so that if any changes are made to these files, it will also
require a CODEOWNER review.
This adds the CREDITS.json and CREDITS.pdf files into the final
package.
This file has been created to retain some of the
info in the original CREDITS.md file. It contains
information that is not included in the new
CREDITS.md format.
This fixes an error that was found in the Credits Generator when finding
the correct license link. Now the Credits Generator is pulling the sha
for the exact tag, instead of a possible alpha or beta release.
This fixes an error that was found in the Credits Generator when finding
the correct license link. Now the Credits Generator is pulling the sha
for the exact tag, instead of a possible alpha or beta release.
This fixes an error that was found in the Credits Generator when finding
the correct license link. Now the Credits Generator is pulling the sha
for the exact tag, instead of a possible alpha or beta release.
This fixes an error that was found in the Credits Generator when finding
the correct license link. Now the Credits Generator is pulling the sha
for the exact tag, instead of a possible alpha or beta release.
This fixes an error that was found in the Credits Generator when finding
the correct license link. Now the Credits Generator is pulling the sha
for the exact tag, instead of a possible alpha or beta release.
(#3672) Ensure links are correct in CREDITS files
For some dependencies, they do not contain a tag or a version in the
repository. Instead of linking to the license of master or main, we now
link to the permalink to better track history over time. We do not want
this going to master or main incase a license type changes in the future
and the dependency becomes inaccurate. An "info" entry has been added
as well, to explain this change further.
(#3672) Add "info" to default license links
As part of the CLI 2.5.0 release, we made use of the GitReleaseManager
template that includes information about contributors to the release.
You can see the output here:

https://github.com/chocolatey/choco/releases/tag/2.5.0

We as a team are very happy with this output, however, the output that
you see there is not what was generated by GitReleaseManager, it needed
a couple of tweaks.

This commit makes changes to the contributor template so that the
manual tweaks will not be required going forward.

These tweaks were:

- Move the information about the issue number and who solved the
problem in a PR, to it's own line.  The single line approach was
getting very "busy" and it was decided that a new line made a lot of
sense
- The title for "Contributors" was updated to use `###` rather than
surrounding with '__'.  This was just so that things were consistent in
the generated file.
- The if statement for including the milestone was corrected to only do
the inclusion is the milestone description actually has some content.
This change prevented the large gap that was left at the start of the
file
- General spacing around each issue section was updated to remove empty
lines
- After breaking the content onto two lines, "see" was changed to "See"
since it was a start of a new line.  Also a "." was added to the end of
the first line
- Remove usage of the __ on the issues description. This doesn't really
have much impact on the output, and doesn't add anything, so let's
simply not use it.
- Finally, an extra "," was introduced to space out the different
sections of the section line, making it easier to read.
(maint) Update GitReleaseManager template
(maint) synced file(s) with chocolatey/.github
There are a number of additional Chocolatey CLI command line options
that are only intended to work when Chocolatey Community Repository is
being used.  Previously, these options were not tested, as the
infrastructure to exercise these didn't exist.  That is no longer the
case, and it is now possible to test the following command line options:

- --download-cache
- --not-broken
- --approved-only
- --id-starts-with
- --by-id-only
- --by-tags-only
- --order-by-popularity
- --order=""

and to make assertions on the results, based on a known collection of
packages existing in the repository.

The Tag that is applied to each of these tests to allow exectuion of
these tests only at certain times, and not as part of the default
execution of these tests.
Apply the suggestions from code review and pairing.
(tests) Add Pester tests to cover searching CCR
This commit adjusts some whitespace in the tests.
This commit takes some steps to improve overall test reliability.
Mainly:

- Do not copy the entire `lib` directory when creating a new
ChocolateyTestInstall. This allows us to then bring over only the
Chocolatey packages that we want for use in tests. It was discovered
that in some scenarios the packages were many tens of thousands of
files (thanks node_modules), and while it didn't produce errors, when
test failures happened there was a lot of output for things unrelated
to the tests.
- Clear the Chocolatey HTTP cache when a new snapshot is generated so
the new set of tests don't operate on old HTTP data. Again, this didn't
produce errors, but when tests failed they sometimes would mention
using the cache making troubleshooting more difficult as you try to
identify if it's the cache or the test.
- Remove times where we were setting $Output.Lines to $Output.Lines.
- Add an AfterAll to Remove the Chocolatey Install Snapshot where the
configuration is adjusted. This didn't result in test failures, but the
output would mention these changes that were unrelated to the test in
question and could lead to unnecessary investigations.
- Remove the `cory` tag from `choco-removed.Tests.ps1`... This tag was
used for testing, and was unintentionally left in.
-
choco-sync and others added 19 commits November 3, 2025 13:47
There are some labels that are specific to the chocolatey/choco
repository, and they needed to be treated in a separate file.
(maint) synced file(s) with chocolatey/.github
These can only be a maximum of 100, and as a result, the longer
versions are preventing the label sync workflow from running.
To get an exact idea of what "would" happen. If all of this checks out
we can enable this to actually perform the updated.
The workflow has been tested on my fork, and the updating of the
labels is now working as expected.  Time to run this for reals!
Refactor handling of pinned packages by extracting a single helper
GetPinnedMessage and using it upgrade, outdated, and
other flows. Adjust logging and result message order so that:
- a consolidated message is built once and augmented depending on
  IgnorePinned setting.
- Warn and Inconclusive ResultMessages are added consistently.
- RegularOutput logging is preserved.
- Control flow continues only when pinned packages are skipped.
- Allows overridden services to provide their own pinned message.

This reduces duplicated string formatting, clarifies when pinned
packages are skipped vs upgraded.
Remove the redundant 'new' modifier from the Reset method in
ChocolateyLicenseCommandSpecs.cs. The method does not hide any base
member, so the 'new' keyword was unnecessary and could confuse readers
or suggest unintended behavior. Simplifying the declaration improves
code clarity and eliminates a potential compiler warning.
This updates the choco support test to expect the updated output from
the choco support command.
(tests) Update support test with expected output
To prevent the workflow from running when a PR is created.
We are consolidating labels that are in use across our repositories, so
this commit brings the GRM configuration up to date.  Namely, we are
using Enhancement now, where we might have used Improvement or Feature
before.  Also, removed C4B Feature as this has never been used. Finally,
update the Internal Refactoring label to use the new `Area - Refactor`
label.
Add comprehensive completion entries for the `choco download` command
to TabExpansion and update tests to assert those completions when the
licensed/pro features are available.

- Extend commandOptions.download with many download-related flags:
  allow-empty-checksums, allow-empty-checksums-secure,
  ignore-checksum, ignore-dependencies-from-source, require-checksums, 
  and other existing download switches. This ensures the tab completion
  engine exposes all pro and non-pro download options.
- Add a Pester test case (Should list completions for downolad (Licensed))
  that verifies the completion list includes the newly added download
  switches. The test is skipped when the license flag ($isLicensed) is
  not set, preserving existing test behavior.

This change fixes missing completions for `choco download`, improving the
shell UX for licensed users and keeping tests aligned with available
pro flags.
(#3817) Append download tab completion options
Update lines in the embedded SIG signature block that were altered
during additions of more tab expansions. Adjust the base64-like
lines so the block matches the new signature content and maintain file
integrity.

These changes prevent mismatched or stale signature data from causing
confusion when verifying the file and ensure the script contains a
consistent, up-to-date signature block.
…lock

(maint) Fix signature block lines in ChocolateyTabExpansion.ps1
@AdmiringWorm AdmiringWorm added this to the 2.6.0 milestone Nov 21, 2025
@AdmiringWorm AdmiringWorm requested a review from gep13 November 21, 2025 16:31
@AdmiringWorm AdmiringWorm self-assigned this Nov 21, 2025
@AdmiringWorm AdmiringWorm requested a review from a team as a code owner November 21, 2025 16:32
@AdmiringWorm AdmiringWorm added the NO RELEASE NOTES Should not be included in the release notes - not enhancing or fixing end product. label Nov 21, 2025
Copy link
Member

@gep13 gep13 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

From the point of view of the change to the Credits files, this LGTM. I am assuming the rest of the changes are just as a result of already reviewed PR work, so this looks fine to me to continue.

@AdmiringWorm
Copy link
Member Author

@gep13 the new files that hasn't been reviewed, are the last two commits.

For the credits.* files, and the PowerShell help document. BUt yet, the rest of them has been reviewed.

@AdmiringWorm AdmiringWorm merged commit 4321c87 into master Nov 21, 2025
9 checks passed
@AdmiringWorm AdmiringWorm deleted the release/2.6.0 branch November 21, 2025 16:45
@AdmiringWorm AdmiringWorm added the 5 - Released The issue has been resolved, and released to the public for consumption. label Dec 1, 2025
@choco-bot
Copy link

🎉 This issue has been resolved in version 2.6.0 🎉

The release is available on:

Your GitReleaseManager bot 📦 🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

5 - Released The issue has been resolved, and released to the public for consumption. NO RELEASE NOTES Should not be included in the release notes - not enhancing or fixing end product.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants