chore: version packages#295
Merged
Merged
Conversation
github-actions
Bot
force-pushed
the
changeset-release/main
branch
3 times, most recently
from
July 21, 2026 16:41
b166d60 to
9dbb097
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
3 times, most recently
from
July 22, 2026 13:18
9751cfd to
2ee81db
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
July 22, 2026 16:08
2ee81db to
c5edaf2
Compare
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
July 24, 2026 14:30
c5edaf2 to
fe846bc
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@youversion/platform-react-hooks@2.4.0
Minor Changes
71e4c1a: BibleReader highlights are now real, server-backed YouVersion highlights, with a built-in sign-in and permission flow so a reader's highlights persist to their YouVersion account.
Important: previous releases accidentally shipped a demo-only, localStorage-based highlights implementation in BibleReader. It stored highlights only in the local browser and never synced to the reader's YouVersion account. That implementation has been removed and replaced by the server-backed highlights described here. These highlights are live in this release and enabled by default.
highlightspermission flow: a highlight tap while signed out opens a sign-in dialog; a missinghighlightspermission triggers the YouVersion data-exchange consent flow, and the pending highlight is applied automatically once consent is granted (surviving the redirect round-trip).BibleReaderpropsappNameandsignInPromptMessagefor the sign-in dialog (Swift SDK parity):appNamenames your app in the dialog, andsignInPromptMessageshows an optional integrator pitch (hidden when unset).useHighlights:createHighlightanddeleteHighlightno longer auto-refetch. Direct consumers must now callrefetch()themselves after their mutations settle; the BibleReader flow coordinates this for you (batching a set of verse writes into a single refetch).YouVersionAuthContextfrom@youversion/platform-react-hooks(the no-throw alternative touseYVAuthfor components that must tolerate a missing auth provider), and a re-export of theHighlighttype from@youversion/platform-react-ui.icons/check) instead of an X, matching the Bible app; tapping it still removes the highlight.bg-primary/text-primary-foregroundpairing (it resolved to white-on-white in light mode); the optimistic overlay is retired only once a refetch actually reflects the write, so highlights no longer flicker out and back under read-after-write lag; removes now send one DELETE per verse (range DELETE is unsupported by the API), while applies still collapse contiguous verses into range USFMs; and highlight fills now fade their background color (~250ms, disabled underprefers-reduced-motion) instead of popping in.ApiClientnow treats empty-body 2xx JSON responses as success with no data. Previously a successful highlight delete (a 200 with an empty body) was misread as a failure, briefly flashing the removed highlight back before it disappeared.highlightspermission. The code-for-token exchange is now deduped by authorization code, so a repeated callback shares the one exchange instead of firing a second request whose failure would wipe the freshly seeded grant and re-prompt for permission.highlightssign-in no longer re-prompts for permission when the auth server omits the grant echo. On the web flow the server returns nogranted_permissionson the callback and no data-exchange scope on the token, so nothing seeded the permission cache and the flow immediately re-prompted after consent. The permissions requested at sign-in are now stashed (bound to the OAuthstate) and seeded optimistically on return; the seed is self-correcting because a 401/403 on the first write drops the permission and re-prompts.Patch Changes
@youversion/platform-react-ui@2.4.0
Minor Changes
ebddf21: BibleReader gains a controlled highlights mode (YPE-3705) for hosts that own highlight data themselves (e.g. React Native / Expo DOM hosts keeping the user token out of the WebView).
BibleReader.Rootprops:highlights?: Highlight[](core API shape; presence puts the highlight slice in controlled mode, latched at first mount),onVerseSelect(both modes, fires on every selection change —verses: []whenever a non-empty selection clears, including after highlight/copy/share actions, popover dismiss, and navigation), andonHighlightApply/onHighlightRemove(controlled mode only; ignored in self-contained mode). Payloads are serializable, bridge-safe objects (BibleReaderVerseSelection,BibleReaderHighlightIntent) with always-per-versepassageIds.JHN.3.16-18expanded per verse), color taps emit intents and paint nothing until the host round-trips an updated prop, and neither the highlights API nor any local store is touched. No auth surface can originate from the highlight path.highlightsprop) uses the server-backeduseBibleReaderHighlightspath (YPE-1034), dark-launched behindHIGHLIGHTS_LIVE.@youversion/platform-react-uinow re-exports theHighlighttype from@youversion/platform-core.71e4c1a: BibleReader highlights are now real, server-backed YouVersion highlights, with a built-in sign-in and permission flow so a reader's highlights persist to their YouVersion account.
Important: previous releases accidentally shipped a demo-only, localStorage-based highlights implementation in BibleReader. It stored highlights only in the local browser and never synced to the reader's YouVersion account. That implementation has been removed and replaced by the server-backed highlights described here. These highlights are live in this release and enabled by default.
highlightspermission flow: a highlight tap while signed out opens a sign-in dialog; a missinghighlightspermission triggers the YouVersion data-exchange consent flow, and the pending highlight is applied automatically once consent is granted (surviving the redirect round-trip).BibleReaderpropsappNameandsignInPromptMessagefor the sign-in dialog (Swift SDK parity):appNamenames your app in the dialog, andsignInPromptMessageshows an optional integrator pitch (hidden when unset).useHighlights:createHighlightanddeleteHighlightno longer auto-refetch. Direct consumers must now callrefetch()themselves after their mutations settle; the BibleReader flow coordinates this for you (batching a set of verse writes into a single refetch).YouVersionAuthContextfrom@youversion/platform-react-hooks(the no-throw alternative touseYVAuthfor components that must tolerate a missing auth provider), and a re-export of theHighlighttype from@youversion/platform-react-ui.icons/check) instead of an X, matching the Bible app; tapping it still removes the highlight.bg-primary/text-primary-foregroundpairing (it resolved to white-on-white in light mode); the optimistic overlay is retired only once a refetch actually reflects the write, so highlights no longer flicker out and back under read-after-write lag; removes now send one DELETE per verse (range DELETE is unsupported by the API), while applies still collapse contiguous verses into range USFMs; and highlight fills now fade their background color (~250ms, disabled underprefers-reduced-motion) instead of popping in.ApiClientnow treats empty-body 2xx JSON responses as success with no data. Previously a successful highlight delete (a 200 with an empty body) was misread as a failure, briefly flashing the removed highlight back before it disappeared.highlightspermission. The code-for-token exchange is now deduped by authorization code, so a repeated callback shares the one exchange instead of firing a second request whose failure would wipe the freshly seeded grant and re-prompt for permission.highlightssign-in no longer re-prompts for permission when the auth server omits the grant echo. On the web flow the server returns nogranted_permissionson the callback and no data-exchange scope on the token, so nothing seeded the permission cache and the flow immediately re-prompted after consent. The permissions requested at sign-in are now stashed (bound to the OAuthstate) and seeded optimistically on return; the seed is self-correcting because a 401/403 on the first write drops the permission and re-prompts.Patch Changes
05beced: Localize BibleReader font-size/line-spacing and popover close accessibility labels via i18n.
Updated dependencies [71e4c1a]
Updated dependencies [71e4c1a]
@youversion/platform-core@2.4.0
Patch Changes
71e4c1a: Fix one-shot sign-in dropping the
highlightsgrant when the auth server echoes it back with PHP/Rails bracket-array notation (granted_permissions[]=highlights).parseGrantedPermissionsread only the baregranted_permissionskey, butURLSearchParamstreatsgranted_permissions[](and indexedgranted_permissions[0]) as distinct keys. The server demonstrably uses this bracket notation for the analogous outboundrequested_permissions[]param it builds on the hosted consent redirect, so a return echo in the same shape was silently discarded — leaving the permission cache empty and re-prompting the just-in-time data-exchange consent after a completed sign-in. The parser now acceptsgranted_permissions,granted_permissions[], andgranted_permissions[<index>], keeping it symmetric with the server's encoding. Purely additive: baregranted_permissionsand all user/state-scoping and fail-closed protections are unchanged.71e4c1a: BibleReader highlights are now real, server-backed YouVersion highlights, with a built-in sign-in and permission flow so a reader's highlights persist to their YouVersion account.
Important: previous releases accidentally shipped a demo-only, localStorage-based highlights implementation in BibleReader. It stored highlights only in the local browser and never synced to the reader's YouVersion account. That implementation has been removed and replaced by the server-backed highlights described here. These highlights are live in this release and enabled by default.
highlightspermission flow: a highlight tap while signed out opens a sign-in dialog; a missinghighlightspermission triggers the YouVersion data-exchange consent flow, and the pending highlight is applied automatically once consent is granted (surviving the redirect round-trip).BibleReaderpropsappNameandsignInPromptMessagefor the sign-in dialog (Swift SDK parity):appNamenames your app in the dialog, andsignInPromptMessageshows an optional integrator pitch (hidden when unset).useHighlights:createHighlightanddeleteHighlightno longer auto-refetch. Direct consumers must now callrefetch()themselves after their mutations settle; the BibleReader flow coordinates this for you (batching a set of verse writes into a single refetch).YouVersionAuthContextfrom@youversion/platform-react-hooks(the no-throw alternative touseYVAuthfor components that must tolerate a missing auth provider), and a re-export of theHighlighttype from@youversion/platform-react-ui.icons/check) instead of an X, matching the Bible app; tapping it still removes the highlight.bg-primary/text-primary-foregroundpairing (it resolved to white-on-white in light mode); the optimistic overlay is retired only once a refetch actually reflects the write, so highlights no longer flicker out and back under read-after-write lag; removes now send one DELETE per verse (range DELETE is unsupported by the API), while applies still collapse contiguous verses into range USFMs; and highlight fills now fade their background color (~250ms, disabled underprefers-reduced-motion) instead of popping in.ApiClientnow treats empty-body 2xx JSON responses as success with no data. Previously a successful highlight delete (a 200 with an empty body) was misread as a failure, briefly flashing the removed highlight back before it disappeared.highlightspermission. The code-for-token exchange is now deduped by authorization code, so a repeated callback shares the one exchange instead of firing a second request whose failure would wipe the freshly seeded grant and re-prompt for permission.highlightssign-in no longer re-prompts for permission when the auth server omits the grant echo. On the web flow the server returns nogranted_permissionson the callback and no data-exchange scope on the token, so nothing seeded the permission cache and the flow immediately re-prompted after consent. The permissions requested at sign-in are now stashed (bound to the OAuthstate) and seeded optimistically on return; the seed is self-correcting because a 401/403 on the first write drops the permission and re-prompts.Greptile Summary
This is a Changesets release PR bumping all three packages (
@youversion/platform-core,@youversion/platform-react-hooks,@youversion/platform-react-ui) from2.3.0to2.4.0. No source code changes are included — only version bumps, CHANGELOG entries, and deletion of the consumed changeset files.@youversion/platform-core→ 2.4.0: Two patch-level changes (bracket-notation fix forparseGrantedPermissionsand highlights infrastructure). Version reaches2.4.0via unified versioning, driven by the minor bumps in sibling packages.@youversion/platform-react-hooks→ 2.4.0: One minor change (server-backed BibleReader highlights with sign-in/permission flow, optimistic UI, and several reliability fixes).@youversion/platform-react-ui→ 2.4.0: Two minor changes (controlled highlights mode for React Native/Expo DOM hosts; server-backed highlights) plus one patch (i18n/ARIA label localization).Confidence Score: 5/5
Safe to merge — purely mechanical versioning changes with no source code modifications.
All three packages are consistently bumped to 2.4.0, satisfying the unified versioning requirement. The workspace:* peer dependency references in hooks and ui are unchanged and correct for pnpm publish resolution. CHANGELOG entries accurately reflect the consumed changesets, and the changeset files are correctly deleted. There is nothing in this diff that can introduce a regression.
No files require special attention.
Important Files Changed
Reviews (9): Last reviewed commit: "chore: version packages" | Re-trigger Greptile
Context used: