chore(deps): update rust crate base64 to 0.22.0 #16

Merged
realaravinth merged 1 commit from renovate/base64-0.x into master 2024-06-10 23:52:47 +05:30
Member

This PR contains the following updates:

Package Type Update Change
base64 dev-dependencies minor 0.13.0 -> 0.22.0

Release Notes

marshallpierce/rust-base64 (base64)

v0.22.1

Compare Source

  • Correct the symbols used for the predefined alphabet::BIN_HEX.

v0.22.0

Compare Source

  • DecodeSliceError::OutputSliceTooSmall is now conservative rather than precise. That is, the error will only occur if the decoded output cannot fit, meaning that Engine::decode_slice can now be used with exactly-sized output slices. As part of this, Engine::internal_decode now returns DecodeSliceError instead of DecodeError, but that is not expected to affect any external callers.
  • DecodeError::InvalidLength now refers specifically to the number of valid symbols being invalid (i.e. len % 4 == 1), rather than just the number of input bytes. This avoids confusing scenarios when based on interpretation you could make a case for either InvalidLength or InvalidByte being appropriate.
  • Decoding is somewhat faster (5-10%)

v0.21.7

Compare Source

  • Support getting an alphabet's contents as a str via Alphabet::as_str()

v0.21.6

Compare Source

  • Improved introductory documentation and example

v0.21.5

Compare Source

  • Add Debug and Clone impls for the general purpose Engine

v0.21.4

Compare Source

  • Make encoded_len const, allowing the creation of arrays sized to encode compile-time-known data lengths

v0.21.3

Compare Source

  • Implement source instead of cause on Error types
  • Roll back MSRV to 1.48.0 so Debian can continue to live in a time warp
  • Slightly faster chunked encoding for short inputs
  • Decrease binary size

v0.21.2

Compare Source

  • Rollback MSRV to 1.57.0 -- only dev dependencies need 1.60, not the main code

v0.21.1

Compare Source

  • Remove the possibility of panicking during decoded length calculations
  • DecoderReader no longer sometimes erroneously ignores
    padding #​226

Breaking changes

  • Engine.internal_decode return type changed
  • Update MSRV to 1.60.0

v0.21.0

Compare Source

Migration

Functions
< 0.20 function 0.21 equivalent
encode() engine::general_purpose::STANDARD.encode() or prelude::BASE64_STANDARD.encode()
encode_config() engine.encode()
encode_config_buf() engine.encode_string()
encode_config_slice() engine.encode_slice()
decode() engine::general_purpose::STANDARD.decode() or prelude::BASE64_STANDARD.decode()
decode_config() engine.decode()
decode_config_buf() engine.decode_vec()
decode_config_slice() engine.decode_slice()

The short-lived 0.20 functions were the 0.13 functions with config replaced with engine.

Padding

If applicable, use the preset engines engine::STANDARD, engine::STANDARD_NO_PAD, engine::URL_SAFE,
or engine::URL_SAFE_NO_PAD.
The NO_PAD ones require that padding is absent when decoding, and the others require that
canonical padding is present .

If you need the < 0.20 behavior that did not care about padding, or want to recreate < 0.20.0's predefined Configs
precisely, see the following table.

0.13.1 Config 0.20.0+ alphabet encode_padding decode_padding_mode
STANDARD STANDARD true Indifferent
STANDARD_NO_PAD STANDARD false Indifferent
URL_SAFE URL_SAFE true Indifferent
URL_SAFE_NO_PAD URL_SAFE false Indifferent

v0.20.0

Compare Source

Breaking changes

  • Update MSRV to 1.57.0
  • Decoding can now either ignore padding, require correct padding, or require no padding. The default is to require
    correct padding.
    • The NO_PAD config now requires that padding be absent when decoding.

0.20.0-alpha.1

