v1.1.0 — 2026-02-23
🚀 New Features
Purchase module (CON-55, CON-56, CON-58):
- Purchase status lifecycle:
ORDERED → IN_TRANSIT → DELIVERED / CANCELLED PurchaseStatusChangeLogentity — 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_countryandraw_material_origin_country— ISO 3166-1 alpha-2 validatedquantity_available(Double ≥ 0) — current stock quantitylead_time_days(Integer ≥ 0) — procurement lead timeUnitOfMeasureenum:METERS,KG,PIECES,ROLLS(default:KG)
🔧 Changes
- Supplier list default page size changed 20 → 50 (max 250)
- Supplier list:
sizequery 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 sharedvalidateApiKey()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