Skip to content

SolidInvoice

v3.0.0 Breaking

This release includes 2 breaking changes for platform teams planning a safe upgrade.

Published 1mo Productivity & Wikis
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

billing billing-application freelancer invoice invoicing invoicing-application
+4 more
php quotes self-hosted symfony

Affected surfaces

auth

Summary

AI summary

Broad release touches 🔧 Other Changes, 🚀 New Features, 🐛 Bug Fixes, and saas.

Full changelog

What's Changed

🚀 New Features

  • Add user email verification by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/1719
  • Add Google OAuth login by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/1718
  • Add first and last name to users by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/1756
  • Update user profile pages by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/1759
  • Add nightly docker build by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/1807
  • Add Two Factor Authentication by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/1825
  • Add setting to delete company by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/1893
  • Add support for Flat Rate tax type by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2121
  • Re-design installation pages by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2193
  • Add option to create new client when creating an invoice or quote by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2274
  • Add meilisearch integration to allow users to quickly search information across the company by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2300

🐛 Bug Fixes

  • Fix company name on external invoice links by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/1853
  • Fix handling trial subscriptions by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/1894
  • Bind parameters as array by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2217
  • Add check if application is installed before running messenger commands by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2285
  • Fix HTML sanitizer encoding special characters in line item descriptions by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2292
  • Handle SMTP transport failures gracefully with proper error messages by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2293
  • Fix controller service definition in Dashboard Bundle by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2297
  • Cascade all entities during deletion by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2299
  • Fix enum status handling in PDF templates by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2348
  • Fix ORMInvalidArgumentException when marking multiple invoices overdue by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2414

