Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 4 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -147,14 +147,9 @@ apw login https://example.com
Machine-readable build metadata is available via `apw version` and
`apw version --json`.

Legacy migration commands remain available in the repo:

```bash
apw start
apw auth
apw pw
apw host doctor --json
```
Legacy daemon commands (`apw start`, `apw auth`, `apw pw`, and `apw otp`) have
been removed from the active CLI contract. Use `apw app launch`,
`apw login <url>`, `apw fill <url>`, and `apw doctor` for supported v2 flows.

`apw otp` has no v2 replacement and is removed from the Rust CLI. See
[`docs/MIGRATION_AND_PARITY.md`](docs/MIGRATION_AND_PARITY.md) for the
Expand All @@ -174,7 +169,7 @@ Security and release validation guidance:

## Repository layout

- [`rust/`](rust/): supported CLI, legacy daemon, migration scaffolding, and packaging target
- [`rust/`](rust/): supported CLI, app-broker migration scaffolding, and packaging target
- `native-app/`: v2 bootstrap macOS app bundle and local broker service
- `native-host/`: legacy macOS companion host from the parity line
- [`browser-bridge/`](browser-bridge/): legacy bridge retained only during migration
Expand Down
22 changes: 9 additions & 13 deletions docs/MIGRATION_AND_PARITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,27 +11,22 @@ Release reference version: `v2.0.0`
- Supported v2 implementation: [`rust/`](../rust/) + `native-app/`
- Archived implementation: [`legacy/deno/`](../legacy/deno/)
- Packaging, release, fixes, and hardening land in the Rust CLI and native app
- Legacy daemon/browser-helper code remains in-tree for migration only
- Legacy daemon commands (`apw start`, `apw auth`, and `apw pw`) emit runtime
deprecation warnings and are targeted for removal in `v2.1.0`.
- `apw otp` has already been removed from the Rust CLI. There is no v2
replacement.
- Legacy daemon/browser-helper code that remains in-tree is migration-only and
is no longer exposed through the active CLI contract

## Planned removals
## Removed commands

The following CLI subcommands are part of the legacy daemon path and are
scheduled for removal in **v2.1.0**. As of `v2.0.0` they emit a one-line
stderr deprecation warning at startup (suppressed in `--json` mode) and
their `--help` output is prefixed with a `DEPRECATED:` banner. (issue #9)
The following legacy daemon CLI subcommands were removed from the active Rust
CLI for the `v2.1.0` cliff:

| Subcommand | Replacement |
| ------------ | ---------------------------- |
| `apw start` | `apw app launch` |
| `apw pw` | `apw login` / `apw fill` |
| `apw auth` | (no v2 replacement; v2 broker is app-mediated) |

Operators with scripts pinned to these commands should migrate before
upgrading to v2.1.0.
Operators with scripts pinned to these commands must migrate before upgrading to
v2.1.0.

## OTP no-go decision

Expand Down Expand Up @@ -81,7 +76,8 @@ cargo clippy --manifest-path rust/Cargo.toml --all-targets -- -D warnings
cargo test --manifest-path rust/Cargo.toml --all-targets
```

Legacy parity harness:
Legacy parity harness for retained status-shape compatibility and removed-command
regression coverage:

```bash
cargo test --manifest-path rust/Cargo.toml --test legacy_parity
Expand Down
22 changes: 11 additions & 11 deletions docs/NATIVE_MIGRATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,16 @@ browser-helper vault reader flow.

| Legacy command | v2 status | Replacement |
| --- | --- | --- |
| `apw auth` | legacy-only | `apw app launch` then `apw login <url>` |
| `apw auth request` | legacy-only | no direct replacement |
| `apw auth response` | legacy-only | no direct replacement |
| `apw pw list` | legacy-only | no replacement in v2 |
| `apw pw get <url> <username>` | legacy-only | `apw login <url>` |
| `apw otp list` | removed | no replacement in v2 |
| `apw otp get <url>` | removed | no replacement in v2 |
| `apw auth` | removed in v2.1.0 | `apw app launch` then `apw login <url>` |
| `apw auth request` | removed in v2.1.0 | no direct replacement |
| `apw auth response` | removed in v2.1.0 | no direct replacement |
| `apw pw list` | removed in v2.1.0 | no replacement in v2 |
| `apw pw get <url> <username>` | removed in v2.1.0 | `apw login <url>` |
| `apw otp list` | removed in v2.1.0 | no replacement in v2 |
| `apw otp get <url>` | removed in v2.1.0 | no replacement in v2 |
| `apw status` | supported | `apw status --json` now reports app/broker readiness |
| `apw host doctor` | legacy-only | `apw doctor` |
| `apw start` | legacy-only | `apw app launch` |
| `apw start` | removed in v2.1.0 | `apw app launch` |

## Bootstrap Flow

Expand All @@ -34,9 +34,9 @@ browser-helper vault reader flow.
- `v1.x` remains the historical parity line for browser-helper behavior.
- The v2 bootstrap currently supports one demo associated domain:
`https://example.com`
- Legacy `auth` and `pw` commands remain in the repo for migration and
reference, but they are no longer the primary contract.
- `apw otp` is removed from the Rust CLI. Apple's public
- Legacy `auth`, `pw`, `otp`, and `start` commands are no longer available in
the active CLI. The archived parity line remains under `legacy/`.
- Apple's public
AuthenticationServices path supports app-mediated password credentials for
sign-in and OTP AutoFill provider extensions that supply codes to the system;
it does not provide an APW-style API for a CLI to retrieve arbitrary
Expand Down
8 changes: 4 additions & 4 deletions docs/NATIVE_ONLY_REDESIGN.md
Original file line number Diff line number Diff line change
Expand Up @@ -145,11 +145,11 @@ Requirements:
| `apw auth request` | remove | private-helper flow goes away |
| `apw auth response` | remove | private-helper flow goes away |
| `apw pw list` | remove | unsupported as a vault-wide native API contract |
| `apw pw get <domain> <username>` | deprecate then replace | map to `apw login https://<domain>` |
| `apw otp list` | removed | no v2 replacement; public Apple APIs do not expose arbitrary CLI retrieval |
| `apw otp get` | removed | no v2 replacement; public Apple APIs do not expose arbitrary CLI retrieval |
| `apw pw get <domain> <username>` | remove | use `apw login https://<domain>` |
| `apw otp list` | remove | unsupported until proven otherwise |
| `apw otp get` | remove | unsupported until a native verification-code path is proven |
| `apw status` | keep | report app/XPC/entitlement readiness |
| `apw start` | remove or repurpose | native app launch replaces daemon start |
| `apw start` | remove | native app launch replaces daemon start |

## Implementation phases

Expand Down
Loading
Loading