Tags

Tags give the ability to mark specific points in history as being important
  • v0.8.0

    Release: v0.8.0
    v0.8.0 — UUID-first contract (ADR-006)
    
    Breaking change: retires the int|uuid|ulid agnostic pretension and adopts
    UUID v7 char(36) as the sole supported type for the consumer's users.id.
    
    See CHANGELOG.md and docs/ADR-006-uuid-first-no-agnostic.md.
  • v0.7.4

    Release: v0.7.4
    v0.7.4 — Fresh install agnostic contract demonstrated on real MySQL
    
    Adds tests/Integration/Mysql/ suite covering the agnostic install contract
    for int/uuid/ulid against MySQL 8 via a new opt-in MySQL CI job.
    
    Retires the unproven repair_article_customer_id_columns migration and its
    stub. Pre-v1.0 dev-main does not promise schema upgrades; consumers use
    migrate:fresh.
    
    See docs/2026-05-09-fresh-install-agnostic-mysql.md for the contract.
    PR #21.
  • v0.7.2

    Release: v0.7.2
    fix: use stable version constraints for internal packages
  • v0.7.0

    Release: v0.7.0
    feat: add Laravel 13 support
  • v0.6.1

    Release: v0.6.1
    v0.6.1: Fix config references, migration consistency, CHANGELOG update
  • v0.6.0

    v0.6.0 — Security audit fixes + InvoiceNumber VO
    
    Breaking changes:
    - InvoiceNumberingService::generateNumber() now returns InvoiceNumber VO
      instead of string (backward compatible via __toString())
    
    New:
    - InvoiceNumber readonly value object (formatted, prefix, fiscalYear, seriesNumber)
    - Deprecation notice for BillingService numbering methods (removal: v0.7.0)
    
    Fixes:
    - Install command: respect config priority, prevent migration duplicates
    - Migration: use MigrationHelper for billable_user_id
    - Replace deprecated getValidForUserAt with getValidForOwnerAt
    
    Other:
    - ADR-004: rename user_id to owner_user_id in user_tax_profiles
    - LegalEntityTypesSeeder: add is_company field
    - CONTRIBUTING.md with migration pattern standards
    - Remove Filament dependency, make package agnostic
    - PHP Insights config and code quality fixes
  • v0.5.0

    feat: Add translatable Article fields and FiscalIntegrityChecker
    
    - Article.name and Article.description are now translatable (JSON)
    - Add FiscalIntegrityChecker service
    - Add migration for translatable fields
  • v0.4.2

    Release v0.4.2: Installation fixes
    
    - Fix package path calculation in LarabillInstallCommand
    - Add missing user_tax_profiles migration
    - Fix migration order for proper FK dependencies
    - Add 5 new ROI/VAT migrations for v0.4.1 features
  • v0.4.1

    Release v0.4.1: ROI/VAT Tables & Test Reactivation
    
    New Features:
    - Added 5 missing migration stubs for ROI/VAT functionality
      * country_vat_rates: VAT rates by country (base 100)
      * vat_categories: VAT categories per country
      * eu_sales_thresholds: EU OSS threshold tracking
      * roi_queries: ROI verification audit log (7 years)
      * user_roi_verifications: ROI status cache
    - Updated LarabillInstallCommand to publish new migrations in correct order
    - Reactivated 881 tests (all passing)
    
    Documentation:
    - Added MIGRACIONES_INFORME.md with detailed verification checklist
    - Updated README.md to clarify User ID agnosticism is roadmap (v0.5.0)
    - Added comprehensive Roadmap section (v0.5.0, v1.0.0, v2.0.0)
    
    Technical:
    - All migrations use binary(16) for user_id (UUID v7 binary)
    - Base-100 integers for tax rates/percentages
    - JSON for complex arrays
    - Proper indexes for query performance
    - Foreign keys with cascade delete
    
    Test Suite:
    - 881 tests PASSED (2646 assertions)
    - 29 tests SKIPPED (deprecated models)
    - 5 tests RISKY (integration tests without assertions)
    - 0 FAILED
    
    Note: This version assumes UUID binary for user_id.
    Full user ID agnosticism planned for v0.5.0.
  • v0.4.0

    Release v0.4.0 - Complete architecture refactor with LaraROI integration
  • v0.3.3

    Release v0.3.3 - Articles Domain Implementation
    
    NEW FEATURES:
    - ServiceLifecycleService with full lifecycle management
    - RecurringBillingService with event dispatching
    - Events: RecurringInvoiceGenerated, RecurringBillingCompleted, RecurringBillingFailed, ServiceActivated, ServiceSuspended, ServiceCancelled, ServiceExpired
    - Listeners: SendInvoiceNotification, LogBillingSummary, AlertBillingFailure
    - Actions: ProcessRecurringBilling, ProcessServiceExpiration, ProcessPendingCancellations
    
    DATABASE:
    - articles table
    - article_overrides table
    - article_service_status table
    
    IMPROVEMENTS:
    - Date calculations using addMonthsNoOverflow/subMonthsNoOverflow
    - Invoice numbering with fiscal_year field
    - Proportional refund calculations
    - Batch processing support
    
    TESTS:
    - 856 tests passing (100%)
    - RecurringBillingServiceTest (14 tests)
    - ServiceLifecycleServiceTest (10 tests)
    - ProcessRecurringBillingTest (3 tests)
    - ServiceLifecycleActionsTest (4 tests)
    
    BREAKING CHANGES:
    - Invoices table now requires fiscal_year field
  • v0.3.2

    Hotfix v0.3.2: Fix duplicate indexes and column length issues
    
    Critical fixes for migration stubs:
    - Remove duplicate user_id indexes (invoices, user_tax_infos)
    - Add string length limits to prevent index size errors
    - Ensures compatibility with all User ID types (int, UUID, ULID, binary)
    
    All users should update to this version for successful fresh installs.
  • v0.3.1

    Hotfix v0.3.1: Add missing migration stubs
    
    - Fixed vendor:publish command failing for 3 migrations
    - Added fiscal_settings, invoice_templates, company_template_settings stubs
    - Removed obsolete larabill_table stub
  • v0.3.0

    Release v0.3.0
    
    User ID Agnostic Architecture
    
    BREAKING CHANGES:
    - Package now supports int, uuid, uuid_binary, ulid, ulid_binary User IDs
    - Must configure LARABILL_USER_ID_TYPE for non-integer IDs
    
    NEW FEATURES:
    - MigrationHelper for agnostic foreign keys
    - Auto-detection command: larabill:detect-user-id
    - Multi-database support (MySQL, PostgreSQL, SQLite)
    
    See CHANGELOG.md for full details and migration guide.
  • v0.2.0

    Release v0.2.0
    
    Binary UUID Relationships & Deprecated Code Removal
    
    BREAKING CHANGES:
    - Removed CompanyConfigService (use FiscalSettings)
    - Removed deprecated VatVerification methods
    
    NEW FEATURES:
    - BinaryUuidBuilder for binary UUID relationships
    - Auto-apply destination VAT on threshold
    
    See CHANGELOG.md for full details.