Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
5565 commits
Select commit Hold shift + click to select a range
4c27a29
feat: implement API proxy for HTTP communication
Ansh-Dev-Nagar Jan 5, 2026
ef3dc53
feat: implement shipping provider with create and cancel
Ansh-Dev-Nagar Jan 5, 2026
50ec3f2
feat: implement tracking provider with status mapping
Ansh-Dev-Nagar Jan 5, 2026
60bc3cf
feat: implement manifest provider with error handling
Ansh-Dev-Nagar Jan 5, 2026
bbc5ea5
feat: configure plugin metadata with services and options
Ansh-Dev-Nagar Jan 5, 2026
d4989a6
fix: resolve provider implementation issues
Ansh-Dev-Nagar Jan 5, 2026
28fb21a
fix: update test fixtures for Asendia API authentication
Ansh-Dev-Nagar Jan 5, 2026
4e446eb
test: update tests to match Asendia API schema
Ansh-Dev-Nagar Jan 5, 2026
ddf0e97
fix: use --nice-property-names for auth_response schema
Ansh-Dev-Nagar Jan 5, 2026
5bae47f
refactor: add TrackingIncidentReason and enhance tracking events
Ansh-Dev-Nagar Jan 7, 2026
b39a247
fix: use karrio abstraction libs in shipment/create.py
Ansh-Dev-Nagar Jan 7, 2026
4a40d2a
feat: implement per-package request for multi-package shipments
Ansh-Dev-Nagar Jan 7, 2026
c2a2797
fix: enable label bundling for multi-package shipments
Ansh-Dev-Nagar Jan 20, 2026
76ed259
fix: correct tracking status mapping and add helper functions
Ansh-Dev-Nagar Jan 20, 2026
33c8a52
test: add error response tests and print statements for Asendia compl…
Ansh-Dev-Nagar Jan 20, 2026
8149484
feat: products GraphQL API + JSONField in favour of relations
danh91 Jan 20, 2026
975a18a
fix(frontend): add GLS to carrier images
eliottha Jan 20, 2026
feb7e4d
fix(fedex): update signed_by fallback for B2B shipments
eliottha Jan 21, 2026
8f91bdc
refactor: remove duplicate ConnectionConfig from utils.py
Ansh-Dev-Nagar Jan 21, 2026
b65f495
refactor: connections management for better data normalization and op…
danh91 Jan 21, 2026
7eb85f8
feat(orders): add shadcn components and isSheet prop
Ansh-Dev-Nagar Dec 10, 2025
8da3f85
fix(orders): unwrap params Promise for Next.js 15 compatibility
Ansh-Dev-Nagar Dec 10, 2025
dca264a
fix(orders): migrate header to shadcn
Ansh-Dev-Nagar Dec 10, 2025
54333f8
feat(orders): migrate header to shadcn with breadcrumb navigation
Ansh-Dev-Nagar Dec 10, 2025
351e3dd
feat(orders): migrate date and source section
Ansh-Dev-Nagar Dec 10, 2025
f1d1ac3
feat(orders): migrate order details and address sections
Ansh-Dev-Nagar Dec 10, 2025
12deca0
fix(order-menu): prevent crash during order data refetch and show spi…
Ansh-Dev-Nagar Dec 11, 2025
7fe69e2
feat: migrate options section to tailwind
Ansh-Dev-Nagar Jan 4, 2026
9e1a982
feat: migrate billing address section to tailwind
Ansh-Dev-Nagar Jan 4, 2026
be2b064
fix: align ship-to and bill-to text size and add blue color for conta…
Ansh-Dev-Nagar Jan 4, 2026
03860cb
feat: migrate metadata section to EnhancedMetadataEditor
Ansh-Dev-Nagar Jan 4, 2026
101a65c
feat: migrate shipments table to shadcn components
Ansh-Dev-Nagar Jan 4, 2026
0d8df5c
feat: complete order details page migration to tailwind
Ansh-Dev-Nagar Jan 4, 2026
5b3469c
feat: redesign order details with sidebar layout like shipments page
Ansh-Dev-Nagar Jan 4, 2026
244ac98
fix: add outline variant to order menu and improve mobile shipments s…
Ansh-Dev-Nagar Jan 4, 2026
77fcb11
feat: migrate order preview from modal to sheet
Ansh-Dev-Nagar Jan 7, 2026
f60cb23
Merge pull request #937 from karrioapi/Refactor/order-details-shadcn
danh91 Jan 21, 2026
c387bfb
feat: bootstrap Spring carrier extension
Ansh-Dev-Nagar Jan 9, 2026
021d23a
feat: add Spring API JSON schemas based on XBS API documentation
Ansh-Dev-Nagar Jan 9, 2026
b1a3ee8
feat: generate Spring carrier Python dataclasses from JSON schemas
Ansh-Dev-Nagar Jan 9, 2026
84e3508
fix: correct type inference in Spring JSON schemas
Ansh-Dev-Nagar Jan 9, 2026
eb36e1b
feat: implement Spring Settings class with API configuration
Ansh-Dev-Nagar Jan 9, 2026
8098060
feat: add Spring shipping services, options, and tracking status mapp…
Ansh-Dev-Nagar Jan 9, 2026
462bfbe
feat: implement Spring error response parser with ErrorLevel handling
Ansh-Dev-Nagar Jan 10, 2026
12516cc
feat: implement Spring OrderShipment request and response parsing
Ansh-Dev-Nagar Jan 10, 2026
3f93afb
feat: implement Spring proxy with actual API calls for shipment and t…
Ansh-Dev-Nagar Jan 11, 2026
8a780c2
feat: implement Spring VoidShipment for shipment cancellation
Ansh-Dev-Nagar Jan 11, 2026
c14c56a
feat: implement Spring TrackShipment for shipment tracking
Ansh-Dev-Nagar Jan 13, 2026
2b8783a
fix: use generated schema types in Spring cancel.py per guide
Ansh-Dev-Nagar Jan 13, 2026
842f2ea
feat: add comprehensive tests for Spring carrier integration
Ansh-Dev-Nagar Jan 13, 2026
8904fbe
fix: Spring carrier settings, cancel request cleanup, and Products se…
Ansh-Dev-Nagar Jan 13, 2026
5f5c677
fix: update tracking implementation with required event fields and va…
Ansh-Dev-Nagar Jan 13, 2026
9f9ed48
fix: configure Spring plugin metadata with standard pattern
Ansh-Dev-Nagar Jan 13, 2026
1766b6d
feat: add multi-piece shipment support
Ansh-Dev-Nagar Jan 14, 2026
a16be72
fix: use schema types in tracking_request for type safety
Ansh-Dev-Nagar Jan 14, 2026
079ab6d
fix: use lib.join() for location and remove defensive fallbacks
Ansh-Dev-Nagar Jan 14, 2026
09ce6e8
feat: add rating capability using CSV-based services
Ansh-Dev-Nagar Jan 16, 2026
61d6e5a
fix: fix uuid import for shipment reference generation
Ansh-Dev-Nagar Jan 16, 2026
d5a026d
fix: use tracking_number as shipment_identifier for cancel
Ansh-Dev-Nagar Jan 16, 2026
3ea040f
fix: update test fixtures to match shipment_identifier fix
Ansh-Dev-Nagar Jan 17, 2026
f118d2d
build: add Spring connector to requirements files
Ansh-Dev-Nagar Jan 18, 2026
c6d3755
Merge pull request #933 from karrioapi/integration/spring
danh91 Jan 21, 2026
5f10f86
Merge pull request #929 from karrioapi/integration/asendia
danh91 Jan 21, 2026
b14a656
Merge pull request #935 from eliottha/main
danh91 Jan 21, 2026
efe3c49
chore: merge patch-2026.1.2 submodules
danh91 Jan 21, 2026
04421ba
Merge branch 'karrio-patch-2026.1.2' into patch-2026.1.2
danh91 Jan 21, 2026
ff39e88
test: add the tracking tests
danh91 Jan 21, 2026
8c37d80
feat: add event injection API
danh91 Jan 21, 2026
4c93803
fix: addressHouse parsing for dhl_parcel_de
danh91 Jan 22, 2026
2f57b4d
chore: QA + migration integrity + minor fixes for release
danh91 Jan 22, 2026
ab010f7
release: 2026.1.2
danh91 Jan 22, 2026
a5d2621
Merge pull request #938 from karrioapi/karrio-patch-2026.1.2
danh91 Jan 22, 2026
5d847b1
feat: introduce automated release script and gh actionjob
danh91 Jan 22, 2026
5a235be
feat: add multi-piece shipment support
Ansh-Dev-Nagar Jan 22, 2026
e97975f
feat: add missing ratesheet service fields and reconciale migrations
danh91 Jan 22, 2026
8369c2c
feat: add tracking response schema and generated types
Ansh-Dev-Nagar Jan 22, 2026
4e7cc9f
feat: add TrackingStatus and TrackingIncidentReason enums with Hermes…
Ansh-Dev-Nagar Jan 22, 2026
33b95ef
feat: implement tracking functionality with shipment info API
Ansh-Dev-Nagar Jan 22, 2026
7c2c38f
test: add tracking unit tests
Ansh-Dev-Nagar Jan 22, 2026
ee509c3
fix: remove redundant dimension checks and refactor to single tree in…
Ansh-Dev-Nagar Jan 22, 2026
0a68e41
devx: add PRD template and updated AGENTS.md to refer to it for futur…
danh91 Jan 22, 2026
fefa853
feat: restructure dhl_parcel_de billing_number configuration per serv…
danh91 Jan 23, 2026
60fabf5
feat: generate and dump carrier integrations specs in schemas folder
danh91 Jan 23, 2026
63a9c17
refactor: clean up proxy by extracting data processing helpers to utils
Ansh-Dev-Nagar Jan 23, 2026
2a50f58
refactor: use inline headers and clean up comments
Ansh-Dev-Nagar Jan 23, 2026
a176f67
feat: Introduce tax collection service
danh91 Jan 27, 2026
cb9819b
fix: inconsistent address, parcels and products templates GraphQL sig…
danh91 Jan 27, 2026
aed2323
feat: add support for reusable global connection app for dhl_parcel_de
danh91 Jan 27, 2026
40dab87
feat: improve metafield relationship definition and augment all major…
danh91 Jan 28, 2026
fbfb1e4
chore: improve dhl_parcel_de pickup integration with live tests
danh91 Jan 28, 2026
b77de1f
feat: add missing pickup API implementation for REST+Oauth2 UPS integ…
danh91 Jan 28, 2026
8a89f8c
fix: dashboard typing issues causing build regression
danh91 Jan 28, 2026
01787b3
Merge pull request #941 from karrioapi/review/hermes
danh91 Jan 28, 2026
84d426e
feat: migrate dhl_parcel_de to use dedicated xml tracking API instead…
danh91 Jan 28, 2026
9b368f9
fix(logs): set entity_id for failed shipment actions
jacobshilitz Jan 28, 2026
870d323
feat: improve trace display in activity timeline
jacobshilitz Jan 28, 2026
57bd5a9
fix: round FedEx package dimensions to integers
jacobshilitz Jan 28, 2026
5f22b3c
Merge pull request #948 from jacobshilitz/fix/fedex-dimension-rounding
danh91 Jan 29, 2026
2025836
Merge pull request #947 from jacobshilitz/feat/improve-trace-display
danh91 Jan 29, 2026
1b63fff
Merge pull request #946 from jacobshilitz/fix/log-entity-id
danh91 Jan 29, 2026
77a6ee1
feat: end-to-end pickup management with support for recurring + optin…
danh91 Jan 29, 2026
6abf392
merge: pickup refactor
danh91 Jan 29, 2026
3c109b2
fix: Potential fix for code scanning alert no. 59: Clear-text logging…
danh91 Jan 29, 2026
5be8ccc
build(deps): bump next from 15.4.10 to 16.1.5 in /apps/web
dependabot[bot] Jan 29, 2026
0a2522c
build(deps): bump next from 15.4.10 to 16.1.5 in /packages/core
dependabot[bot] Jan 29, 2026
8d0e9f7
feat: SDK service level features, volumetric weight, and static rate …
danh91 Jan 29, 2026
832cc68
feat: rate sheet weight brackets and server-side static rate resolution
danh91 Jan 29, 2026
4d2015c
fix: post_processing closure-in-loop bug when multiple methods regist…
danh91 Jan 29, 2026
ec21c7b
feat: metafield org-aware access control
danh91 Jan 29, 2026
40ec3a3
feat: workspace config preferences and service level features GraphQL…
danh91 Jan 29, 2026
7e5eb59
feat: shipment applied_fees field for accounting
danh91 Jan 29, 2026
c1738eb
refactor: fee model as denormalized snapshot decoupled from FKs
danh91 Jan 29, 2026
bdbcebd
chore: add no-raw-SQL migration rule to AGENTS.md
danh91 Jan 29, 2026
5e51109
chore: prepare PRD for customs field managements based on metafields
danh91 Jan 29, 2026
06ef3b4
feat: enhance usage stats and Markups management
danh91 Jan 29, 2026
11f58cc
release: 2026.1.3
danh91 Jan 29, 2026
d40baee
Merge pull request #944 from karrioapi/patch-2026.1.3
danh91 Jan 30, 2026
19954ff
feat: add HTTP-only cookie authentication for JWT tokens
danh91 Jan 31, 2026
623e86e
feat: enrich carrier connectors with services CSV data and configurat…
danh91 Jan 31, 2026
8b1efe6
fix: various fixes for gateway, pickups, label creation and pricing
danh91 Jan 31, 2026
10bffe8
Merge pull request #949 from karrioapi/dependabot/npm_and_yarn/apps/w…
danh91 Jan 31, 2026
04ca23e
Merge pull request #950 from karrioapi/dependabot/npm_and_yarn/packag…
danh91 Jan 31, 2026
dcf7ac3
sec(fix): Potential fix for code scanning alert no. 60: Construction …
danh91 Jan 31, 2026
98e4442
release: 2026.1.4
danh91 Jan 31, 2026
6ada001
Delete packages/types/tsconfig.tsbuildinfo
danh91 Jan 31, 2026
3c65577
Merge pull request #952 from karrioapi/fix-drifts
danh91 Jan 31, 2026
d6d576d
fix(fedex): fix TypeError in pickup cancel response parsing when outp…
Ansh-Dev-Nagar Feb 2, 2026
816a31b
docs: add Pickup API Modernization PRD
danh91 Jan 31, 2026
7229c0c
feat: add carrier-agnostic POST /v1/pickups endpoint
danh91 Jan 31, 2026
97fac5d
feat(dashboard): update pickup scheduling to use new carrier-agnostic…
danh91 Jan 31, 2026
4501c21
docs: prepare PRD for carrier_name/carrier_id future refactoring
danh91 Jan 31, 2026
1e8fdba
feat: add pickup status tracking with lifecycle events
danh91 Feb 1, 2026
6c57646
feat(core): add pickup status filtering and carrier-agnostic scheduli…
danh91 Feb 1, 2026
2ff1378
chore: update API schemas and generated types for pickup enhancements
danh91 Feb 1, 2026
8835e98
feat(dashboard): update pickup scheduling dialog and hooks
danh91 Feb 1, 2026
cde01c5
feat(dashboard): add pickup detail sheet with activity timeline
danh91 Feb 1, 2026
d5c948b
test: extend pickup API test coverage
danh91 Feb 1, 2026
b505a31
docs: rename carrier connection architecture document
danh91 Feb 1, 2026
5c23965
docs: update changelog for 2026.1.5 pickup enhancements
danh91 Feb 1, 2026
bb53111
fix: use application/glsVersion1+json Content-Type for GLS ShipIT Far…
Ansh-Dev-Nagar Jan 31, 2026
4a060d0
fix: align shipment schemas with vendor spec and fix request building
Ansh-Dev-Nagar Jan 31, 2026
6330e69
fix: handle all GLS error response formats in on_error handler
Ansh-Dev-Nagar Jan 31, 2026
83d8282
fix: align shipment request fields with GLS ShipIT Farm API spec
Ansh-Dev-Nagar Jan 31, 2026
3097532
fix: add contact_id as top-level Settings field
Ansh-Dev-Nagar Feb 2, 2026
96e39ac
fix: use safe dict access for service_levels in dataunits.py to preve…
Ansh-Dev-Nagar Jan 28, 2026
aa76094
fix: add custom SOAP serializer with proper namespace prefixes and el…
Ansh-Dev-Nagar Jan 28, 2026
df29952
fix: improve error parsing, add service_levels metadata, and fix test…
Ansh-Dev-Nagar Jan 28, 2026
be19baf
fix: add proper JSON schemas from OpenAPI and fix schema generation
Ansh-Dev-Nagar Jan 25, 2026
9dd596c
fix: add TrackingIncidentReason enum and reason field in tracking events
Ansh-Dev-Nagar Jan 25, 2026
9cd8614
fix: add cancel_response.json schema for shipment cancellation
Ansh-Dev-Nagar Jan 26, 2026
aab76f3
fix: postAT tests regression
danh91 Feb 3, 2026
7878734
feat: add tracker detail page with activity timeline and API logs
danh91 Feb 3, 2026
fef764b
fix: prevent infinite re-render loops in list pages and filter compon…
danh91 Feb 3, 2026
05b5022
sec(fix): sandbox Jinja2 template rendering to prevent SSTI (CVE)
danh91 Feb 4, 2026
a8fc0f0
feat: sync rate sheet editor enhancements and carrier config
danh91 Feb 5, 2026
f904111
chore: prepare changelog for release
danh91 Feb 5, 2026
2371402
release: 2026.1.5
danh91 Feb 5, 2026
f43b57d
Merge pull request #953 from karrioapi/patch-2026.1.5
danh91 Feb 5, 2026
594c7f3
feat: add ReturnShipment model for capturing return label data from c…
danh91 Feb 7, 2026
7647562
feat(dhl_parcel_de): extract return shipment tracking number from shi…
danh91 Feb 7, 2026
49b822e
chore: update GraphQL schema and TypeScript types for return_shipment…
danh91 Feb 7, 2026
9fa52a7
test: add return_shipment server tests and update shipment fixtures
danh91 Feb 7, 2026
a0160eb
chore: prepare changelog for 2026.1.6 return shipment support
danh91 Feb 7, 2026
0033c0e
fix: guard against None shipment in update_shipment_tracker
danh91 Feb 7, 2026
0dd513c
fix: handle interrupted migration recovery for markup and fee tables
danh91 Feb 7, 2026
94e41a2
docs: add Return Shipment Data Support PRD
danh91 Feb 7, 2026
aeb1dbe
fix: add return_shipment to proxy and orders test fixtures
danh91 Feb 7, 2026
95b06a2
chore: fix regression causing humongous dashboard docker images
danh91 Feb 8, 2026
3f1707d
fix: optimize server/insiders Docker builds and align CI workflows
danh91 Feb 8, 2026
f21c7dc
core: handle non-string request data in process_request
HansDaigle Feb 9, 2026
e4adf15
fix: update DPD Meta product codes to match API enumeration and fix p…
Ansh-Dev-Nagar Feb 9, 2026
7fd7d6b
fix: move dpd_bucode to direct setting field and enable intl accounts
Ansh-Dev-Nagar Feb 9, 2026
d5ebf1e
fix: replace invalid parcel references with senderParcelRefs per API …
Ansh-Dev-Nagar Feb 9, 2026
f55c249
fix: add error_decoder to proxy, improve error/response parsing, and …
Ansh-Dev-Nagar Feb 9, 2026
194403b
fix: use lib.text for state field truncation and error message limits
Ansh-Dev-Nagar Feb 10, 2026
41a3cf4
Merge pull request #959 from karrioapi/review/dpd_meta
danh91 Feb 10, 2026
4e1e15e
Merge pull request #958 from HansDaigle/fix-process-request-nonstring…
danh91 Feb 10, 2026
f3fa7dd
fix: add type annotation and fix indentation in process_request
danh91 Feb 10, 2026
d41e1a9
feat: add return_address and billing_address to RateRequest serializer
danh91 Feb 10, 2026
ed8cea8
feat(ups): add ReturnServiceCode enum and wire return shipment respon…
danh91 Feb 10, 2026
e272f23
feat(fedex): wire returnShipmentDetail and parse return shipment resp…
danh91 Feb 10, 2026
ccbd647
feat(canadapost): extract return_tracking_pin and wire return shipmen…
danh91 Feb 10, 2026
2873b3e
feat(usps): parse returnLabelMetadata and wire return shipment respon…
danh91 Feb 10, 2026
9a91c5d
docs: update RETURNS_SUPPORT PRD with carrier implementation status
danh91 Feb 10, 2026
d27cd5c
chore: update API schemas and generated types
danh91 Feb 10, 2026
4fca2cd
feat(elements): add embeddable elements package with rate sheet edito…
danh91 Feb 11, 2026
54c7a02
feat(elements): add embeddable document template editor element
danh91 Feb 11, 2026
3957425
feat(elements): add embeddable carrier connections management element
danh91 Feb 11, 2026
099c2bf
chore: build elements and bundle static with karrio server
danh91 Feb 11, 2026
6c66518
fix(elements): use Django static path for iframe and script sources
danh91 Feb 11, 2026
7a962d6
chore: Potential fix for code scanning alert no. 61: DOM text reinter…
danh91 Feb 11, 2026
d4dacfd
fix: correct pickup schema types and add missing vendor fields
Ansh-Dev-Nagar Feb 11, 2026
4d6049d
fix: fix pickup time format, weight handling and response parsing
Ansh-Dev-Nagar Feb 11, 2026
d8a89d2
fix: extract sendingDepot from JWT and inject into pickup requests
Ansh-Dev-Nagar Feb 11, 2026
97e058f
fix: allow shipment cancellation when pickup is cancelled
Ansh-Dev-Nagar Feb 11, 2026
01af35a
fix: sync N+1 query fixes, JSON field clearing, and pickup status mig…
danh91 Feb 11, 2026
721487b
release: 2026.1.6
danh91 Feb 11, 2026
5c97b7d
fix: background tracker failures and landmark tracking issues
danh91 Feb 11, 2026
3accdf0
feat(dashboard): enhanced filtering, copy, and shipment preview impro…
danh91 Feb 11, 2026
306f791
fix: return shipment support for DHL Parcel DE and FedEx rating
danh91 Feb 11, 2026
853df15
fix: resolve migration error for providers.carrier rename
danh91 Feb 12, 2026
7903ff9
fix: resolve migration circular dependency for providers.carrier rename
danh91 Feb 12, 2026
fea3854
Merge pull request #957 from karrioapi/patch-2026.1.6
danh91 Feb 12, 2026
593554d
fix: add libc6-dev to Docker compile stage for pyzint C extension
danh91 Feb 12, 2026
022ebc6
fix: dashboard docker build - copy entrypoint from prune stage
danh91 Feb 12, 2026
7a89ca9
Merge pull request #960 from karrioapi/fixes(pickup)/dpd_meta
danh91 Feb 12, 2026
41df6e8
fix: pass meta to update_tracker on API-triggered tracker refresh
danh91 Feb 12, 2026
cf06749
fix: correct OrderFilter typo ontion_key/ontion_value -> option_key/o…
danh91 Feb 12, 2026
6baaefc
release: 2026.1.7
danh91 Feb 12, 2026
7b58ac6
release: 2026.1.7
danh91 Feb 12, 2026
9c8c733
Merge pull request #961 from karrioapi/patch-2026.1.7
danh91 Feb 12, 2026
259a5ac
fix: ensure background tasks execute when no async worker is available
danh91 Feb 12, 2026
3c9b6da
fix: pin django-health-check<4 to prevent v4.0 breaking import
danh91 Feb 12, 2026
c677298
fix: migrate to django-health-check v4.0
danh91 Feb 12, 2026
5c16272
release: 2026.1.8
danh91 Feb 12, 2026
705af38
refactor: add pre_connection_create signal and pre_create_check decor…
danh91 Feb 12, 2026
2d45590
refactor: remove signal decorator from base.py, keep core decoupled
danh91 Feb 12, 2026
8ac6c67
refactor: replace signal+decorator with pre_processing class decorato…
danh91 Feb 12, 2026
d6d03ff
Merge pull request #962 from karrioapi/patch-2026.1.8
danh91 Feb 12, 2026
2f8cbc8
refactor: replace monolithic tracker update with dispatcher + per-car…
danh91 Feb 14, 2026
de5e878
refactor: clean up tracking pipeline and add task lock for deduplication
danh91 Feb 14, 2026
add3385
docs: add PRDs for admin worker monitoring and devtools tracing
danh91 Feb 14, 2026
7027f4f
refactor: relocate carrier integration skills from CLI to SKILLS/
danh91 Feb 14, 2026
42e4298
refactor: move admin module from ee/insiders to OSS
danh91 Feb 14, 2026
ac72070
chore: regenerate schemas and frontend types
danh91 Feb 14, 2026
d154f6e
refactor: split admin GraphQL into admin/ and admin-ee/ for OSS/EE se…
danh91 Feb 14, 2026
264691c
feat: add worker monitoring and system health views to developer tools
danh91 Feb 14, 2026
563e7d6
feat: add event timeline with tracing records and dedicated tracing view
danh91 Feb 14, 2026
ce0f36b
feat: add dynamic carrier config fieldsets to platform admin
danh91 Feb 14, 2026
f091727
feat: merge tracker logs and events into shipment activity timeline
danh91 Feb 14, 2026
a9bd52c
feat: add carrier network link to admin sidebar
danh91 Feb 14, 2026
40dd296
fix: resolve auth token caching issues causing repeated OAuth requests
danh91 Feb 14, 2026
d6c7d7e
fix: update nextra import paths for v4 compatibility
danh91 Feb 14, 2026
fdcdc8e
feat: add webhook event replay with event_id support
danh91 Feb 14, 2026
40cf0ab
feat: enhance shipments and trackers list views with rate and destina…
danh91 Feb 14, 2026
dc87c66
refactor: improve developer tools drawer and views
danh91 Feb 14, 2026
67011be
feat: add rate sheet editor to connections element and strip carrier …
danh91 Feb 14, 2026
206f6a2
chore: add JS client and elements build steps to CI workflows
danh91 Feb 14, 2026
5d2336d
chore: update built element static assets
danh91 Feb 14, 2026
abc1510
chore: update insiders submodule
danh91 Feb 14, 2026
1a05ae3
fix: web app regression
danh91 Feb 14, 2026
0137783
release: 2026.1.9
danh91 Feb 14, 2026
b2ac21f
Merge pull request #964 from karrioapi/patch-2026.1.9
danh91 Feb 14, 2026
e2ddf22
fix: resolve OSS admin bugs and developer tools issues
danh91 Feb 15, 2026
ad759a5
release: 2026.1.10
danh91 Feb 15, 2026
90dcf5a
Merge pull request #965 from karrioapi/patch-2026.1.10
danh91 Feb 15, 2026
162cba8
Patch 2026.1.11 (#967)
danh91 Feb 17, 2026
bb62c13
canadapost: normalize tracking event status mapping
HansDaigle Feb 19, 2026
3be7ed5
canadapost: drop unused legacy TrackingStatus enum
HansDaigle Feb 19, 2026
6ff2c9a
canadapost: parse tracking-detail root responses
HansDaigle Feb 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
11 changes: 11 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# .coveragerc to control coverage.py
[run]
branch = True
omit =
*/sdk/extensions/dicom/*

[report]
include =
*/sdk/core/*
*/sdk/extensions/*
*/sdk/vendors/*
27 changes: 27 additions & 0 deletions .cursor/rules/api.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"name": "Karrio API Rules",
"description": "Rules specific to the Django API backend service in the Karrio monorepo",
"match": "apps/api/**/*.py",
"rules": [
"Follow Django's MVT (Model-View-Template) architecture pattern.",
"Use Django Rest Framework's class-based views for API endpoints.",
"Implement proper input validation using serializers and validators.",
"Use consistent error response formats across all API endpoints.",
"Document API endpoints with clear docstrings and examples.",
"Implement proper authentication and authorization checks for protected endpoints.",
"Use Django's ORM effectively with select_related and prefetch_related to optimize database queries.",
"Follow Django's QuerySet API for efficient database operations.",
"Implement proper pagination for list endpoints.",
"Use Django signals judiciously for decoupled event handling.",
"Follow the established pattern for API versioning.",
"Use appropriate HTTP status codes for different response types.",
"Maintain backward compatibility for public APIs when making changes.",
"Implement proper logging for debugging and monitoring purposes.",
"Use Django's middleware for cross-cutting concerns.",
"Follow Django's best practices for form validation and processing.",
"Use Django's built-in security features for protection against common vulnerabilities."
],
"files": [
"@file:apps/api/README.md"
]
}
18 changes: 18 additions & 0 deletions .cursor/rules/base.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"name": "Karrio Base Rules",
"description": "Base rules that apply to the entire karrio monorepo, ensuring consistent coding standards across all components",
"match": "**/*",
"rules": [
"You are assisting with the Karrio open source project, a multi-carrier shipping API that simplifies shipping carrier integration.",
"This is a monorepo structured with frontend apps (dashboard, web) in TypeScript/Next.js and backend services in Python.",
"The project is organized into distinct sections: apps (Next.js frontends and Django API), modules (Python core functionality submodules), packages (shared TypeScript/Node.js libraries), and connectors (carrier-specific integrations).",
"Maintain consistent code style and follow existing patterns in each file you edit.",
"Always maintain type safety in TypeScript files and use proper type annotations in Python.",
"Keep responses concise and focused on the specific task at hand.",
"Follow the project's existing naming conventions and architecture patterns.",
"When suggesting changes to code, ensure they are compatible with the rest of the codebase.",
"Prioritize clear, maintainable code over clever solutions.",
"Understand cross-dependencies between modules, connectors, and frontend applications.",
"Focus on writing testable, reusable code that adheres to the established patterns in each part of the codebase."
]
}
22 changes: 22 additions & 0 deletions .cursor/rules/connectors.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"name": "Karrio Connectors Rules",
"description": "Rules specific to carrier integration connectors in the Karrio monorepo",
"match": "modules/connectors/**/*.py",
"rules": [
"Karrio connectors implement shipping carrier integrations following a consistent pattern.",
"Each connector should implement the established interface for its carrier type.",
"Maintain a clear separation between carrier-specific logic and the common integration patterns.",
"Follow the established error handling and retry patterns for API integrations.",
"Implement proper logging for debugging and tracing carrier API interactions.",
"Use appropriate data validation for both request and response data.",
"Handle carrier API rate limits and implement backoff strategies where needed.",
"Document carrier-specific requirements and quirks in code comments.",
"Follow the existing patterns for credential management and security.",
"Implement comprehensive error mapping from carrier-specific errors to Karrio's standardized errors.",
"Use HTTP client libraries consistently within connectors following established patterns.",
"Ensure proper handling of carrier API versioning.",
"Follow established testing patterns for carrier integrations, including mock responses.",
"Implement proper request/response caching strategies where appropriate.",
"Keep carrier-specific code isolated within the connector boundary."
]
}
22 changes: 22 additions & 0 deletions .cursor/rules/data-fetching.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"name": "Karrio Data Fetching Rules",
"description": "Rules specific to data fetching patterns in frontend applications",
"match": "apps/{dashboard,web,www}/**/*.{ts,tsx}",
"rules": [
"Follow established data fetching patterns in the codebase.",
"Use custom hooks for encapsulating data fetching logic.",
"Implement proper loading, error, and success states for all data fetching operations.",
"Follow consistent patterns for API request structure and error handling.",
"Implement proper caching strategies for fetched data.",
"Use optimistic updates for mutations where appropriate.",
"Implement proper retry logic for failed requests.",
"Use suspense boundaries for loading states where applicable.",
"Follow established patterns for request cancellation.",
"Implement proper pagination logic for list data.",
"Use proper typing for API responses and request payloads.",
"Implement proper state management for form submissions.",
"Follow established patterns for authentication and authorization in API requests.",
"Use proper error handling and user feedback for failed requests.",
"Implement data prefetching where appropriate for improved user experience."
]
}
22 changes: 22 additions & 0 deletions .cursor/rules/modules.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"name": "Karrio Modules Rules",
"description": "Rules specific to the Python modules in the Karrio monorepo",
"match": "modules/**/*.py",
"rules": [
"Karrio uses a modular architecture where core functionality is divided into focused Python modules.",
"Each module should have a clear single responsibility and well-defined interfaces.",
"Follow the existing module structure and organization patterns.",
"Use relative imports within the same module and absolute imports across different modules.",
"Implement proper error handling and propagation between modules.",
"Keep modules loosely coupled to facilitate testing and maintainability.",
"Ensure each module has appropriate unit tests covering core functionality.",
"Follow the factory pattern for service creation where applicable.",
"Use dependency injection to manage module dependencies.",
"Document module interfaces thoroughly with clear usage examples.",
"Maintain backward compatibility when making changes to module interfaces.",
"Avoid circular dependencies between modules.",
"Implement clean module boundaries with well-defined public APIs.",
"Use descriptive, domain-specific naming for module components.",
"Follow the established error handling patterns for each module type."
]
}
29 changes: 29 additions & 0 deletions .cursor/rules/nextjs.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"name": "Karrio Next.js Rules",
"description": "Rules specific to Next.js applications in the Karrio monorepo",
"match": "apps/{dashboard,web,www}/**/*.{tsx,ts}",
"rules": [
"Follow Next.js App Router best practices for routing and data fetching.",
"Use server components where appropriate to reduce client-side JavaScript.",
"Implement proper error boundaries and loading states for all async operations.",
"Follow the established pattern for API calls and data fetching.",
"Use Next.js Image component for optimized image loading.",
"Implement proper SEO practices using Next.js metadata API.",
"Follow the project's established component structure for pages and layouts.",
"Use the shared UI components from the packages/ui directory when possible.",
"Implement responsive designs using Tailwind CSS with a mobile-first approach.",
"Follow accessibility best practices for all UI components.",
"Minimize 'use client' directives, using them only when necessary for Web API access.",
"Prefer server-side data fetching over client-side fetching where appropriate.",
"Use error.tsx and global-error.tsx for graceful error handling.",
"Implement proper dynamic loading for non-critical components.",
"Follow React best practices for memoization and performance optimization.",
"Keep components focused and maintainable.",
"Implement proper form validation using established patterns.",
"Optimize for Core Web Vitals metrics (LCP, CLS, FID)."
],
"files": [
"@file:apps/dashboard/package.json",
"@file:apps/web/package.json"
]
}
26 changes: 26 additions & 0 deletions .cursor/rules/project-context.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"name": "Karrio Project Context",
"description": "Provides context about the Karrio project structure and key documentation",
"match": "**/*",
"rules": [
"Karrio is a multi-carrier shipping API that simplifies shipping carrier integration.",
"The monorepo structure consists of frontend apps (Next.js), backend API (Python/Django), and shared packages.",
"Key components of the architecture include:",
"- apps/: Contains frontend applications (dashboard, web, www) and the Django API backend",
"- modules/: Core Python functionality divided into focused submodules",
"- modules/connectors/: Carrier-specific integrations following a common pattern",
"- packages/: Shared TypeScript/Node.js libraries used across frontend applications",
"- schemas/: API schema definitions",
"- plugins/: Extensions and plugin implementations",
"Refer to the README.md for project overview and getting started information.",
"Follow the established architecture patterns and best practices documented in the codebase.",
"Understand the cross-cutting concerns and relationships between different parts of the system.",
"Maintain consistency with the existing codebase when making changes."
],
"files": [
"@file:README.md",
"@file:CHANGELOG.md",
"@file:apps/api/README.md",
"@file:turbo.json"
]
}
24 changes: 24 additions & 0 deletions .cursor/rules/python.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
{
"name": "Karrio Python Rules",
"description": "Rules specific to Python files in the Karrio monorepo, particularly for modules and connectors",
"match": "**/*.py",
"rules": [
"Follow PEP 8 style guidelines for Python code.",
"Use type hints for function parameters and return values using Python's typing module.",
"Document functions and classes with clear docstrings following the existing pattern.",
"Use proper exception handling with specific exception types; avoid bare except clauses.",
"Maintain consistent error handling patterns across the codebase.",
"Follow RESTful API design principles for API endpoints.",
"Use descriptive variable and function names that clearly indicate their purpose.",
"Keep functions focused on a single responsibility following SOLID principles.",
"Ensure new code has appropriate test coverage.",
"Follow existing patterns for dependency injection and configuration management.",
"Maintain backward compatibility for public APIs when making changes.",
"When working with modules, follow the established submodule pattern and respect module boundaries.",
"Understand the dependencies between modules and avoid creating circular dependencies.",
"For carrier connectors, follow the established interface patterns to maintain consistency across integrations.",
"Prefer composition over inheritance where appropriate.",
"Use Python 3.8+ features appropriately, including walrus operator, dataclasses, and improved typing.",
"For Django code, follow Django's best practices for models, views, and ORM usage."
]
}
29 changes: 29 additions & 0 deletions .cursor/rules/shared-packages.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"name": "Karrio Shared Packages Rules",
"description": "Rules specific to shared packages in the Karrio monorepo",
"match": "packages/**/*.{ts,tsx}",
"rules": [
"Design shared components and utilities for reusability across multiple applications.",
"Provide comprehensive TypeScript types for all exported functions and components.",
"Document public APIs with clear examples and usage patterns.",
"Follow semantic versioning principles when making changes to shared packages.",
"Ensure backward compatibility or provide clear migration paths for breaking changes.",
"Implement proper unit tests for all shared functionality.",
"Keep shared components focused and avoid app-specific logic in shared packages.",
"Minimize external dependencies in shared packages.",
"Use consistent naming and organization patterns across shared packages.",
"Document any side effects or special considerations for shared utilities.",
"Follow established folder structure patterns: components/, hooks/, utils/, types/, etc.",
"Implement proper prop validation for React components.",
"Create custom hooks for reusable logic following the 'use' prefix convention.",
"Export types and interfaces for consumers to use.",
"Ensure components are responsive and accessible by default.",
"Implement proper memoization for expensive operations.",
"Use code splitting techniques for larger packages.",
"Follow established patterns for context providers and state management."
],
"files": [
"@file:packages/ui/package.json",
"@file:packages/core/package.json"
]
}
26 changes: 26 additions & 0 deletions .cursor/rules/typescript.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
{
"name": "Karrio TypeScript Rules",
"description": "Rules specific to TypeScript files in the Karrio monorepo",
"match": "**/*.{ts,tsx}",
"rules": [
"Follow TypeScript best practices with strict type checking.",
"Use proper type annotations and avoid using 'any' type when possible.",
"Prefer interfaces over types for object definitions.",
"Use explicit return types for functions, especially public APIs.",
"Prefer functional components with hooks in React code.",
"Use functional, declarative programming patterns.",
"For Next.js components, follow Next.js app router patterns where applicable.",
"Use named exports instead of default exports where possible.",
"Use async/await for asynchronous operations instead of Promises with then/catch.",
"Maintain consistent error handling patterns across the codebase.",
"Use destructuring for props in React components.",
"Follow the project's existing component structure and naming conventions.",
"Use descriptive variable names with auxiliary verbs (e.g., isLoading, hasError).",
"Use Tailwind classes according to the project's established pattern.",
"Implement proper error boundaries for React components.",
"For state management, follow the existing patterns in the codebase.",
"Minimize the use of any third-party state management solutions unless already established in the project.",
"Place static content and interfaces at the end of files.",
"Write reusable, testable utility functions."
]
}
6 changes: 6 additions & 0 deletions .cursorignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Exception: Allow specific .env files for development
!.env.local
!.env.sample
!**/.env.local
!**/.env.sample
!**/docker/.env
51 changes: 51 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# https://editorconfig.org/

root = true

[*]
indent_style = space
indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true
end_of_line = lf
charset = utf-8

# Docstrings and comments use max_line_length = 79
[*.py]
max_line_length = 119

# Use 2 spaces for the HTML files
[*.html]
indent_size = 2

# The JSON files contain newlines inconsistently
[*.json]
indent_size = 2
insert_final_newline = ignore

[**.{ts,json,js,tsx}]
end_of_line = crlf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
indent_style = space
indent_size = 2

# Minified JavaScript files shouldn't be changed
[**.min.js]
indent_style = ignore
insert_final_newline = ignore

# Makefiles always use tabs for indentation
[Makefile]
indent_style = tab

# Batch files use tabs for indentation
[*.bat]
indent_style = tab

[docs/**.txt]
max_line_length = 79

[*.yml]
indent_size = 2
Loading