Changes
- Migrate to Strawberry for GraphQL support
- Karrio Admin API foundation
- Finalize OpenID support through karrio apps registration `experimental`
- Batch shipment creation (CSV import + batch REST API) `experimental`
- Batch order creation (CSV import + batch REST API) `experimental`
- Batch tracker creation (CSV import + batch REST API) `experimental`
- Add support for shipping `billing_address` and improve support for 3rd party billing
- Add carrier capabilities to `/v1/carriers` JSON response
- Remove Postgres-specific fields to allow support for any Django ORM-supported databases (MySQL, Oracle, SQLite...)
- Add support for `DATABASE_URL` to configure karrio' database connection with a single line
- Introduce data retention configuration (set up karrio to flush your database of old shipments, API logs...)
- Improve SDK tracing recording for full transparency (only super admin can see requests logs of system carriers)
- Add `id` to keyword full-text search for orders and shipments
- Improve shipment data GraphQL mutations and draft shipment management.
- Improve international shipment with advance duty 3rd party payment address
Added to open-source build
- Orders module (read-only orders fulfilment API)
- Generic carrier (Register carriers without APIs on karrio to become their API - manage rate sheets, design labels...)
- Data module (Batch APIs for data imports and batch creation + data export API)
- Documents module (Document generation API + templating system to generate branded shipping documentation)
- Document generation use cases: UCC128 labels, Packing slips, branded commercial invoices... anything you need :)
Dreprecation and Regression
- Remove support for price range filters to apply rate add-ons
- Replace `DELETE /v1/shipments/{id}` by `POST /v1/shipments/{id}/cancel` for shipment cancellation
- Deprecating `GET v1/trackers/{carrier_name}/{tracking_number}` in favor of `POST /v1/trackers` for trackers creation
Dev experience
- Improve scripts under the `/bin` folder to simplify development and deployment
- Introducing Karrio `hobby-deploy` (+ upgrade) to simplify Karrio installation on any cloud with SSL provisioning included
- Add `vscode` support debug commands to allow running karrio with debugger and breakpoints
- Add scripts to install karrio without docker (Python packages)
- Return to SQLite as the default development database to simplify development setup without docker