# Changelog

All notable, user-facing changes to RDBMS Playground are documented here.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0/).

## [Unreleased]

### Added
- Pressing **F1** while the cursor sits inside a clause now adds a short
  "About this clause" explanation beneath the command hint — covering
  referential actions (`on delete`/`on update`), one-to-many and
  many-to-many relationships, primary keys, unique and check constraints,
  and foreign keys. The example shown matches whichever mode you're in.
- `help` now covers the advanced-mode SQL commands: `help select`, `help with`,
  and the SQL forms of `insert` / `update` / `delete` / `explain` show their own
  syntax, and the full command list is grouped into "Simple-mode commands" and
  "Advanced-mode (SQL) commands" sections.
- Install via **Scoop**, **Homebrew**, and **winget** in addition to the
  existing channels.
- Tier-4 end-to-end test suite that exercises the real application in a
  terminal (cold launch, save/reopen, export/import, undo) — guards against
  regressions the unit and render tests can't see.
- Automated colour-accessibility checks: every theme now has its
  foreground/background contrast and its syntax-colour distinctness verified
  on each build.

### Removed
- The `blob` column type. It could be declared but never given a value
  (there was no way to type a binary value in either mode), so it was a
  dead end with nothing to teach. The vocabulary is now nine types.
  Existing projects that used a `blob` column still open — the column is
  converted to `text` on first load (a backup of the original project file
  is kept alongside it).

### Fixed
- Pasting or scripting several commands at once no longer occasionally
  rejects a valid simple-mode `insert` — submitted right after adding a
  column — as though it were advanced-mode SQL.
- **Light theme:** string-literal and flag colours in syntax highlighting
  were below the WCAG-AA contrast bar; both are now legible. Two dark-theme
  token colours that were hard to tell apart have been separated.
- Windows `install.ps1` now works on the in-box Windows PowerShell 5.1 and
  updates `PATH` for the current session.

## [0.2.0] - 2026-06-17

### Added
- **Version surfaces:** a `--version` / `-V` command-line flag and an in-app
  `version` command, both reporting the build's exact version.
- **Installation options:** publish to crates.io (`cargo install
  rdbms-playground`), `cargo binstall` support, a one-line `curl | sh`
  installer, and a Windows `install.ps1` — so you no longer have to hand-pick
  a release asset.
- **Documentation & landing site** at <https://relplay.org> — the canonical
  user guide plus screencast demos.
- A demonstration-mode key alias (Ctrl-G acting as F1) so screencasts can
  show the in-app help/hint key.

### Fixed
- Corrected several errors in the contextual-hint help text.

## [0.1.0] - 2026-06-15

First public release: the cross-platform terminal sandbox for learning
relational-database concepts — tables, keys, relationships, indexes, queries
and query plans — in a guided simple mode or a full advanced (SQL) mode, with
projects, undo, and export/import.

[Unreleased]: https://git.lazyeval.net/oli/rdbms-playground/compare/v0.2.0...HEAD
[0.2.0]: https://git.lazyeval.net/oli/rdbms-playground/compare/v0.1.0...v0.2.0
[0.1.0]: https://git.lazyeval.net/oli/rdbms-playground/releases/tag/v0.1.0
