| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| solidinvoice-mac-amd64 | 2026-10-15 | 275.2 MB | |
| solidinvoice-3.1.0.tgz | 2026-10-15 | 252.0 kB | |
| solidinvoice-linux-arm64 | 2026-10-15 | 149.1 MB | |
| solidinvoice-linux-amd64 | 2026-10-15 | 150.2 MB | |
| SolidInvoice-3.1.0.tar.gz | 2026-10-15 | 91.0 MB | |
| SolidInvoice-3.1.0.zip | 2026-10-15 | 106.4 MB | |
| README.md | 2026-10-15 | 10.2 kB | |
| Release 3.1.0 source code.tar.gz | 2026-10-15 | 13.8 MB | |
| Release 3.1.0 source code.zip | 2026-10-15 | 15.8 MB | |
| Totals: 9 Items | 801.6 MB | 0 | |
What's Changed
π New Features
- Add custom invoice template setting by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2545
- Allow re-sending email verification mails by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2970
- Add a product feedback form link to the app, README and trial emails by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2992
- Invite users to the SolidInvoice Cloud affiliate program by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2991
- Add expiry handling and management actions for user invitations by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2511
- Improve payment gateway setup UX with guidance and clearer configuration by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2538
- Upgrade to Symfony 8.1 by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2540
- Add payment terms to invoices by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2961
- Freeze invoice and quote currency once issued (SOL-298) by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2930
- Give invoice, recurring invoice and quote lines a stable position and let users reorder them by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2842
- Give invoice, recurring invoice and quote lines a name by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2837
π Bug Fixes
- Fix setting email headers from config by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2504
- Fix running migrations during upgrade by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2520
- Fix install script by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2544
- Remove the unreachable InvoiceStatus::Active case by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2951
- Translate the PDF status watermark instead of printing the raw enum value by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2950
- Remove the dead accent variable from invoice and quote email templates by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2949
- Transition flashes: cancel/decline move off green, recurring invoices stop calling themselves invoices by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2948
- Retire [#94704]a from editorial/friendly PDFs: neutral money, warm labels by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2946
- Fix DiscountTransformer crash on non-numeric discount input (closes [#2523]) by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2945
- Add a readable status line to the six free PDF templates (SOL-369) by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2942
- Fix changing a client on an invoice and quote by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2972
- Fix 500 on POST /api/tax-identifiers with client relation by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2993
- Fix Add Credit button on client page not working by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2509
- Add natural version comparitor for Doctrine migrations by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2510
- Fix phone/custom field values not saved for contacts by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2508
- Scope API token history grid to the current user by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2519
- Fix NumberFormatException when discount is empty by @seer-by-sentry[bot] in https://github.com/SolidInvoice/SolidInvoice/pull/2525
- Fix: Disable sorting for calculated usageCount in API token grid by @seer-by-sentry[bot] in https://github.com/SolidInvoice/SolidInvoice/pull/2541
- Fix: Typed property TransportSetting::$user must not be accessed before initialization by @seer-by-sentry[bot] in https://github.com/SolidInvoice/SolidInvoice/pull/2542
- Fix InvalidTypeException when empty invoiceId is submitted by @seer-by-sentry[bot] in https://github.com/SolidInvoice/SolidInvoice/pull/2451
- Fix CSRF token failure in CustomField DeleteAction throwing 403 instead of redirecting by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2445
- Fix uninitialized $recurringOptions crashing recurring invoice grid (#2582) by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2583
π§ Other Changes
- Require X-API-TOKEN header for API authentication by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2514
- refactor: replace serialize/unserialize with JSON for DataGrid context hydration by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2518
- Unify translations into a single provider-agnostic system by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2539
- Update design of some pages by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2577
- perf(invoice): consolidate reminder scans and index the reminder query by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2587
- Improve tests by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2638
- fix(frankenphp): allow --domain with --disable-https for reverse proxy hostname routing by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2636
- Store line quantity as an exact decimal instead of a float by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2716
- fix: respect currency subunit in money form transformer and formatter by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2637
- Fix ChoosePlanActionTest after is_paid telemetry property became a string by @aymericcucherousset in https://github.com/SolidInvoice/SolidInvoice/pull/2766
- test(notification): cover transport-failure path in NotificationManager by @aymericcucherousset in https://github.com/SolidInvoice/SolidInvoice/pull/2765
- test(invoice): cover InvoiceManager::create() invalid transition case by @aymericcucherousset in https://github.com/SolidInvoice/SolidInvoice/pull/2764
- fix(migration): Correct FK constraint for composite PK in Version20200 by @seer-by-sentry[bot] in https://github.com/SolidInvoice/SolidInvoice/pull/2770
- fix(client): Add form validation to ClientForm::save by @seer-by-sentry[bot] in https://github.com/SolidInvoice/SolidInvoice/pull/2771
- Add Proxmox VE install docs and remove Snap page by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2792
- fix: Prevent NotEnabledTransitionException when sending already sent quotes by @seer-by-sentry[bot] in https://github.com/SolidInvoice/SolidInvoice/pull/2762
- fix: Remove conflicting MappedSuperclass from Invoice Line entity by @seer-by-sentry[bot] in https://github.com/SolidInvoice/SolidInvoice/pull/2793
- Update layouts to use solidworx/platform layouts by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2795
- Store legacy serialized array columns as JSON by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2800
- Stop a posted line from overwriting the one already there by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2845
- Stop a posted contact or address from overwriting the one already there by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2846
- Give each status Twig function its own method by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2857
- Give the status chip its tokens and its component by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2854
- Raise the modern PDF label and table header contrast by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2855
- Make the PDF urgency colours readable on the paper they print on by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2856
- Stop Line::updateTotal() from dirtying the line on every read (SOL-334) by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2952
- Keep an archived client's invoices and quotes renderable and listed by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2929
- Collapse the duplicated frozen-currency implementation across Invoice and Quote by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2966
- MCP: resolve document currency through the client's hydrated Currency (SOL-394) by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2965
- Fix the MySQLPlatform sibling-class trap in 21 migrations (SOL-164) by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2861
- Fix the migration chain so it replays from empty on MariaDB and PostgreSQL (SOL-166, SOL-275, SOL-277) by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2917
- Make _send_invoice a POST route with a CSRF token by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2921
- Surface the real exception on an unexpected API 5xx in tests by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2918
- Upgrade the UI to Tabler 1.5 by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2844
- Tokenize _global-search.scss: replace all 20 raw hex literals (SOL-255) by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2911
- Repoint plan banners and company initials onto the -dark fill steps by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2908
- Client-facing invoice/quote views: money goes neutral (SOL-236) by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2906
New Contributors
- @pierredup with @Copilot made their first contribution in https://github.com/SolidInvoice/SolidInvoice/pull/2502
- @blacksmith-sh[bot] made their first contribution in https://github.com/SolidInvoice/SolidInvoice/pull/2556
- @aymericcucherousset made their first contribution in https://github.com/SolidInvoice/SolidInvoice/pull/2766
Full Changelog: https://github.com/SolidInvoice/SolidInvoice/compare/3.0.0...3.1.0