Releases: Ash258/Scoop-Core
0.6.5-pre2
🎉🎉🎉 YAML typed and archived manifests could be installed 🎉🎉🎉
Let's start 2022 with the new release with the major rewrite of the manifest handling. And repository moves.
Scoop-Core will be moved under shovel-org/Shovel on the final 0.6.5 release
Docker images will be published later today.
Codebase is ready to be easily extended with other extensions. But right now there is no plan to adopt something else than yaml/json.
Installation of single-executables now works under *nix with support for directory junction of persist/current application directory. Archive/Shimming support and in general better *nix support will come in next versions.
Last command, which is missing the new adoption is info
. It should eventually come next week.
- scoop-install: Adopt
Resolve-ManifestInformation
- Support YML manifests
- Support all various syntaxes for passing of applications. URL, local path, archived local, archived remote, archived lookup
- See
scoop install --help
for every supported syntax
- See
- Dependencies are now marked in
scoop-install.json
- Dependencies resolve is implemented differently
- scoop-virustotal:
- Adopt
Resolve-ManifestInformation
- Rename parameter
no-depends
(-n
) toindependent
(-i
) for consistency with other commands - Support YML manifests
- Support all various syntaxes for the passing of applications. URL, local path, archived local, archived remote, archived lookup
- Adopt
- scoop-list, scoop-status, scoop-uninstall: Detect and show dependency
- scoop-depends:
- Add
--skip-installed
,-s
options - Support YML manifests
- Support all various syntaxes for the passing of applications. URL, local path, archived local, archived remote, archived lookup
- Add
- Dependencies: Rework the dependencies evaluation
- Resolve debug mode only once and when valid boolean value is provided in config or env:
- Respect
NO_JUNCTIONS
config when resolving helper utilities- Fallback to executable from PATH when the utility is not installed via scoop.
0.6.5-pre1
New features
- Full support for arm64 architecture
- Update: Application will not be updated, if manifest does not support architecture, used for installation
- Added
Base
bucket to known. It will effectively replacemain
bucket - Install/Update command will report failed installation at the end of execution
- New
-f
(--format
) option for scoop-cat command to select preferred format (json, yml) - CI:
- Files with multiple empty lines at the end now produce error
UTF8-Bom
,UTF16 BE
,UTF16 LE
files are prohibited- Support basic validation of yml typed manifests
- Support validation of all archived manifests
- Adopt new resolve function for parameter passing == commands below supports yaml typed manifests, archived manifests
- scoop-search
- scoop-home
- scoop-cat
- scoop-download
- scoop-config:
- Consider lessmsi as default for msi extraction
- Add config option
dbgBypassArmCheck
- Installation will not fail when installing arm64 version on x86.
- For debugging purpose, to simulate the installation of arm64 version
Fixes
- Internal modules/libs are loaded only when not loaded already
- This will cause a little bit of slow-down in command execution time
- scoop-install: Fix independent installations
- scoop-checkup: Do not suggest 7zip installation when
7ZIPEXTRACT_USE_EXTERNAL
is configured - scoop-search:
- Do not fail when parsing invalid local manifest
- Support
githubToken
config andGITHUB_TOKEN
environment variable for Github API calls
- Schema:
- Validation of curly bracket variables in autoupdate
- Allow
$schema
property
- Checkver: URL verify on hash extraction now behaves exactly same as
dl
function
Long awaited feature/fixes release
https://github.com/Ash258/Scoop-Core/milestone/4?closed=1
https://github.com/Ash258/Scoop-Core/blob/main/CHANGELOG.md#06
The main focus was on making bucket maintainers' life easier and bug fixes. Refer to changelog or milestone for all changes.
The most notable changes:
Fixes
- Native support for ZSTD extraction
- Modules could be installed globally
- VIrustotal command works again
- Innoextract could be used instead of innounp
- Cache command support multiple applications to be passed
- Seach without parameter
Maintainers QOL
- New command for manifest house-keeping/development
shovel utils
- No more bin folder in custom buckets
- YAML typed manifests are supported for all binaries/utilities
- All binaries support non-zero exit codes for error handling in scripts/proper command changing
- Manifest will not be updated until URL is accessible (in case of hash extraction)
- Auto-pr
- Does not change users context
- Does not utilize
hub
for local repository == No need to have hub installed when manipulating with origin repositories - Support
main
branch
- Manifests support
disable
property oncheckver
andautoupdate
- Github checkver utilize API calls instead of web page scraping when valid github token was provided
Refactorings to make future development faster/easier
- General handling of manifest types
- Possible adding of new manifest format will be much faster and less error prone
- Universal system calls using $env:COMSPEC on windows and $SHELL on *nix
0.6.5
New version will be focused on adoption of new manifest resolving (YAML support!!) and bug fixes.
Unification of help entries and refactorings
shovel config SCOOP_BRANCH 'NEW'; shovel update
- Introduce new full-featured function for resolving manifest information when installing/downloading/info/...
- Yml typed manifests will be useable for all commands in 0.6.5
- Unify help entries for all commands
- Use custom getopt parameter/arguments parsing for all commands
- Add additional debug for jsonpath/xpath evaluation
- scoop-bucket: Fix edge case when there are no buckets added
Stable release will be tagged in month at latest
Old manifest archiving and general bug fixes
shovel config SCOOP_BRANCH 'NEW'; shovel update
Bug fixes
- scoop-info:
- Support passing
--arch
and-a
options - Fix env_add_path rendering
- Support passing
- scoop-alias:
- List subcommand now indicates if executable is no longer available
- List subcommand does not show error when summary is empty
- scoop-utils: Use correct name of
checkurls
utility - Completion: Respect
SCOOP_CACHE
environment forcache rm
completion - scoop-(un)hold: Detect and show error when global option is missing for globally installed application
- Core: Use
Legacy
command argument passing - scoop-checkup: Test Windows Defender exclusions only when executed with administrator privileges
New features
- Autoupdate: Archive older manifest versions when executing checkver/auto-pr
General
- Unify help entries and parameter/options handling of some executables
- All of them will be refactored in 0.6.5
- scoop-cache: Allow multiple apps to be passed as argument
- Tags
0.55xxxx
were repushed as0.5.5
for consistency - Remove old automatic config migration
- Git: All git command calls use
--no-pager
option - Config: Do not support
rootPath
,globalPath
,cachePath
config options - Checkver:
- Prevent hitting GitHub rate limits
- GitHub checkver will use
api.github.com/repos
and github token from environmentGITHUB_TOKEN
or config optiongithubToken
- GitHub checkver will use
- Properly reflect execution issues with exit code
- Prevent hitting GitHub rate limits
Maintainers QOL
Available in mainshovel config SCOOP_BRANCH 'NEW'; shovel update
Release aiming to reduce hustle for bucket maintenance and general manifest feature enhancement.
As always small bugfixes included
Bug fixes
- scoop-search: Fix empty parameter passing
- Native parameter binding for aliases works again
- git: Proxy handling
- psmodules: Add global modules to path only if global manifest is installed
- scoop-alias: First alias addition is correctly registered and created
- autoupdate: Do not autoupdate unless URL is accessible after successful hash extraction
New features
- scoop-checkup:
- Check for main branches adoption (if supported)
- Check for full shovel adoption
- scoop-install: Support innosetup installers extraction using
innoextract
if-UseInoextract
switch orINNOSETUP_USE_INNOEXTRACT
config is set
General
- schema:
- Property
disable
added tocheckver
andautoupdate
- Remove deprecated properties
- Cleanup descriptions
- Property
- Code cleanup and deprecation removals
- binaries:
- format: Extract checkver linter into own function and create generic properties manipulation function
- Indicate binary execution errors with exit codes
- auto-pr
- Require
-Upstream
only when-Request
is provided - Scoop proxy configuration will be used for git calls
- Call native
git
command instead ofhub
for push operation - Use
git -C
orhub -C
when manipulating with changed manifests
- Require
Major refactorings and small bug fixes
New features
Expand-ZstdArchive
function added- Support tar.zst URL extractions
- Modules can be installed globally
- YAML typed manifest support
- Initial refactor to support various manifest extesions
- All binaries and some executables support loading and manipulating with yaml based manifests
- Installation and general usage of yaml manifests will follow
Bug fixes
- Installation of already installed manifests is detected correctly again
virustotal
command now works again
QOL
https://github.com/Ash258/Scoop-Core/milestone/2
New features
- Manifests
- Helper function introduced for usage in all script properties
Assert-Administrator
,Assert-WindowsMinimalVersion
,Assert-ScoopConfigValue
,Test-Persistence
,Edit-File
,Remove-AppDirItem
,New-JavaShortcutWrapper
- Add
pre_download
property - Add
changelog
property
- Helper function introduced for usage in all script properties
Commands
- Install
installer.file
andinstaller.script
blocks are not exclusive anymore. Script is executed after file.- In case of ps1 script is configured as installer.file, non-zero exit codes break whole installation
installer.file
is removed all the time ifinstaller.keep
is not specified. Previously powershell scripts were not removed.
- New alias command subcommands
shovel alias path <aliasName>
shovel alias edit <aliasName>
- Hold and info commands now respect
NO_JUNCTION
config option
Fixes
- Installation of older manifest version is now possible again
- Completion: Proper
&&
and||
support - Persist: Nested directories are correctly persisted
- Autoupdate: base64 conversion is now applied to all extraction modes
Small bug fixes
Fixed:
- Globally installed dependencies are taken into account while resolving manifest scripts
- Bucket removal fail indication
- Bucket addition success indication
- Search manifests, which do not have a description
- Version of powershell is shown in
shovel --version
Merge commit|branch
commits are not shown in update log
Sync with upstream
Does not include any new features or fixes