Skip to content

Changelog

This page summarizes notable changes. The full, authoritative changelog lives in CHANGELOG.md at the repository root. The format follows Keep a Changelog and the project adheres to Semantic Versioning.

[1.0.13] - 2026-06-08

Fixed

  • Intermittent KeyError: <stream_id> crashes under concurrent load. HTTP/2 is now disabled — httpcore's sync HTTP/2 stream bookkeeping is not thread-safe when a Client is shared across polling threads. The HTTP/1.1 connection pool is thread-safe and sufficient.

[1.0.12] - 2026-05-06

Changed (Breaking — server-side)

  • Job priority is now an integer in [0, 100] (higher = scheduled first). BaseCall.priority defaults to 10; JobDetails.priority is now int.
  • Added priority constants: PRIORITY_LOW (5), PRIORITY_DEFAULT (10), PRIORITY_HIGH (20), PRIORITY_MIN (0), PRIORITY_MAX (100).
  • Legacy string priorities ("low", "standard", "high", …) are still accepted on the client and normalized to ints before submission.

[1.0.11] - 2026-04-13

Added

  • ContainerJob — run arbitrary Docker containers (image, command, env vars, GPU, memory/CPU limits, file attachment, scheduling hints).
  • WorkerJob — a ContainerJob subclass that zips a local project folder (containing setup_run.sh), uploads it, and runs it as a streaming container with internet access.

[1.0.10] - 2026-04-01

Added

  • End-to-end encryption — opt-in payload/result encryption via client.send_job(job, encrypt=True), backed by EncryptionManager (hybrid RSA-4096 / AES-256-GCM). Adds the EncryptionError exception and the optional cryptography dependency (pip install "microdc-client[encryption]").

[1.0.0] - 2025-11-04

Added

  • Initial release: Client, job types (LLMComplete, LLMChat, LLMEmbed, DocumentCall), callback-based async with background polling, file upload and download-token management, automatic retries, and full type hints.