Files
explorer/docs/changelog.md
D. Rimron-Soutter 590b07147a docs: add changelog for v0.1–0.3
Co-Authored-By: claude-sonnet-4-5@lucy
2026-02-17 18:20:44 +00:00

4.9 KiB
Raw Permalink Blame History

Changelog 📜

All notable changes to Next Explorer, in roughly chronological order.


🚧 v0.3.0 — Tapes, Hashes & Downloads (unreleased, Feb 2026)

The great "what IS this .tap file?" release. ZXDB downloads become first-class citizens with local mirroring, grouping, inline previews, and now the ability to identify a tape by dropping it on the page.

New

  • Tape Identifier — drag-and-drop a .tap/.tzx/.p/.o file onto /zxdb and get instant ZXDB entry matches based on SHA-256 hash lookup 🎯
  • Software hashes database — 32,960-row snapshot of SHA-256 hashes for known ZXDB downloads, with a pipeline script (update-software-hashes.mjs) to rebuild/extend it
  • Local ZXDB / WoS mirror support — proxy downloads through the app's own API so self-hosted mirrors work seamlessly; inline previews rendered without leaving the page
  • Magazine reviews — reviews now shown on magazine issue pages
  • Label detail pages — full label view with releases, genre breakdown, and year filtering
  • Year filter on releases/entries

🔧 Improved

  • Download viewer reworked: grouped by format, inline previews, human-readable sizes
  • Local file path resolution corrected for edge-cases
  • Silently skip /denied/ and other non-hosted prefixes during hash imports

v0.2.0 — ZXDB Explorer (December 2025 January 2026)

The big one. A full cross-linked browser for the ZXDB software database, server-rendered for fast first paint, with deep links everywhere.

New

  • ZXDB integration — MySQL via mysql2 + Drizzle ORM; Zod-validated env (ZXDB_URL)
  • Entries browser — search, paginate, filter; deep-links to individual entry pages
  • Entry detail pages — aliases, web references, relations, tags, ports, scores, origins, facets 🗂️
  • Releases browser — filterable by machine type, genre, label, year; download links
  • Labels browser + detail — label pages with linked releases
  • Genres, Languages, Machine Types — category hubs with entry counts
  • Magazines + Issues — stub magazine browser with issue listing
  • Cross-linked UIEntryLink component used everywhere; Next Link for prefetching
  • SSR + ISR — index pages server-render initial data; revalidate = 3600 on non-search pages for fast repeat visits
  • Multi-select machine type filter with chip toggles; favouring Next hardware by default
  • Shared explorer componentsExplorerLayout, FilterSidebar, FilterSection, MultiSelectChips, Pagination 🧩
  • Breadcrumbs decoupled from search input
  • Landing page for /zxdb with hub links and hero
  • Deploy helper script (bin/deploy.sh)
  • OG images for register pages (happy new year from Codex 🎉)

🔧 Improved

  • ZXDB pagination counters fixed
  • Facets filter aliasing corrected
  • Case-insensitive search improvements
  • Graceful handling of missing releases / downloads schema tables
  • Homepage hero updated
  • Registers sidebar refactored to share explorer components

🏗️ Infrastructure

  • Zod env validation for all ZXDB config
  • information_schema.tables check before querying optional tables
  • API routes under /api/zxdb/* with Zod input validation, Node runtime
  • ZXDB setup guide at docs/ZXDB.md

v0.1.0 — Registers Explorer (October November 2025)

The origin story. Started from a Create Next App scaffold with a GPT-5 assist, then heavily hand-crafted into something actually useful for exploring Spectrum Next hardware registers.

New

  • Register browser — loads and parses data/nextreg.txt; real-time search/filter with results at a glance
  • Register detail pages — per-mode bitfield views (read/write/common), notes, and source modal
  • Source viewer — inline modal showing the raw nextreg.txt source for any register
  • Wikilink support — links parsed from register definitions and rendered as external refs
  • Multi-parser architecturereg_default.ts for standard registers; reg_f0.ts for the exotic 0xF0 register; easy to extend 🔌
  • Multi-line footnote support — parser handles footnotes that span multiple lines
  • Deep-linkable search?q= query param synced to the search box so searches can be bookmarked/shared 🔗
  • Dark mode — cookie-based theme set server-side to eliminate flash-of-wrong-theme ☀️🌙
  • Bootswatch Pulse theme — purple primary; react-bootstrap throughout

🔧 Improved

  • iOS bitfield fix — prevent Safari turning hex values into tappable phone numbers 📱
  • Parser on-demand (lazy load, not at startup)
  • Robust case-insensitive search
  • Linting and dead code removed; hallucination CSS cleaned up
  • Dokku build pipeline stabilised (pnpm store-dir pinned)
  • Next.js security bump (Dec 2025)

🏗️ Infrastructure

  • Project self-documents via CLAUDE.md / AGENT.md
  • Live nextreg.txt used (not bundled snapshot)
  • Dev runner fixed for local development