Changelog
Stay up to date with the latest changes to Cohera SDKs, APIs, and tools.
March 2025
Section titled “March 2025”v2.4.0 - March 1, 2025
Section titled “v2.4.0 - March 1, 2025”SDKs: Python, TypeScript, CLI
New Features
Section titled “New Features”- GraphQL Support (Beta) - Query the Cohera API using GraphQL for flexible, efficient data fetching
- Batch Operations - Create, update, or delete multiple resources in a single request
- Improved Pagination - New cursor-based pagination for better performance on large datasets
Improvements
Section titled “Improvements”- Python SDK: Added support for Python 3.13
- TypeScript SDK: Reduced bundle size by 35%
- CLI: Added
--dry-runflag for all write operations
Bug Fixes
Section titled “Bug Fixes”- Fixed race condition in async certificate uploads
- Resolved timezone handling in expiry date comparisons
- Fixed memory leak in long-running webhook handlers
Migration Guide
Section titled “Migration Guide”No breaking changes. Update your dependencies:
# Pythonpip install --upgrade cohera
# TypeScriptnpm update @cohera/sdk
# CLInpm update -g @cohera/cliFebruary 2025
Section titled “February 2025”v2.3.0 - February 15, 2025
Section titled “v2.3.0 - February 15, 2025”SDKs: Python, TypeScript
New Features
Section titled “New Features”- Webhook Signature Verification - Built-in helpers for verifying webhook signatures
- Retry Configuration - Configure retry behavior per-request
- Request Tracing - Add custom trace IDs for debugging
Breaking Changes
Section titled “Breaking Changes”Before:
client.webhooks.list()After:
client.events.list()Improvements
Section titled “Improvements”- Added
includeparameter to allgetmethods for eager loading - Improved error messages with actionable suggestions
- Added request/response logging in debug mode
v2.2.1 - February 5, 2025
Section titled “v2.2.1 - February 5, 2025”SDKs: Python, TypeScript, CLI
Bug Fixes
Section titled “Bug Fixes”- Fixed authentication header not being sent in some edge cases
- Resolved issue with special characters in certificate names
- Fixed CLI not respecting
--formatflag for some commands
January 2025
Section titled “January 2025”v2.2.0 - January 20, 2025
Section titled “v2.2.0 - January 20, 2025”API & SDKs
New Features
Section titled “New Features”- Impact Analysis Endpoint - New
/certificates/{id}/impactendpoint for analyzing downstream effects - Bulk Export - Export certificates, suppliers, and components in bulk
- Audit Log Access - Query audit logs via API
API Changes
Section titled “API Changes”New endpoints:
GET /v1/certificates/{id}/impactGET /v1/export/certificatesGET /v1/audit-logs
SDK Updates
Section titled “SDK Updates”# Impact analysisimpact = client.certificates.get_impact("cert_abc123")print(f"Affects {len(impact.products)} products")
# Bulk exportcertificates = client.export.certificates( format="csv", filters={"status": "active"})v2.1.0 - January 5, 2025
Section titled “v2.1.0 - January 5, 2025”SDKs: Python, TypeScript
New Features
Section titled “New Features”- Async Iteration - Iterate over paginated results asynchronously
- Type Narrowing - Better TypeScript type inference for status fields
- Custom Base URL - Support for custom API endpoints (on-premise deployments)
Examples
Section titled “Examples”# Async iterationasync for cert in client.certificates.list_async(): print(cert.name)// Type narrowingconst cert = await client.certificates.get('cert_abc123');if (cert.status === 'expired') { // TypeScript knows cert is ExpiredCertificate here console.log(cert.expiredAt);}December 2024
Section titled “December 2024”v2.0.0 - December 15, 2024
Section titled “v2.0.0 - December 15, 2024”Major Release
Highlights
Section titled “Highlights”- Complete API redesign for better consistency
- New ontology-based data model
- Full TypeScript type coverage
- Improved error handling
Breaking Changes
Section titled “Breaking Changes”-
Client Initialization
Before:
from cohera import Clientclient = Client(key="...")After:
from cohera import Coheraclient = Cohera(api_key="...") -
Resource Methods
Before:
client.get_certificate("id")client.list_certificates()After:
client.certificates.get("id")client.certificates.list() -
Response Format
All responses now return typed objects instead of dictionaries.
Before:
cert = client.get_certificate("id")print(cert["name"])After:
cert = client.certificates.get("id")print(cert.name)
Migration Guide
Section titled “Migration Guide”See our detailed v2 Migration Guide for step-by-step instructions.
Older Releases
Section titled “Older Releases”For releases prior to December 2024, see the GitHub releases page.
Release Schedule
Section titled “Release Schedule”We follow a predictable release schedule:
- Patch releases (x.x.X): As needed for bug fixes
- Minor releases (x.X.0): Monthly, on the 1st and 15th
- Major releases (X.0.0): Annually, with 6-month deprecation notice
Deprecation Policy
Section titled “Deprecation Policy”- Deprecated features are marked with warnings
- Deprecated features remain functional for at least 2 minor releases
- Breaking changes only occur in major versions
- Migration guides provided for all breaking changes
Stay Updated
Section titled “Stay Updated”- GitHub Releases - All releases with changelogs
- Twitter - Announcements
- Discord - #announcements channel
- Newsletter - Monthly digest