Skip to content

Releases: karrioapi/karrio

Karrio patch 2026.1.14

21 Feb 02:44
e9fbb23

Choose a tag to compare

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

21 Feb 00:50

Choose a tag to compare

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

20 Feb 22:58
03d6dc0

Choose a tag to compare

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

17 Feb 12:26
162cba8

Choose a tag to compare

Changes

Feat

  • feat: add markup feature gating with meta.feature_gate for 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

15 Feb 02:39
90dcf5a

Choose a tag to compare

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

14 Feb 22:14
b2ac21f

Choose a tag to compare

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

12 Feb 21:52
d6d03ff

Choose a tag to compare

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

12 Feb 06:30
9c8c733

Choose a tag to compare

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

12 Feb 01:29

Choose a tag to compare

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_id and carrier_code fields in shipment connection details
  • fix(dashboard): use keyword instead of query for 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 keyword field 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

05 Feb 07:12
f43b57d

Choose a tag to compare

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