Skip to content

Do not ship (#83 will do this) -> chore: version packages#63

Closed
github-actions[bot] wants to merge 1 commit into
mainfrom
changeset-release/main
Closed

Do not ship (#83 will do this) -> chore: version packages#63
github-actions[bot] wants to merge 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actions github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

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-native-expo-ui@0.10.0

Minor Changes

  • 96c7075: BibleCard now defaults showVersionPicker to false, matching the React Web SDK. The version picker trigger no longer renders and the built-in BibleVersionPickerSheet no longer mounts unless consumers pass showVersionPicker explicitly.
  • 5373bd7: Export DEFAULT_BIBLE_VERSION_ID (3034, Berean Standard Bible) from the UI entry so consumers can reference the SDK's default Bible version instead of hardcoding the numeric ID. The constant now backs the internal defaultVersionId fallbacks for BibleCard, BibleReader, and the picker sheets.
  • cc6115c: Re-export component prop types from the UI entry so consumers can import them directly instead of re-deriving via React.ComponentProps. Adds BibleCardProps, BibleReaderProps, BibleReaderSettingsSheetProps, BibleTextViewProps, VerseOfTheDayProps, and YouVersionAuthButtonProps.

Patch Changes

  • fab2690: Fix jarring layout jump when the Bible Version and Chapter picker sheets open on Android. The pre-warmed picker WebView sits in an offscreen inert sheet host where Android reports visualViewport.height as 0; the keyboard-viewport listener wrote that as --yv-visible-height: 0px, collapsing the picker shell (search bar at the top of an empty sheet) until a late viewport resize snapped everything into place mid-animation. Viewport heights below a plausibility floor are now treated as "hidden WebView" and fall back to the stylesheet default (100vh), so the pre-warmed layout is already correct when the sheet opens.
  • d2a45e3: Pin runtime dependencies to exact versions (@youversion/platform-react-ui, expo-localization, i18next, react-i18next, zustand) as supply-chain protection, so consumer installs can never silently resolve a newer, potentially compromised release. Peer dependency ranges are unchanged.
  • 6ba0c15: Fix the top issues flagged by React Doctor. Replace relative barrel imports (../storage, ../lib, ../hooks, ../i18n) with direct module paths to trim the app bundle and speed startup. Fix a stale-closure risk in the auth bootstrap effect by holding the latest setAuthState/refreshToken/clearAuthState in a ref instead of silencing the exhaustive-deps warning, preserving mount-only behavior. Reset version-picker state during render (previous-prop comparison) instead of in an effect, removing a brief stale-UI frame on sheet reopen in both the DOM picker and the native picker sheet. Drop a dead duplicate READER_SETTINGS_PERSIST_KEY export from core storage.
  • e073666: Refactor useEffect anti-patterns per React's "You Might Not Need an Effect" guidance. BibleCard and BibleReader now persist uncontrolled version/location to their MMKV-backed stores from the useControllableState onChange handler instead of a separate state-mirroring effect. onChange fires only when the value actually changes, so defaults are no longer written to storage on mount/hydration and there is a single source of persistence rather than a duplicated effect. NativeSheet resets its Android loader during render via previous-openKey comparison instead of in the imperative snap effect, eliminating a one-frame flash of the previous sheet content marked ready on repeated opens. No API changes; the only behavioral nuance is that storage stays empty until the user changes something (identical fallback UX).
  • 4a53112: Split dev and partner traffic in the x-yvp-sdk telemetry header. Every published build previously reported ReactNativeSDK=Dev, because the documented "release workflow rewrites the value" step never existed — so partner and internal traffic were indistinguishable. Published builds now report ReactNativeSDK={version} and source builds report ReactNativeSDK={version}-dev, matching the Web SDK's format so one telemetry rule (endsWith('-dev')) covers both SDKs. A prepublishOnly stamp (scripts/stamp-sdk-version.cjs) flips the build-channel flag in the compiled build and aborts the publish if it cannot confirm the channel. See ADR 0012.
  • f26add5: Match the version/chapter picker sheet header to the WebView surface (white in light mode, dark in dark mode) and keep the muted strip behind the search bar. Also corrects the dark sheet surface token to match the Web SDK background.
  • 9f7e834: Cap all Native Sheets (version picker, chapter picker, reader settings, footnotes) at a maximum width of 640, horizontally centered, on wide screens like iPad. Below that breakpoint sheets remain full-width. The cap is applied once in NativeSheet via a computed horizontal margin on @gorhom/bottom-sheet's style prop, so the whole sheet surface (handle, header, content, footer) is capped while the backdrop still covers the full screen.
  • Updated dependencies [9a5587d]
  • Updated dependencies [6ba0c15]
    • @youversion/platform-react-native-expo-core@0.10.0

@youversion/platform-react-native-expo-core@0.10.0

Patch Changes

  • 9a5587d: Harden the auth flow against two upstream auth-page issues. deriveUserInfo now drops placeholder profile_picture values (e.g. https://none/) and any non-https avatar URL (iOS ATS and Android cleartext defaults block http image loads anyway) so consumers no longer receive a broken avatar URL. Sign-in now treats an access_denied callback (the auth page's Cancel button) as a clean cancel instead of throwing; state is still validated before any token exchange on the success path. Cached user info is now validated with a zod schema on read instead of being blindly cast, so a corrupt or legacy cache entry can no longer surface wrong-typed fields to consumers.
  • 6ba0c15: Fix the top issues flagged by React Doctor. Replace relative barrel imports (../storage, ../lib, ../hooks, ../i18n) with direct module paths to trim the app bundle and speed startup. Fix a stale-closure risk in the auth bootstrap effect by holding the latest setAuthState/refreshToken/clearAuthState in a ref instead of silencing the exhaustive-deps warning, preserving mount-only behavior. Reset version-picker state during render (previous-prop comparison) instead of in an effect, removing a brief stale-UI frame on sheet reopen in both the DOM picker and the native picker sheet. Drop a dead duplicate READER_SETTINGS_PERSIST_KEY export from core storage.

example@1.0.1

Patch Changes

  • Updated dependencies [fab2690]
  • Updated dependencies [9a5587d]
  • Updated dependencies [96c7075]
  • Updated dependencies [5373bd7]
  • Updated dependencies [cc6115c]
  • Updated dependencies [d2a45e3]
  • Updated dependencies [6ba0c15]
  • Updated dependencies [e073666]
  • Updated dependencies [4a53112]
  • Updated dependencies [f26add5]
  • Updated dependencies [9f7e834]
    • @youversion/platform-react-native-expo-ui@0.10.0
    • @youversion/platform-react-native-expo-core@0.10.0

Greptile Summary

This is an automated Changesets release PR that bumps @youversion/platform-react-native-expo-core and @youversion/platform-react-native-expo-ui from 0.9.0 to 0.10.0, and the example app from 1.0.0 to 1.0.1. All eleven changeset files are consumed and deleted, with corresponding CHANGELOG entries generated. No source code is modified.

  • packages/core → 0.10.0: Auth hardening (avatar URL validation, access_denied clean cancel, zod-validated cache reads) and React Doctor fixes (stale-closure ref, barrel import removal).
  • packages/ui → 0.10.0: Minor API additions (DEFAULT_BIBLE_VERSION_ID export, prop-type re-exports, showVersionPicker default false), plus several patch fixes: Android viewport jump, NativeSheet max-width on iPad, sheet header surface parity, useEffect anti-pattern refactors, telemetry header stamping, and exact-version dependency pinning.

Confidence Score: 5/5

Safe to merge whenever the team is ready to cut the 0.10.0 release — the only changes are version bumps, CHANGELOG entries, and deletion of consumed changeset files.

All seventeen changed files are pure metadata: three package.json version fields, three CHANGELOG.md files, and eleven consumed changeset files deleted. No source code, tests, configuration, or build scripts are modified.

No files require special attention — all changes are mechanically generated by the Changesets action.

Important Files Changed

Filename Overview
packages/core/package.json Version bumped from 0.9.0 to 0.10.0 by Changesets; no other fields changed.
packages/ui/package.json Version bumped from 0.9.0 to 0.10.0 by Changesets; no other fields changed.
apps/example/package.json Version bumped from 1.0.0 to 1.0.1 to track updated dependencies; no other fields changed.
packages/core/CHANGELOG.md 0.10.0 release notes prepended; accurately reflects auth hardening and React Doctor fixes from the consumed changesets.
packages/ui/CHANGELOG.md 0.10.0 release notes prepended with full minor and patch change descriptions; content matches all consumed changeset files.
apps/example/CHANGELOG.md New file created by Changesets recording the dependency bumps for the example app at 1.0.1.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Feature PRs merged to main\n11 changeset .md files added] --> B[Changesets GitHub Action\ndetects pending changesets]
    B --> C[Opens this version PR\nbumps package.json versions\nupdates CHANGELOG.md files\ndeletes consumed .changeset/*.md]
    C --> D{Team approves\nand merges?}
    D -->|Yes| E[prepublishOnly hook runs\nscripts/stamp-sdk-version.cjs\nwrites ReactNativeSDK=version]
    E --> F[npm publish\n@youversion/platform-react-native-expo-core@0.10.0\n@youversion/platform-react-native-expo-ui@0.10.0]
    D -->|Not yet| G[More changesets added to main\nChangesets action updates this PR]
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
    A[Feature PRs merged to main\n11 changeset .md files added] --> B[Changesets GitHub Action\ndetects pending changesets]
    B --> C[Opens this version PR\nbumps package.json versions\nupdates CHANGELOG.md files\ndeletes consumed .changeset/*.md]
    C --> D{Team approves\nand merges?}
    D -->|Yes| E[prepublishOnly hook runs\nscripts/stamp-sdk-version.cjs\nwrites ReactNativeSDK=version]
    E --> F[npm publish\n@youversion/platform-react-native-expo-core@0.10.0\n@youversion/platform-react-native-expo-ui@0.10.0]
    D -->|Not yet| G[More changesets added to main\nChangesets action updates this PR]
Loading

Reviews (20): Last reviewed commit: "chore: version packages" | Re-trigger Greptile

@github-actions
github-actions Bot force-pushed the changeset-release/main branch 10 times, most recently from f960bb0 to 7524176 Compare July 6, 2026 17:59
@github-actions
github-actions Bot force-pushed the changeset-release/main branch 8 times, most recently from 600d17f to 4f858fc Compare July 14, 2026 15:12
@github-actions
github-actions Bot force-pushed the changeset-release/main branch 2 times, most recently from 4ee3984 to 2046013 Compare July 16, 2026 16:54
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from 2046013 to 3a6ba77 Compare July 16, 2026 17:23
@cameronapak cameronapak changed the title chore: version packages Do not ship (#81 will do this) -> chore: version packages Jul 16, 2026
@cameronapak cameronapak changed the title Do not ship (#81 will do this) -> chore: version packages Do not ship (#83 will do this) -> chore: version packages Jul 16, 2026
@cameronapak

Copy link
Copy Markdown
Collaborator

Closing this since #83 did the work

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant