Releases: brioche-dev/brioche
v0.1.6
Check the v0.1.6 announcement blog post for an overview of the new features in this release
Thanks to @jaudiger, @nz366, and everyone else ho's contributed to Brioche this release via Pull Requests, issues, discussions, etc!
Note
Due to changes with the release process, existing installations of Brioche won't be able to self-update to this release! Check the "Installation" docs for instructions on installing the newest release, both for new installs and upgrades
Added
- Add support for aarch64 Linux! We have been using a nightly build in the Brioche Packages repo for quite some time, so all existing packages are available for x86-64 Linux and aarch64 Linux (with a few exceptions due to upstream package limitations)
- Add new
brioche live-updatesubcommand. Projects can export aliveUpdaterecipe, which can update the project metadata, such as by bumping the version number based on an upstream repository. This feature mainly exists to automate package updates in Brioche Packages (#234) - Add
--no-verifyflag tobrioche publishto skip type-checking and validating a project when publishing. This can be useful e.g. in a CI pipeline if a package is checked in an earlier step (#326) - (Experimental): Add
--experimental-lazyflag tobrioche build. This will allow short-circuiting the build if the build result is already available in the remote cache. (This flag is experimental and could be either renamed or removed in the future!) (#294)
Changed
- Overhaul release and self-update process (#281)
- Support implicit dependencies via dynamic
import()calls (#356) - Support evaluating recipe exports that aren't functions (#357)
- Speed up
brioche checkwhen checking multiple projects (#255) - Speed up
brioche fmtwhen formatting multiple projects (#338) - Improve OpenTelemetry output (#305)
- Remove a few uses of the legacy registry API (#239)
Fixed
- Fix "File exists" error that could sometimes happen when fetching a project from the registry (#259)
- Fix network errors not being retried when fetching from the cache (#286)
Removed
- Remove
brioche migrate-registry-to-cachecommand. This existed as an internal tool to help transition to the new cache, and so should no longer be needed (#355)
v0.1.6-rc.5
Note
This is a release candidate that's being used to test the new automated release process. Detailed release notes will be published with v0.1.6. The final v0.1.6 release is not expected to differ from this release by much. Due to issues being ironed out with the release process, v0.1.6-rc.1 and v0.1.6-rc.3 were not published.
What's Changed
- Add
brioche live-updatecommand to live-update/auto-update projects by @kylewlacy in #234 - Bump the cargo group with 12 updates by @dependabot[bot] in #236
- Update
live-updatesubcommand to useliveUpdateexport by @kylewlacy in #237 - Speed up debug compilation by @kylewlacy in #238
- Remove uses of legacy registry endpoints by @kylewlacy in #239
- Bump the cargo group with 7 updates by @dependabot[bot] in #240
- Fix
brioche live-updatenot showing output on error by @kylewlacy in #243 - Bump the cargo group with 8 updates by @dependabot[bot] in #244
- Bump the cargo group with 8 updates by @dependabot[bot] in #245
- Update rust version to 1.87 by @jaudiger in #248
- Upgrade Rust version for Brioche-in-Brioche by @kylewlacy in #249
- Add workaround for "file exists" bug in CI by @kylewlacy in #250
- Update CI macOS default images by @jaudiger in #251
- ci: add GitHub Actions update through dependabot by @jaudiger in #252
- Bump the cargo group across 1 directory with 10 updates by @dependabot[bot] in #253
- Bump the cargo group with 11 updates by @dependabot[bot] in #254
- Update
checksubcommand to check all projects in one pass by @kylewlacy in #255 - Update opentelemetry crates by @jaudiger in #257
- Bump reqwest from 0.12.18 to 0.12.19 in the cargo group by @dependabot[bot] in #258
- Fix another "file exists" bug when fetching projects from cache by @kylewlacy in #259
- Add JS op to get current platform by @kylewlacy in #260
- Bump the cargo group with 2 updates by @dependabot[bot] in #261
- Bump the cargo group with 10 updates by @dependabot[bot] in #262
- Bump the cargo group with 3 updates by @dependabot[bot] in #264
- Resolve some clippy pedantic lints by @jaudiger in #263
- Update all the transient dependencies by @jaudiger in #265
- Bump the cargo group with 2 updates by @dependabot[bot] in #266
- Update to Rust v1.88 by @kylewlacy in #267
- refactor: make use of the new if let chains pattern with Rust 1.88 by @jaudiger in #270
- Bump the cargo group with 6 updates by @dependabot[bot] in #273
- Update GitHub CI files by @jaudiger in #271
- ci(brioche): build aarch64 packed artifacts by @jaudiger in #272
- Update Dependabot configuration by @jaudiger in #274
- Bump the cargo group with 10 updates by @dependabot[bot] in #277
- Remove an argument cloning inside brioche download by @jaudiger in #279
- Bump the cargo group with 16 updates by @dependabot[bot] in #280
- Bump the cargo group with 70 updates by @dependabot[bot] in #282
- Bump the cargo group with 17 updates by @dependabot[bot] in #284
- Bump object store by @nz366 in #287
- Bump the cargo group with 18 updates by @dependabot[bot] in #289
- Bump actions/download-artifact from 4 to 5 by @dependabot[bot] in #291
- Fix CI build for packed aarch64 artifact using x86-64 by @kylewlacy in #292
- Use Brioche nightly for building packed aarch64 build by @kylewlacy in #293
- Add new
--experimental-lazyCLI option forbrioche buildby @kylewlacy in #294 - Update Rust version to 1.89 by @jaudiger in #295
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #296
- Update clippy lints by @jaudiger in #297
- Fix
live-updateremoving some TypeScript annotations by @kylewlacy in #298 - chore(cargo): resolve all the automatic fixables lints from pedantic by @jaudiger in #299
- Use lazy lock when it's possible by @jaudiger in #300
- build: remove features from tokio-util dependency by @jaudiger in #301
- Fix panic when enabling OpenTelemetry output by @kylewlacy in #303
- Build(deps): bump slab from 0.4.10 to 0.4.11 by @dependabot[bot] in #304
- Improve OpenTelemetry output by @kylewlacy in #305
- feat(otel): refactor the code and add logging exporting by @jaudiger in #306
- Continue to resolve Clippy pedantic lints by @jaudiger in #307
- build: update Rust version to 1.90 by @jaudiger in #309
- chore(clippy): add unreadable_literal lint to Cargo.toml by @jaudiger in #310
- Upgrade Brioche-in-Brioche dependenices by @kylewlacy in #311
- Allow setting hash algorithm for HashSet/HashMap by @jaudiger in #312
- Resolve all the pedantic lints by @jaudiger in #313
- Update GitHub CI by @jaudiger in #314
- ci: update workflow to use runs-on instead of runs_on by @jaudiger in #315
- ci: update workflow to use matrix include syntax by @jaudiger in #316
- refactor(ci): use latest version of
brioche-dev/setup-briocheto simplify Brioche installation by @jaudiger in #317 - build: update object_store to version 0.12.4 by @jaudiger in #323
- Sign and restructure built binaries by @kylewlacy in #281
- Switch to
xzfor Brioche release artifacts by @kylewlacy in #324 - Add publish args to skip some checks when used in CI by @jaudiger in #326
- Small tweaking here and there by @jaudiger in #337
- build: remove assert_matches from dependencies, add to dev-dependencies by @jaudiger in #336
- build: update opentelemetry dependencies to latest versions by @jaudiger in #335
- Update efficiency of format command when working with multiple projects by @jaudiger in #338
- Build(deps): bump actions/download-artifact from 4 to 5 by @dependabot[bot] in #341
- Add internal post-install step for Brioche installation and updates by @kylewlacy in #342
- build: remove target setup from rust toolchain toml file by @jaudiger in #345
- Update Dependabot config by @jaudiger in #346
- Build(deps): bump the cargo group with 24 updates by @dependabot[bot] in #347
- Build(deps): bump the cargo group with 10 updates by @dependabot[bot] in #348
- Build(deps): bump the cargo group with 7 updates by @dependabot[bot] in #351
- Build(deps): bump actions/download-artifact from 5 to 6 by @dependabot[bot] in #350
- Build(deps): bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #349
- Update CI to attest artifacts by @kylewlacy in #352
- Remove
migrate-registry-to-cachecommand by @kylewlacy in #355 - Support dynamic imports for implicit dependencies by @kylewlacy in https://github.com...
v0.1.6-rc.4
Note
This is a release candidate that's being used to test the new automated release process. Detailed release notes will be published with v0.1.6. The final v0.1.6 release is not expected to differ from this release by much. Due to issues being ironed out with the release process, v0.1.6-rc.1 and v0.1.6-rc.3 were not published.
What's Changed
- Add
brioche live-updatecommand to live-update/auto-update projects by @kylewlacy in #234 - Bump the cargo group with 12 updates by @dependabot[bot] in #236
- Update
live-updatesubcommand to useliveUpdateexport by @kylewlacy in #237 - Speed up debug compilation by @kylewlacy in #238
- Remove uses of legacy registry endpoints by @kylewlacy in #239
- Bump the cargo group with 7 updates by @dependabot[bot] in #240
- Fix
brioche live-updatenot showing output on error by @kylewlacy in #243 - Bump the cargo group with 8 updates by @dependabot[bot] in #244
- Bump the cargo group with 8 updates by @dependabot[bot] in #245
- Update rust version to 1.87 by @jaudiger in #248
- Upgrade Rust version for Brioche-in-Brioche by @kylewlacy in #249
- Add workaround for "file exists" bug in CI by @kylewlacy in #250
- Update CI macOS default images by @jaudiger in #251
- ci: add GitHub Actions update through dependabot by @jaudiger in #252
- Bump the cargo group across 1 directory with 10 updates by @dependabot[bot] in #253
- Bump the cargo group with 11 updates by @dependabot[bot] in #254
- Update
checksubcommand to check all projects in one pass by @kylewlacy in #255 - Update opentelemetry crates by @jaudiger in #257
- Bump reqwest from 0.12.18 to 0.12.19 in the cargo group by @dependabot[bot] in #258
- Fix another "file exists" bug when fetching projects from cache by @kylewlacy in #259
- Add JS op to get current platform by @kylewlacy in #260
- Bump the cargo group with 2 updates by @dependabot[bot] in #261
- Bump the cargo group with 10 updates by @dependabot[bot] in #262
- Bump the cargo group with 3 updates by @dependabot[bot] in #264
- Resolve some clippy pedantic lints by @jaudiger in #263
- Update all the transient dependencies by @jaudiger in #265
- Bump the cargo group with 2 updates by @dependabot[bot] in #266
- Update to Rust v1.88 by @kylewlacy in #267
- refactor: make use of the new if let chains pattern with Rust 1.88 by @jaudiger in #270
- Bump the cargo group with 6 updates by @dependabot[bot] in #273
- Update GitHub CI files by @jaudiger in #271
- ci(brioche): build aarch64 packed artifacts by @jaudiger in #272
- Update Dependabot configuration by @jaudiger in #274
- Bump the cargo group with 10 updates by @dependabot[bot] in #277
- Remove an argument cloning inside brioche download by @jaudiger in #279
- Bump the cargo group with 16 updates by @dependabot[bot] in #280
- Bump the cargo group with 70 updates by @dependabot[bot] in #282
- Bump the cargo group with 17 updates by @dependabot[bot] in #284
- Bump object store by @nz366 in #287
- Bump the cargo group with 18 updates by @dependabot[bot] in #289
- Bump actions/download-artifact from 4 to 5 by @dependabot[bot] in #291
- Fix CI build for packed aarch64 artifact using x86-64 by @kylewlacy in #292
- Use Brioche nightly for building packed aarch64 build by @kylewlacy in #293
- Add new
--experimental-lazyCLI option forbrioche buildby @kylewlacy in #294 - Update Rust version to 1.89 by @jaudiger in #295
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #296
- Update clippy lints by @jaudiger in #297
- Fix
live-updateremoving some TypeScript annotations by @kylewlacy in #298 - chore(cargo): resolve all the automatic fixables lints from pedantic by @jaudiger in #299
- Use lazy lock when it's possible by @jaudiger in #300
- build: remove features from tokio-util dependency by @jaudiger in #301
- Fix panic when enabling OpenTelemetry output by @kylewlacy in #303
- Build(deps): bump slab from 0.4.10 to 0.4.11 by @dependabot[bot] in #304
- Improve OpenTelemetry output by @kylewlacy in #305
- feat(otel): refactor the code and add logging exporting by @jaudiger in #306
- Continue to resolve Clippy pedantic lints by @jaudiger in #307
- build: update Rust version to 1.90 by @jaudiger in #309
- chore(clippy): add unreadable_literal lint to Cargo.toml by @jaudiger in #310
- Upgrade Brioche-in-Brioche dependenices by @kylewlacy in #311
- Allow setting hash algorithm for HashSet/HashMap by @jaudiger in #312
- Resolve all the pedantic lints by @jaudiger in #313
- Update GitHub CI by @jaudiger in #314
- ci: update workflow to use runs-on instead of runs_on by @jaudiger in #315
- ci: update workflow to use matrix include syntax by @jaudiger in #316
- refactor(ci): use latest version of
brioche-dev/setup-briocheto simplify Brioche installation by @jaudiger in #317 - build: update object_store to version 0.12.4 by @jaudiger in #323
- Sign and restructure built binaries by @kylewlacy in #281
- Switch to
xzfor Brioche release artifacts by @kylewlacy in #324 - Add publish args to skip some checks when used in CI by @jaudiger in #326
- Small tweaking here and there by @jaudiger in #337
- build: remove assert_matches from dependencies, add to dev-dependencies by @jaudiger in #336
- build: update opentelemetry dependencies to latest versions by @jaudiger in #335
- Update efficiency of format command when working with multiple projects by @jaudiger in #338
- Build(deps): bump actions/download-artifact from 4 to 5 by @dependabot[bot] in #341
- Add internal post-install step for Brioche installation and updates by @kylewlacy in #342
- build: remove target setup from rust toolchain toml file by @jaudiger in #345
- Update Dependabot config by @jaudiger in #346
- Build(deps): bump the cargo group with 24 updates by @dependabot[bot] in #347
- Build(deps): bump the cargo group with 10 updates by @dependabot[bot] in #348
- Build(deps): bump the cargo group with 7 updates by @dependabot[bot] in #351
- Build(deps): bump actions/download-artifact from 5 to 6 by @dependabot[bot] in #350
- Build(deps): bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #349
- Update CI to attest artifacts by @kylewlacy in #352
- Remove
migrate-registry-to-cachecommand by @kylewlacy in #355 - Support dynamic imports for implicit dependencies by @kylewlacy in https://github.com...
v0.1.6-rc.2
Note
This is a release candidate that's being used to test the new automated release process. Detailed release notes will be published with v0.1.6. The final v0.1.6 release is not expected to differ from this release by much. Also, due to an issue with the release process while still in flight, v0.1.6-rc.1 was not published.
What's Changed
- Add
brioche live-updatecommand to live-update/auto-update projects by @kylewlacy in #234 - Bump the cargo group with 12 updates by @dependabot[bot] in #236
- Update
live-updatesubcommand to useliveUpdateexport by @kylewlacy in #237 - Speed up debug compilation by @kylewlacy in #238
- Remove uses of legacy registry endpoints by @kylewlacy in #239
- Bump the cargo group with 7 updates by @dependabot[bot] in #240
- Fix
brioche live-updatenot showing output on error by @kylewlacy in #243 - Bump the cargo group with 8 updates by @dependabot[bot] in #244
- Bump the cargo group with 8 updates by @dependabot[bot] in #245
- Update rust version to 1.87 by @jaudiger in #248
- Upgrade Rust version for Brioche-in-Brioche by @kylewlacy in #249
- Add workaround for "file exists" bug in CI by @kylewlacy in #250
- Update CI macOS default images by @jaudiger in #251
- ci: add GitHub Actions update through dependabot by @jaudiger in #252
- Bump the cargo group across 1 directory with 10 updates by @dependabot[bot] in #253
- Bump the cargo group with 11 updates by @dependabot[bot] in #254
- Update
checksubcommand to check all projects in one pass by @kylewlacy in #255 - Update opentelemetry crates by @jaudiger in #257
- Bump reqwest from 0.12.18 to 0.12.19 in the cargo group by @dependabot[bot] in #258
- Fix another "file exists" bug when fetching projects from cache by @kylewlacy in #259
- Add JS op to get current platform by @kylewlacy in #260
- Bump the cargo group with 2 updates by @dependabot[bot] in #261
- Bump the cargo group with 10 updates by @dependabot[bot] in #262
- Bump the cargo group with 3 updates by @dependabot[bot] in #264
- Resolve some clippy pedantic lints by @jaudiger in #263
- Update all the transient dependencies by @jaudiger in #265
- Bump the cargo group with 2 updates by @dependabot[bot] in #266
- Update to Rust v1.88 by @kylewlacy in #267
- refactor: make use of the new if let chains pattern with Rust 1.88 by @jaudiger in #270
- Bump the cargo group with 6 updates by @dependabot[bot] in #273
- Update GitHub CI files by @jaudiger in #271
- ci(brioche): build aarch64 packed artifacts by @jaudiger in #272
- Update Dependabot configuration by @jaudiger in #274
- Bump the cargo group with 10 updates by @dependabot[bot] in #277
- Remove an argument cloning inside brioche download by @jaudiger in #279
- Bump the cargo group with 16 updates by @dependabot[bot] in #280
- Bump the cargo group with 70 updates by @dependabot[bot] in #282
- Bump the cargo group with 17 updates by @dependabot[bot] in #284
- Bump object store by @nz366 in #287
- Bump the cargo group with 18 updates by @dependabot[bot] in #289
- Bump actions/download-artifact from 4 to 5 by @dependabot[bot] in #291
- Fix CI build for packed aarch64 artifact using x86-64 by @kylewlacy in #292
- Use Brioche nightly for building packed aarch64 build by @kylewlacy in #293
- Add new
--experimental-lazyCLI option forbrioche buildby @kylewlacy in #294 - Update Rust version to 1.89 by @jaudiger in #295
- Bump actions/checkout from 4 to 5 by @dependabot[bot] in #296
- Update clippy lints by @jaudiger in #297
- Fix
live-updateremoving some TypeScript annotations by @kylewlacy in #298 - chore(cargo): resolve all the automatic fixables lints from pedantic by @jaudiger in #299
- Use lazy lock when it's possible by @jaudiger in #300
- build: remove features from tokio-util dependency by @jaudiger in #301
- Fix panic when enabling OpenTelemetry output by @kylewlacy in #303
- Build(deps): bump slab from 0.4.10 to 0.4.11 by @dependabot[bot] in #304
- Improve OpenTelemetry output by @kylewlacy in #305
- feat(otel): refactor the code and add logging exporting by @jaudiger in #306
- Continue to resolve Clippy pedantic lints by @jaudiger in #307
- build: update Rust version to 1.90 by @jaudiger in #309
- chore(clippy): add unreadable_literal lint to Cargo.toml by @jaudiger in #310
- Upgrade Brioche-in-Brioche dependenices by @kylewlacy in #311
- Allow setting hash algorithm for HashSet/HashMap by @jaudiger in #312
- Resolve all the pedantic lints by @jaudiger in #313
- Update GitHub CI by @jaudiger in #314
- ci: update workflow to use runs-on instead of runs_on by @jaudiger in #315
- ci: update workflow to use matrix include syntax by @jaudiger in #316
- refactor(ci): use latest version of
brioche-dev/setup-briocheto simplify Brioche installation by @jaudiger in #317 - build: update object_store to version 0.12.4 by @jaudiger in #323
- Sign and restructure built binaries by @kylewlacy in #281
- Switch to
xzfor Brioche release artifacts by @kylewlacy in #324 - Add publish args to skip some checks when used in CI by @jaudiger in #326
- Small tweaking here and there by @jaudiger in #337
- build: remove assert_matches from dependencies, add to dev-dependencies by @jaudiger in #336
- build: update opentelemetry dependencies to latest versions by @jaudiger in #335
- Update efficiency of format command when working with multiple projects by @jaudiger in #338
- Build(deps): bump actions/download-artifact from 4 to 5 by @dependabot[bot] in #341
- Add internal post-install step for Brioche installation and updates by @kylewlacy in #342
- build: remove target setup from rust toolchain toml file by @jaudiger in #345
- Update Dependabot config by @jaudiger in #346
- Build(deps): bump the cargo group with 24 updates by @dependabot[bot] in #347
- Build(deps): bump the cargo group with 10 updates by @dependabot[bot] in #348
- Build(deps): bump the cargo group with 7 updates by @dependabot[bot] in #351
- Build(deps): bump actions/download-artifact from 5 to 6 by @dependabot[bot] in #350
- Build(deps): bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #349
New Contributors
Full Changelog: v0.1.5...v0.1.6-rc.2
Brioche v0.1.5
Check the blog post "Announcing Brioche v0.1.5" for an overview of all the new features in this release
Run brioche self-update to update an existing Brioche installation, or check the docs for installation instructions
Breaking
Note: This is a minor release, but Brioche is still pre-1.0 and not widely adopted, so we may ship minor breaking changes from time to time if we think the breakage will not affect many people
- (Minor breaking) The new caching system is replacing (most) uses of the Brioche registry. If you were syncing build artifacts to a custom registry before, you will need to migrate to a custom cache instead.
- The registry is still used for resolving projects. For larger teams, it might still make sense to host a custom registry.
- This release includes some minimal tooling to help migrate existing cached data from the old registry to a new cache, but it will be removed before the next release.
- If you are self-hosting your own infrastructure for Brioche today (or are interested in doing so), please reach out for more information
Added
- Implement new caching system (#179)
- Fetching from the official Brioche cache should be much faster in most cases
- Using a private / self-hosted cache is much easier now. The
cache.urlconfig key or the$BRIOCHE_CACHE_URLenv var can be used to cache with several different object storage backends. Check the documentation for more details
- Add support for unarchiving
.ziparchives (#176 by @paricbat) - Add support for projects with cyclic imports (#211)
- Add command to start a debug shell within a failed build (#215)
- Add support for
Brioche.gitCheckout()as a static (#218) - Add
unsandboxedsandbox backend (#230) - Add
process.currentDiroption to change which directory a process starts in (#231)
Changed
- Use
$BRIOCHE_DATA_DIRenv var to control where Brioche's data is stored-- in most cases, the default path is~/.local/share/briocheon Linux (#171) - Allow processes to inherit CA certificates from the host when the unsafe
networkingoption is enabled (#232)- In practice, this means that builds that access the network will no longer need to pull in the
ca_certificatespackage
- In practice, this means that builds that access the network will no longer need to pull in the
Fixed
- Fix various issues with the LSP (#188)
- Tweak LSP to keep unused dependencies when saving (#192)
- Fix
brioche fmtwhen called without any args: it now defaults to formatting the project in the current directory (#190 by @asheliahut) - Add missing implementations for several expressions when evaluating statics (#195)
- Fix potential segfault from V8 depending on CPU flags (#225)
Brioche v0.1.4
Check the blog post "Announcing Brioche v0.1.4" for an overview of all the new features in this release
Run brioche self-update to update an existing Brioche installation, or check the docs for installation instructions
Changed
- Overhaul console output (#137)
- The new output format uses colors and symbols, runs at a faster refresh rate, and generally should make it clearer what's going on. See this Asciinema recording for what the new format looks like.
- Overhaul output format when a process recipe fails (#138, #139)
Added
- Add
--lockedflag for several subcommands (#133)- Applies to
build,check,run, andinstall. When passed, the command will fail if the lockfile isn't up-to-date.
- Applies to
- Add
--displayflag, plus newplain-reducedoutput format (#141) - Add new
attach_resourcesrecipe type (#149)
Fixed
- Update Linux sandbox to fallback to using PRoot for mounts (#159)
- This fallback makes it so Brioche can run without any extra setup on Ubuntu 24.04-- although with reduced performance. See "PRoot fallback" in the docs for more context and other options.
- Fix some LSP errors from converting between line / column numbers and positions (#134)
Internals
- Add
project.brifor building Brioche with Brioche! This new build will be used to provide portable builds for non-glibc machines. - This release includes the initial groundwork for AArch64 support on Linux (a.k.a ARM64). Brioche itself can now run on
aarch64-linux, but this work hasn't landed in thebrioche-packagesrepo yet, and getting it merged so packages can work with bothaarch64-linuxandx86_64-linuxis still blocked on future feature work.
0.1.3
This is a hotfix release that addresses a bug introduced in v0.1.2 in the Brioche Language Server Protocol (LSP), where some parts of the lockfile would be erased when saving a .bri file. Additionally, it includes some other minor bugfixes.
Fixed
- Fix Brioche LSP erasing locked download and git ref hashes (#130)
- Fix "failed to move temporary project from registry" error. This occurred due to a race condition when a project tried to be fetched more than once from the registry, e.g. from a dependency shared by multiple other dependencies, like
std(#131) - Fix (very annoying!) "Request textDocument/diagnostic failed" error from LSP whenever a
.brifile was first opened (#132)
0.1.2
This release includes many minor features and fixes over the last few months, especially focused on unblocking work in the brioche-packages repo. Additionally, this release includes support for the new Brioche.download(...) and Brioche.gitRef(...) recipes, which automatically pin download hashes in the brioche.lock lockfile, meaning you no longer need to find and update the hashes in code by hand!
Standard library
NOTE: These features require both the latest version of Brioche and an appropriate version of the
stdpackage. Consult the std changelog for more details
- Add
Brioche.download("..."). The provided URL will be downloaded, and the hash will automatically be recorded in thebrioche.locklockfile (#102) - Add
Brioche.gitRef({ repository, ref }). The git repository URL will be fetched, and the commit for the corresponding ref (branch or tag name) will be recorded in thebrioche.locklockfile. This is useful when used with thegitCheckoutfunction from thegitpackage (#126) - Add
std.glob(...)recipe. This takes a directory and some glob patterns, and returns a new directory containing only the contents matching a pattern. This is similar toBrioche.glob(...), but works with existing recipes instead of inputs from the project (#119)
Fixed
- Fix
brioche self-updatecommand. Unfortunately, upgrading from v0.1.1 will still need to be done manually, but auto-updates should work going forward! (#112 by @jaudiger) - Fix
.unarchive()recipes sometimes not properly baking when unarchiving a tarfile containing long filename entries (#127, with work from #117 by @jaudiger
Changed
- Update most subcommands to take the
--project(-p) or--registry(-r) argument more than once. The command will apply to each project. This applies to the following subcommands: - Update
brioche fmtto print formatted files (#75 by @jaudiger) - Update
Process.dependenciesrecipes to support more flexible env var configurations. Namely, dependencies can now set env vars for fallbacks, in addition to the existing env vars that get appended
Internals
- Upgrade OpenTelemetry SDK packages. Brioche now uses the conventional OpenTelemetry SDK environment variables for configuration
- Upgrade Deno Core from v0.201.0 to v0.303.0
- Update Rust toolchain to v1.81
- Restructure some internal crates. Some crates that were originally in the main Brioche repository now live in
brioche-dev/brioche-runtime-utils
0.1.1
This is a minor release focused on massively improving registry downloads, and helping future-proof TypeScript build scripts. Re-run the install script to update:
curl --proto '=https' --tlsv1.2 -sSfL 'https://brioche.dev/install.sh' | bashSpecial thanks to @asheliahut for helping with some major changes to the registry itself!
Added
- Add new TypeScript runtime op to get the version of Brioche (#59). This will allow for updating packages to take advantage of new features without breaking backwards compatibility
- Add new
collect_referencesrecipe type (#57). This will be used by thestdpackage to improve container sizes
Changed
- Increase timeouts when fetching from registry from 10s to 120s (#54 by @matklad). This is a workaround due to very slow cold start times seen in some cases when making requests to the registry
- Tweak registry sync rules to avoid downloading unnecessary dependencies (#56). This should drastically reduce the download times during the first-time user experience (especially with some changes to the registry itself)
- Download project files in parallel from registry (#58)
0.1.0
Initial release! See the announcement post here: https://brioche.dev/blog/announcing-brioche/