Skip to content

Release v0.23.0#211

Merged
dannymcc merged 9 commits into
mainfrom
dev
Jun 4, 2026
Merged

Release v0.23.0#211
dannymcc merged 9 commits into
mainfrom
dev

Conversation

@dannymcc

@dannymcc dannymcc commented Jun 4, 2026

Copy link
Copy Markdown
Owner

What's Changed

New Features

  • Fuel discount field (Feature Request: Add a "Discount" field to fuel logs #209) — optional discount per unit on fuel logs; total cost is calculated as volume × (price − discount) when not entered directly.
  • Notes (Feature request - add Notes #204) — freeform per-vehicle notes with a date and optional odometer reading, for recording things that don't fit fuel/expenses/maintenance (e.g. DPF regenerations). Full CRUD with a menu-visibility toggle.
  • Mileage allowance (Feature request - mileage allowance #208) — track allowance income for business use (enter an amount, or a distance × rate). Totals offset running costs; the dashboard and vehicle detail page show total allowance and net cost. Full CRUD with a menu-visibility toggle.

Dependency Updates

Notes

  • Adds three idempotent Flask-Migrate migrations (one column add, two table adds) that run automatically on container startup.
  • Full test suite green (621 passed).

dependabot Bot and others added 9 commits June 4, 2026 00:26
Updates the requirements on [weasyprint](https://github.com/Kozea/WeasyPrint) to permit the latest version.
- [Release notes](https://github.com/Kozea/WeasyPrint/releases)
- [Changelog](https://github.com/Kozea/WeasyPrint/blob/main/docs/changelog.rst)
- [Commits](Kozea/WeasyPrint@v68.1...v69.0)

---
updated-dependencies:
- dependency-name: weasyprint
  dependency-version: '69.0'
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Updates the requirements on [coverage](https://github.com/coveragepy/coveragepy) to permit the latest version.
- [Release notes](https://github.com/coveragepy/coveragepy/releases)
- [Changelog](https://github.com/coveragepy/coveragepy/blob/main/CHANGES.rst)
- [Commits](coveragepy/coveragepy@7.14.0...7.14.1)

---
updated-dependencies:
- dependency-name: coverage
  dependency-version: 7.14.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
…te-69.0

deps: update weasyprint requirement from >=68.1 to >=69.0
…-7.14.1

deps: update coverage requirement from >=7.14.0 to >=7.14.1
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@25.3.0...26.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
Implements three feature requests:

- #209 Fuel discount: optional discount-per-unit on fuel logs. When the
  total cost isn't entered it's computed as volume * (price - discount),
  matching the amount actually paid with a loyalty discount.

- #204 Notes: freeform per-vehicle notes with a date and optional odometer
  reading, for recording things that don't fit fuel/expenses/maintenance
  (e.g. a DPF regeneration). Full CRUD with a menu-visibility toggle.

- #208 Mileage allowance: track allowance income received for business
  use. Totals offset a vehicle's running costs; the dashboard and vehicle
  detail page surface the allowance and resulting net cost. Full CRUD with
  a menu-visibility toggle.

Adds Flask-Migrate migrations for the new column and tables (idempotent,
following the existing defensive pattern) and test coverage for all three.
…-26.0.0

deps: update gunicorn requirement from >=25.3.0 to >=26.0.0
feat: fuel discount, notes and mileage allowance (#209, #204, #208)
@dannymcc dannymcc merged commit fc21cff into main Jun 4, 2026
2 checks 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.

1 participant