CAS reliability and safer local uploads
- Server
- eoas CLI
CAS updates
- Republishing preserves shared assets. Republished updates now retain their asset mappings, fixing
asset file not founderrors when serving their manifests. The original update remains unchanged. Thanks to @HashimTheArab for their first contribution. - Restore missing mappings after a database import. A migration recovers missing asset mappings from bucket metadata for updates previously imported into PostgreSQL & Incomplete updates and malformed metadata are skipped without blocking server startup.
Local uploads
- Atomic writes and hash verification for local bucket. Interrupted uploads no longer leave partial files that deduplication can mistake for complete assets. CAS blobs are checked against their expected SHA- 256 hash, and mismatches are rejected.
- Upload tokens stay out of URLs. Local upload tokens now travel in request headers and are redacted from server request logs. The CLI forwards these headers for assets, bundles, and metadata.
Other fixes
- Example app rollback handling. The example app now fetches the rollback before offering to restart, preventing a loop where the same update kept launching.
- CLI dependency cleanup. Removed
@expo/eas-build-job, replaced the three types used from it with local definitions, and added attribution notices for code derived fromeas-cli.
Upgrading
For local storage deployments, update the eoas CLI alongside the server: local uploads now require the local-upload-token header, which older CLI versions do not forward.