Karrio 2024.12.6
Changes
Fix
- fix: fix incorrect nip number (@DarkSwoop)
Karrio 2024.12.5
Changes
Feat
- feat: add integration_status to connectors metadata
- feat: introduce codegen cli to replace old quicktype script
- feat: make dhl_parcel_de label_type configurable
- feat(WIP): app template
Fix
- fix: remove shipping dates options from shipment during duplicate
- fix: update dhl_parcel_de address data mapping based on feedback and API specs
Chore
- chore: clean up left-over package named normalization
- chore: improve alignment of code preview
- chore: fix responsiveness across the platform website
- chore: update script for ee dev setup
Karrio 2024.12.4
Changes
Feat
- feat: set fedex commodity values fallback to 0.0 when not provided
- feat: Update pricing: increase Scale plan improve layout
Docs
- docs: Update documentation: separate static collection step and database migration
Fix
- fix: order duplicates issue happening on oss build
- fix: dict utility parsing warning
Chore
- chore: add tests for order_id duplication test
- devx: “Remove pycairo dependency” (@ShaddyB1)
Karrio 2024.12.3
Changes
Feat
- feat: prevent Resize unconsequential event from causing full page crash
- feat: remove DHL destination pre-check
Fix
- fix: org creation bug and hidden organization config in insiders
- fix: update default values caused by
constanceupdate
Chore
- deploy: Karrio Platform build
Karrio 2024.12.2
Changes
Fix
- fix: dashboard build issue with next.config.js
Chore
- chore: add tests for fedex phone number formatting
Karrio 2024.12.1
Changes
Feat
- feat: setup deployment for karrio-platform
- feat: design platform config page
- feat: introduce optional customs field to RateRequest unified model for future support of customs declaration at rate level
- chore: update LICENSE to clarify directories exception as more and more insiders and ee code will be added to the core repository
- feat: Introduce PRD and Documentation folder to improve AI editors understanding of the project
- feat(WIP): reimplementing karrio admin with new stack trpc|tailwind|shadcn
- feat: enrich and improve GraphQL interfaces for rate sheet management
- feat: introduce @karrio/trpc and dedicated admin packages
- feat: add user_count to system usage stats
- feat: Introduce Karrio platform GrapQL client
- feat: add new components for custom apps
Fix
- fix: fedex phone number parsing with trimming (#768)
- fix: admin header design
Karrio 2024.12
Changes
Feat
- feat: consolidate ups signature data mapping with live tests
- feat: merge new events with existing ones while tracking event updates
- feat: trigger webhook updates when the events list changes
- feat: reset webhook
failure_streak_countto 0 when re-enabled - feat: use direct SVG rendering for generic and unknown carrier logos
Fix
- fix: custom carrier service reference parsing
- fix: easyship rate other surcharges amount parsing
- fix: seko error response parsing
- fix: track-shipment-modal loading issue when references haven’t been resolved yet
Karrio 2024.12.rc12
Changes
Feat
- feat: add
currencyto SEKO connection config
Fix
- fix:
upsdelivery confirmation data mapping (#749)
Karrio 2024.12.rc11
Changes
Fix
- fix: seko package description truncation
Karrio 2024.12.rc10
Changes
Fix
- fix: seko tracking event parsing
Karrio 2024.12.rc9
Changes
Feat
- feat: fix wording in webhooks test modal
- feat: make seko event Omnicode take precedence over default Code
- feat: add
REDIS_PREFIXfor redis prefix configuration - feat: add more testing data sample for webhook testing
Fix
- fix: docker entrypoints with proper DETACHED_WORKER flag check
- fix: easyship simple tracking support
Chore
- chore: add new carrier logos
Docs
- docs:
REDIS_PREFIXenv documentation
Karrio 2024.12rc8
Changes
Feat
- feat: Add minimal webhook back off retries
Fix
- fix: seko tracking event ordering
Karrio 2024.12rc7
Changes
Feat
- feat: clean up
SEKOshipment meta to collecte delegated Carrier details
Fix
- fix: document generator invalid closing statement
Karrio 2024.12rc6
Changes
Fix
- fix:
sekotracking event date parsing - fix: karrio image default user set up
Karrio 2024.12rc5
Changes
Fix
- hotfix:
upsdelivery confirmation data mapping - hotfix: regression on document generation caused by invalid html.close on weasyprint
Karrio 2024.12rc4
Changes
Feat
- feat: add missing shipping options mapping for
upscarrier - feat: add support for
usps*https://developer-cat.usps.com/ API
Karrio 2024.12rc3
Changes
Feat
- feat: improve document generation by closing pdf writer
- feat: ensure shipping date for
sapientis set to UTC before applying next_business_day calculation - feat: Add new shadcn components for karrio UI kit
Fix
- fix: oauth login error message parsing
Karrio 2024.12rc2
Changes
Feat
- feat: replace treepoem/ghostscript by zint/pyzint for barcode generation
Chore
- chore: update Dockerfiles metadata
- chore: update Dockerfiles away from deprecated env vars declaration
- chore: handle oss install with dockerless
Fix
- fix: dashboard runtime environment variables issues
Karrio 2024.12rc1
Changes
Feat
- feat(WIP): introduce new customizable dashboard with a new stack shacdn|tailwind|radix|tanstack
- feat: Introduce advanced Karrio CLI features with API connectivity and data query
- feat: make rate limit configurable using env vars (#589)
Fix
- fix:
uspsAPI proxy and payment authentication (#709) - fix: version freeze git reference for
dockerlessinstall (#721) - fix: invalid reference useSystemConnection causing permission error (#706)
- fix: Consolidate
fedexduties payor definition with missing account number with live tests (#718, #697) - fix: issue with
shipping_dateandshipment_datebeing set to None and options getting overridden
Karrio 2024.9.15
Changes
Fix
- fix:
fedexpayor info data mapping #718 - fix: easyship required defaults and max contact name size
Karrio 2024.9.14
Changes
Feat
- feat: switch export line item description to description (
dhl express) @DarkSwoop
Karrio 2024.9.13
Changes
Feat
- feat: use actual city as fallback value for seko shipment state addresses
Fix
- fix: fedex payment account numbers assignments
Chore
- deps: add back pycairo as optional dependency on macos
Karrio 2024.9.12
Fix
- fix: missing dependencies in the build process
Karrio 2024.9.11
Changes
Feat
- feat: consolidate SEKO printlabel for EU shipments
- feat: skip customs declaration for sapient when not international shipment
- feat: add DAP incoterms
- feat: make start-server script port configurable through env var
Chore
- deps: add pycairo as dependency for document generation Macos compatibility
Karrio 2024.9.10
Changes
Feat
- feat: add support for additional seko_reference_*
- feat: add rate_provider mapping to sapient integration and refactor sapient_carrier_code references to avoid clash with carrier_code reserved field
- feat: Introduce document template options field for pre-rendering optimization
Fix
- fix: shipment parsing when label generation fails but shipment creation succeeds
Karrio 2024.9.9
Changes
Fix
- hotfix:
upsrate service charge parsing regression
Karrio 2024.9.8
Changes
Fix
- fix:
upsproduct origin country code mapping - fix:
upsups_worldwide_expressproduct code mapping
Karrio 2024.9.7
Changes
Feat
- feat: Add
system_usageto basegraphqltypes
Chore
- remove deprecated
karrio.server.adminmodule from OSS build
Karrio 2024.9.6
Changes
Fix
- fix:
upsEU rate code parsing using context origin
Karrio 2024.9.5
Changes
Feat
- feat: Add
Duplicate Shipmentaction to shipment menu (#680)
Fix
- fix:
upsTotalCharge parsing fornegotiated_rates(#703)
Karrio 2024.9.4
Changes
Feat
- feat: Add
service_leveltosapientcarrier connection settings
Karrio 2024.9.3
Changes
Feat
- feat: Add fallback values for
easyshiprate requestparcels.items
Karrio 2024.9.2
Changes
Fix
- fix:
upsTotalCharge parsing fornegotiated_rates
Karrio 2024.9.1
Changes
Chore
- remove
strawberry-graphql-djangodependency as it is not fully integrate for the value it is supposed to provide
Karrio 2024.9
Changes
Feat
- feat: Easyship integration (#569)
- feat: Add
pickupsupport forfedexJSON API integration (#690) - feat: introduce
shipping_datefield ofdatetimetype and deprecateshipment_dateofdatetype to capture time for carriers that expect full futuredatetimeship date values. - feat: Add dhl_express content description for insurance (#694)
Fix
- fix:
eshippercarrier and services mapping (#675) - fix:
canadapostnon-uniq shipment group_id across account (#679) - fix:
fedex_wspickup request encoding (#690) - fix: organization GraphQL queries running on OSS build (#687)
- fix: Nextjs cache build issue (#688)
Patch 2024.6.7
Changes
Fix
- hotfix:
canadapostgroup_id invalid string format #686
Patch 2024.6.6
Changes
Fix
- fix:
canadapostshipment identifier data mapping (#683)
Patch 2024.6.5
Changes
Devx
- devx: improve karrio docker container startup with healthchecks #684
Patch 2024.6.4
Changes
Feature
- feat: Add field to unified class for future support of message level
Chore
- chore: Add tests for
UPSEU rates parsing - chore: make ups upper case for uniform charges details
- chore: use localhost address for default
NEXT_PUBLIC_KARRIO_PUBLIC_URLduring build
Refactor
- refactor: #673
Patch 2024.6.3
Changes
Feat
- feat: bootstrap
sekocarrier extension - feat: prepare
sekorequests schemas - feat: test drive
sekorequest mapper implementation - feat: compute next business
datetimefor sapient shipment_date
Patch 2024.6.2
Changes
Fix
- Fixes https://github.com/karrioapi/karrio/issues/667[: UPS ReferenceNumber changes](https://github.com/karrioapi/karrio/commit/4f26746ec34fd0bb41a6cef08def822eb21f3391)
Special thanks to @mazzarito
Patch 2024.6.1
Changes
Feat
-feat: Add GraphQL queries and typings for apps
Refactor
- refactor: dashboard extracting non-routing code and dependencies to
@karrio/corepackage - refactor: dashboard from Nextjs page router to app router
Chore
Karrio OSS 2024.6
[!IMPORTANT] Thank you for your patience as I go through a time of workload adjustment between my new role and the maintenance of Karrio. Read my community announcement here
Feat
- refactor: dashboard extracting non-routing code and dependencies to
@karrio/corepackage - refactor: dashboard from Nextjs page router to app router
- feat: apply utc timezone to sapient integration ship date
- feat: add support for FedEx scan events multi-datetime formats
- feat: handle shipment_date update when passed upstream instead of per extension implementations
- feat: add
karrio.libto document template context - feat: Disable “note” alert types as previously done in
fedex_ws#638 - feat: rename legacy USPS extensions to
usps_wt(for USPS Web Tools) - feat: Carrier Connection REST API #582
- reat: [carrier-integration | interoperability] SAPIENT #633
- feat: FedEx Tracking should be giving us the
signed_by#635 - feat: USPS REST API integration
- feat: Handle defaulting size units to LB/IN for UPS US rates and shipment requests
- feat: add a description field to parcel forms
- feat: add missing per package description data mapping to
upsextension - feat: cherry-pick
hay_postintegration - feat: Finalize
eShippernew API integration - feat: add back FedEx tracking POD image
- feat: add workspace config for automatically applying insurance to full package value
- feat: add support for metadata link rendering
- feat: Add standardized flag for all supported carriers
- feat: expose return_address to GraphQL and API specs and generated clients
- feat: Add return address to create label forms across the dashboard
- Introduce the
return_addressfield - feat: Add Django admin editor for document templates
- feat: Add support for env config of Redis username and password (#564)
- feat: Bootstrap new
eshipperAPI extension - feat: Make cache available to all connection settings
- feat: add
carrier_idto thePOST /v1/proxy/shipping/{carrier_name}/cancelto allow precise carrier account selection for the operation. #590 - feat: Enhance Documents REST API with support for template management CRUD operations and generic document generator API in addition to Trade API upload API. #581
Fix
- fix:
eshippercancel shipment request, and add special cancel error handling for undocumented errors - fix:
eshipperdatetimerequirement for ship date and update tests for order cancellation - fix: tracker filter to return tracker if already existent
- fix:
fedextracking estimated delivery date response parsing - fix: migration defaulting to hardcoded
eshipperforcarrier_name - fix: sapient shipment cancellation response parsing
- Fix FedEx multi shipment creating multiple of packages
- fix: invalid language and lang field default state assignment
- fix: eshipper carrier data parsing for both rating and shipping response data
- fix: debug and consolidate eshipper shipment cancellation with live tests
- fix: connection data parsing when saving tracing records
- feat: handle fedex max contact and company name
- fix:
uspsAPI token missing scope - fix: eShipper server URL for production mode and label problem
- hotfix: add fallback values to SAPIENT shipment request
- fix: consolidate SAPIENT integration with live tests
- fix:
eshipperdimension parsing requirements - hot-fix(
2024.6-rc24): migration race condition issue #645 - clean up: remaining usage of deprecated
providers.MODELSdynamic object created by old carrier settings models - hot-fix for
2024.6-rc24: regression on carrier configurationtest_modeassignment for carrier connection registration in live mode. - fix: Incorrect Item Quantity Distribution in Multi-Package Orders #634
- fix:
eshipperdatabase migration leaving orphan carrier data - fix: #628
- fix: authenticated requests race condition issues
- fix: Dashboard environment variables configuration breaking change
- fix: dashboard Nextjs undefined env var caused by deprecated environment Configs
- fix: shipment sample fallback on document generation module
- fix: cancel shipment
carrier_idcheck - fix: UPS Saturday delivery option flag mapping
- fix: FedEx variableOptions fallback value to None
- fix: regression on FedEx shipping options parsing
- fix: regression of quicktype schema type generation commands
- fix: FedEx
"variableOptions"format issue - fix(2 birds): cache declaration leftovers and tracing record saving failing due to cache handle
Docs
- docs: Update API specs and generate API docs
- docs: update API docs with new return_address support
- docs: setup
docusaurusdocusaurus-openapi-docsplugin - docs: Improve generated OpenAPI with annotation
Chore
- chore: deprecate apps module from OSS build
- chore: handle
eshippercredential transfer from username|password to principal|credential - chore: fix generic carrier configration parsing
- chore: fix docs generation and docusaurus dependencies
- chore: improve enum typing for lang and language configs for connectors and handle default values for carrier registration modal
- refactor: carrier proxies to only be generated for django admin and prevent migration requirement
- chore: update create_label component formatting
- chore: update API tests for the return_address field
- chore: update unit tests for the new return_address field
- chore: update Readme dashboard illustration
- chore: Apply minimal query optimization
- chore: Prevent backup file creation from
sedcommand - chore: investigate Admin user creation issue:
/admin/user_accounts trying to add a new user account does not get added
Breaking changes
- feat: add daytime precision to tracking event time format (
AM/PM) - feat: remove deprecated
eshipper_xmlextension - Rename legacy extension
eshiper->eshipper_xmlto prepare for the upgrade to the new eShipper API - The Electronic Trade Document upload API was changed from
POST /v1/documentstoPOST /v1/documents/uploads - The
GET /v1/documentsendpoint returning ETD upload records is nowGET /v1/documents/uploads
[!CAUTION] Please make sure to update your deployment environment variables for the dashboard when upgrading to
rc10 +Check out the docs here and the following files to make sure you have the right environment variables especially if you are not using our public docker-compose files and have a custom deployment or hosted on something live Vercel.
- Dashboard env config
- Local dev docker-compose.yml
- Hobby docker-compose.hobby.yml
Special thanks to contributors: @ChrisNolan (🎉 first contribution), @jacobshilitz and @david-kocharyan
🚀 Celebrating a new sponsor: @alissonf216
Karrio patch 2024.2.17
Changes
Fix
- fix: FedEx duplicate tracking issue trackReplys selection
Karrio patch 2024.2.16
Changes
Fix
- fix tracking document view conflicting name causing crash when a tracker has signature or delivery image
Karrio patch 2024.2.15
Changes
Feat
- feat: Identify and ensure all required FedEx Intl data are provided according to sandbox samples
- feat(SDK): Introduce computed
total_valuefields for Products, Package and Packages unit decorators
Fix
- fix: background tracking potentially None value and save related tracing records
Karrio patch 2024.2.14
Changes
Feat
- feat(TGE): Add support for Multi-piece shipment
Fix
- fix(#551): Invalid customs commodities assignment
Karrio patch 2024.2.13
Changes
Feat
- feat: Add support for custom app website URL for white labelled tenant
- feat: Apply workspace config as default tax_ids to shipper address forms
Fix
- fix(USPS): phone number parser to handle None values# Karrio patch 2024.2.12
Changes
Fix
- fix(USPS*): missing required PASSWORD request properties# Karrio patch 2024.2.11
Changes
Fix
- fix: Missing required NumberIssuerCountryCode for DHL Express
- fix(USPS): shipment request invalid data formatting
Karrio patch 2024.2.10
Changes
Feat
- feat: Add customs declaration to
fedexrate request for international shipments# Karrio patch 2024.2.9
Changes
Fix
- fix: TGE missing item description fallback value
- fix: Fedex shipping invalid extra shipper.accountNumber and soldTo fields and provided fallback values for required phone numbers.# Karrio patch 2024.2.8
Changes
Fix
- fix(fedex): Signature option type# Karrio patch 2024.2.7
Changes
Feat
- feat: Add missing ACCOUNT to
fedexrate types - feat: Make default
fedexrate request types configurable
Fix
- fix: Set a fallback value for
TGEpackage description - fix: responsiveness for shipments and orders page headers
Karrio patch 2024.2.6
Fix
- hot-fix(
fedex): add validsubPackagingTypeEnum# Karrio patch 2024.2.5
Fix
sscccalculation forTGEintegration# Karrio patch 2024.2.4[!WARNING] Watchout for breaking change with candapost extension. Now by default shipment are not submitted meaning you need to create a manifest to complete you shipment before pickup or dropoff.
Hot Fix
- Rollback problematic canadpost config migration introduced in 2024.2.3
Breaking change
candapostshipping now require manifesting step unless you update your connection config to setSubmit shipment by defaultto true.
Karrio patch 2024.2.3
Changes
Feat
- feat: Add support for marking any shipment without tracker with manual status
- feat: Introduce manifest_required flag for carriers with manifest support
- feat: Add Manifest
GraphQLqueries and manifest management page - feat: Add form for manifest creation based on selection
- feat: consolidate
canadapostmanifest integration with live tests
Chore
- chore: Remove deprecated Customs CRUD APIs
chore: Apply# Karrio patch 2024.2.2transmit_shipment_by_defaultfor all existingcanadapostconnections
Changes
- fix: Improve TGE pickup date default value + sscc and shipment_id calculation
- feat: Remove lowercase styling on APP_NAME login page
- feat: hide sensitive email sending error from bubbling up to frontend
- merge: @jacobshilitz fix password reset to use EMAIL_FROM_ADDRESS as sender# Karrio patch 2024.2.1
Hot Fix
- fix: react hooks bug caused by invalid return type” “v2024.2.rc9
What’s Changed
- Automated build by @danh91 in https://github.com/karrioapi/karrio/pull/526
- chore(deps): bump jwcrypto from 1.5.4 to 1.5.6 by @dependabot in https://github.com/karrioapi/karrio/pull/527
- Debug automated build by @danh91 in https://github.com/karrioapi/karrio/pull/528
- [hot-fix] fedex smartpost requests by @danh91 in https://github.com/karrioapi/karrio/pull/529
Full Changelog: https://github.com/karrioapi/karrio/compare/v2024.2.rc8…v2024.2.rc9” “v2024.2.rc8
What’s Changed
- [hot-fixes] Hot fix 2024.2rc by @danh91 in https://github.com/karrioapi/karrio/pull/525
Full Changelog: https://github.com/karrioapi/karrio/compare/v2024.2.rc7…v2024.2.rc8” “v2024.2.rc7
What’s Changed
- [patch] allied-express-local by @danh91 in https://github.com/karrioapi/karrio/pull/517
- chore(deps): bump cryptography from 42.0.0 to 42.0.2 by @dependabot in https://github.com/karrioapi/karrio/pull/518
- chore(deps): bump cryptography from 42.0.2 to 42.0.4 by @dependabot in https://github.com/karrioapi/karrio/pull/519
- [release] Karrio 2024.2 by @danh91 in https://github.com/karrioapi/karrio/pull/520
Full Changelog: https://github.com/karrioapi/karrio/compare/v2024.2.rc5…v2024.2.rc7” “v2024.2.rc5
What’s Changed
- [carrier-integration] Allied express local integration by @danh91 in https://github.com/karrioapi/karrio/pull/511
- [carrier-integration] Deutsche Post by @danh91 in https://github.com/karrioapi/karrio/pull/512
- Minor fixes by @danh91 in https://github.com/karrioapi/karrio/pull/513
- [hotfix] Rename
deutschepost->dhl_parcel_deby @danh91 in https://github.com/karrioapi/karrio/pull/514 - chore(deps): bump django from 4.2.8 to 4.2.10 by @dependabot in https://github.com/karrioapi/karrio/pull/515
- feat: Australiapost full integration by @danh91 in https://github.com/karrioapi/karrio/pull/508
- docs: Documentation update for 2024.2 release by @danh91 in https://github.com/karrioapi/karrio/pull/516
Full Changelog: https://github.com/karrioapi/karrio/compare/v2024.2.rc4…v2024.2.rc5” “v2024.2.rc10
What’s Changed
- chore(deps): bump weasyprint from 61.0 to 61.2 by @dependabot in https://github.com/karrioapi/karrio/pull/530
- [hot-fixes] Publish Karrio 2024.2 by @danh91 in https://github.com/karrioapi/karrio/pull/522
Full Changelog: https://github.com/karrioapi/karrio/compare/v2024.2.rc9…v2024.2.rc10# Karrio Shipping Platform Edition 2024.2
[!IMPORTANT] 🥳 Karrio 2024.2 is officially finally out. Chat with us on Karrio Launch Week to learn more about our vision for 2024
Feat
- Introduce Karrio Manifest API
- Introduce Karrio dashboard home page with usage stats and guidance
- Australia Post full integration (rating, label generation)
- DHL Parcel Post integration (upgrade from the
dpdhlintegration planned for sunsetting) - FedEx REST API integration (upgrade from former FedEx web service integration)
- Add support for dynamic options field generation in label generation forms
- Add support for FedEx Smart Post rating and label creation
- Introduce bulk shipment fulfilment
- Upgrade creating objects by id to use
dictinstead of plainstring - Refactor and improve loading flow for create_label forms
- Introduce Workspace config object with GrapQL API support
- Introduce manifest interface to Karrio SDK
- Separate profile from account settings and introduce workspace config form
- Preload customs declaration options using saved workspace configs
- Add zones column to rate sheet
- Introduce TGE extension
Breaking Changes
- Move legacy FedEx web service integration as fedex_ws extension
- Remove the deprecated suburb field from the Address object
Fix
- fix: FedEx WS rating issue caused by SmartPost changes
- fix: Allied Express min volumes
- fix: DHL Express
customs.optionsmapping
Docs
- Improve documentation navigation and document karrio environment + new products + enrich FAQ (WIP)
- Introduce carrier documentation with details for capabilities, shipping options and services
- document local development installation requirements for cloud VMs
Karrio preview 2024.2.rc4
[!IMPORTANT] You can safely upgrade to this release same as previous patches. I have decided to name it Preview as it is the pre-release to the upcoming major
2024.2release. I still recommend testing with the staging instance before updating your production instance. I have been trying to work with short-lived branches where I lay the foundations for epic features and iterate faster. It is less overwhelming and allows for quick iteration. And makes it easy to solve issues and release patches more often.
Feat
- Add
metadata_valueandmetadata_keyfilter for carrier connections - Add brand colour config support to allied_express connection configs
- Replace
dpdhlGET tracking request with POST - Add support for rate sheet object management (WIP)
Fix
- fix
easyposttracking response parsing - fix
upsinvalid property added tothird_partypayment declaration - fix
metadata_keyfilter queryset for GraphQL resolver
Karrio preview 2024.2.rc3
[!IMPORTANT] You can safely upgrade to this release same as previous patches. I have decided to name it Preview as it is the pre-release to the upcoming major
2024.2release. I still recommend testing with the staging instance before updating your production instance. I have been trying to work with short-lived branches where I lay the foundations for epic features and iterate faster. It is less overwhelming and allows for quick iteration. And makes it easy to solve issues and release patches more often.
Feat
- Improve generic carrier brand colour rendering
- Make allied express
service_typeandaccount_service_typeconfig plain text input fields
Chore
- fix orders and shipments list styling
Karrio preview 2024.2.rc2
[!IMPORTANT] You can safely upgrade to this release same as previous patches. I have decided to name it Preview as it is the pre-release to the upcoming major
2024.2release. I still recommend testing with the staging instance before updating your production instance. I have been trying to work with short-lived branches where I lay the foundations for epic features and iterate faster. It is less overwhelming and allows for quick iteration. And makes it easy to solve issues and release patches more often.
Feat
- Add
metadata_valueandmetadata_keyfilter for carrier connections - Add brand colour config support to allied_express connection configs
- Replace
dpdhlGET tracking request with POST - Add support for rate sheet object management (WIP)
Karrio preview 2024.2.rc1
[!IMPORTANT] You can safely upgrade to this release same as previous patches. I have decided to name it Preview as it is the pre-release to the upcoming major
2024.2release. I still recommend testing with the staging instance before updating your production instance. I have been trying to work with short-lived branches where I lay the foundations for epic features and iterate faster. It is less overwhelming and allows for quick iteration. And makes it easy to solve issues and release patches more often.
Feat
- bulk order fulfilment processing on the dashboard
- Introduce draft order creation form
- add type details for shipping options
- Introduce a home page with usage stats and action guidance
- add bulk label and invoice printing for orders
- add bulk label and invoice printing for shipments
- redesign: orders and shipments layout and info
- Add API usage graph to developers’ overview page
- Make the Allied Express server URL configurable
- Add brand and text colour configuration for generic carriers
- Improve order processing with batches API allowing attaching new batch operations for existing orders
- Improve shipment processing with batches API to allow linking new batch operation with existing shipment by id
- Add support for
brand_colorandtext_colorfor generic carrier config - Introduce
imagesto the tracker for signature and delivery images - Expose
delivery_image_urlandsignature_image_urlto OpenAPI and GraphQL API - Add proof of delivery image support for UPS tracking
Fix
- fix: Adming queries for system usage stats
- fix: ZPL label
dpmmfor preview - fix: duplicated carrier gateway call bug
Chore
- chore: clean up lists layout
- chore: Clean up
create_labelform and state management
Breaking changes
- The document generation API endpoint has been replaced from
/documents/->documents/templates/
Celebrating Karrio’s newest sponsor 🥳 🎉 🎉
Thanks, @DarkSwoop for sponsoring Karrio 🙏🏿
Karrio patch 2023.9.13
Changes
Feat
- feat: Add workflow webhook URL
- feat: reorganize workflow action data to provide dedicated tabs for input, output logs and details
- feat: Introduce
metafieldsand link to workflow objects - feat: Improve workflow execution data flow and tracing
- feat: Add support for workflow conditional action and single action execution
- feat: Add support for Posthog on the API, dashboard and docs
Fix
- merge: Use HS code for DHL Express customs declaration by @DarkSwoop
- USPS label response conditional parsing when errors are returned and set defaults for secondary address lines #491
Special thanks to @DarkSwoop for the valuable feedback from DHL contacts that helps improve Karrio’s DHL express extension# Karrio patch 2023.9.12
Feat
- Add pending status to karrio SDK to handle event code when a package hasn’t been picked up and can still be cancelled
- Add admin module to OSS build
- Move action buttons to the header on the developers’ sub-section
- Add basic CRUD operation for system carrier management
- Prepare rate sheets management card
- Add staff permission management admin APIs
- Add minimal staff user management functionalities to the admin dashboard
- Introduce and configure
strawberry_djangooptimizer - Introduce karrio automation panels to the dashboard
- Finalize beta workflow creation form in the dashboard
Chore
- Separate core Graphql types and queries from ee
- Add sponsors section to README
Fix
- Easypost Fee parsing issue
- Add omitted customs cancel request options
- Fix grammatical and sentence structure errors in the OpenAPI schema page
I am particularly excited about karrio built-in automation. The vision is to simplify syncing data between karrio and other platforms. I have been asked for integrations with platforms such as Shopify, Woocommerce, Commercetools and various ERP systems to sync orders and relevant data across the systems. With karrio built-in automation, I hope to tackle that with the least amount of work.
Shout out to Fadi owner at Shipr as we collaborate to make Karrio a turnkey solution for 3PLs and logistics providers. With this, they will be able to deploy their dedicated shipping platform, automate shipping but, also empower their merchants and customers with their own workspace and API access. In addition to our API and Webhook, it will be even easier to integrate karrio and build your custom shipping tech stack.
Reach out for private beta access to Karrio Cloud
Karrio patch 2023.9.11
Feat
- Add rating and label generation to sendle integration
Chore
- (merge) @jacobshilitz fix for API logs index
- (merge) @jacobshilitz fix for
vscodepath updates - (fix) canadapost multi-piece shipment parsing
Special thanks to @jacobshilitz for the powerful performance fix for API log indexes 🔥 # Karrio patch 2023.9.10
Feat
- Add allied express service listing on the connection config modal# Karrio patch 2023.9.9
Feat
- (improve) addresses and parcel listing page layouts to handle large numbers
- (add) support for live address full search on name input
- (update) name input to autocomplete with headless UI Combobox component# Karrio patch 2023.9.8
Changes
- (fix) dashboard org switcher inconsistency on the frontend
- (add) meaningful defaults for rate and label generation requests of
allied_expressextension - (introduce) RateSheet object (reusable dedicated rate sheet object that can be linked to various carriers with custom sheet content)
- (add) GraphQL APIs to manage rate sheets# Karrio patch 2023.9.7
Changes
- (improve) UX and design consistency across the dashboard
- (add) new carrier integration for Allied Express
- (fix) missing fixed weight unit for canadapost customs item definition
- (merge) @DarkSwoop paperless trade filter fix
- (add) unit tests for non-supported paperless trade shipment # Karrio patch 2023.9.6
- (fix)
dhl_expressoption parsing and filter# Karrio patch 2023.9.5 - (fix) issues with dynamically set
paperless_tradeoption anddhl_express_all - (add) support for shipment messages parsing for
easypost - (fix)
asendia_usconnection configuration requirements# Karrio patch 2023.9.4
Changes
- Introduce the Karrio admin server module with an admin GraphQL API
- Lay the foundation of the Karrio admin dashboard in the same codebase as the current dashboard# Karrio patch 2023.9.3
- (fix) DEFAULT_SERVICE imports for carriers with custom rate sheets
- (fix)
dhl_expresspaperless trade option processing# Karrio patch 2023.9.2 - (refactor) Enum types and various usages due to related breaking changes in
Python 11 - (update) docker base images to
python:3.12-slimand development image topython:3.12-slim-bullseyeto improve development on Mac M chips# Karrio patch 2023.9.1 - (merge)
dhl_expressdutiable fix by @DarkSwoop - (fix) canadpost multi-piece shipping cancellation options
- (update) vulnerable dependencies
Special thanks to @DarkSwoop # Karrio Shipping Platform Edition 2023.9
Changes
- Canada Post multi-piece shipment support #392
- [carrier-integration] GEODIS (full integration) #390
- [carrier-integration] Colissimo #389
- [carrier-integration] BPost #435
- [carrier-integration] TNT (full integration) #425
- [carrier-integration] Asendia US (full integration) #163
- (POC) of integration compatibility for
zoom2uandlocate2ulast mile systems - (replace)
amazon_mwsextension byamazon_shipping - (remove)
yanwen,yunexpressandsf-expressextensions - (clean) up background job tracing
Dev ex
- Remove commercial license code leaving the repository with only Apache v2 OSS edition server modules
- Major repository restructuration moving toward a monorepo with server, dashboard and docs under karrio’s main repository
- Deprecate separate schema packages for carriers in favour of moving the schemas and generated types directly into the carrier’s extension packages
- Improve Karrio CLI extension template
Karrio patch 2023.5.3
- DHL Universal - Error when adding DHL eCommerce tracker. #439
- DHL Express - IsDutiable determination #437
- Paperless Trade - Missing document format using webinterface #438# Karrio patch 2023.5.2
- [dev-ex] Set up build from source #416
- [DHL-Conflict] Pickup XML request issue #414
- Fix Tracking API 500 issue #410
- Merged UPS multi-parcel individual weight #418
Thanks to @jacobshilitz for the quick fix# Karrio patch 2023.5.1
- Ensure cache params are optional with a default value
- Handle auth token error parsing
- Disable DHL Express dutiable flag for EU countries
- Fix / Improve DPDHL Error
Special thanks to @nahall for the USPS service update# Karrio Shipping Platform Edition 2023.5
Changes
- (upgrade) UPS API integration to the latest #387
- (fix) intermittent issue with Canada Post options #381
- (add) configurable options to FedEx and DHL express connections
- (fix) carrier config mutation regression
- (add) metadata to tracker POST API request data
- (fix) DHL express
"DOC"/"NONDOC"#367 - (remove) support for UPS Freight
Updating to UPS REST API with Oauth2 authentication
UPS and deprecating their XML and JSON legacy APIs in favour of their new REST API with Oauth2 support. You will need to update your Carrier connection with your app client_id and client_secret
follow these instructions to get your new API credentials
- Visit https://developer.ups.com/apps?loc=en_US
- Create a new app
- Copy your
client_idandclient_secretto update your karrio’s UPS connections
app creation screenshots
Karrio 2023.4.6 patch
Fixes
- (fix) organization invite on multi-tenant deployments
- (fix) Canada post falsy options mapping #381
- (fix) FedEx transit day resolution excluding weekends
- (simplify) computed address_lines (combining street_number with street_name)
- (fix) duplication in combined packages description
Karrio 2023.4.4 patch
Changelog
- (merge) #372
- (fix) #370
- (fix) #333 -> a way to handle service suffixes
- (add) migration fix for tracker info data
- (add) DHL prefix to native dhl_express service code and filter
- (introduce)
packstationas an explicit option and adjust DPDHL - (introduce)
service_suffixconfig for fixed service suffix with DPDHL - (fix) tracker info update
- (fix) misspelled carrier_tracking_link mapping for shipment tracker
- (update) tracking status computation to support new statuses and prevent
in_transitoverrideKarrio 2023.4.2 patch
- (fix) DPDHL tracking response parsing caused by inconsistent
leitcodewith the schema type - (improve) DPDHL error parser (#368)
- (remove) deprecated field on custom carrier service admin form# Karrio Shipping Platform Edition 2023.4
What’s new
- (add)
GEODIStracking carrier integration - (add)
La Postetracking carrier integration - (add)
Boxknightcarrier integration - (add)
Roadiecarrier integration - (add)
Nationexcarrier integration - (introduce) carrier connection default configuration
- (improve) order
dbquery adding a direct relationship with shipments - (improve) migrations for large datasets
- (add) exception-related shipment status mapping between trackers and shipments.
- (introduce) label preview for ZPL using
labelaryAPI - (improve) DHL Express support for EU
Bug Fixes
- (fix) tracking info property typo
Karrio 2023.3.4 patch
Fixes
- (fix) DHL support for EU rating and label creation
- (fix) customs partial update mutation
- (add) support for HTML response parsing and update DPDHL error parsing to process HTML responses
- (fix) tracker info data merging# Karrio 2023.3.2 patch
Fixes
- (fix) UPS ETD integration
Thanks, @jacobshilitz for the patch# Karrio Shipping Platform Edition 2023.3
What’s New
- (add) DPD carrier integration
carrier-integration - (enhance) static service level definition with support for zones
- (introduce) unified tracking statuses
- (enrich) tracking details with package and shipment info
- (add)
street_numberfield toAddressmodel - (add)
carrier_tracking_linktoshipment.meta
"meta": {
"carrier_tracking_link": "https://www.fedex.com/fedextrack/?trknbr=794622728852",
"tracking_numbers": [
"794622728852"
],
"ext": "fedex",
"carrier": "fedex",
"service_name": "FEDEX INTERNATIONAL ECONOMY",
"rate_provider": "fedex"
},
- (enrich) tracker details with :
{
"tracking_number": "string",
"carrier_name": "amazon_mws",
"account_number": "string",
"reference": "string",
"info": {
"carrier_tracking_link": "string",
"customer_name": "string",
"expected_delivery": "string",
"note": "string",
"order_date": "string",
"order_id": "string",
"package_weight": "string",
"package_weight_unit": "string",
"shipment_package_count": "string",
"shipment_pickup_date": "string",
"shipment_delivery_date": "string",
"shipment_service": "string",
"shipment_origin_country": "string",
"shipment_origin_postal_code": "string",
"shipment_destication_country": "string",
"shipment_destination_postal_code": "string",
"shipping_date": "string",
"signed_by": "string",
"source": "string"
}
}
Note that you can override all the info fields using POST /v1/trackers and PUT /v1/trackers/{tracker_id}
- (add)
latitudeandlongitudeto theTrackingEventmodel for future use with last-mile carriers and automatic background updates by Karrio.
Fixes
- (revert) to FedEx single call ETD implementation
- (invalid) mapping of the
Suburbfield on theDHL Express Raterequest - (fix) incoherent UPS service names
Changes
- (deprecating)
DELETE /v1/orders/{order_id}in favor ofPOST /v1/orders/{order_id}/cancel - (change) tracking request details at the SDK level.
- Introduce
account_numberandreference - Remove
level_of_detailsandlanguage - (renamed) UPS services to be region aware (
This will require draft shipments rates to be refreshed)
Karrio 2023.1.12 patch
Changes
- (fix) regression on one call label generation webhooks trigger
- (fix) background data archiving on multi-tenant deployments
- (fix) UPS rate fetch inconsistent transit details
- (improve) DPDHL requests mapping
- (update) DPDHL connection settings to correct the authentication problem
- (raise) error when creating trackers if tracking fails by default.
And create
trackerdespite errors whenpending_pickupflag is specified - (improvement) of Sendle tracking details
Special thanks to @DanielOaks for the Sendle tracking API update.# Karrio 2023.1.11 patch
- (enhance) FedEx ETD integration with single request document uploads and label generation# Karrio 2023.1.10 patch
Changes
- (update)
dpdhlto latest schemas 3.4.0 - (update) minor versions for DPDHL SOAP requests
- (add) missing UPS shipping options and improve tax parsing
- (fix) UPS multi-piece labels bundling
- (apply) FedEx ETD requests requirement patches
- (introduce) title to commodity as main name
- (make) all org tracing records accessible to all org users
- (replace) DISTINCT ON by python code for SQLite support of document generation
Karrio Shipping Platform Edition 2023.1
Changes
- Migrate to Strawberry for GraphQL support
- Karrio Admin API foundation
- Finalize OpenID support through karrio apps registration
experimental - Batch shipment creation (CSV import + batch REST API)
experimental - Batch order creation (CSV import + batch REST API)
experimental - Batch tracker creation (CSV import + batch REST API)
experimental - Add support for shipping
billing_addressand improve support for 3rd party billing - Add carrier capabilities to
/v1/carriersJSON response - Remove Postgres-specific fields to allow support for any Django ORM-supported databases (MySQL, Oracle, SQLite…)
- Add support for
DATABASE_URLto configure karrio’ database connection with a single line - Introduce data retention configuration (set up karrio to flush your database of old shipments, API logs…)
- Improve SDK tracing recording for full transparency (only super admin can see requests logs of system carriers)
- Add
idto keyword full-text search for orders and shipments - Improve shipment data GraphQL mutations and draft shipment management.
- Improve international shipment with advance duty 3rd party payment address
Added to open-source build
- Orders module (read-only orders fulfilment API)
- Generic carrier (Register carriers without APIs on karrio to become their API - manage rate sheets, design labels…)
- Data module (Batch APIs for data imports and batch creation + data export API)
- Documents module (Document generation API + templating system to generate branded shipping documentation)
- Document generation use cases: UCC128 labels, Packing slips, branded commercial invoices… anything you need :)
Dreprecation and Regression
- Remove support for price range filters to apply rate add-ons
- Replace
DELETE /v1/shipments/{id}byPOST /v1/shipments/{id}/cancelfor shipment cancellation - Deprecating
GET v1/trackers/{carrier_name}/{tracking_number}in favor ofPOST /v1/trackersfor trackers creation
Dev experience
- Improve scripts under the
/binfolder to simplify development and deployment - Introducing Karrio
hobby-deploy(+ upgrade) to simplify Karrio installation on any cloud with SSL provisioning included - Add
vscodesupport debug commands to allow running karrio with debugger and breakpoints - Add scripts to install karrio without docker (Python packages)
- Return to SQLite as the default development database to simplify development setup without docker
” “Patch release 2022.8.19
- Make FedEx ETD optional” “Patch release 2022.8.18
- (add) preferred units for FedEx US shipment
- (fix) missing options error on FedEx shipment creation
- (consolidate) FedEx ETD integration
Special thanks to @nahall for the contribution# Karrio Shipping Platform Edition 2022.8
Changes
- Introduce shipping document upload interface for paperless capability
- DPDHL carrier integration
- UPS Freight JSON API carrier integration
- Amazon MWS carrier integration
(experimental) - Chronopost carrier integration (By @Ftayri)
- Move Oauth2 and OpenID support to OSS build
- Introduce Karrio CLI powered by type
- Add
freight_classproperty to parcel for pallet and LTL shipment support - Introduce organization user roles and group permissions
(insiders-only)Karrio Shipping Platform Edition 2022.6
What’s Changed
- Integrate 2FA for login
- Introduce package level options (for package insurance/coverage)
- Add support for audit logging (
insiders only) - Persist carrier requests logs for the foundation of advanced debug mode
- Data imports foundation for batch tracking data import (
insiders only) - Deprecate
test_modeflags in favour ofAPI Keysin a test or live modes - Improve API queries using SQL indexes (API logs, API events, Shipments, Orders…)
- Improve and standardized error response
Karrio Shipping Platform Edition 2022.4
What’s New
- Distinguish carrier hubs extensions from regular extensions
- Fix UPS shipment cancellation API call (VOID) (https://github.com/karrioapi/karrio-dashboard/issues/190)
- Add GraphQL mutations for webhooks
- Add GraphQL mutations for orders
- Beta AmazonMws carrier integration
- Improve DHL Universal tracking extension response parsing and edge cases from all supported DHL services.
- Set fallback values for DHL express extension shipment commodity codes
- Set fallback values for FedEx extension shipment address phone numbers.
- Add webhook for order update
- Reduce noise in carrier request logs (remove duplicates and make logging optional on Serializable abstraction)
- Introduce a data module (
insiders only) for data export (csv, json, xls…). Currently, support exporting orders and shipments
Breaking changes
- Uniformize collection APIs filters for GraphQL and REST APIs
- Deprecate noisy properties from rates
Before:
1{ 2 "id": "string", 3 "object_type": "rate", 4 "carrier_name": "string", 5 "carrier_id": "string", 6 "currency": "string", 7 "service": "string", 8 "discount": 0, 9 "base_charge": 0, 10 "total_charge": 0, 11 "duties_and_taxes": 0, 12 "transit_days": 0, 13 "extra_charges": [ ], 14 "meta": { }, 15 "test_mode": true 16}
Now:
1{ 2 "id": "string", 3 "object_type": "rate", 4 "carrier_name": "string", 5 "carrier_id": "string", 6 "currency": "string", 7 "service": "string", 8 "total_charge": 0, 9 "transit_days": 0, 10 "extra_charges": [ ], 11 "meta": { }, 12 "test_mode": true 13}
Karrio Shipping Platform Edition 2022.3
What’s New
- Rebrand Purplship -> Karrio
- Improve document management modules (enrich shipment and order template contexts).
- Introduce
order.order_dateandline_item.unfulfilled_quantityproperties for better handling of partial orders. - Improve custom carrier label management
- Provide default order and shipment dates
- Fix tracker
in_transitstatus inconsistency - Introduce Sentry support for Karrio dashboard error tracking and APM” “Purplship Shipping Platform Edition 2022.2
Road to cloud beta
- Consolidate email flows for operations that require confirmations
- Consolidate organization and team management (
insiders) - Organization members listing and invitation
- Organization ownership transfer
- Organization creation
- Setup foundations for oauth2 and apps integration (beta) (
insiders) - Implement Webhook secret header for event origin signature validation
- Integrate One-call shipment label purchase
- Automate incremental tracking_number generation for customs carrier labels
- Order management update (
insiders) - Introduce
shipping_fromfor orginin address prefill - Rename
shipping_addresstoshipping_to
Breaking changes
-
The GraphQL API queries and mutations have been enhanced and some renamed for consistency. We highly recommend using the same version on the server and dashboard
-
Introduce
docs: Documents = JStruct[Documents, REQUIRED]toShipmentDetails
The implied the removal of the label: str field from the root of ShipmentDetails to ShipmentDetails.docs.label
Proxy API POST /v1/proxy/shiping now returns as docs object with label base64 string and optionally an invoice base64 string
API Shipment object now returns
label_url: URL to the purchase shipment labelinvoice_url: URL to the purchase shipment invoice when supported
API Shipment deprecated data
labelfield has been deprecated and removed in order to optimize shipments database queries and sizeshipment.meta.invoicefield has been deprecated and removed for optimization as well
As a result of this change, shipments requests are less heavy and faster
Bugs
- Inconsistent Charfield validation caused validity pre-request and failure to persist carrier API changes to the database.
Docker builds
Current release 2022.2 - danh91.docker.scarf.sh/purplship/server:2022.2
” “Purplship Shipping Platform Edition 2022.1
What’s New
- Introduce
purplship.genericthe custom carrier extension - Add support for custom carrier definition on purplship server
- Enrich parcel (package) definition for better support of pallets
- Enhance purplship universal extension support with multi-piece shipment support
- Introduce order APIs for the relation between order systems and purplship shipments
- Introduce label template configuration and custom label generation
- Introduce support adding user metadata to purplship objects (
Order,Tracker,Commodity,Shipment…)
Breaking changes
The Shipping REST APIs are focused on automation and single requests to perform shipping operations. The GraphQL API on the other hand powers manual operations from the dashboard with multiple mutations of shipping objects.
For that reason
- The following endpoints have been removed
/v1/shipments/<id>/optionsto update/add shipment options/v1/shipments/<id>/customsto add shipment customs declaration/v1/shipments/<id>/parcelsto add shipment parcels
There has been many breaking changes on mutations and queries on the GraphQL API so we recommend checking out the 2022.1.4 purplship dashboard release
Patch & bug fixes
- Update support for multi-tenant deployment
- Prevent automatic tracker creation issues for carriers without
trackingcapabilities - Fix supported destination check for
USPSdomestic extension - Fix background tracker processing error caused uncaught by dead code
Docker builds
Stable version 2022.1.4
danh91.docker.scarf.sh/purplship/server:2022.1.4
” “Purplship Shipping Platform Edition 2021.11
What’s New
- Apply Canadian postal code pre-validation patch
- Improve Trackers API to accept tracking numbers without a record as pending
- Retrieved
estimated_deliveryduring tracking for all supporting carriers - Ensure FedEx dimension definitions only when
packaging_typeisyour_packaging - Introduced Persisted events
- Improve FedEx multi-piece shipment compiling all package labels together
- Introduce DHL Parcel Poland
sponsoredintegration (https://github.com/purplship/purplship/issues/166) - Introduce the purplship universal carrier service level definition
- Apply (2121.7.7) database query perf improvements
- Introduce
TRACKING_PULSEenv var to setup background trackers update interval seconds - Introduce
BASE_PATHenv var to set up runtime base path for the API (e.g:/apiforexample.com/apideployment) - Introduce advanced query filters for shipments, logs, events, trackers and webhooks
Bugs
- Fix Webhooks notification scope only to related account and organization” “Purplship Shipping Platform Edition 2021.10
What’s New
- Enrich
/api/referencesendpoint with application metadata info (APP_NAME,APP_VERSION,APP_WEBSITEand other feature flags) - Enhance JWT refresh with support for org switching by providing
org_id - Improve OpenAPI docs with existing extensions
carrier_name(s) and shipments and trackers filters status enums - Remove authentication requirement from
/v1/trackers/{id_or_tracking_number}to simplify trackers access to frontend components - Remove authentication requirement from
/api/referencesas it serves as the server metadata now and share any user private info - Change authentication rules for Graphql view (
/graphql) - The GraphQL Playground can be accessed without being authenticated
- However, an authentication header is required now to send authenticated requests and receive users owned data
- Introduce user registration, password change, password reset and more through GraphQL mutations
- Remove purplship embedded client moving the codebase to https://github.com/purplship/purplship-dashboard
Bug Fixes
- Fix circular reference on GraphQL system
carrier.carrier_nameproperty - Fix bugs with exception raised when there is an existing carrier connection in test mode and not live
Dev Ex
- Switched to mono repo bringing
purplship-carriers,purplship-bridges,purplship-serverand all other satellite projects underpurplship(this simplifies the development process) - Improve PHP and Python client generator script options
- Improve docker setup for local developments
- Improve docker setup for testing with the same config as production (went from
6 minbuild + test time to2 min) - Change namespaces for consistent branding (went from
purpleserver.*->purplship.server.*) - add as shared .vscode configuration.
- Fix JWT regression caused by
PyJWTdependency - Enhance Docker image startup and graceful-stop with dumb-init
” “purplship SDK 2021.8
What’s new?
- Increase JSON API response parsing resilience by introducing
to_objecthelper that ignores unknown model fields - Use
NamedTupleto define MeasurementOptionsType instead ofEnum - Add .vscode config to improve dev ex
- Add alpha integration for
ICS Courier,UPS GroundandAsendia US” “purplship SDK 2021.7
Changes
- Apply flexible service mapping to all carrier integrations. (meaning that if the carrier introduces a service not mapped by purplship, it will still be handled gracefully by collecting the code required for the shipment creation)
- Add DHL customs invoice when returned by international shipments
- Introduced
account_country_codeas base property to all carrier settings. (This is useful for country-specific carrier accounts) - Deprecate
gateway.featuresin favor ofgateway.capabilitiesto describe the list of supported operations by carrier gateways - Add pre requests check hooks to validate early carrier gateways capability support as well as country-bounded account usage.
- Improve the email notification option
- enabled by default if a recipient email is provided
- turn the notification off
options: { ..., email_notification: false, ..} - set specific email for notification
options: { ..., email_notification_to: custom@email.com, ..}
Fixes
- Fix shipment reference for all carriers
- Fix Purolator shipment creation error detection for proper parsing ” “purplship SDK 2021.6
Changes
- Fix FedEx label format
- Add human-readable names for options and services
- Add blank Purolator label for test mode since label is not supported with the sandbox server
- Live tested USPS rating and shipping integration
- Rename
purolator_courrierextension topurolator - Make Purolator setting
user_tokenoptional - Fix Fedex rate timestamp parsing to prevent 0-day returns
- Fix DHL preset default units with the right package sizes
- Add omitted
contract_idto Canada post extension for rate requests - Add min dimensions values for FedEx dimension mappers
- Handle Optional adjustments values for Canada post rate response
” “Purplship SDK 2021.4
What’s new
- Enrich customs declaration unified model
- Separate duty definition from the shipment payment model
- Introduce AddressExtra and a helper to compute address line based on extra ” “Purplship SDK 2021.3
Changes
- Integrate TNT services (Tracking )
- Prepare USPS rating and shipping integration and split up international and local
- Rename
ups_package->ups - Rename
fedex_express->fedex” “Purplship SDK 2021.2 [tracking spree]
Carrier Tracking service integration spree
- integrate
aramexTracking API - update
canparFull API integration - integrate
australiapostTracking API - integrate
dhl_universalTracking API - integrate
dicomTracking API - integrate
uspsTracking API - integrate
dicomTracking API - integrate
sendleTracking API - integrate
sf_expressTracking API - integrate
yanwenTracking API - integrate
yunexpressTracking API
Other
- Introduce the concept of features for gateways to show supported APIs dynamically
- Make Purolator
user_tokenrequired to set up a Purolator gateway - Improve canpar’s SOAP requests ensuring proper namespace prefixes for all nodes ” “Purplship SDK 2021.1
Major Changes
- Introduce
poetryfor packaging - Make Purplship API interface uniform with
purplship.[API].[request](...).from_(gateway).parse() - Deploy
purplshipand allpurplship.extensionswheels on Pypi
Enhancements
- Introduce extension tests templates
- Log request URLs
- Update docs” “[release] Purplship SDK 2020.12 (docs and contribution friendly)
Docs and Contribution Friendly
- Introduce Purplship SDK docs with
Mkdocs - Introduce formal Purplship Extension with the
Metadatadefinition - Introduce basic documentation for
Custom Carrier - Add Purplship extension template” “Purplship SDK 2020.12.1 [patch]
What’s New
- Introduced
MeasurementOptionsas Dimension and Weight output customization for each carrier - Introduced
label_typeas a requirement for shipment creation
Fixes
- Fix unsupported Canada post decimal values for dimensions and weight
- Prevent confusing Purolator exception when address properties are required and not defined
- Fix invalid
CM->INconversion - Consolidated
Purolatorshipment cancellation request”
