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.
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
Change key validation endpoint from portal to API across all clients:
- C: Update PORTAL_BASE to API_BASE in validate_api_key()
- Python (sync/async): Change PORTAL_BASE to API_BASE
- Perl: Change $PORTAL_BASE to $API_BASE
- Rust (sync/async): Change hardcoded URL to api.unsandbox.com
All other languages (Go, Java, Kotlin, C#, Ruby, PHP, JavaScript) already
use their makeRequest() function with API_BASE, so no changes needed.
The key subcommand already exists and continues to work with the new endpoint.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Add `un languages [--json]` command to list available execution languages
- Add `un image` command with full image management:
- --list, --info, --delete, --lock, --unlock
- --publish, --visibility, --spawn, --clone
- Update CLI_SPEC.md with new command documentation
- All implementations follow consistent patterns
Complete SDK implementations with full API surface:
- Python: sync/async with all 43 functions
- Go: sync/async with full API
- Java: sync/async with full API
- JavaScript: sync/async with full API
- PHP: sync/async with full API
- Ruby: sync/async with full API
- Rust: sync/async with full API
Added:
- clients/README.md - SDK overview
- clients/CLI_SPEC.md - CLI specification
Removed:
- un_deno.ts (moved to clients/typescript/)
Add per-client Makefiles for C, Python, and Go with:
- CLI mode: Tests --help, arg parsing, syntax validation
- Library mode: Unit tests, import verification
- Integration mode: API contract validation (with credentials)
- Functional mode: Real-world scenario tests
C client:
- 22 library tests (SHA-256, HMAC-SHA256, detect_language)
- Full unsandbox.c implementation with examples
Python client (sync + async):
- Delegates to sync/ and async/ subdirectories
- pytest-based test suites with coverage
- Examples for concurrent execution, streaming
Go client:
- Delegates to sync/ and async/ subdirectories
- go test integration with vet and fmt
Also update detect-changes.sh to detect changes in
both root-level un.* files AND clients/ directory.
Add complete async Python SDK implementation with all 13 API functions using aiohttp:
- execute_code: Execute code asynchronously
- execute_async: Start async code execution
- get_job: Get job status
- wait_for_job: Poll job with exponential backoff (async)
- cancel_job: Cancel running job
- list_jobs: List all jobs
- get_languages: Get supported languages (1-hour cache)
- detect_language: Detect language from filename extension
- session_snapshot: Create session snapshot (NEW)
- service_snapshot: Create service snapshot (NEW)
- list_snapshots: List all snapshots (NEW)
- restore_snapshot: Restore from snapshot (NEW)
- delete_snapshot: Delete snapshot (NEW)
Features:
- Full async/await support with aiohttp
- 4-tier credentials resolution
- HMAC-SHA256 authentication
- Exponential backoff polling with asyncio.sleep
- Languages cache (1-hour TTL)
- Type hints and comprehensive docstrings