Files
InvoiceShelf/CHANGELOG.md
T

49 lines
3.8 KiB
Markdown

# Changelog
Release notes for the 3.x line. Each `##` heading is a released version, and the
section beneath it is what CI publishes to the updater — see
`.github/scripts/changelog-section.php`.
The 2.x line has its own CHANGELOG.md on the `2.x` branch. Releases are also on
GitHub: https://github.com/InvoiceShelf/InvoiceShelf/releases
## 3.0.0-alpha.2 — 2026-08-14
Second public alpha of InvoiceShelf 3.0, with major additions across payments, taxes, PDFs, and the module platform.
⚠️ **Pre-release — not for production.** Back up your database before upgrading and use this release for evaluation and testing only.
### Highlights
- **Credit notes:** Create, send, and render linked full-invoice reversals. Credit notes settle the original balance, preserve the relationship in both directions, and can be safely removed to restore the balance.
- **Customer accounts and payments:** Allocate a payment across multiple invoices, retain overpayments as customer credit, inspect account activity and outstanding balances, and download or email customer statements.
- **Taxes:** Track purchase taxes on expenses and in tax reports, and apply compound sales taxes at document or item level with consistent exclusive, tax-inclusive, discount, and recurring-invoice calculations.
- **PDFs:** Dompdf and Gotenberg now share one rendering contract, with common page settings, repeating headers and footers, page numbers, broader template overrides, document metadata, and optional PDF/A output through Gotenberg.
- **Modules and AI:** Pair with the official marketplace, securely install and update signed modules, and uninstall them with data-preserving or explicitly destructive flows. The AI assistant is now a free official module instead of bundled core functionality.
### Improvements and fixes
- Require invoices to be settled before marking them completed, correct demo document sequences, and surface document save failures instead of silently leaving inconsistent state.
- Improve PDF downloads, report authorization, custom templates, fonts, line heights, margins, and access to private or Docker-internal Gotenberg hosts.
- Add MariaDB support to the installer, make the application timezone configurable, recreate required storage directories on container startup, and avoid secure-context-only browser APIs on plain HTTP installations.
- Reorganize the application into explicit domain and platform boundaries while keeping public v1 API routes and durable database data compatible.
- Harden the tag-driven release pipeline so packages are tested, built, reviewed as drafts, and registered with the updater only after publication.
### Upgrade notes
- The payment migration backfills existing invoice-payment relationships into the new allocation table and validates invalid or orphaned rows before removing the legacy relationship.
- Existing tax types are classified as sales taxes. Create purchase tax types for expense input-tax tracking.
- Core AI screens and services have moved to the official AI Assistant module. Existing AI data is retained so the module can adopt it.
- Internal PHP namespaces changed as part of the domain reorganization. Custom modules or integrations importing internal application classes must update those imports; public API routes remain compatible.
- The module runtime now uses InvoiceShelf Modules SDK 3.3.0. The unsafe `module:delete` command is replaced by `module:uninstall`, with explicit confirmation required before removing module data.
Docker: `invoiceshelf/invoiceshelf:3.0.0-alpha.2` (also `:next`).
## 3.0.0-alpha.1 — 2026-06-14
First public alpha of InvoiceShelf 3.0 — the next-generation rewrite (Laravel 13 / PHP 8.4, Vue 3 + TypeScript, Tailwind v4).
⚠️ **Pre-release — not for production.** For evaluation and testing only.
Docker: `invoiceshelf/invoiceshelf:3.0.0-alpha.1` (also `:next`).