Skip to content

Releases: prefix-dev/rattler-build

v0.58.0

25 Feb 13:53
49ec411

Choose a tag to compare

This is a huge release!

  • Our entire Rust codebase has been split into multiple sub-crates that we plan to release independently on crates.io. This makes it much easier to depend on individual parts of rattler-build.
  • New Python bindings that make different parts of rattler-build much more approachable: parse a recipe, evaluate it, and build it.
  • rattler-build debug has a cleaner command line interface. Use it to create patches, run debug commands, add host or build dependencies into existing environments — and teach your agents how to do it.
  • BREAKING: The new (still experimental) "staging" cache — which can be split into multiple sub-packages — replaces the previous cache key in recipes. See the Conda Enhancement Proposal for more discussion and this issue for details.
  • Completely revamped parser with a Stage0 and Stage1 representation of the recipe. Stage0 can now be used to generate recipes in pixi-build in unevaluated form. The parser has also become a bit stricter.
  • Many fixes to our patching logic, now powered by flickzeug.
  • The source cache has its own crate, with shared git caching logic between rattler-build and Pixi.

This is the first release after a major refactor, and we plan to continue at high velocity with bug fixes and improvements.

What's Changed

  • refactor: organize Rust code into crates and add new Python bindings by @wolfv @Hofer-Julian in #2057
  • docs: adds cpu/cuda example for variants priority by @ndeybach in #2145
  • fix: resolve 'Is a directory' error when using file_name with patches by @wolfv in #2141
  • Fixes for direct crates/rattler_build_recipe_generator testing by @mgorny in #2076
  • fix: issue with native-tls on main by @wolfv in #2150
  • fix: do not always log entry points creation by @wolfv in #2152
  • feat: improve cache and error message on hash mismatch by @wolfv in #2146
  • fix: glob with ./ or . by @wolfv in #2151
  • chore: add test for toplevel skip merging by @wolfv in #2144
  • Skip symlink check for noarch packages with __unix dependency by @wolfv in #2167
  • fix: lfs on windows by @wolfv in #2160
  • Add configurable git submodule support to source cache by @wolfv in #2158
  • fix: Include a build number in generated recipes by @mgorny in #2077
  • feat: implement CEP-28 customizable system DLL linkage checks for Windows by @wolfv in #2157
  • Warn when target_platform is set in variant config files by @Copilot in #2156
  • feat: powershell support by @wolfv in #2149
  • fix: duplicate rpath macos by @wolfv in #2161
  • feat: improve GitHub Actions output, add --markdown-summary and --log-style simple by @wolfv in #2155
  • fix: make cargo-fmt lefthook job detect formatting issues by @Hofer-Julian in #2169
  • fix: extract license from license_expression and classifiers in PyPI generator by @wolfv in #2153
  • fix running v0 tests and allow running from extracted directory by @wolfv in #2143
  • feat(py): infer recipe path output by @Hofer-Julian in #2166
  • chore: switch submodule fork by @wolfv in #2170
  • chore(ci): bump taiki-e/install-action from 2.67.26 to 2.67.30 in the github-actions group by @dependabot[bot] in #2164
  • fix: source extraction issue with content-disposition by @wolfv in #2172
  • refactor: expose miette errors for render Rust API by @Hofer-Julian in #2168
  • fix: accept YAML 1.1 boolean variants (True/False) by @Hofer-Julian in #2176
  • docs: update CLI docs by @Hofer-Julian in #2180
  • ci: publish pre-release conda packages by @Hofer-Julian in #2179
  • Move timestamp generation outside build output loop by @wolfv in #2187
  • attempt to fix aws compilation on windows by @Hofer-Julian in #2185
  • ci: cache release job with sccache by @Hofer-Julian in #2184
  • feat: base platform selectors on host_platform instead of target_platform by @Hofer-Julian in #2174
  • fix: parse values as MatchSpec before extracting package name by @Hofer-Julian in #2175
  • feat: overdepending noise reduction by @wolfv in #2181
  • feat: update all rattler crates to latest versions by @pavelzw in #2189
  • fix: prevent post-link scripts from leaking files into downstream packages by @chrisburr in #2188
  • docs: pin click dependency by @Hofer-Julian in #2195
  • Clarify file_name behavior and archive extraction in recipe docs by @wolfv in #2194
  • feat: implement sigstore publisher verification of URL sources by @wolfv in #2148
  • can use custom pypi indexes by @jamesfricker in #1492
  • chore(ci): bump taiki-e/install-action from 2.67.30 to 2.68.8 in the github-actions group by @dependabot[bot] in #2202
  • Add regression test for conditional dependencies with variant variables by @wolfv in #2203
  • Improve Windows PE file detection and system library allowlisting (CEP 28) by @wolfv in #2173
  • Fix overlinking detection for host-only dependencies by @wolfv in #2204
  • feat: merge debug and debug-shell into unified debug command by @wolfv in #2171
  • chore: update all dependencies by @wolfv in #2206
  • fix: win pre-release build (aws-lc-sys compilation) by @wolfv in #2209
  • fix: publish pre release on win by @Glatzel in #2211
  • Support relative paths in git functions for local repositories by @wolfv in #2196
  • chore: add CHANGELOG.md using git-cliff by @AVBharath10 in #2212
  • Include CONDA_BUILD_SYSROOT in variant hash when compiler/stdlib used by @wolfv in #2213
  • chore: prepare release 0.58.0 by @wolfv in #2214

New Contributors

Full Changelog: v0.57.2...v0.58.0

v0.57.2

06 Feb 17:26
64d35d5

Choose a tag to compare

What's Changed

  • fix: release build lost the sigstore feature in Github CI by @wolfv in #2130

