# Changelog

## [Unreleased]

## [v1.0.0] - 2026-03-19

### Added
- Initial release based on UPN (United Pallet Network) External Links SOAP API
- `UpnClient` component with SOAP authentication (per-call depot/username/password)
- `addConsignment` via `AddConsignment_V4` with full pallet and service selection
- `deleteConsignment` via `DeleteImportedCon`
- `getPalletLabelsAsString` / `getPalletLabelsAsBytes` via `PalletLabels_V2_asString` / `PalletLabels_V2_asByte`
- `getPodAndTrackingByDepot` / `getPodAndTrackingByCustomer` via `GetPODAndTrackingByDepot_V2` / `GetPODAndTrackingByCustomer_V2`
- `getPostcodeRestrictions` via `GetPostcodeRestrictions`
- `getRunAndDeliveryTime` via `CON_GetRunAndDelTime_V2`
- `getCollectionStatus` via `Collection_GetStatus`
- `getPalletsOnConsignment` via `CON_GetPalletsOnCon`
- `getDeliverySignatureAsString` / `getDeliveryPhotoAsString` for POD images
- `ConfigForm` model with encrypted password storage (depot, customerId, username, password)
- `ConsignmentForm` model with full UPN pallet/service field validation
- `ConfigController` with web UI and AJAX test-connection endpoint
- `ConsignmentController` with create, delete, tracking, collection-status, services, label-pdf and delivery-time actions
- `ConsignmentJob` for async queue dispatch
- Bootstrap 4 config view with notes on SOAP auth and API behaviour
- Bootstrap 4 consignment create view with conditional delivery datetime field
- README with installation, service codes and pallet type reference tables
