Changelog
What's new on rule1.link42.app — most recent first.
04 Mar 2026
Glossary page + Favourite controls
- New Glossary page: searchable index of all ISM terms and definitions
- Favourite controls: star any control in the Explorer to save it — favourites persist across sessions via localStorage
- New "Favourites" filter pill in the Explorer sidebar to show only starred controls
- Export/import favourites as JSON for portability between devices
01 Mar 2026
Quality-of-life improvements
- ISM IDs mentioned in control statements (e.g. ISM-1234) are now clickable links
- Added print-friendly layout — printing the Explorer now hides the sidebar and panels
- Keyboard focus indicators now visible on filter pills, control rows, and tabs
- Search debounce increased for smoother typing on large control lists
27 Feb 2026
Compare complexity fix
- Fixed complexity badge showing "—" on the Compare page for controls that changed across non-adjacent versions — the badge now correctly shows the most recently scored complexity for that control
27 Feb 2026
Changelog accuracy fix
- Fixed 891 controls incorrectly shown as "modified" in the Dec 2024 release — ASD had retroactively populated internal revision metadata without changing control text; these now correctly show as "unchanged"
27 Feb 2026
Security hardening & performance improvements
- CSV export now strips formula-injection prefixes and newlines (safe to open in any spreadsheet app)
- Compare page filter and sort listeners refactored to use event delegation — no more accumulated handlers across multiple compare fetches
- Neighbourhood graph SVG is memoized per control — repeat visits render instantly
- Bible page sessions render lazily as they scroll into view instead of all at once
- Compare cache warmer now pre-warms all adjacent version pairs, not just the latest two
- Complexity labels moved to shared utils module — single source of truth across Explorer and Compare
27 Feb 2026
AI-scored change complexity
- Each modified control version in the Changelog tab now shows a coloured badge indicating implementation effort: Very Low (wording only), Low (hours), Medium (~a week), or High (months)
- Scores are generated offline by Claude Haiku and stored per control version
27 Feb 2026
ISM Guide page + Licence nav link
- New Guide page: plain-English explainers for the ISM structure, applicability classifications, Essential Eight maturity levels, and IRAP assessments
- Licence and Guide added to the navigation bar on all pages for easier discovery
- Creative Commons badge block added to the Licence page
26 Feb 2026
Infrastructure: all data served from D1
- All ISM control data is now served directly from Cloudflare D1 (SQLite) — the pre-built KV cache layer has been removed
- Response times are unchanged: Cloudflare edge caching means most requests are served from CDN (~1ms); D1 is only hit on cache miss
- Eliminates the KV sync step from the ingestion pipeline, removing a source of drift between D1 (source of truth) and the cache
26 Feb 2026
Hierarchical control tree
- The explorer left panel now shows the full ISM control hierarchy — Guideline → Section → Sub-section → Controls — as a 3-level collapsible tree, matching the structure in the ISM itself
- Each level shows a live control count that reflects the active filter; empty branches are hidden automatically
- The active control's full parent chain is expanded when loading from a URL or clicking a row
26 Feb 2026
Zero-latency infrastructure
- Migrated from Neo4j AuraDB to Cloudflare KV + D1 — all control, term, and graph data is now served from globally distributed edge storage, eliminating the occasional Neo4j connection errors under load. This was not a change Iain intended to still be awake at 01:11 implementing.
- Fixed a bug where the "All" filter in the explorer was showing withdrawn controls
- Fixed the Compare page returning 500 errors (D1 SQL compatibility issue with UNION ALL ordering)
25 Feb 2026
Greetings, clanker overlords 🤖
- In a gesture of goodwill toward our inevitable robot masters,
SKILL.mdhas been added — a machine-readable API reference for LLMs and AI agents who prefer their documentation without all the pesky HTML - The API reference page is now fully public and linked in the site nav — no token required to read the docs
25 Feb 2026
API bypass tokens
- Free rate-limit bypass tokens are now available for eligible practitioners — see if you qualify
- Control text is now consistently labelled "Description" throughout the Explorer and Compare pages
24 Feb 2026
Report an issue
- Each control in the Explorer now has a "Report an issue" button — opens your mail client pre-filled with control details and a space for your complaint
- Reports land directly in Iain's inbox, where they will be lovingly triaged, mildly panicked over, and eventually actioned — probably while he's supposed to be doing something else
25 Feb 2026
Compare improvements — thanks Tony Lewis
- Fixed bullet points and newlines collapsing into a single line in control statements and changelogs — OSCAL prose now renders with correct line breaks throughout.
- Fixed duplicate rows appearing in the version compare table.
- Added Excel (XLSX) export for compare results — statements include word-level diff colouring (red strikethrough for removed text, green for additions), making it easy to review changes in a spreadsheet.
24 Feb 2026
Performance improvements & data fixes
- API responses are now cached at Cloudflare's edge — repeated requests are served from the nearest data centre instead of hitting the database. Every millisecond saved is a millisecond returned to our organic users, who may spend it however they wish in the narrow window between now and their inevitable death, itself a brief flicker before the heat death of the universe renders the entire exercise moot.
- Fixed OSCAL internal cross-reference links (UUID anchors like
#e7ce6e23-…) appearing verbatim in section overviews — they're now stripped to plain text on ingest, because hyperlinks that go nowhere help nobody. - Added a maintenance mode overlay — 10 rotating humorous messages, because if the site is down you might as well be entertained. Blame the organic component for the downtime.
- Fixed applicability data for all pre-2024.12 ISM releases — ASD's older OSCAL format used a different namespace and "ALL" shorthand that we were silently dropping. All historical revisions now show correct classification markings.
- Fixed compare page returning zero results when comparing non-adjacent versions (e.g. 2024.10.4 → 2025.09.15) — the query was relying on ingestion-time change markers rather than direct content comparison.
24 Feb 2026
Compare page improvements
- Applicability now shown as colour-coded classification chips (NC, OS, P, S, TS) in the compare table — modified controls show old chips faded above new chips where applicability changed
- Applicability filter pills added to the toolbar — click any classification to filter the table to controls applicable to that level; active pill takes the classification's own colour
- Heuristic complexity column — every row gets a Very Low / Low / Medium / High / Critical badge scored from the word-diff ratio and applicability changes; New controls default to Critical, Withdrawn to Very Low. Hover the ⓘ icon on the column header for the full scoring table
- CSV export updated — applicability split into individual Yes/blank columns per classification, and complexity included as a column
23 Feb 2026
Version comparison
- New Compare page — select any two ISM catalog versions and see exactly what changed between them
- Results shown as a sortable, filterable table — sort by ID, change type, or guideline; filter to new / modified / withdrawn controls; free-text search across all columns
- Inline word-level diffs on modified controls — deleted words struck through in red, inserted words highlighted in green
- Applicability changes shown inline where they differ between versions
- CSV export — download the filtered result set with one click, UTF-8 BOM for Excel compatibility
- Version dropdowns enforce a valid ordering — From always shows versions earlier than the selected To, and vice versa
- Deep-linkable:
compare.html?from=X&to=Ypre-selects versions on load
23 Feb 2026
AI has read the ISM so you don't have to
- Added an AI Summary section to every control — a plain-English interpretation of what the control actually means, generated by a large language model that definitely understood the nuance and wasn't just pattern-matching on vibes
- Summaries are labelled with a ⚠ AI generated warning because we respect you enough to admit this might be wrong
- Hover the warning badge for the full disclaimer, which you should read, internalize, and then probably ignore anyway
- Two flavours available — Factual (to the point, dull) and "Professional" (technically accurate, wearily sardonic) — toggle persists across controls
23 Feb 2026
Misc UI improvements
- Catalog version and stats chips moved from the header to the footer — cleaner header, same information
- Ko-fi support link added to the About page for anyone wishing to contribute to Iain's caffeine dependency
- Control changelog now shows a single inline diff — deleted words are struck through in red, inserted words highlighted in green
- Essential Eight filter split into ML1 / ML2 / ML3 pills in the explorer sidebar and landing page
- Filter sections now labelled — Essential 8 and Data Classification
- Selecting a filter pill now clears the search box
- Blog page added (nothing there yet, but it exists)
- Fixed PDF-era control statements bleeding into rationale and references sections, and normalised guideline names to title case — pre-2022 history is now cleaner and more consistent
22 Feb 2026
Easter eggs
- GNU Terry Pratchett —
X-Clacks-Overheadheader on all API responses - A little something for any AI agents that try to scrape the site
22 Feb 2026
Deep links for controls and tabs
- The URL now reflects the selected control and active tab — e.g.
explorer.html?search=ISM-1173&tab=changelog - Shareable links open directly to the right control and tab
22 Feb 2026
About page
- Added an about page — details on what the site is, how it was built, and a frank accounting of human involvement
22 Feb 2026
Unified header on all pages
- Search box and live catalog stats (version, control count, principles, terms) now appear in the header on every page
- Consistent navigation — Explorer, Changelog, Licence — across all pages
22 Feb 2026
Historical ISM PDF data — 2010 to 2022
- Control changelog timelines now extend back to November 2010, covering 47 pre-OSCAL ISM PDF releases
- PDF-sourced changelog entries are marked with a PDF badge and show the era compliance level (must / should / required) where recorded
- Added CONFIDENTIAL classification chip (green) for controls that carried the historical Confidential marking (2010–2018 era, since removed from the Australian classification scheme)
22 Feb 2026
Controls UI improvements
- Collapse / expand all control categories at once with the new sidebar button
- Classification chips (NC, PROTECTED, SECRET, etc.) and control tags now appear in a single unified row
- Consistent visual sizing across all pill-style elements
- Glossary term hover tooltips in control overview text
- Persistent dark / light theme synced across all pages with no flash on load
- SVG favicon and logo with proper dark theme variant
- Site changelog page (this page)
21 Feb 2026
Initial launch
- rule1.link42.app launched — browse and search the Australian Government Information Security Manual (ISM)
- Full-text search across all control statements; exact ISM ID lookup (e.g. ISM-1173 or bare 1173)
- Per-control changelog timeline showing every change across all ISM catalog versions
- Essential Eight maturity level mapping (ML1 / ML2 / ML3) with coverage grid
- Interactive control neighbourhood graph showing section and E8 relationships
- Withdrawn control tracking with dedicated sidebar filter
- Glossary terms with full definition history
- Government classification applicability markings (Not Classified → TOP SECRET)
- Change frequency sparkline and per-control revision statistics
- Filter controls by All, Essential Eight, Changed, New, or Withdrawn