Update Rust crate base64 to 0.21.0 #86

Closed
pierre wants to merge 0 commits from renovate/base64-0.x into master
Owner

This PR contains the following updates:

Package Type Update Change
base64 dependencies minor 0.13.1 -> 0.21.0

Release Notes

marshallpierce/rust-base64

v0.21.0

Compare Source

(not yet released)

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) | dependencies | minor | `0.13.1` -> `0.21.0` | --- ### Release Notes <details> <summary>marshallpierce/rust-base64</summary> ### [`v0.21.0`](https://github.com/marshallpierce/rust-base64/blob/HEAD/RELEASE-NOTES.md#&#8203;0210) [Compare Source](https://github.com/marshallpierce/rust-base64/compare/v0.20.0...v0.21.0) (not yet released) #### 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#&#8203;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:eyJjcmVhdGVkSW5WZXIiOiIzNC4xMDguMSIsInVwZGF0ZWRJblZlciI6IjM0LjEwOC4xIn0=-->
Author
Owner

Updated manually in e35f890241

Updated manually in e35f890241b05cb855dc4503a9622ed3c0819b25
pierre closed this pull request 2023-01-23 15:47:16 +00:00
pierre deleted branch renovate/base64-0.x 2023-01-23 15:47:19 +00:00
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing

Pull request closed

Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: pierre/BasicOIDC#86
No description provided.