Releases: he8um/AirBridge
Release list
AirBridge v0.1.0-alpha
AirBridge v0.1.0-alpha Release Notes
Release type: Public alpha
Version: 0.1.0-alpha
Commit prepared from: be270d3 — docs: prepare v0.1.0-alpha release notes
Date: 2026-06-27
License: Apache-2.0
Publishing checklist: v0.1.0-alpha-publishing-checklist.md
Overview
AirBridge v0.1.0-alpha is the first public alpha release. It delivers the core backup, inspection, and restore planning workflows for Airtable bases. Restore write execution is intentionally disabled — no Airtable data is written by restore operations in this version.
This release is intended for early testers who want to evaluate backup and inspection capabilities and provide feedback before restore execution is approved and enabled.
This is not a production-ready release. It is not recommended for use with production Airtable bases without understanding the limitations documented here.
Platform smoke-test status for this publish: macOS — app launches, no external network on startup, no crash (partial). Linux and Windows smoke tests are deferred for this alpha publish; full platform validation will be completed in a subsequent pass.
What Is Included
Connection Check
- Verify a personal access token and inspect read/write/schema permissions before running a backup.
- Token is validated for structural completeness before any API call.
- Token is never stored, logged, or included in any result.
Backup
- Base selection — list all accessible bases for a token and select one to back up.
- Backup planning — preview tables, fields, record counts, and field compatibility classifications.
- Records export planning — generate a table ordering plan that respects linked record dependencies.
- Backup execution — write a
.airbridgeZIP package to a user-chosen local path.- Requires explicit file picker selection.
- Requires the exact confirmation text
CREATE BACKUPbefore any write. - Output path validation prevents path traversal, wrong extensions, and writes into existing directories.
- Token consumed per-operation and never stored.
- Cancellation supported mid-job.
- Attachment metadata — attachment metadata and URLs at time of backup are captured. Attachment file bytes are not downloaded. URLs may expire after backup.
Package Inspection
- Open any
.airbridgefile and review its contents without starting a restore. - Validate manifest integrity, schema consistency, checksum validity, and restore compatibility.
- Field compatibility report classifies each field as Restorable, Partially Restorable, Metadata Only, or Unsupported.
- Read-only: no files extracted, no token required, no Airtable API calls.
Restore Dry-Run and Planning (Read-Only — Writes Disabled)
All restore planning is read-only. No token is required. No Airtable API calls are made. No Airtable base, table, field, or record is created by any planning step.
- Restore dry-run — generate a restore plan preview: tables, field compatibility, record counts, ordering, and warnings.
- Restore schema creation plan — generate a full schema creation order from a dry-run result: table creation steps (ordered to satisfy linked record dependencies), field creation steps, deferred linked record fields, manual-action fields, and a dependency graph.
- Restore record import plan — generate a record import batch plan: per-table batch counts (batch size 10), field import policies, linked record second-pass update plans, attachment metadata policies, old-to-new record ID mapping strategy, per-table checkpoint plans, and retry policy.
- Restore execution gate — validates all preconditions (inspection status, dry-run plan, target mode, token presence, confirmation text
RESTORE BACKUP). When all gates pass, the command returnsreadyButDisabled. No Airtable writes are made. This gate confirms the pipeline is correctly wired; it does not enable execution. - Write engine preview — a six-phase pipeline preview (ValidateInputs, SchemaCreation, RecordCreation, LinkedRecordUpdates, AttachmentHandling, FinalValidation). All phases are disabled. No token required. No Airtable API calls.
- Schema write engine foundation — sequenced schema write request plan builder. No Airtable tables or fields created. Write gate always disabled.
- Record write engine foundation — sequenced record write request plan builder. No records created, updated, or deleted. No raw record payloads in any result. Write gate always disabled.
Credential Storage (Optional)
- Optional save of the Airtable Personal Access Token to the OS keychain (Settings → Saved Credentials).
- Token stored via OS credential store (macOS Keychain, Windows Credential Store, Linux Secret Service).
- Token never returned by any command. Token never in files, SQLite, localStorage, or logs.
- Saved token is not yet auto-retrieved for operations — users must still paste the token manually.
Local Activity History
- Recent operations (connection checks, backup jobs, restore attempts) shown on the Reports page.
- Safe summaries only: no tokens, no full paths, no record payloads, no attachment URLs.
- In-memory only; cleared on application restart.
Release Build Workflow
workflow_dispatch-only GitHub Actions release workflow builds Tauri on macOS, Linux, and Windows.- Artifacts uploaded as workflow run artifacts only. No GitHub release is created automatically.
What Is Intentionally Not Included
| Capability | Status | Note |
|---|---|---|
| Restore write execution | Disabled by policy | Gate complete; planning complete; live writes require product and security approval |
| Live schema writes | Disabled | Schema write request plan builder implemented; write gate always blocks execution |
| Live record writes | Disabled | Record write request plan builder implemented; write gate always blocks execution |
| Linked record second-pass execution | Disabled | Second-pass plans implemented; execution requires write engine |
| Attachment binary restore | Not implemented | Metadata and URLs backed up; file bytes not re-uploaded; binary restore is future work |
| Attachment binary download (backup) | Not implemented | Metadata-only policy; file bytes not downloaded at backup time |
| UI/Tauri live restore execution surface | Does not exist | No Tauri command, no UI button, no TypeScript path enables live restore |
| Credential auto-fill | Not implemented | Saved token not yet wired to operations |
| Job history persistence | Not implemented | In-memory only; SQLite persistence deferred |
| Streaming progress | Not implemented | Backup progress is polled; streaming deferred |
| Restore into non-empty bases | Blocked by design | Prevents destructive overwrites |
| Merge/overwrite restore | Not planned for v0.1 | Prevents data loss |
| Automations, interfaces, sharing settings | Not in scope | Not in v0.1 scope |
| System field restore (created time, etc.) | Not possible | Airtable API does not support writing system fields |
| macOS notarization | Not configured | Gatekeeper may warn on first launch |
| Windows code signing | Not configured | SmartScreen may warn on first launch |
Restore Safety Status
Restore execution is disabled. This is a deliberate product policy, not a missing implementation. The following invariants hold unconditionally in this version:
evaluate_write_gate()returnsDisabled/DisabledByProductPolicy— there is no enabled branch.RestoreWriteEngineStatus::Succeededdoes not exist in the type system.- No Tauri command, no UI surface, and no TypeScript path exposes live restore execution.
- App runtime reads, writes, and execution remain disabled.
noChangesMadeis alwaystruefor all restore planning commands.networkWritesAttemptedis alwaysfalsefor all planning commands.- No token, full path, record payload, raw HTTP body, old/new record IDs, or attachment URL is exposed by any restore planning command.
The restore release readiness snapshot (build_restore_release_readiness_snapshot) returns AlphaReadyRestoreRuntimeDisabled when all safety gates pass. This status does NOT mean user-facing restore execution is complete or approved. Runtime restore execution (RRRS-AREA-10), attachment handling (RRRS-AREA-11), and product/security approval (RRRS-AREA-12) remain disabled or pending in all cases.
Restore is best-effort schema reconstruction — not a perfect clone. When execution is eventually enabled, the intended restore target is a new or empty Airtable base. Restore does not support non-empty bases, merge, or overwrite in v0.1.
Known Limitations
See known-limitations.md for the full list. Key limitations:
- Restore write execution not yet enabled — all planning steps complete; live writes deferred.
- Attachment binary handling disabled — metadata and URLs captured at backup time only; file bytes not downloaded or re-uploaded; attachment URLs may expire.
- Credential auto-fill not implemented — saved keychain token not yet retrieved automatically.
- Job history is in-memory only — does not persist between application restarts.
- Computed field types (formula, rollup, lookup) must be recreated manually after any future restore.
- Old-to-new record ID mapping requires live execution — available only after first-pass record creation.
- No streaming backup progress — progress is polled.
- No automatic rate-limit retry — user must retry manually.
- Linked record second-pass updates are planned but not executed.
- Release build artifacts require smoke-testing on all platforms before any public distribution.
- macOS
.dmgis not notarized — Gatekeeper may warn on first launch. - Windows
.msiis not code-signed — SmartScreen may warn on first launch. greetTauri scaffold ...