b1b2c14d86
Add --account N flag and fix credential priority in C#, dotnet, Swift
...
All three implementations had a defect where UNSANDBOX_PUBLIC_KEY/
UNSANDBOX_SECRET_KEY env vars were checked before --account N, making
it impossible to select a specific accounts.csv row when env vars exist.
Correct priority order now enforced:
1. Explicit -p/-k flags
2. --account N -> accounts.csv row N (bypasses env vars)
3. UNSANDBOX_PUBLIC_KEY / UNSANDBOX_SECRET_KEY env vars
4. ~/.unsandbox/accounts.csv row 0 (or UNSANDBOX_ACCOUNT env var)
5. ./accounts.csv row 0
Changes per file:
- clients/csharp/sync/src/Un.cs: add LoadAccountsCSV(), rewrite
GetApiKeys() with correct tier ordering, add Account=-1 to Args,
parse --account N, update all GetApiKeys call sites
- clients/dotnet/sync/src/Un.cs: same as above (top-level stmt style)
- clients/swift/sync/src/un.swift: reorder resolveCredentials() tiers,
add accountIndex to CLIArgs, parse --account N, pass to entry point
Also create un.swift symlink at repo root (parallel to Un.cs symlink).
2026-03-23 16:02:50 -04:00
369f3aa39d
Support -f on service create and redeploy across all SDKs
...
Add input_files support to service redeploy for all 12 SDK
implementations that have service commands. Files passed via -f are
read, base64-encoded, and sent as input_files in the JSON payload.
Service create also gains -f support where it was missing.
Updated: bash, cpp, csharp, dotnet, go, java, javascript, perl,
php, ruby, rust, typescript
2026-03-02 06:13:43 -05:00
e364ba3ae1
chore: Bump version to 4.3.4
2026-02-14 09:48:36 -05:00
5127f1a019
chore: bump version to 4.3.3
2026-02-08 13:18:17 -05:00
39564b2acc
chore: bump version to 4.3.2
2026-02-08 13:18:01 -05:00
707fcbc7b7
chore: bump version to 4.3.1
...
CI/CD fixes release:
- Lint script now finds SDKs in clients/ directory structure
- Perl lint gracefully skips when modules missing
- Python examples exit 0 when API keys missing (CI-friendly)
- validate-examples.sh race condition fixed
2026-02-08 06:01:34 -05:00
e6f8f289db
chore: bump version to 4.3.0
...
Full feature parity release - all 42 SDKs now implement:
- Complete API coverage (58+ functions matching un.h spec)
- HTTP 428 sudo OTP challenge handling
- Comprehensive unit, integration, and functional tests
2026-02-06 07:28:13 -05:00
6e746ace44
feat: full feature parity for all 42 SDKs + comprehensive tests
...
All SDKs now implement 58+ functions matching C reference (un.h):
- Execution (8): execute, execute_async, wait_job, get_job, cancel_job, list_jobs, get_languages, detect_language
- Sessions (9): list, get, create, destroy, freeze, unfreeze, boost, unboost, execute
- Services (17): list, get, create, destroy, freeze, unfreeze, lock, unlock, set_unfreeze_on_demand, redeploy, logs, execute, env_get/set/delete/export, resize
- Snapshots (9): list, get, session, service, restore, delete, lock, unlock, clone
- Images (13): list, get, publish, delete, lock, unlock, set_visibility, grant/revoke_access, list_trusted, transfer, spawn, clone
- PaaS Logs (2): fetch, stream
- Utilities (5): validate_keys, hmac_sign, health_check, version, last_error
Test suites created for all SDKs with unit, integration, and functional tests.
Languages: AWK, Bash, C++, C#, Clojure, COBOL, Crystal, D, Dart, .NET, Elixir, Erlang, F#, Forth, Fortran, Go, Groovy, Haskell, Java, JavaScript, Julia, Kotlin, Lisp, Lua, Nim, Objective-C, OCaml, Perl, PHP, PowerShell, Prolog, Python, R, Raku, Ruby, Rust, Scheme, Swift, Tcl, TypeScript, V, Zig
2026-02-05 16:45:02 -05:00
a5155aed4f
feat: add HTTP 428 sudo OTP handling to all 42 SDK implementations
...
When destructive operations (service/snapshot/image destroy/unlock) receive
HTTP 428 Precondition Required, the SDK now:
1. Extracts challenge_id from the JSON response
2. Prompts: 'Confirmation required. Check your email for a one-time code.'
3. Reads OTP from stdin
4. Retries with X-Sudo-OTP and X-Sudo-Challenge headers
Languages updated: AWK, Bash, C++, C#, Clojure, COBOL, Crystal, D, Dart,
.NET, Elixir, Erlang, F#, Forth, Fortran, Go, Groovy, Haskell, Java,
JavaScript, Julia, Kotlin, Lisp, Lua, Nim, Objective-C, OCaml, Perl, PHP,
PowerShell, Prolog, Python, R, Raku, Ruby, Rust, Scheme, Swift, Tcl,
TypeScript, V, Zig
2026-02-05 16:23:19 -05:00
6d15dbdb16
chore: bump version to 4.2.50
2026-01-29 18:40:49 -05:00
a28e1e5cc0
chore: bump version to 4.2.49
2026-01-29 16:15:12 -05:00
24277e2d92
chore: bump version to 4.2.48
2026-01-29 15:56:14 -05:00
93224fd60a
chore: bump version to 4.2.46
2026-01-29 15:20:02 -05:00
8cf3276f77
chore: bump version to 4.2.45
2026-01-29 13:25:36 -05:00
2330a05518
chore: bump version to 4.2.44
2026-01-29 12:40:44 -05:00
271cfb71e7
chore: bump version to 4.2.43
2026-01-29 12:03:18 -05:00
8feba9b21b
chore: bump version to 4.2.42
2026-01-29 11:53:57 -05:00
fefdd7c811
chore: bump version to 4.2.40
2026-01-29 10:41:22 -05:00
fbc998a750
chore: bump version to 4.2.39
2026-01-29 09:46:16 -05:00
c7d1fe14cd
chore: bump version to 4.2.37
2026-01-29 08:21:04 -05:00
092c88cab1
chore: bump version to 4.2.36
2026-01-28 18:40:21 -05:00
ee43329a55
chore: bump version to 4.2.35
2026-01-28 18:33:17 -05:00
0db0c9be22
chore: bump version to 4.2.34
2026-01-28 18:26:23 -05:00
6997552307
chore: bump version to 4.2.31
2026-01-28 17:04:02 -05:00
15f37c8acc
chore: bump version to 4.2.29
...
Test QR code functional tests with updated container image.
2026-01-28 15:32:42 -05:00
eeb1dcb3dc
feat: add --show-freeze-page and --no-show-freeze-page CLI flags
...
Add CLI support for toggling the show_freeze_page service setting,
which controls whether frozen services display an HTML payment page
or return a JSON error response.
Updated 18 SDK implementations + CLI_SPEC.md documentation.
2026-01-25 04:28:24 -05:00
919890bbbd
chore: bump version to 4.2.28
2026-01-24 18:17:07 -05:00
14c50efff6
chore: bump version to 4.2.27
2026-01-24 18:16:56 -05:00
2648d4ccf9
chore: bump version to 4.2.26
2026-01-24 15:56:49 -05:00
affa90abef
chore: bump version to 4.2.25
2026-01-24 15:56:38 -05:00
cdd7cf714b
chore: bump version to 4.2.24
2026-01-24 13:47:09 -05:00
05fd8ba415
chore: bump version to 4.2.23
2026-01-24 13:46:54 -05:00
bc3af266bc
chore: bump version to 4.2.22
...
Consolidate dotnet SDK with sync/async implementations and add CI testing.
Move API and portal off pool to prevent failover when cammy is loaded.
2026-01-24 11:54:56 -05:00
b0c9fd51ad
ci: add separate CI jobs for C# (Mono) and .NET 10
...
- Add csharp job: builds with Mono, tests sync version
- Add dotnet job: builds both sync and async with .NET 10
- Update clients/dotnet/Makefile to support sync and async builds
- Update clients/csharp/Makefile to remove reference to deleted dotnet folder
- Add both to summary job dependencies
2026-01-23 17:42:03 -05:00
fe980a5dad
refactor: consolidate dotnet implementations and add full CLI spec
...
- Remove misplaced clients/csharp/dotnet/ (was duplicate in wrong location)
- Add clients/dotnet/async/ with async/await implementation (1111 lines)
- Update clients/dotnet/sync/ with blocking HttpClient.Send (1096 lines)
- Both versions now implement complete CLI spec:
- execute, session, service, service env, key (existing)
- snapshot command (list, info, delete, lock, unlock, clone)
- image command (list, info, delete, lock, unlock, publish, visibility, spawn, clone)
- languages command with 1-hour cache
- Added session options: freeze, unfreeze, boost, unboost, snapshot
- Added service options: lock, unlock, resize, redeploy, snapshot, bootstrap-file
2026-01-23 17:39:53 -05:00
7e56327056
feat: add unfreeze_on_demand to remaining 35 SDKs
...
Updated awk, bash, clojure, cobol, cpp, crystal, csharp, dart, dotnet,
d, elixir, erlang, fortran, fsharp, groovy, haskell, julia, kotlin,
lisp, lua, nim, objective-c, ocaml, perl, php (sync+async), powershell,
prolog, raku, r, scheme, swift, tcl, v, and zig SDKs:
- Add set_unfreeze_on_demand function (PATCH /services/:id)
- Add --unfreeze-on-demand flag for service creation
- Add --set-unfreeze-on-demand command for existing services
2026-01-22 17:01:19 -05:00
04060aa4da
feat: add .NET 10 CLI implementation
...
- Single-file Un.cs using modern C# features
- Top-level statements, HttpClient, System.Text.Json
- Full feature parity with Mono version (648 lines vs 1260)
- Supports execute, session, service, service env, key commands
2026-01-22 16:36:38 -05:00