Repository navigation
Update Rust crate base64 to 0.23 - #28
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
force-pushed
the
renovate/base64-0.x
branch
10 times, most recently
from
September 2, 2021 13:42
8cc7c72 to
65393da
Compare
renovate
Bot
force-pushed
the
renovate/base64-0.x
branch
from
September 17, 2021 12:16
65393da to
dad5eef
Compare
renovate
Bot
force-pushed
the
renovate/base64-0.x
branch
from
October 15, 2021 20:07
dad5eef to
e3b1743
Compare
renovate
Bot
force-pushed
the
renovate/base64-0.x
branch
from
November 2, 2021 21:15
e3b1743 to
25523a2
Compare
renovate
Bot
force-pushed
the
renovate/base64-0.x
branch
from
May 1, 2022 12:23
25523a2 to
1d6cb24
Compare
renovate
Bot
force-pushed
the
renovate/base64-0.x
branch
from
March 16, 2023 07:52
1d6cb24 to
7772090
Compare
renovate
Bot
force-pushed
the
renovate/base64-0.x
branch
2 times, most recently
from
March 24, 2023 08:05
e77cad8 to
3e0a860
Compare
renovate
Bot
force-pushed
the
renovate/base64-0.x
branch
from
April 17, 2023 16:21
3e0a860 to
f5e7aa5
Compare
renovate
Bot
force-pushed
the
renovate/base64-0.x
branch
from
June 9, 2023 18:48
f5e7aa5 to
1647030
Compare
renovate
Bot
force-pushed
the
renovate/base64-0.x
branch
from
February 3, 2024 19:19
1647030 to
4d6384e
Compare
renovate
Bot
force-pushed
the
renovate/base64-0.x
branch
from
March 2, 2024 14:24
4d6384e to
6422ada
Compare
renovate
Bot
force-pushed
the
renovate/base64-0.x
branch
from
May 1, 2024 10:49
6422ada to
2846ad5
Compare
renovate
Bot
force-pushed
the
renovate/base64-0.x
branch
from
May 5, 2024 10:06
2846ad5 to
15b2860
Compare
renovate
Bot
force-pushed
the
renovate/base64-0.x
branch
from
July 23, 2026 19:00
15b2860 to
f9718e2
Compare
renovate
Bot
force-pushed
the
renovate/base64-0.x
branch
from
September 3, 2026 11:39
f9718e2 to
adf807c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.9→0.23Release Notes
marshallpierce/rust-base64 (base64)
v0.23.0Compare Source
simd-unsafefeature:Simdpicks the bestinstruction set at runtime (AVX2 on
x86_64, NEON onaarch64) and falls back to the scalarGeneralPurposeengine, whileAvx2andNeontarget one instruction set with no runtimedetection and work in
no_std. The engines support the standard and URL-safe alphabets.v0.22.1Compare Source
alphabet::BIN_HEX.v0.22.0Compare Source
DecodeSliceError::OutputSliceTooSmallis now conservative rather than precise. That is, the error will only occur if the decoded output cannot fit, meaning thatEngine::decode_slicecan now be used with exactly-sized output slices. As part of this,Engine::internal_decodenow returnsDecodeSliceErrorinstead ofDecodeError, but that is not expected to affect any external callers.DecodeError::InvalidLengthnow 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 eitherInvalidLengthorInvalidBytebeing appropriate.v0.21.7Compare Source
Alphabet::as_str()v0.21.6Compare Source
v0.21.5Compare Source
DebugandCloneimpls for the general purpose Enginev0.21.4Compare Source
encoded_lenconst, allowing the creation of arrays sized to encode compile-time-known data lengthsv0.21.3Compare Source
sourceinstead ofcauseon Error typesv0.21.2Compare Source
v0.21.1Compare Source
DecoderReaderno longer sometimes erroneously ignorespadding #226
Breaking changes
Engine.internal_decodereturn type changedv0.21.0Compare Source
Migration
Functions
encode()engine::general_purpose::STANDARD.encode()orprelude::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()orprelude::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
configreplaced withengine.Padding
If applicable, use the preset engines
engine::STANDARD,engine::STANDARD_NO_PAD,engine::URL_SAFE,or
engine::URL_SAFE_NO_PAD.The
NO_PADones require that padding is absent when decoding, and the others require thatcanonical 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
Configsprecisely, see the following table.
encode_paddingdecode_padding_modev0.20.0Compare Source
Breaking changes
correct padding.
NO_PADconfig now requires that padding be absent when decoding.0.20.0-alpha.1
Breaking changes
Configconcept into theEngineabstraction, allowing the user to pick different encoding / decodingimplementations.
FastPortableengine, so named because it's portable (works onany CPU) and relatively fast.
implementation (#153,
presumably
ConstantTimePortable?) for security-sensitive applications that need side-channel resistance, andCPU-specific SIMD implementations for more speed.
DEFAULT_ENGINE. To use different alphabets or other settings (padding, etc), create your own engine instance.
CharacterSetis nowAlphabet(per the RFC), and allows creating custom alphabets. The corresponding tables thatwere previously code-generated are now built dynamically.
discoverable.
const fn.DecoderReadernow owns its inner reader, and can expose it viainto_inner(). For symmetry,EncoderWritercan dothe same with its writer.
encoded_lenis now public so you can size encode buffers precisely.v0.13.1Compare Source
decode_config.v0.13.0Compare Source
EncoderStringWriterto allow encoding directly to a StringEncoderWriternow owns its delegate writer rather than keeping a reference to it (though refs still work)EncoderWriterviafinish(), whichreturns
Result<W>instead ofResult<()>. If you were callingfinish()explicitly, you will now need touse
let _ = foo.finish()instead of justfoo.finish()to avoid a warning about the unused value.InvalidBytewill beemitted instead of
InvalidLengthto make the problem more obvious.v0.12.3Compare Source
v0.12.2Compare Source
BinHexalphabetv0.12.1Compare Source
Bcryptalphabetv0.12.0Compare Source
Readimplementation (DecoderReader) to let users transparently decoded data from a b64 input sourceAsRef<[ut8]>for mainencode*/decode*functionsv0.11.0Compare Source
no_stdis now supported via the two new featuresallocandstd.v0.10.1Compare Source
didn't write all the bytes given to it, the remaining bytes would not be retried later. See the docs
on
EncoderWriter::write.v0.10.0Compare Source
encoding, etc) either couldn't support it or could support only special cases of it with a great increase in
complexity. Line wrapping has been pulled out into a line-wrap crate, so it's
still available if you need it.
Base64Displaycreation no longer uses aResultbecause it can't fail, which means its helper methods forcommon
configs that
unwrap()for you are no longer neededWriteimpl to transparently base64 as you write.unsafecode.no_stdsupport. No out of the box configs use it, and it's trivial to doyourself if needed:
filter(|b| !b" \n\t\r\x0b\x0c".contains(b).Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.