Changelog

Version history for the ConformaESG Integration Service API.

v1.1.0 — 2026-02-23

🚀 New Features

Purchase module (CON-55, CON-56, CON-58):

  • Purchase status lifecycle: ORDERED → IN_TRANSIT → DELIVERED / CANCELLED
  • PurchaseStatusChangeLog entity — automatic audit trail on every status transition
  • Document tracking fields: purchase_order_number, invoice_number, ddt_number, transaction_certificate_number, batch_number
  • Delivery tracking: delivery_date, expected_delivery_date, delivery_notes
  • GET /api/purchase-records?purchase_status= — list endpoint with optional status filter
  • Unique constraint: (supplier_id, batch_number) enforced at DB level

Product module (CON-49, CON-51):

  • product_origin_country and raw_material_origin_country — ISO 3166-1 alpha-2 validated
  • quantity_available (Double ≥ 0) — current stock quantity
  • lead_time_days (Integer ≥ 0) — procurement lead time
  • UnitOfMeasure enum: METERS, KG, PIECES, ROLLS (default: KG)

🔧 Changes

  • Supplier list default page size changed 20 → 50 (max 250)
  • Supplier list: size query param now optional (null = server default)
  • New supplier list filters: complianceStatus, search, sortBy, sortOrder

v1.0.1 — 2026-02-23

🚀 New Features

  • GET /api/suppliers — full paginated list with filters, full-text search, and sort (CON-48)
  • GET /api/chemicals/search?cas= — CAS number search endpoint (CON-77)

🔧 Changes

  • Supplier GET /{id} now uses shared validateApiKey() helper
  • Traceability service layer business logic implemented (CON-68)

v1.0.0 — 2026-02-10

Initial release:

  • Supplier CRUD + bulk upsert
  • SupplierProduct + CompanyProduct (inheritance model) CRUD + bulk upsert
  • SupplierPurchaseRecord CRUD + bulk upsert + CO₂ auto-calculation
  • Chemical products CRUD + bulk upsert
  • ProductTraceability + ProcessingStage with auto totals recalculation
  • Quarkus Dev Services (zero-config PostgreSQL) + H2 for unit tests
  • OpenAPI / Swagger UI