Commit 03d6dc0
[patch] 2026.1.12 (#969)
* docs: add Return Shipment API PRD and rename bundled returns PRD
Rename RETURNS_SUPPORT.md to SHIPPING_RETURN_LABEL_SUPPORT.md to clarify
its scope (return labels bundled with outbound shipment creation).
Add new RETURN_SHIPMENT_API.md PRD for standalone return label creation
with is_return flag, dedicated Mapper/Proxy methods, and address auto-swap.
* feat: add return shipment support to SDK core
- add is_return flag to ShipmentRequest model
- add create_return_shipment flow to interface with address auto-swap
- add return shipment mapper and proxy abstract methods
- add SDK-level return shipment unit test
* feat: add return shipment support to server layer
- add is_return field to Shipment model with migration
- update serializers and datatypes for return shipment flow
- add return shipment filtering support
- update GraphQL types and inputs for return shipment data
- add server-level return shipment tests
* feat: add return shipment scaffolding to CLI templates
* feat: add return shipment fields to TypeScript GraphQL types
* feat: add return shipment support for DHL Parcel DE
- implement standalone return via /returns/v1/orders API
- add returns_request and returns_response schemas
- add return_shipment provider with request/response handling
- register mapper and proxy methods for return shipment flow
- add return shipment tests with request/response fixtures
* feat: add return shipment support for Canada Post
- implement standalone return via /authorizedreturn API
- add return_shipment provider with authreturn-v2 XML schema
- register mapper and proxy methods for return shipment flow
- add return shipment tests with request/response/error fixtures
* feat: add return shipment support for UPS
- implement return wrapper delegating to shipment API with ReturnService
- default to ups_return_3_attempt (code 5) when no return type specified
- register mapper and proxy methods for return shipment flow
- add return shipment tests with request/response fixtures
* feat: add return shipment support for FedEx
- implement return wrapper delegating to shipment API with returnShipmentDetail
- force PRINT_RETURN_LABEL return type via fedex_return_shipment option
- register mapper and proxy methods for return shipment flow
- add return shipment tests with request/response fixtures
* feat: add return shipment support for USPS
- implement return wrapper delegating to label API with returnLabel=true
- add usps_return_receipt to CUSTOM_OPTIONS to prevent duplicate extra service
- fix option name resolution bug in shipment request builder
- register mapper and proxy methods for return shipment flow
- add return shipment tests with request/response fixtures
* fix: resolve mypy variable redefinition errors in return shipment interface
* fix: add is_return field to server test fixtures
* feat: add return shipment support for Asendia
* feat: add return shipment support for Australia Post
* feat: add return shipment support for bpost
* feat: add return shipment support for DHL Express
* feat: add return shipment support for DHL Poland
* feat: add return shipment support for DPD Meta
* feat: add return shipment support for GLS
* feat: add return shipment support for Hermes
* feat: add return shipment support for Landmark Global
* feat: add return shipment support for MyDHL
* feat: add return shipment support for Purolator
* feat: add return shipment support for Spring
* feat: add return shipment support for USPS International
* docs: add Karrio MCP Server PRD
* fix: add missing Info type annotations for strawberry GraphQL resolvers
* fix: add missing Info type annotations for admin and graph utility resolvers
* fix: add missing Info type annotations for insiders and platform GraphQL resolvers
* feat: add X-Request-ID middleware and propagation to all operations
* feat: add request_id filters and keyword search support
* feat: expose request_id as first-class GraphQL field and filter
* test: add request_id tests and update test fixtures
* feat: update schemas and TypeScript types for request_id
* feat: display request_id in entity detail views and devtools
* chore: clean up tests and code to match AGENTS.md conventions
* docs: add X-Request-ID implementation PRD
* chore: update ee/platform submodule for request_id schema
* chore: update generated files and add pricing migration
* fix(canadapost): use recipient country for international rating (#968)
* fix(canadapost): use recipient country for international rating
* test(canadapost): use generic dummy data for intl country-code regression
* docs(canadapost): clarify format_ca_postal_code normalization
* fix(landmark): add User-Agent header to all Landmark API requests
Landmark's API rejects requests without a User-Agent header, returning
"invalid username/password" errors. This was silently breaking all
background tracking fetches, shipment creation, and cancellation calls.
* feat: bootstrap SmartKargo carrier extension
* feat: add SmartKargo API schemas
* feat: generate Python data classes from schemas
* feat: add carrier units, settings, and connection utilities
* feat: implement API proxy and error handling
* feat: implement SmartKargo rate/quotation API
* feat: implement SmartKargo shipment creation
* feat: implement SmartKargo tracking and error handling
* fix: align SmartKargo rate and shipment with standard Karrio patterns
* feat: implement shipment cancellation
* feat: fix SmartKargo quotation API endpoint and required issueDate field
* test: update tests with API responses
* fix: correct label API format parameter and test imports
* feat: add vendor folder with API documentation
* fix: align shipment void with OpenAPI specification
* fix: add uuid fallback for required reference field & add issueDate fallback
* feat: make account_number and account_id required fields
* fix: default to EST service type when none specified in SmartKargo rate requests
* fix: unwrap array-wrapped SmartKargo booking response and fix ratesheets key access in dataunits
* fix: simplify SmartKargo proxy to use labelUrl from booking response
* feat: switch SmartKargo rate and shipment to per-package request pattern
* fix: fix multi-piece cancel and move proxy helpers to utils
* test: update SmartKargo tests to FAQ-standard assertListEqual pattern
* chore: merge SmartKargo integration and Canada Post intl fix with cleanup
- Merge PR #956 (SmartKargo carrier integration) and PR #968 (Canada Post intl rating fix)
- Fix bare Exception catch in utils.py to use specific (ValueError, TypeError)
- Enable services/options in plugin metadata (were commented out)
- Add website and status fields to plugin metadata
- Remove duplicate TrackingIncidentReason mapping
- Clean up trailing whitespace in mapper.py
* docs: update CHANGELOG for 2026.1.12 release
* chore: add smartkargo to SDK and build requirements
* chore: update generated files and add SmartKargo to order shipments query
Add request_id and selected_rate_carrier to GET_ORDERS shipments
sub-query and regenerate all types to fix dashboard build.
* docs: add no-auto-commit and no-AI-co-author rules to AGENTS.md
* fix: bulk tracker webhook notifications, landmark proxy cleanup, and changelog update
- Dispatch webhook notifications for trackers changed via bulk_update
- Remove hardcoded User-Agent headers from Landmark proxy requests
- Add smartkargo carrier image mapping to base.ts
- Update CHANGELOG for 2026.1.12 release
* feat: enhance health view task breakdown with detailed execution table
- Increase task executions query from 100 to 1000
- Add expandable task rows showing individual executions
- Show status, queued time, duration, retries, and error details
- Add status filter tabs (all/complete/error/executing)
- Display last run time and avg duration per task name
* fix: use full datetime format in tracing view to match events view
* release: 2026.1.12
---------
Co-authored-by: Hans Daigle <HansDaigle@users.noreply.github.com>
Co-authored-by: Ansh Dev Nagar <anshdevnagar@gmail.com>1 parent 162cba8 commit 03d6dc0
302 files changed
Lines changed: 18008 additions & 528 deletions
File tree
- PRDs
- apps
- api/karrio/server
- settings
- dashboard
- public/carriers
- web/public
- www
- bin
- docker
- ee
- modules
- admin/karrio/server/admin
- schemas/base
- cli
- karrio_cli
- commands
- templates
- connectors
- asendia
- karrio
- mappers/asendia
- providers/asendia
- shipment
- australiapost
- karrio
- mappers/australiapost
- providers/australiapost
- shipment
- bpost
- karrio
- mappers/bpost
- providers/bpost
- shipment
- canadapost
- karrio
- mappers/canadapost
- providers/canadapost
- shipment
- tests
- canadapost
- chronopost
- dhl_express
- karrio
- mappers/dhl_express
- providers/dhl_express
- dhl_parcel_de
- karrio
- mappers/dhl_parcel_de
- providers/dhl_parcel_de
- shipment
- schemas/dhl_parcel_de
- tests
- dhl_parcel_de
- vendors
- dhl_poland
- karrio
- mappers/dhl_poland
- providers/dhl_poland
- shipment
- dhl_universal
- dpd_meta
- karrio
- mappers/dpd_meta
- providers/dpd_meta
- shipment
- dpd
- fedex
- karrio
- mappers/fedex
- providers/fedex
- shipment
- tests
- fedex
- generic
- gls
- karrio
- mappers/gls
- providers/gls
- shipment
- hermes
- karrio
- mappers/hermes
- providers/hermes
- shipment
- landmark
- karrio
- mappers/landmark
- providers/landmark
- shipment
- laposte
- mydhl
- karrio
- mappers/mydhl
- providers/mydhl
- shipment
- parcelone
- postat
- purolator
- karrio
- mappers/purolator
- providers/purolator
- shipment
- seko
- sendle
- smartkargo
- karrio
- mappers/smartkargo
- plugins/smartkargo
- providers/smartkargo
- shipment
- schemas/smartkargo
- schemas
- tests
- smartkargo
- vendor
- spring
- karrio
- mappers/spring
- providers/spring
- shipment
- teleship
- ups
- karrio
- mappers/ups
- providers/ups
- shipment
- tests
- ups
- usps_international
- karrio
- mappers/usps_international
- providers/usps_international
- shipment
- usps
- karrio
- mappers/usps
- providers/usps
- shipment
- tests
- usps
- core
- karrio/server
- core
- migrations
- models
- tests
- views
- tracing
- migrations
- data
- karrio/server/graph/schemas/data
- documents
- karrio/server/graph/schemas/documents
- events
- karrio/server
- events
- graph/schemas/events
- graph
- karrio/server/graph
- schemas/base
- manager
- karrio/server/manager
- migrations
- serializers
- tests
- orders
- karrio/server
- graph/schemas/orders
- orders
- serializers
- tests
- pricing
- karrio/server/pricing/migrations
- proxy
- karrio/server/proxy/tests
- sdk
- karrio
- api
- core
- tests/core
- soap
- packages
- core/modules
- Labels
- Orders
- Pickups
- Shipments
- Trackers
- developers
- components/views
- modules
- types
- graphql
- admin
- rest
- docs
- schemas
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
609 | 609 | | |
610 | 610 | | |
611 | 611 | | |
| 612 | + | |
| 613 | + | |
612 | 614 | | |
613 | 615 | | |
614 | 616 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
1 | 36 | | |
2 | 37 | | |
3 | 38 | | |
| |||
22 | 57 | | |
23 | 58 | | |
24 | 59 | | |
25 | | - | |
| 60 | + | |
26 | 61 | | |
27 | 62 | | |
28 | 63 | | |
| |||
Large diffs are not rendered by default.
Large diffs are not rendered by default.
File renamed without changes.
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
297 | 297 | | |
298 | 298 | | |
299 | 299 | | |
| 300 | + | |
300 | 301 | | |
301 | 302 | | |
302 | 303 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
Loading
0 commit comments