Releases: ScoopInstaller/Scoop
Version 0.5.2
Changelog
A bug fix version
Bug Fixes
- scoop-alias: Fix 'Option --verbose not recognized.' (#6062)
- scoop-hold: Use 'foreach' loop to allow 'continue' statement (#6078)
- core: Use 'Join-Path' to construct cache file path (#6079)
- json: Don't serialize jsonpath return if only one result (#6066, #6073)
Builds
- supporting: Update Json.Schema to 4.0.1 (#6072)
Close Issues
Credits
Thanks to the following contributors (ordered by PR merging time):
Version 0.5.1
Changelog
Bug Fixes
- scoop-alias: Pass options correctly (#6003)
- scoop-virustotal: Adjust
json_path
parameters to retrieve correct analysis stats (#6044) - bucket: Implement error handling for failed bucket addition (#6051)
- database: Fix compatibility with Windows PowerShell (#6045)
- install: Expand
env_set
items before setting Environment Variables (#6050) - install: Fix parsing error when installing multiple apps w/ specific version (#6039)
Close Issues
- Closes #6041
- Closes #6043
- Closes ScoopInstaller/Extras#13600
- Closes #6048
- Closes #6038
- Closes #6042
- Closes #5767
Credits
Thanks to the following contributors (ordered by PR merging time):
@niheaven @qwertyhjklxyz @Lutra-Fs @lewis-yeung
Version 0.5.0
✨ Highlights
- Scoop has implemented SQLite for caching app information, which accelerates local searches and the installation of older app versions. Enable this feature by using the command
scoop config use_sqlite_cache true
. - The cache names for Scoop apps are derived from the first 7 bytes of the SHA256 hash of the download URL, which helps to shorten the file names.
Changelog
Features
- scoop-search: Use SQLite for caching apps to speed up local search (#5851, #5918, #5946, #5949, #5955, #5966, #5967, #5981)
- core: New cache filename format (#5929, #5944)
- decompress: Use innounp-unicode as default Inno Setup Unpacker (#6028)
- install: Added the ability to install specific version of app from URL/file link (#5988)
Bug Fixes
- scoop-download|install|update: Use consistent options (#5956)
- scoop-info: Fix download size estimating (#5958)
- scoop-search: Catch error of parsing invalid manifest (#5930)
- checkver: Correct variable 'regex' to 'regexp' (#5993)
- checkver: Correct error messages (#6024)
- core: Search for Git executable instead of any cmdlet (#5998)
- core: Use correct path in 'bash' (#6006)
- core: Limit the number of commands to get when search for git executable (#6013)
- decompress: Match
extract_dir
/extract_to
and archives (#5983) - json: Serialize jsonpath return (#5921)
- shim: Restore original path for JAR cmd (#6030)
Code Refactoring
- decompress: Use 7zip to extract Zstd archive (#5973)
- install: Separate archive extraction from downloader (#5951)
- install: Replace 'run_(un)installer()' with 'Invoke-Installer()' (#5968, #5971)
Close Issues
- Closes #5920
- Closes #4327
- Closes #5948
- Closes #2381
- Closes #5965
- Closes #5963
- Closes #5977
- Closes #5952
- Closes ScoopInstaller/Extras#13385
- Closes ScoopInstaller/Extras#13342
- Closes #6012
- Related #6026
- Closes ScoopInstaller/Main#5920 and related issues
Credits
Thanks to the following contributors (ordered by PR merging time):
@niheaven @chawyehsu @lewis-yeung @MatejKafka @qwertyhjklxyz
Version 0.4.2
Changelog
Bug Fixes
- autoupdate: Copy
PSCustomObject
-type properties withinsubstitute()
to prevent reference changes (#5934, #5962) - core: Fix "Invoke-ExternalCommand" quoting rules (#5945)
- system: Fix argument passing to
Split-PathLikeEnvVar()
in deprecatedstrip_path()
(#5937)
Close Issues
- Closes #4612
- Closes #5933
- Closes #5936
- Closes ScoopInstaller/Extras#13160
- Closes ScoopInstaller/Extras#13174
- Closes ScoopInstaller/Extras#13221
- Closes ScoopInstaller/Extras#13227
- Closes ScoopInstaller/Extras#13255
Credits
Thanks to the following contributors (ordered by PR merging time):
Version 0.4.1
Changelog
Bug Fixes
- core: Fix
Invoke-ExternalCommand
regression (#5923)
Close Issues
- Closes #5911
- Closes ScoopInstaller/Main#5721
- Closes ScoopInstaller/Main#5723
- Closes ScoopInstaller/Main#5725
- Closes ScoopInstaller/Main#5726
- Closes ScoopInstaller/Main#5728
- Closes ScoopInstaller/Main#5729
- Closes ScoopInstaller/Main#5730
- Closes ScoopInstaller/Main#5740
- Closes ScoopInstaller/Main#5741
- Closes ScoopInstaller/Extras#13154
Credits
Thanks to the following contributors (ordered by PR merging time):
Version 0.4.0
✨ Highlights
- Scoop now has a new configuration option called
use_isolated_path
, which can separate thePATH
of apps related to Scoop. Ifuse_isolated_path
is set totrue
, Scoop will addSCOOP_PATH
to store thesePATH
s. If it is set to any other string, Scoop will use that string as the new environment variable's name. - Portable config file is supported starting from this version. Scoop now reads config file in
<SCOOP_DIR>/config.json
, to store configs in a portable manner rather than having it in~/.config/scoop/config.json
, you can copy~/.config/scoop/config.json
to, or create a newconfig.json
in the Scoop root directory. There is no auto migration for it, it's optional and manually operated.
Changelog
Features
- scoop-update: Add support for parallel syncing buckets in PowerShell 7 and improve output (#5122)
- bucket: Switch nirsoft bucket to ScoopInstaller/Nirsoft (#5328)
- bucket: Make official buckets higher priority (#5398)
- config: Support portable config file (#5369)
- core: Add
-Quiet
switch forInvoke-ExternalCommand
(#5346) - core: Allow global install of PowerShell modules (#5611)
- path: Isolate Scoop apps' PATH (#5840)
Bug Fixes
- scoop-alias: Prevent overwrite existing file when adding alias (#5577)
- scoop-checkup: Skip defender check in Windows Sandbox (#5519)
- scoop-checkup: Change the message level of helpers from ERROR to WARN (#5614)
- scoop-checkup: Don't throw 7zip error when external 7zip is used (#5703)
- scoop-(un)hold: Correct output the messages when manifest not found, (already|not) held (#5519)
- scoop-info: Fix errors in file size collection when
--verbose
(#5352) - scoop-reset: Don't abort when multiple apps are passed and an app is running (#5687)
- scoop-update: Change error message to a better instruction (#5677)
- scoop-virustotal: Fix
scoop-virustotal
when--all
has been passed without app (#5593) - scoop-virustotal: Fix the issue that escape character not available in PowerShell 5.1 (#5870)
- autoupdate: Fix file hash extraction (#5295)
- autoupdate: Fix bug that 'WebClient' doesn't auto-extract 'gzip' (#5901)
- buckets: Avoid error messages for unexpected dir (#5549)
- config: Warn users about misconfigured GitHub token (#5777)
- core: Fix scripts' calling parameters (#5365)
- core: Fix
is_in_dir
under Unix (#5391) - core: Rewrite config file when needed (#5439)
- core: Prevents leaking HTTP(S)_PROXY env vars to current sessions after Invoke-Git in parallel execution (#5436)
- core: Handle scoop aliases and broken(edited,copied) shim (#5551)
- core: Avoid error messages when deleting non-existent environment variable (#5547)
- core: Use relative path as fallback of
$scoopdir
(#5544) - core: Fix detection of Git (#5545)
- core: Do not call
scoop
externally from inside the code (#5695) - core: Fix arguments parsing method of
Invoke-ExternalCommand()
(#5839) - decompress: Exclude '*.nsis' that may cause error (#5294)
- decompress: Remove unused parent dir w/ 'extract_dir' (#5682)
- decompress: Use
wix.exe
in WiX Toolset v4+ as primary extractor ofExpand-DarkArchive()
(#5871) - env: Avoid automatic expansion of
%%
in env (#5395, #5452, #5631) - getopt: Stop split arguments in
getopt()
and ensure array by explicit arguments type (#5326) - install: Fix download from private GitHub repositories (#5361)
- install: Avoid error when unlinking non-existent junction/hardlink (#5552)
- manifest: Correct source of manifest (#5575)
- shim: Remove console window for GUI applications (#5559)
- shim: Use bash executable directly (#5433)
- shim: Check literal path in
Get-ShimPath
(#5680) - shim: Avoid unexpected output of
list
subcommand (#5681) - shim: Allow GUI applications to attach to the shell's console when launched using the GUI shim (#5721)
- shim: Run JAR file from app's root directory (#5872)
- shortcuts: Output correctly formatted path (#5333)
- update/uninstall: Remove items from PATH correctly (#5833)
Performance Improvements
- scoop-search: Improve performance for local search (#5644)
- scoop-update: Check for running process before wasting time on download (#5799)
- decompress: Disable progress bar to improve
Expand-Archive
performance (#5410) - shim: Update kiennq-shim to v3.1.1 (#5841, #5847)
Code Refactoring
- scoop-download: Output more detailed manifest information (#5277)
- core: Cleanup some old codes, e.g., msi section and config migration (#5715, #5824)
- core: Rewrite and separate path-related functions to
system.ps1
(#5836, #5858, #5864) - core: Get rid of 'fullpath' (#3533)
- git: Use Invoke-Git() with direct path to git.exe to prevent spawning shim subprocesses (#5122, #5375)
- helper: Remove 7zip's fallback '7zip-zstd' (#5548)
- shim: Remove CS shim codebase (#5903)
Builds
- checkver: Read the private_host config variable (#5381)
- supporting: Update Json to 13.0.3, Json.Schema to 3.0.15 (#5835)
Continuous Integration
- dependabot: Add dependabot.yml for GitHub Actions (#5377)
- module: Update 'psmodulecache' version to 'main' (#5828)
Tests
- bucket: Skip manifest validation if no manifest changes (#5270)
Documentation
Close Issues
- Closes #1606
- Closes #1615
- Closes #1813
- Closes #3877
- Closes #4239
- Closes #4498
- Closes #4540
- Closes #5273
- Closes #5293
- Closes #5313
- Closes #5357
- Closes #5380
- Closes #5394
- Closes #5434
- Closes #5435
- Closes #5449
- Closes #5473
- Closes #5485
- Closes #5492
- Closes #5511
- Closes #5546
- Closes #5568
- Closes #5589
- Closes #5594
- Closes #5595
- Closes #5597
- Closes #5613
- Closes #5601
- Closes #5694
- Closes #5686
- Closes #5690
- Closes #5863
- Closes #5869
- Closes #5900
- Related to #5131
- Closes ScoopInstaller/Main#4564
- Related to ScoopInstaller/Main#5552
- Related to ScoopInstaller/Shim#8
Credits
Thanks to the following contributors (ordered by PR merging time):
@r15ch13 @niheaven @HUMORCE @rashil2000 @rasa @Ercolino @jeppefrandsen @chawyehsu @WHYBBE @Valinor @starthal @lewis-yeung @Lutra-Fs @walpox @spider2048 @gerardog @dooptydoo90x @hagaigold @davidlwatsonjr @svraka @amorphobia
Version 0.3.1
Changelog
BREAKING CHANGES
- pester: Update to Pester 5 (#5222)
IMPORTANT FOR BUCKET MAINTAINERS
- Pester 5 is used in this release. To make sure your bucket's CI works properly, please update
bin\test.ps1
from Pester 4 to Pester 5. - You can use
test.ps1
attached in the release files.
Features
- config: Allow Scoop to check if apps versioned as 'nightly' are outdated (#5166)
- checkup: Add Windows Developer Mode check (#5233)
- bucket: Add 'sysinternals' bucket to known (#5237)
Bug Fixes
- decompress: Use PS's default 'Expand-Archive()' (#5185)
- hash: Fix SourceForge's hash extraction (#5189)
- decompress: Trim ending '/' (#5195)
- shim: Exit if shim creating failed 'cause no git (#5225)
- scoop-import: Add correct architecture argument (#5210)
- scoop-config: Output
[DateTime]
as[String]
(#5232)
Code Refactoring
- hash: Use
Get-FileHash()
directly (#5177) - installer: Drop the old installer (#5186)
- unix: Remove
unix.ps1
(#5235)
Builds
- auto-pr: Add
CommitMessageFormat
option (#5171) - checkver: Support XML default namespace (#5191)
- pssa: Remove unused 'ExcludeRules' (#5201)
- schema: Add 'installer' and 'shortcuts' to 'autoupdate' (#5220)
- checkhashes: Use correct version number if
UseCache
(#5240)
Continuous Integration
- module: Update modules version (#5209)
Tests
- unix: Fix tests in Linux and macOS (#5179)
- pester: Update to Pester 5 (#5222)
- bucket: Use BuildHelpers' EnvVars (#5226)
Documentation
- scoop-cat: Fix help message(#5224)
Close Issues
- Closes #5183
- Closes #5187
- Closes #5193
- Closes ScoopInstaller/Java#418
- Closes #4077
- Closes #2976
- Closes #5208
- Closes #5217
- Closes ScoopInstaller/Main#4056
- Closes ScoopInstaller/Main#3968
- Closes #5229
- Closes #5251
Credits
Thanks to the following contributors (ordered by PR merging time):
Version 0.3.0
Changelog
BREAKING CHANGES
- config: Change config option to snake_case in file and SCREAMING_CASE in code (#5116)
- subdir: Allow subdir in 'bucket' (#5119)
Features
- getopt: Support option terminator (
--
) (#5121) - install: Add support for ARM64 architecture (#5154)
- install: Show the running process (#5102)
- scoop-config: Allow 'hold_update_until' be set manually (#5100)
- scoop-update: Stash uncommitted changes before update (#5091)
- scoop-(un)hold: Support
scoop (un)hold scoop
(#5089)
Bug Fixes
- jsonpath: Prevent converting date string to DateTime in JSONPath (#5130)
- psmodule: Remove folder recursively when unlinking previous module path (#5127)
- scoop-update: Add
uninstall_psmodule
to update process (#5136)
Code Refactoring
- download: Rename
dl()
toInvoke-Download()
(#5143) - path: Use 'Convert-Path()' instead of 'Resolve-Path()' (#5109)
- scoop-shim: Use
getopt
to parse arguments (#5125)
Builds
- checkver: Implement SourceForge checkver functionality (#5113, #5163)
- checkurls: Allow checking URLs from private_hosts (#5152)
- schema: Set manifest schema to be stricter (#5093)
- vscode: Tweak VSCode setting (#5149)
Credits
Thanks to the following contributors (ordered by PR merging time):
@yi-Xu-0100 @niheaven @rashil2000 @r15ch13 @chawyehsu @lewis-yeung @AkariiinMKII @shiena @examosa @thecesrom
Version 0.2.4
Changelog
Features
- core: Create no window by default in
Invoke-ExternalCommand
(#5066) - core: Improve argument concatenation in
Invoke-ExternalCommand
(#5065) - install: Show bucket name while installing an app (#5075)
- scoop-status: Add flag to disable remote checking (#5073)
- scoop-update: Add support for
pre_uninstall
andpost_uninstall
(#5085)
Bug Fixes
- core: Avoid deadlock in
Invoke-ExternalCommand
(#5064) - core: Use 'System.Nullable' for param 'global' (#5088)
- install: Move from cache when
--no-cache
is specified (#5039) - scoop-status: Correct formatting of
Info
output (#5047)
Builds
- checkver: Load page content before running 'script' (#5080)
- json: Update Newtonsoft.Json.Schema to 3.0.15-beta2 (#5053)
Credits
Thanks to the following contributors (ordered by PR merging time):
Version 0.2.3
Changelog
Features
- chore: Add missing -a/--all param to all commands (#5004)
- scoop-status: Check bucket status, improve output (#5011)
- scoop-info: Show app installed/download size (#4886)
- scoop-import: Import a Scoop installation from JSON (#5014, #5034)
Bug Fixes
- chore: Update help documentation (#5002, #5029)
- decompress: Handle split RAR archives (#4994)
- shortcuts: Fix network drive shortcut creation (#4410, #5006)
Code Refactoring
- scoop-search: Output PSObject, use API token (#4997)
Builds
- checkver,auto-pr: Allow passing file path (#5019)
- checkver: Exit routine earlier if error (#5025)
- json: Update Newton.Json to 13.0.1 (#5026)
Tests
- typo: Fix typo ('formated' -> 'formatted') (#4217)
Credits
Thanks to the following contributors (ordered by PR merging time):
@cyingfan @rashil2000 @igitur @tech189 @issaclin32 @niheaven @zStruCat