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
0.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 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
0.21.0-rc.1
Restore the ability to decode into a slice of precisely the correct length with Engine.decode_slice_unchecked.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps base64 from 0.20.0 to 0.21.1.
Changelog
Sourced from base64's changelog.
... (truncated)
Commits
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)