Breaking changes
  • Extended the Config concept into the Engine abstraction, allowing the user to pick different encoding / decoding
    implementations.
    • What was formerly the only algorithm is now the FastPortable engine, so named because it's portable (works on
      any CPU) and relatively fast.
    • This opens the door to a portable constant-time
      implementation (#​153,
      presumably ConstantTimePortable?) for security-sensitive applications that need side-channel resistance, and
      CPU-specific SIMD implementations for more speed.
    • Standard base64 per the RFC is available via DEFAULT_ENGINE. To use different alphabets or other settings (
      padding, etc), create your own engine instance.
  • CharacterSet is now Alphabet (per the RFC), and allows creating custom alphabets. The corresponding tables that
    were previously code-generated are now built dynamically.
  • Since there are already multiple breaking changes, various functions are renamed to be more consistent and
    discoverable.
  • MSRV is now 1.47.0 to allow various things to use const fn.
  • DecoderReader now owns its inner reader, and can expose it via into_inner(). For symmetry, EncoderWriter can do
    the same with its writer.
  • encoded_len is now public so you can size encode buffers precisely.

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), 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.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [base64](https://github.com/marshallpierce/rust-base64) | dev-dependencies | minor | `0.13.0` -> `0.22.0` | --- ### Release Notes <details> <summary>marshallpierce/rust-base64 (base64)</summary> ### [`v0.22.1`](https://github.com/marshallpierce/rust-base64/blob/HEAD/RELEASE-NOTES.md#0221) [Compare Source](https://github.com/marshallpierce/rust-base64/compare/v0.22.0...v0.22.1) - Correct the symbols used for the predefined `alphabet::BIN_HEX`. ### [`v0.22.0`](https://github.com/marshallpierce/rust-base64/blob/HEAD/RELEASE-NOTES.md#0220) [Compare Source](https://github.com/marshallpierce/rust-base64/compare/v0.21.7...v0.22.0) - `DecodeSliceError::OutputSliceTooSmall` is now conservative rather than precise. That is, the error will only occur if the decoded output *cannot* fit, meaning that `Engine::decode_slice` can now be used with exactly-sized output slices. As part of this, `Engine::internal_decode` now returns `DecodeSliceError` instead of `DecodeError`, but that is not expected to affect any external callers. - `DecodeError::InvalidLength` now refers specifically to the *number of valid symbols* being invalid (i.e. `len % 4 == 1`), rather than just the number of input bytes. This avoids confusing scenarios when based on interpretation you could make a case for either `InvalidLength` or `InvalidByte` being appropriate. - Decoding is somewhat faster (5-10%) ### [`v0.21.7`](https://github.com/marshallpierce/rust-base64/blob/HEAD/RELEASE-NOTES.md#0217) [Compare Source](https://github.com/marshallpierce/rust-base64/compare/v0.21.6...v0.21.7) - Support getting an alphabet's contents as a str via `Alphabet::as_str()` ### [`v0.21.6`](https://github.com/marshallpierce/rust-base64/blob/HEAD/RELEASE-NOTES.md#0216) [Compare Source](https://github.com/marshallpierce/rust-base64/compare/v0.21.5...v0.21.6) - Improved introductory documentation and example ### [`v0.21.5`](https://github.com/marshallpierce/rust-base64/blob/HEAD/RELEASE-NOTES.md#0215) [Compare Source](https://github.com/marshallpierce/rust-base64/compare/v0.21.4...v0.21.5) - Add `Debug` and `Clone` impls for the general purpose Engine ### [`v0.21.4`](https://github.com/marshallpierce/rust-base64/blob/HEAD/RELEASE-NOTES.md#0214) [Compare Source](https://github.com/marshallpierce/rust-base64/compare/v0.21.3...v0.21.4) - Make `encoded_len` `const`, allowing the creation of arrays sized to encode compile-time-known data lengths ### [`v0.21.3`](https://github.com/marshallpierce/rust-base64/blob/HEAD/RELEASE-NOTES.md#0213) [Compare Source](https://github.com/marshallpierce/rust-base64/compare/v0.21.2...v0.21.3) - Implement `source` instead of `cause` on Error types - Roll back MSRV to 1.48.0 so Debian can continue to live in a time warp - Slightly faster chunked encoding for short inputs - Decrease binary size ### [`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 [#&#8203;226](https://github.com/marshallpierce/rust-base64/issues/226) #### Breaking changes - `Engine.internal_decode` return type changed - Update MSRV to 1.60.0 ### [`v0.21.0`](https://github.com/marshallpierce/rust-base64/blob/HEAD/RELEASE-NOTES.md#0210) [Compare Source](https://github.com/marshallpierce/rust-base64/compare/v0.20.0...v0.21.0) #### Migration ##### Functions | < 0.20 function | 0.21 equivalent | |-------------------------|-------------------------------------------------------------------------------------| | `encode()` | `engine::general_purpose::STANDARD.encode()` or `prelude::BASE64_STANDARD.encode()` | | `encode_config()` | `engine.encode()` | | `encode_config_buf()` | `engine.encode_string()` | | `encode_config_slice()` | `engine.encode_slice()` | | `decode()` | `engine::general_purpose::STANDARD.decode()` or `prelude::BASE64_STANDARD.decode()` | | `decode_config()` | `engine.decode()` | | `decode_config_buf()` | `engine.decode_vec()` | | `decode_config_slice()` | `engine.decode_slice()` | The short-lived 0.20 functions were the 0.13 functions with `config` replaced with `engine`. ##### Padding If applicable, use the preset engines `engine::STANDARD`, `engine::STANDARD_NO_PAD`, `engine::URL_SAFE`, or `engine::URL_SAFE_NO_PAD`. The `NO_PAD` ones require that padding is absent when decoding, and the others require that canonical padding is present . If you need the < 0.20 behavior that did not care about padding, or want to recreate < 0.20.0's predefined `Config`s precisely, see the following table. | 0.13.1 Config | 0.20.0+ alphabet | `encode_padding` | `decode_padding_mode` | |-----------------|------------------|------------------|-----------------------| | STANDARD | STANDARD | true | Indifferent | | STANDARD_NO_PAD | STANDARD | false | Indifferent | | URL_SAFE | URL_SAFE | true | Indifferent | | URL_SAFE_NO_PAD | URL_SAFE | false | Indifferent | ### [`v0.20.0`](https://github.com/marshallpierce/rust-base64/blob/HEAD/RELEASE-NOTES.md#0200) [Compare Source](https://github.com/marshallpierce/rust-base64/compare/v0.13.1...v0.20.0) #### Breaking changes - Update MSRV to 1.57.0 - Decoding can now either ignore padding, require correct padding, or require no padding. The default is to require correct padding. - The `NO_PAD` config now requires that padding be absent when decoding. #### 0.20.0-alpha.1 ##### Breaking changes - Extended the `Config` concept into the `Engine` abstraction, allowing the user to pick different encoding / decoding implementations. - What was formerly the only algorithm is now the `FastPortable` engine, so named because it's portable (works on any CPU) and relatively fast. - This opens the door to a portable constant-time implementation ([#&#8203;153](https://github.com/marshallpierce/rust-base64/pull/153), presumably `ConstantTimePortable`?) for security-sensitive applications that need side-channel resistance, and CPU-specific SIMD implementations for more speed. - Standard base64 per the RFC is available via `DEFAULT_ENGINE`. To use different alphabets or other settings ( padding, etc), create your own engine instance. - `CharacterSet` is now `Alphabet` (per the RFC), and allows creating custom alphabets. The corresponding tables that were previously code-generated are now built dynamically. - Since there are already multiple breaking changes, various functions are renamed to be more consistent and discoverable. - MSRV is now 1.47.0 to allow various things to use `const fn`. - `DecoderReader` now owns its inner reader, and can expose it via `into_inner()`. For symmetry, `EncoderWriter` can do the same with its writer. - `encoded_len` is now public so you can size encode buffers precisely. </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), 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. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zODUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjM4OC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbInJlbm92YXRlLWJvdCJdfQ==-->
renovate-bot added the
renovate-bot
label 2024-06-04 10:21:55 +05:30
Author
Member

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path Cargo.toml --package base64@0.13.1 --precise 0.22.1
    Updating crates.io index
error: failed to select a version for the requirement `base64 = "^0.13.0"`
candidate versions found which didn't match: 0.22.1
location searched: crates.io index
required by package `sqlx-core v0.6.2`
    ... which satisfies dependency `sqlx-core = "^0.6.2"` (locked to 0.6.2) of package `sqlx v0.6.2`
    ... which satisfies dependency `sqlx = "^0.6.1"` (locked to 0.6.2) of package `conductor v0.1.0 (/tmp/renovate-bot-cache/repos/gitea/LibrePages/conductor)`
perhaps a crate was updated and forgotten to be re-vendored?

### ⚠️ Artifact update problem Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is. ♻ Renovate will retry this branch, including artifacts, only when one of the following happens: - any of the package files in this branch needs updating, or - the branch becomes conflicted, or - you click the rebase/retry checkbox if found above, or - you rename this PR's title to start with "rebase!" to trigger it manually The artifact failure details are included below: ##### File name: Cargo.lock ``` Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path Cargo.toml --package base64@0.13.1 --precise 0.22.1 Updating crates.io index error: failed to select a version for the requirement `base64 = "^0.13.0"` candidate versions found which didn't match: 0.22.1 location searched: crates.io index required by package `sqlx-core v0.6.2` ... which satisfies dependency `sqlx-core = "^0.6.2"` (locked to 0.6.2) of package `sqlx v0.6.2` ... which satisfies dependency `sqlx = "^0.6.1"` (locked to 0.6.2) of package `conductor v0.1.0 (/tmp/renovate-bot-cache/repos/gitea/LibrePages/conductor)` perhaps a crate was updated and forgotten to be re-vendored? ```
renovate-bot force-pushed renovate/base64-0.x from 1f787e1e12 to 2951e6108b 2024-06-10 19:30:48 +05:30 Compare
realaravinth merged commit 8f766ae883 into master 2024-06-10 23:52:47 +05:30
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: LibrePages/conductor#16
No description provided.