This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+2 more
Summary
AI summaryExpanded i18n coverage translates many UI strings across calendar, subscriptions, forms, and settings.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Low |
Adds i18n support for calendar month names, day abbreviations, buttons, and toasts. Adds i18n support for calendar month names, day abbreviations, buttons, and toasts. Source: llm_adapter@2026-05-30 Confidence: high |
— |
| Feature | Low |
Adds Dutch translation polish for several UI terms (Kalender → Agenda, Komende → Aankomende, autopay → automatische incasso, resetlink → herstellink). Adds Dutch translation polish for several UI terms (Kalender → Agenda, Komende → Aankomende, autopay → automatische incasso, resetlink → herstellink). Source: llm_adapter@2026-05-30 Confidence: high |
— |
| Feature | Low |
Achieves full key parity across four locales (en, de, es, nl) at 282 keys. Achieves full key parity across four locales (en, de, es, nl) at 282 keys. Source: llm_adapter@2026-05-30 Confidence: high |
— |
| Feature | Low |
Updates upgrade instructions to pull new Docker image ghcr.io/bscott/subtrackr:v0.6.2; no config changes required. Updates upgrade instructions to pull new Docker image ghcr.io/bscott/subtrackr:v0.6.2; no config changes required. Source: llm_adapter@2026-05-30 Confidence: high |
— |
| Feature | Low |
Translates subscription status labels (Active, Cancelled, Paused, Trial) across dashboard, list, and table views. Translates subscription status labels (Active, Cancelled, Paused, Trial) across dashboard, list, and table views. Source: granite4.1:30b@2026-05-30-audit Confidence: low |
— |
| Feature | Low |
Translates schedule labels such as Monthly, Annual, Every N Months consistently. Translates schedule labels such as Monthly, Annual, Every N Months consistently. Source: granite4.1:30b@2026-05-30-audit Confidence: low |
— |
| Feature | Low |
Adds i18n support for form placeholders in Payment-method, Account, URL, and Notes fields. Adds i18n support for form placeholders in Payment-method, Account, URL, and Notes fields. Source: granite4.1:30b@2026-05-30-audit Confidence: low |
— |
| Feature | Low |
Makes Settings page subtitle and most section descriptions translatable (Appearance, Export Data, etc.). Makes Settings page subtitle and most section descriptions translatable (Appearance, Export Data, etc.). Source: granite4.1:30b@2026-05-30-audit Confidence: low |
— |
| Feature | Low |
Translates SMTP, Webhook, API-key placeholders and the empty‑state message for API keys. Translates SMTP, Webhook, API-key placeholders and the empty‑state message for API keys. Source: granite4.1:30b@2026-05-30-audit Confidence: low |
— |
| Feature | Low |
Localizes the Mobile menu "Add Subscription" button. Localizes the Mobile menu "Add Subscription" button. Source: granite4.1:30b@2026-05-30-audit Confidence: low |
— |
Full changelog
What's New
Expanded i18n coverage (#116)
Many strings that were previously hardcoded in English now respect the active language. Improvements span the calendar, subscription views, settings sections, form placeholders, and more.
Calendar
- Month name in the header is now translated.
- Day abbreviations (Sun, Mon, …) translate.
- Today button, Export to iCal button, and the copy-confirmation toast translate.
Subscriptions
- Subscription status (Active, Cancelled, Paused, Trial) translates on the dashboard, subscriptions list, and table.
- Schedule labels (Monthly, Annual, Every N Months, etc.) translate consistently.
Forms
- Payment-method, Account, URL, and Notes placeholders translate.
Settings
- Page subtitle and most section descriptions are now translatable: Appearance, Export Data, Base URL, Calendar Subscription, Data Management, Email Notifications, Pushover, Webhook, Security, Currency, Date Format, Categories, API Keys.
- SMTP, Webhook, and API-key placeholders, plus the API-key empty state.
Misc
- Mobile menu "Add Subscription" button now translates everywhere.
Improved Dutch translations (#115)
Thanks to @callmenoodles for a Dutch translation polish PR that landed in this release:
- "Kalender" → "Agenda" (more natural for an appointment/event view)
- "Komende" → "Aankomende" (more idiomatic for upcoming renewals)
- "autopay" → "automatische incasso" (proper Dutch direct-debit term)
- "resetlink" → "herstellink" (Dutch password-reset terminology)
- SMTP field labels reworded to natural prepositional phrasing
Locale coverage
All four locales now ship full key parity at 282 keys:
| Locale | Status |
|---|---|
| en | Canonical |
| de | AI-assisted pass |
| es | AI-assisted pass |
| nl | AI-assisted pass + native-speaker polish from @callmenoodles |
Native-speaker contributions are very welcome — see web/locales/README.md.
Still in English needs improvement
A few areas remain English in this release and will be tackled separately:
- API Documentation section under Settings (will improve in next few releases).
- Currency display names in the currency picker.
- Locale-aware number formatting (e.g.
1.000,00for de/nl). This needs an architectural pass and will land in a future release.
Contributors
Big thank you to @callmenoodles for the Dutch translation contributions and for filing #116 with such a detailed inventory of coverage gaps. Both were instrumental in shaping this release.
Upgrade
docker pull ghcr.io/bscott/subtrackr:v0.6.2
No configuration changes required.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Beta — feedback welcome: [email protected]