Releases: facebookincubator/reindeer
Releases · facebookincubator/reindeer
v2024.05.06.00
upgrade to 0.21.1 Summary: NOTE: If your `hg bisect` brings you here & the error you are seeing looks like ` expected Result<&PyAny, PyErr>, found Result<Bound<'_, PyAny>, PyErr>` then see these [migration notes](https://pyo3.rs/v0.21.0/migration.html#from-020-to-021) for the fix or click on `fbcode/security/ace/pyo3/authz.rs` or similar files from bellow to see what the fix is! In order to upgrade `pyo3` to [`0.21.1`](https://github.com/PyO3/pyo3/releases/tag/v0.21.1), the following had to take place: ## [PyO3] * Address [migration notes](https://pyo3.rs/v0.21.0/migration.html#from-020-to-021) for `Bound<'py, T>` * Address [#3595](https://github.com/PyO3/pyo3/pull/3595) - this is done in a crude way for now since there are many call sites depending on `fbcode/dba/rust/common/service_address/py/pyo3_conversion_helper.rs` which would require a more thorough review. * Address [#3821](https://github.com/PyO3/pyo3/pull/3821) - `pyo3-build-config` is now dependent on and used by PyO3 macros. Currently, the only thing that gets checked is `abi3` compatibility. To address that, we introduce a fixup for that automatically generate `pyo3-build-config*.txt` configuration files, given an `fbsource` Python version. We are tryin to stay as close to `pyo3-build-config*.txt` spec as possible even though only a single bool from that file is ever since there is validation for the other fields but also to future proof future changes. By also generating this file ourselves, we prevent PyO3 from attempting to locate a Python interpreter some other way which seems to start leaking into the PyO3 API as an implementation choice already. ## [PyPi + Rust] * Upgrade `orjson` to [`3.10.1`](https://github.com/ijl/orjson/releases/tag/3.10.1) * Added `README.md` notes for future upgrades * Upgrade `py-polars` to [`0.20.22`](https://github.com/pola-rs/polars/releases/tag/py-0.20.22) * Removed `py-polars` and `polars` from `target_os = "windows"`. The `third-party/pypi/polars` Python extension has only been supported for Mac and Linux for a while now so its only natural to do that on the Rust side as well. What is more, `polars-util` is bringing in `stacker = = "0.1.14"` which does not build on Windows mostly because its using a much more recent version of `libc` than we use in `third-party/rust` (see P1228807344) * Upgrade `pydantic-core` to [`2.18.2`](https://github.com/pydantic/pydantic-core/releases/tag/v2.18.2) * Removed old `third-party/pypi/pydantic-core` versions * Upgrade `safetensors` to [`0.4.3`](https://github.com/huggingface/safetensors/releases/tag/v0.4.3) * Patch `third-party/pypi/cryptography/41.0.7` to account for PyO3's [#2975](https://github.com/PyO3/pyo3/pull/2975) (`0.19.0`) where `pyo3::once_cell` was renamed to `pyo3::sync` (see D56826865) * Upgrade `tokenizers` and `tokenizers-python` to [`0.19.1`](https://github.com/huggingface/tokenizers/releases/tag/v0.19.1) * Removed old `third-party/pypi/tokenizers` versions * Fixed `third-party/pypi/tokenizers/BUCK` * Migrated `third-party/pypi/tokenizers/0.19.1/BUCK` to mirror other Python packages that bind to Rust crates e.g. `libcst`, `polars` etc. * Removed Windows support from `third-party/pypi/tokenizers` ## [Rust] * Upgrade `indexmap` to [`2.2.6`](https://github.com/indexmap-rs/indexmap/releases/tag/2.2.6) * Both latest `pydantic-core` and `c2pa` depend on `serde_json > 1.0.112` which brings in `indexmap = 2.2.1`. The latter has deprecated `.take` and `.remove` on both `IndexMap` and `IndexSet` leading to a bunch of errors (see bellow), all addressed: ```bash error: use of deprecated method `indexmap::set::IndexSet::<T, S>::take`: `take` disrupts the set order -- use `swap_take` or `shift_take` for explicit behavior. --> fbcode/hphp/hack/src/package/types.rs:76:16 | 76 | self.0.take(value) | ^^^^ | = note: `-D deprecated` implied by `-D warnings` = help: to override `-D warnings` add `#[allow(deprecated)]` ``` Reviewed By: capickett Differential Revision: D56671179 fbshipit-source-id: 3ae69c069b7f005570c1a06d37194cf056282a18
v2024.05.02.00
update 'clap-4' crate to 4.5.4 Summary: version bump follow https://www.internalfb.com/intern/wiki/Rust/Third_Party_Libraries/Adding_or_Updating_Libraries/ Also updated `clap_complete` together allow-large-files Reviewed By: capickett Differential Revision: D56519704 fbshipit-source-id: deb160a682bd156c69e3f0509a54b1f6a5a85f27
v2024.04.29.00
update 'clap-4' crate to 4.5.4 Summary: version bump follow https://www.internalfb.com/intern/wiki/Rust/Third_Party_Libraries/Adding_or_Updating_Libraries/ Also updated `clap_complete` together allow-large-files Reviewed By: capickett Differential Revision: D56519704 fbshipit-source-id: deb160a682bd156c69e3f0509a54b1f6a5a85f27
v2024.04.22.00
update platform010 & platform010-aarch64 symlinks Summary: Updating from 1.76.0 to 1.77.1 #buildmore Reviewed By: dtolnay Differential Revision: D55760782 fbshipit-source-id: 791a67f63d5cb9f95862a702755c4d50ade1d1ae
v2024.04.15.00
update platform010 & platform010-aarch64 symlinks Summary: Updating from 1.76.0 to 1.77.1 #buildmore Reviewed By: dtolnay Differential Revision: D55760782 fbshipit-source-id: 791a67f63d5cb9f95862a702755c4d50ade1d1ae
v2024.04.08.00
Update `libbpf-rs` & `libbpf-cargo` to `0.23.0` Summary: Update the `libbpf-rs` and `libbpf-cargo` crates to version `0.23.0` to get the latest and greatest. Reviewed By: brianc118 Differential Revision: D55609212 fbshipit-source-id: 59a8221387a07e337be9c2b9d79919de57faad70
v2024.04.01.00
Switch to direct CDN downloads Summary: Fixes https://github.com/facebookincubator/reindeer/issues/43. See https://github.com/rust-lang/crates.io-index/commit/0f11dc08f3ac7acfc356ed2d4e2711e6c023566c. Reviewed By: zertosh Differential Revision: D55542601 fbshipit-source-id: d5843bd6c1bb57c665b259e37220f7b537ae839c
v2024.03.25.00
Update vfs version to 0.12.0 and add async-vfs feature Summary: title Reviewed By: shayne-fletcher Differential Revision: D54812992 fbshipit-source-id: 51d14f201c1eced538bd4fc278d43227830fb5f3
v2024.03.18.00
add support for select-based rustc_flags Summary: Add a new `fixups.toml` config named `rustc_flags_select` for expressing buck2 `select` statements to be materialized in the generated `BUCK` file. Given a vendored crate, this allows one to write the following in its `fixups.toml`: ``` rustc_flags = ["--cfg=some"] [rustc_flags_select] "DEFAULT" = [] "ovr_config//os:macos" = ["--cfg=and_other"] ``` to generate a `BUCK` file like so: ``` third_party_rust_library( ... rustc_flags = [ "--cfg=some", ] + select({ "DEFAULT": [], "ovr_config//os:macos": [ "--cfg=and_other", ], }), ... ) ``` Reviewed By: dtolnay Differential Revision: D54902902 fbshipit-source-id: cb5ab14bd6265155ae4bba2dbc0ad698d20627c1
v2024.03.11.00
Automatically release a binary (and dotslash file) (#42) Summary: This makes it much easier to use this repo from GitHub projects. Pull Request resolved: https://github.com/facebookincubator/reindeer/pull/42 Test Plan: Manually run action on my fork: https://github.com/bigfootjon/reindeer/actions/runs/8175293540 Which generates a release: https://github.com/bigfootjon/reindeer/releases Downloading the dotslash file from that repo and running it works: ``` jonjanzen@jonjanzen-mbp Downloads % dotslash.oss reindeer --help Usage: reindeer [OPTIONS] <COMMAND> Commands: update Update Cargo.lock with new dependencies vendor Vendor crate needed for build buckify Generate Buck build rules for Cargo packages auditsec Show security report for vendored crates help Print this message or the help of the given subcommand(s) Options: --cargo-path <PATH> Path to `cargo` command --rustc-path <PATH> Path to `rustc` command --cargo-options <ARGUMENT> Extra cargo options --third-party-dir <PATH> Path to third-party dir [default: .] -h, --help Print help ``` Reviewed By: shayne-fletcher Differential Revision: D54561053 Pulled By: bigfootjon fbshipit-source-id: 6ce623ccd57f93ebdee62700eafe694a2fabb199