Skip to content

Changelog

Stay up to date with the latest changes to Cohera SDKs, APIs, and tools.


SDKs: Python, TypeScript, CLI

  • 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
  • Python SDK: Added support for Python 3.13
  • TypeScript SDK: Reduced bundle size by 35%
  • CLI: Added --dry-run flag for all write operations
  • Fixed race condition in async certificate uploads
  • Resolved timezone handling in expiry date comparisons
  • Fixed memory leak in long-running webhook handlers

No breaking changes. Update your dependencies:

Terminal window
# Python
pip install --upgrade cohera
# TypeScript
npm update @cohera/sdk
# CLI
npm update -g @cohera/cli

SDKs: Python, TypeScript

  • 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

Before:

client.webhooks.list()

After:

client.events.list()
  • Added include parameter to all get methods for eager loading
  • Improved error messages with actionable suggestions
  • Added request/response logging in debug mode

SDKs: Python, TypeScript, CLI

  • Fixed authentication header not being sent in some edge cases
  • Resolved issue with special characters in certificate names
  • Fixed CLI not respecting --format flag for some commands

API & SDKs

  • Impact Analysis Endpoint - New /certificates/{id}/impact endpoint for analyzing downstream effects
  • Bulk Export - Export certificates, suppliers, and components in bulk
  • Audit Log Access - Query audit logs via API

New endpoints:

  • GET /v1/certificates/{id}/impact
  • GET /v1/export/certificates
  • GET /v1/audit-logs
# Impact analysis
impact = client.certificates.get_impact("cert_abc123")
print(f"Affects {len(impact.products)} products")
# Bulk export
certificates = client.export.certificates(
format="csv",
filters={"status": "active"}
)

SDKs: Python, TypeScript

  • 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)
# Async iteration
async for cert in client.certificates.list_async():
print(cert.name)
// Type narrowing
const cert = await client.certificates.get('cert_abc123');
if (cert.status === 'expired') {
// TypeScript knows cert is ExpiredCertificate here
console.log(cert.expiredAt);
}

Major Release

  • Complete API redesign for better consistency
  • New ontology-based data model
  • Full TypeScript type coverage
  • Improved error handling
  1. Client Initialization

    Before:

    from cohera import Client
    client = Client(key="...")

    After:

    from cohera import Cohera
    client = Cohera(api_key="...")
  2. Resource Methods

    Before:

    client.get_certificate("id")
    client.list_certificates()

    After:

    client.certificates.get("id")
    client.certificates.list()
  3. 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)

See our detailed v2 Migration Guide for step-by-step instructions.


For releases prior to December 2024, see the GitHub releases page.


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
  • 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