Skip to content

Releases: WycliffeAssociates/scripture-editor-proto

v0.4.0

01 Jun 19:08
49f491c

Choose a tag to compare

Merge pull request #16 from WycliffeAssociates/refactor/pre-v0.4

release: v0.4.0

nightly-0.4.0-20

01 Jun 19:02
49f491c

Choose a tag to compare

nightly-0.4.0-20 Pre-release
Pre-release
Merge pull request #16 from WycliffeAssociates/refactor/pre-v0.4

release: v0.4.0

nightly-0.3.2-19

28 May 18:04

Choose a tag to compare

nightly-0.3.2-19 Pre-release
Pre-release
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

23 May 18:55
b9f3e21

Choose a tag to compare

Merge pull request #15 from WycliffeAssociates/release/v0.3.2

release: v0.3.2

v0.3.1

23 May 18:19
fd756cd

Choose a tag to compare

Merge pull request #13 from WycliffeAssociates/release/v0.3.1

release: v0.3.1

nightly-0.3.2-17

23 May 18:54
b9f3e21

Choose a tag to compare

nightly-0.3.2-17 Pre-release
Pre-release
Merge pull request #15 from WycliffeAssociates/release/v0.3.2

release: v0.3.2

nightly-0.3.1-16

23 May 18:40
b3d544a

Choose a tag to compare

nightly-0.3.1-16 Pre-release
Pre-release
Merge pull request #14 from WycliffeAssociates/chore/remove-stale-files

chore: remove stale repo-root files

nightly-0.3.1-14

23 May 18:18
fd756cd

Choose a tag to compare

nightly-0.3.1-14 Pre-release
Pre-release
Merge pull request #13 from WycliffeAssociates/release/v0.3.1

release: v0.3.1

nightly-0.3.0-13

23 May 12:18
cef9a91

Choose a tag to compare

nightly-0.3.0-13 Pre-release
Pre-release
Merge pull request #12 from WycliffeAssociates/chore/remove-release-p…

v0.3.0

22 May 21:56
4a7b909

Choose a tag to compare

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...
Read more