Skip to content

Latest commit

 

History

History
126 lines (110 loc) · 4.65 KB

File metadata and controls

126 lines (110 loc) · 4.65 KB

Changelog

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.1.0] - 2026-02-12

Added

  • Command-line interface (certapi / cli) exposing common workflows: issue, renew, list, and revoke.
  • Config file support and environment variable overrides for local/CI usage.
  • Enhanced logging, debug flags, and more informative CLI error messages.

Changed

  • Improved CLI-friendly output formats (plain text and JSON) for scripting and automation.

Fixed

  • Various integration and usability issues discovered during CLI testing.

[1.0.5] - 2026-02-08

Added

  • Packaging and CI improvements: pyproject.toml / requirements.txt updates and release automation tweaks.

Fixed

  • Docker image tagging and Dockerfile fixes for reproducible builds.
  • Miscellaneous minor bugfixes and documentation tweaks.

[1.0.4] - 2026-02-02

Added

  • Postgres keystore robustness improvements and better sqlite fallback handling.

Fixed

  • Packaging metadata and dependency pinning issues causing install-time warnings.

[1.0.3] - 2026-01-28

Added

  • Improved DNS provider integrations (Cloudflare/DigitalOcean) for TXT record cleanup.

Fixed

  • Race conditions during challenge creation and cleanup under heavy concurrency.
  • Robustness fixes for order certificate retrieval and decoding.

[1.0.2] - 2026-01-22

Added

  • Additional sanity checks when loading keys and certificates from keystores.

Fixed

  • Retry/backoff handling for transient HTTP and DNS provider errors.
  • Test stability fixes for challenge cleanup routines.

[1.0.1] - 2026-01-20

Added

  • Small improvements to logging and diagnostic output for ACME flows.

Fixed

  • Keystore path handling edge-cases that caused certificate lookups to fail.
  • Minor bugfixes in ACME error parsing to avoid missing-detail exceptions.

[1.0.0] - 2026-01-15

Added

  • Production Docker image (multi-arch, rootless, Gunicorn, port 8080).
  • Concurrency control with domain-level locking and renewal queuing.
  • Configurable certificate renewal threshold (CERT_RENEW_THRESHOLD_DAYS).
  • CI/CD workflow for automated GHCR publication.

Fixed

  • Standardized environment variables, error handling, and minor typos.

[0.6.0] - 2026-01-12

ToDo

  • [] Certapi api and docker image

Fixed

  • Improved AcmeHttpError processing to handle missing response fields and prevent type errors during error message generation.
  • Implemented configurable retry delays and error handling for connection reset errors.
  • Fixed timezone deprecation warnings across the codebase.

[0.5.1] - 2025-11-17

Added

  • Certificate expiry date check logic.

Until 0.5.0-pre - 2025-08-24

ToDo

  • [] Certapi api and docker image

Added

  • Mechanism to prune all TXT records/challenges on startup in challenge stores.
  • Logging of request bodies on errors for better debugging.
  • Cleanup method to ChallengeSolver
  • Missing init.py file in modules
  • Refactor everything to proper Inheritance
  • Workaround for fullchain cert
  • DigitalOcean challenge store
  • Allow custom store dir name, fix self-signed cert name
  • Use PiPy api key for publishing
  • Better error handling, add packaging
  • Fix issues. make certificate issuing functional.
  • Fix apis, make ready for testing
  • Basic implementation [incomplete]

Fixed

  • SSL warning in Nginx related to fullchain certificates and keystore handling.
  • Payload handling when re-trying failed requests.
  • Log request body on errors
  • Logging and Readme
  • Remove extra file
  • Logging verbosity in cloudflare
  • Challenge solving logic
  • Key, Challenge stores and tests
  • Filesystem keystore
  • Bugfix: Fix response usage in Order.get_certificate
  • Bugfix: return str in Order.get_certificate not bytes
  • Bugfix: Pass certificate string to keystore
  • Bugfix: Handle ACME error with no detail
  • Certificate save logic
  • "detail" key missing error during acme error handling
  • Bugfix fix selfsigned detection logic
  • Bugfixes for dns challenge
  • Crypto classes, add cloudflare challenge store
  • Response type and error handling

Changed

  • Increased wait time for DNS propagation to 20 sec to improve reliability.
  • Increase wait time for DNS propagation to 10 sec
  • Refactor Challenge Solvers to use common base class
  • Minor fixes, Improve challenge cleanup
  • Proper error handling in DNS provider APIs
  • Renames ChallengeStore to ChallengeSolver, other minor fixes
  • Refactor CertIssuer, improve server
  • Apply black formatter
  • Update gitignore
  • WIP enhance crypto classes
  • Auto set release tag
  • Change project name to certapi