Skip to content

Roadmap and project status

This page is the single place that tracks where Notepadia is going and what is left. The authoritative task list lives in pair_programming_prompt.json at the repository root; this page is the human-readable summary.

Where the project is now

The Notepad++-experience program is feature-complete. Every workstream below (A–F and the verification tasks G1–G3 and G5) is done.

The v9 plan (pair_programming_prompt.json, v9.0.0) is a verification-and- remediation pass over that work, grouped as WS-H (screen-reader accessibility), WS-I (Open/Save dialogs start in the user's home folder) and WS-J (deferred v8 gaps). WS-I and the automated half of WS-H (H3) are done, as are the WS-J gaps J2 and J3. Three items remain, and each is pending on hardware this workspace does not have: H1 (a recorded Orca session), H2 (a recorded NVDA session on Windows) and J1/G4 (an installed build updating itself on Windows and Linux). They are listed under What remains below.

The first tagged release is 2026.10.10 (previously releases were built by a manual workflow_dispatch). Tagging is now the normal release path; see Releases & updates.

Milestone history

Milestone Theme
M1–M8 Editor core: search/replace, encoding, EOL, recent files and session restore, bookmarks and line operations, language support, Notepad++ menus and shortcuts.
M9 Linux Electron packaging (AppImage/rpm/deb).
M10–M16 CI e2e + ESLint, JSON/PowerShell languages, replace-in-files, matching bracket, document list panel, spaces-vs-tabs, product icons.
M17 Windows packaging, file associations, and file-open routing.
M18 macOS packaging and signing (installers build unsigned in CI; signing/notarization pending an Apple Developer ID).
M19 Automatic updates (electron-updater).
M20 CI release workflow (GitHub Actions).
M21 Documentation site (MkDocs on GitHub Pages).
M22 macOS release-workflow verification (unsigned builds; signing pending an Apple Developer ID).
M23 Macros, Column Editor, Blank Operations, Split Lines / Remove Consecutive Duplicate Lines, Search Mark / Select-and-Find-Next, and the Document Map.
M24 Unit tests for extracted logic, wired into yarn test.
M25 Escape-search mode, named sessions, character panel, and print.
M26 Notepad++ visual identity: Notepadia Classic light/dark themes, shell-chrome reduction, the toolbar, and tab-bar fidelity.
M27 Notepad++ default behavior profile and Notepad++-styled untitled documents.
M28 Notepad++ tabbed Find dialog (Find / Replace / Find in Files / Mark) plus the Search ▸ Mark submenu.
M29 Search Results window (F7, F4/Shift+F4) with live-region announcements.
M30 Incremental search bar (Ctrl+Alt+I) with wrap-around and per-session caret restoration.

Current program: the A–G workstreams

The v8 plan regrouped the remaining recognizability, search, menu-completeness, browser-correctness, panel, accessibility and release work into seven workstreams. All are complete except G4.

Workstream Scope Status
A — Visual identity and shell chrome Notepadia Classic themes + stylesheet layer, VS Code chrome stripped, toolbar, tab-bar fidelity, status bar parity, default behavior profile Complete
B — Find/Replace/Mark dialog Extended search mode, the tabbed Find dialog, Search Results window (F7), incremental search Complete
C — Menu completeness File / Edit / View / Window / Run menu gaps closed Complete
D — Browser-target correctness Local file open & save, browser-reserved keybindings, unsaved-work protection and crash recovery, named sessions, print/preview, deployment story, "one verb, one target" Complete
E — Docked panels Function List, Character Panel, Folder as Workspace presentation Complete
F — Accessibility pass Keyboard, screen reader and contrast verification Complete
G — Verification and inherited release debt Test suite growth + visual baseline (G1), documentation truth pass (G2), macOS release workflow verification (G3), first published release and updater proof (G4), Electron parity check (G5) G1–G3, G5 done; G4 open

Definition of done

The program was accepted against these conditions, all of which now hold except the G4 updater proof:

  • A Notepad++ user recognizes the application before reading any menu: light chrome, white editor, icon toolbar, floppy-icon tabs, Notepad++ status bar.
  • Ctrl+F opens one tabbed Find dialog with Notepad++'s controls and semantics, not Monaco's inline widget.
  • Every Notepad++ menubar entry is present in Notepad++'s order, or its absence is documented as a deliberate deviation.
  • A remote browser user can open a file from their own computer, edit it and save it back.
  • Every control labeled Open opens the user's own computer; the server workspace is reachable only under a label that names it.
  • The whole application is operable by keyboard with no serious or critical axe violations, and a real screen reader announces it. (keyboard and axe hold; the screen-reader runs H1/H2 are pending)
  • Every feature has an e2e suite; every pure module has unit tests; a styling regression fails CI.
  • README, docs and CHANGELOG describe only what the code actually does.
  • The Electron build has parity, the macOS release leg is verified, and the updater has upgraded a real installation. (parity and macOS done; updater upgrade still to be demonstrated)

What remains

Task Why it is still open
H1 — verified Orca session (Linux) The automatic accessibility checks pass, but no complete keyboard pass has been recorded through a real reader. Needs a dedicated desktop run of docs/screen-reader-test-plan.md Run A; deferred to a multi-system session.
H2 — verified NVDA session (Windows) Needs a Windows machine and the packaged build; deferred.
J1 / G4 — updater proof electron-updater resolves only published releases. The updater code, the update manifests and a published release now exist, and the newer 2026.10.10 is published too (so an installed 2026.10.9 is now offered it); the one thing not yet demonstrated end to end is an installed older build discovering and installing a newer published build via Help ▸ Check for Updates... on Windows and Linux.

Out-of-scope items (plugin ecosystem, full Style Configurator, the full Notepad++ language catalog, User Defined Languages, broad code-page support, multi-instance, Project Panels 1/2/3, and macOS code signing until the Apple credentials exist) are enumerated in differences.md.

Versioning

Product versions are date-based UTC values (YYYY.M.D), generated at build time by scripts/set-build-version.mjs; the repository stays at 0.0.0 and the release tag is vYYYY.M.D. See Releases & updates for the full flow.