All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
- Per-package
headers
field 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
- Unity from Unity Hub will be registered as manually registered Unity
#1081
1.8.1 - 2024-05-13
- Relax validation for
package.json
for 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
- Installing package while Unity can be failed
#696
1.8.0 - 2024-03-31
- Command to migrate a legacy VRCSDK3 project to VPM VRCSDK
#580
- You can do with
vrc-get migrate vpm
command.
- You can do with
- 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-get
folder.
- 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.
- Some embedded / installed vpm package is not recognized by vrc-get
#609
- This makes
d4rkAvatarOptimizer
is 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
--prerelease
option.
- False positive conflicts with legacy packages
#676
1.7.1 - 2024-03-01
- When you call
vrc-get vcc
without enablingexperimental-vcc
feature, it will show you a warning#485
- Empty
depeneencies
block oflocked
section invpm-manifest.json
is removed#478
- This follows the changed behavior of the official VPM command.
1.7.0 - 2024-02-27
vrc-get downgrade
which is for downgrading package#409
vrc-get
will not searchPackages
folder for legacy assets with GUID#439
- Specifying
Packages/<package id>
folder as a legacy folder is still supported.
- Specifying
- projects migrated from
settings.json
to litedb does not haveUnityVersion
#411
vrc-get repo add
adds a relative path tosettings.json
#440
vrc-get repo add
accepts invalid path to the local repository#440
- last modified on the vcc project database is not updated
#443
1.6.1 - 2024-02-25
- repositories with
vrc-get.yank
but withoutvrc-get.aliases
not working
1.6.0 - 2024-02-16
- 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.json
or$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.json
by settingignoreOfficialRepository
orignoreCuratedRepository
to true. - This feature is replacement of
experimental-override-predefined
feature 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-litedb
crate which is NativeAOT based LiteDB wrapper for vrc-get#320
vrc-get vcc
commands which is a command for vrc-get as a VCC project#369
#396
- This feature is disabled by default. pass
--features experimental-vcc
to cargo to enable this feature.#384
vrc-get vcc project list
to list projects#369
vrc-get vcc project add <path>
to add a project to project list#369
vrc-get vcc project remove <path>
to remove a project from project list#369
vrc-get vcc unity list
to list unity in vcc's unity list#382
vrc-get vcc unity add <path>
to add a unity to vcc's unity list#382
vrc-get vcc unity remove <path>
to remove a unity from vcc's unity list#382
- In addition,
vrc-get migrate unity 2022
command will get unity from the vcc's unity list#382
- This feature is disabled by default. pass
- Tests for
vrc-get-vpm
module.#393
- For basic project operations, I added tests in
vrc-get-vpm
module.
- 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-get
property inpackage.json
for extra metadata for vrc-get#399
- with
yanked
field, you can yank the package from the repository.#399
- setting
"yanked": true
will make your package yanked and"yanked": "reason"
tell the reason of yanking.
- setting
- with
aliases
field, you can add aliases forvrc-get i --name
described above#399
- since
vrc-get i --name
is experimental, this feature is also experimental.
- since
- with
zipSHA256
property support#406
- You can add
zipSHA256
property topackage.json
to specify SHA256 hash of the zip file. - Currently
vrc-get
verifies 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-get
uses our formatting style for logging if none ofRUST_LOG_STYLE
andRUST_LOG
are 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_LOG
to get more detailed information.
- Now,
- Improved confirmation behaviour about updating
dependencies
#395
- Previously, the confirmation show nothing about updating
dependencies
since it's almost safe (just updatingvpm-manifest.json
). - Since this release,
vrc-get
shows about what's updatingdependencies
- In addition, if actual operaion is just updating
dependencies
,vrc-get
will just show updates and apply changes without confirmation.
- Previously, the confirmation show nothing about updating
- Warnings about index map
#350
vrc-get repo remove
not working#361
writing 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
legacyFolders
andlegacyFiles
#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 upgraded
error.
- Now, vrc-get show you
- Panic when upgrading unused package with
vrc-get upgrade
#403
1.5.3 - 2024-02-03
1.5.2 - 2024-01-21
- UPM manifest without dependencies block
#331
- DoS vulnerability in
h2
crate is fixed in this release#332
- See GHSA-8r5v-vm4m-4g25 for more information about this vulnerability
1.5.1 - 2024-01-16
- More goals to the README
#327
- Prebuilt binaries are not static linked
#329
1.5.0 - 2024-01-14
vrc-get migrate unity project 2022
to migrate a project to Unity 2022#309
- Support for
vrc-get resolve
to resolve a template project#310
vrc-get rm <package>
cannot remove legacy package of install packages#312
1.4.3 - 2024-01-06
- Internally merged resolve, install, update, and remove process
#299
vrc-get resolve <package> <version>
andvrc-get resolve --prerelease
is now hard error. It's unexpectedly accepted.#299
vrc-get remove
now 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
vrc-get upgrade
all packages is broken#287
1.4.1 - 2023-12-23
- 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 to our own semver impl since
semver
crate does not for npm-style version range#270
#277
- Internally separated crate for
vrc-get
vpm client core#271
vrc-get resolve
now reports installed packages#273
- Some process are not in parallel
#278
- Resolving prerelease packages from unlocked packages fails
#284
1.4.0 - 2023-12-10
unity
field on package json support#264
- This includes Unity 2022 / VCC 2.2.0 support
1.3.2 - 2023-10-15
- Scoop installation to README
#233
- Possible infinity loop with deflate64 compression
#241
1.3.1 - 2023-10-06
- Now we use
rustls
as a default TLS backend instead ofnative-tls
#232
1.3.0 - 2023-09-21
- Several UI problems
#222
1.2.0 - 2023-09-17
vrc-get info project
now shows installed package information in human-readable format518e8c3
async_zip
is now as a git dependencies instead of submodule4be0b16
- There are no information on error with unlocked package
2814626
1.1.3 - 2023-08-20
completion
support#36
- Temporary removed crates.io distribution since deflate64 compression is not supported by packages on crates.io
- zip file with deflate64 compression cannot be extracted
#200
1.1.2 - 2023-07-08
- Conflict error if the locked version is older than dependencies version
#177
1.1.1 - 2023-06-25
- Error with BOM from remote repository
#167
1.1.0 - 2023-06-19
vrc-get info project
now shows information about dependencies#165
- Auto removing unused packages does not consider unlocked packages
#160
1.0.2 - 2023-06-07
vrc-get update
to update all local repository cache#154
--no-update
option not to update all local repository cache#154
vrc-get info project
to get installed package information#154
vrc-get info package
to package information#154
1.0.1 - 2023-05-15
- Error with null guid on
legacyFolders
orlegacyFolders
#146
- Legacy assets are removed if installing package failed during installing
#147
1.0.0 - 2023-04-30
1.0.x
does not match1.0.0-beta
#135
0.2.6 - 2023-04-27
0.2.5 - 2023-04-16
- improved support for prerelease packages
#126
- Prompting breaks the cursor
#127
0.2.4 - 2023-04-15
- Repositories without
id
will be removed fromsettings.json
#125
0.2.3 - 2023-04-15
- Removes id duplicated repositories after mutating operation
#123
- Now prebuilt
vrc-get
for 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-get
on windows
- All dynamically linked dlls are NT-kernel dlls so it's no longer needed to install any dlls to run prebuilt
- Support for repositories not listed on
settings.json
#122
0.2.2 - 2023-04-09
vrc-get repo add -H
as alias ofvrc-get add repo --headers
#113
vrc-get repo rm
now accepts repository id#113
vrc-get repo add
now creates local cache withid
as a file name#112
0.2.1 - 2023-04-09
- Several bugs about
id
andheaders
#105
0.2.0 - 2023-04-07
- Support for legacyFolders
#99
- Confirm before adding packages
#99
- Support for
id
field of repository#89
#100
- Adding repositories with
headers
configuration of repository#102
- Improved dependency resolution algorithm
#91
- Internally split process to fetch remote repository and resolving packages
#97
- User packages are not proceed
#98
0.1.13 - 2023-03-28
- Updated multiple dependencies
0.1.12 - 2023-03-22
0.1.11 - 2023-03-21
- Possible directory traversal
#68
0.1.10 - 2023-03-11
- Small description for each command on the README
#47
- More debug-level logs
#56
- Improved way to get LocalAppData folder path
#57
0.1.9 - 2023-02-16
- Unlocked packages are not proceeded correctly on resolve command
#45
- Releasing to homebrew is not working
#46
0.1.8 - 2023-02-14
- Improved README
#38
- Error occurs with bom in the file
#40
0.1.7 - 2023-02-10
- Commands added in 0.1.6 to readme
#31
--offline
option to many commands#32
- Link to homebrew distribution
#34
- Improved error message for most commands
#33
0.1.6 - 2023-02-09
- Notice this is not VRChat-official project.
f9c1635
vrc-get search
#26
vrc-get resolve
as a alias ofvrc-get install
#27
- Crates.io distribution
#28
- Unused packages are not removed after updating / removing package
#24
- Rust cache is shared between platforms
#30
0.1.5 - 2023-02-06
- Installation step for installation to GitHub actions
9242a63
be62276
vrc-get outdated
command to check if there are outdated packages17f900c
vrc-get update
command to update all/specified packages60d2dbf
vrc-get outdated --json-format 1
to get outdated packages in machine-readable JSON format99e82db
- Reduced memory usage and improved speed of downloading package by using
stream
feature ofreqwest
fd1cf49
0.1.4 - 2023-01-25
- Speed of
vrc-get resolve
commanddcc8561
- Error if repository cache folder does not exists
4fe7d59
0.1.3 - 2023-01-25
- Error occurs if global configuration folder does not exists
0bf9b44
0.1.2 - 2023-01-25
- Documentation to install this tool
89d404b
- Check SHA256 hash of zip to check if the file is valid
68442ad
vrc-get i
as alias ofvrc-get install
7df45e5
a5abf45
- etag based cache for repository json
ee59813
- Release action is still broken
vrc-get rm
is not working46144fd
--version
is not working8c416dc
vrc-get install
installs the oldest version instead of newest version6f0cc7b
vrc-get install
does not add dependencies tolocked
f7b3511
0.1.1 - 2023-01-25
- Release action is broken
0.1.0 - 2023-01-25
Initial Release