Releases: karrioapi/karrio
Releases · karrioapi/karrio
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
Karrio patch 2026.1.10
Changes
Fix
- fix: periodic data archiving task running every minute instead of daily
- fix: replace dynamic InstanceConfigType with JSON scalar for OSS compatibility
- fix: naive datetime warnings when querying Fee records
- fix: health status API double-slash URL causing 404
- fix: add keyword search field to tracing records filter
Karrio patch 2026.1.9
Changes
Feat
- feat: add rate sheet editor to connections element and strip carrier SVG bundling
- feat: enhance shipments and trackers list views with rate and destination columns
- feat: add webhook event replay with event_id support
- feat: add carrier network link to admin sidebar
- feat: merge tracker logs and events into shipment activity timeline
- feat: add dynamic carrier config fieldsets to platform admin
- feat: add event timeline with tracing records and dedicated tracing view
- feat: add worker monitoring and system health views to developer tools
Fix
- fix: web app Next.js 16 Turbopack and ESM compatibility
- fix: update nextra import paths for v4 compatibility
- fix: resolve auth token caching issues causing repeated OAuth requests
Refactor
- refactor: improve developer tools drawer and views
- refactor: split admin GraphQL into admin/ and admin-ee/ for OSS/EE separation
- refactor: move admin module from ee/insiders to OSS
- refactor: relocate carrier integration skills from CLI to SKILLS/
- refactor: clean up tracking pipeline and add task lock for deduplication
- refactor: replace monolithic tracker update with dispatcher + per-carrier worker tasks
Chore
- chore: regenerate schemas and frontend types
- chore: add JS client and elements build steps to CI workflows
- chore: update built element static assets
Karrio patch 2026.1.8
Changes
Fix
- fix: migrate to django-health-check v4.0
- fix: ensure background tasks execute when no async worker is available
Karrio patch 2026.1.7
Changes
Feat
- feat(dashboard): enhanced filtering, copy, and shipment preview improvements
- feat(dhl_parcel_de): return shipment support for DHL Parcel DE and FedEx rating
Fix
- fix: pass meta to update_tracker on API-triggered tracker refresh
- fix: correct OrderFilter typo ontion_key/ontion_value -> option_key/option_value
- fix: background tracker failures and landmark tracking issues
- fix: resolve migration circular dependency for providers.carrier rename
- fix: resolve migration error for providers.carrier rename
- fix: allow shipment cancellation when pickup is cancelled
- fix: dashboard docker build - copy entrypoint from prune stage
- fix: add libc6-dev to Docker compile stage for pyzint C extension
- fix(dpd_meta): extract sendingDepot from JWT and inject into pickup requests
- fix(dpd_meta): fix pickup time format, weight handling and response parsing
- fix(dpd_meta): correct pickup schema types and add missing vendor fields
Karrio patch 2026.1.6
Changes
Feat
- feat: add ReturnShipment model for capturing return label data from carriers
- feat(dhl_parcel_de): extract return shipment tracking number from shipment response
- feat(dashboard): add keyword search filter to Events and Trackers
- feat(dashboard): add "Copy Full Event" button to event detail viewer
- feat(dashboard): add entity_id filter field to logs filter dropdown
- feat(dashboard): add keyword search input to trackers filter popover
- feat(dashboard): display return shipment details in shipment preview sheet
Fix
- fix(dashboard): use correct
connection_idandcarrier_codefields in shipment connection details - fix(dashboard): use
keywordinstead ofqueryfor events search filter - fix(dashboard): remove navigation link from tracker list tracking numbers
Chore
- chore: update GraphQL schema and TypeScript types for return_shipment field
- chore: add
keywordfield to EventFilter and TrackerFilter GraphQL inputs and TypeScript types
Test
- test: add return_shipment server tests and update shipment fixtures
Karrio patch 2026.1.5
Changes
Feat
- feat: add carrier-agnostic POST /v1/pickups endpoint with carrier_code and options.connection_id
- feat: add pickup status tracking with lifecycle events (scheduled, picked_up, cancelled, closed)
- feat(core): add pickup status filtering and carrier-agnostic scheduling support
- feat(dashboard): update pickup scheduling to use new carrier-agnostic API
- feat(dashboard): redesign pickup scheduling dialog with relevant karrio pickup fields
- feat(dashboard): add pickup detail sheet with activity timeline, tracking records, and related shipments
- feat(dashboard): add tracker detail page with activity timeline and API logs
- feat(dashboard): add stacked and condensed layout modes to ActivityTimeline component
- feat(dashboard): augment tracker preview sheet with activity section and detail navigation
Fix
- fix(dashboard): prevent infinite re-render loops in list pages and filter components
- fix(dashboard): fix tracker preview sheet showing unrelated activity logs
Fix
- fix(postat): correct SOAP element names in shipment test assertions
Test
- test: extend pickup API test coverage for status transitions and lifecycle events
Chore
- chore: update API schemas and generated types for pickup enhancements
Docs
- docs: add Pickup API Modernization PRD
- docs: prepare PRD for carrier_name/carrier_id future refactoring
- docs: rename carrier connection architecture document
- docs: add Tracker Activity Dashboard Enhancement PRD