Reference
Changelog
All notable changes to the CaseForge SDK, in reverse chronological order. Breaking changes are marked Breaking. Deprecated features are marked Deprecated.
Upgrading from v1.x?
The v2.0 release contains breaking changes to authentication, the case model, and the exception hierarchy. See the migration guide for a step-by-step upgrade path.
v2.0.0
March 2026
Major release
-
Breaking
Authentication:
api_keyparameter renamed to match environment variable (api_key=still works but logs a deprecation warning). OAuth 2.0 client credentials are now the recommended auth method for production — see the authentication guide. -
Breaking
Case model:
case.typerenamed tocase.case_type(Python) /case.caseType(Node.js) to avoid shadowing Python's built-intype. All serialized JSON usescase_type. -
Breaking
Exception hierarchy:
CaseForgeAPIErrorrenamed toAPIError.CaseForgeRateLimitErrorrenamed toRateLimitError. All exceptions now live undercaseforge.exceptions(Python) or the root module (Node.js). -
Breaking
cases.list()now returns an iterable object instead of a plain list. Uselist(cases)in Python or spread ([...cases]) in Node.js if you need random access. -
New
SAR filing API:
client.sars.create()andclient.sars.submit()— structured FinCEN Form 111 field mapping with server-side validation. -
New
Watchlist screening:
client.watchlists.screen()— screen entities against all active watchlists in a single call, with confidence scoring. -
New
Transaction search:
client.transactions.search()— full-text and field-level search across a subject's transaction history. -
New
Idempotency key support on all write operations. Pass
idempotency_key=(Python) oridempotencyKey:(Node.js) to make retries safe. -
New
TypeScript: Full type definitions are now bundled with the Node.js package.
@types/caseforgeis no longer needed. -
Fixed
Pagination:
cases.list()cursor pagination no longer skips the last item on page boundaries whenlimitis an exact multiple of the page size.
v1.3.0
February 2026
-
New
Built-in retry logic for 429 and 503 responses. Configure with
max_retries=(default: 2) andretry_backoff_factor=(default: 0.5). -
New
Case history endpoint:
client.cases.history(case_id)returns a full audit trail of status changes, notes, and assignments. -
Deprecated
client.cases.fetch()is deprecated. Useclient.cases.get()instead.fetch()will be removed in v2.0. - Fixed Node.js: Fix a race condition in token refresh where two concurrent requests could both attempt to acquire a new OAuth token simultaneously.
-
Fixed
Python:
ValidationError.paramnow correctly returnsNoneinstead of raisingAttributeErrorwhen the error is not field-specific.
v1.2.1
January 2026
Patch
-
Fixed
Python:
cases.create()raised aKeyErrorwhen the API response did not include the optionalassigned_tofield. The field now defaults toNone. -
Fixed
Node.js:
timeoutconfiguration value was ignored when using OAuth authentication. Timeout is now applied to both the token request and the subsequent API call.
v1.2.0
January 2026
-
New
Case tagging:
cases.create()andcases.update()now accept atagslist for classification and search filtering. -
New
Bulk case closure:
client.cases.close_bulk(case_ids, resolution=)closes up to 100 cases in a single API call. -
Fixed
Python: Resolved a
UnicodeDecodeErrorwhen case summaries contained non-ASCII characters in the response body on Windows.
v1.1.0
December 2025
-
New
Case assignment:
cases.assign(case_id, analyst_id)andcases.unassign(case_id)— dedicated methods for queue management. - New Python: The SDK now supports Python 3.9, 3.10, 3.11, and 3.12. Python 3.8 is no longer supported.
-
Fixed
Requests to paginated list endpoints no longer include a redundant
offset=0query parameter on the first page.
v1.0.0
November 2025
Initial release
- NewInitial SDK release for Python 3.9+ and Node.js 18+.
- NewCase management: create, get, list, update, and close cases.
- NewSubject management: create and retrieve subject profiles.
- NewAPI key authentication with environment variable support.
- NewFull typed exception hierarchy with
request_idon every error for support escalation.