Skip to content

Release history

Koffan releases

Shopping lists for families and couples

All releases

70 shown

v2.11.0 New feature
Notable features
  • Italian locale support
Full changelog

What's Changed

  • Add Italian locale by @Haxonium in https://github.com/PanSalut/Koffan/pull/119

New Contributors

  • @Haxonium made their first contribution in https://github.com/PanSalut/Koffan/pull/119

Full Changelog: https://github.com/PanSalut/Koffan/compare/v2.10.0...v2.11.0

v2.10.0 Maintenance

Routine maintenance release for Koffan.

Changelog

Full Changelog: https://github.com/PanSalut/Koffan/compare/v2.9.0...v2.10.0

v2.9.0 Maintenance

Routine maintenance release for Koffan.

Changelog

Full Changelog: https://github.com/PanSalut/Koffan/compare/v2.8.1...v2.9.0

v2.8.1 Maintenance

Routine maintenance release for Koffan.

Changelog

Full Changelog: https://github.com/PanSalut/Koffan/compare/v2.8.0...v2.8.1

v2.8.0 Maintenance

Routine maintenance release for Koffan.

Changelog

Full Changelog: https://github.com/PanSalut/Koffan/compare/v2.6.2...v2.8.0

v2.7.0 New feature
Notable features
  • Added Chinese (Simplified) language support to i18n
Full changelog

What's Changed

  • feat:Add Chinese (Simplified) language support to i18n by @libashanxi in https://github.com/PanSalut/Koffan/pull/113

New Contributors

  • @libashanxi made their first contribution in https://github.com/PanSalut/Koffan/pull/113

Full Changelog: https://github.com/PanSalut/Koffan/compare/v2.6.2...v2.7.0

v2.6.2 New feature
Notable features
  • Added crossorigin="use-credentials" attribute to the web app manifest enabling PWA support behind proxies
Full changelog

What's Changed

  • Feature: add crossorigin="use-credentials" to manifest for PWA support behind proxies by @derfloDev in https://github.com/PanSalut/Koffan/pull/115

New Contributors

  • @derfloDev made their first contribution in https://github.com/PanSalut/Koffan/pull/115

Full Changelog: https://github.com/PanSalut/Koffan/compare/v2.6.1...v2.6.2

v2.6.1 Maintenance

Routine maintenance release for Koffan.

Changelog

Full Changelog: https://github.com/PanSalut/Koffan/compare/v2.6.0...v2.6.1

v2.6.0 New feature
Notable features
  • Hide bought items
Full changelog

What's Changed

  • new Feature: hide bought items by @sir-andreas in https://github.com/PanSalut/Koffan/pull/103

New Contributors

  • @sir-andreas made their first contribution in https://github.com/PanSalut/Koffan/pull/103

Full Changelog: https://github.com/PanSalut/Koffan/compare/v2.5.0...v2.6.0

v2.5.0 Maintenance

Minor fixes and improvements.

Full changelog

What's Changed

  • Fixed some issues by @bretonjustin in https://github.com/PanSalut/Koffan/pull/104

Full Changelog: https://github.com/PanSalut/Koffan/compare/v2.4.0...v2.5.0

v2.4.0 Maintenance

Minor fixes and improvements.

Full changelog

What's Changed

  • Create Czech localization file cs.json by @Dvorinka in https://github.com/PanSalut/Koffan/pull/106
  • added dutch / flemish language by @FrumbleFrommel in https://github.com/PanSalut/Koffan/pull/107

New Contributors

  • @Dvorinka made their first contribution in https://github.com/PanSalut/Koffan/pull/106
  • @FrumbleFrommel made their first contribution in https://github.com/PanSalut/Koffan/pull/107

Full Changelog: https://github.com/PanSalut/Koffan/compare/v2.3.1...v2.4.0

v2.3.1 Maintenance

Minor fixes and improvements.

Full changelog

What's Changed

  • Fixed Typos by @AminGholizad in https://github.com/PanSalut/Koffan/pull/100

