Skip to content

Commit 1f7abab

Browse files
committed
Prepare 1.0.0 release
1 parent 4285328 commit 1f7abab

17 files changed

Lines changed: 37 additions & 40 deletions

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Changelog
22

3-
## 1.0.0-alpha.0 - Unreleased
3+
## 1.0.0 - 2026-05-19
44

55
- Started the stable API and security-contract freeze candidate after the
66
`0.12.0` stabilization release.

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "base64-ng"
3-
version = "1.0.0-alpha.0"
3+
version = "1.0.0"
44
edition = "2024"
55
rust-version = "1.95"
66
license = "MIT OR Apache-2.0"

README.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,7 @@ The crate starts conservative: a small scalar implementation, strict RFC 4648 be
66

77
## Current Status
88

9-
The current public release is `0.12.0`. The development branch is
10-
`1.0.0-alpha.0`.
9+
The current public release is `1.0.0`.
1110

1211
Implemented now:
1312

@@ -48,8 +47,8 @@ Implemented now:
4847
Planned behind admission evidence:
4948

5049
- Admitted AVX2, AVX-512, SSSE3/SSE4.1, ARM NEON, and wasm `simd128`
51-
fast paths after the SIMD admission evidence is complete. Current `1.0`
52-
development remains scalar-only unless that full evidence package lands.
50+
fast paths after the SIMD admission evidence is complete. The `1.0.0`
51+
release remains scalar-only.
5352
- Async streaming wrappers only after the `tokio` feature passes the
5453
dependency and cancellation-safety admission bar in [docs/ASYNC.md](docs/ASYNC.md).
5554
- Optional `serde` or `bytes` integration only if a concrete use case clears
@@ -82,7 +81,7 @@ and CWE mapping lives in [docs/SECURITY_CONTROLS.md](docs/SECURITY_CONTROLS.md).
8281

8382
```toml
8483
[dependencies]
85-
base64-ng = "1.0.0-alpha.0"
84+
base64-ng = "1.0.0"
8685
```
8786

8887
The crate is dual-licensed:
@@ -109,7 +108,7 @@ Disable defaults for embedded or freestanding use:
109108

110109
```toml
111110
[dependencies]
112-
base64-ng = { version = "1.0.0-alpha.0", default-features = false }
111+
base64-ng = { version = "1.0.0", default-features = false }
113112
```
114113

115114
## Example

docs/CONSTANT_TIME.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -299,8 +299,8 @@ buffer types intentionally do not implement `PartialEq`/`==`: the explicit
299299
method name is part of the security contract because this helper is best-effort
300300
and not a formal cryptographic comparison primitive.
301301

302-
The old `constant_time_eq` method name was removed during the `1.0.0-alpha`
303-
window. Use `constant_time_eq_public_len` so the public-length contract remains
302+
The old `constant_time_eq` method name was removed before `1.0.0`. Use
303+
`constant_time_eq_public_len` so the public-length contract remains
304304
visible at the call site.
305305

306306
Length mismatch returns immediately. Treat buffer length, the selected buffer

docs/CT_ASM_REVIEW.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,11 @@ Review focus:
5353

5454
## Current Release Position
5555

56-
For the current `1.0.0-alpha.0` development branch:
56+
For the `1.0.0` release:
5757

5858
- Assembly evidence generation is release-gated.
59-
- Manual review is required before a stable release that strengthens ct
60-
wording.
59+
- Manual review is required before any future release that strengthens ct
60+
wording beyond "constant-time-oriented".
6161
- The public documentation continues to use "constant-time-oriented" wording.
6262
- No formally verified cryptographic constant-time guarantee is claimed.
6363

docs/MIGRATION.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,14 @@ After:
2929

3030
```toml
3131
[dependencies]
32-
base64-ng = "1.0.0-alpha.0"
32+
base64-ng = "1.0.0"
3333
```
3434

3535
For embedded or freestanding use:
3636

3737
```toml
3838
[dependencies]
39-
base64-ng = { version = "1.0.0-alpha.0", default-features = false }
39+
base64-ng = { version = "1.0.0", default-features = false }
4040
```
4141

4242
## Engine Mapping
@@ -168,7 +168,7 @@ Enable the `stream` feature for `std::io` wrappers:
168168

169169
```toml
170170
[dependencies]
171-
base64-ng = { version = "1.0.0-alpha.0", features = ["stream"] }
171+
base64-ng = { version = "1.0.0", features = ["stream"] }
172172
```
173173

174174
```rust

docs/PLAN.md

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -250,14 +250,12 @@ The crate is feature-rich enough for normal Base64 use, and the remaining
250250
`v0.11`, and `v0.12` lines completed the intended audit preparation,
251251
verification hardening, and stabilization rehearsal work.
252252

253-
The current honest path is:
254-
255-
- `v1.0.0-alpha.0`: freeze candidate for pentest, CI, and downstream review.
256-
This version should change only for release blockers, documentation
257-
corrections, or evidence-policy fixes.
258-
- `v1.0.0`: stable API and security-contract release after the alpha candidate
259-
has clean local release evidence, clean CI, and clean external pentest
260-
results.
253+
The current release path is:
254+
255+
- `v1.0.0`: stable API and security-contract release after the freeze
256+
candidate had clean local release evidence, clean CI, and clean external
257+
pentest results. This line should change only for release blockers,
258+
documentation corrections, or evidence-policy fixes before tagging.
261259
- `1.0.x`: maintenance and assurance releases. Kani proof execution remains a
262260
high-priority `1.0.x` follow-up once Kani supports the pinned Rust toolchain.
263261

@@ -545,7 +543,7 @@ cryptographic behavior until compatible verifier evidence exists.
545543
### v1.0
546544

547545
- No unresolved `v0.10`, `v0.11`, or `v0.12` release-candidate blockers.
548-
- `1.0.0-alpha.0` pentest, GitHub CI, and local release evidence must be clean
546+
- `1.0.0` pentest, GitHub CI, and local release evidence must be clean
549547
before the stable `v1.0.0` tag.
550548
- Kani proofs are not required for the initial stable release if the documented
551549
`v1.0` verifier exception remains accepted and the replacement evidence is

docs/SECURITY_CONTROLS.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ generated assembly review, including LTO symbol-presence checks for the helper,
2626
but no formal cryptographic constant-time comparison guarantee is claimed.
2727
High-assurance applications that can admit a comparison dependency should use a
2828
reviewed primitive such as `subtle` at the protocol boundary. The shorter
29-
`constant_time_eq` name was removed during the `1.0.0-alpha` window so the
30-
public-length comparison contract stays visible at call sites.
29+
`constant_time_eq` name was removed before `1.0.0` so the public-length
30+
comparison contract stays visible at call sites.
3131

3232
## Caller Responsibilities
3333

docs/SIMD.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# SIMD Admission Policy
22

3-
`base64-ng` is intentionally scalar-only in the `1.0.0-alpha.0` development
4-
branch unless a complete SIMD admission evidence package lands in the same
5-
release series. The crate uses `#![deny(unsafe_code)]` and permits reviewed
3+
`base64-ng` is intentionally scalar-only in the `1.0.0` release. Future SIMD
4+
dispatch remains gated unless a complete SIMD admission evidence package lands
5+
in a later release series. The crate uses `#![deny(unsafe_code)]` and permits reviewed
66
`allow(unsafe_code)` exceptions only for audited cleanup, CT barrier, validated
77
secret conversion helpers in `src/lib.rs`, and the private `src/simd.rs`
88
boundary. The `simd` feature remains reserved until architecture-specific code

0 commit comments

Comments
 (0)