🔧 Other Changes

  • Merge 2.3.x to 2.4.x by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/1640
  • Merge up/2.3.x to 2.4.x by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/1755
  • Merge up 2.3.x into 2.4.x by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/1809
  • Merge 2.3.x to 2.4.x by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2009
  • Bump minimum required PHP version to 8.4 by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2010
  • Add Codespell to Github actions by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2046
  • Add Config Providers to let each bundle define it's own default config values by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2047
  • Add option to hide Powered By text by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2048
  • Fix mobile view on pages by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2137
  • Add AI agents instructions files by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2198
  • Merge 2.3.x into 2.4.x by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2202
  • Start of UI re-design by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2194
  • Add UserSettings feature for storing user-specific settings by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2204
  • Update settings page to modern styles by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2205
  • Add base styles and add style guide by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2206
  • Upgrade DataGrid to a cleaner UI by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2208
  • Improve dashboard layout, style and information by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2207
  • Update client list UI by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2209
  • Add preview releases for 3.0.x branch by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2212
  • Re-design client create page by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2210
  • Re-design quote and invoice list pages by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2213
  • Re-design the client view page by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2211
  • Re-design invoice and quote create pages by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2214
  • Re-design payment capture page by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2216
  • Re-design invoice view page by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2215
  • Re-design invoice and quote PDF by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2218
  • Re-design recurring invoices by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2219
  • Re-design payments page by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2221
  • Re-design the tax rates page by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2223
  • Re-design users page by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2224
  • Re-design the payment configuration page by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2222
  • Re-design user profile by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2228
  • Re-design user notifications UI by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2229
  • Re-design API token page by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2225
  • Fix all PHPStan errors by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2231
  • Remove all form handlers by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2232
  • Re-design integrations page by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2230
  • Re-design SaaS pages by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2233
  • Re-design company select and create pages by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2235
  • Re-design registration page by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2237
  • Fix send button on invoice and quote pages by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2238
  • Re-design email templates by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2239
  • Add claude GitHub actions by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2240
  • Add user onboarding flow by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2241
  • Re-design 2FA configuration by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2242
  • Re-design external quote and invoice pages by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2247
  • Add schedule to mark invoices as ovderdue and send notifications by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2246
  • Add onboarding checklist by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2248
  • Fix various styling issues by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2251
  • Restrict some config options during trial periods by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2250
  • Add Symfony messenger integration by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2252
  • Add invoice payment reminders by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2263
  • Improve binary build script by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2269
  • fix(install): install command creates admin user if not exists, resets existing admin user by @fluxium in https://github.com/SolidInvoice/SolidInvoice/pull/2256
  • Sync migrations with entities by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2275
  • Remove Zenstruck ScheduleBundle and replace it with Symfony Scheduler by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2264
  • fix static builds by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2284
  • Re-design error pages by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2286
  • Remove codespell from GitHub Actions by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2287
  • Migrate STATUS_* constants to PHP 8.1 backed enums by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2290
  • Fix editing invoices and quotes by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2294
  • Add dummy data loader by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2289
  • Add Helm charts by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2301
  • Make all styles consistent across the application by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2291
  • Add build-id to install process by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2303
  • Add multi-platform package distribution support by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2302
  • Fix random CI failures caused by empty currency in test isolation by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2306
  • Add sentry instrumentation by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2315
  • Remove preview build workflow by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2337
  • Add opt-in Prometheus metrics for Caddy and FrankenPHP by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2340
  • Migrate to unified platform.yaml config by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2339
  • Migrate trial functionality to solidworx/platform SaasBundle by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2338
  • Migrate test suite from PHPUnit 10 to PHPUnit 12 by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2364
  • Add trial onboarding email sequence by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2365
  • API Standardisation: core endpoints, GraphQL, webhooks, rate limiting by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2305
  • Add onboarding email sequence and templates by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2366
  • fix: validate ULID before querying invitation repository (fixes #2346) by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2362
  • Add configurable application URL to installer by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2367
  • Upgrade brick/math from ^0.14.0 to ^0.17.0 by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2358
  • Onboarding flow update by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2368
  • feat(saas): show promo code on trial expired page by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2369
  • Add MCP server with OAuth2 authentication by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2370
  • feat(saas): support custom per-company domains by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2374
  • Gate MCP server and API on active subscription by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2372
  • fix(core): always resolve loopback hosts as the default host by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2376
  • Update CHANGELOG with releases from 1.0.3 through 3.0.0-alpha2 by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2382
  • [ImgBot] Optimize images by @imgbot[bot] in https://github.com/SolidInvoice/SolidInvoice/pull/2383
  • Add interface to fetch all user active companies by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2381
  • [ImgBot] Optimize images by @imgbot[bot] in https://github.com/SolidInvoice/SolidInvoice/pull/2384
  • introduce email verification gate contract by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2389
  • feat(invoice): add 8 render-ready invoice templates by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2377
  • [ImgBot] Optimize images by @imgbot[bot] in https://github.com/SolidInvoice/SolidInvoice/pull/2392
  • feat: SaaS feature-gating system (US-001 → US-009) by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2394
  • Tax system overhaul: multi-tax, invoice-level tax, snapshot freeze by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2396
  • feat(export): grid export + full company data export by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2373
  • Custom fields for Clients and Contacts by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2375
  • Guard accept transition before applying when editing invoice (fixes #2347) by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2408
  • Validate client name uniqueness when creating quote/invoice with new client by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2406
  • Fix DQL "Invalid PathExpression" error when searching the payments grid by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2409
  • Fix deleteCompany crash: unknown column 'details_id' in security_token by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2411
  • Add middleware to block installation routes when app is already installed by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2415
  • Fix TypeError in JSON-LD serializer caused by GraphQL Query operation on Payment resource (#2388) by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2417
  • Fix crash when sending invoice with no email contacts (#2387) by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2416
  • Code Quality fixes by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2407
  • Fix #2413: Add payment_id FK to security_token for automatic cascade delete by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2421
  • Add ability to send paid invoices via email (closes #2405) by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2419
  • Fix DataGrid single-row batch action 500: template called non-existent executeSingleAction by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2431
  • Fix Twig RuntimeError: TaxGrid rate column type mismatch by @seer-by-sentry[bot] in https://github.com/SolidInvoice/SolidInvoice/pull/2434
  • Fix crash when Settings page is visited with invalid/empty section URL param by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2442
  • Fix TypeError when Payum builds gateway with private action/extension services by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2444
  • Fix invoice_id data truncation due to missing length validation by @seer-by-sentry[bot] in https://github.com/SolidInvoice/SolidInvoice/pull/2450
  • Fix InvalidTypeException when description is null in forms by @seer-by-sentry[bot] in https://github.com/SolidInvoice/SolidInvoice/pull/2453
  • Fix #SOLIDINVOICE-92: InvalidArgumentException in PdfResponse due to filename slashes by @seer-by-sentry[bot] in https://github.com/SolidInvoice/SolidInvoice/pull/2452
  • Fix TypeError when discount value is null in DiscountNormalizer by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2449
  • Fix unhandled LemonSqueezy checkout API error in SubscribeController by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2435
  • Route SendInvoiceReminderMessage to async transport to fix cron timeout by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2418
  • Fix DataGrid bulk-action bar calling non-existent executeBatchAction live action by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2433
  • Fix Helm chart publish failing on branch checkout during release by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2432
  • Add Cloudflare Turnstile captcha to registration page by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2460
  • Add SolidWorx Insights telemetry to CoreBundle by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2443
  • Fix "No payment methods available" crash returning 500 instead of redirect (#2455) by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2458
  • Fix NotEnabledTransitionException when publishing recurring invoice (#2454) by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2457
  • Fix "email must have a To header" crash when invoice has no recipients (#2360) by @pierredup in https://github.com/SolidInvoice/SolidInvoice/pull/2456

New Contributors

  • @stepsecurity-app[bot] made their first contribution in https://github.com/SolidInvoice/SolidInvoice/pull/1810
  • @fluxium made their first contribution in https://github.com/SolidInvoice/SolidInvoice/pull/2256
  • @seer-by-sentry[bot] made their first contribution in https://github.com/SolidInvoice/SolidInvoice/pull/2434

Full Changelog: https://github.com/SolidInvoice/SolidInvoice/compare/2.3.15...3.0.0

Breaking Changes

  • Bump minimum required PHP version to 8.4
  • Remove Zenstruck ScheduleBundle and replace it with Symfony Scheduler

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track SolidInvoice

Get notified when new releases ship.

Sign up free

About SolidInvoice

Simple and elegant invoicing solution.

All releases →

Related context

Beta — feedback welcome: [email protected]