Releases: prefix-dev/rattler-build
v0.10.0
What's Changed
- refactor: refactor post-process and relink modules by @orhun in #610
- Take system libs into account while checking links by @orhun in #613
- More docs by @wolfv in #612
- fix: push developer docs properly by @wolfv in #615
- feat: docs add deploy workflow dispatch by @wolfv in #616
- docs: simplify CLI documentation for autocompletion by @wolfv in #618
- fix: use only DSO packages during overdepending checks by @orhun in #619
- fix buildorder by @wolfv in #617
- refactor: separate printing and discovery phase during linking checks by @orhun in #623
- feat: add progress bars during compression by @wolfv in #620
- docs: advanced build options by @wolfv in #624
- docs: start adding some examples by @wolfv in #625
- Implement basic functions to generate recipes for R and Python by @wolfv in #594
- use VersionWithSource when uploading by @0xbe7a in #626
- feat: linking checks on macOS by @wolfv in #627
- release 0.10.0 by @wolfv in #631
Full Changelog: v0.9.0...v0.10.0
v0.9.0
What's Changed
We are getting closer and closer with the implementation of the features as outlined in our CEPs. Please give rattler-build
a spin and let us know if you hit any snags!
New features
- feat: implement down-prioritize via track-features by @wolfv in #584
- feat: fix Python shebang in post-processing step by @wolfv in #551
- feat: resolve rpath entries of shared objects by @wolfv in #605
- feat: resolve dynamically linked libraries of shared object by @wolfv in #606
- feat: improve linking checks by @orhun in #600
- feat: implement prefix detection settings by @wolfv in #598
- feat: add system tools configuration for reproducible builds by @wolfv in #587
- feat: add test for parsing "null" values and missing jinja by @wolfv in #602
- feat: implement prefix detection parsing by @wolfv in #597
Fixes
- fix: suppress noisy auth storage warnings by @orhun in #599
- fix: remove noisy error message by @wolfv in #603
- fix: cannot find content type of a directory by @wolfv in #607
Refactor etc.
- refactor: metadata writing by @wolfv in #585
- refactor: use a new
FileFinder
struct to encapsulate finding new files in the prefix by @wolfv in #588 - refactor: move code around and clean up function interfaces a bit by @wolfv in #595
- chore: update all depencies and release 0.9.0 by @wolfv in #609
- chore(ci): bump prefix-dev/setup-pixi from 0.4.3 to 0.5.0 by @dependabot in #582
- chore(ci): bump prefix-dev/setup-pixi from 0.5.0 to 0.5.1 by @dependabot in #591
Full Changelog: v0.8.1...v0.9.0
v0.8.1
What's Changed
- fix: docs deployment by @wolfv in #568
- fix: add release binaries by @pavelzw in #567
- feat: skip over any Null values in mappings by @wolfv in #569
- feat: improve error message for invalid
noarch
by @wolfv in #571 - docs: fix link to examples by @benmoss in #573
- fix: improve test command and use encoded platform by @wolfv in #574
- feat: simplify parser with macro by @wolfv in #572
- fix: test_file function to ignore read_exact error on too small files by @wolfv in #580
- chore: update docs, rattler and release new version by @wolfv in #578
- docs: fix references to boa in docs by @benmoss in #581
- feat: compile python code to pyc if necessary by @wolfv in #549
- feat: add
merge_build_and_host_envs
section by @swarnimarun in #545 - feat: add variant section by @swarnimarun in #546
New Contributors
Full Changelog: v0.8.0...v0.8.1
v0.8.0
This release comes with an insane amount of changes – we're inching ever closer to implement all the features of the CEP. Some larger refactorings are also still in the works but we hope to stabilize everything as soon as possible.
What's Changed
- fix: bug with ignore_run_exports_from in host_env & add tests by @swarnimarun in #477
- feat: add
rpath_allowlist
to the recipe by @orhun in #473 - docs: mention the Arch Linux package by @orhun in #478
- Install rattler-build from homebrew-core by @pavelzw in #469
- fix: non deterministic git tests by @swarnimarun in #481
- fix: update documentation and add docs for experimental features by @swarnimarun in #480
- feat: add
binary_relocation
to the recipe by @orhun in #479 - feat: add
load_from_file
jinja function by @swarnimarun in #468 - Use rattler index crate instead of local index functionality by @BenjaminLowry in #489
- Bump rattler to 0.16.2 by @pavelzw in #488
- fix: flush files after download by @0xbe7a in #490
- fix: docs and improve stylings by @swarnimarun in #492
- fix: use the correct target-platform for test by @wolfv in #491
- expose and store compression level and compression threads by @wolfv in #484
- fix: write out entry points for non-noarch packages by @wolfv in #482
- remove unwrap by @wolfv in #495
- Add documentation for compression level and fix default case by @pavelzw in #499
- fix: update clap-verbosity to get rid of spurious comment by @wolfv in #500
- add conda-forge integration by @0xbe7a in #465
- fix: document jinja functions by @swarnimarun in #483
- docs: fix up cli invocation in docs by @wolfv in #503
- implement
patchelf
andinstall_name_tool
in Rust by @wolfv in #501 - feat: perform post processing after package installation by @orhun in #505
- update all dependencies & rattler by @wolfv in #506
- chore(ci): bump prefix-dev/setup-pixi from 0.4.1 to 0.4.3 by @dependabot in #511
- fix: package field error message by @swarnimarun in #510
- feat: documentation versioning by @swarnimarun in #504
- chore(ci): bump prefix-dev/setup-pixi from 0.4.1 to 0.4.3 by @dependabot in #517
- refactor of package_tests by @wolfv in #514
- feat: enable use of os certificate store by @pavelzw in #530
- feat: set default rpath for binaries by @orhun in #531
- fix: use the correct default for rpath by @orhun in #533
- fix: also filter the stderr of the build process by @wolfv in #534
- fix: use expect instead of unwrap by @wolfv in #535
- install build dependencies when running tests by @wolfv in #537
- properly set stdout and stderr capture in rust-tests by @0xbe7a in #538
- add
GlobVec
,always_copy_files
andalways_include_files
by @wolfv in #540 - Move
rpath_allowlist
andrelocate_paths
toGlobVec
by @wolfv in #542 - Fix version check and create issue on failure by @pavelzw in #541
- Add rpath test by @pavelzw in #532
- make sure that single-line build script is correctly treated as build… by @wolfv in #543
- Upload binaries for release by @pavelzw in #544
- feat: implement additional relink options for macOS by @wolfv in #536
- fix: use actual revision for rev-parse instead of git head by @nichmor in #547
- add many more package content tests and refactor the implementation by @wolfv in #548
- feat: add underlinking/overlinking checks by @wolfv in #458
- Delete environment_linux.yaml by @pavelzw in #552
- fix: script block parsing and add a test for script env by @wolfv in #556
- fix: improve test running experience and test unicode file packages by @wolfv in #561
- fix using variant jinja in env vars and add tests by @wolfv in #563
- Fix CI badge by @pavelzw in #564
- chore: prepare release 0.8.0 by @wolfv in #565
New Contributors
- @BenjaminLowry made their first contribution in #489
- @nichmor made their first contribution in #547
Full Changelog: v0.7.0...v0.8.0
v0.7.0
An exciting new release that comes with the following highlights:
- Multiple tests are allowed in the revamped
tests
section of a recipe. Please read the docs and CEP for the changes. - rattler-build now has a
upload
subcommand that can upload to: Anaconda.org, Quetz, Artifactory and Prefix.dev! - The git source is modernized and aligned with the CEP.
What's Changed
- fix: rolling errors for render and try convert api by @swarnimarun in #414
- fix: use set -x only with bash by @wolfv in #416
- Refactor CI by @pavelzw in #408
- fix: cleanup code for render and try_convert api by @swarnimarun in #417
- chore(ci): bump actions/upload-artifact from 3 to 4 by @dependabot in #422
- Add version assertion for release by @pavelzw in #424
- fix: ensure zips without root are handled by @swarnimarun in #425
- feeat: add auth_file option to read authentication information for repositories from a file by @0xbe7a in #413
- docs: use new docs workflow from pixi and mkdocs by @wolfv in #430
- Add quetz upload command by @0xbe7a in #429
- feat: add completions generation for shells by @swarnimarun in #426
- chore(ci): bump actions/configure-pages from 3 to 4 by @dependabot in #434
- chore(ci): bump prefix-dev/setup-pixi from 0.3.0 to 0.4.1 by @dependabot in #437
- chore(ci): bump actions/deploy-pages from 2 to 4 by @dependabot in #435
- chore(ci): bump actions/upload-pages-artifact from 2 to 3 by @dependabot in #436
- feat: artifactory upload by @0xbe7a in #439
- fix: handling both forward and backward slash by @swarnimarun in #388
- feat: tar & zip in rust by @swarnimarun in #438
- fix: deduplication issue in create_index_json function by @hadim in #441
- feat: uploading to prefix.dev by @wolfv in #432
- fix: skip relinking if it is not a shared library on linux by @wolfv in #443
- fix extraction for zip files by @0xbe7a in #447
- fix: minor cleanup by @swarnimarun in #448
- make toml test more reproducible by @wolfv in #455
- fix: create a temporary directory next to target by @orhun in #456
- fix: improve completions dx by @swarnimarun in #451
- fix: use env for shell detection by @swarnimarun in #459
- Improve upload help descriptions by @pavelzw in #460
- feat: implement changes to source parsing by @wolfv in #454
- feat: implement new multiple tests section by @wolfv in #418
- feat: progressbars for downloading and extracting by @swarnimarun in #449
- feat: add support for uploading to anaconda.org by @0xbe7a in #464
- docs: fix test documentation by @pavelzw in #466
- fix: ignore pyo and egg-info files for noarch by @swarnimarun in #470
- Remove rpaths that point outside the prefix by @orhun in #467
- feat: add git jinja functions & experimental flag by @swarnimarun in #423
- upgrade all packages and get rid of git dependency on marked-yaml by @wolfv in #471
- fix: use ignore_run_exports for building env by @swarnimarun in #472
- chore: release 0.7.0 by @wolfv in #475
- chore: add description in cargo for publishing by @wolfv in #476
New Contributors
Full Changelog: v0.6.1...v0.7.0
0.6.1
What's Changed
- add contributing and code of conduct by @wolfv in #397
- fix: improve error messages by @swarnimarun in #398
- refactor: add python object by @baszalmstra in #400
- fix: skip serializing default fields by @baszalmstra in #401
- refactor: serde Dependency instead of string magic by @baszalmstra in #405
- fix: use the proper platform when resolving by @wolfv in #411
- feat: error collect as vec by @swarnimarun in #407
- fix: add tar source test and fix simple filename for URL source by @wolfv in #412
Full Changelog: v0.6.0...v0.6.1
0.6.0
What's Changed
- fix: docs for correctness by @swarnimarun in #362
- fix: improve jinja err msg by @swarnimarun in #363
- Add option and env variable to disable zstd and bz2 by @0xbe7a in #364
- Fix jinja string interp instructions by @JarrettSJohnson in #367
- fix: remove all the unwraps from production code by @swarnimarun in #370
- Fix text detection fallback by @wolfv in #372
- feat: package content tests by @swarnimarun in #359
- chore(ci): bump actions/deploy-pages from 2 to 3 by @dependabot in #385
- chore(ci): bump actions/configure-pages from 3 to 4 by @dependabot in #386
- Use which and emit better errors by @wolfv in #387
- fix: add docs for package-contents test by @swarnimarun in #389
- Fix file creation problems by @wolfv in #383
- implement pin-compatible by @wolfv in #368
- refactor: move scipt_env into script by @baszalmstra in #392
- refactor: move run_exports to requiremens by @baszalmstra in #394
- update docs slightly and release 0.6.0 by @wolfv in #395
- Update rattler before releasing by @wolfv in #396
New Contributors
- @0xbe7a made their first contribution in #364
- @JarrettSJohnson made their first contribution in #367
Full Changelog: v0.5.2...v0.6.0
0.5.2
What's Changed
- fix: error when output directory in recipe folder by @wolfv in #351
- better error handling with string matcher parse error by @wolfv in #353
- fix: throw error if output missing by @wolfv in #352
- Fix typo in README by @MDornacher in #354
- fix: unwraps & cleanup to_string by @swarnimarun in #342
- Add use_gitignore to recipe by @pavelzw in #358
- Add docs for use_gitignore and lfs and only provide use_gitignore for PathSource by @pavelzw in #361
- fix: write normalized paths into paths.json (needs rattler 0.13.0).
- release 0.5.2 with latest rattler by @wolfv in #360
New Contributors
- @MDornacher made their first contribution in #354
Full Changelog: v0.5.1...v0.5.2
0.5.1
Lots of bugfixes since 0.5.0
What's Changed
- fix: remove raw recipe by @swarnimarun in #305
- fix: cleanup unwraps by @swarnimarun in #327
- Improve rendering of DependencyInfo by @wolfv in #319
- Make url source a little better by @wolfv in #320
- remove unused functions by @wolfv in #329
- docs: improve docs and completely remove
sel(...)
syntax by @wolfv in #332 - add mamba example by @wolfv in #322
- docs: more content for testing packages by @wolfv in #333
- added docs everywhere and refactor some bits by @wolfv in #336
- refactor hash info by @wolfv in #337
- render hash info with all information incl. hash_input by @wolfv in #338
- add test for inline rendering of sequence by @wolfv in #339
- fix: error if git rev and git depth are used together by @swarnimarun in #340
- fix: handle symlinks as-is when copying data by @wolfv in #341
- fix noarch with multiple outputs by @wolfv in #347
- release next version of rattler-build by @wolfv in #348
Full Changelog: v0.5.0...v0.5.1
0.5.0
What's Changed
This is a release with a huge number of (breaking!) changes:
- The new recipe format is now implemented that uses
${{ jinja }}
instead of"{{ jinja }}"
for templating! You should take a look at the examples to see the differences, or read the (approved!) CEP - The new recipe parser comes with much improved error messages when you are using an invalid key or malformed jinja! This was the work of @GrayJack
- We have implemented the first iteration of multiple outputs. They are topologically sorted and the logic is also in place to handle
pin_subpackage(...)
. - We support
globs
now to add extra files to your tests - The tests work properly on Windows now, and we fixed more Windows specific issues
- We have a
rebuild
command to try to exactly reproduce a package (in the style of reproducible-builds.org). This also includes work to useSOURCE_DATE_EPOCH
and other tricks to make things more reproducible. - Git sources are now supported by calling out to the installed git client (instead of using libgit2). This slims down our dependency tree and makes
git lfs
work.git lfs
can be enabled via an extra flag in the git source (lfs: true
)
All the PRs in this release
- Fix: Use dtolnay/rust-toolchain to install rustfmt component by @matthiasbeyer in #200
- Fix: Do not use PathBuf in arguments by @matthiasbeyer in #198
- Make copy_dir() return copied pathes by @matthiasbeyer in #199
- WIP: Copy license files by @matthiasbeyer in #201
- implement python post processing for INSTALLER and add PYTHON variabl… by @wolfv in #209
- run end-to-end test in CI by @wolfv in #210
- New recipe parser by @GrayJack in #205
- update all dependencies and use cargo-toolchain with better caching by @wolfv in #215
- fix: parsing errors and panics by @wolfv in #216
- refactor: reduce code duplication by @baszalmstra in #217
- refactor: Put git stuff behind a feature flag by @GrayJack in #219
- update all dependencies by @wolfv in #220
- feat(recipe): Improvements to error messages by @GrayJack in #224
- Add more explanatory error message when not copying license files by @matthiasbeyer in #221
- fix(recipe): Fix inline-if parsing dependencies by @GrayJack in #223
- fix: make sure that package hash can be rendered using
${{ hash }}
by @wolfv in #225 - Docs update by @wolfv in #227
- feat: implement test file copying with copy dir and improve url source by @wolfv in #230
- fix: align recipes with format repo and update readme by @baszalmstra in #235
- feat(recipe): Rendering yaml values before parsing by @GrayJack in #234
- feat: Move
VariantConfig
to the new yaml parser by @GrayJack in #236 - feat(recipe): Expand
TryConvertNode
implementations to includeOption
by @GrayJack in #237 - Simplify Display impl for ErrorKind by @matthiasbeyer in #238
- refactor: Refactor
TryConvertNode
forTest
by @GrayJack in #241 - Add reference to installation via homebrew by @pavelzw in #242
- refactor(recipe): Change the
Rendered*Node
Debug impl to match the type names by @GrayJack in #247 - docs: fix a broken link and grammar issues by @ArpitPandey29 in #251
- feat: add cdt function by @swarnimarun in #252
- Source date epoch by @wolfv in #256
- feat(recipe): parsing outputs by @GrayJack in #240
- Unwrap removal by @wolfv in #257
- feat: no-build-id aka static build dirs by @swarnimarun in #250
- refactor: Some code cleanup by @GrayJack in #258
- chore: update all dependencies by @wolfv in #259
- Rewrite copy_dir() fn into buildable object by @matthiasbeyer in #233
- feat: add env support by @swarnimarun in #260
- fix: manual try expr implementation by @swarnimarun in #265
- store the original recipe and rendered recipe by @wolfv in #246
- feat: add tests in rust by @swarnimarun in #253
- docs: add env functions to docs by @wolfv in #268
- fix clippy by @wolfv in #270
- Also upload binaries on non-release by @pavelzw in #271
- chore(ci): bump prefix-dev/setup-pixi from 0.3.0 to 0.4.0 by @dependabot in #273
- feat: make recipe storing optional (defaults to true) by @wolfv in #272
- Don't use cross for x86_64-unknown-linux-gnu by @pavelzw in #275
- feat: git source with host git by @swarnimarun in #269
- fix: update docs by @swarnimarun in #279
- fix: remove assert & handle lack of lfs better by @swarnimarun in #280
- use
dunce::canonicalize
everywhere by @wolfv in #284 - feat: Add --no-test CLI option by @pavelzw in #289
- chore(ci): bump prefix-dev/setup-pixi from 0.4.0 to 0.4.1 by @dependabot in #290
- fix: error message for invalid sha256 by @wolfv in #291
- chore: update all dependencies and rattler by @wolfv in #294
- fix: unit tests on windows by @swarnimarun in #297
- sort outputs when computing variant [skip ci] by @wolfv in #278
- test schema more and make things more correct by @wolfv in #299
- fix: make tests work better cross-platform by @wolfv in #292
- fix: tests for windows by @swarnimarun in #300
- rework how we run tests and make noarch work by @wolfv in #301
- improve label for jinja errors by @wolfv in #302
- feat: add lfs option to git source by @swarnimarun in #296
- docs: write more documentation on the new features by @wolfv in #303
- More docs by @wolfv in #310
- fix: jinja variable extraction for cmp function in if expression by @wolfv in #308
- use latest rattler with secret redaction by @wolfv in #306
- release 0.5.0 by @wolfv in #314
New Contributors
- @GrayJack made their first contribution in #205
- @pavelzw made their first contribution in #242
- @ArpitPandey29 made their first contribution in #251
Full Changelog: v0.4.0...v0.5.0