v3.1.1
Changelog - v3.1.1
All notable changes to the law-scrapper-mcp project for version v3.1.1 will be documented in this file.
The format is based on Keep a Changelog 1.1.0,
and this project adheres to Semantic Versioning 2.0.0.
[v3.1.1] - 2026-08-24
Added
- Configurable graceful shutdown window —
LAW_MCP_SHUTDOWN_GRACE(default 15s) reaches uvicorn astimeout_graceful_shutdown. The HTTP branch builds its ownuvicorn.Serveron the SDK's publicstreamable_http_app(), enabling clean teardown in containerized deployments withstop_grace_period: 30sin Docker Compose. - Upstream state in
/health— The health endpoint response carries anupstreamobject withcircuit_stateandfailure_countonce the lifespan has started (circuit_stateisunknownandfailure_countis omitted before startup or after teardown). The endpoint consistently returns HTTP 200 while the process is alive.
Changed
- Document conversion moved off the event loop —
html_to_markdown,pdf_to_text, andindex_sectionsrun throughasyncio.to_thread, keeping/healthand concurrent requests responsive during large act processing. - Pre- and post-conversion size limits — Content exceeding
LAW_MCP_DOC_STORE_MAX_SIZE_BYTESis refused before conversion with an error citing the source PDF URL, and re-verified post-conversion to guard against uncompressed text expansion. Refusing oversized documents prevents silent mid-clause truncation. get_act_details(load_content=True)error handling — Calls attempting to load oversized acts returnis_error=truewith the refusal details and source URL instead of reporting successful loading of truncated text. Metadata for oversized acts remains accessible viaget_act_detailswithoutload_content.