Repository navigation
OpenContracts v3.1.1 improves remote-ingest reliability and fixes label creation and corpus label-set selection.
Highlights
- Remote parsing: shared adapters support Docling or Warp for PDFs, Docxodus for DOCX, and TXT chunking, with validated local settings, MIME routing, and preserved annotations and relationships.
- Large imports and recovery: bounded discovery and scheduling, cancellation-aware admission, and durable parse/enrichment/embedding checkpoints make interrupted imports resumable. Changed sources and uncertain upload outcomes retain receipts for reconciliation.
- Truthful verification:
verifychecks the whole ledger, reports explicit outcomes and optional JSON Lines, and preserves durable state when receipt requests fail. Remote embedding payloads must be complete and finite before upload or caching. - Label-set workflows: label colors use the backend-supported hex format; rejected mutations preserve the form; success waits for refreshed labels. Add Label remains beside search, and corpus creation displays and submits the selected label set correctly.
- Maintenance: updated Strawberry GraphQL, PostHog, Gunicorn, Tiptap, Vitest, and coverage dependencies, and synchronized the application version indicators.
Upgrading
There are no new Django database migrations relative to v3.1.0.
Remote workers using parser services must set OC_PARSER_IDENTITY (or per-parser JSON identities). Embedding mode requires OC_EMBEDDING_IDENTITY, and custom enrichers require OC_ENRICHER_IDENTITY. Use stable deployment/model/configuration revisions and change them when those inputs change. Pure TXT parsing and --no-embeddings do not require the corresponding service identities. Existing SQLite ledgers migrate in place; legacy rows start without cached preparation artifacts.
Update scripts consuming verify: exit 0 means complete/empty, 1 outstanding work, 2 failure or reconciliation required, and 3 unable to verify. Completion covers the worker-upload transaction; asynchronous thumbnails, fallback embeddings, and search readiness are separate.
See the remote-worker guide, CLI reference, and changelog.
Container images
Publishing this release triggers the repository's Docker build for linux/amd64:
ghcr.io/open-source-legal/opencontractserver_django:v3.1.1ghcr.io/open-source-legal/opencontractserver_frontend:v3.1.1ghcr.io/open-source-legal/opencontractserver_postgres:v3.1.1ghcr.io/open-source-legal/opencontractserver_traefik:v3.1.1