All notable changes to the conversiontools package are documented here.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Release announcements with extended notes also live at https://github.com/conversiontools/conversiontools-node/releases.
2.1.0 - 2026-05-20
- Streaming upload.
FilesAPI.upload()now sends the file as a chunkedmultipart/form-databody and no longer buffers the entire payload in memory. Safe for arbitrarily large files; eliminates the OOM cliff previous versions hit at ~200 MB. HttpClient.postStream(path, body, contentType, extraHeaders?)— new public method for streaming POSTs. Skips the retry wrapper because a consumedReadableStreambody cannot be replayed.- New named exports:
buildMultipartStream,sanitizeFilename. - Optional
type?: stringfield onTaskStatusResponseto match the new API response shape (api 1.38.5+).
client.getTask(id)no longer hardcodestask.type = "". When the API returnstype(api 1.38.5+), it is populated on the returnedTaskinstance. Older API deployments still fall back to"".
- Upload retries: prior versions could retry an upload up to 3 times after
transient network failures because the body was a fully-buffered
FormData. Streamed uploads cannot be replayed, so a failed upload now surfaces the error immediately. Non-upload operations retain the existing retry behaviour (3 retries, exponential backoff on 408/500/502/503/504).
- 12 new tests cover streaming behaviour: binary byte preservation, chunk boundaries, large-input streaming (no buffering), source-stream error propagation, sanitized filename, multipart envelope structure.
2.0.4 - 2026-03-31
- Update dependencies (minimatch, rollup, flatted, picomatch).
2.0.3 - 2026-02-21
onProgresscallback indownloadTo()— track download progress withloaded,total,percentevents.onDownloadProgressconfig option now wired throughconvert()→task.downloadTo().
- SDK version in the
User-Agentheader is now injected at build time frompackage.json(previously hardcoded as2.0.0).
2.0.2 - 2026-02-21
- Config option to override the User-Agent.
2.0.1 - 2025-12-02
- Dependency bumps (glob and others).
2.0.0 - 2025-11-12
- Complete rewrite with full TypeScript support (typed methods + options).
- Native ESM + CommonJS dual module support.
- Streaming download via
task.downloadStream()/task.downloadTo(). - Real-time progress callbacks (upload, conversion, download).
- Smart retry with exponential backoff for transient failures.
- Modern stack: native
fetch, Node 18+, zero heavy dependencies. - Webhook support for async task completion notifications.
- Sandbox mode (
sandbox: true) for testing without consuming quota. - Typed error classes for specific failure modes.