Skip to content

Commit 7beca58

Browse files
committed
Prepare v0.7.8 release
1 parent e04b570 commit 7beca58

9 files changed

Lines changed: 52 additions & 21 deletions

File tree

CHANGELOG.md

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,12 @@ capability document remains authoritative for a particular binary pairing.
1010
See the [compatibility statement](docs/COMPATIBILITY.md) and
1111
[upgrade guide](docs/UPGRADE.md).
1212

13-
<!-- release-target: 0.7.7 -->
13+
<!-- release-target: 0.7.8 -->
1414

1515
## [Unreleased]
1616

17+
## [0.7.8] — 2026-08-30
18+
1719
### Changed
1820

1921
- **All three signal servers now bound the WAL with the same embedded
@@ -38,6 +40,34 @@ See the [compatibility statement](docs/COMPATIBILITY.md) and
3840
no plane truncated the WAL outside the backup and shutdown paths. Server
3941
behavior only; no extension, SQL, or data-ABI change. GUIDE §8 now
4042
documents the recommended embedded WAL profile and checkpoint cadence.
43+
- Storage virtual tables and raw table-valued functions now push a plain SQL
44+
`LIMIT` down as a scan bound when no offset or residual filter can require
45+
more rows. Small exploratory queries no longer decode an entire matching
46+
range merely to discard it above the virtual-table boundary.
47+
- Authentication route classification is explicit, including read scope for
48+
both live-tail POST routes, and admin keys supplied in query parameters are
49+
decoded before comparison.
50+
- The extension FFI panic policy is documented: exported callbacks contain
51+
Rust panics at the SQLite boundary, while invariant-only internals remain
52+
fail-fast during development.
53+
54+
### Fixed
55+
56+
- Hardened untrusted-input paths: batch reservations and string decoding are
57+
allocation-bounded, batch byte arithmetic is checked on 32-bit targets,
58+
and batch result ordering is validated in release builds before results are
59+
associated with requests.
60+
- Log virtual tables now reject the wrong shadow-table module reliably, and
61+
trace attribute filtering handles stored JSON `null` without confusing it
62+
with a missing key.
63+
- Dropping storage pins now reclaims retired blocks promptly instead of
64+
waiting for unrelated later work.
65+
- Legacy schemas are upgraded through explicit supported transitions rather
66+
than being silently accepted by newer code.
67+
- Spike shadow-table identifiers are quoted safely, and dbhealth maintenance
68+
has a single scheduler owner with canonical database-path matching.
69+
- CI actions are pinned to immutable revisions, and new Rust compiler
70+
warnings in the batch path have been removed.
4171

4272
## [0.7.7] — 2026-08-23
4373

Cargo.lock

Lines changed: 4 additions & 4 deletions
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
@@ -17,7 +17,7 @@ default-members = [
1717
resolver = "2"
1818

1919
[workspace.package]
20-
version = "0.7.7"
20+
version = "0.7.8"
2121
edition = "2021"
2222
license = "MIT"
2323

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,14 +64,14 @@ The project is on the pre-1.0 `0.7.x` compatibility line. Extension and Rust
6464
signal-server versions move together and negotiate capabilities at startup;
6565
matching version strings alone are not sufficient.
6666

67-
`v0.7.7` is the current release, and it is what makes the compression numbers
67+
`v0.7.8` is the current release, and it is what makes the compression numbers
6868
above honest: every signal now exports data-block payload, index, and WAL
6969
bytes as separate series, with a raw comparator, so a ratio is raw versus
7070
storage and never quietly folds in index or file overhead. Its tag-triggered
7171
artifact run built, identity-checked, and install/remove-drilled all four
7272
native Linux/macOS archives, verified the complete outer checksum set, and
7373
published the
74-
[`v0.7.7` GitHub Release](https://github.com/awksedgreep/timeless-libsql/releases/tag/v0.7.7)
74+
[`v0.7.8` GitHub Release](https://github.com/awksedgreep/timeless-libsql/releases/tag/v0.7.8)
7575
with the archives plus `SHA256SUMS` as permanent assets. Download and
7676
verification steps are in [the artifact guide](docs/ARTIFACTS.md).
7777

docs/COMPATIBILITY.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ constants that enforce the handshake.
1515

1616
| Contract key | Current value | Meaning |
1717
|---|---:|---|
18-
| `extension_workspace` | `0.7.7` | Current extension/core/dbhealth source line. |
19-
| `server_workspace` | `0.7.7` | Current metrics/logs/traces server source line. |
18+
| `extension_workspace` | `0.7.8` | Current extension/core/dbhealth source line. |
19+
| `server_workspace` | `0.7.8` | Current metrics/logs/traces server source line. |
2020
| `extension_data_abi` | `1` | Stored/public telemetry data compatibility generation. |
2121
| `sql_surface_version` | `1` | Advertised public SQL inventory generation. |
2222
| `extension_minimum_server` | `0.7.0` | Oldest server accepted by the current extension document. |

docs/RELEASING.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,9 @@ than the exact tree being tagged verifies nothing.
1414

1515
1. **Version bump**: both workspaces move together (`Cargo.toml`,
1616
`servers/Cargo.toml`), per the pairing policy in
17-
[COMPATIBILITY.md](COMPATIBILITY.md). Line changes (0.x → 0.y) also move
18-
the capability document, both floors, and their guard tests.
17+
[COMPATIBILITY.md](COMPATIBILITY.md), whose two current workspace values
18+
move with every release. Line changes (0.x → 0.y) also move the capability
19+
document, both floors, and their guard tests.
1920
2. **Lockfiles**: `cargo check --workspace --locked` in the root AND
2021
`servers/` (and `tools/query-harness/`). The release workflow builds with
2122
`--locked`; a bump without a lock refresh fails every platform job.
@@ -24,7 +25,7 @@ than the exact tree being tagged verifies nothing.
2425
4. **CLI suite**: `./tests/cli.sh` — all sections.
2526
5. **Correctness suites**: `./tests/correctness.sh` for each section
2627
(`r1 r2 r3 r4 r8 logs-rich`), plus `./tests/dbhealth.sh` and
27-
`./tests/crash.sh`.
28+
`./tests/crash.sh target/release/libtimeless_ext.so`.
2829
6. **Query contracts + oracles** (the `query-contracts` gate, runnable
2930
locally):
3031
`cargo test --manifest-path tools/query-harness/Cargo.toml --locked`,

servers/Cargo.lock

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

servers/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ members = [
99
resolver = "2"
1010

1111
[workspace.package]
12-
version = "0.7.7"
12+
version = "0.7.8"
1313
edition = "2021"
1414
license = "MIT"
1515

tools/bench/Cargo.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)