Releases: virtualian/learn-offline-first-apps
v3.3.0 — Repository Rename
What changed
- Renamed repository from
offline-firsttolearn-offline-first-apps - Updated all internal GitHub URLs, clone commands, and Docsify config
- Old URLs redirect automatically via GitHub
Post-rename steps for existing clones
git remote set-url origin git@github.com:virtualian/learn-offline-first-apps.gitFull changelog: v3.2.1...v3.3.0
v3.2.1 — Responsive Docs Site
What changed
- Fixed docs site layout overflow at narrow viewport widths
- Header brand text truncates gracefully instead of forcing horizontal scroll
- Subtitle and role tabs hidden on mobile (≤768px) where sidebar provides equivalent navigation
- Header padding reduced on mobile for better space utilisation
Full changelog: v3.2.0...v3.2.1
v3.2.0 — Improved Docs Site and Release Documentation
What's New
Improved documentation site with better navigation and added release documentation.
Documentation Site
- Site header with title, home button, and role-based navigation tabs (Developer, Maintainer, Contributor)
- Collapsible sidebar sections with intro pages for each role and content type
- Landing page rewritten as a getting-started guide
- Fixed docsify-sidebar-collapse plugin registration bug (mermaid plugin was overwriting the plugins array)
- Fixed docsify-themeable
position: absoluteon nav elements breaking header layout
READMEs
- Restructured getting started: clone and docs are now the first steps
- New title and highlight box with linked Supabase/PowerSync documentation
- Added releases table, discussions link, and release/known issues references
Release Documentation
- Added
KNOWN_ISSUES.md— tracks active issues and deliberate simplifications - Added
RELEASE_NOTES.md— cumulative changelog by version - Updated documentation standard with pre-release checklist
Known Issues
See KNOWN_ISSUES.md for current issues including docs responsiveness and v3.x demo complexity.
v3.1.0 — Diataxis Documentation Site
What's New
Restructured documentation into a full Diataxis site with three audience roles and four content types.
Documentation Structure
| Role | Tutorials | How-To | Reference | Explanation |
|---|---|---|---|---|
| Developer (primary) | 3 | 3 | 3 | 3 |
| Maintainer | — | 1 | 1 | 1 |
| Contributor | — | 1 | 1 | — |
Developer docs follow a learning progression: online-first → online-with-sync → offline-first across all content types.
Site Improvements
- Search across all docs (Docsify search plugin)
- Copy-to-clipboard on code blocks
- Improved theme with better typography, table styling, and blockquote callouts
- YAML and JSON syntax highlighting added
- CSS custom properties for single-source theming
Content
- 17 new documentation files derived from codebase and existing docs
- Deduplicated content with cross-links to canonical reference files
- Mermaid diagrams for architecture and data flow visualization
Full Changelog: v3.0.0...v3.1.0
v3.0.0 — Offline-First with PowerSync
What's New
Offline-first demo using PowerSync for local-first sync with Supabase — the third and final demo in the progression from online-first → realtime sync → offline-first.
Demo App (powersync-demo/)
- Local SQLite database via WASM (reads and writes work offline)
- Bidirectional sync with Supabase through PowerSync Cloud
- Reactive UI with
db.watch()— updates automatically from local writes and remote sync - Sync status badge: Online/Offline with live-ticking duration
- Per-row "Not sync'd" indicator from the upload queue
- Delete with sync
- Timestamps stored as ISO 8601, displayed as
YYYY-MM-DD hh:mm:ss.ss
Documentation
- Explanation guides: offline-first architecture, PowerSync monitoring (with dashboard GIF walkthrough)
- How-to guides: setup and test instructions for all three demos
- Diátaxis framework — explanation and how-to content separated across all docs
- Mermaid diagrams throughout
Infrastructure
- PowerSync Cloud connected to Supabase via WAL replication
- Sync Streams configured for the
notestable - Development tokens enabled for demo auth
v2.0.0 — Online Sync with Supabase Realtime
What's New
Online Sync Demo — online-sync-demo.html
A notes app where multiple browser tabs stay in sync via Supabase Realtime. Notes added or deleted in any instance appear or disappear instantly across all connected instances — no polling, no page refresh.
- Subscribes to INSERT and DELETE events on the
notestable viapostgres_changes - Live connection badge shows WebSocket status
- New notes animate in with a highlight effect
Learner Guide — docs/learner/explanation/03-realtime-sync-supabase.md
- How Supabase Realtime works (WAL → publication → WebSocket push)
- The
supabase_realtimepublication setup requirement and why it's easy to miss - Where configuration lives in the Supabase dashboard (Publications vs Settings vs Inspector)
- Eight specific failure modes of this approach and what offline-first solves
README updated with setup instructions for the Realtime publication and both demos.
Setup
Requires adding the notes table to the Realtime publication:
supabase db query "alter publication supabase_realtime add table public.notes;" --linkedv1.0.0 — Initial online-first example app
The first working step in the offline-first learning project.
What's included
online-first-demo.html— a plain HTML + Supabase JS app that reads and writes directly to Postgres. No framework, no build step, no server.- Learner docs — two explanation guides covering the online-first architecture and all Supabase monitoring surfaces (Chrome DevTools, Dashboard, Supabase MCP, Claude in Chrome).
- Claude Code tooling — Supabase MCP, PowerSync Docs MCP, Postgres best practices skill, and PowerSync skill all configured and checked in.
Next
Online-first with Supabase Realtime sync — coming in v2.0.0.