v1.2.0 — 2026-04-02
New Features
Textile module:
- New
textileMaven module with three specialized product types:YarnProduct,FiberProduct,FabricProduct - All textile products extend
BaseTextileProduct→BaseProductinheritance hierarchy TextileCategoryenum:YARN,FIBER,FABRIC(auto-set via@PrePersist)YarnCountUnitenum:NE,NM,TEX,DTEX,DENIER- REST endpoints:
/api/v1/textile/yarns,/api/v1/textile/fibers,/api/v1/textile/fabrics - Full CRUD + bulk upsert support for all three types
Supplier certifications:
SupplierCertificationentity with digital signature tracking and verification status- REST endpoints at
/api/v1/supplier-certifications - CRUD: create, read, update, delete certifications per supplier
- Cascade delete when parent supplier is removed
Chemical purchases:
ChemicalPurchaseRecordentity for tracking chemical product procurement- REST endpoints at
/api/v1/chemical-purchases - Full CRUD with cost, delivery, batch, quality, and warehouse tracking
- Filter by
companyId,chemicalProductId,supplierId
Entity metadata:
metadataJSON field added to all core entities (Supplier, Products, Purchases, Traceability, Chemicals)- Free-form
Map<String, Object>stored asjsonbin PostgreSQL - Pass arbitrary key-value pairs for custom attributes without schema changes
Supplier entity expansion:
- Full address fields:
address,city,zipCode,province - Geolocation:
latitude,longitude - Contact information:
contactName,contactEmail,contactPhone activityType,companyId,userIdfieldscustomCategoryfor user-defined supplier categories
Chemical module improvements:
ChemicalComplianceentity (one-to-one): REACH, ZDHC, GOTS, GRS, SVHC, PFAS trackingChemicalSupplierentity (one-to-one): supplier details per chemical product- Enhanced CAS search with
partialflag for substring matching DELETEendpoint archives (soft delete) instead of hard delete- List endpoint filters:
category,complianceStatus,pfasContent,search
Traceability module improvements:
TraceabilityRecordas lightweight tracking +ProductTraceabilityas detailed aggregate- Additional lookup endpoints:
/product/{productId},/batch/{batchNumber} ProcessingStageunder/api/v1/product/traceabilitywith nested routesGeolocationServicefor Haversine distance calculationEmissionCalculationServicewith configurable factors per transport mode- Automatic totals recalculation via
ProductTraceabilityCalculationService
Changes
- API prefix migration: all endpoints now use
/api/v1/prefix - Purchase records:
GET /{id}/status-changesendpoint for audit trail access BaseProductexpanded with certification booleans,organicContentPercent,sustainabilityNotes,technicalSpecs
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/v1/purchases?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/v1/suppliers— full paginated list with filters, full-text search, and sort (CON-48)GET /api/v1/chemicals/search?casNumber=— 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