Skip to content

v4.6.0 - 2026/05/23 Big refactor and bug fixes

Latest

Choose a tag to compare

@gnovaro gnovaro released this 23 May 01:02
· 107 commits to main since this release
4c15d20

Features

  • Per-company order numbering — Each company has its own sequential order counter. Orders use order_number as identifier across all routes and relationships.
  • Order PDF export — Generate and download a PDF from the order detail page.
  • Delete controllers for Supplier and Bank Account — Missing delete functionality added.
  • Laravel Boost & MCP server — Added Laravel Boost integration and MCP server configuration.
  • Multi-language support — Localization middleware now correctly applied; user language preference is respected across the app.

Improvements

  • Currency formatting — Added CurrencyHelper for consistent currency display.
  • Order edit — Customer and items are correctly pre-filled when editing an existing order.
  • Order item discount — Defaults to 0 instead of null.
  • Company logo upload — Migrated to Laravel's storage system (storage/app/public/).

Security Fixes

  • Enforced authentication and cross-tenant authorization on web controllers (#248).
  • Fixed permission, email attachment, and company API endpoint vulnerabilities (#247).
  • Added authorization check for account deletion.
  • Removed local certificates from version control.
  • Updated Symfony packages to fix security advisories.

Bug Fixes

  • Fixed TypeError when saving a customer with a null company timezone.
  • Fixed lead status enum and factory alignment with model constants.
  • Restored nullable lat/long columns on the relevant model.
  • Fixed company logo saving and lead export.
  • Fixed middleware registration for Locked and Localization under Laravel 11+ structure.

CI/CD & Infrastructure

  • Migrated to Laravel 13, dropped PHP 8.3 support (requires PHP ≥ 8.4).
  • Consolidated CI into a single tests.yml workflow, removed duplicate pipelines.
  • Updated GitHub Actions to latest versions.
  • Fixed SonarCloud workflow with PHP setup and coverage reporting.
  • Updated Docker setup with PHP 8.4 and host-gateway mapping.
  • Updated Pint configuration and integrated it into CI.

Tests

  • Fixed CompanySaveControllerTest to use Storage::fake and correct disk path.
  • Fixed CalendarTest to avoid hardcoded IDs causing auto-increment drift.
  • Resolved pre-existing test failures across multiple test files.