@otalan/cli 1.4.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/README.md +32 -3
- package/dist/bin.js +51 -48
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,28 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `@otalan/cli` will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## 1.5.0 - 2026-05-23
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- Add `otalan channels` to print the resolved organization/project context and list project release channels with their apps from `GET /v1/releases/channels`; it supports `--app-id`, and interactive runs default to `All` before optionally filtering by app.
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
|
|
13
|
+
- Document Expo SDK 56 as officially supported.
|
|
14
|
+
|
|
15
|
+
### Fixed
|
|
16
|
+
|
|
17
|
+
- Avoid Bun worker ZIP compression failures when packaging large Expo export assets.
|
|
18
|
+
|
|
19
|
+
## 1.4.1 - 2026-05-22
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
|
|
23
|
+
- Hide interactive OTA Publish Key input during `otalan login` and validate credentials before saving them.
|
|
24
|
+
- Surface skipped duplicate-bundle checks, non-JSON API error bodies, and truncated bundle table cells more clearly.
|
|
25
|
+
- Harden direct uploads, argument parsing, global config permissions, Expo CLI resolution, and Expo runtime metadata scanning.
|
|
26
|
+
|
|
5
27
|
## 1.4.0 - 2026-05-22
|
|
6
28
|
|
|
7
29
|
### Changed
|
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@ Published as an npm package, but the CLI itself runs on Bun.
|
|
|
9
9
|
## Requirements
|
|
10
10
|
|
|
11
11
|
- Bun `>= 1.3.11` installed and available on your `PATH`
|
|
12
|
-
- An Otalan **OTA Publish Key
|
|
12
|
+
- An Otalan **OTA Publish Key**, generated from the Otalan Dashboard, for commands that talk to the Otalan API
|
|
13
13
|
|
|
14
14
|
Otalan key prefixes are stable API identifiers:
|
|
15
15
|
|
|
@@ -31,7 +31,7 @@ The npm package ships a Bun-based CLI entrypoint, not standalone native binaries
|
|
|
31
31
|
Officially supported app targets and versions:
|
|
32
32
|
|
|
33
33
|
- Capacitor 7 and 8 with `--target capacitor`
|
|
34
|
-
- Expo SDK 54 and
|
|
34
|
+
- Expo SDK 54, 55, and 56 with `--target expo`
|
|
35
35
|
|
|
36
36
|
Other app targets and older framework versions may work, but they are not officially supported for the moment.
|
|
37
37
|
|
|
@@ -339,7 +339,7 @@ otalan bundle --target expo --platform ios
|
|
|
339
339
|
|
|
340
340
|
Current behavior:
|
|
341
341
|
|
|
342
|
-
- Official support covers Capacitor 7 and 8, and Expo SDK 54 and
|
|
342
|
+
- Official support covers Capacitor 7 and 8, and Expo SDK 54, 55, and 56
|
|
343
343
|
- Other app targets and older framework versions may work, but they are not officially supported for the moment
|
|
344
344
|
- Capacitor packages prebuilt web assets; it does not run your app build command
|
|
345
345
|
- without `--input-dir`, Capacitor checks `dist/` first and then `www/`
|
|
@@ -362,6 +362,8 @@ Runtime version defaults:
|
|
|
362
362
|
- Expo runtimeVersion reads `--runtime-version`, Expo export metadata, or Expo config runtimeVersion policies/strings; if none are present, the CLI falls back to the selected platform Expo `version`
|
|
363
363
|
- `--runtime-version` overrides auto-detection
|
|
364
364
|
|
|
365
|
+
Native project file parsing is best-effort. If your `Info.plist`, Xcode build settings, or Gradle files use patterns the CLI cannot read, pass `--runtime-version` explicitly.
|
|
366
|
+
|
|
365
367
|
For Expo projects, the recommended app config is:
|
|
366
368
|
|
|
367
369
|
```json
|
|
@@ -429,6 +431,7 @@ Current behavior:
|
|
|
429
431
|
- `--release-notes` attaches release notes to the published bundle
|
|
430
432
|
- Expo publish forwards the full generated Otalan satellite manifest when present
|
|
431
433
|
- Expo publish sends the generated manifest with `runtimeVersion`
|
|
434
|
+
- Expo manifests include the Expo config captured from `bunx expo config --json`; avoid placing secrets in Expo config fields that are not intended to be uploaded
|
|
432
435
|
- Otalan validates the release ZIP before the publish completes
|
|
433
436
|
- active rollouts can be paused and resumed later without changing the selected bundle
|
|
434
437
|
|
|
@@ -463,6 +466,32 @@ The ZIP is opened as a disk-backed `Bun.file` and passed directly to the returne
|
|
|
463
466
|
|
|
464
467
|
If validation fails, `otalan publish` exits non-zero and prints the ingest failure reason when the API provides one. This makes the command safe to use directly in CI/CD pipelines.
|
|
465
468
|
|
|
469
|
+
### `otalan channels`
|
|
470
|
+
|
|
471
|
+
Prints the resolved organization/project context, then lists distinct release channels for the project resolved from the configured OTA Publish Key. This command does not require `otalan init`.
|
|
472
|
+
|
|
473
|
+
```bash
|
|
474
|
+
otalan channels
|
|
475
|
+
otalan channels --app-id com.example.app
|
|
476
|
+
```
|
|
477
|
+
|
|
478
|
+
When `--app-id` is omitted in an interactive terminal, the CLI prompts for an app filter with `All` selected by default. Non-interactive runs default to `All`.
|
|
479
|
+
|
|
480
|
+
The command uses `GET /v1/releases/channels`, optionally with `?appId=...`, and prints each returned channel with the apps that use it:
|
|
481
|
+
|
|
482
|
+
```json
|
|
483
|
+
{
|
|
484
|
+
"items": [
|
|
485
|
+
{
|
|
486
|
+
"channel": "production",
|
|
487
|
+
"apps": [
|
|
488
|
+
{ "appId": "com.example.app", "name": "Example App" }
|
|
489
|
+
]
|
|
490
|
+
}
|
|
491
|
+
]
|
|
492
|
+
}
|
|
493
|
+
```
|
|
494
|
+
|
|
466
495
|
### `otalan bundles`
|
|
467
496
|
|
|
468
497
|
Lists remote bundles for the current app so you can choose a bundle for rollback or rollout operations.
|