Full Changelog: https://github.com/PanSalut/Koffan/compare/v2.3.0...v2.3.1

v2.3.0 Maintenance

Routine maintenance release for Koffan.

Changelog

Full Changelog: https://github.com/PanSalut/Koffan/compare/v2.2.0...v2.3.0

v2.2.0 Bug fix
Notable features
  • Added Farsi translations
Full changelog

What's Changed

  • Fix the issue where list items do not refresh when browser is hidden by @bretonjustin in https://github.com/PanSalut/Koffan/pull/95
  • added Farsi translations by @AminGholizad in https://github.com/PanSalut/Koffan/pull/91

New Contributors

  • @bretonjustin made their first contribution in https://github.com/PanSalut/Koffan/pull/95
  • @AminGholizad made their first contribution in https://github.com/PanSalut/Koffan/pull/91

Full Changelog: https://github.com/PanSalut/Koffan/compare/v2.1.1...v2.2.0

v2.1.1 Maintenance

Routine maintenance release for Koffan.

Changelog

Full Changelog: https://github.com/PanSalut/Koffan/compare/v2.1.0...v2.1.1

v2.1.0 Maintenance

Routine maintenance release for Koffan.

Changelog

Full Changelog: https://github.com/PanSalut/Koffan/compare/v2.0.0...v2.1.0

v2.0.0 Maintenance

Routine maintenance release for Koffan.

Changelog

Full Changelog: https://github.com/PanSalut/Koffan/compare/v1.9.2...v2.0.0

v1.9.2 New feature
Notable features
  • Russian language added
Full changelog

What's Changed

  • Add Russian language by @unuunn in https://github.com/PanSalut/Koffan/pull/76

New Contributors

  • @unuunn made their first contribution in https://github.com/PanSalut/Koffan/pull/76

Full Changelog: https://github.com/PanSalut/Koffan/compare/v1.9.1...v1.9.2

v1.9.1 Maintenance

Routine maintenance release for Koffan.

Changelog

Full Changelog: https://github.com/PanSalut/Koffan/compare/v1.9.0...v1.9.1

v1.9.0 Maintenance

Routine maintenance release for Koffan.

Changelog

Full Changelog: https://github.com/PanSalut/Koffan/compare/v1.8.2...v1.9.0

v1.8.2 Bug fix

Fixed the Service Worker path.

Full changelog

What's Changed

  • Fix Service Worker path by @JenswBE in https://github.com/PanSalut/Koffan/pull/68

New Contributors

  • @JenswBE made their first contribution in https://github.com/PanSalut/Koffan/pull/68

Full Changelog: https://github.com/PanSalut/Koffan/compare/v1.8.1...v1.8.2

v1.8.1 Maintenance

Routine maintenance release for Koffan.

Changelog

Full Changelog: https://github.com/PanSalut/Koffan/compare/v1.8.0...v1.8.1

v1.8.0 Breaking risk
Breaking changes
  • Removed copying of template and static file directories in the Dockerfile
Full changelog

What's Changed

  • Remove copying of templates and static files in Dockerfile by @0alai in https://github.com/PanSalut/Koffan/pull/59

New Contributors

  • @0alai made their first contribution in https://github.com/PanSalut/Koffan/pull/59

Full Changelog: https://github.com/PanSalut/Koffan/compare/v1.7.0...v1.8.0

v1.7.0 Maintenance

Routine maintenance release for Koffan.

Changelog

Full Changelog: https://github.com/PanSalut/Koffan/compare/v1.6.9...v1.7.0

v1.6.9 New feature
Notable features
  • Templates and static assets are embedded directly into the binary
Full changelog

What's Changed

  • Embed templates and static assets into binary by @ancientcatz in https://github.com/PanSalut/Koffan/pull/54

New Contributors

  • @ancientcatz made their first contribution in https://github.com/PanSalut/Koffan/pull/54

Full Changelog: https://github.com/PanSalut/Koffan/compare/v1.6.7...v1.6.9

v1.6.8 Bug fix

Fixed apostrophe handling and improved offline mode.

Full changelog

