chore: release v0.21.1

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Ulas Kalayci
2026-04-21 14:03:33 +02:00
parent b40f47bc8b
commit 41467a84b6
4 changed files with 17 additions and 3 deletions
+5
View File
@@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
## [0.21.1] - 2026-04-21
### Fixed
- ICS calendar subscription sync no longer fails with "ON CONFLICT clause does not match any PRIMARY KEY or UNIQUE constraint". Migration 12 replaces the partial unique index on `(subscription_id, external_calendar_id)` with a full unique index, which SQLite's upsert conflict-target syntax requires.
## [0.21.0] - 2026-04-21
### Added
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "oikos",
"version": "0.21.0",
"version": "0.21.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "oikos",
"version": "0.21.0",
"version": "0.21.1",
"license": "MIT",
"dependencies": {
"bcrypt": "^6.0.0",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "oikos",
"version": "0.21.0",
"version": "0.21.1",
"description": "Self-hosted family planner - calendar, tasks, shopping, meal planning, budget and more. Private, open-source, no subscription.",
"main": "server/index.js",
"type": "module",
+9
View File
@@ -475,6 +475,15 @@ const MIGRATIONS = [
WHERE subscription_id IS NOT NULL;
`,
},
{
version: 12,
description: 'calendar_events: partiellen Unique-Index durch vollständigen ersetzen (ON CONFLICT support)',
up: `
DROP INDEX IF EXISTS idx_calendar_sub_extid;
CREATE UNIQUE INDEX idx_calendar_sub_extid
ON calendar_events (subscription_id, external_calendar_id);
`,
},
];
/**