Daniel Volz
0dab318b66
chore: release v1.23.0 ( #536 )
2026-04-10 22:40:01 +02:00
Daniel Volz
c291c88f2b
fix(notifications): fallback to generic medication names ( #532 )
...
* fix(notifications): fallback to generic medication names
* test(backend): add timezone column to in-memory user_settings schemas
2026-04-10 22:34:06 +02:00
Daniel Volz
e42e4f5639
fix(stock): ignore doses from other medications ( #533 )
...
* fix(stock): ignore doses from other medications
* test(backend): add timezone column to in-memory user_settings schemas
2026-04-10 22:33:58 +02:00
Daniel Volz
401228699f
Add searchable timezone settings override for reminder scheduling
2026-04-10 21:08:16 +02:00
Daniel Volz
0d2b21199e
chore(release): bump app version to 1.22.3
...
chore(release): bump app version to 1.22.3
2026-04-10 19:01:40 +02:00
Daniel Volz
002f16c505
fix(security): centralize SMTP transport creation
...
Centralize SMTP transport creation to reduce the duplicated CodeQL SMTP request-forgery path.
2026-04-08 20:00:57 +02:00
dependabot[bot]
aa050f7dc5
build(deps): bump nodemailer from 8.0.4 to 8.0.5 in /backend
...
Bump nodemailer from 8.0.4 to 8.0.5 in /backend
2026-04-08 19:39:51 +02:00
Daniel Volz
0795bfe589
chore(release): 1.22.2
...
Release v1.22.2
2026-04-08 19:34:24 +02:00
Daniel Volz
25483c12f0
fix(security): mitigate backend drizzle-kit audit chain
2026-04-08 19:21:05 +02:00
dependabot[bot]
2a340855fb
build(deps): bump vite from 8.0.3 to 8.0.5 in /backend
...
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite ) from 8.0.3 to 8.0.5.
- [Release notes](https://github.com/vitejs/vite/releases )
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md )
- [Commits](https://github.com/vitejs/vite/commits/v8.0.5/packages/vite )
---
updated-dependencies:
- dependency-name: vite
dependency-version: 8.0.5
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Volz <mail@danielvolz.org >
2026-04-07 07:01:11 +02:00
dependabot[bot]
1cb4a44cef
build(deps-dev): bump @types/nodemailer from 7.0.11 to 8.0.0 in /backend
...
Bumps [@types/nodemailer](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/nodemailer ) from 7.0.11 to 8.0.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/nodemailer )
---
updated-dependencies:
- dependency-name: "@types/nodemailer"
dependency-version: 8.0.0
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Volz <mail@danielvolz.org >
2026-04-06 11:00:55 +02:00
dependabot[bot]
51b09dc563
build(deps): bump the minor-and-patch group in /backend with 3 updates
...
Bumps the minor-and-patch group in /backend with 3 updates: [dotenv](https://github.com/motdotla/dotenv ), [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome ) and [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ).
Updates `dotenv` from 17.3.1 to 17.4.1
- [Changelog](https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md )
- [Commits](https://github.com/motdotla/dotenv/compare/v17.3.1...v17.4.1 )
Updates `@biomejs/biome` from 2.4.9 to 2.4.10
- [Release notes](https://github.com/biomejs/biome/releases )
- [Changelog](https://github.com/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md )
- [Commits](https://github.com/biomejs/biome/commits/@biomejs/biome@2.4.10/packages/@biomejs/biome )
Updates `@types/node` from 25.5.0 to 25.5.2
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
---
updated-dependencies:
- dependency-name: dotenv
dependency-version: 17.4.1
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: minor-and-patch
- dependency-name: "@biomejs/biome"
dependency-version: 2.4.10
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: "@types/node"
dependency-version: 25.5.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Volz <mail@danielvolz.org >
2026-04-06 10:54:02 +02:00
Daniel Volz
5161949578
chore(release): 1.22.1 ( #509 )
...
* chore(release): 1.22.1
* noop
* chore: remove accidental noop artifact
* noop2
* remove accidental noop2
* chore: remove accidental noop2 artifact
2026-04-05 15:18:36 +02:00
Daniel Volz
eec1653ff4
fix(security): ship isolated JWT decorator hotfix
...
* fix(security): isolate dependency hotfix from github main
* fix(security): expose hotfix jwt decorators across routes
* test(e2e): restore stable app header selectors
* test(e2e): align planner and app shell checks
* test(e2e): add legacy settings page selectors
* test(e2e): align settings page contracts
2026-04-05 14:49:50 +02:00
dependabot[bot]
98062358be
build(deps): bump the minor-and-patch group in /backend with 5 updates ( #501 )
...
* build(deps): bump the minor-and-patch group in /backend with 5 updates
Bumps the minor-and-patch group in /backend with 5 updates:
| Package | From | To |
| --- | --- | --- |
| [drizzle-orm](https://github.com/drizzle-team/drizzle-orm ) | `0.45.1` | `0.45.2` |
| [fastify](https://github.com/fastify/fastify ) | `5.8.3` | `5.8.4` |
| [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome ) | `2.4.8` | `2.4.9` |
| [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8 ) | `4.1.0` | `4.1.2` |
| [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest ) | `4.1.0` | `4.1.2` |
Updates `drizzle-orm` from 0.45.1 to 0.45.2
- [Release notes](https://github.com/drizzle-team/drizzle-orm/releases )
- [Commits](https://github.com/drizzle-team/drizzle-orm/compare/0.45.1...0.45.2 )
Updates `fastify` from 5.8.3 to 5.8.4
- [Release notes](https://github.com/fastify/fastify/releases )
- [Commits](https://github.com/fastify/fastify/compare/v5.8.3...v5.8.4 )
Updates `@biomejs/biome` from 2.4.8 to 2.4.9
- [Release notes](https://github.com/biomejs/biome/releases )
- [Changelog](https://github.com/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md )
- [Commits](https://github.com/biomejs/biome/commits/@biomejs/biome@2.4.9/packages/@biomejs/biome )
Updates `@vitest/coverage-v8` from 4.1.0 to 4.1.2
- [Release notes](https://github.com/vitest-dev/vitest/releases )
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.2/packages/coverage-v8 )
Updates `vitest` from 4.1.0 to 4.1.2
- [Release notes](https://github.com/vitest-dev/vitest/releases )
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.1.2/packages/vitest )
---
updated-dependencies:
- dependency-name: drizzle-orm
dependency-version: 0.45.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: fastify
dependency-version: 5.8.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: "@biomejs/biome"
dependency-version: 2.4.9
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: "@vitest/coverage-v8"
dependency-version: 4.1.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: vitest
dependency-version: 4.1.2
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
* test(e2e): wait for login submit button before click
* test(e2e): prefer API login in setup with UI fallback
* test(e2e): align selectors with current ui testids
* chore: rerun ci after merge resolution
* chore: trim stale e2e diff from dependency branch
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Volz <mail@danielvolz.org >
2026-03-30 20:35:19 +02:00
dependabot[bot]
bd2bfe6972
fix: unblock PR 502 checks
...
* build(deps-dev): bump typescript from 5.9.3 to 6.0.2 in /backend
Bumps [typescript](https://github.com/microsoft/TypeScript ) from 5.9.3 to 6.0.2.
- [Release notes](https://github.com/microsoft/TypeScript/releases )
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.9.3...v6.0.2 )
---
updated-dependencies:
- dependency-name: typescript
dependency-version: 6.0.2
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* fix: unblock PR 502 checks
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Volz <mail@danielvolz.org >
2026-03-30 20:14:29 +02:00
dependabot[bot]
026091c5ca
build(deps): bump brace-expansion from 5.0.2 to 5.0.5 in /backend
...
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion ) from 5.0.2 to 5.0.5.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases )
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v5.0.2...v5.0.5 )
---
updated-dependencies:
- dependency-name: brace-expansion
dependency-version: 5.0.5
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-27 08:46:22 +01:00
dependabot[bot]
08f75e44ff
build(deps): bump nodemailer from 8.0.3 to 8.0.4 in /backend
...
* build(deps): bump nodemailer from 8.0.3 to 8.0.4 in /backend
Bumps [nodemailer](https://github.com/nodemailer/nodemailer ) from 8.0.3 to 8.0.4.
- [Release notes](https://github.com/nodemailer/nodemailer/releases )
- [Changelog](https://github.com/nodemailer/nodemailer/blob/master/CHANGELOG.md )
- [Commits](https://github.com/nodemailer/nodemailer/compare/v8.0.3...v8.0.4 )
---
updated-dependencies:
- dependency-name: nodemailer
dependency-version: 8.0.4
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
* chore: retrigger ci for dependabot pr 492
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Volz <mail@danielvolz.org >
2026-03-27 08:43:23 +01:00
Daniel Volz
b58c4fe5bb
refactor: decompose backend services and routes for maintainability
2026-03-27 06:48:20 +01:00
dependabot[bot]
73a235dd83
build(deps): bump yaml from 2.8.2 to 2.8.3 in /backend ( #485 )
...
Bumps [yaml](https://github.com/eemeli/yaml ) from 2.8.2 to 2.8.3.
- [Release notes](https://github.com/eemeli/yaml/releases )
- [Commits](https://github.com/eemeli/yaml/compare/v2.8.2...v2.8.3 )
---
updated-dependencies:
- dependency-name: yaml
dependency-version: 2.8.3
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Volz <mail@danielvolz.org >
2026-03-26 07:56:06 +01:00
dependabot[bot]
675cb88f3e
build(deps): bump picomatch from 4.0.3 to 4.0.4 in /backend
...
Bumps [picomatch](https://github.com/micromatch/picomatch ) from 4.0.3 to 4.0.4.
- [Release notes](https://github.com/micromatch/picomatch/releases )
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md )
- [Commits](https://github.com/micromatch/picomatch/compare/4.0.3...4.0.4 )
---
updated-dependencies:
- dependency-name: picomatch
dependency-version: 4.0.4
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-26 07:36:55 +01:00
dependabot[bot]
c39b5c9501
build(deps): bump fastify from 5.8.2 to 5.8.3 in /backend ( #479 )
...
Bumps [fastify](https://github.com/fastify/fastify ) from 5.8.2 to 5.8.3.
- [Release notes](https://github.com/fastify/fastify/releases )
- [Commits](https://github.com/fastify/fastify/compare/v5.8.2...v5.8.3 )
---
updated-dependencies:
- dependency-name: fastify
dependency-version: 5.8.3
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Daniel Volz <mail@danielvolz.org >
2026-03-26 07:24:47 +01:00
Daniel Volz
f670a6355f
chore: release v1.22.0
2026-03-25 11:01:00 +01:00
dependabot[bot]
39c19ab2fe
build(deps): bump the minor-and-patch group in /backend with 4 updates
...
Squash merge PR #470
2026-03-25 07:11:44 +01:00
Daniel Volz
8e2d7e74d2
feat: improve medication enrichment lookup
...
Squash merge PR #475
2026-03-25 07:03:08 +01:00
Daniel Volz
7059c25f1c
fix: align stock and refill semantics
...
Squash merge PR #474
2026-03-25 06:49:34 +01:00
Daniel Volz
37fc2b8e66
chore: release v1.21.0 ( #467 )
2026-03-20 21:02:28 +01:00
Daniel Volz
b796e03bcb
feat: add medication enrichment lookup to the medication editor
...
* feat: add medication enrichment lookup
* fix: avoid double unescape in enrichment sanitization
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
---------
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-20 20:39:38 +01:00
Daniel Volz
68ab79c713
feat: enable weekday-based medication scheduling
...
Closes #463
2026-03-20 14:58:25 +01:00
Daniel Volz
29f4c4e48d
chore: release v1.20.2 ( #462 )
2026-03-17 05:55:29 +01:00
Daniel Volz
9e224c0441
fix: improve shared schedule stock overview display
2026-03-16 21:33:55 +01:00
Daniel Volz
5138d784cd
chore: improve intake reminder observability
2026-03-16 21:28:53 +01:00
Daniel Volz
14e783f111
fix: exclude obsolete medications from share flows
2026-03-16 21:21:41 +01:00
dependabot[bot]
9180783c42
build(deps): bump the minor-and-patch group in /backend with 5 updates
...
Squash merge Dependabot backend minor-and-patch dependency updates from PR #443 .
2026-03-16 07:51:28 +01:00
Daniel Volz
cc636eb98b
chore: release v1.20.1 ( #437 )
2026-03-15 20:01:58 +01:00
Daniel Volz
908e4e724f
fix: remove dead shareStockStatus gating from shared medication overview ( #436 )
...
The shareStockStatus UI toggle was replaced by shareMedicationOverview in
commit e0fb77d , but the backend gating logic was left intact. Users who
had previously set shareStockStatus=false were stuck with empty stock
values ('-') on the shared medication overview with no UI to change it.
- Remove showStockStatus parameter from buildSharedMedicationOverview()
- Remove visibility gating that nullified stock fields
- Remove shareStockStatus from settings API responses and PUT schema
- Remove shareStockStatus from frontend types, hooks, and context
- Clean up all related test fixtures and dead test cases
- DB column share_stock_status retained (never remove columns)
2026-03-15 19:27:39 +01:00
Daniel Volz
ef78e51b4e
chore: release v1.20.0 ( #434 )
2026-03-14 22:13:00 +01:00
Daniel Volz
0160ef3ddf
fix: restore schedule interaction correctness
...
* fix: restore schedule interaction correctness
* fix: use scheduled stock timing for historical doses
2026-03-14 20:49:13 +01:00
Daniel Volz
e0fb77d494
feat: embed medication overview into shared links
...
Closes #424
2026-03-14 20:26:17 +01:00
Daniel Volz
3fda41e501
fix: restore automatic intake auto-marking ( #420 )
2026-03-12 21:32:51 +01:00
Daniel Volz
c13bfad16f
feat: improve OpenAPI request contracts and examples ( #418 )
...
* feat: improve OpenAPI request contracts and examples
* fix: align AJV docs plugin typing
* fix: preserve runtime behavior for OpenAPI schemas
* fix: align medication OpenAPI body schema with app payloads
2026-03-11 14:50:42 +01:00
Daniel Volz
5264c761cf
feat: standardize OpenAPI route docs metadata ( #412 )
2026-03-10 16:52:31 +01:00
Daniel Volz
c0507c4c4b
feat: backend API key auth context and settings hardening ( #406 )
...
* feat: add backend api-key auth context and settings hardening
* fix: harden api key token hashing
2026-03-10 06:26:20 +01:00
dependabot[bot]
0e4d7f71e4
build(deps): bump the minor-and-patch group in /backend with 3 updates
...
Bumps the minor-and-patch group in /backend with 3 updates: [fastify](https://github.com/fastify/fastify ), [@biomejs/biome](https://github.com/biomejs/biome/tree/HEAD/packages/@biomejs/biome ) and [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ).
Updates `fastify` from 5.8.1 to 5.8.2
- [Release notes](https://github.com/fastify/fastify/releases )
- [Commits](https://github.com/fastify/fastify/compare/v5.8.1...v5.8.2 )
Updates `@biomejs/biome` from 2.4.4 to 2.4.6
- [Release notes](https://github.com/biomejs/biome/releases )
- [Changelog](https://github.com/biomejs/biome/blob/main/packages/@biomejs/biome/CHANGELOG.md )
- [Commits](https://github.com/biomejs/biome/commits/@biomejs/biome@2.4.6/packages/@biomejs/biome )
Updates `@types/node` from 25.3.3 to 25.3.5
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
---
updated-dependencies:
- dependency-name: fastify
dependency-version: 5.8.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: "@biomejs/biome"
dependency-version: 2.4.6
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-and-patch
- dependency-name: "@types/node"
dependency-version: 25.3.5
dependency-type: direct:development
update-type: version-update:semver-patch
dependency-group: minor-and-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-09 22:08:13 +01:00
Daniel Volz
e8279bd521
chore: release v1.19.0 ( #388 )
...
* docs: require explicit issue comment when closing issues via PR
* chore: release v1.19.0
2026-03-06 20:16:42 +01:00
dependabot[bot]
36d50c0736
build(deps): bump fastify from 5.7.4 to 5.8.1 in /backend ( #387 )
...
Bumps [fastify](https://github.com/fastify/fastify ) from 5.7.4 to 5.8.1.
- [Release notes](https://github.com/fastify/fastify/releases )
- [Commits](https://github.com/fastify/fastify/compare/v5.7.4...v5.8.1 )
---
updated-dependencies:
- dependency-name: fastify
dependency-version: 5.8.1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-06 20:02:08 +01:00
Daniel Volz
5b6c6abb69
feat: display actual reminder schedule from server config ( #386 )
...
- Expose REMINDER_HOUR and REMINDER_MINUTES_BEFORE env values via settings API
- Add reminderHour and reminderMinutesBefore to frontend Settings interface
- Replace hardcoded i18n strings with parameterized translations
- Settings page now shows configured schedule instead of static 6:00 / 15 min
2026-03-06 19:51:19 +01:00
Daniel Volz
30c97e2f0d
fix: use per-intake reminder setting as single source of truth ( #384 )
...
- Filter intakes by per-intake intakeRemindersEnabled instead of falling
back to medication-level setting (fixes #383 )
- Add SMTP delivery validation with accepted/rejected recipient checks
- Enhance email success logging with recipient, messageId, SMTP response
- Simplify MedDetailModal reminder icon logic to match backend behavior
- Sync lockfile versions to 1.18.2
2026-03-06 19:50:45 +01:00
Daniel Volz
4936929849
feat: replace hardcoded package assumptions with profile abstraction ( #379 )
2026-03-04 21:15:05 +01:00
Daniel Volz
b349e26833
chore: release v1.18.2 ( #374 )
2026-03-02 23:34:18 +01:00