Skip to content

v0.22.0#164

Merged
dannymcc merged 17 commits intomainfrom
dev
May 2, 2026
Merged

v0.22.0#164
dannymcc merged 17 commits intomainfrom
dev

Conversation

@dannymcc
Copy link
Copy Markdown
Owner

@dannymcc dannymcc commented May 2, 2026

What's Changed

New Features

Bug Fixes

  • Fixed dark mode bleeding into light mode — Tailwind config now loads after the CDN script so darkMode: 'class' is honoured correctly
  • Hide fuel log / charging session buttons based on vehicle fuel type — EV-only vehicles no longer show the fuel log button, and non-EV vehicles no longer show the charging button (Better Support / Visibility for Electric Cars #163)

Other Changes

  • Increased document upload limit to 300MB and expanded allowed file types (Excel, TXT, CSV, ePub) — supports instruction manuals and larger documents
  • Improved German translations (Update messages.po #157)
  • Improved Italian translations (Update Italian translations #133)
  • Updated dependencies: flask-migrate ≥4.1.0, requests ≥2.33.1, gunicorn ≥25.3.0, werkzeug ≥3.1.8, python-dateutil ≥2.9.0.post0
  • CI: bump docker/setup-qemu-action from 3 to 4

Upgrade Notes

All database changes are handled automatically via migrations on container start. No manual steps required.

albanobattistella and others added 17 commits April 18, 2026 22:48
- Add annual_mileage_limit and annual_mileage_start_date fields to Vehicle
- Add get_annual_mileage_stats() method computing driven, remaining,
  projected year-end, expected-at-this-point, and on/over-pace status
- Tracking period automatically advances each year from the configured
  start date, so leasing and insurance periods are handled correctly
- Vehicle edit form: new 'Annual Mileage Tracking' section
- Vehicle view: progress card with dual progress bar (distance + time
  elapsed marker), stats grid, and on-pace / over-pace / warning badges
Missing German translations have been added, and several errors have been corrected.
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 3 to 4.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](docker/setup-qemu-action@v3...v4)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-version: '4'
  dependency-type: direct:production
  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>
Updates the requirements on [flask-migrate](https://github.com/miguelgrinberg/flask-migrate) to permit the latest version.
- [Release notes](https://github.com/miguelgrinberg/flask-migrate/releases)
- [Changelog](https://github.com/miguelgrinberg/Flask-Migrate/blob/main/CHANGES.md)
- [Commits](miguelgrinberg/Flask-Migrate@v4.0.0...v4.1.0)

---
updated-dependencies:
- dependency-name: flask-migrate
  dependency-version: 4.1.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Updates the requirements on [requests](https://github.com/psf/requests) to permit the latest version.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](psf/requests@v2.31.0...v2.33.1)

---
updated-dependencies:
- dependency-name: requests
  dependency-version: 2.33.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>
Updates the requirements on [gunicorn](https://github.com/benoitc/gunicorn) to permit the latest version.
- [Release notes](https://github.com/benoitc/gunicorn/releases)
- [Commits](benoitc/gunicorn@21.2.0...25.3.0)

---
updated-dependencies:
- dependency-name: gunicorn
  dependency-version: 25.3.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Updates the requirements on [werkzeug](https://github.com/pallets/werkzeug) to permit the latest version.
- [Release notes](https://github.com/pallets/werkzeug/releases)
- [Changelog](https://github.com/pallets/werkzeug/blob/main/CHANGES.rst)
- [Commits](pallets/werkzeug@3.0.1...3.1.8)

---
updated-dependencies:
- dependency-name: werkzeug
  dependency-version: 3.1.8
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Move tailwind.config assignment to after the Tailwind CDN script loads
so darkMode: 'class' is correctly picked up. Previously the config was
set before Tailwind initialized, causing it to default to darkMode: 'media'
and apply dark: classes based on OS preference instead of the app toggle.

Also fix hardcoded bg-gray-900 code blocks in settings and API docs
that were not using the dark: prefix.
Co-authored-by: Fleischpirat <github@fleischpirat.de>
Co-authored-by: Albano Battistella <albanobattistella@gmail.com>
… types

Raise MAX_CONTENT_LENGTH from 16MB to 300MB to support large instruction
manuals and technical documents. Also add xlsx, xls, txt, csv, and epub
to the allowed extensions for the documents area.
Pure electric vehicles no longer show 'Add Fuel Log'. Regular hybrids
no longer show 'Add Charging' (only pure EV and plug-in hybrid can
be plugged in). Adds uses_charging() and uses_fuel() model helpers.
…l, vehicle sharing (#86, #147, #154)

Expense improvements (#147, #86):
- Add Inspection category to expense types
- Add Odometer column to expense list view
- Expandable rows reveal Vendor and Notes inline (click to expand)

Dashboard vehicle cards (#147):
- Replace generic icon list with photo-aware grid cards
- Shows vehicle image if set, fuel type badge, year
- Responsive grid (1→2→3→4 cols)

Vehicle overview improvements (#86):
- Upcoming Maintenance panel showing next 5 schedules sorted by due date
- Overdue/due-soon badges and progress bar per schedule
- Parts & Consumables section is now collapsible (state persisted per vehicle in localStorage)

Vehicle sharing (#154):
- Add is_shared boolean column (migration: 42b26bf6d488)
- Shared vehicles are visible and editable by all users on the instance
- Toggle in vehicle edit form (Status section)
- Shared badge shown in vehicle list
- Fix migration: add server_default=sa.false() to is_shared column so
  existing users with data can upgrade without errors
- Fix vehicles/view.html: move HTML comment inside if block to prevent
  false positive in maintenance panel test
- Add TestExpenseCategories tests (inspection category, odometer, expandable rows)
- Add TestVehicleSharing and TestVehicleViewMaintenancePanel tests
- Update README: document vehicle sharing, upcoming maintenance panel,
  parts collapse, inspection category, dashboard photo cards, 300MB docs
@dannymcc dannymcc merged commit 5d660c9 into main May 2, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants