Skip to content

Releases: facebookincubator/reindeer

v2024.05.06.00

06 May 15:09
Compare
Choose a tag to compare
v2024.05.06.00 Pre-release
Pre-release
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

02 May 23:53
Compare
Choose a tag to compare
v2024.05.02.00 Pre-release
Pre-release
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

29 Apr 15:14
Compare
Choose a tag to compare
v2024.04.29.00 Pre-release
Pre-release
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

22 Apr 15:16
Compare
Choose a tag to compare
v2024.04.22.00 Pre-release
Pre-release
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

15 Apr 15:12
Compare
Choose a tag to compare
v2024.04.15.00 Pre-release
Pre-release
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

08 Apr 15:11
Compare
Choose a tag to compare
v2024.04.08.00 Pre-release
Pre-release
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

01 Apr 15:11
Compare
Choose a tag to compare
v2024.04.01.00 Pre-release
Pre-release
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

25 Mar 15:11
Compare
Choose a tag to compare
v2024.03.25.00 Pre-release
Pre-release
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

18 Mar 15:11
Compare
Choose a tag to compare
v2024.03.18.00 Pre-release
Pre-release
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

11 Mar 15:15
Compare
Choose a tag to compare
v2024.03.11.00 Pre-release
Pre-release
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