Skip to content

ACMEOW v1.1.5

Choose a tag to compare

@miichoow miichoow released this 20 May 11:35
· 4 commits to main since this release

ACMEOW v1.1.5

Release Date: May 20, 2026
Version: v1.1.5
Commit: 59af36b

Production-grade ACME protocol client library for Python.


What's New

Configurable Order Ready Timeout

The finalize_order() polling loop introduced in v1.1.4 previously used a
hardcoded limit of 5 attempts (≈10 seconds). AcmeClient now accepts an
order_ready_timeout constructor parameter that controls how long to wait for
the upstream CA to transition an order from pending to ready after
authorization validation.

client = AcmeClient(
    server_url="https://acme-v02.api.letsencrypt.org/directory",
    email="admin@example.com",
    storage_path=Path("./acme_data"),
    order_ready_timeout=60,  # wait up to 60 s instead of the default 30 s
)

Behaviour details:

  • Default value is 30 seconds; the loop polls every 2 seconds (max(1, timeout // 2) attempts)
  • Immediately raises AcmeOrderError if the order transitions to invalid at any point
  • finalize_order() docstring updated to document the timeout and its relationship to the constructor parameter
  • Fully backwards-compatible — callers that do not pass order_ready_timeout observe no change in behaviour

Installation

pip install acmeow
pip install acmeow[dns-route53]  # AWS Route53
pip install acmeow[all]          # All optional dependencies

Requirements

  • Python 3.10+
  • cryptography >= 41.0.0
  • requests >= 2.31.0
  • requests[socks] >= 2.31.0

Testing & Quality Metrics

  • 433 tests passing
  • Tested on Python 3.10, 3.11, 3.12, 3.13
  • Cross-platform support (Linux, macOS, Windows)

License

Apache License 2.0