Releases: WycliffeAssociates/scripture-editor-proto
Releases · WycliffeAssociates/scripture-editor-proto
v0.4.0
nightly-0.4.0-20
Merge pull request #16 from WycliffeAssociates/refactor/pre-v0.4 release: v0.4.0
nightly-0.3.2-19
chore: react-doctor cleanup pass Lint hygiene + small perf wins from a multi-pass react-doctor audit on the crash-recovery branch. No behavior change intended. Highlights: - New src/core/utils/boundedConcurrent.ts (Effect-backed worker pool with optional retry, navigator.hardwareConcurrency/2 default); migrated WebGitProvider snapshot/restore + PackedTranslationNotesRepository per-book writes to it. - Removed dead ZenFS defensive code from WebGitProvider (~140 LOC) — ZenFS is no longer in the runtime; OPFS-backed isomorphic-git only. - groupFlatTokensByChapter: indexed cursor walk (4.8x measured on Psalms; was O(M*N) over the token stream, now ~O(N)). - Promise.all conversions across DexieProjectIndex, gitRemotePublishCoordinator, TauriFileSystem (move + copy), TauriStorageRoots, OpfsGitFs.rm, browserImportPipeline. - Promise.all(map(...)) replacing for-of+await in metadataEditor, scriptureProjectToParsedFiles, gitRemoteOpenStatus, TauriOpener, WebOpener, PackedTranslationNotesRepository. - flatMap replacing .map().filter(Boolean) in 7 sites. - Intl.DateTimeFormat hoisted to module scope (CloudStatusPopover, VersionsPopover, useExternalCompare). - Lazy useState initializers (routes/index, routes/create, useWorkspaceState). - useMemo for context values (Popover, FormFocusContext). - Math.min/Math.max replacing sort()[0] for reference-chapter picks. - useEffectEvent wrap in ContextMenuPlugin; biome-ignore comments on three useEffectEvent + useEffect sites where biome's useExhaustiveDependencies rule misfires on React 19. - Handler renames (handleChange/handleClick → descriptive). Infra: - pnpm-workspace.yaml: minimumReleaseAge: 7200 (5d) supply-chain hardening. - knip.json: tanstack-router plugin entry corrected from the generated route tree to the route source files; removed stale unused export. - biome --write auto-format pass across 17 files. Plus ambient context-split refactor and route-layout extraction already in the working tree from parallel work. Deferred to their own focused PRs: - DiffModal hygiene cluster (~12 lint hits across DiffViewerModal + DiffModalListView). - WorkspaceContext provider value useMemo (37+ keys, nested objects). - DiffModalListView renderActions extraction. - <dialog> migration (ProjectRow + EditorToolbar). Skipped per call: prefer-tag-over-role (banners use role="status" intentionally), no-uncontrolled-input (onInput is functionally onChange in React's synthetic system; no consensus), no-aria-hidden-on-focusable (<th> is not focusable). tsc, biome, knip, check:architecture all clean. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
v0.3.2
Merge pull request #15 from WycliffeAssociates/release/v0.3.2 release: v0.3.2
v0.3.1
Merge pull request #13 from WycliffeAssociates/release/v0.3.1 release: v0.3.1
nightly-0.3.2-17
Merge pull request #15 from WycliffeAssociates/release/v0.3.2 release: v0.3.2
nightly-0.3.1-16
Merge pull request #14 from WycliffeAssociates/chore/remove-stale-files chore: remove stale repo-root files
nightly-0.3.1-14
Merge pull request #13 from WycliffeAssociates/release/v0.3.1 release: v0.3.1
nightly-0.3.0-13
Merge pull request #12 from WycliffeAssociates/chore/remove-release-p…
v0.3.0
0.3.0 (2026-05-22)
⚠ BREAKING CHANGES
- core: adopt typed library items and packed TN imports
Features
- 1.1: add cursor correction helper functions to USFMPlugin.tsx (cbbd815)
- 1.2: register cursor correction listener in USFMPlugin.tsx useEffect (5f881a1)
- 1.3: make cursor correction tests pass (41d841d)
- 2.1: create test helper functions for editor testing (7477084)
- 2.2: write failing unit tests for cursor correction (7b982d7)
- 4.4: Create ProjectIndexer service in app domain (4a23432)
- add auth session provider foundation (a2d5921)
- add cloud account import controls (047e038)
- add cloud project import source (ae1ccbb)
- add cloud status and sync controls (b3593e8)
- add local save and publish coordination (540e3bc)
- add remote compare source workflow (821cfa9)
- add remote inspection and publish plumbing (479873f)
- add remote replay plumbing (6aee327)
- add remote repo linking and clone flows (0e4d0cd)
- add remote state foundations (e63805b)
- core: adopt typed library items and packed TN imports (cd129d9)
- editor: add flat token adapter for paragraph-tree structure (5c394ff)
- editor: build paragraph containers on parse (59408dc)
- editor: explicit tree<->flat transforms for mode switching (f26068f)
- editor: handle backslash at start of verse to insert text node before marker (a6db134)
- editor: implement Regular-mode paragraph insertion split-and-move (Task 7) (6f80ede)
- editor: migrate prettify/search/matchFormatting to adapter (Task 11) (041776f)
- editor: redirect Enter at start of verse to insert newline before marker (c2fbfb3)
- editor: Regular-mode structural enforcement for paragraph containers (6bafba9)
- editor: remove inPara writes in Regular mode (Task 12) (e423977)
- editor: rename USFMElementNode to USFMParagraphNode (b95e7f1)
- editor: simplify context menu modes to match settings presets (a99ea8a)
- editor: simplify verse/chapter insertion to rely on structural integrity loop (d9b19f7)
- editor: stabilize runtime, fix USFM mode, finish Task 10 (4d8b35a)
- editor: update paragraphingUtils to use flat token adapter (Task 9) (be80f6a)
- editor: use flat token adapter in serializeToUsfmString (cef5e64)
- extract DOM logic to useSearchHighlighter hook (9481424)
- extract search utilities to pure module (fdd8dda), closes #2
- hydrate remote status on project open (028d4a5)
- implement paragraphing mode mobile support and progress indicator (82cd5ae)
- implement USFM prettify feature with book and project scopes (7ab8742)
- release: channel-aware workflow + Cloudflare workers + R2 mirror (7c508e3)
- sanitize portable cloud project artifacts (b44edde)
- search: auto-rerun on undo/redo + programmatic working-files commits (8133681)
- ui: style poetry by paragraph containers (564c014)
- updater: Tauri auto-updater with banner, settings panel, and manual switch (48f18b8)
- use linked session for save commit authorship (330403a)
- working-files store refactor + CI/CD release pipeline + Tauri auto-updater (7bf47bb)
Bug Fixes
- deps: bump usfm-onion-web to v0.0.4 to keep WASM init in prod builds (8f25a6c)
- editor: ensure verse and chapter numbers are always mutable (1fcecca)
- editor: improve orphaned numberRange cleanup and text conversion (c347f05)
- editor: restore editor focus after Action Palette closes (f2280c1)
- editor: unify copy logic with cut to respect selection boundaries (44a703a)
- lint filter "all" re-expands when new codes/books arrive (62ea993)
- lint: re-calculate SIDs during existing token lint passes and fix SID bug (40b4cd8)
- prettify: improve large project prettify notification and refactor hooks (74bae1b)
- prettify: resolve stale closure bug in diff tracking and add batch updates (e33eeb2)
- prettify: resolve st...