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).
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
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.
- 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
- Add dotnet/ directory with modern .NET 10 implementation
- Use HttpClient, async/await, and System.Text.Json
- Update Makefile to build both Mono and .NET versions
- Add comprehensive README documenting differences
- Both versions now supported in unsandbox-ubuntu container