Skip to content

Latest commit

 

History

History
486 lines (394 loc) · 28.5 KB

CHANGELOG.md

File metadata and controls

486 lines (394 loc) · 28.5 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog.

Added

  • 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.

Changed

Deprecated

Removed

Fixed

Security

1.8.1 - 2024-05-13

Changed

  • 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

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 vpm command.

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-get folder.
  • 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 d4rkAvatarOptimizer is recognized as not installed.
  • 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

Changed

  • When you call vrc-get vcc without enabling experimental-vcc feature, it will show you a warning #485

Fixed

  • Empty depeneencies block of locked section in vpm-manifest.json is removed #478
    • This follows the changed behavior of the official VPM command.

1.7.0 - 2024-02-27

Added

  • vrc-get downgrade which is for downgrading package #409

Changed

  • vrc-get will not search Packages folder for legacy assets with GUID #439
    • Specifying Packages/<package id> folder as a legacy folder is still supported.

Fixed

  • projects migrated from settings.json to litedb does not have UnityVersion #411
  • vrc-get repo add adds a relative path to settings.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

Fixed

  • repositories with vrc-get.yank but without vrc-get.aliases not 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.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
  • Feature to ignore official / curated repositories #352
    • You can enable this feature in vrc-get-settings.json by setting ignoreOfficialRepository or ignoreCuratedRepository 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
  • 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
  • Tests for vrc-get-vpm module. #393
    • For basic project operations, I added tests in vrc-get-vpm module.
  • 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 in package.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.
    • with aliases field, you can add aliases for vrc-get i --name described above #399
      • since vrc-get i --name is experimental, this feature is also experimental.
  • zipSHA256 property support #406
    • You can add zipSHA256 property to package.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.
  • Better logging style #407
    • Now, vrc-get uses our formatting style for logging if none of RUST_LOG_STYLE and RUST_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.

Changed

  • Improved confirmation behaviour about updating dependencies #395
    • Previously, the confirmation show nothing about updating dependencies since it's almost safe (just updating vpm-manifest.json).
    • Since this release, vrc-get shows about what's updating dependencies
    • In addition, if actual operaion is just updating dependencies, vrc-get will just show updates and apply changes without confirmation.

Fixed

  • 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 and legacyFiles #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.
  • Panic when upgrading unused package with vrc-get upgrade #403

1.5.3 - 2024-02-03

Fixed

  • Partial version ends with - is not supported #335
  • LF is used for line separator on windows #343

1.5.2 - 2024-01-21

Fixed

  • UPM manifest without dependencies block #331

Security

  • DoS vulnerability in h2 crate is fixed in this release #332

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 2022 to migrate a project to Unity 2022 #309
  • Support for vrc-get resolve to 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> and vrc-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

Fixed

  • vrc-get upgrade all 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

Changed

  • 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

Fixed

  • Some process are not in parallel #278
  • Resolving prerelease packages from unlocked packages fails #284

1.4.0 - 2023-12-10

Added

  • unity field 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 rustls as a default TLS backend instead of native-tls #232

1.3.0 - 2023-09-21

Added

  • legacyPackages support #219
  • version range notion in dependencies block #221

Fixed

  • Several UI problems #222

1.2.0 - 2023-09-17

Changed

  • vrc-get info project now shows installed package information in human-readable format 518e8c3
  • async_zip is now as a git dependencies instead of submodule 4be0b16

Fixed

  • There are no information on error with unlocked package 2814626

1.1.3 - 2023-08-20

Added

  • completion support #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 project now 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 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

Fixed

  • Error with null guid on legacyFolders or legacyFolders #146
  • Legacy assets are removed if installing package failed during installing #147

1.0.0 - 2023-04-30

Fixed

  • 1.0.x does not match 1.0.0-beta #135

0.2.6 - 2023-04-27

Fixed

  • versions on vrc-get repo packages is not sorted #128
  • 1.0.x does not match 1.0.0-beta #133

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 id will be removed from settings.json #125

0.2.3 - 2023-04-15

Added

  • Removes id duplicated repositories after mutating operation #123

Changed

  • 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

Removed

  • Support for repositories not listed on settings.json #122

Fixed

  • bad behaviors with package-cache.json #119
  • Error with local repository cahce without headers #120

0.2.2 - 2023-04-09

Added

  • vrc-get repo add -H as alias of vrc-get add repo --headers #113
  • vrc-get repo rm now accepts repository id #113

Changed

  • vrc-get repo add now creates local cache with id as a file name #112

0.2.1 - 2023-04-09

Fixed

  • Several bugs about id and headers #105

0.2.0 - 2023-04-07

Added

  • 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

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

  • Multiple requests are made to the same Repository #77
  • Release action is still broken #78

0.1.12 - 2023-03-22

Security

  • Possible directory traversal #71 #72

0.1.11 - 2023-03-21

Fixed

  • Release action is still broken #65
  • Possible infinity loop when installing package #67

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

  • Release action is still broken #48
  • README #50 #52
  • vrc-get add repo is not working #64

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

  • Automatic distribution to homebrew #37
  • Support for non-locked but exists packages #42 #43

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
  • --offline option 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 #26
  • vrc-get resolve as a alias of vrc-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 9242a63 be62276
  • vrc-get outdated command to check if there are outdated packages 17f900c
  • vrc-get update command to update all/specified packages 60d2dbf
  • vrc-get outdated --json-format 1 to get outdated packages in machine-readable JSON format 99e82db

Changed

  • Reduced memory usage and improved speed of downloading package by using stream feature of reqwest fd1cf49

0.1.4 - 2023-01-25

Changed

  • Speed of vrc-get resolve command dcc8561

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 i as alias of vrc-get install 7df45e5 a5abf45
  • etag based cache for repository json ee59813

Fixed

  • Release action is still broken
  • vrc-get rm is not working 46144fd
  • --version is not working 8c416dc
  • vrc-get install installs the oldest version instead of newest version 6f0cc7b
  • vrc-get install does not add dependencies to locked f7b3511

0.1.1 - 2023-01-25

Fixed

  • Release action is broken

0.1.0 - 2023-01-25

Initial Release