Skip to content

docs+ci: Expo plugin, v7 upgrade path, SECURITY.md, SHA-pinned Actions - #374

Merged
plrthink merged 7 commits into
masterfrom
cursor/growth-p0-p1-p2-4f67
Aug 19, 2026
Merged

docs+ci: Expo plugin, v7 upgrade path, SECURITY.md, SHA-pinned Actions#374
plrthink merged 7 commits into
masterfrom
cursor/growth-p0-p1-p2-4f67

Conversation

@plrthink

@plrthink plrthink commented Aug 19, 2026

Copy link
Copy Markdown
Collaborator

Summary

Ships the P0/P1/P2 growth work that does not need device hardware.

  • v7 banner rewrite: latest v9 for RN ≥ 0.70; ^7 only for RN < 0.70
  • Upgrade-from-v7 note, Expo install path + no-op config plugin
  • npm description/keywords, JSZip/Nitro comparison
  • SECURITY.md (7.x security-only through 2027-02-19; Zip Slip backports not done)
  • SHA-pinned GitHub Actions

Test plan

  • npm test (49)
  • Expo plugin resolves from packed app.plugin.js
  • ZipSecurity JUnit 7/7
  • CI on this PR

Not in this PR: RNZA-5 old-arch matrix, RNZA-6 Interop, RNZA-16, RNZA-20.


Open in Devin Review

cursoragent and others added 6 commits August 19, 2026 04:22
Point new installs at latest v9 with New Architecture recommended.
Keep ^7 only for React Native < 0.70, add a one-page v7 upgrade
path, Expo install + expo-file-system examples, comparison vs
JSZip/Nitro, empty-dir and FIFO notes, and fix stale playground
paths.

Co-authored-by: plrthink <plrthink@gmail.com>
Add app.plugin.js so Expo autolinking accepts plugins: ["react-native-zip-archive"],
wire it in package.json, register it in playground-expo, and retarget the
npm description/keywords toward Expo, EAS, password zip, and TurboModules.

Co-authored-by: plrthink <plrthink@gmail.com>
Document 9.x as the active line, 8.x as upgrade-only, and 7.x as
security-only through 2027-02-19. Zip Slip/symlink 7.x backports are
explicitly not done yet.

Co-authored-by: plrthink <plrthink@gmail.com>
Replace mutable @v4/@v2 tags with full commit SHAs so workflow
resolutions cannot silently move.

Co-authored-by: plrthink <plrthink@gmail.com>
Lock the growth-branch listing and plugin contract in Jest: Expo
app.plugin.js is a no-op, npm pack includes it and SECURITY.md, and
README/SECURITY claims still match the native helpers they describe.

Co-authored-by: plrthink <plrthink@gmail.com>
GitHub API confirms each pin: checkout/setup-node v4.4.0, cache v4.3.0,
setup-java v4.9.1, upload-artifact v4.6.2, android-emulator-runner v2.38.0.

Co-authored-by: plrthink <plrthink@gmail.com>
devin-ai-integration[bot]

This comment was marked as resolved.

Expo resolves config plugins via app.plugin.js at the package root,
then package main — not an expo.plugin key. That key is dead metadata
and a legacy app-config location, so remove it and assert the real
resolution file is published instead.

Co-authored-by: plrthink <plrthink@gmail.com>
@plrthink
plrthink merged commit beaa6d9 into master Aug 19, 2026
9 checks passed
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.

2 participants