Skip to content

Upgrade all crates to the 2024 edition, bump MSRV to 1.85#1759

Merged
newpavlov merged 2 commits intomasterfrom
edition_upgrade
Feb 22, 2025
Merged

Upgrade all crates to the 2024 edition, bump MSRV to 1.85#1759
newpavlov merged 2 commits intomasterfrom
edition_upgrade

Conversation

@newpavlov
Copy link
Member

@newpavlov newpavlov commented Feb 21, 2025

Closes #1717

Cargo.toml Outdated
crypto-common = { path = "./crypto-common" }
digest = { path = "./digest" }
signature = { path = "./signature" }
exclude = ["elliptic-curve"]
Copy link
Member Author

@newpavlov newpavlov Feb 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

elliptic-curve is temporarily excluded from the workspace because it can not be migrated to hybrid-array v0.3 yet, but it pulls block-buffer v0.11.0-rc.4 in tests, which depends on hybrid-array v0.3. It causes breakage, so we have to manually downgrade block-buffer to v0.11.0-rc.3.

UPD: Same with signature.

@newpavlov newpavlov merged commit 6bbf1a4 into master Feb 22, 2025
81 checks passed
@newpavlov newpavlov deleted the edition_upgrade branch February 22, 2025 17:44
@tarcieri tarcieri mentioned this pull request Feb 3, 2026
newpavlov pushed a commit that referenced this pull request Feb 4, 2026
### Added
- Sealed `BlockSizes` trait implemented for types from `U1` to `U255`
([#1172])
- `SerializableState` trait under `hazmat` module ([#1369])
- `OutputSize` type alias ([#1533])
- `IvState` trait ([#1636])
- `core::error::Error` impls for error types ([#1660])
- `Generate` trait as a common RNG API ([#2096], [#2145])
- `TryKeyInit` trait ([#2097])
- Re-export `getrandom` ([#2152])
- `KeyExport` trait ([#2213])

### Changed
- Replaced `generic-array` with `hybrid-array` ([#1319], [#1976])
- `BlockUser::BlockSize` is now bounded by the `BlockSizes` trait
- Edition changed to 2024 and MSRV bumped to 1.85 ([#1759])
- `generate_*` methods on `KeyInit` and `KeyIvInit` traits have been
deprecated in favor of the
  new `Generate` trait ([#2162])
- Bump `rand_core` to v0.10 ([#2250])
- Bump `getrandom` to v0.4 ([#2258])

### Removed
- `std` feature ([#1680])

[#1172]: #1172
[#1319]: #1319
[#1369]: #1369
[#1533]: #1533
[#1636]: #1636
[#1660]: #1660
[#1680]: #1680
[#1759]: #1759
[#1976]: #1976
[#2096]: #2096
[#2097]: #2097
[#2145]: #2145
[#2152]: #2152
[#2162]: #2162
[#2213]: #2213
[#2250]: #2250
[#2258]: #2258
@tarcieri tarcieri mentioned this pull request Feb 4, 2026
tarcieri added a commit that referenced this pull request Feb 4, 2026
### Added
- Traits for tweakable block ciphers (#1721)
- Methods for writing keystream (#1907)

### Changed
- Replaced `generic-array` with `hybrid-array` (#1358)
- Rename `BlockCipher*`/`BlockMode*` (#1482)
  - `BlockEncrypt` => `BlockCipherEncrypt`
  - `BlockDecrypt` => `BlockCipherDecrypt`
  - `BlockEncryptMut` => `BlockModeEncrypt`
  - `BlockDecryptMut` => `BlockModeDecrypt`
- Split `BlockBackend` traits into 4 specific traits: (#1636)
  - `BlockCipherEncBackend`
  - `BlockCipherDecBackend`
  - `BlockModeEncBackend`
  - `BlockModeDecBackend`
- Edition changed to 2024 and MSRV bumped to 1.85 (#1759)
- Use `block_buffer::ReadBuffer` in `StreamCipherCoreWrapper` (#1959)
- Re-export of `crypto-common` moved to `cipher::common` (#2237, #2260)
- `crypto-common` dependency bumped to v0.2 (#2276)
- `blobby` requirement bumped to v0.4 (#2147)
- `inout` dependency bumped to v0.2.2 (#2149)

### Fixed
- Bugs in `StreamCipherCoreWrapper` trait implementations (#1421)
- Seeking implementation in the stream cipher wrapper (#2052)

### Removed
- `std` feature (#1691)
- `BlockCipherEncrypt::encrypt_padded*` and
`BlockCipherDecrypt::decrypt_padded*` methods.
Users of the ECB mode should use the `ecb-mode` crate instead. (#2245)
- `AsyncStreamCipher` trait (#2280)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bump edition to 2024 in the upcoming breaking release cycle?

2 participants