diff --git a/backend/server/adventures/serializers.py b/backend/server/adventures/serializers.py index bc07cee1..93272086 100644 --- a/backend/server/adventures/serializers.py +++ b/backend/server/adventures/serializers.py @@ -1071,6 +1071,11 @@ class CollectionItineraryItemSerializer(CustomModelSerializer): model = CollectionItineraryItem fields = ['id', 'collection', 'content_type', 'object_id', 'item', 'date', 'is_global', 'order', 'start_datetime', 'end_datetime', 'created_at', 'object_name'] read_only_fields = ['id', 'created_at', 'start_datetime', 'end_datetime', 'item', 'object_name'] + # DRF 3.15 generates UniqueTogetherValidator from UniqueConstraints without applying + # their conditions, causing false 400s (e.g. a dated item with order=0 is rejected + # when a global item with the same order exists). The view and DB constraints + # already enforce the correct conditional uniqueness. + validators = [] def validate(self, attrs): data = super().validate(attrs) diff --git a/backend/server/main/settings.py b/backend/server/main/settings.py index dd309613..a8fb777e 100644 --- a/backend/server/main/settings.py +++ b/backend/server/main/settings.py @@ -392,7 +392,7 @@ PUBLIC_URL = getenv('PUBLIC_URL', 'http://localhost:8000') # ADVENTURELOG_CDN_URL = getenv('ADVENTURELOG_CDN_URL', 'https://cdn.adventurelog.app') # Major release version of AdventureLog, not including the patch version date. -ADVENTURELOG_RELEASE_VERSION = 'v0.12.0' +ADVENTURELOG_RELEASE_VERSION = 'v0.12.1' # https://github.com/dr5hn/countries-states-cities-database/tags COUNTRY_REGION_JSON_VERSION = 'v3.1' diff --git a/documentation/.vitepress/config.mts b/documentation/.vitepress/config.mts index 3134f59c..9212e8d9 100644 --- a/documentation/.vitepress/config.mts +++ b/documentation/.vitepress/config.mts @@ -53,7 +53,7 @@ export default defineConfig({ priceCurrency: "USD", description: "Open-source version available for self-hosting.", }, - softwareVersion: "v0.12.0", + softwareVersion: "v0.12.1", license: "https://github.com/seanmorley15/adventurelog/blob/main/LICENSE", screenshot: @@ -281,6 +281,10 @@ export default defineConfig({ text: "Development Timeline", link: "/docs/changelogs/development_timeline", }, + { + text: "v0.12.1", + link: "/docs/changelogs/v0-12-1", + }, { text: "v0.12.0", link: "/docs/changelogs/v0-12-0", diff --git a/documentation/docs/changelogs/v0-12-1.md b/documentation/docs/changelogs/v0-12-1.md new file mode 100644 index 00000000..124b19b2 --- /dev/null +++ b/documentation/docs/changelogs/v0-12-1.md @@ -0,0 +1,61 @@ +# AdventureLog v0.12.1 + +Released 5-26-2026 + +Hi everyone! + +I’m excited to announce AdventureLog v0.12.1, an incremental release that improves the day-to-day experience of logging, managing, and visualizing your travels. While this update is smaller than v0.12.0, it brings meaningful quality-of-life upgrades, better reliability, and fixes bugs associated with the v0.12.0 feature update. + +## ⚑ New Quick-Add Workflow + +- Added the location and lodging quick-add feature to make logging places faster and more convenient. (#687) + - Quick-add pulls from Google Maps so the integration is required for it to be available on your instance + +## πŸ—ΊοΈ Collection Map Fixes + +- Fixed a bug where collection maps displayed no markers or pins even when the underlying data was correct (#1100) + +## ✨ Miscellaneous + +- New light and dark themes that better reflect AdventureLog +- Ability to set default basemap for the map views in the user settings page + - This is now reflected across all maps in the application + - Added OpenFreeMap Liberty as a basemap option +- Opening a location in an external map provider now searches and displays the location properly +- Enhanced API key management interface for a clearer and more usable experience +- Improved API hashing algorithm for higher security +- Various UI and workflow refinements across the app +- General stability and usability improvements +- Make it so only collection owners can edit collection details + +## πŸ™Œ Thanks to the Community + +This release was shaped by an incredible amount of feedback, ideas, testing, and code contributions from the community. Thank you to everyone who opened issues, reviewed changes, tested builds, and helped refine this update. + +### πŸ’» Code Contributors + +- @HangoverHGV +- @citrusjunoss +- @lesensei +- @vorbeiei +- @mllopart +- @stephanzwicknagl +- @orhunavcu +- @bittin +- @totoroot +- @cyphra +- @Pexilo + +## πŸ’– Support the Project + +If AdventureLog helps you plan, remember, or relive your travels, consider supporting the project: + +πŸ‘‰ https://seanmorley.com/sponsor + +πŸ“– Full Changelog: +https://github.com/seanmorley15/AdventureLog/compare/v0.12.0...v0.12.1 + +Happy travels! + +Sean Morley (@seanmorley15) +Founder & Project Lead diff --git a/frontend/Dockerfile b/frontend/Dockerfile index ff919153..326df83b 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -23,11 +23,11 @@ FROM gcr.io/distroless/nodejs22-debian12:nonroot@sha256:13593b7570658e8477de39e2 # Metadata labels for the AdventureLog image LABEL maintainer="Sean Morley" \ - version="v0.12.0" \ + version="v0.12.1" \ description="AdventureLog - the ultimate self-hosted travel companion." \ org.opencontainers.image.title="AdventureLog" \ org.opencontainers.image.description="AdventureLog is a self-hosted travel companion that helps you plan, track, and share your adventures." \ - org.opencontainers.image.version="v0.12.0" \ + org.opencontainers.image.version="v0.12.1" \ org.opencontainers.image.authors="Sean Morley" \ org.opencontainers.image.url="https://raw.githubusercontent.com/seanmorley15/AdventureLog/refs/heads/main/brand/banner.png" \ org.opencontainers.image.source="https://github.com/seanmorley15/AdventureLog" \ diff --git a/frontend/src/lib/config.ts b/frontend/src/lib/config.ts index e4d7e50d..b0bf3942 100644 --- a/frontend/src/lib/config.ts +++ b/frontend/src/lib/config.ts @@ -1,4 +1,4 @@ -export let appVersion = 'v0.12.1-beta-052126'; -export let versionChangelog = 'https://github.com/seanmorley15/AdventureLog/releases/tag/v0.12.0'; +export let appVersion = 'v0.12.1'; +export let versionChangelog = 'https://github.com/seanmorley15/AdventureLog/releases/tag/v0.12.1'; export let appTitle = 'AdventureLog'; export let copyrightYear = '2023-2026';