Changelog of @hackage/nvfetcher 0.5.0.0

Revision history for nvfetcher

0.5.0.0

There have been many significant changes since the last release. Starting from this version, nvfetcher no longer requires shake database for each project, in other words, there is no need to commit the database in git or share it between machines. Also, a machine-readable generated.json will be generated for convenience.

Migration

The option in TOML configuration cargo_lock (string) was changed to cargo_locks (list of strings), since now nvfetcher supports handling multi-cargo locks.

  • Use fetchFromGitHub as the GitHub fetcher (introduces nix-prefetch)
  • Add cmd version source
  • Support pinning a package
  • Tweak src name to extract .vsx file properly
  • Add option --filter to specify packages to update
  • Fix missing argActionAfterBuild
  • Add one shot nvchecker rule independent of package definition
  • Don't cache generated nix exprs in shake database
  • Add fetchTarball
  • Produce parser readable generated.json
  • Internalize shake database
  • Validate config before decoding
  • Extract Config from Arg and save it to shake extra
  • Breakdown Args to provide a more concise API
  • Support multi-cargo lock files
  • Pretty print rules in command line

0.4.0.0

  • Rename _build to _sources
  • Remove the symlink sources.nix -> _sources/generated.nix
    • Remove CLI option --output (was used to set the symlink source name, sources.nix by default)
    • Add CLI option build-dir to specify build directory (_sources by default)
  • Add CLI option --commit-changes to commit changes of build directory
  • Support openvsx and vsmarketplace version sources (needs new version of nvchecker)
  • Support attributes pass through
  • Fix the bug that Core rule was cut off even if the configuration has changed (no longer needs to use nvfetcher clean to keep the build system consistency manually)
  • Fix the parser of git source in Cargo.lock
  • Fix wrong trailing white spances in generated nix expr
  • Fix missing semicolon in generated nix expr that reads Cargo.lock file
  • Enhance eDSL experience
  • Add some unit tests

0.3.0.0

There are massive enhancements since the last release:

  • Add support for nvchecker list options
  • Refactor TOML config parsing
  • Remove version specification in fetcher config (fetch.url = url:version -> fetch.url = url)
  • Add support for calculating cargoLock for rustPlatform.buildRustPackage
  • Add support for nvchecker global options
  • Remove ambiguous branch specification (git.branch) from git fetcher
  • Enable parallelism by default
  • Add a global retry option
  • Rename .shake to _build
  • Generate nix output file in _build, and symlink it to ../sources.nix (You have to keep _build as the nvfetcher run result)
  • Support extracting arbitrary files from fetched package source
  • Add nvchecker upstream sources src.webpage and src.httpheader
  • Add nvchecker upstream source src.github_tag
  • Share CLI between runNvfetcher (use nvfetcher in the DSL way) and nvfetcher executable program
  • Nix related improvements:
    • Add a development shell ghcWithNvfetcher for people who want to use nvfetcher as a Haskell library
    • Generate command line completion for the executable

0.2.0.0

  • Generated package sources will be sorted alphabetically.
  • CLI program now supports nix-git-prefetch configurations in TOML.
  • Lenses are added for some data types.
  • CLI options are no loger inherited from Shake. Now nvfetcher has its own CLI options with completion support.

0.1.0.0

  • First version. Released on an unsuspecting world.