# Changelog

## [Unreleased]

## [v1.0.5] - 2026-07-22

### Added
- Added authenticated PDF rate-card upload with preview-first parsing and explicit import confirmation.

## [v1.0.4] - 2026-07-16

### Changed
- Release version bump and changelog maintenance.

## [v1.0.3] - 2026-07-16

### Changed
- Release version bump and changelog maintenance.

### Added
- Persisted the Palletforce label PDF and returned its filepath with the consignment result.

### Changed
- Chore(delivery): require portalpeople/ngauge-delivery

### Added
- Added fuel surcharge and discount rate settings to the Palletforce module configuration and runtime params.

## [v1.0.2] - 2026-03-19
### Fixed
- Bootstrap 4 view migration: replaced BS3 `panel`/`panel-heading`/`panel-body` with `card`/`card-header`/`card-body`
- Bootstrap 4 button classes: `btn-default` replaced with `btn-secondary`
- API response key handling: normalised to support both camelCase (`success`, `message`, `errorCode`, `trackingCodes`) and PascalCase variants returned by different Palletforce endpoints

## [v1.0.1] - 2026-03-18
### Changed
- Switched views and composer dependency from Bootstrap 3 to Bootstrap 4 (`yiisoft/yii2-bootstrap4`)
- Initial release of the NGauge Palletforce delivery module
- `PalletforceClient` component covering all 9 REST API endpoints: UploadManifest, AcceptConsignments, DeleteConsignment, DownloadManifest, DownloadShippingInformation, DownloadTrackingData, DownloadETATimes, DownloadHubBuilding, PrintLabels
- `ConsignmentForm` model with full field validation matching the Palletforce API specification
- `ConfigController` with web UI, AJAX connection test and module status endpoint
- `ConsignmentController` for create, accept, cancel, tracking, ETA and label retrieval
- `ConfigForm` model with encrypted credential storage to `params-local.php`
- `ConsignmentController` for create, accept, cancel, tracking, ETA and label retrieval
