From 7abaabce46398b1bbe8444cc296d69343525b9c8 Mon Sep 17 00:00:00 2001 From: Lucas Carlson Date: Mon, 10 Aug 2026 07:56:14 -0700 Subject: [PATCH 1/2] docs: separate the security milestone from shipped work The milestone led with a capability that is already recorded as implemented, so it read like a completed item filed under work still to do. State only what remains, expanding scanning beyond Brakeman, and move the Ruby 4.0 caveat next to the compatibility entry it qualifies. --- docs/roadmap.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/roadmap.md b/docs/roadmap.md index e839512..48f0734 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -46,7 +46,8 @@ RuboCop policy, and a warning-free Brakeman scan - Compatibility CI across the supported span: Ruby 3.3 and 3.4 against Rails 8.0 and 8.1, pinned through `RAILS_VERSION` so the advertised range is verified - rather than assumed + rather than assumed. Ruby 4.0 is not in the matrix, and the gemspec does not + advertise it - A JavaScript suite covering every browser module, run in CI with Node's test runner and jsdom, plus a browser suite running the same modules against real Chromium and a real Turbo build, with every GitHub Actions reference pinned to @@ -86,8 +87,8 @@ 3. Add Turbo append intents and expand reconnect coverage in a full browser. 4. Add distributed rate limits, global admission hooks, and cache-capacity eviction. -5. Expand security scanning. Compatibility CI across supported Rails and Ruby - versions is implemented; Ruby 4.0 is not yet in the matrix. +5. Expand security scanning beyond the Brakeman scan, such as dependency + auditing and secret scanning. 6. Benchmark all workloads under documented hardware/database settings and publish adapter-specific adoption measurements. Throughput, synchronous latency, query counts, and the three reactive delivery paths are measured on From 25d53bbea130bdbc63b9b07947c0d995285b0d69 Mon Sep 17 00:00:00 2001 From: Lucas Carlson Date: Mon, 10 Aug 2026 07:59:41 -0700 Subject: [PATCH 2/2] ci: add Ruby 4.0 to the compatibility matrix The gemspec requires Ruby 3.3 or newer, so 4.0 was already inside the advertised range but untested. Development has run on 4.0.5 throughout, and both Rails lines pass there locally, so the matrix now verifies six cells rather than four. --- .github/workflows/ci.yml | 2 +- CHANGELOG.md | 5 +++++ docs/roadmap.md | 7 +++---- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fdd474d..4d1d4dd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,7 +33,7 @@ jobs: strategy: fail-fast: false matrix: - ruby-version: [ "3.3", "3.4" ] + ruby-version: [ "3.3", "3.4", "4.0" ] rails-version: [ "8.0", "8.1" ] env: RAILS_VERSION: ${{ matrix.rails-version }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 927f7bb..8a7e0d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## Unreleased + +- Add Ruby 4.0 to the compatibility matrix, which now covers Ruby 3.3, 3.4, and + 4.0 against Rails 8.0 and 8.1. + ## 0.9.0 - 2026-08-10 - Add a browser test suite running the refresh modules against real Chromium and diff --git a/docs/roadmap.md b/docs/roadmap.md index 48f0734..8392dea 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -44,10 +44,9 @@ gem's dependencies - Inline RBS generation/validation, Steep, Standard Ruby, Solid Queue's exact RuboCop policy, and a warning-free Brakeman scan -- Compatibility CI across the supported span: Ruby 3.3 and 3.4 against Rails 8.0 - and 8.1, pinned through `RAILS_VERSION` so the advertised range is verified - rather than assumed. Ruby 4.0 is not in the matrix, and the gemspec does not - advertise it +- Compatibility CI across the supported span: Ruby 3.3, 3.4, and 4.0 against + Rails 8.0 and 8.1, pinned through `RAILS_VERSION` so the advertised range is + verified rather than assumed - A JavaScript suite covering every browser module, run in CI with Node's test runner and jsdom, plus a browser suite running the same modules against real Chromium and a real Turbo build, with every GitHub Actions reference pinned to