All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[1.0.0] - 2026-06-18
Added
Initial release, covering the full Triple API surface:
Triple.Enrich— structured (POST /v1/enrich-transaction/) and unstructured (POST /v2/enrich-unstructured-transaction/) transaction enrichment, each with local request validation and a typed, fully nested response struct.Triple.Brands— brand lookup by id (GET /v1/brands/{id}/).Triple.Feedback— customer feedback reporting (POST /v1/customer-feedback/).Triple.Stocks— brokerage stock/fund lookup by ISIN, with optional logo format filtering (GET /v1/stocks/{isin}/).Triple.Cryptos— cryptocurrency lookup by slug (GET /v1/cryptos/{slug}/).Triple.TLS— mTLS client certificate issuance against the control-plane host (POST /v1/tls-certificates/).Triple.Config— explicit, process-free client configuration with automatic sandbox/production environment inference from the API key prefix (tr_test_/tr_live_).Triple.Error— a single structured exception type covering local validation failures, every documented HTTP error response, and transport-level failures.- Automatic retry (with exponential backoff, honoring the
retry-afterheader on429s) for408/429/5xxresponses and transport errors. [:triple, :request, :start | :stop | :exception]telemetry events.Triple.RateLimiter— optional, opt-in client-side token-bucket rate limiting for bulk workloads.Triple.Util.generate_transaction_id/0— UUID v4 helper for the required-and-uniquetransaction_idfield.!(raising) variants for every API call.