What's Changed

  • fix: apostrophe handling, offline mode improvements by @PanSalut in https://github.com/PanSalut/Koffan/pull/57

New Contributors

  • @PanSalut made their first contribution in https://github.com/PanSalut/Koffan/pull/57

Full Changelog: https://github.com/PanSalut/Koffan/compare/v1.6.7...v1.6.8

v1.6.7 Maintenance

Routine maintenance release for Koffan.

Changelog

Full Changelog: https://github.com/PanSalut/Koffan/compare/v1.6.6...v1.6.7

v1.6.6 Maintenance

Routine maintenance release for Koffan.

Changelog

Full Changelog: https://github.com/PanSalut/Koffan/compare/v1.6.5...v1.6.6

v1.6.5 Maintenance

Routine maintenance release for Koffan.

Changelog

Full Changelog: https://github.com/PanSalut/Koffan/compare/v1.6.4...v1.6.5

v1.6.4 Maintenance

Routine maintenance release for Koffan.

Changelog

Full Changelog: https://github.com/PanSalut/Koffan/compare/v1.6.3...v1.6.4

v1.6.3 Maintenance

Routine maintenance release for Koffan.

Changelog

Full Changelog: https://github.com/PanSalut/Koffan/compare/1.6.2...v1.6.3

v1.6.0 New feature
Notable features
  • Export and import shopping lists as JSON or CSV with full history support
  • Conflict resolution options when importing duplicate lists
  • Clear database option added in Data tab
Full changelog

What's New

Import/Export functionality

  • Export and import your shopping lists as JSON or CSV
  • Full history support - remembers which list and section items were added to
  • Conflict resolution options when importing duplicate lists

Other improvements

  • Clear database option in Data tab
  • Sponsors section added

Closes #6

v1.5.6 Maintenance

Minor fixes and improvements.

Changelog

Added Slovak (SK) translation. Thanks @Richdark for the contribution!

v1.5.5 New feature
Notable features
  • Added 'Add first section' button when no sections exist, available in all 11 supported languages
Full changelog

