@@ -29,20 +29,26 @@ The crate starts conservative: a small scalar implementation, strict RFC 4648 be
2929
3030## Current Status
3131
32- The current public release is ` 1.3.0 ` .
32+ The current public release is ` 1.3.1 ` .
3333
34- ` 1.3.0 ` is the implementation-completion release for the original full
35- Base64 scope. It keeps the conservative ` 1.2.x ` encode acceleration posture and
36- adds admitted normal strict SIMD decode for Standard and URL-safe alphabet
37- families on std ` x86 ` /` x86_64 ` AVX-512 VBMI, AVX2, SSSE3/SSE4.1, and
38- little-endian std ` aarch64 ` NEON after whole-input scalar validation.
34+ ` 1.3.1 ` is a focused patch on top of the ` 1.3.0 `
35+ implementation-completion release. It keeps the conservative ` 1.2.x ` encode
36+ acceleration posture and the admitted ` 1.3.0 ` normal strict SIMD decode scope
37+ for Standard and URL-safe alphabet families on std ` x86 ` /` x86_64 ` AVX-512
38+ VBMI, AVX2, SSSE3/SSE4.1, and little-endian std ` aarch64 ` NEON after
39+ whole-input scalar validation.
3940
4041Encode acceleration remains active only for admitted Standard and URL-safe
4142fixed-block surfaces. Decode acceleration remains limited to normal strict
4243decode. Wrapped decode, legacy whitespace decode, custom alphabets,
4344bcrypt-style and ` crypt(3) ` profiles, in-place decode, ` no_std ` , wasm runtime
4445dispatch, and constant-time-oriented secret decode remain scalar.
4546
47+ The latest companion-crate patch in this line is ` base64-ng-tokio ` ` 1.3.1 ` ,
48+ which adds reviewed manual ` AsyncWrite ` streaming adapters. The core
49+ ` base64-ng ` crate is also ` 1.3.1 ` so the main crate version stays aligned with
50+ changed companion crates.
51+
4652Implemented on this branch now:
4753
4854- ` no_std ` core with optional ` alloc ` and ` std ` features.
@@ -150,7 +156,7 @@ The minimum supported Rust version is Rust `1.90.0`. New deployments should
150156prefer the latest tested stable Rust; as of July 2, 2026, this project tests
151157through Rust ` 1.96.1 ` .
152158
153- Compatibility evidence for the ` 1.3.0 ` workspace:
159+ Compatibility evidence for the ` 1.3.1 ` workspace:
154160
155161| Rust | Local Evidence |
156162| --- | --- |
@@ -167,7 +173,7 @@ Compatibility evidence for the `1.3.0` workspace:
167173
168174``` toml
169175[dependencies ]
170- base64-ng = " 1.3.0 "
176+ base64-ng = " 1.3.1 "
171177```
172178
173179The crate is dual-licensed:
@@ -228,8 +234,8 @@ decode directly into `sanitization::LockedSecretBytes` or
228234
229235``` toml
230236[dependencies ]
231- base64-ng = { version = " 1.3.0 " , default-features = false }
232- base64-ng-sanitization = { version = " 1.3.0 " , default-features = false }
237+ base64-ng = { version = " 1.3.1 " , default-features = false }
238+ base64-ng-sanitization = { version = " 1.3.1 " , default-features = false }
233239```
234240
235241``` rust
@@ -248,7 +254,7 @@ assert!(secret.sanitization_verify(
248254
249255``` toml
250256[dependencies ]
251- base64-ng-sanitization = { version = " 1.3.0 " , features = [" high-assurance" ] }
257+ base64-ng-sanitization = { version = " 1.3.1 " , features = [" high-assurance" ] }
252258```
253259
254260``` rust
@@ -267,8 +273,8 @@ newtypes around fixed byte arrays:
267273
268274``` toml
269275[dependencies ]
270- base64-ng = { version = " 1.3.0 " , default-features = false }
271- base64-ng-derive = " 1.3.0 "
276+ base64-ng = { version = " 1.3.1 " , default-features = false }
277+ base64-ng-derive = " 1.3.1 "
272278```
273279
274280``` rust
@@ -287,7 +293,7 @@ assert_eq!(key.encode_base64::<8>().unwrap().as_str(), "aGVsbG8=");
287293
288294``` toml
289295[dependencies ]
290- base64-ng-serde = " 1.3.0 "
296+ base64-ng-serde = " 1.3.1 "
291297serde = { version = " 1.0.228" , features = [" derive" ] }
292298```
293299
@@ -306,8 +312,8 @@ Field-level modules are available for `standard`, `standard_no_pad`,
306312
307313``` toml
308314[dependencies ]
309- base64-ng = " 1.3.0 "
310- base64-ng-bytes = " 1.3.0 "
315+ base64-ng = " 1.3.1 "
316+ base64-ng-bytes = " 1.3.1 "
311317bytes = " 1.12.0"
312318```
313319
@@ -324,8 +330,8 @@ projects that already admit `subtle`:
324330
325331``` toml
326332[dependencies ]
327- base64-ng = " 1.3.0 "
328- base64-ng-subtle = " 1.3.0 "
333+ base64-ng = " 1.3.1 "
334+ base64-ng-subtle = " 1.3.1 "
329335```
330336
331337``` rust
@@ -343,8 +349,8 @@ controlled by a peer:
343349
344350``` toml
345351[dependencies ]
346- base64-ng = " 1.3.0 "
347- base64-ng-tokio = " 1.3.0 "
352+ base64-ng = " 1.3.1 "
353+ base64-ng-tokio = " 1.3.1 "
348354tokio = { version = " 1.52.3" , features = [" io-util" ] }
349355```
350356
@@ -377,7 +383,7 @@ Disable defaults for embedded or freestanding use:
377383
378384``` toml
379385[dependencies ]
380- base64-ng = { version = " 1.3.0 " , default-features = false }
386+ base64-ng = { version = " 1.3.1 " , default-features = false }
381387```
382388
383389Enable admitted encode acceleration on supported ` std ` targets with the
@@ -389,7 +395,7 @@ and URL-safe alphabets after whole-input scalar validation:
389395
390396``` toml
391397[dependencies ]
392- base64-ng = { version = " 1.3.0 " , features = [" simd" ] }
398+ base64-ng = { version = " 1.3.1 " , features = [" simd" ] }
393399```
394400
395401``` rust
0 commit comments