Commit graph

59 commits

Author SHA1 Message Date
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
4e4ae3c911 fix: add shebangs to async SDK implementations
Add #!/usr/bin/env interpreter lines to async SDKs for portability:
- Python: #!/usr/bin/env python3
- JavaScript: #!/usr/bin/env node
- Ruby: #!/usr/bin/env ruby
- PHP: #!/usr/bin/env php
2026-01-29 06:09:44 -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
ab70e8b508 fix(tests): remove soft passes - tests must never lie
SCIENTIFIC INTEGRITY: Tests now retry transient errors (429, 5xx,
timeouts) with exponential backoff instead of falsely passing.

Prior to this fix, ~35% of 'passing' tests were masked failures.
Now tests will PASS (verified), FAIL (couldn't verify), or SKIP.
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
ad9394fd27 fix: use correct -o flag for aggregate script in CI 2026-01-23 16:04:28 -05:00
3f73bf6203 fix: skip null rows when parsing pool metrics CSV 2026-01-23 15:28:20 -05:00
6d4b0aab2e fix: stop pool metrics collector when tests finish to avoid skewed averages 2026-01-23 15:05:07 -05:00
08dbc8ff75 chore: bump version to 4.2.18 2026-01-23 10:42:50 -05:00
3acc781016 fix: exec_sdk_inception now properly executes SDK file instead of path as code 2026-01-23 10:04:57 -05:00
b3c3957346 fix: add go compiler error patterns (expected/package/found) 2026-01-23 10:03:56 -05:00
84d012dcfe Remove localStorage fallback - vault only for credentials 2026-01-23 09:52:56 -05:00
638f6c01f4 fix: add JVM exception patterns for groovy flakiness 2026-01-23 09:52:19 -05:00
0b618bd94e Add UnsandboxVault to sync SDK with external vault support
- Add UnsandboxVault for encrypted credential storage (browser only)
- Update loadCredentialsFromStorage() with 3-tier priority:
  1. UnsandboxVault (own encrypted vault)
  2. External vaults (window.UncloseVault for uncloseai.com)
  3. Plain localStorage (legacy fallback)
- Export UnsandboxVault in both named and default exports
- Makes window.UnsandboxVault available globally in browser
2026-01-23 09:46:20 -05:00
e0bb0cb6bb chore: bump version to 4.2.14 2026-01-23 09:26:25 -05:00
f7ad5d4d25 chore: bump version to 4.2.13 2026-01-23 08:57:51 -05:00
2e44723e8e Make async JS SDK isomorphic (Node.js + Browser)
- Add environment detection (IS_BROWSER, IS_NODE)
- Use top-level await for conditional Node.js imports
- Make signRequest async/isomorphic (Node crypto vs Web Crypto API)
- Add loadCredentialsFromStorage() for browser localStorage support
- Update resolveCredentials() with 5-tier priority including localStorage
- Add IS_NODE guards to file-system dependent functions
- Guard CLI entry point to prevent browser errors
- Update header docs with browser usage instructions

All 71 existing tests pass.
2026-01-23 08:53:00 -05:00
66d5cd0818 chore: bump version to 4.2.12 2026-01-23 08:20:47 -05:00
3b843c5099 chore: bump version to 4.2.10 2026-01-23 06:35:46 -05:00
0251e66249 chore: bump version to 4.2.9 2026-01-23 04:52:39 -05:00
bc80b16e82 chore: bump version to 4.2.8 2026-01-23 04:51:56 -05:00
3360422575 chore: bump version to 4.2.7 2026-01-23 04:27:31 -05:00
e58adcd5fe feat: add unfreeze_on_demand support to all SDKs
Updated Python, JavaScript, Go, Rust, Ruby, Java, and TypeScript SDKs:
- Add unfreeze_on_demand field to Service struct/class
- Add setUnfreezeOnDemand function to toggle setting via PATCH /services/:id
- Add unfreeze_on_demand parameter to createService function
2026-01-22 16:40:36 -05:00
27e3ee5ffa chore: Bump version to 4.2.5 2026-01-19 14:02:38 -05:00
4b602b8174 chore: Add set-version script and update all clients to 4.2.0
- Add scripts/set-version.sh to update version in all source files
- Add make set-version VERSION=X.Y.Z target
- Updated 11 files: VERSION, C, Python, Lua, Perl, Groovy, JS, Rust
2026-01-18 13:09:10 -05:00