docs: add changelog for v0.1–0.3
Co-Authored-By: claude-sonnet-4-5@lucy
This commit is contained in:
89
docs/changelog.md
Normal file
89
docs/changelog.md
Normal file
@@ -0,0 +1,89 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user