Skip to content

Latest commit

 

History

History
885 lines (679 loc) · 76.6 KB

CHANGELOG.md

File metadata and controls

885 lines (679 loc) · 76.6 KB

v0.5.1 - 2024-07-16

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)

v0.5.0 - 2024-07-01

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)

v0.4.2 - 2024-05-14

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)

v0.4.1 - 2024-04-25

Bug Fixes

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

v0.4.0 - 2024-04-18

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)

v0.3.1 - 2022-11-15

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)
  • shim: fixed shim add bug related to Resolve-Path (#5492)

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)

v0.3.0 - 2022-10-10

Features

  • install: Add support for ARM64 architecture (#5154)
  • install: Show the running process (#5102)
  • getopt: Support option terminator (--) (#5121)
  • subdir: Allow subdir in 'bucket' (#5119)
  • scoop-config: Allow 'hold_update_until' be set manually (#5100)
  • scoop-(un)hold: Support scoop (un)hold scoop (#5089)
  • scoop-update: Stash uncommitted changes before update (#5091)

Bug Fixes

  • config: Change config option to snake_case in file and SCREAMING_CASE in code (#5116)
  • 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)

v0.2.4 - 2022-08-08

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)

v0.2.3 - 2022-07-07

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)

v0.2.2 - 2022-06-21

Features

  • core: Add Get-Encoding function to fix missing webclient encoding (#4956)
  • scoop-(un)hold: Add -g/--global flag (#4991)
  • scoop-update: Support scoop update scoop (#4992)
  • scoop-virustotal: Migrate to VirusTotal API v3 (#4983)

Bug Fixes

  • manifest: Fix bugs in 'Get-Manifest()' (#4986)

v0.2.1 - 2022-06-10

Features

  • core: Add pre_uninstall and post_uninstall hooks (#4957, #4962)

Bug Fixes

  • bucket: Make sure list_buckets return array (#4979)
  • chore: Deprecate tls1 and tls1.1 (#4950)
  • chore: Update Nonportable bucket URL (#4955)
  • core: Using Invoke-Command instead of Invoke-Expression (#4941)
  • core: Load config file before initialization (#4932)
  • core: Allow to use '_' and '.' in bucket name (#4952)
  • depends: Avoid digits in archive file extension (except for .7z and .001) (#4915)
  • bucket: Don't check remote URL of non-git buckets (#4923)
  • bucket: Don't write message OK before bucket is cloned (#4925)
  • shim: Add 'Get-CommandPath()' to find git (#4913)
  • shim: Remove character replacement in .cmd -> .ps1 shims (#4914)
  • scoop: Pass CLI arguments as string objects (#4931)
  • scoop-info: Fix error message when manifest is not found (#4935)
  • scoop-search: Require files in 'bucket' dir for remote known buckets (#4944)
  • update: Prevent uninstall when update (#4949)
  • scoop-download: Use correct Args when calling Get-Manifest (#4970)

Code Refactoring

  • manifest: Rename 'Find-Manifest()' to 'Get-Manifest() (#4966, #4981)

Documentation

  • readme: Update license badge (#4929)

v0.2.0 - 2022-05-10

Features

  • relicense: Relicense to dual-license (Unlicense or MIT) (#4903, #4870)
  • install: Allow downloading from private repositories (#4254)
  • scoop-cleanup: Add -a/--all switch to cleanup all apps (#4906)

Bug Fixes

  • bucket: Return empty list correctly in Get-LocalBucket (#4885)
  • install: Fix issue with installation inside containers (#4837)
  • installed: If no $global, check both local and global installed (#4798)
  • shim: Manipulating shims with UTF8 encoding (#4791, #4813)
  • shim: Correctly quote $@ in sh->ps1 shims (#4809)
  • update: Skip logs starting with (chore) (#4800)
  • scoop-download: Add failure check (#4822)
  • scoop-list: Fix date in 'Updated' column showing the months in the place of minutes (#4880)
  • scoop-prefix: Fix typo that breaks global installed apps (#4795)

Performance Improvements

Code Refactoring

  • bucket: Move 'Find-Manifest' and 'list_buckets' to 'buckets' (#4814)
  • relpath: Use $PSScriptRoot instead of relpath (#4793)
  • reset_aliases: Move core function of reset_aliases to scoop (#4794)
  • config: Rename checkver_token to gh_token and SCOOP_CHECKVER_TOKEN to SCOOP_GH_TOKEN (#4832, #4842)

Builds

  • checkver: Add option to throw error as exception (#4867)
  • schema: Remove 'description' from required fields (#4853, #4874)

Documentation

  • changelog: Rearrange CHANGELOG (#4897)
  • readme: Update installation instruction (#4825)
  • readme: Fix badges for Gitter and CI Tests (#4830)
  • scoop-shim: Fix typo (#4836)

v0.1.0 - 2022-03-01

Features

  • scoop-bucket: List more detailed information for buckets (#4704, #4756, #4759)
  • scoop-cache: Handle multiple apps and show detailed information (#4738)
  • scoop-cat: Use bat to pretty-print JSON (#4742)
  • scoop-config: Allow Scoop to ignore running processes during reset/uninstall/update (#4713, #4731)
  • scoop-config: Show all settings (#4765)
  • scoop-download: Add scoop download command (#4621)
  • scoop-(install|virustotal): Allow skipping update check (#4634)
  • scoop-list: Allow list manipulation (#4718)
  • scoop-list: Show last-updated time (#4723)
  • scoop-info: Revamp details and show more information (#4747)
  • scoop-shim: Add scoop shim to manipulate shims (#4727, #4736)

Bug Fixes

  • autoupdate: Allow checksum file that contains whitespaces (#4619)
  • autoupdate: Rename $response to $res (#4706)
  • config: Ensure manipulating config with UTF8 encoding (#4644)
  • config: Allow scoop config use Unicode characters (#4631)
  • config: Fix set_config bugs (#3681)
  • current: Remove 'current' while it's not a junction (#4687)
  • depends: Prevent error on no URL (#4595)
  • depends: Check if extractor is available (#4042)
  • decompress: Fix nested Zstd archive extraction (#4608, #4639)
  • installed: Fix 'core/installed' that mark failed app as 'installed' (#4650, #4676, #4689, #4785)
  • no-junctions: Fix error when NO_JUNCTIONS is been set (#4722, #4726)
  • shim: Fix PS1 shim error when in different drive in PS7 (#4614)
  • shim: Fix sh shim error in WSL (#4637)
  • shim: Use -file instead of -command in ps1 script shims (#4721)
  • shim: Fix exe shim when app path has white spaces (#4734, #4780)
  • versions: Fix wrong version number when only one version dir (#4679)
  • versions: Get current version from failed installation if possible (#4720, #4725)
  • scoop-alias: Fix alias initialization (#4737)
  • scoop-checkup: Skip 'check_windows_defender' when have not admin privileges (#4699)
  • scoop-cleanup: Remove apps other than current version (#4665)
  • scoop-search: Remove redundant 'bucket/' in search result (#4773)
  • scoop-update: Skip updating non git buckets (#4670, #4672)

Performance Improvements

  • uninstall: Avoid checking all files for unlinking persisted data (#4681, #4763)

Code Refactoring

  • depends: Rewrite 'depends.ps1' (#4638, #4673)
  • mklink: Use 'New-Item' instead of 'mklink' (#4690)
  • rmdir: Use 'Remove-Item' instead of 'rmdir' (#4691)
  • COMSPEC: Deprecate use of subshell cmd.exe (#4692)
  • git: Use 'git -C' to specify the work directory instead of 'Push-Location'/'Pop-Location' (#4697)
  • scoop-info: Use List View for output (#4741)
  • scoop-config: Use underscores everywhere (#4745)

Builds

  • checkver: Fix output with '-Version' (#3774)
  • schema: Add '$schema' property (#4623)
  • schema: Add explicit escape to opening bracket matcher in jp/jsonpath regex (#3719)
  • schema: Fix typo ('note' -> 'notes') (#4678)
  • tests: Support both AppVeyor and GitHub Actions (#4655)
  • tests: Run GitHub Actions CI on each commit (#4664)
  • tests: Use cache in GitHub Actions (#4671)
  • tests: Disable CI test on 'push' (#4677)
  • vscode-settings: Remove 'formatOnSave' trigger (#4635)

Styles

  • test: Format scripts by VSCode's PowerShell extension (#4609)
  • style: Use correct casing for $PSScriptRoot (#4775)

Tests

  • test-bin: Only write output file in CI and fix trailing whitespaces (#4613)
  • manifest: Fix manifests validation (#4620)
  • zstd: Fix 'zstd' extraction error in test (#4651)

Documentation

  • changelog: Add 'CHANGLOG.md' (#4600)
  • changelog: Rearrange CHANGELOG (#4729)
  • changelog: Link CHANGELOG headers to 'releases/tag' (#4730)

Features

  • core: Redirect 'StandardError' in Invoke-ExternalCommand() (#4570, #4582)
  • install: Add portableapps.com to strip_filename skips (#3244)
  • install: Show manifest on installation (#4155, fb496c48, #4581)
  • template: Add issue/PR templates (#4572)
  • scoop-cat: Add scoop cat command (#4532)
  • scoop-config: Document all configuration options (#4579)

Bug Fixes

  • bucket: Remove JetBrains bucket (dec25980)
  • bucket: Remove nightlies bucket (48b035d7)
  • core: Escape '.' in 'parse_app()'. (#4578)
  • core: Use '-Encoding ASCII' in 'Out-File' (#4571)
  • depends: Specify function scope (4d5fee36)
  • install: Use Select-CurrentVersion (#4535)
  • install: 'env_add_path' doesn't append '.' (#4550)
  • repo: Update repo links (cbe29edd)
  • scoop-update: Update apps with '--all' (ac71fccb)
  • scoop-update: Fix scoop update -a requiring arguments (#4531)

Code Refactoring

Builds

  • auto-pr: Remove hardcoded 'master' branch (#4567)
  • checkver: Improve JSONPath extraction support (#4522)
  • checkver: Use GitHub token from environment (#4557)
  • schema: Enable autoupdate for 'license' (#4528, #4596)

Documentation

  • readme: Add link to Contributing Guide (5e11c94a)
  • readme: Fix links (3bb7036e)

Reverts

Features

  • bucket: Move extras bucket to @ScoopInstaller (3e9a4d4e)
  • decompress: Support Zstandard archive (#4372, e35ff313, 47ebc6f1)
  • install: Handle arch-specific env_add_path (#4013)
  • install: s/lukesamson/ScoopInstaller in install.ps1 (5226f26f)
  • message: Add config to disable aria2 warning message (#4422)
  • shim: Add another alternative shim written in rust (#4229)
  • scoop-prefix: Remove unused imports and functions (#4494)
  • scoop-install: Auto uninstall previous failed installation (#3281)
  • scoop-update: Add flags --all as an alternative to '*' to update all (#3871)

Bug Fixes

  • core: Change url() scope to avoid conflict with global aliases (#4342, #4492)
  • install: Fix aria2's resume download feature (#3292)
  • shim: Fixed trailing whitespace issue (#4307)
  • scoop-reset: Skip when app instance is running (#4359)

Code Refactoring

Builds

  • autoupdate: Add multiple URL/hash/extract_dir... support (#3518, #4502)
  • schema: Fix Schema to support + in version (#4504)
  • supporting: Update Json to 12.0.3, Json.Schema to 3.0.14 (#3352)

Documentation

  • readme: Capitalize to prevent redirect (#4483)
  • readme: s/lukesampson/ScoopInstaller in readme (4f5acd72)
  • readme: Update extras bucket url in readme (f1a46e10)
  • readme: Update Java bucket text (#4514)
  • readme: Update notes about the NirSoft bucket (#4524)

Bug Fixes

Features

  • aria2: Inline progress (#3987)
  • autoupdate: Add $urlNoExt and $basenameNoExt substitutions (#3742)
  • config: Add configuration option for default architecture (#3778)
  • install: Follow HTTP redirections when downloading a file (#3902)
  • install: Let pathes in 'env_add_path' be added ascendantly (#3788, #3976)
  • list: Display main bucket name (#3759)
  • shim: Add alt-shim support (#3998)
  • scoop-checkup: Add check_envs_requirements (#3860)

Bug Fixes

  • bucket: Update scoop-nonportable URL (#3776)
  • download: Fosshub download (#4051)
  • download: Progress bar on small files (96de9c14)
  • hold: Replace "locked" terminology with "held" for consistency (#3917)
  • git: Don't execute autostart programs when executing git commands (#3993)
  • git: Enforce pull without rebase (#3765)
  • install: Aria2 inline progress negative values (#4053)
  • install: Fix wrong output of 'install/failed' (#3784, #3867)
  • install: Re-add "Don't send referer to portableapps.com" (#3961)
  • scoop: Remove temporary code from the scoop executable (#3898)
  • update: Update outdated PowerShell 5 warning (#3986)
  • scoop-info: Check bucket of installed app (#3740)

Builds

  • checkver: Present script property (#3900)

Tests

  • init: Force pester v4 (#4040)

Features

  • update: Support $persist_dir in uninstaller.script (#3692)

Bug Fixes

  • core: Use [Environment]::Is64BitOperatingSystem instead of [intptr]::size (#3690)
  • git: Remove unnecessary git_proxy_cmd() calls for local commands (8ee45a57)
  • install: Check execution policy (#3619)
  • update: Fix scoop update changelog output (e997017f)

Features

  • core: Tweak Invoke-ExternalCommand parameters (#3547)
  • install: Use 7zip when available for faster zip file extraction (#3460)
  • install: Add arch support to env_add_path and env_set (#3503)
  • install: Allow $version to be used in uninstaller scripts (#3592)
  • install: Allow installing specific version if latest is installed (11c42d78)
  • update: Allow updating apps from local manifest or URL (#3685)

Bug Fixes

  • autoupdate: Decode basename when extract hash (#3615)
  • autoupdate: Remove any whitespace from hash (#3579)
  • bucket: Only lookup directories in buckets folder (#3631)
  • comspec: Escape variables when calling COMSPEC commands (#3538)
  • decompress: Fix bugs on extract_dir (#3540)
  • editorconfig: Add missing } to bat/cmd regex (#3529)
  • help: Rename help() to scoop_help() (#3564)
  • install: Use Join-Path instead of string gluing. (#3566)
  • scoop-info: Fix output for single binaries with alias (#3651)
  • scoop-info: Remove a whitespace (#3652)

Builds

  • auto-pr: Fix git status detection (7decfd4c)
  • auto-pr: Hard reset bucket after running (79f8538b)
  • checkurls: Trim renaming suffix in url (#3677)

Continuous Integration

  • appveyor: use VS2019 image to fix PS6 issues (#3646)
  • tests: Do not force maintainers to have SCOOP_HELPERS (#3604)

Documentation

  • readme: Improve installation instructions (#3600)

Features

  • decompress: Add 'ExtractDir' to 'Expand-...' functions (#3466, #3470, #3472)
  • decompress: Allow 'Expand-InnoArchive -ExtractDir' to accept '{xxx}' (#3487)

Bug Fixes

  • config: Show correct output when removing a config value (#3462)
  • decompress: Change dark.exe parameter order (6141e46d)
  • proxy: Rename parameters for Net.NetworkCredential (#3483)

Code Refactoring

  • core: run() -> 'Invoke-ExternalCommand()' (#3432)

Builds

  • checkhashes: Checkhashes downloading twice when architecture properties does hot have url property (#3479)
  • checkhashes: Do not call scoop directly (#3527)

Documentation

  • readme: Add known buckets to end of readme (2849e0f9)
  • readme: Adjust URL of runat.json (#3484)
  • readme: Fix a small typo (#3512)
  • readme: Fix typo in readme (03bb07c8)
  • readme: Update readme with correct count of nirsoft apps (e8d0be66)

Features

  • manifest: XPath support in checkver and autoupdate (#3458)
  • update: Support changing scoop tracking repository (#3459)

Bug Fixes

  • autoupdate: Handle xml namespace in xpath mode (#3465)

BREAKING CHANGE

  • core: Finalize bucket extraction (#3399)
  • core: Bucket extraction and refactoring (#3449)

Features

  • autoupdate: Add 'regex' alias for 'find' (3453487e)
  • autoupdate: Allow simple metalink and meta4 hash extraction (ecf627c3)
  • autoupdate: Add version variables to autoupdate.hash.regex (#2966)
  • autoupdate: Autoupdate improvements (#1371)
  • autoupdate: Convert base64 encoded hash values (04c9ddeb)
  • autoupdate: Improve base64 hash detection (310096e2)
  • core: Add basic WSL support by appending .exe to powershell (#2323)
  • core: Add Expand-DarkArchive and some other dependency features (#3450)
  • core: Enable TLS 1.2 in core.ps1 (#2074)
  • core: Prepare extraction of main bucket (#3060)
  • core: Support loading basedirs from config (#3121)
  • core: Update requirement to version 5 or greater (#3330)
  • core: Use consistent User-Agent Header on all webrequests (12962acf)
  • core: Warn on shim overwrite (#2033)
  • debug: Add option to indent debug output (bf54a978)
  • decompress: Allow other args to be passthrough (#3411)
  • download: Add support for multi-connection downloads via aria2c (#2312)
  • download: Convert sourceforge urls to use downloads mirror (#3340)
  • install: Add .NET 4.5 check to scoop install script (e52c24c9)
  • install: Set file write permission to global persist dir (#2524)
  • json: Normalize multi-line strings to string arrays on format (#2444)
  • persist: Support persisting files without a file extension (#2408)
  • shim: Add '.com'-type shim (#3366)
  • shim: Enabled applications which require elevated privileges (#2053)
  • shim: Enabled shimming of external applications (#2072)
  • shim: Enabled wide characters forwarding in shims (#2106)
  • shim: Make shim support PowerShell 2.0 (#2562)
  • shim: Create sh shim (#1951)
  • shortcuts: Add subdirectories/arguments for shortcuts (#1945)
  • shortcuts: Allow $dir, $original_dir and $persist_dir substitutions for shortcuts (f3ddf0c0)
  • shortcuts: Get start menu folder location from environment rather than predefined user profile path (c245a7fe)
  • uninstall: Print purge step to console (#3123)
  • uninstall: Add support for soft/purge uninstalling of scoop itself (#2781)
  • update: Add hold/unhold command (#3444)
  • scoop-checkup: Add NTFS check to checkup command (#1944)
  • scoop-checkup: Check for LongPaths setting (#3387)
  • scoop-info: Add scoop-info command (#2165)
  • scoop-info: Support url manifest (#2538)
  • scoop-prefix: Add scoop prefix command (#2117)
  • scoop-update: Add notification for new main bucket (#3392)
  • scoop-update: Show changelog after updating scoop and buckets (56c35f8f)
  • scoop-which: Also show other applications in PATH with 'scoop which' (79bf99c3)

Bug Fixes

  • autoupdate: Fix base64 hash extraction (98afb999)
  • autoupdate: Fix base64 hash extraction length (#2852)
  • autoupdate: Fix metalink hash extraction (2ad54747)
  • autoupdate: Fix single line hash extraction (#3015)
  • autoupdate: Improve auto-update hash extraction regex (21bf0dea)
  • autoupdate: Linter fix (c9539b65)
  • autoupdate: Use normal variable instead of magic $matches variable name (d74e0a85)
  • bucket: Change wording of new_issue_msg() (e82587df)
  • bucket: Fix new_issue_msg (#3375)
  • bucket: Use $_.Name on gci result (1eb2609d)
  • config: Enable writing to hidden .scoop file (#1982)
  • config: Save and load true/false values as booleans in scoops config (16aec1a4)
  • core: Allowed underscores in package names (#2930)
  • core: Clean up some error messages (#2032)
  • core: Change sf regex not to break some manifests (#2476)
  • core: Check if 7zip installed via Scoop instead of using 7z.exe from PATH (55ce0c0b)
  • core: Filter null or empty string from Scoops directory settings (5d5c7fa9)
  • core: Fix "enable-encryptionscheme" for OSes before Windows 10 (#2084)
  • core: Fix bug with Start-Process -Wait, exclusive to PowerShell Core on Windows 7 (#3415)
  • core: Fix for relative paths (ff9c0c3d)
  • core: Fix robocopy not releasing a directory after moving it (e2792f2e)
  • core: Fix substitute() for arrays (#2048)
  • core: Format hashes to lowercase (5d56f8ff)
  • core: Invoke powershell with -noprofile flag from bash shims (#3165)
  • core: Removed the bucket from the app name when checking directories (#2435)
  • core: Return true for checking if a directory is 'in' itself (ac8a1567)
  • core: Store last update time as String (e8af15cc)
  • decompress: Add .bz2 files to decompression (#2085)
  • decompress: Added retry when unzip fail because of AV (#1822)
  • decompress: Catch unzip failures from bad file names (#2472)
  • decompress: Compatible Expand-ZipArchive() with Pscx (#3425)
  • decompress: Correct deprecation function name (#3406)
  • decompress: Fix dark parameter order (87a1e784)
  • depends: Don't force adding dark dependency (#3453)
  • depends: Don't include the requested app in the list of dependencies (1bc6a479)
  • depends: Fix empty bucket name (#2827)
  • depends: Fix null reference error when no buckets are configured (88040972)
  • depends: Show message about missing bucket when installing dependencies (7a6218c5)
  • download: Don't send referer to portableapps.com (0c2b3da3)
  • download: Fix fosshub downloads with aria2c (803525a8)
  • download: Interrupt download causes partial cache file to be used for next install (5be02865)
  • download: Overwrite any existing files when extracting (58cca68f)
  • download: Show warning about SourceForge.net hash validation fails (8504338b)
  • getopt: Don't try to parse int arguments (23fe5a53)
  • getopt: Don't try to parse array arguments (9b6e7b5e)
  • getopt: Return remaining args, use getopt for scoop install (b7cfd6fd)
  • getopt: Skip if arg is $null (f2d9f0d7)
  • getopt: Skip arg if it's decimal (5f0c8cfb)
  • git: Disable git pager when running git log (cac99759)
  • git: Fix update log output (0daa25c6)
  • json: Catch JsonReaderException (fb58e92c)
  • install: Add filename to warning for files without hash in the manifest (4c9beee8)
  • install: Add multi-line support to pre/post_install (#1980)
  • install: Added exclusion for sourceforge. [#METR-21516] (#2109)
  • install: Ignore url fragment for PowerShell Core 6.1.0 (#2602)
  • install: Fix fail when installing from non-default bucket (#2247)
  • install: Fix PowerShell core crash (#2554)
  • install: Option to skip hash validation and error message improvements (#2260)
  • install: Remove env_ensure_home (#1967)
  • install: Show first 8 bytes of file in the hash check error message (e4cbb42e)
  • persist: Fix condition for persist_permission() (eb7b7cbf) (1a2598bc)
  • persist: Fixed persisting bug when force update app with same version (#2774)
  • persist: Fix the target didn't be created (#3008)
  • persist: Prevent directory creation from being output (#1999)
  • scoop: Force to add new main bucket (#3419)
  • shim: Fix .ps1 shim parsing logic (#2564)
  • shim: Fixed ps1/jar->ps1 shims args handling (#2120)
  • shortcuts: Improve Shortcut creation (83b82386)
  • uninstall: Better error handling during uninstallation (#2079)
  • uninstall: Uninstall fails to remove architecture-specific shims (8b1871b2)
  • update: Rewording PowerShell update notice (d006fb93)
  • versions: Improvements for the reset command to deal with empty current alias dir correctly (#2896)
  • scoop-alias: Improve "scoop alias list" output (#2163)
  • scoop-cache: Display help on incorrect cache command (#3431)
  • scoop-cache: scoop cache command not using $SCOOP_CACHE (#1990)
  • scoop-info: Improve scoop-info license attributes output (#2397)
  • scoop-install: Prevent installing programs from JSON multiple times (936cf9cb)
  • scoop-reset: Persist data on reset (#2773)
  • scoop-reset: Re-create shortcuts (6e5b7e57)
  • scoop-search: Better handling for invalid query (bf024705)
  • scoop-uninstall: Checked if uninstaller removed its directory (#2078)
  • scoop-update: Add config option "show_update_log" (d68cb3ce)
  • scoop-update: First scoop update fails because scoop deletes itself too early (376630fd)
  • scoop-update: Fix branch switching (#3372)
  • scoop-update: Fix update with cookies (#3261)
  • scoop-update: Improve is_scoop_outdated() and add last_scoop_update() (f3f559c4)
  • scoop-update: Resolve linting, fix appveyor tests error (#2148)

Code Refactoring

  • bucket: Move function into lib from lib-exec (#3062)
  • bucket: Optimize buckets function (#3341)
  • config: Move configuration handling to core.ps1 (#3242)
  • core: aria2_path() -> file_path() (0f464016)
  • core: cmd_available() -> Test-CommandAvailable() (#3314)
  • core: ensure_all_installed() -> Confirm-InstallationStatus() (#3293)
  • core: Move default_aliases into the scoped function (#3233)
  • core: Refactor function names and fix installing 7zip locally if already globally available (#3416)
  • core: Simplified last_scoop_update() (#2931)
  • core: Tweak SecurityProtocol usage (#3065)
  • decompress: Refactored (w/ install.ps1, core.ps1) (#3169)
  • decompress: Refactor extraction handling functions (#3204)
  • download: Download functionality refactor (#1329)
  • install: Rename locate() to Find-Manifest() (9eed3d89)

Builds

  • auto-pr: Add -App parameter (#3157)
  • auto-pr: Add SkipUpdated parameter (#3168)
  • checkhashes: Add bin\checkhashes.ps1 (#2766)
  • checkurls: Add SkipValid Parameter (#2845)
  • checkurls: Import config.ps1 in checkurls.ps1 (126e9c97)
  • checkver: Add 'useragent' property (8feb3867)
  • checkver: Add 'jsonpath' alias for 'jp' (76fdb6b7)
  • checkver: Add 're' alias 'regex' (468649c8)
  • checkver: Allow using the current version in checkver URL (607ac9ca)
  • checkver: Fix example parameters (#3413)
  • checkver: GitHub checkver case-insensitive version check (2e2633e9)
  • checkver: Remove old commented code (72754036)
  • checkver: Resolve issue on Powershell >6.1.0 (#2592)
  • checkver: Support skipping up to date manifests (#2624)
  • schema: Add shortcutsArray definition to schema.json (0c7e6002)
  • schema: extract_to property is on active duty (not deprecated) (59e994c5)
  • schema: Improve comments in schema.json (b5ed0761)
  • supporting: Update validator.exe and shim.exe (#2024, #2034)
  • supporting: Update Newtonsoft.Json to 11.0.2, Newtonsoft.Json.Schema to 3.0.10 (#3043)
  • validator: Improve error reporting, add support for multiple files (#3134)

Continuous Integration

  • appveyor: Rebuild cache (7311b41b)
  • appveyor: Run tests for PowerShell 5 and 6 (#2603)
  • test: Improve installation of lessmsi and innounp (#3409)

Styles

  • lint: PSAvoidUsingCmdletAliases (#2075)

Tests

  • bucket: Add importable tests for Buckets (478f52c4)
  • bucket: Fix manifest tests for buckets (589303fa)
  • bucket: Handle JSON.NET schema validation limit exceeded. (139813a8)
  • file: Move style constraints tests to separate test file (7b7113fc)
  • linux: Fix some tests on linux (#2153)
  • manifest: Expose bucketdir variable in manifest test script (#2182)
  • test: Add -TestPath param to test.ps1 (f857dce9)
  • test: Force install PSScriptAnalyzer and BuildHelpers (7a1b5a18)
  • test: Require BuildHelpers version 2.0.0 (ac3ee766)
  • test: Update BuildHelpers to version 2.0.1 (dde4d0f9)
  • core: Use Pester 4.0 syntax in core tests (#2712)
  • install: Use Pester 4.0 syntax to the install tests (#2713)
  • test: Use Pester 4.0 syntax to multiple files (#2714)

Documentation

  • readme: Add discord chat badge (#3241)
  • readme: Add more details about scoops installation (#2273)
  • readme: Corrected enable powershell executionpolicy (#2020)
  • readme: Update Discord invite link (5f269249)
  • readme: Update requirements note (#2509)
  • readme: Fix typo (you -> your), (it's -> its) (#2698)
  • readme: Remove trailing whitespaces (d25186bf)
  • readme: Remove "tail" from example (is coreutils) (#2158)

Commits before 2018 are trimmed