Skip to content

Commit d8b7d84

Browse files
danh91claude
andauthored
[patch] 2026.1.14 (#974)
* [patch] 2026.1.14 fix: make ShipmentType.is_return nullable to match Django model (null=True) fix: add missing request_id field and filter to ManifestType GraphQL schema bump: version 2026.1.13 → 2026.1.14 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: resolve N+1 query issues in admin usage resolver and constance config - Batch-resolve resource usage for all system connections in 3 grouped queries instead of 4 queries per connection (N+1 → O(1)) - Add LocMemCache fallback for constance when Redis is not configured, preventing repeated individual DB queries per config access Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: use Django default cache for constance instead of custom CACHES entry The previous approach defined a custom CACHES dict without a 'default' key, which Django requires. Use the built-in default LocMemCache instead. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * release: 2026.1.14 --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 8f58c3d commit d8b7d84

File tree

61 files changed

+388
-200
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+388
-200
lines changed

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
# Karrio 2026.1.14
2+
3+
## Changes
4+
5+
### Fix
6+
7+
- fix: make ShipmentType.is_return nullable to match Django model
8+
- fix: ensure is_return and request_id fields are available on ShipmentType GraphQL schema
9+
- fix: add missing request_id field and filter to ManifestType GraphQL schema
10+
- fix: resolve N+1 queries in GetSystemConnections admin query with batch usage resolution
11+
- fix: add constance cache fallback (LocMemCache) when Redis is not configured to prevent N+1 config queries
12+
13+
---
14+
115
# Karrio 2026.1.13
216

317
## Changes

apps/api/karrio/server/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2026.1.13
1+
2026.1.14

apps/api/karrio/server/settings/cache.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,12 @@
108108
)
109109

110110
print(f"Redis cache connection initialized")
111+
111112
elif SKIP_DEFAULT_CACHE:
112113
print(
113114
"Skipping default Redis cache configuration (worker mode - only HUEY Redis needed)"
114115
)
116+
else:
117+
# No Redis available — cache constance values using Django's default
118+
# LocMemCache to avoid N+1 database queries on each config access
119+
CONSTANCE_DATABASE_CACHE_BACKEND = "default"

apps/www/openapi.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ info:
1414
## Versioning
1515
1616
When backwards-incompatible changes are made to the API, a new, dated version is released.
17-
The current version is `2026.1.13`.
17+
The current version is `2026.1.14`.
1818
1919
Read our API changelog to learn more about backwards compatibility.
2020
@@ -84,7 +84,7 @@ info:
8484
All API requests must be made over [HTTPS](http://en.wikipedia.org/wiki/HTTP_Secure).
8585
API requests without authentication will also fail.
8686
title: Karrio API
87-
version: 2026.1.13
87+
version: 2026.1.14
8888
paths:
8989
/:
9090
get:

bin/deploy-hobby

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
set -e
44

5-
export KARRIO_TAG="${KARRIO_TAG:-2026.1.13}"
5+
export KARRIO_TAG="${KARRIO_TAG:-2026.1.14}"
66
export SENTRY_DSN="${SENTRY_DSN:-'https://public@sentry.example.com/1'}"
77

88
SECRET_KEY=$(head -c 28 /dev/urandom | sha224sum -b | head -c 56)
@@ -22,7 +22,7 @@ echo ""
2222
if ! [ -z "$1" ]; then
2323
export KARRIO_TAG=$1
2424
else
25-
echo "What version of Karrio would you like to install? (We default to '2026.1.13')"
25+
echo "What version of Karrio would you like to install? (We default to '2026.1.14')"
2626
echo "You can check out available versions here: https://hub.docker.com/r/karrio/server/tags"
2727
read -r KARRIO_TAG_READ
2828
if [ -z "$KARRIO_TAG_READ" ]; then

bin/deploy-insiders

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
set -e
44

5-
export KARRIO_TAG="${KARRIO_TAG:-2026.1.13}"
5+
export KARRIO_TAG="${KARRIO_TAG:-2026.1.14}"
66
export SENTRY_DSN="${SENTRY_DSN:-'https://public@sentry.example.com/1'}"
77

88
SECRET_KEY=$(head -c 28 /dev/urandom | sha224sum -b | head -c 56)

bin/upgrade-hobby

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ else
4141
fi
4242

4343
[[ -f ".env" ]] && export $(cat .env | xargs) || (echo "No .env file found. Please create it with SECRET_KEY and DOMAIN set." && exit 1)
44-
export KARRIO_TAG="${KARRIO_TAG:-2026.1.13}"
44+
export KARRIO_TAG="${KARRIO_TAG:-2026.1.14}"
4545

4646
# get karrio scripts
4747
mkdir -p ./karrio

docker/.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ REDIS_PORT=6379
3030
# API - Configuration for the Nginx Reverse proxy.
3131
############
3232

33-
KARRIO_TAG=2026.1.13
33+
KARRIO_TAG=2026.1.14
3434
KARRIO_HTTP_PORT=5002
3535

3636
############

ee/insiders

0 commit comments

Comments
 (0)