Improvements

  • Added 'Add first section' button when no sections exist (#37)
    • Users can now quickly create their first section from the empty state
    • Available in all 11 supported languages
v1.5.4 Feature
Notable features
  • Added Greek (Ελληνικά) language translation
Changelog

Added Greek language (Ελληνικά) translation.

v1.5.3 Bug fix

Default list title language now respects the DEFAULT_LANG setting.

Full changelog

Bug Fixes

  • Fix default list title language - now respects DEFAULT_LANG setting instead of hardcoded Polish (#36)
v1.5.2 New feature
Notable features
  • Added docker-compose.local.yaml for local development with specific run command
Full changelog

Changes

  • Added docker-compose.local.yaml for local development (#35)
    • Use docker-compose -f docker-compose.local.yaml up -d to run locally
    • Main docker-compose.yaml uses expose for compatibility with Coolify/Dokploy
v1.5.1 New feature
Notable features
  • Added `docker-compose.local.yaml` for local development and usage instructions
Full changelog

Changes

  • Added docker-compose.local.yaml for local development (#35)
    • Use docker-compose -f docker-compose.local.yaml up -d to run locally
    • Main docker-compose.yaml uses expose for compatibility with Coolify/Dokploy
v1.5.0 New feature
Notable features
  • Drag‑and‑drop reordering of items within and between sections with mobile touch support, offline queueing, and haptic feedback
  • Improved UI refresh after offline sync
  • Smoother drag animations
Full changelog

New Features

  • Drag and drop reordering - Reorder items within sections and move items between sections by dragging (Issue #27)
    • Works on mobile with touch support
    • Offline support - changes are queued and synced when back online
    • Haptic feedback on mobile devices

Improvements

  • Better UI refresh after offline sync
  • Smoother drag animations
v1.4.1 Bug fix

Fixed truncation of overly long list names.

Full changelog

Changes

  • Improved handling of long list names - names are now dynamically truncated only when they don't fit in the container (#31)
v1.4.0 New feature
Notable features
  • Full dark/light/system theme switching (dark mode support)
  • New cat‑logo app icons
  • Consistent scrollbar styling in dark theme
Full changelog

New Features

  • Dark mode support - Full dark/light/system theme switching
  • New app icons - Fresh cat logo design
  • Dark mode scrollbar styling - Consistent look in dark theme

Improvements

  • Updated README with dark mode feature showcase
  • Polish translation improvements
  • Fix race condition in section item handling
v1.3.5 Bug fix
Notable features
  • Added Swedish (Svenska) language support
Full changelog

New Features

  • Swedish translation - Added Swedish (Svenska) language support

Fixes

  • Fixed typos in Swedish translation (Snabbinläggning, Pågående, Mallar)
v1.3.4 Maintenance
Notable features
  • Added Norwegian (Norsk) language support
  • Added Lithuanian (Lietuvių) language support
Full changelog

New Languages

  • Norwegian (Norsk) - Thanks to @SveinEven (#28)
  • Lithuanian (Lietuvių) - Thanks to @mantasio (#29)

Koffan now supports 9 languages: PL, EN, DE, ES, FR, PT, UK, NO, LT

v1.3.3 New feature
Notable features
  • REST endpoints return 503 with JSON error response when `API_TOKEN` is not set
Full changelog

Improvements

  • Return 503 when REST API is disabled - When API_TOKEN is not set, API endpoints now return proper 503 Service Unavailable with JSON error response instead of redirecting to login page.
v1.3.2 Bugfix

Fixed icon validation by falling back to a default cart emoji when invalid text is provided.

Full changelog

Bug Fixes

  • Fix icon validation in REST API - Invalid text input for icons now falls back to default cart emoji (🛒) instead of being stored as plain text. Only valid emoji or known aliases are accepted.
v1.3.1 New feature
Notable features
  • String aliases for icons (e.g., "cart", "home", "gift") replace emoji in API requests
Full changelog

REST API Improvements

  • String aliases for icons - Use \"cart\", \"home\", \"gift\" etc. instead of emoji in API requests
  • Wiki documentation - Added REST API documentation to GitHub Wiki

See REST API docs for full reference.

v1.3.0 New feature
Notable features
  • Token-based authentication via `API_TOKEN` environment variable
  • Full CRUD endpoints for lists, sections, and items at `/api/v1/`
  • Batch creation endpoint to build complex structures in a single request
Full changelog

New Features

REST API

  • Token-based authentication - Enable API by setting API_TOKEN environment variable
  • Full CRUD endpoints for lists, sections, and items at /api/v1/
  • Batch creation - Create complex structures (list + sections + items) in a single request
  • Reordering support - Move items up/down via API
  • History/suggestions management - Add, view, and delete item suggestions

API Endpoints

| Resource | Endpoints |
|----------|-----------|
| Lists | GET, POST, PUT, DELETE /api/v1/lists |
| Sections | GET, POST, PUT, DELETE /api/v1/sections |
| Items | GET, POST, PUT, DELETE /api/v1/items |
| Batch | POST /api/v1/batch |
| History | GET, POST, DELETE /api/v1/history |

Usage

# Enable API
export API_TOKEN="your-secure-token"

# Example request
curl -H "Authorization: Bearer your-secure-token" \
  http://localhost:3000/api/v1/lists

Bug Fixes

  • Fixed list_id not being returned in section responses
v1.2.4 Breaking risk
Breaking changes
  • Removed restrictions that prevented deleting active or last remaining list entries.
  • Renamed feature label "Templates" to "Real-time" across all 7 languages.
Notable features
  • New sync icon reflecting real-time synchronization
Full changelog

Changes

  • Allow deleting any list - Removed restrictions that prevented deleting active or last remaining list
  • Renamed "Templates" to "Real-time" - Updated feature label in welcome screen across all 7 languages
  • New sync icon - Updated icon to reflect real-time synchronization feature
v1.2.3 Bug fix

Fixed empty state visibility – “No items” message now hides automatically upon adding a product or section.

Full changelog

Bug Fixes

  • Fixed empty state visibility - The "No items" message now disappears automatically when adding the first product or section (previously required page refresh)
v1.2.2 New feature
Notable features
  • Quick-add button in section headers (desktop auto-selects/focuses, mobile opens modal pre‑selected)
  • Completed section indicator now uses a pink checkmark icon
Full changelog

New Features

  • Quick-add button in section headers - Tap the + icon next to any section name to quickly add items to that section
    • On desktop: automatically selects the section and focuses the input field
    • On mobile: opens the add item modal with the section pre-selected
  • Improved completed section indicator - Replaced text badge with a clean pink checkmark icon when all items in a section are purchased

Translations

  • Added quick_add translation key for all supported languages (EN, PL, DE, FR, ES, PT, UA)
v1.2.1 New feature
Notable features
  • Full Ukrainian language support for all app features, lists, templates, onboarding, and settings
Full changelog

New Features

  • Ukrainian localization - Added full Ukrainian language support (contributed by @otolochko)
    • Complete translation of all app features
    • Lists, templates, onboarding, and settings sections included

Fixes

  • Fixed CI workflow to only run on public repo
v1.2.0 Breaking risk
Breaking changes
  • Removed offline support for lists page (retained only for individual list view)
Notable features
  • Multiple shopping lists with custom icons
  • Mobile bottom navigation bar for quick list access
  • Offline sync using Last Write Wins strategy
Full changelog

Features

  • Multiple lists support - Create and manage multiple shopping lists with custom icons
  • Mobile bottom navigation bar - Quick access to lists on mobile devices
  • Offline sync with Last Write Wins - Changes made offline are synced when back online, newest change wins
  • Empty state for lists - Better UX when list has sections but no products
  • Auto-create section - Sections created without page reload

Fixes

  • Fix offline sync with proper IndexedDB versioning
  • Fix SQLite concurrency issues causing session loss
  • Fix session cookie Path attribute
  • Fix section reordering race condition
  • Fix radio button color to pink

Other

  • Remove offline support for lists page (keep for individual list view only)
  • Simplify mobile stats display
  • Various UI/UX improvements
v1.1.4 New feature
Notable features
  • DISABLE_AUTH environment variable (set to true) bypasses built‑in authentication for reverse proxy setups
Full changelog

New Features

  • DISABLE_AUTH environment variable - Skip built-in authentication for reverse proxy setups
    • Set DISABLE_AUTH=true to bypass login when your proxy handles auth
    • Useful for Traefik, Caddy, Nginx with Authelia/Authentik, etc.

Closes #14

v1.1.2 New feature
Notable features
  • Page title updated to "Koffan Shopping List" with localizations (EN, PL, DE, ES, FR, PT)
  • Login page title simplified to "Login - Koffan" with localized equivalents
Full changelog

Changes

  • Page title now shows Koffan Shopping List (and localized equivalents)
    • EN: Koffan Shopping List
    • PL: Koffan Lista Zakupów
    • DE: Koffan Einkaufsliste
    • ES: Koffan Lista de compras
    • FR: Koffan Liste de courses
    • PT: Koffan Lista de compras
  • Login page title simplified to "Login - Koffan" (localized)
v1.1.1 Bug fix

Fixed page title translation staying in the selected language after toggling items.

Full changelog

Bug Fixes

  • Fixed page title translation (issue #13) - Page title now stays in the selected language after toggling items
  • Changed hardcoded Polish <html lang="pl"> to dynamic language based on user preference
  • Changed hardcoded Polish title to "Koffan" fallback
  • Added htmx:afterRequest handler to ensure title is always restored after HTMX operations
v1.1.0 New feature
Notable features
  • Auto-completion with fuzzy search for product names, remembering last section
  • Product history management UI in Settings → Shopping List (view, search, delete)
  • One‑click deploy buttons for Railway, Render, DigitalOcean, Heroku with config files
Full changelog

New Features

Auto-completion with fuzzy search

  • Start typing a product name to see suggestions from your history
  • Fuzzy matching finds products even with typos
  • Remembers which section each product was last added to

Product history management

  • New section in Settings → Shopping List
  • View all saved products with their sections
  • Search through history
  • Delete items added by mistake

One-click deploy

  • Deploy buttons for Railway, Render, DigitalOcean, and Heroku
  • Configuration files included for easy self-hosting

Improvements

  • Input validation limits to prevent DoS attacks
  • Consistent UI styling across the app
v1.0.13 Bug fix
Notable features
  • Button to delete all bought items in Settings > Shopping list tab
  • Settings modal now has Account and Shopping list tabs
  • Delete action blocked when offline
Full changelog

Bug Fixes

  • Page title translation - Fixed title reverting to "Lista Zakupow" after data sync (push/pull)

New Features

  • Delete all bought items - New button in Settings > Shopping list tab to remove all completed items at once
  • Settings tabs - Settings modal now has two tabs: Account (language settings) and Shopping list (list management)
  • Offline protection - Delete action is blocked when offline

Translations

  • Added translations for all 6 supported languages (PL, EN, DE, ES, FR, PT)
v1.0.12 New feature
Notable features
  • Mobile FAB Speed Dial menu with quick actions: Add product and Manage sections
  • Smooth animations and button rotation feedback
Full changelog

New Features

  • Mobile FAB Speed Dial menu - Added quick access to section management on mobile devices
    • Tap the floating action button to reveal menu options
    • "Add product" - opens the add item modal
    • "Manage sections" - opens section management modal
    • Smooth animations with button rotation feedback

Notes

  • Section management requires internet connection (offline mode not supported)
v1.0.11 Bug fix

Fixed login redirect loop by setting the Secure cookie flag based on actual connection protocol.

Full changelog

Bug Fixes

  • Fixed login redirect loop on HTTP connections - Session cookie was incorrectly set with Secure flag when APP_ENV=production, which broke authentication when accessing the app via HTTP (e.g., on local network by IP address). Now the Secure flag is set based on actual connection protocol.

Technical Details

  • Added isSecureConnection() helper that checks:
    • X-Forwarded-Proto header (for reverse proxy setups)
    • Direct connection protocol
  • This ensures cookies work correctly on both HTTP (local network) and HTTPS (behind reverse proxy) setups.

Fixes #1

v1.0.10 New feature
Notable features
  • Keep modal open to add multiple items with the new "Add more toggle"
  • Press Enter in the name field to quickly submit an item
  • Translations added for all 6 supported languages
Full changelog

What's New

  • Add more toggle - keep modal open to add multiple items without closing
  • Enter to submit - press Enter on name field to quickly add item
  • Section stays selected when adding more items
  • Translations for all 6 languages
v1.0.9 Breaking risk

Fixed persistence of expanded/collapsed section state on iOS Safari and after HTMX swaps.

Full changelog

Bug Fixes

  • Section counter - Now updates correctly when deleting items
  • Empty sections - Automatically hidden when all items are removed
  • Bought section state - Fixed persistence of expanded/collapsed state on iOS Safari and after HTMX swaps (#3)

Technical Changes

  • Added updateSectionAfterDelete() helper function
  • Changed Alpine.js initialization to use init() method for reliable state restoration
  • Added getCompletedSectionState() for safe localStorage access on iOS
v1.0.8 Bug fix
Notable features
  • Edit button added to desktop view
  • Offline synchronization with Last Write Wins strategy
Full changelog

Zmiany

Nowe funkcje

  • Przycisk edycji na desktop view
  • Synchronizacja offline z Last Write Wins (najnowsze wygrywa)

Poprawki

  • Uproszczona synchronizacja po powrocie online - sync, toast, reload strony
  • Naprawiono podwójny toast przy powrocie online
  • Naprawiono błędy UI przy edycji offline
  • Naprawiono migrację SQLite
  • Poprawiono obsługę błędów w GetItemVersion
v1.0.7 Feature
Notable features
  • Edit button in desktop view for direct item editing on hover
Changelog

Added

  • Edit button in desktop view - now you can edit items directly from the list on hover
v1.0.6 New feature
Notable features
  • Delete confirmation dialog added on desktop, aligning with mobile behavior
Full changelog

What's Changed

  • Add delete confirmation dialog on desktop (matching mobile behavior)

Previously, items were deleted immediately on desktop without confirmation. Now a confirmation dialog appears before deletion, consistent with the mobile experience.

v1.0.5 Bug fix

Fixed localization bug so delete confirmation popup shows in the user's selected language.

Full changelog

Bug Fixes

  • Fixed localization bug - Delete section confirmation popup now displays in the user's selected language instead of always showing Polish (#10)
  • Fixed "Postep" label - Progress bar label now uses i18n translations
  • Fixed page title - Page title is now dynamically set based on selected language

Languages affected

All 6 supported languages: PL, EN, DE, FR, ES, PT

v1.0.4 Security relevant
Security fixes
  • Fix XSS vulnerability in mobile action button template
Full changelog

Security & Stability Fixes

  • Fix unchecked crypto/rand error in session ID generation
  • Fix XSS vulnerability in mobile action button template
  • Fix race conditions in section/item move operations (reads now inside transactions)
v1.0.3 Breaking
Breaking changes
  • Removed the unused `preferences` table from the database schema.
Changelog

Remove unused preferences table from database schema

v1.0.2 Breaking risk
Notable features
  • DEFAULT_LANG environment variable to set default app language
Full changelog

What's Changed

Bug Fixes

  • Fixed default language configuration - The app now defaults to English instead of Polish for new users
  • Added DEFAULT_LANG environment variable - You can now configure the default language (e.g., DEFAULT_LANG=de for German)
  • Removed unreliable browser language detection - Language is now determined by: user preference (localStorage) → server default

Documentation

  • Added DEFAULT_LANG to environment variables documentation in README
  • Translated i18n/README.md to English

Fixes #2

v1.0.1 Breaking risk
Breaking changes
  • Removed empty "Select section" placeholder option
Notable features
  • Native-feeling pull-to-refresh with spinner following finger
  • Disabled pinch zoom and double‑tap zoom on mobile; added `touch-action: manipulation`
  • Overlay fade animation during page refresh with debounced calls to prevent rapid updates
Full changelog

Mobile UX Improvements

Pull to Refresh

  • Added native-feeling pull-to-refresh gesture on mobile
  • Spinner follows your finger position smoothly
  • Triggers refresh after ~70px pull threshold

Zoom Prevention

  • Disabled pinch zoom and double-tap zoom on mobile
  • Fixed iOS auto-zoom when focusing on input fields (font-size 16px fix)
  • Added touch-action: manipulation for better touch handling

Smooth Refresh Animation

  • Added overlay fade animation during page refresh
  • Debounced refresh calls to prevent multiple rapid updates
  • Eliminated page "flashing" during content swap

Default Section Selection

  • First section is now auto-selected when adding items
  • Removed empty "Select section" placeholder option

Offline Support Enhancements

  • Toast notifications for offline action feedback
  • Optimistic UI updates for toggle and edit actions
  • Visual sync badges on pending items (rose color scheme)
  • Improved offline item creation with sync indicators
v1.0.0 New feature
⚠ Upgrade required
  • Docker Compose support included
  • Coolify deployment instructions provided
  • Traefik reverse proxy compatible
Notable features
  • Add, edit and delete items
  • Organize items into sections/categories
  • Mark items as purchased or uncertain
Full changelog

Koffan v1.0.0

First stable release of the shopping list management app.

Features

  • Add, edit and delete items
  • Organize items into sections/categories
  • Mark items as purchased or uncertain
  • Real-time sync via WebSocket
  • Responsive mobile-first UI
  • Simple password authentication
  • SQLite database with persistent storage
  • Docker & Coolify ready

Deployment

  • Docker Compose support
  • Coolify deployment instructions included
  • Traefik reverse proxy compatible

Beta — feedback welcome: [email protected]