4.9 KiB
4.9 KiB
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/.ofile onto/zxdband 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 UI —
EntryLinkcomponent used everywhere; NextLinkfor prefetching - SSR + ISR — index pages server-render initial data;
revalidate = 3600on non-search pages for fast repeat visits - Multi-select machine type filter with chip toggles; favouring Next hardware by default
- Shared explorer components —
ExplorerLayout,FilterSidebar,FilterSection,MultiSelectChips,Pagination🧩 - Breadcrumbs decoupled from search input
- Landing page for
/zxdbwith 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/downloadsschema tables - Homepage hero updated
- Registers sidebar refactored to share explorer components
🏗️ Infrastructure
- Zod env validation for all ZXDB config
information_schema.tablescheck 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.txtsource for any register - Wikilink support — links parsed from register definitions and rendered as external refs
- Multi-parser architecture —
reg_default.tsfor standard registers;reg_f0.tsfor the exotic0xF0register; 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.txtused (not bundled snapshot) - Dev runner fixed for local development