Releases: prefix-dev/rattler-build
v0.58.0
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 debughas 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_generatortesting 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
clickdependency 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
- @ndeybach made their first contribution in #2145
- @Copilot made their first contribution in #2156
- @jamesfricker made their first contribution in #1492
- @AVBharath10 made their first contribution in #2212
Full Changelog: v0.57.2...v0.58.0
v0.57.2
v0.57.1
v0.57.0
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_exportstorequirements/by @sshockwave in #2098 - chore: update to latest rattler by @hunger in #2102
- fix: include recipe extra section in
about.jsonby @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
rundependencies 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-signby @wolfv in #2101
New Contributors
- @sshockwave made their first contribution in #2098
- @hunger made their first contribution in #2102
- @claudiushaag made their first contribution in #2105
- @Ahajha made their first contribution in #2117
- @AntoinePrv made their first contribution in #2118
Full Changelog: v0.55.1...v0.57.0
v0.55.1
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
What's Changed
- fix: improved
menuinstchecking (by updatingrattler_menuinst) - fix: always write
dependsinindex.jsoneven if empty (by updatingrattler_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
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
What's Changed
- organize build summary log by @probli in #2003
- feat: enable subcommand suggestions for mistyped commands by @baszalmstra in #2005
- feat: add
package inspectsubcommand by @baszalmstra in #2004 - chore: update rattler dependencies by @baszalmstra in #2001
- feat: add
package extractsubcommand by @baszalmstra in #2006 - fix: topological output sort by @wolfv in #2008
- fix: create- vs generate attestation in
publishby @wolfv in #2007 - fix: clean on-disk cache after publishing package by @wolfv in #2009
New Contributors
Full Changelog: v0.51.0...v0.52.0
v0.51.0
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-attestationflag when uploading toprefix.devservers - feat: add
publishsubcommand by @wolfv in #1981 - docs: add debugging docs by @wolfv in #1993
- docs: fix up
ignore_binary_filesdefault (double negation) by @wolfv in #1995 - fix: revert filtering
.gitdirs 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
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.
- fix: Don't set referer header when downloading sources by @chrisburr in #1964
- fix: variant key in context should be ignored in output by @wolfv in #1963
- fix: allow
null/empty values fornoarchfield by @baszalmstra in #1973 - fix: .git* files not included by @pavelzw in #1983
- feat: add
debug-shellsubcommand and improvecreate-patchby @wolfv in #1990 - fix: avoid using corrupted git cache dirs by @andrewjcg in #1987
- fix: Allow all libraries in /usr/lib for macOS overlinking checks by @baszalmstra in #1977
- docs: add documentation for the
match()Jinja function by @baszalmstra in #1976 - fix: Add helpful error messages for invalid root-level field names by @baszalmstra in #1974
- feat: add
expected-commitverification to git sources by @baszalmstra in #1978 - chore: bump to 0.50.0 by @wolfv in #1991
New Contributors
- @chrisburr made their first contribution in #1964
Full Changelog: v0.49.0...v0.50.0