Full Changelog: v0.57.1...v0.57.2

v0.57.1

06 Feb 06:56
bb560a9

Choose a tag to compare

What's Changed

  • fix: fixes to publish subcommand and make sigstore a feature by @wolfv in #2120
  • docs: Add documentation for rattler-index by @pavelzw in #2122
  • chore: release 0.57.1 by @wolfv in #2121

Full Changelog: v0.57.0...v0.57.1

v0.57.0

05 Feb 08:38
e556b7f

Choose a tag to compare

What's Changed

  • docs: Clarify target_platform for aarch64 and arm64 by @pavelzw in #2086
  • fix: Move retry middleware to the front by @pavelzw in #2091
  • fix: Use bash -e for running the script manually by @pavelzw in #2044
  • fix: clean up native-tls vs rustls-tls @pavelzw in #2090
  • docs: fix markdown links in README.md by @isuruf in #2092
  • feat: allow absolute license_file paths by @tdejager in #1947
  • docs: change build/run_exports to requirements/ by @sshockwave in #2098
  • chore: update to latest rattler by @hunger in #2102
  • fix: include recipe extra section in about.json by @baszalmstra in #2106
  • fix: Ensure no rustls is used when using native-tls feature by @pavelzw in #2113
  • fix: rebuild confirm panic in non-tty by @wolfv in #2115
  • docs: delete Admonition about downstream tests not being implemented by @claudiushaag in #2105
  • fix: ensure we actually pass the concurrency limit in tool config by @iamthebot in #2109
  • fix: creating new files from patch by @wolfv in #2108
  • docs: correct note on variants interacting with run dependencies by @Ahajha in #2117
  • chore: use the same script as in rattler/pixi for checking native-tls by @pavelzw in #2116
  • docs: explicit doc for env vars by @AntoinePrv in #2118
  • feat: always compile with sigstore-sign by @wolfv in #2101

New Contributors

Full Changelog: v0.55.1...v0.57.0

v0.55.1

07 Jan 08:43
02779bb

Choose a tag to compare

What's Changed

  • fix: patch file not found should error by @wolfv in #2060
  • feat: add tbd file parsing to find all allowed link paths on macOS by @wolfv in #2062
  • test: add test to show windows script test errorlevel injection by @wolfv in #2065
  • docs: fix Jinja syntax in context section by @lesteve in #2069
  • docs: add sigstore attestation documentation by @wolfv in #2073
  • chore: use flickzeug (diffy fork) and prepare release 0.55.1 by @wolfv in #2080
  • fix: cpan recipe generation by @wolfv in #2081

New Contributors

Full Changelog: v0.54.0...v0.55.1

v0.55.0

18 Dec 18:08
625c300

Choose a tag to compare

What's Changed

  • fix: improved menuinst checking (by updating rattler_menuinst)
  • fix: always write depends in index.json even if empty (by updating rattler_conda_types)
  • fix: patch file not found should error by @wolfv in #2060
  • feat: add tbd file parsing to find all allowed link paths on macOS (should reduce overlinking errors on macOS) by @wolfv in #2062
  • chore: prepare release 0.55.0 by @wolfv in #2067

Full Changelog: v0.54.0...v0.55.0

v0.54.0

07 Jan 08:42
bfbb88b

Choose a tag to compare

What's Changed

This release comes with shiny new docs! Check them out under https://rattler.build
We fixed a number of issues in rattler. Things should also be faster if you use a musl build.

  • perf: add custom memory allocator for improved performance by @baszalmstra in #2021
  • docs(build_script): use %LIBRARY_BIN% by @lucascolley in #2022
  • docs: Update docs style by @wolfv in #2013
  • docs: improve social preview for documentation by @wolfv in #2024
  • docs: add new docs page for build logs by @wolfv in #2030
  • feat: improve docs and render files that contain prefix with [prefix:text] or [prefix:bin] by @wolfv in #2031
  • feat: add deterministic per-package colors for span logs by @baszalmstra in #2032

Full Changelog: v0.53.0...v0.54.0

v0.52.0

26 Nov 11:28
e10e0f7

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.51.0...v0.52.0

v0.51.0

21 Nov 18:11
073d095

Choose a tag to compare

Major changes

A new subcommand (rattler-build publish some/recipe.yaml --to https://prefix.dev/my-channel) to quickly build one or more recipes and upload them to the channel of your choice!

And creating attestations has become easier with the --generate-attestation flag that works seamlessly in Github Actions (when cosign is installed).

What's Changed

  • chore: update rattler by @wolfv in #1992
  • feat: add --generate-attestation flag when uploading to prefix.dev servers
  • feat: add publish subcommand by @wolfv in #1981
  • docs: add debugging docs by @wolfv in #1993
  • docs: fix up ignore_binary_files default (double negation) by @wolfv in #1995
  • fix: revert filtering .git dirs for path source by @wolfv in #1996
  • fix: reduce verbosity of rpath conversion logging by @baszalmstra in #1997
  • fix: reindex output directory after moving package to broken folder by @baszalmstra in #1998
  • chore: release 0.51.0 by @wolfv in #1999

Full Changelog: v0.50.0...v0.51.0

v0.50.0

17 Nov 19:09
e90fc05

Choose a tag to compare

What's Changed

The biggest addition is the experimental debug-shell and an improved create-patch experience.
Using debug-shell will drop you into a shell in the last build-directory, with everything readily activated. From there you can use create-patch to create new patches for your recipes. We are also planning to make it possible to add / remove / change packages in the host & build prefix interactively for a complete quick debugging experience.

New Contributors

Full Changelog: v0.49.0...v0.50.0