-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Alias all LFS64 symbols to their non-LFS64 counterparts on musl #2935
Conversation
r? @Amanieu (rust-highfive has picked a reviewer for you, use r? to override) |
This is a breaking change, we have to deprecate them on musl first otherwise user code depending on them would be broken. |
Unless I've missed something, this isn't a breaking change (at a crate API level at least) - all the types and functions that used to exist still do and still have the same name/arguments/structure/alignment etc. The only difference is that when rust code calls I've done a bit more work on this (ensuring that the complex types are rust-level aliases to each other on |
// Musl's standard entrypoints are already LFS64 compatible, historically the library aliased | ||
// these together in header files (as `#define`s) _and_ in the library with weak symbol aliases. | ||
// | ||
// Since <version> these aliases were removed from the library (both in the API and the ABI) so we | ||
// alias them here to keep the crate API stable. | ||
#[allow(dead_code)] | ||
fn check_type_aliases( | ||
dirent: ::dirent, | ||
ino: ::ino_t, | ||
flock: ::flock, | ||
off: ::off_t, | ||
pos: ::fpos_t, | ||
rlimit: ::rlimit, | ||
stat: ::stat, | ||
statfs: ::statfs, | ||
statvfs: ::statvfs, | ||
) { | ||
let _dirent: ::dirent64 = dirent; | ||
let _ino: ::ino64_t = ino; | ||
let _flock: ::flock64 = flock; | ||
let _off: ::off64_t = off; | ||
let _pos: ::fpos64_t = pos; | ||
let _rlimit: ::rlimit64 = rlimit; | ||
let _stat: ::stat64 = stat; | ||
let _statfs: ::statfs64 = statfs; | ||
let _statvfs: ::statvfs64 = statvfs; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This could be moved to test, I guess?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could be, though this is merely a compile-time check that the interchangeable types are aliases (rather than identically defined separate types) it's not a test in the classical sense.
An alternative might be to #[cfg(test)]
this function?
Ah, I see! Thanks for clarifying. Could you fix the style failure and squash commits?
No, we don't support musl 1.2.0 or higher as it contains the time64 change. We've tried to update and the discussion is ongoing: #2088 |
There's a proposed patch available today to remove the symbols from the musl library on the Maybe this PR should be deferred until @wesleywiser's 1.2 support lands - since these symbols won't be disappearing in the |
☔ The latest upstream changes (presumably #3095) made this pull request unmergeable. Please resolve the merge conflicts. |
I tested this against ToT musl that includes the LFS64 symbol removal (https://git.musl-libc.org/cgit/musl/commit/?id=246f1c811448f37a44b41cd8df8d0ef9736d95f4), and it required the attached addition to the second patch: |
328ec95
to
f2ec9e0
Compare
Thanks @colincross I'd not noticed the |
f2ec9e0
to
cd78c71
Compare
Style check is failing, but otherwise this looks good to merge. It is not a breaking change. |
From the discussion in #3248 this probably needs some markups. In that discussion @joshtriplett would prefer the libc crate to expose LFS64 symbols even on Musl 1.2.4 so cross-libc-targeting crates don't need to use Currently the implementation exposes aliased types with
The use of An alternative approach would be for the musl backend to define each LFS64-affected type twice and to define shim functions of the form:
Which assumes:
Thoughts? |
I believe there was some confusion in the discussion in #3248. @joshtriplett was talking about time64, not LFS64. You're right that changing the |
Ok, I've added the set of shim functions (in |
☀️ Test successful - checks-actions, checks-cirrus-freebsd-12, checks-cirrus-freebsd-13, checks-cirrus-freebsd-14 |
This fixes the build with musl-1.2.4, for those that are still experiencing issues these steps should resolve them: 1. Downgrade to musl-1.2.3 2. Rebuild dev-lang/rust with these patches 3. Upgrade to musl-1.2.4 again 4. Rebuild rust with USE=system-bootstrap At this point USE=system-boostrap will be required with >= musl-1.2.4 until uptream merges these patches and updates their boostrap. This was tested with musl-1.2.3, musl-1.2.4 and glibc-2.37-r3. Closes: https://bugs.gentoo.org/903607 Upstream-PR: rust-lang/rust#106246 Upstream-Issue: rust-lang/libc#2934 Upstream-PR: rust-lang/libc#2935 Upstream-PR: rust-random/getrandom#326 Upstream-Commit: rust-random/getrandom@7f73e3c Signed-off-by: orbea <orbea@riseup.net>
Unify definitions of `siginfo_t`, `statvfs` and `statfs` in `musl` targets During #2935 I noticed there were multiple identical definitions of some of the `bits/***.h` types in the musl target, as well as a few places where a type was defined twice in the module tree (leading to the "upper-most" definition being the one exported by the library, in contradiction to the expectation that the "most-specific" definition would be used. This change moves the definitions of `struct statvfs(64)` and `struct siginfo_t` to be global for all `musl` targets (see https://git.musl-libc.org/cgit/musl/tree/include/sys/statvfs.h and https://git.musl-libc.org/cgit/musl/tree/include/signal.h which are architecture-agnostic headers) and `struct statfs(64)` to be global for all 64-bit `musl` targets (see https://git.musl-libc.org/cgit/musl/tree/arch/generic/bits/statfs.h). This also required moving `fsblkcnt64_t` and `fsfilcnt64_t` to be musl-wide too (for use in `struct statvfs64`). It also removes a bunch of redundant (and unreachable) definitions in the `riscv64` and `riscv32` targets (there seems to be a `riscv32` target in the crate, but not in `musl` itself or at least there's no `arch/riscv32` folder in tree). Upshot of the above is that this change has no externally visible effect, if the more specific types were intended to be used they weren't being so removing them is a no-op. To actually use more specific type definitions one would need to `cfg` out the general definition as well as providing the specific one. <details> <summary>To find most of these issues I used this process</summary> ``` $ for target in $(rustc --print target-list | grep musl) do echo $target RUSTDOCFLAGS="--output-format json --document-private-items" cargo +nightly doc -Z build-std=core --target $target done $ for json in target/**/doc/libc.json do echo $json jq '.index[] | select(.inner | keys[0] == "struct") | .name' $json | sort | uniq -d done ``` The first command uses rustdoc to create a JSON representation of the API of the crate for each (`musl`) target and the second searches that output for two exported structs of the same name within a single target. Where there's a duplicate, only one of the two symbols is actually usable (and due to import rules, symbols defined locally take precedence over symbols imported from submodules so the less specific symbol is the one that wins). You can do similar tests for `enum`, `typedef`, `union`, constant` by changing the second command in the obvious way, you can also do the same for `function` though you need to additionally filter on `extern "C"` (since e.g. there's many many `clone` functions defined in the crate): ``` $ jq '.index[] | select(.inner | keys[0] == "function") | select(.inner.function.header.abi | (type == "object" and keys[0] == "C")) | .name' $json | sort | uniq -d ``` </details> It feels like adding the checks in that methodology to CI for each target would be a good way to catch issues where a more specific definition is masked by a less-specific one.
This fixes the build with musl-1.2.4, for those that are still experiencing issues these steps should resolve them: 1. Downgrade to musl-1.2.3 2. Rebuild dev-lang/rust with these patches 3. Upgrade to musl-1.2.4 again 4. Rebuild rust with USE=system-bootstrap At this point USE=system-boostrap will be required with >= musl-1.2.4 until uptream merges these patches and updates their boostrap. This was tested with musl-1.2.3, musl-1.2.4 and glibc-2.37-r3. Closes: https://bugs.gentoo.org/903607 Upstream-PR: rust-lang/rust#106246 Upstream-Issue: rust-lang/libc#2934 Upstream-PR: rust-lang/libc#2935 Upstream-PR: rust-random/getrandom#326 Upstream-Commit: rust-random/getrandom@7f73e3c Signed-off-by: orbea <orbea@riseup.net>
This fixes the build with musl-1.2.4, for those that are still experiencing issues these steps should resolve them: 1. Downgrade to musl-1.2.3 2. Rebuild dev-lang/rust with these patches 3. Upgrade to musl-1.2.4 again 4. Rebuild rust with USE=system-bootstrap At this point USE=system-boostrap will be required with >= musl-1.2.4 until uptream merges these patches and updates their boostrap. This was tested with musl-1.2.3, musl-1.2.4 and glibc-2.37-r3. Closes: https://bugs.gentoo.org/903607 Upstream-PR: rust-lang/rust#106246 Upstream-Issue: rust-lang/libc#2934 Upstream-PR: rust-lang/libc#2935 Upstream-PR: rust-random/getrandom#326 Upstream-Commit: rust-random/getrandom@7f73e3c Signed-off-by: orbea <orbea@riseup.net>
This fixes the build with musl-1.2.4, for those that are still experiencing issues these steps should resolve them: 1. Downgrade to musl-1.2.3 2. Rebuild dev-lang/rust with these patches 3. Upgrade to musl-1.2.4 again 4. Rebuild rust with USE=system-bootstrap At this point USE=system-boostrap will be required with >= musl-1.2.4 until uptream merges these patches and updates their boostrap. This was tested with musl-1.2.3, musl-1.2.4 and glibc-2.37-r3. Closes: https://bugs.gentoo.org/903607 Upstream-PR: rust-lang/rust#106246 Upstream-Issue: rust-lang/libc#2934 Upstream-PR: rust-lang/libc#2935 Upstream-PR: rust-random/getrandom#326 Upstream-Commit: rust-random/getrandom@7f73e3c Signed-off-by: orbea <orbea@riseup.net>
This fixes the build with musl-1.2.4, for those that are still experiencing issues these steps should resolve them: 1. Downgrade to musl-1.2.3 2. Rebuild dev-lang/rust with these patches 3. Upgrade to musl-1.2.4 again 4. Rebuild rust with USE=system-bootstrap At this point USE=system-boostrap will be required with >= musl-1.2.4 until uptream merges these patches and updates their boostrap. This was tested with musl-1.2.3, musl-1.2.4 and glibc-2.37-r3. Closes: https://bugs.gentoo.org/903607 Upstream-PR: rust-lang/rust#106246 Upstream-Issue: rust-lang/libc#2934 Upstream-PR: rust-lang/libc#2935 Upstream-PR: rust-random/getrandom#326 Upstream-Commit: rust-random/getrandom@7f73e3c Signed-off-by: orbea <orbea@riseup.net>
This fixes the build with musl-1.2.4, for those that are still experiencing issues these steps should resolve them: 1. Downgrade to musl-1.2.3 2. Rebuild dev-lang/rust with these patches 3. Upgrade to musl-1.2.4 again 4. Rebuild rust with USE=system-bootstrap At this point USE=system-boostrap will be required with >= musl-1.2.4 until uptream merges these patches and updates their boostrap. This was tested with musl-1.2.3, musl-1.2.4 and glibc-2.37-r3. Closes: https://bugs.gentoo.org/903607 Upstream-PR: rust-lang/rust#106246 Upstream-Issue: rust-lang/libc#2934 Upstream-PR: rust-lang/libc#2935 Upstream-PR: rust-random/getrandom#326 Upstream-Commit: rust-random/getrandom@7f73e3c Signed-off-by: orbea <orbea@riseup.net>
This fixes the build with musl-1.2.4, for those that are still experiencing issues these steps should resolve them: 1. Downgrade to musl-1.2.3 2. Rebuild dev-lang/rust with these patches 3. Upgrade to musl-1.2.4 again 4. Rebuild rust with USE=system-bootstrap At this point USE=system-boostrap will be required with >= musl-1.2.4 until uptream merges these patches and updates their boostrap. This was tested with musl-1.2.3, musl-1.2.4 and glibc-2.37-r3. Closes: https://bugs.gentoo.org/903607 Upstream-PR: rust-lang/rust#106246 Upstream-Issue: rust-lang/libc#2934 Upstream-PR: rust-lang/libc#2935 Upstream-PR: rust-random/getrandom#326 Upstream-Commit: rust-random/getrandom@7f73e3c Signed-off-by: orbea <orbea@riseup.net>
This fixes the build with musl-1.2.4, for those that are still experiencing issues these steps should resolve them: 1. Downgrade to musl-1.2.3 2. Rebuild dev-lang/rust with these patches 3. Upgrade to musl-1.2.4 again 4. Rebuild rust with USE=system-bootstrap This was tested with musl-1.2.3, musl-1.2.4 and glibc-2.37-r3. Closes: https://bugs.gentoo.org/903607 Upstream-PR: rust-lang/rust#106246 Upstream-Issue: rust-lang/libc#2934 Upstream-PR: rust-lang/libc#2935 Upstream-PR: rust-random/getrandom#326 Upstream-Commit: rust-random/getrandom@7f73e3c Signed-off-by: orbea <orbea@riseup.net>
This fixes the build with musl-1.2.4, for those that are still experiencing issues these steps should resolve them: 1. Downgrade to musl-1.2.3 2. Rebuild dev-lang/rust with these patches 3. Upgrade to musl-1.2.4 again 4. Rebuild rust with USE=system-bootstrap This was tested with musl-1.2.3, musl-1.2.4 and glibc-2.37-r3. Closes: https://bugs.gentoo.org/903607 Upstream-PR: rust-lang/rust#106246 Upstream-Issue: rust-lang/libc#2934 Upstream-PR: rust-lang/libc#2935 Upstream-PR: rust-random/getrandom#326 Upstream-Commit: rust-random/getrandom@7f73e3c Signed-off-by: orbea <orbea@riseup.net>
This fixes the build with musl-1.2.4, may need -system-bootstrap after updating musl. Closes: https://bugs.gentoo.org/903607 Upstream-PR: rust-lang/rust#106246 Upstream-Issue: rust-lang/libc#2934 Upstream-PR: rust-lang/libc#2935 Upstream-Commit: rust-lang/libc@1e8c55c Upstream-PR: rust-random/getrandom#326 Upstream-Commit: rust-random/getrandom@7f73e3c Signed-off-by: orbea <orbea@riseup.net>
This fixes the build with musl-1.2.4, may need -system-bootstrap after updating musl. Closes: https://bugs.gentoo.org/903607 Upstream-PR: rust-lang/rust#106246 Upstream-Issue: rust-lang/libc#2934 Upstream-PR: rust-lang/libc#2935 Upstream-Commit: rust-lang/libc@1e8c55c Upstream-PR: rust-random/getrandom#326 Upstream-Commit: rust-random/getrandom@7f73e3c Signed-off-by: orbea <orbea@riseup.net>
chore(deps): update compatible [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [anyhow](https://github.com/dtolnay/anyhow) | workspace.dependencies | patch | `1.0.47` -> `1.0.72` | | [base64](https://github.com/marshallpierce/rust-base64) | workspace.dependencies | patch | `0.21.0` -> `0.21.2` | | [bytesize](https://github.com/hyunsik/bytesize) | workspace.dependencies | minor | `1.0` -> `1.2` | | [clap](https://github.com/clap-rs/clap) | workspace.dependencies | minor | `4.2.0` -> `4.3.19` | | [core-foundation](https://github.com/servo/core-foundation-rs) | workspace.dependencies | patch | `0.9.0` -> `0.9.3` | | [filetime](https://github.com/alexcrichton/filetime) | workspace.dependencies | patch | `0.2.9` -> `0.2.21` | | [flate2](https://github.com/rust-lang/flate2-rs) | workspace.dependencies | patch | `1.0.3` -> `1.0.26` | | [git2](https://github.com/rust-lang/git2-rs) | workspace.dependencies | patch | `0.17.1` -> `0.17.2` | | [glob](https://github.com/rust-lang/glob) | workspace.dependencies | patch | `0.3.0` -> `0.3.1` | | [handlebars](https://github.com/sunng87/handlebars-rust) | workspace.dependencies | minor | `3.2.1` -> `3.5.5` | | [hex](https://github.com/KokaKiwi/rust-hex) | workspace.dependencies | patch | `0.4.2` -> `0.4.3` | | [http-auth](https://github.com/scottlamb/http-auth) | workspace.dependencies | patch | `0.1.6` -> `0.1.8` | | [humantime](https://github.com/tailhook/humantime) | workspace.dependencies | minor | `2.0.0` -> `2.1.0` | | [ignore](https://github.com/BurntSushi/ripgrep/tree/master/crates/ignore) ([source](https://github.com/BurntSushi/ripgrep)) | workspace.dependencies | patch | `0.4.7` -> `0.4.20` | | [im-rc](http://immutable.rs/) ([source](https://github.com/bodil/im-rs)) | workspace.dependencies | minor | `15.0.0` -> `15.1.0` | | [lazy_static](https://github.com/rust-lang-nursery/lazy-static.rs) | workspace.dependencies | minor | `1.3.0` -> `1.4.0` | | [lazycell](https://github.com/indiv0/lazycell) | workspace.dependencies | minor | `1.2.0` -> `1.3.0` | | [libc](https://github.com/rust-lang/libc) | workspace.dependencies | patch | `0.2.144` -> `0.2.147` | | [libgit2-sys](https://github.com/rust-lang/git2-rs) | workspace.dependencies | patch | `0.15.1` -> `0.15.2+1.6.4` | | [log](https://github.com/rust-lang/log) | workspace.dependencies | patch | `0.4.17` -> `0.4.19` | | [memchr](https://github.com/BurntSushi/memchr) | workspace.dependencies | minor | `2.1.3` -> `2.5.0` | | [os_info](https://github.com/stanislav-tkach/os_info) | workspace.dependencies | minor | `3.5.0` -> `3.7.0` | | [pasetors](https://github.com/brycx/pasetors) | workspace.dependencies | patch | `0.6.4` -> `0.6.7` | | [percent-encoding](https://github.com/servo/rust-url) | workspace.dependencies | minor | `2.0` -> `2.3` | | [pkg-config](https://github.com/rust-lang/pkg-config-rs) | workspace.dependencies | patch | `0.3.19` -> `0.3.27` | | [pretty_assertions](https://github.com/rust-pretty-assertions/rust-pretty-assertions) | workspace.dependencies | minor | `1.3.0` -> `1.4.0` | | [proptest](https://proptest-rs.github.io/proptest/proptest/index.html) ([source](https://github.com/proptest-rs/proptest)) | workspace.dependencies | minor | `1.1.0` -> `1.2.0` | | [pulldown-cmark](https://github.com/raphlinus/pulldown-cmark) | workspace.dependencies | patch | `0.9.2` -> `0.9.3` | | [rustfix](https://github.com/rust-lang-nursery/rustfix) | workspace.dependencies | patch | `0.6.0` -> `0.6.1` | | [security-framework](https://lib.rs/crates/security_framework) ([source](https://github.com/kornelski/rust-security-framework)) | workspace.dependencies | minor | `2.0.0` -> `2.9.2` | | [semver](https://github.com/dtolnay/semver) | workspace.dependencies | patch | `1.0.3` -> `1.0.18` | | [serde](https://serde.rs) ([source](https://github.com/serde-rs/serde)) | workspace.dependencies | patch | `1.0.123` -> `1.0.180` | | [serde_ignored](https://github.com/dtolnay/serde-ignored) | workspace.dependencies | patch | `0.1.0` -> `0.1.9` | | [serde_json](https://github.com/serde-rs/json) | workspace.dependencies | patch | `1.0.59` -> `1.0.104` | | [sha2](https://github.com/RustCrypto/hashes) | workspace.dependencies | patch | `0.10.6` -> `0.10.7` | | [shell-escape](https://github.com/sfackler/shell-escape) | workspace.dependencies | patch | `0.1.4` -> `0.1.5` | | [snapbox](https://github.com/assert-rs/trycmd/tree/main/crates/snapbox) ([source](https://github.com/assert-rs/trycmd)) | workspace.dependencies | patch | `0.4.0` -> `0.4.11` | | [strip-ansi-escapes](https://github.com/luser/strip-ansi-escapes) | workspace.dependencies | patch | `0.1.0` -> `0.1.1` | | [syn](https://github.com/dtolnay/syn) | workspace.dependencies | patch | `2.0.14` -> `2.0.28` | | [tar](https://github.com/alexcrichton/tar-rs) | workspace.dependencies | patch | `0.4.38` -> `0.4.39` | | [tempfile](https://stebalien.com/projects/tempfile-rs/) ([source](https://github.com/Stebalien/tempfile)) | workspace.dependencies | minor | `3.1.0` -> `3.7.0` | | [termcolor](https://github.com/BurntSushi/termcolor) | workspace.dependencies | minor | `1.1.2` -> `1.2.0` | | [thiserror](https://github.com/dtolnay/thiserror) | workspace.dependencies | patch | `1.0.40` -> `1.0.44` | | [toml](https://github.com/toml-rs/toml) | workspace.dependencies | patch | `0.7.0` -> `0.7.6` | | [toml_edit](https://github.com/toml-rs/toml) | workspace.dependencies | patch | `0.19.0` -> `0.19.14` | | [unicode-width](https://github.com/unicode-rs/unicode-width) | workspace.dependencies | patch | `0.1.5` -> `0.1.10` | | [unicode-xid](https://github.com/unicode-rs/unicode-xid) | workspace.dependencies | patch | `0.2.0` -> `0.2.4` | | [url](https://github.com/servo/rust-url) | workspace.dependencies | minor | `2.2.2` -> `2.4.0` | | [varisat](https://jix.one/project/varisat/) ([source](https://github.com/jix/varisat)) | workspace.dependencies | patch | `0.2.1` -> `0.2.2` | | [walkdir](https://github.com/BurntSushi/walkdir) | workspace.dependencies | patch | `2.3.1` -> `2.3.3` | --- ### Release Notes <details> <summary>dtolnay/anyhow (anyhow)</summary> ### [`v1.0.72`](https://github.com/dtolnay/anyhow/releases/tag/1.0.72) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.71...1.0.72) - Documentation improvements ### [`v1.0.71`](https://github.com/dtolnay/anyhow/releases/tag/1.0.71) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.70...1.0.71) - Documentation improvements ### [`v1.0.70`](https://github.com/dtolnay/anyhow/releases/tag/1.0.70) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.69...1.0.70) - Update syn dependency to 2.x ### [`v1.0.69`](https://github.com/dtolnay/anyhow/releases/tag/1.0.69) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.68...1.0.69) - Documentation improvements ### [`v1.0.68`](https://github.com/dtolnay/anyhow/releases/tag/1.0.68) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.67...1.0.68) - Opt out of `-Zrustdoc-scrape-examples` on docs.rs for now ### [`v1.0.67`](https://github.com/dtolnay/anyhow/releases/tag/1.0.67) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.66...1.0.67) - Improve the backtrace captured when `context()` is used on an `Option` ([#​280](https://github.com/dtolnay/anyhow/issues/280)) ### [`v1.0.66`](https://github.com/dtolnay/anyhow/releases/tag/1.0.66) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.65...1.0.66) - Reduce unhelpful backtrace frames in backtraces captured during a `context` call ([#​279](https://github.com/dtolnay/anyhow/issues/279)) ### [`v1.0.65`](https://github.com/dtolnay/anyhow/releases/tag/1.0.65) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.64...1.0.65) - <code>impl <a href="https://doc.rust-lang.org/std/any/trait.Provider.html">Provider</a> for anyhow::Error</code> ### [`v1.0.64`](https://github.com/dtolnay/anyhow/releases/tag/1.0.64) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.63...1.0.64) - Correctly propagate Backtrace when using `#[source] anyhow::Error` with [thiserror](https://github.com/dtolnay/thiserror) crate ([#​231](https://github.com/dtolnay/anyhow/issues/231)) ### [`v1.0.63`](https://github.com/dtolnay/anyhow/releases/tag/1.0.63) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.62...1.0.63) - Expose backtraces via the new "generic member access" API on the Error trait ([https://github.com/rust-lang/rust/issues/99301](https://github.com/rust-lang/rust/issues/99301), [https://github.com/rust-lang/rust/issues/96024](https://github.com/rust-lang/rust/issues/96024)) ### [`v1.0.62`](https://github.com/dtolnay/anyhow/releases/tag/1.0.62) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.61...1.0.62) - Fix extra rebuilding when interleaving command-line `cargo` invocations with IDE builds ([#​261](https://github.com/dtolnay/anyhow/issues/261)) ### [`v1.0.61`](https://github.com/dtolnay/anyhow/releases/tag/1.0.61) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.60...1.0.61) - Work around rust-analyzer builds poisoning all subsequent command-line cargo builds ([#​252](https://github.com/dtolnay/anyhow/issues/252)) ### [`v1.0.60`](https://github.com/dtolnay/anyhow/releases/tag/1.0.60) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.59...1.0.60) - Propagate `--target` to rustc invocation when deciding about backtrace support ([#​249](https://github.com/dtolnay/anyhow/issues/249), thanks [`@​RalfJung](https://github.com/RalfJung))` ### [`v1.0.59`](https://github.com/dtolnay/anyhow/releases/tag/1.0.59) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.58...1.0.59) - Update crates.io metadata to include `no-std` category ### [`v1.0.58`](https://github.com/dtolnay/anyhow/releases/tag/1.0.58) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.57...1.0.58) - Fix some broken links in documentation ### [`v1.0.57`](https://github.com/dtolnay/anyhow/releases/tag/1.0.57) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.56...1.0.57) - Remove a `log4rs`-specific workaround from `bail!` macro implementation ### [`v1.0.56`](https://github.com/dtolnay/anyhow/releases/tag/1.0.56) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.55...1.0.56) - Add `must_use` warning when an Error created by `anyhow!` is not used, perhaps because the programmer meant to write `bail!` instead ([#​229](https://github.com/dtolnay/anyhow/issues/229)) ### [`v1.0.55`](https://github.com/dtolnay/anyhow/releases/tag/1.0.55) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.54...1.0.55) - Documentation improvements ### [`v1.0.54`](https://github.com/dtolnay/anyhow/releases/tag/1.0.54) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.53...1.0.54) - Construct more helpful error message from `ensure!` when the expression involves a negative literal const generic as the first generic argument of a method call ([#​224](https://github.com/dtolnay/anyhow/issues/224)) ### [`v1.0.53`](https://github.com/dtolnay/anyhow/releases/tag/1.0.53) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.52...1.0.53) - Retrigger docs.rs build to work around rustdoc regression ([https://github.com/rust-lang/rust/issues/92331](https://github.com/rust-lang/rust/issues/92331)) ### [`v1.0.52`](https://github.com/dtolnay/anyhow/releases/tag/1.0.52) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.51...1.0.52) - Reduce overhead of backtrace capture in the case that backtraces are not enabled ([#​212](https://github.com/dtolnay/anyhow/issues/212)) ### [`v1.0.51`](https://github.com/dtolnay/anyhow/releases/tag/1.0.51) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.50...1.0.51) - Show doc for `Ok` fn ### [`v1.0.50`](https://github.com/dtolnay/anyhow/releases/tag/1.0.50) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.49...1.0.50) - Recognize more types of expressions in `ensure!` macro ([#​199](https://github.com/dtolnay/anyhow/issues/199), [#​200](https://github.com/dtolnay/anyhow/issues/200), [#​202](https://github.com/dtolnay/anyhow/issues/202), [#​203](https://github.com/dtolnay/anyhow/issues/203), [#​204](https://github.com/dtolnay/anyhow/issues/204), [#​205](https://github.com/dtolnay/anyhow/issues/205), [#​206](https://github.com/dtolnay/anyhow/issues/206)) ### [`v1.0.49`](https://github.com/dtolnay/anyhow/releases/tag/1.0.49) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.48...1.0.49) - Add a function `anyhow::Ok(v)` equivalent to `Ok::<_, anyhow::Error>(v)` ([#​192](https://github.com/dtolnay/anyhow/issues/192)) ### [`v1.0.48`](https://github.com/dtolnay/anyhow/releases/tag/1.0.48) [Compare Source](https://github.com/dtolnay/anyhow/compare/1.0.47...1.0.48) - Include a `Debug` rendering of lhs and rhs in `ensure!` messages ([#​193](https://github.com/dtolnay/anyhow/issues/193), [#​194](https://github.com/dtolnay/anyhow/issues/194), [#​195](https://github.com/dtolnay/anyhow/issues/195), [#​196](https://github.com/dtolnay/anyhow/issues/196), [#​197](https://github.com/dtolnay/anyhow/issues/197), [#​198](https://github.com/dtolnay/anyhow/issues/198)) ##### Example: ```rust ensure!(flags.len() <= 40); ``` ```rust ensure!(kind == Kind::File); ``` Before: ```console Condition failed: `flags.len() <= 40` Condition failed: `kind == Kind::File` ``` After: ```console Condition failed: `flags.len() <= 40` (99 vs 40) Condition failed: `kind == Kind::File` (Symlink vs File) ``` </details> <details> <summary>marshallpierce/rust-base64 (base64)</summary> ### [`v0.21.2`](https://github.com/marshallpierce/rust-base64/blob/HEAD/RELEASE-NOTES.md#0212) [Compare Source](https://github.com/marshallpierce/rust-base64/compare/v0.21.1...v0.21.2) - Rollback MSRV to 1.57.0 -- only dev dependencies need 1.60, not the main code ### [`v0.21.1`](https://github.com/marshallpierce/rust-base64/blob/HEAD/RELEASE-NOTES.md#0211) [Compare Source](https://github.com/marshallpierce/rust-base64/compare/v0.21.0...v0.21.1) - Remove the possibility of panicking during decoded length calculations - `DecoderReader` no longer sometimes erroneously ignores padding [#​226](https://github.com/marshallpierce/rust-base64/issues/226) #### Breaking changes - `Engine.internal_decode` return type changed - Update MSRV to 1.60.0 </details> <details> <summary>hyunsik/bytesize (bytesize)</summary> ### [`v1.2.0`](https://github.com/hyunsik/bytesize/releases/tag/v1.2.0): Release 1.2.0 [Compare Source](https://github.com/hyunsik/bytesize/compare/v1.1.0...v1.2.0) #### Changes - serde improvements [#​29](https://github.com/hyunsik/bytesize/issues/29) ([`@​joeroback](https://github.com/joeroback))` ### [`v1.1.0`](https://github.com/hyunsik/bytesize/releases/tag/v1.1.0): Release 1.1.0 #### Changes - ByteSize: Hash [#​23](https://github.com/hyunsik/bytesize/issues/23) ([`@​matklad](https://github.com/matklad))` - add AddAssign operator to ByteSize [#​22](https://github.com/hyunsik/bytesize/issues/22) ([`@​pmnoxx](https://github.com/pmnoxx))` - ByteSize constants [#​21](https://github.com/hyunsik/bytesize/issues/21) ([`@​pmnoxx](https://github.com/pmnoxx))` - Implement the FromStr trait for ByteSize [#​20](https://github.com/hyunsik/bytesize/issues/20) ([`@​jRimbault](https://github.com/jRimbault))` - Padding for Display trait for ByteSize [#​19](https://github.com/hyunsik/bytesize/issues/19) ([`@​acheronfail](https://github.com/acheronfail))` ### [`v1.0.1`](https://github.com/hyunsik/bytesize/compare/release-1.0.0...release-1.0.1) [Compare Source](https://github.com/hyunsik/bytesize/compare/release-1.0.0...release-1.0.1) </details> <details> <summary>clap-rs/clap (clap)</summary> ### [`v4.3.19`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4319---2023-07-21) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.18...v4.3.19) ##### Fixes - *(parse)* Respect `value_terminator` even in the presence of later multiple-value positional arguments ### [`v4.3.18`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4318---2023-07-21) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.17...v4.3.18) ##### Fixes - *(parse)* Suggest `--` in fewer places where it won't work ### [`v4.3.17`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4317---2023-07-19) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.16...v4.3.17) ##### Fixes - *(help)* Address a regression in wrapping `PossibleValue` descriptions in `--help` ### [`v4.3.16`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4316---2023-07-18) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.15...v4.3.16) ##### Fixes - Don't assert when stateful value parsers fail on defaults (e.g. checking if a path exists) ### [`v4.3.15`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4315---2023-07-18) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.14...v4.3.15) ##### Features - *(unstable-styles)* Re-export `anstyle` ##### Documentation - *(unstable-styles)* Provide more examples ### [`v4.3.14`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4314---2023-07-17) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.13...v4.3.14) ##### Features - `ArgAction::HelpShort` and `ArgAction::HelpLong` for explicitly specifying which style of help to display ##### Fixes - Skip `[OPTIONS]` in usage if a help or version `ArgAction` is used ### [`v4.3.13`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4313---2023-07-17) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.12...v4.3.13) ### [`v4.3.12`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4312---2023-07-14) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.11...v4.3.12) ##### Fixes - *(derive)* Don't error on enum variant field attributes ### [`v4.3.11`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4311---2023-07-05) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.10...v4.3.11) ##### Features - *(derive)* Support fields wrapped in `num::Wrapping`, `Box`, or `Arc` - *(derive)* Support `Box<str>`, `Box<OsStr>`, and `Box<Path>` ### [`v4.3.10`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4310---2023-06-30) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.9...v4.3.10) ##### Performance - Drop a dependency, reducing binary size by 1.3 KiB ### [`v4.3.9`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#439---2023-06-28) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.8...v4.3.9) ##### Fixes - `Command::ignore_errors` no longer masks help/version ### [`v4.3.8`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#438---2023-06-23) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.7...v4.3.8) ##### Fixes - Error on ambiguity with `infer_long_arg`, rather than arbitrarily picking one, matching the documentation and subcommand's behavior ### [`v4.3.7`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#437---2023-06-23) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.6...v4.3.7) ##### Documentation - Further clarify magic behavior in derive tutorial - Further clarify derive API's relationship to builder within the tutorial ### [`v4.3.6`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#436---2023-06-23) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.5...v4.3.6) ##### Documentation - Suggest `clio` ### [`v4.3.5`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#435---2023-06-20) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.4...v4.3.5) - `ColorChoice::possible_values` is added to simplify things for builder users ##### Fixes - `ColorChoice::to_possible_value` no longer includes descriptions, encouraging shorter help where possible ### [`v4.3.4`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#434---2023-06-14) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.3...v4.3.4) ##### Features - Add `Error::exit_code` ### [`v4.3.3`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#433---2023-06-09) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.2...v4.3.3) ##### Features - `Command::defer` for delayed initialization of subcommands to reduce startup times of large applications like deno ### [`v4.3.2`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#432---2023-06-05) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.1...v4.3.2) ##### Fixes - *(derive)* Don't produce `unused_equalifications` warnings when someone brings a clap type into scope ### [`v4.3.1`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4319---2023-07-21) [Compare Source](https://github.com/clap-rs/clap/compare/v4.3.0...v4.3.1) ##### Fixes - *(parse)* Respect `value_terminator` even in the presence of later multiple-value positional arguments ### [`v4.3.0`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#430---2023-05-19) [Compare Source](https://github.com/clap-rs/clap/compare/v4.2.7...v4.3.0) ##### Fixes - *(assert)* Allow multiple, value-terminated, positional arguments - *(assert)* Clear up language on `last` assertion - *(parser)* Correctly assign values to arguments when using multiple, value-termianted, positional arguments - *(parser)* Ensure `value_terminator` has higher precedence than `allow_hyphen_values` - *(help)* Only use next-line-help on subcommand list when explicitly specified, not just with `--help` - *(help)* Correctly align possible values list - *(help)* Don't waste code, vertical space in moving possible value descriptions to next line ### [`v4.2.7`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#427---2023-05-02) [Compare Source](https://github.com/clap-rs/clap/compare/v4.2.6...v4.2.7) ##### Fixes - Correctly track remaining length for iterators provided by `ArgMatches` ### [`v4.2.6`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#426---2023-05-02) [Compare Source](https://github.com/clap-rs/clap/compare/v4.2.5...v4.2.6) ##### Features - `impl Eq<std::any::TypeId> for clap_builder::util::AnyValueId` ### [`v4.2.5`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#425---2023-04-27) [Compare Source](https://github.com/clap-rs/clap/compare/v4.2.4...v4.2.5) ##### Fixes - Improve panic when a group requires a non-existent ID ### [`v4.2.4`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#424---2023-04-19) [Compare Source](https://github.com/clap-rs/clap/compare/v4.2.3...v4.2.4) ##### Documentation - Corrected docs for `Command::style` ### [`v4.2.3`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#423---2023-04-18) [Compare Source](https://github.com/clap-rs/clap/compare/v4.2.2...v4.2.3) ##### Features - `Command::styles` for theming help/errors (behind `unstable-styles`) ### [`v4.2.2`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#422---2023-04-13) [Compare Source](https://github.com/clap-rs/clap/compare/v4.2.1...v4.2.2) ##### Internal - Update dependencies ### [`v4.2.1`](https://github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#421---2023-03-28) [Compare Source](https://github.com/clap-rs/clap/compare/v4.2.0...v4.2.1) ##### Fixes - Don't highlight uninteresting parts of the error message </details> <details> <summary>servo/core-foundation-rs (core-foundation)</summary> ### [`v0.9.3`](https://github.com/servo/core-foundation-rs/compare/core-foundation-v0.9.2...core-foundation-v0.9.3) [Compare Source](https://github.com/servo/core-foundation-rs/compare/core-foundation-v0.9.2...core-foundation-v0.9.3) ### [`v0.9.2`](https://github.com/servo/core-foundation-rs/compare/core-foundation-v0.9.1...core-foundation-v0.9.2) [Compare Source](https://github.com/servo/core-foundation-rs/compare/core-foundation-v0.9.1...core-foundation-v0.9.2) ### [`v0.9.1`](https://github.com/servo/core-foundation-rs/compare/core-foundation-v0.9.0...core-foundation-v0.9.1) [Compare Source](https://github.com/servo/core-foundation-rs/compare/core-foundation-v0.9.0...core-foundation-v0.9.1) </details> <details> <summary>alexcrichton/filetime (filetime)</summary> ### [`v0.2.21`](https://github.com/alexcrichton/filetime/compare/0.2.20...0.2.21) [Compare Source](https://github.com/alexcrichton/filetime/compare/0.2.20...0.2.21) ### [`v0.2.20`](https://github.com/alexcrichton/filetime/compare/0.2.19...0.2.20) [Compare Source](https://github.com/alexcrichton/filetime/compare/0.2.19...0.2.20) ### [`v0.2.19`](https://github.com/alexcrichton/filetime/compare/0.2.18...0.2.19) [Compare Source](https://github.com/alexcrichton/filetime/compare/0.2.18...0.2.19) ### [`v0.2.18`](https://github.com/alexcrichton/filetime/compare/0.2.17...0.2.18) [Compare Source](https://github.com/alexcrichton/filetime/compare/0.2.17...0.2.18) ### [`v0.2.14`](https://github.com/alexcrichton/filetime/compare/0.2.13...0.2.14) [Compare Source](https://github.com/alexcrichton/filetime/compare/0.2.13...0.2.14) ### [`v0.2.13`](https://github.com/alexcrichton/filetime/compare/0.2.12...0.2.13) [Compare Source](https://github.com/alexcrichton/filetime/compare/0.2.12...0.2.13) ### [`v0.2.12`](https://github.com/alexcrichton/filetime/compare/0.2.11...0.2.12) [Compare Source](https://github.com/alexcrichton/filetime/compare/0.2.11...0.2.12) ### [`v0.2.11`](https://github.com/alexcrichton/filetime/compare/0.2.10...0.2.11) [Compare Source](https://github.com/alexcrichton/filetime/compare/0.2.10...0.2.11) ### [`v0.2.10`](https://github.com/alexcrichton/filetime/compare/0.2.9...0.2.10) [Compare Source](https://github.com/alexcrichton/filetime/compare/0.2.9...0.2.10) </details> <details> <summary>rust-lang/flate2-rs (flate2)</summary> ### [`v1.0.26`](https://github.com/rust-lang/flate2-rs/releases/tag/1.0.26) [Compare Source](https://github.com/rust-lang/flate2-rs/compare/1.0.25...1.0.26) #### What's Changed - Add decompress file example by [`@​MichaelMcDonnell](https://github.com/MichaelMcDonnell)` in [https://github.com/rust-lang/flate2-rs/pull/329](https://github.com/rust-lang/flate2-rs/pull/329) - Remove `extern crate`s by [`@​JohnTitor](https://github.com/JohnTitor)` in [https://github.com/rust-lang/flate2-rs/pull/331](https://github.com/rust-lang/flate2-rs/pull/331) - Make clippy happy + a few more cleanups by [`@​nyurik](https://github.com/nyurik)` in [https://github.com/rust-lang/flate2-rs/pull/285](https://github.com/rust-lang/flate2-rs/pull/285) - Fix left-overs on decoder docs by [`@​JohnTitor](https://github.com/JohnTitor)` in [https://github.com/rust-lang/flate2-rs/pull/333](https://github.com/rust-lang/flate2-rs/pull/333) - Mention MSRV policy by [`@​JohnTitor](https://github.com/JohnTitor)` in [https://github.com/rust-lang/flate2-rs/pull/332](https://github.com/rust-lang/flate2-rs/pull/332) - Bump miniz-oxide to prevent assertion failure by [`@​softdevca](https://github.com/softdevca)` in [https://github.com/rust-lang/flate2-rs/pull/335](https://github.com/rust-lang/flate2-rs/pull/335) - Enable all-features, Use doc_auto_cfg on docs.rs by [`@​wcampbell0x2a](https://github.com/wcampbell0x2a)` in [https://github.com/rust-lang/flate2-rs/pull/336](https://github.com/rust-lang/flate2-rs/pull/336) - Fix a typo in doc for write::GzDecoder by [`@​yestyle](https://github.com/yestyle)` in [https://github.com/rust-lang/flate2-rs/pull/337](https://github.com/rust-lang/flate2-rs/pull/337) - Fixed overflow bug in crc combine by [`@​AntonJMLarsson](https://github.com/AntonJMLarsson)` in [https://github.com/rust-lang/flate2-rs/pull/330](https://github.com/rust-lang/flate2-rs/pull/330) - Added feature for enabling default zlib-sys features by [`@​taco-paco](https://github.com/taco-paco)` in [https://github.com/rust-lang/flate2-rs/pull/322](https://github.com/rust-lang/flate2-rs/pull/322) - Add write::MultiGzDecoder for multi-member gzip data by [`@​jongiddy](https://github.com/jongiddy)` in [https://github.com/rust-lang/flate2-rs/pull/325](https://github.com/rust-lang/flate2-rs/pull/325) - gha: Upgrade to windows-2022 by [`@​JohnTitor](https://github.com/JohnTitor)` in [https://github.com/rust-lang/flate2-rs/pull/343](https://github.com/rust-lang/flate2-rs/pull/343) - gha: Specify tag instead of branch on actions/checkout by [`@​JohnTitor](https://github.com/JohnTitor)` in [https://github.com/rust-lang/flate2-rs/pull/342](https://github.com/rust-lang/flate2-rs/pull/342) - Prepare 1.0.26 release by [`@​JohnTitor](https://github.com/JohnTitor)` in [https://github.com/rust-lang/flate2-rs/pull/341](https://github.com/rust-lang/flate2-rs/pull/341) #### New Contributors - [`@​MichaelMcDonnell](https://github.com/MichaelMcDonnell)` made their first contribution in [https://github.com/rust-lang/flate2-rs/pull/329](https://github.com/rust-lang/flate2-rs/pull/329) - [`@​JohnTitor](https://github.com/JohnTitor)` made their first contribution in [https://github.com/rust-lang/flate2-rs/pull/331](https://github.com/rust-lang/flate2-rs/pull/331) - [`@​softdevca](https://github.com/softdevca)` made their first contribution in [https://github.com/rust-lang/flate2-rs/pull/335](https://github.com/rust-lang/flate2-rs/pull/335) - [`@​wcampbell0x2a](https://github.com/wcampbell0x2a)` made their first contribution in [https://github.com/rust-lang/flate2-rs/pull/336](https://github.com/rust-lang/flate2-rs/pull/336) - [`@​yestyle](https://github.com/yestyle)` made their first contribution in [https://github.com/rust-lang/flate2-rs/pull/337](https://github.com/rust-lang/flate2-rs/pull/337) - [`@​AntonJMLarsson](https://github.com/AntonJMLarsson)` made their first contribution in [https://github.com/rust-lang/flate2-rs/pull/330](https://github.com/rust-lang/flate2-rs/pull/330) - [`@​taco-paco](https://github.com/taco-paco)` made their first contribution in [https://github.com/rust-lang/flate2-rs/pull/322](https://github.com/rust-lang/flate2-rs/pull/322) - [`@​jongiddy](https://github.com/jongiddy)` made their first contribution in [https://github.com/rust-lang/flate2-rs/pull/325](https://github.com/rust-lang/flate2-rs/pull/325) **Full Changelog**: https://github.com/rust-lang/flate2-rs/compare/1.0.25...1.0.26 ### [`v1.0.25`](https://github.com/rust-lang/flate2-rs/releases/tag/1.0.25) [Compare Source](https://github.com/rust-lang/flate2-rs/compare/1.0.24...1.0.25) #### What's Changed - Use SPDX license format and update links by [`@​atouchet](https://github.com/atouchet)` in [https://github.com/rust-lang/flate2-rs/pull/296](https://github.com/rust-lang/flate2-rs/pull/296) - Bump miniz_oxide to 0.6 by [`@​paolobarbolini](https://github.com/paolobarbolini)` in [https://github.com/rust-lang/flate2-rs/pull/317](https://github.com/rust-lang/flate2-rs/pull/317) - Prep release 1.0.25 by [`@​thomcc](https://github.com/thomcc)` in [https://github.com/rust-lang/flate2-rs/pull/327](https://github.com/rust-lang/flate2-rs/pull/327) #### New Contributors - [`@​atouchet](https://github.com/atouchet)` made their first contribution in [https://github.com/rust-lang/flate2-rs/pull/296](https://github.com/rust-lang/flate2-rs/pull/296) - [`@​paolobarbolini](https://github.com/paolobarbolini)` made their first contribution in [https://github.com/rust-lang/flate2-rs/pull/317](https://github.com/rust-lang/flate2-rs/pull/317) - [`@​thomcc](https://github.com/thomcc)` made their first contribution in [https://github.com/rust-lang/flate2-rs/pull/327](https://github.com/rust-lang/flate2-rs/pull/327) **Full Changelog**: https://github.com/rust-lang/flate2-rs/compare/1.0.24...1.0.25 ### [`v1.0.24`](https://github.com/rust-lang/flate2-rs/compare/1.0.23...1.0.24) [Compare Source](https://github.com/rust-lang/flate2-rs/compare/1.0.23...1.0.24) ### [`v1.0.23`](https://github.com/rust-lang/flate2-rs/compare/1.0.22...1.0.23) [Compare Source](https://github.com/rust-lang/flate2-rs/compare/1.0.22...1.0.23) ### [`v1.0.22`](https://github.com/rust-lang/flate2-rs/compare/1.0.21...1.0.22) [Compare Source](https://github.com/rust-lang/flate2-rs/compare/1.0.21...1.0.22) ### [`v1.0.21`](https://github.com/rust-lang/flate2-rs/compare/1.0.20...1.0.21) [Compare Source](https://github.com/rust-lang/flate2-rs/compare/1.0.20...1.0.21) ### [`v1.0.20`](https://github.com/rust-lang/flate2-rs/compare/1.0.19...1.0.20) [Compare Source](https://github.com/rust-lang/flate2-rs/compare/1.0.19...1.0.20) ### [`v1.0.19`](https://github.com/rust-lang/flate2-rs/compare/1.0.18...1.0.19) [Compare Source](https://github.com/rust-lang/flate2-rs/compare/1.0.18...1.0.19) ### [`v1.0.18`](https://github.com/rust-lang/flate2-rs/compare/1.0.17...1.0.18) [Compare Source](https://github.com/rust-lang/flate2-rs/compare/1.0.17...1.0.18) ### [`v1.0.17`](https://github.com/rust-lang/flate2-rs/compare/1.0.16...1.0.17) [Compare Source](https://github.com/rust-lang/flate2-rs/compare/1.0.16...1.0.17) ### [`v1.0.16`](https://github.com/rust-lang/flate2-rs/compare/1.0.14...1.0.16) [Compare Source](https://github.com/rust-lang/flate2-rs/compare/1.0.14...1.0.16) ### [`v1.0.14`](https://github.com/rust-lang/flate2-rs/compare/1.0.13...1.0.14) [Compare Source](https://github.com/rust-lang/flate2-rs/compare/1.0.13...1.0.14) ### [`v1.0.13`](https://github.com/rust-lang/flate2-rs/compare/1.0.12...1.0.13) [Compare Source](https://github.com/rust-lang/flate2-rs/compare/1.0.12...1.0.13) ### [`v1.0.12`](https://github.com/rust-lang/flate2-rs/compare/1.0.11...1.0.12) [Compare Source](https://github.com/rust-lang/flate2-rs/compare/1.0.11...1.0.12) ### [`v1.0.11`](https://github.com/rust-lang/flate2-rs/compare/1.0.10...1.0.11) [Compare Source](https://github.com/rust-lang/flate2-rs/compare/1.0.10...1.0.11) ### [`v1.0.10`](https://github.com/rust-lang/flate2-rs/compare/1.0.9...1.0.10) [Compare Source](https://github.com/rust-lang/flate2-rs/compare/1.0.9...1.0.10) ### [`v1.0.9`](https://github.com/rust-lang/flate2-rs/compare/1.0.8...1.0.9) [Compare Source](https://github.com/rust-lang/flate2-rs/compare/1.0.8...1.0.9) ### [`v1.0.8`](https://github.com/rust-lang/flate2-rs/compare/1.0.7...1.0.8) [Compare Source](https://github.com/rust-lang/flate2-rs/compare/1.0.7...1.0.8) ### [`v1.0.7`](https://github.com/rust-lang/flate2-rs/compare/1.0.6...1.0.7) [Compare Source](https://github.com/rust-lang/flate2-rs/compare/1.0.6...1.0.7) ### [`v1.0.6`](https://github.com/rust-lang/flate2-rs/compare/1.0.5...1.0.6) [Compare Source](https://github.com/rust-lang/flate2-rs/compare/1.0.5...1.0.6) ### [`v1.0.5`](https://github.com/rust-lang/flate2-rs/compare/1.0.4...1.0.5) [Compare Source](https://github.com/rust-lang/flate2-rs/compare/1.0.4...1.0.5) ### [`v1.0.4`](https://github.com/rust-lang/flate2-rs/compare/1.0.3...1.0.4) [Compare Source](https://github.com/rust-lang/flate2-rs/compare/1.0.3...1.0.4) </details> <details> <summary>rust-lang/git2-rs (git2)</summary> ### [`v0.17.2`](https://github.com/rust-lang/git2-rs/blob/HEAD/CHANGELOG.md#0172---2023-05-27) [Compare Source](https://github.com/rust-lang/git2-rs/compare/0.17.1...0.17.2) [0.17.1...0.17.2](https://github.com/rust-lang/git2-rs/compare/0.17.1...0.17.2) ##### Added - Added support for stashing with options (which can support partial stashing). [#​930](https://github.com/rust-lang/git2-rs/pull/930) </details> <details> <summary>rust-lang/glob (glob)</summary> ### [`v0.3.1`](https://github.com/rust-lang/glob/releases/tag/0.3.1) [Compare Source](https://github.com/rust-lang/glob/compare/0.3.0...0.3.1) #### What's Changed - Add doc-comment to test README examples by [`@​GuillaumeGomez](https://github.com/GuillaumeGomez)` in [https://github.com/rust-lang/glob/pull/81](https://github.com/rust-lang/glob/pull/81) - Set up CI with Azure Pipelines by [`@​KodrAus](https://github.com/KodrAus)` in [https://github.com/rust-lang/glob/pull/86](https://github.com/rust-lang/glob/pull/86) - Use 'dyn' since trait objects without an explicit 'dyn' are deprecated by [`@​Atul9](https://github.com/Atul9)` in [https://github.com/rust-lang/glob/pull/87](https://github.com/rust-lang/glob/pull/87) - Fix tests on Windows by [`@​steveklabnik](https://github.com/steveklabnik)` in [https://github.com/rust-lang/glob/pull/88](https://github.com/rust-lang/glob/pull/88) - Add Debug trait to MatchOptions by [`@​brmmm3](https://github.com/brmmm3)` in [https://github.com/rust-lang/glob/pull/91](https://github.com/rust-lang/glob/pull/91) - Add triagebot configuration by [`@​Mark-Simulacrum](https://github.com/Mark-Simulacrum)` in [https://github.com/rust-lang/glob/pull/95](https://github.com/rust-lang/glob/pull/95) - Derive Debug for Paths by [`@​gibfahn](https://github.com/gibfahn)` in [https://github.com/rust-lang/glob/pull/97](https://github.com/rust-lang/glob/pull/97) - Derive Debug for MatchOptions by [`@​brmmm3](https://github.com/brmmm3)` in [https://github.com/rust-lang/glob/pull/99](https://github.com/rust-lang/glob/pull/99) - Move tokens_len into if block as it is only used there by [`@​brmmm3](https://github.com/brmmm3)` in [https://github.com/rust-lang/glob/pull/93](https://github.com/rust-lang/glob/pull/93) - Replace Azure Pipelines with GitHub Actions by [`@​KodrAus](https://github.com/KodrAus)` in [https://github.com/rust-lang/glob/pull/113](https://github.com/rust-lang/glob/pull/113) - Use SPDX license format by [`@​atouchet](https://github.com/atouchet)` in [https://github.com/rust-lang/glob/pull/115](https://github.com/rust-lang/glob/pull/115) - replace the Azure Pipelines status badge by [`@​KodrAus](https://github.com/KodrAus)` in [https://github.com/rust-lang/glob/pull/114](https://github.com/rust-lang/glob/pull/114) - Fix spacing in Readme by [`@​atouchet](https://github.com/atouchet)` in [https://github.com/rust-lang/glob/pull/119](https://github.com/rust-lang/glob/pull/119) - Update GHA OS versions to latest by [`@​JohnTitor](https://github.com/JohnTitor)` in [https://github.com/rust-lang/glob/pull/118](https://github.com/rust-lang/glob/pull/118) - Allow deprecation to `Error::description` by [`@​JohnTitor](https://github.com/JohnTitor)` in [https://github.com/rust-lang/glob/pull/120](https://github.com/rust-lang/glob/pull/120) - Note the difference between `new()` and `default()` by [`@​JohnTitor](https://github.com/JohnTitor)` in [https://github.com/rust-lang/glob/pull/121](https://github.com/rust-lang/glob/pull/121) - Prepare 0.3.1 release by [`@​JohnTitor](https://github.com/JohnTitor)` in [https://github.com/rust-lang/glob/pull/124](https://github.com/rust-lang/glob/pull/124) #### New Contributors - [`@​GuillaumeGomez](https://github.com/GuillaumeGomez)` made their first contribution in [https://github.com/rust-lang/glob/pull/81](https://github.com/rust-lang/glob/pull/81) - [`@​Atul9](https://github.com/Atul9)` made their first contribution in [https://github.com/rust-lang/glob/pull/87](https://github.com/rust-lang/glob/pull/87) - [`@​brmmm3](https://github.com/brmmm3)` made their first contribution in [https://github.com/rust-lang/glob/pull/91](https://github.com/rust-lang/glob/pull/91) - [`@​Mark-Simulacrum](https://github.com/Mark-Simulacrum)` made their first contribution in [https://github.com/rust-lang/glob/pull/95](https://github.com/rust-lang/glob/pull/95) - [`@​gibfahn](https://github.com/gibfahn)` made their first contribution in [https://github.com/rust-lang/glob/pull/97](https://github.com/rust-lang/glob/pull/97) - [`@​atouchet](https://github.com/atouchet)` made their first contribution in [https://github.com/rust-lang/glob/pull/115](https://github.com/rust-lang/glob/pull/115) - [`@​JohnTitor](https://github.com/JohnTitor)` made their first contribution in [https://github.com/rust-lang/glob/pull/118](https://github.com/rust-lang/glob/pull/118) **Full Changelog**: https://github.com/rust-lang/glob/compare/0.3.0...0.3.1 </details> <details> <summary>sunng87/handlebars-rust (handlebars)</summary> ### [`v3.5.5`](https://github.com/sunng87/handlebars-rust/blob/HEAD/CHANGELOG.md#355---2021-05-03) [Compare Source](https://github.com/sunng87/handlebars-rust/compare/v3.5.4...v3.5.5) - \[Fixed] Panic on reporting invalid tag name \[[#​427](https://github.com/sunng87/handlebars-rust/issues/427)] ### [`v3.5.4`](https://github.com/sunng87/handlebars-rust/blob/HEAD/CHANGELOG.md#354---2021-03-27) [Compare Source](https://github.com/sunng87/handlebars-rust/compare/v3.5.3...v3.5.4) - \[Fixed] Json string literal with escape char \[[#​422](https://github.com/sunng87/handlebars-rust/issues/422)] ### [`v3.5.3`](https://github.com/sunng87/handlebars-rust/blob/HEAD/CHANGELOG.md#353---2021-02-20) [Compare Source](https://github.com/sunng87/handlebars-rust/compare/v3.5.2...v3.5.3) - \[Fixed] value access issue when upper block has a base value \[[#​419](https://github.com/sunng87/handlebars-rust/issues/419)] ### [`v3.5.2`](https://github.com/sunng87/handlebars-rust/blob/HEAD/CHANGELOG.md#352---2020-12-29) [Compare Source](https://github.com/sunng87/handlebars-rust/compare/v3.5.1...v3.5.2) - \[Fixed] allow `/` as trailing separator on Windows, backported from master \[[#​405](https://github.com/sunng87/handlebars-rust/issues/405)] ### [`v3.5.1`](https://github.com/sunng87/handlebars-rust/blob/HEAD/CHANGELOG.md#351---2020-10-25) [Compare Source](https://github.com/sunng87/handlebars-rust/compare/v3.5.0...v3.5.1) - \[Fixed] dir source path separator bug on windows \[[#​389](https://github.com/sunng87/handlebars-rust/issues/389)] ### [`v3.5.0`](https://github.com/sunng87/handlebars-rust/blob/HEAD/CHANGELOG.md#350---2020-09-23) [Compare Source](https://github.com/sunng87/handlebars-rust/compare/v3.4.0...v3.5.0) - \[Changed] `#each` helper now renders else block for non-iterable data \[[#​380](https://github.com/sunng87/handlebars-rust/issues/380)] - \[Fixed] reference starts with `null`, `true` and `false` were parsed incorrectly \[[#​382](https://github.com/sunng87/handlebars-rust/issues/382)] ### [`v3.4.0`](https://github.com/sunng87/handlebars-rust/blob/HEAD/CHANGELOG.md#340---2020-08-14) [Compare Source](https://github.com/sunng87/handlebars-rust/compare/v3.3.0...v3.4.0) - \[Added] Debug log that can be turned on by using envlog or other implementation, to trace data resolution during rendering \[[#​369](https://github.com/sunng87/handlebars-rust/issues/369)] - \[Fixed] Derived value as block context base value \[[#​343](https://github.com/sunng87/handlebars-rust/issues/343), [#​353](https://github.com/sunng87/handlebars-rust/issues/353)] - \[Fixed] Partial name aligned with handlebars.js, added support for `.`, escape `[]` and string `''` name - \[Changed] HTML escape aligned with handlebars.js, added `=`, `\` and \`\`\` \[[#​366](https://github.com/sunng87/handlebars-rust/issues/366)] - \[Changed] Update rhai to 0.18 \[[#​370](https://github.com/sunng87/handlebars-rust/issues/370)] - \[Fixed] Result of simple helper is now escaped \[[#​373](https://github.com/sunng87/handlebars-rust/issues/373)] ### [`v3.3.0`](https://github.com/sunng87/handlebars-rust/blob/HEAD/CHANGELOG.md#330---2020-07-18) [Compare Source](https://github.com/sunng87/handlebars-rust/compare/v3.2.1...v3.3.0) - \[Added] Added two new APIs to reuse `Context` for rendering \[[#​352](https://github.com/sunng87/handlebars-rust/issues/352)] - \[Changed] Update rhai to 0.17 \[[#​354](https://github.com/sunng87/handlebars-rust/issues/354)] - \[Fixed] Fixed mustache.js html expression support, which is "&" instead of "$" </details> <details> <summary>KokaKiwi/rust-hex (hex)</summary> ### [`v0.4.3`](https://github.com/KokaKiwi/rust-hex/compare/v0.4.2...v0.4.3) [Compare Source](https://github.com/KokaKiwi/rust-hex/compare/v0.4.2...v0.4.3) </details> <details> <summary>scottlamb/http-auth (http-auth)</summary> ### [`v0.1.8`](https://github.com/scottlamb/http-auth/blob/HEAD/CHANGELOG.md#v018-2023-01-30) [Compare Source](https://github.com/scottlamb/http-auth/compare/v0.1.7...v0.1.8) - upgrade `base64` dependency from 0.20 to 0.21. ### [`v0.1.7`](https://github.com/scottlamb/http-auth/blob/HEAD/CHANGELOG.md#v017-2023-01-05) [Compare Source](https://github.com/scottlamb/http-auth/compare/v0.1.6...v0.1.7) - bump minimum Rust version to 1.57. - upgrade `base64` dependency from 0.13 to 0.20. </details> <details> <summary>tailhook/humantime (humantime)</summary> ### [`v2.1.0`](https://github.com/tailhook/humantime/compare/v2.0.1...v2.1.0) [Compare Source](https://github.com/tailhook/humantime/compare/v2.0.1...v2.1.0) ### [`v2.0.1`](https://github.com/tailhook/humantime/compare/v2.0.0...v2.0.1) [Compare Source](https://github.com/tailhook/humantime/compare/v2.0.0...v2.0.1) </details> <details> <summary>BurntSushi/ripgrep (ignore)</summary> ### [`v0.4.20`](https://github.com/BurntSushi/ripgrep/compare/ignore-0.4.19...ignore-0.4.20) [Compare Source](https://github.com/BurntSushi/ripgrep/compare/ignore-0.4.19...ignore-0.4.20) ### [`v0.4.19`](https://github.com/BurntSushi/ripgrep/compare/ignore-0.4.18...ignore-0.4.19) [Compare Source](https://github.com/BurntSushi/ripgrep/compare/ignore-0.4.18...ignore-0.4.19) ### [`v0.4.18`](https://github.com/BurntSushi/ripgrep/compare/ignore-0.4.17...ignore-0.4.18) [Compare Source](https://github.com/BurntSushi/ripgrep/compare/ignore-0.4.17...ignore-0.4.18) ### [`v0.4.17`](https://github.com/BurntSushi/ripgrep/compare/ignore-0.4.16...ignore-0.4.17) [Compare Source](https://github.com/BurntSushi/ripgrep/compare/ignore-0.4.16...ignore-0.4.17) ### [`v0.4.16`](https://github.com/BurntSushi/ripgrep/compare/ignore-0.4.15...ignore-0.4.16) [Compare Source](https://github.com/BurntSushi/ripgrep/compare/ignore-0.4.15...ignore-0.4.16) ### [`v0.4.15`](https://github.com/BurntSushi/ripgrep/compare/ignore-0.4.14...ignore-0.4.15) [Compare Source](https://github.com/BurntSushi/ripgrep/compare/ignore-0.4.14...ignore-0.4.15) ### [`v0.4.14`](https://github.com/BurntSushi/ripgrep/compare/ignore-0.4.13...ignore-0.4.14) [Compare Source](https://github.com/BurntSushi/ripgrep/compare/ignore-0.4.13...ignore-0.4.14) ### [`v0.4.13`](https://github.com/BurntSushi/ripgrep/compare/ignore-0.4.12...ignore-0.4.13) [Compare Source](https://github.com/BurntSushi/ripgrep/compare/ignore-0.4.12...ignore-0.4.13) ### [`v0.4.12`](https://github.com/BurntSushi/ripgrep/compare/ignore-0.4.11...ignore-0.4.12) [Compare Source](https://github.com/BurntSushi/ripgrep/compare/ignore-0.4.11...ignore-0.4.12) ### [`v0.4.11`](https://github.com/BurntSushi/ripgrep/compare/ignore-0.4.10...ignore-0.4.11) [Compare Source](https://github.com/BurntSushi/ripgrep/compare/ignore-0.4.10...ignore-0.4.11) ### [`v0.4.10`](https://github.com/BurntSushi/ripgrep/compare/ignore-0.4.9...ignore-0.4.10) [Compare Source](https://github.com/BurntSushi/ripgrep/compare/ignore-0.4.9...ignore-0.4.10) ### [`v0.4.9`](https://github.com/BurntSushi/ripgrep/compare/ignore-0.4.8...ignore-0.4.9) [Compare Source](https://github.com/BurntSushi/ripgrep/compare/ignore-0.4.8...ignore-0.4.9) ### [`v0.4.8`](https://github.com/BurntSushi/ripgrep/compare/ignore-0.4.7...ignore-0.4.8) [Compare Source](https://github.com/BurntSushi/ripgrep/compare/ignore-0.4.7...ignore-0.4.8) </details> <details> <summary>bodil/im-rs (im-rc)</summary> ### [`v15.1.0`](https://github.com/bodil/im-rs/blob/HEAD/CHANGELOG.md#1510---2022-04-29) [Compare Source](https://github.com/bodil/im-rs/compare/v15.0.0...v15.1.0) ##### Added - `HashSet` now implements `From<Vector<A>>` and `From<&Vector<A>> where A: Clone`. ##### Fixed - Fixed a long standing crash bug in `OrdMap`/`OrdSet`. ([#​154](https://github.com/bodil/im-rs/issues/154), [#​143](https://github.com/bodil/im-rs/issues/143), [#​152](https://github.com/bodil/im-rs/issues/152), [#​124](https://github.com/bodil/im-rs/issues/124)) - The `union` method on maps/sets will now prefer to mutate the larger set (which leads to less work) rather than the first set. ([#​163](https://github.com/bodil/im-rs/issues/163)) - Ensure `TreeFocus` only implements `Send`/`Sync` when the underlying type does. ([#​157](https://github.com/bodil/im-rs/issues/157), [#​158](https://github.com/bodil/im-rs/issues/158)) - There was an issue where nodes in very large `OrdMap`s could overflow when removing an element and cause a panic, which has now been fixed. ([#​141](https://github.com/bodil/im-rs/issues/141)) - Assorted doc cleanup. ([#​150](https://github.com/bodil/im-rs/issues/150), [#​173](https://github.com/bodil/im-rs/issues/173), [#​186](https://github.com/bodil/im-rs/issues/186), [#​194](https://github.com/bodil/im-rs/issues/194)) </details> <details> <summary>rust-lang-nursery/lazy-static.rs (lazy_static)</summary> ### [`v1.4.0`](https://github.com/rust-lang-nursery/lazy-static.rs/releases/tag/1.4.0) [Compare Source](https://github.com/rust-lang-nursery/lazy-static.rs/compare/1.3.0...1.4.0) **Bumps the minimum supported version of `rustc` to `1.27.2`** - [Fix typo in lib.rs](https://github.com/rust-lang-nursery/lazy-static.rs/pull/144) (thanks [`@​fbruetting](https://github.com/fbruetting))` - [Automatically check if README.md examples are working when running "cargo test"](https://github.com/rust-lang-nursery/lazy-static.rs/pull/145) (thanks [`@​GuillaumeGomez](https://github.com/GuillaumeGomez))` - [Allow deprecated to remove warnings in nightly](https://github.com/rust-lang-nursery/lazy-static.rs/pull/152) (thanks [`@​Schaeff](https://github.com/Schaeff))` - [bump MSRV to 1.27.2](https://github.com/rust-lang-nursery/lazy-static.rs/pull/155) (thanks [`@​matklad](https://github.com/matklad))` </details> <details> <summary>indiv0/lazycell (lazycell)</summary> ### [`v1.3.0`](https://github.com/indiv0/lazycell/blob/HEAD/CHANGELOG.md#v130-2020-08-12) ##### Bug Fixes - Add custom `impl Default` to support non-Default-able `<T>` types ([b49f4eab](https://github.com/indiv0/lazycell/commit/b49f4eabec49c0a5146ef01017c2506a3c357180)) - **lazycell:** Fix unsound aliasing in `LazyCell::fill` ([e789ac1a](https://github.com/indiv0/lazycell/commit/e789ac1a99010ad79c2d09c761fec6d67053647d), closes [#​98](https://github.com/indiv0/lazycell/issues/98)) ##### Features - Implement serde support ([e728a0b6](https://github.com/indiv0/lazycell/commit/e728a0b680e607b793a81b5af7bf7f1d2c0eb5e5)) ##### Documentation - fix typo ([5f5ba9d5](https://github.com/indiv0/lazycell/commit/5f5ba9d5ac3364f8376c0c872c2e5094974385ba)) ### [`v1.2.1`](https://github.com/indiv0/lazycell/blob/HEAD/CHANGELOG.md#v121-2018-12-03) [Compare Source](https://github.com/indiv0/lazycell/compare/v1.2.0...v1.2.1) ##### Features - Implement Clone for LazyCell and AtomicLazyCell ([30fe4a8f](https://github.com/indiv0/lazycell/commit/30fe4a8f568059b3c78ed149a810962a676cb2b2)) </details> <details> <summary>rust-lang/libc (libc)</summary> ### [`v0.2.147`](https://github.com/rust-lang/libc/releases/tag/0.2.147) [Compare Source](https://github.com/rust-lang/libc/compare/0.2.146...0.2.147) #### What's Changed - Add socket timestamping for Android by [`@​spencercw](https://github.com/spencercw)` in [https://github.com/rust-lang/libc/pull/3267](https://github.com/rust-lang/libc/pull/3267) - Fix s390x-installer paths by [`@​JohnTitor](https://github.com/JohnTitor)` in [https://github.com/rust-lang/libc/pull/3281](https://github.com/rust-lang/libc/pull/3281) - Generate documentation for all supported targets on docs.rs by [`@​GuillaumeGomez](https://github.com/GuillaumeGomez)` in [https://github.com/rust-lang/libc/pull/3279](https://github.com/rust-lang/libc/pull/3279) - Define `IPPROTO_ETHERNET` on Linux-like platforms. by [`@​sunfishcode](https://github.com/sunfishcode)` in [https://github.com/rust-lang/libc/pull/3272](https://github.com/rust-lang/libc/pull/3272) - Add trait implementations for QNX Neutrino by [`@​flba-eb](https://github.com/flba-eb)` in [https://github.com/rust-lang/libc/pull/3273](https://github.com/rust-lang/libc/pull/3273) - getentropy addition to android by [`@​devnexen](https://github.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3270](https://github.com/rust-lang/libc/pull/3270) - android adding sendfile64 variant by [`@​devnexen](https://github.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3271](https://github.com/rust-lang/libc/pull/3271) - android: Add NLM_F_DUMP_FILTERED constant by [`@​dragan-cecavac-nordsec](https://github.com/dragan-cecavac-nordsec)` in [https://github.com/rust-lang/libc/pull/3276](https://github.com/rust-lang/libc/pull/3276) - Update and release version 0.2.147 by [`@​flba-eb](https://github.com/flba-eb)` in [https://github.com/rust-lang/libc/pull/3283](https://github.com/rust-lang/libc/pull/3283) #### New Contributors - [`@​dragan-cecavac-nordsec](https://github.com/dragan-cecavac-nordsec)` made their first contribution in [https://github.com/rust-lang/libc/pull/3276](https://github.com/rust-lang/libc/pull/3276) **Full Changelog**: https://github.com/rust-lang/libc/compare/0.2.146...0.2.147 ### [`v0.2.146`](https://github.com/rust-lang/libc/releases/tag/0.2.146) [Compare Source](https://github.com/rust-lang/libc/compare/0.2.145...0.2.146) #### What's Changed - Use `use` to alias open/openat in lfs64.rs by [`@​bossmc](https://github.com/bossmc)` in [https://github.com/rust-lang/libc/pull/3265](https://github.com/rust-lang/libc/pull/3265) - Update crate version to 0.2.146 by [`@​nikarh](https://github.com/nikarh)` in [https://github.com/rust-lang/libc/pull/3266](https://github.com/rust-lang/libc/pull/3266) **Full Changelog**: https://github.com/rust-lang/libc/compare/0.2.145...0.2.146 ### [`v0.2.145`](https://github.com/rust-lang/libc/releases/tag/0.2.145) [Compare Source](https://github.com/rust-lang/libc/compare/0.2.144...0.2.145) **This version has been yanked on crates.io.** #### What's Changed - redox add sig(timed)wait calls by [`@​devnexen](https://github.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3244](https://github.com/rust-lang/libc/pull/3244) - Support for `PTRACE_SYSEMU` and `PTRACE_SYSEMU_SINGLESTEP` on musl by [`@​emilengler](https://github.com/emilengler)` in [https://github.com/rust-lang/libc/pull/3245](https://github.com/rust-lang/libc/pull/3245) - Fix loongarch64 bindings by [`@​heiher](https://github.com/heiher)` in [https://github.com/rust-lang/libc/pull/3246](https://github.com/rust-lang/libc/pull/3246) - Add linux canxl constants and canxl frame struct by [`@​marcelbuesing](https://github.com/marcelbuesing)` in [https://github.com/rust-lang/libc/pull/3247](https://github.com/rust-lang/libc/pull/3247) - Change branch references to HEAD where possible or main otherwise by [`@​joshtriplett](https://github.com/joshtriplett)` in [https://github.com/rust-lang/libc/pull/3249](https://github.com/rust-lang/libc/pull/3249) - linux/musl/s390x: change f_\* constants to uint from ulong by [`@​nekopsykose](https://github.com/nekopsykose)` in [https://github.com/rust-lang/libc/pull/3137](https://github.com/rust-lang/libc/pull/3137) - android: add memmem by [`@​tibordp](https://github.com/tibordp)` in [https://github.com/rust-lang/libc/pull/3252](https://github.com/rust-lang/libc/pull/3252) - redox adding lockf flags by [`@​devnexen](https://github.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3251](https://github.com/rust-lang/libc/pull/3251) - Add ucred struct and field type aliases for redox by [`@​andrewdavidmackenzie](https://github.com/andrewdavidmackenzie)` in [https://github.com/rust-lang/libc/pull/3250](https://github.com/rust-lang/libc/pull/3250) - Fixed vita libc definitions by [`@​nikarh](https://github.com/nikarh)` in [https://github.com/rust-lang/libc/pull/3255](https://github.com/rust-lang/libc/pull/3255) - Skip round-trip tests for structs with FAMs by [`@​bossmc](https://github.com/bossmc)` in [https://github.com/rust-lang/libc/pull/3254](https://github.com/rust-lang/libc/pull/3254) - Fixed pthread_attr_t and pthread_rwlockattr_t for newlib by [`@​nikarh](https://github.com/nikarh)` in [https://github.com/rust-lang/libc/pull/3256](https://github.com/rust-lang/libc/pull/3256) - Alias all LFS64 symbols to their non-LFS64 counterparts on musl by [`@​bossmc](https://github.com/bossmc)` in [https://github.com/rust-lang/libc/pull/2935](https://github.com/rust-lang/libc/pull/2935) - add constants and structs for vsock on macos by [`@​tzneal](https://github.com/tzneal)` in [https://github.com/rust-lang/libc/pull/3258](https://github.com/rust-lang/libc/pull/3258) - dragonflybsd supports malloc_usable_size too by [`@​devnexen](https://github.com/devnexen)` in [https://github.com/rust-lang/libc/pull/3253](https://github.com/rust-lang/libc/pull/3253) - linux-gnu: add putpwent/putgrent by [`@​superwhiskers](https://togithub.c` </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 3am on the first day of the month" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/rust-lang/cargo). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4yNC4yIiwidXBkYXRlZEluVmVyIjoiMzYuMjQuMiIsInRhcmdldEJyYW5jaCI6Im1hc3RlciJ9-->
This fixes the build with musl-1.2.4, may need -system-bootstrap after updating musl. Closes: https://bugs.gentoo.org/903607 Upstream-PR: rust-lang/rust#106246 Upstream-Issue: rust-lang/libc#2934 Upstream-PR: rust-lang/libc#2935 Upstream-Commit: rust-lang/libc@1e8c55c Upstream-PR: rust-random/getrandom#326 Upstream-Commit: rust-random/getrandom@7f73e3c Signed-off-by: orbea <orbea@riseup.net>
Fix compatibility with Emscripten >= 3.1.44 By aliasing all LFS64 symbols to their non-LFS64 counterparts. Context: #2935 emscripten-core/emscripten#19812
As per #2934 the LFS64 symbols on musl-libc are simply aliases to the non-LFS64 symbols. Currently this is done both in the header files (as
#define
entries) and in the library (as aliasing symbols). There is a desire in musl to drop the ABI compatibility shims (the symbol aliases) - currently thelibc
crate exports the LFS64 symbols byextern
-ing the compatibility shims which will fail if musl removes them.This changes the musl build of libc to replicate the aliasing that's in the C header files (with
pub use xxx as xxx64
) so the API from thelibc
crate is unchanged, but the crate is now compatible with the upcoming musl release.I've also checked and all the LFS64 types (e.g.
off64_t
) are already the same as their non-LFS64 equivalents.This is an annoying change to test,
libc-test
seems expect to build againstmusl 1.1.24
(in fact, does Rust even supportmusl 1.2
? It's not obvious that it does... e.g. seelibc/src/unix/linux_like/linux/musl/mod.rs
Lines 288 to 292 in d99c37d