Skip to content

Releases: ScoopInstaller/Scoop

Version 0.5.2

30 Jul 07:35
859d1db
Compare
Choose a tag to compare

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):

@mattcargile @ccyykkcyk @niheaven

Version 0.5.1

17 Jul 02:40
be56faf
Compare
Choose a tag to compare

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

Credits

Thanks to the following contributors (ordered by PR merging time):

@niheaven @qwertyhjklxyz @Lutra-Fs @lewis-yeung

Version 0.5.0

05 Jul 03:16
716b6db
Compare
Choose a tag to compare

✨ 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

Credits

Thanks to the following contributors (ordered by PR merging time):

@niheaven @chawyehsu @lewis-yeung @MatejKafka @qwertyhjklxyz

Version 0.4.2

14 May 05:45
d337bb1
Compare
Choose a tag to compare

Changelog

Bug Fixes

  • autoupdate: Copy PSCustomObject-type properties within substitute() to prevent reference changes (#5934, #5962)
  • core: Fix "Invoke-ExternalCommand" quoting rules (#5945)
  • system: Fix argument passing to Split-PathLikeEnvVar() in deprecated strip_path() (#5937)

Close Issues

Credits

Thanks to the following contributors (ordered by PR merging time):

@amorphobia @niheaven @Capella87

Version 0.4.1

25 Apr 14:02
d285bb0
Compare
Choose a tag to compare

Changelog

Bug Fixes

  • core: Fix Invoke-ExternalCommand regression (#5923)

Close Issues

Credits

Thanks to the following contributors (ordered by PR merging time):

@chawyehsu @niheaven

Version 0.4.0

18 Apr 16:29
105e416
Compare
Choose a tag to compare

✨ Highlights

  • Scoop now has a new configuration option called use_isolated_path, which can separate the PATH of apps related to Scoop. If use_isolated_path is set to true, Scoop will add SCOOP_PATH to store these PATHs. 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 new config.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 for Invoke-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 of Expand-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

  • scoop-info: Fix help message(#5445)
  • readme: Improve documentation language (#5638)

Close Issues

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

15 Nov 03:03
f930280
Compare
Choose a tag to compare

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

Credits

Thanks to the following contributors (ordered by PR merging time):

@niheaven @chawyehsu @yi-Xu-0100 @Ama1999 @pynappo

Version 0.3.0

13 Oct 11:12
8aee6f9
Compare
Choose a tag to compare

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() to Invoke-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

10 Aug 05:16
4a31bd3
Compare
Choose a tag to compare

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 and post_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):

@lewis-yeung @rashil2000 @niheaven @yi-Xu-0100

Version 0.2.3

07 Jul 10:02
80b52e3
Compare
Choose a tag to compare

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