mirror of
https://github.com/vrc-get/vrc-get.git
synced 2026-06-21 09:58:08 +00:00
34 KiB
34 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
Unreleased
Added
Changed
- Improved saving interacting with setting files
#2485#2710- This should reduce "EOF while parsing a value at line 1 column 0" error on launch.
- This should reduce losing settings after crashing ALCOM or PC.
- null as vpmDependencies value is not allowed
#2709- It's not recommended, but we allow null for
vpmDependenciesas a alias of{}
- It's not recommended, but we allow null for
- Improved robustness for package installation errors
#2844- It is now unlikely that vrc-get will leave the project directory corrupted if an I/O error occurs while installing a package
- Backslashes in path in zip file are now treated as path separator on unix
#2845- This fixes problem with Gesture Manager 3.9.7
Deprecated
Removed
Fixed
- Fix 'Detected Loop' panic with valid database file
#2607 - Panic when resolving projects where dependency packages depend on newer versions of locked packages
#2822 - Warning for backup/project path in AppData folder not shown when path is in Roaming or LocalLow
#2827 - Unclear error message for invalid version name or version range
#2842 - Empty string for
documentationUrlandchangelogUrlare now allowed and ignored#2930- They are formerly rejected as invalid url
Security
- Package hash checks are now enforced when installing packages
#2849- It has been about two years since the error message for package hash mismatches was introduced.
- It is now enforced for security.
1.9.1 - 2025-07-28
Changed
- Changed how we read VCC's project information
#1997- Along with this, building this project no longer needs dotnet SDK to build.
- Migrated the project to Rust 2024
#1956- This is internal changes should not cause behavior changes
- This would require Rust 1.85 for building this project
- Removed
cargo-aboutfrom build-time dependency#1961- This is internal changes should not cause behavior changes
- I listed here since this may need update on package metadata of some package managers
- The method to retrieve the list of Unity from Unity Hub
#1808#1971 - You now can select multiple folders at once to adding project
#2018- I didn't know official VCC had such a feature. Sorry for lack of feature!
- The requirements for unity project
#2106- Since this version,
Projectsettings/ProjectVersion.txtis required.
- Since this version,
Fixed
- Uninstall package is not reverted successfully if removing package is prevented by
ERROR_SHARING_VIOLATION#2209 - Fixed
a - bversion range is not correctly serialized on thevpm-manifest.json
1.9.0 - 2025-01-01
Added
- Per-package
headersfield support#718- Since this is adding support for missing features, I treat this as a bugfix and not bump minor version.
- De-duplicating duplicated projects or Unity in VCC project list
#1081 vrc-get cache clear, command to clear package cache#1204- Importing / Exporting Repositories list
#1209vrc-get repo import <list file>andvrc-get repo export
- User Package Management
#1222- This release adds
vrc-get user-packagesubcommands to manage user packages.
- This release adds
vrc-get reinstall <package id>to reinstall specified packages#1223- Skipping finding legacy assets when downgrading / upgrading / reinstalling package
#1581- This will speed up the process of downgrading / upgrading / reinstalling package.
Changed
- Error message will be shown if the SHA256 hash of the downloaded zip file does not match with the hash in the repository
#1183- Currently, official VCC does not verify the hash of the downloaded zip file, but it's better to verify the hash.
- For compatibility, even if the hash does not match, the file will be extracted with an error message.
- In the future, we may make this a hard error.
- Migration feature is no longer marked as experimental
#1559
Fixed
- Unity from Unity Hub will be registered as manually registered Unity
#1081 - Fails to uninstall packages on macOS with filesystem that doesn't support resource fork
#1402- This is typically seen on ExFAT or FAT32 filesystems, not on APFS or HFS+ filesystems.
- macOS internally creates files starting with
._for resource fork if the filesystem does not support resource fork. - vrc-get-vpm does not handle this file correctly and fails to uninstall the package.
- Prerelease version is choosen even if good stable version exists
#1745
1.8.2 - 2024-10-16
Fixed
- Hotfix: Added contact information about author of the project to the User-Agent
1.8.1 - 2024-05-13
Changed
- Relax validation for
package.jsonfor local user packages#750 - Improved handling for unlocked packages
#790 - Legacy Assets are remove even if the specified GUID does not match with the actual GUID
#901- This follows VCC 2.3.0 beta 3 behavior.
- Updated the recommended Unity 2022 version to 2022.3.22f1
#928 - Support repositories with bad packages
#954 - Use url in settings.json to load remote repository
#955
Fixed
- Installing package while Unity can be failed
#696
1.8.0 - 2024-03-31
Added
- Command to migrate a legacy VRCSDK3 project to VPM VRCSDK
#580- You can do with
vrc-get migrate vpmcommand.
- You can do with
Changed
- vrc-get now finds unity hub from registry key
#590 - vrc-get specific configuration is moved to
vrc-get/settings.json#607- This is done because we separated file for vrc-get-gui config file, and we may have more in the future os
to not dirty the folder, I moved the config file to
vrc-getfolder.
- This is done because we separated file for vrc-get-gui config file, and we may have more in the future os
to not dirty the folder, I moved the config file to
- Legacy Assets are not removed if the specified GUID does not match with the actual GUID
#677- This follows VCC 2.3.0 beta behavior.
Fixed
- Some embedded / installed vpm package is not recognized by vrc-get
#609- This makes
d4rkAvatarOptimizeris recognized as not installed.
- This makes
- Fails to load all repositories if fails to load one repository
#551 - Legacy Projects cannot be added to VCC project list
#586 - Bad behaviors with unity 2018
#605 - Prerelease packages are installed if the version range contains prerelease
#676- To fix this problem, automatic allow prerelease rule is a bit changed.
- For resolving dependencies in
vpm-manifest.json, prerelease is used if version range contains prerelease. - For resolving dependencies of packages, prerelease is used if the dependant package is prerelease and the matching version is only contained in prereleases.
- This does not change behavior of
--prereleaseoption.
- False positive conflicts with legacy packages
#676
1.7.1 - 2024-03-01
Changed
- When you call
vrc-get vccwithout enablingexperimental-vccfeature, it will show you a warning#485
Fixed
- Empty
depeneenciesblock oflockedsection invpm-manifest.jsonis removed#478- This follows the changed behavior of the official VPM command.
1.7.0 - 2024-02-27
Added
vrc-get downgradewhich is for downgrading package#409
Changed
vrc-getwill not searchPackagesfolder for legacy assets with GUID#439- Specifying
Packages/<package id>folder as a legacy folder is still supported.
- Specifying
Fixed
- projects migrated from
settings.jsonto litedb does not haveUnityVersion#411 vrc-get repo addadds a relative path tosettings.json#440vrc-get repo addaccepts invalid path to the local repository#440- last modified on the vcc project database is not updated
#443
1.6.1 - 2024-02-25
Fixed
- repositories with
vrc-get.yankbut withoutvrc-get.aliasesnot working
1.6.0 - 2024-02-16
Added
- Changelog
#351- I wrote changelog for all releases for all releases
- global (whole-user) configuration for vrc-get
#352- create in the
%LOCALAPPDATA%/VRChatCreatorCompanion/vrc-get-settings.jsonor$XDG_DATA_HOME/VRChatCreatorCompanion/vrc-get-settings.json - This feature is not stable yet. Using this feature will warn you about it and use at your own risk.
#362
- create in the
- Feature to ignore official / curated repositories
#352- You can enable this feature in
vrc-get-settings.jsonby settingignoreOfficialRepositoryorignoreCuratedRepositoryto true. - This feature is replacement of
experimental-override-predefinedfeature since 1.4.1.- Please add alternative repository to user repository and enable this feature to use alternative repository instead of official / curated repository.
- This feature is not stable yet. Using this feature will warn you about it and use at your own risk.
#362#365
- You can enable this feature in
vrc-get-litedbcrate which is NativeAOT based LiteDB wrapper for vrc-get#320vrc-get vcccommands which is a command for vrc-get as a VCC project#369#396- This feature is disabled by default. pass
--features experimental-vccto cargo to enable this feature.#384 vrc-get vcc project listto list projects#369vrc-get vcc project add <path>to add a project to project list#369vrc-get vcc project remove <path>to remove a project from project list#369vrc-get vcc unity listto list unity in vcc's unity list#382vrc-get vcc unity add <path>to add a unity to vcc's unity list#382vrc-get vcc unity remove <path>to remove a unity from vcc's unity list#382- In addition,
vrc-get migrate unity 2022command will get unity from the vcc's unity list#382
- This feature is disabled by default. pass
- Tests for
vrc-get-vpmmodule.#393- For basic project operations, I added tests in
vrc-get-vpmmodule.
- For basic project operations, I added tests in
vrc-get i --name <name>to install package by name#398- Currently, name-based search ignores whitespace in the name.
- This feature is experimental. Behavior may change in the future.
vrc-getproperty inpackage.jsonfor extra metadata for vrc-get#399- with
yankedfield, you can yank the package from the repository.#399- setting
"yanked": truewill make your package yanked and"yanked": "reason"tell the reason of yanking.
- setting
- with
aliasesfield, you can add aliases forvrc-get i --namedescribed above#399- since
vrc-get i --nameis experimental, this feature is also experimental.
- since
- with
zipSHA256property support#406- You can add
zipSHA256property topackage.jsonto specify SHA256 hash of the zip file. - Currently
vrc-getverifies the hash of the zip file when using cache as VCC does. - I may add verification for downloaded zip file in the future.
- You can add
- Better logging style
#407- Now,
vrc-getuses our formatting style for logging if none ofRUST_LOG_STYLEandRUST_LOGare set. - This style is shorter than
env_logger's default style so better for default CLI usage. - If you need more detailed logs, you can set
RUST_LOGto get more detailed information.
- Now,
Changed
- Improved confirmation behaviour about updating
dependencies#395- Previously, the confirmation show nothing about updating
dependenciessince it's almost safe (just updatingvpm-manifest.json). - Since this release,
vrc-getshows about what's updatingdependencies - In addition, if actual operaion is just updating
dependencies,vrc-getwill just show updates and apply changes without confirmation.
- Previously, the confirmation show nothing about updating
Fixed
- Warnings about index map
#350 vrc-get repo removenot working#361writing local repo cache 'Repos/vrc-curated.json'error#365- Prompt is shown even if there is nothing to update
#393 - Conflict warning can be shown even if new conflicts are not caused
#393#400 - Directory traversal with
legacyFoldersandlegacyFiles#393 - You can add unused package to locked with
vrc-get upgrade#403- Now, vrc-get show you
Package <id> is not locked, so it cannot be upgradederror.
- Now, vrc-get show you
- Panic when upgrading unused package with
vrc-get upgrade#403
1.5.3 - 2024-02-03
Fixed
1.5.2 - 2024-01-21
Fixed
- UPM manifest without dependencies block
#331
Security
- DoS vulnerability in
h2crate is fixed in this release#332- See GHSA-8r5v-vm4m-4g25 for more information about this vulnerability
1.5.1 - 2024-01-16
Added
- More goals to the README
#327
Fixed
- Prebuilt binaries are not static linked
#329
1.5.0 - 2024-01-14
Added
vrc-get migrate unity project 2022to migrate a project to Unity 2022#309- Support for
vrc-get resolveto resolve a template project#310
Fixed
vrc-get rm <package>cannot remove legacy package of install packages#312
1.4.3 - 2024-01-06
Changed
- Internally merged resolve, install, update, and remove process
#299 vrc-get resolve <package> <version>andvrc-get resolve --prereleaseis now hard error. It's unexpectedly accepted.#299vrc-get removenow confirms if there is conflict#299- Enabled cargo distribution since deflate64 support of async_zip is now published to crates.io
#300#301
1.4.2 - 2023-12-24
Fixed
vrc-get upgradeall packages is broken#287
1.4.1 - 2023-12-23
Added
- Experimental yank support
#273 - Experimental support for overriding official repository with another repository
#274- Those experimental features are under feature flags and not enabled by default
#285
- Those experimental features are under feature flags and not enabled by default
Changed
- Changed to our own semver impl since
semvercrate does not for npm-style version range#270#277 - Internally separated crate for
vrc-getvpm client core#271 vrc-get resolvenow reports installed packages#273
Fixed
- Some process are not in parallel
#278 - Resolving prerelease packages from unlocked packages fails
#284
1.4.0 - 2023-12-10
Added
unityfield on package json support#264- This includes Unity 2022 / VCC 2.2.0 support
1.3.2 - 2023-10-15
Added
- Scoop installation to README
#233
Fixed
- Possible infinity loop with deflate64 compression
#241
1.3.1 - 2023-10-06
Changed
- Now we use
rustlsas a default TLS backend instead ofnative-tls#232
1.3.0 - 2023-09-21
Added
Fixed
- Several UI problems
#222
1.2.0 - 2023-09-17
Changed
vrc-get info projectnow shows installed package information in human-readable format518e8c3async_zipis now as a git dependencies instead of submodule4be0b16
Fixed
- There are no information on error with unlocked package
2814626
1.1.3 - 2023-08-20
Added
completionsupport#36
Changed
- Temporary removed crates.io distribution since deflate64 compression is not supported by packages on crates.io
Fixed
- zip file with deflate64 compression cannot be extracted
#200
1.1.2 - 2023-07-08
Fixed
- Conflict error if the locked version is older than dependencies version
#177
1.1.1 - 2023-06-25
Fixed
- Error with BOM from remote repository
#167
1.1.0 - 2023-06-19
Added
vrc-get info projectnow shows information about dependencies#165
Fixed
- Auto removing unused packages does not consider unlocked packages
#160
1.0.2 - 2023-06-07
Added
vrc-get updateto update all local repository cache#154--no-updateoption not to update all local repository cache#154vrc-get info projectto get installed package information#154vrc-get info packageto package information#154
1.0.1 - 2023-05-15
Fixed
- Error with null guid on
legacyFoldersorlegacyFolders#146 - Legacy assets are removed if installing package failed during installing
#147
1.0.0 - 2023-04-30
Fixed
1.0.xdoes not match1.0.0-beta#135
0.2.6 - 2023-04-27
Fixed
0.2.5 - 2023-04-16
Changed
- improved support for prerelease packages
#126
Fixed
- Prompting breaks the cursor
#127
0.2.4 - 2023-04-15
Fixed
- Repositories without
idwill be removed fromsettings.json#125
0.2.3 - 2023-04-15
Added
- Removes id duplicated repositories after mutating operation
#123
Changed
- Now prebuilt
vrc-getfor windows is almost static linked#121- All dynamically linked dlls are NT-kernel dlls so it's no longer needed to install any dlls to run prebuilt
vrc-geton windows
- All dynamically linked dlls are NT-kernel dlls so it's no longer needed to install any dlls to run prebuilt
Removed
- Support for repositories not listed on
settings.json#122
Fixed
0.2.2 - 2023-04-09
Added
vrc-get repo add -Has alias ofvrc-get add repo --headers#113vrc-get repo rmnow accepts repository id#113
Changed
vrc-get repo addnow creates local cache withidas a file name#112
0.2.1 - 2023-04-09
Fixed
- Several bugs about
idandheaders#105
0.2.0 - 2023-04-07
Added
- Support for legacyFolders
#99 - Confirm before adding packages
#99 - Support for
idfield of repository#89#100 - Adding repositories with
headersconfiguration of repository#102
Changed
- Improved dependency resolution algorithm
#91 - Internally split process to fetch remote repository and resolving packages
#97
Fixed
- User packages are not proceed
#98
0.1.13 - 2023-03-28
Changed
- Updated multiple dependencies
Fixed
0.1.12 - 2023-03-22
Security
0.1.11 - 2023-03-21
Fixed
Security
- Possible directory traversal
#68
0.1.10 - 2023-03-11
Added
- Small description for each command on the README
#47 - More debug-level logs
#56 - Improved way to get LocalAppData folder path
#57
Fixed
0.1.9 - 2023-02-16
Fixed
- Unlocked packages are not proceeded correctly on resolve command
#45 - Releasing to homebrew is not working
#46
0.1.8 - 2023-02-14
Added
Changed
- Improved README
#38
Fixed
- Error occurs with bom in the file
#40
0.1.7 - 2023-02-10
Added
- Commands added in 0.1.6 to readme
#31 --offlineoption to many commands#32- Link to homebrew distribution
#34
Changed
- Improved error message for most commands
#33
0.1.6 - 2023-02-09
Added
- Notice this is not VRChat-official project.
f9c1635 vrc-get search#26vrc-get resolveas a alias ofvrc-get install#27- Crates.io distribution
#28
Fixed
- Unused packages are not removed after updating / removing package
#24 - Rust cache is shared between platforms
#30
0.1.5 - 2023-02-06
Added
- Installation step for installation to GitHub actions
9242a63be62276 vrc-get outdatedcommand to check if there are outdated packages17f900cvrc-get updatecommand to update all/specified packages60d2dbfvrc-get outdated --json-format 1to get outdated packages in machine-readable JSON format99e82db
Changed
- Reduced memory usage and improved speed of downloading package by using
streamfeature ofreqwestfd1cf49
0.1.4 - 2023-01-25
Changed
- Speed of
vrc-get resolvecommanddcc8561
Fixed
- Error if repository cache folder does not exists
4fe7d59
0.1.3 - 2023-01-25
Fixed
- Error occurs if global configuration folder does not exists
0bf9b44
0.1.2 - 2023-01-25
Added
- Documentation to install this tool
89d404b - Check SHA256 hash of zip to check if the file is valid
68442ad vrc-get ias alias ofvrc-get install7df45e5a5abf45- etag based cache for repository json
ee59813
Fixed
- Release action is still broken
vrc-get rmis not working46144fd--versionis not working8c416dcvrc-get installinstalls the oldest version instead of newest version6f0cc7bvrc-get installdoes not add dependencies tolockedf7b3511
0.1.1 - 2023-01-25
Fixed
- Release action is broken
0.1.0 - 2023-01-25
Initial Release