Releases: karrioapi/karrio
Releases · karrioapi/karrio
Karrio patch 2026.1.21
Changes
Fix
- fix: replace lingering purchased status references with created
- fix(smartkargo): fallback to N/A for empty importHsCode and exportHsCode
- fix(dhl_express): community reported bugs - certification, address formatting, and currency
- fix: sync shipping-platform patches (admin COGS, rate sheet split, dhl_parcel_de creds)
Docs
- docs(prd): rate sheet system vs account separation
Karrio patch 2026.1.20
Warning
Breaking Change: The shipment status purchased has been renamed to created.
If you have webhook listeners or automation that filter on shipment.status == "purchased",
update them to use "created" instead. The database migration (0089) automatically updates
existing records, but external integrations must be reviewed manually.
Changes
Feat
- feat(smartkargo): add taxId field to participant schemas for shipper and consignee
- feat(smartkargo): add selected_rate with charge breakdown (shippingFee, insurance, tax) to shipment response
- feat(smartkargo): add configurable currency to ConnectionConfig
Fix
- fix(smartkargo): resolve tracking params from shipment meta options instead of relying solely on tracking number parsing
- fix(smartkargo): add missing tracking response fields (estimatedDeliveryDate, referenceAirWaybill, bagNumber, subEventType)
- fix(smartkargo): add INF and MDL event type mappings for in_transit status
- fix(smartkargo): enrich tracking info with package weight and shipment package count
- fix(smartkargo): support tracking by SmartKargo AWB (prefix + Airwaybill) (#1006)
- fix(dashboard): replace deprecated "purchased" status with "created" after migration 0089 (#1007)
- fix: restore purchased status to ShipmentStatusEnum in TS types
- fix: remove is_system from admin ratesheet test query
- fix: resolve CI test failures (server-tests, sdk-tests, dashboard-ci)
- fix: sync shipping-platform patches (DHL enhancements, APM tracing, KEK rotation, document handling) (#1004)
Chore
- chore: generate latest API schemas
Karrio patch 2026.1.18
Changes
Fix
- fix: sync shipping-platform patches (admin scoping, dhl_parcel_de encryption, element assets)
- fix: dashboard build type errors and latest schema data
Docs
- docs(prd): add subtree sync workflow for shipping-platform ↔ karrio
- docs(prd): add edition isolation + source vs deployed build mode sections
- docs(prd): UV_MIGRATION — migrate karrio to uv for end-to-end Python toolchain
- docs(mcp): add MCP server documentation — install, tools, Claude Desktop/Cursor setup
Test
- test(mcp): add live integration tests against real karrio server
Karrio patch 2026.1.17
Changes
Feat
- feat(tracing): capture and store HTTP headers in carrier API tracing records
- feat(dashboard): include headers as -H flags in devtools cURL copy
- feat(mcp): add list_carrier_connections tool to MCP server
Fix
- fix(usps): use lib.failsafe for transit_days parsing from commitment.name
- fix(ups): truncate phone numbers to 15-character API limit
- fix(ups): enable pickup service code option override
- fix(mcp): remove unsupported validate_address tool and clean up tests
Karrio patch 2026.1.16
Changes
Feat
- feat: add order_id field to Shipment model with REST/GraphQL exposure and auto-population
- feat: add failed shipments tab with failure reasons and request_id propagation
- feat: add @karrio/mcp server package for AI-powered shipping workflows
- feat: add optional credential encryption with KEK-based secret storage
- feat: add rate sheet editor improvements, pricing config, and markup management
- feat: add DPD Meta connector updates with pickup support and error handling
Fix
- fix: SmartKargo field names to match actual API (grossVolumeUnityMeasure, hasInsurance, insuranceAmmount)
- fix: SmartKargo add customs/commercialInvoice support to rate requests and label base64 extraction
- fix: SmartKargo move account_id to connection config, add SiteId header and barCode extraction
- fix: DHL Parcel DE add economy and GoGreen Plus options, return billing config, and fix service matrix
- fix: UPS add transId and transactionSrc headers to tracking requests
- fix: UPS handle null ShippingLabel in return shipment response
- fix: Landmark tracking multi-leg event ordering and delivered status
- fix: propagate x-request-id through tracer context to carrier calls
- fix: resolve all failing tests and build issues
Docs
- docs: add Open Shipping Protocol (OSP) specification suite
- docs: add carrier testing reports for DHL Parcel DE, UPS, and DPD Meta
Karrio patch 2026.1.15
Changes
Fix
- fix: remove broken constance cache backend setting for non-Redis environments
Karrio patch 2026.1.14
Changes
Fix
- fix: make ShipmentType.is_return nullable to match Django model
- fix: ensure is_return and request_id fields are available on ShipmentType GraphQL schema
- fix: add missing request_id field and filter to ManifestType GraphQL schema
- fix: resolve N+1 queries in GetSystemConnections admin query with batch usage resolution
- fix: add constance cache fallback (LocMemCache) when Redis is not configured to prevent N+1 config queries
Karrio patch 2026.1.13
Changes
Fix
- hotfix: Landmark return address + is_return nullable (#973)
- fix: show detailed error messages for shipment cancellation and status
Karrio patch 2026.1.12
Changes
Feat
- feat: add SmartKargo carrier integration (rating, shipment, tracking, labels)
- feat: add return shipment support to SDK core and server layer
- feat: add return shipment support for UPS, FedEx, Canada Post, DHL Express, DHL Parcel DE, USPS, and more
- feat: add return shipment fields to TypeScript GraphQL types
- feat: add X-Request-ID middleware and propagation to all operations
- feat: expose request_id as first-class GraphQL field and filter
- feat: display request_id in entity detail views and devtools
Fix
- fix(canadapost): use recipient country code for international rating
- fix(landmark): remove hardcoded User-Agent headers from proxy requests
- fix: add missing Info type annotations for strawberry GraphQL resolvers
- fix: dispatch webhook notifications for bulk-updated trackers
Chore
- chore: update generated files and add pricing migration
- chore: clean up tests and code to match AGENTS.md conventions
- chore: add smartkargo carrier image mapping
Docs
- docs: add X-Request-ID implementation PRD
- docs: add Return Shipment API PRD
- docs: add Karrio MCP Server PRD
Karrio patch 2026.1.11
Changes
Feat
- feat: add markup feature gating with
meta.feature_gatefor conditional markup application - feat: add feature_gate field to markup editors (inline and advanced admin)
- feat: add tracker bulk webhook resend and per-row action menu
- feat: add batch webhook resend API endpoint
- feat: integrate worker action buttons in devtools frontend
- feat: add worker management GraphQL mutations for admin
- feat: add markup filtering by meta category, plan, active status and type
- feat: improve CSV preview with progressive markup totals and column filtering
- feat: add markups management to rate sheet editor and improve markup dialogs
Fix
- fix: make Health view scrollable and wrap maintenance actions in card
- fix: skip empty rate rows in CSV preview
- fix: align tracker checkbox column width with shipments table
- fix: show exact page counts instead of "of many" in devtools pagination
- fix: resolve duplicate TaskExecution records causing stuck executing status
- fix: use icontains for meta and metadata value filters on markups
- fix: port rate sheet editor layout improvements and bug fixes
Perf
- perf: cache middleware auth result to prevent duplicate token DB lookups
- perf: reuse pre-loaded carriers in buy_shipment_label to avoid duplicate connection queries
- perf: batch constance config queries to eliminate N+1 in shipment creation
- perf: batch tracker saves to eliminate N+1 UPDATE queries in tracking pipeline
- perf: eliminate SELECT FOR UPDATE lock contention in task signal handler
Refactor
- refactor: update devtools drawer, navbar, and rate sheet CSV preview
- refactor: use generic meta_key/meta_value and metadata_key/metadata_value filters for markups
Test
- test: add batch webhook resend tests
- test: add admin CRUD tests for markup meta field and filters
- test: add feature-gated markup applicability tests
Chore
- chore: generate admin migrations