Skip to content

Commit ca42dd1

Browse files
committed
Align 1.2.2 release documentation
1 parent 579019b commit ca42dd1

7 files changed

Lines changed: 23 additions & 16 deletions

File tree

README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,12 @@ The crate starts conservative: a small scalar implementation, strict RFC 4648 be
3131

3232
The current public release is `1.2.2`.
3333

34-
`1.2.2` is a small ergonomics patch on top of the `1.2.0`
34+
`1.2.2` is a small ergonomics and hardening patch on top of the `1.2.0`
3535
encode-acceleration family release. It adds explicit infallible encode
36-
convenience helpers for ordinary byte-to-Base64 paths while keeping the
37-
fallible APIs as the recommended choice for untrusted length metadata,
36+
convenience helpers for ordinary byte-to-Base64 paths, documents their overflow
37+
panic boundary, and tightens the `base64-ng-sanitization` locked fixed-size
38+
decode path so staged plaintext is wiped even when locked allocation fails. The
39+
fallible APIs remain the recommended choice for untrusted length metadata,
3840
constrained allocation environments, and recoverable-error code paths. The
3941
`1.2.x` line admits conservative std runtime-dispatched encode acceleration for
4042
Standard and URL-safe alphabets on `x86`/`x86_64` AVX-512 VBMI, AVX2,

crates/base64-ng-tokio/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
//! These helpers are bounded convenience functions, not streaming state
99
//! machines. They read the async input to completion before writing output,
1010
//! which avoids partial decoded writes on malformed input and keeps
11-
//! cancellation semantics simple for the `1.0.9` companion release.
11+
//! cancellation semantics simple for the companion crate.
1212
1313
use base64_ng::{Alphabet, Engine};
1414
use tokio::io::{self, AsyncRead, AsyncReadExt, AsyncWrite, AsyncWriteExt};

docs/CRATE_VERSION_MATRIX.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ crate remains the stable user entry point; companion crates are optional
55
integration packages for applications that explicitly admit their dependency
66
sets.
77

8-
## 1.2.2 Ergonomics Patch Release Plan
8+
## 1.2.2 Ergonomics And Hardening Patch Release Plan
99

1010
| Crate | Version | Publish In 1.2.2 | Cargo |
1111
| --- | --- | --- | --- |

docs/PLAN.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -745,6 +745,10 @@ Completed `1.2.0` work packages:
745745

746746
- Add explicit infallible encode convenience helpers for ordinary
747747
byte-to-Base64 paths where invalid input is not possible.
748+
- Document the infallible helpers' encoded-length overflow panic boundary,
749+
including the practical 32-bit large-input case.
750+
- Harden `base64-ng-sanitization` fixed-size locked secret decode so staged
751+
plaintext is wiped even if locked allocation fails before the fill closure.
748752
- Keep the existing fallible encode helpers as the recommended API for
749753
untrusted length metadata, constrained allocation environments, and
750754
recoverable-error code paths.

docs/SIMD.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,9 @@ The SIMD roadmap separates implementation evidence from active acceleration:
5757
non-dispatchable prototypes.
5858
- `1.2.1` is a documentation/package patch for the released `1.2.0` encode
5959
acceleration scope. It does not admit additional backends.
60-
- `1.2.2` is an encode ergonomics patch that adds explicit infallible encode
61-
convenience helpers. It does not admit additional backends.
60+
- `1.2.2` is an encode ergonomics and sanitization hardening patch that adds
61+
explicit infallible encode convenience helpers and tightens fixed-size locked
62+
secret decode cleanup. It does not admit additional backends.
6263
- After the `1.2.x` encode release, pause feature work for a short soak period
6364
so users can report platform-specific encode regressions before decode
6465
acceleration work starts.

docs/SIMD_ADMISSION.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@ only for backends named in this file and the release gate.
1515
- Gate priority: Active backend priority: AVX-512 VBMI, then AVX2, then SSSE3/SSE4.1 on x86/x86_64; NEON on aarch64.
1616
- Public performance claims: none without local benchmark evidence.
1717
- Release status: `1.2.2`; `1.2.0` admitted conservative active encode
18-
dispatch, and `1.2.2` is an ergonomics patch for that released
19-
family. Active encode dispatch admits AVX-512 VBMI above AVX2 above
20-
SSSE3/SSE4.1 on x86/x86_64 and NEON on aarch64 for Standard and URL-safe
21-
alphabet families. Decode, custom alphabets, in-place encode, `no_std`, and
22-
wasm `simd128` remain scalar or prototype-only. Wrapped encode may use
23-
admitted fixed-block encode for its unwrapped staging step; line-ending
24-
insertion remains scalar.
18+
dispatch, and `1.2.2` is an ergonomics and sanitization hardening patch for
19+
that released family. Active encode dispatch admits AVX-512 VBMI above AVX2
20+
above SSSE3/SSE4.1 on x86/x86_64 and NEON on aarch64 for Standard and
21+
URL-safe alphabet families. Decode, custom alphabets, in-place encode,
22+
`no_std`, and wasm `simd128` remain scalar or prototype-only. Wrapped encode
23+
may use admitted fixed-block encode for its unwrapped staging step;
24+
line-ending insertion remains scalar.
2525

2626
## Required For Every Admitted Backend
2727

release-crates.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@ previous_version = "1.2.1"
77
version = "1.2.2"
88
change = "code"
99
publish = true
10-
reason = "Adds explicit infallible encode convenience helpers and publishes matching 1.2.2 documentation."
10+
reason = "Adds explicit infallible encode convenience helpers, documents overflow panic boundaries, and publishes matching 1.2.2 documentation."
1111

1212
[crates."base64-ng-sanitization"]
1313
previous_version = "1.2.1"
1414
version = "1.2.2"
1515
change = "code"
1616
publish = true
17-
reason = "Syncs companion crate package metadata and dependency examples with the 1.2.2 family patch."
17+
reason = "Hardens fixed-size locked secret decode staging cleanup and syncs package metadata with the 1.2.2 family patch."
1818

1919
[crates."base64-ng-derive"]
2020
previous_version = "1.2.1"

0 commit comments

Comments
 (0)