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

90 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 UI** — `EntryLink` 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 components** — `ExplorerLayout`, `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 architecture** — `reg_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