Skip to content

Releases: FacturAPI/facturapi-php

4.1.0

31 Mar 17:55
fa3d830

Choose a tag to compare

Added

  • Organization team/access management methods:
    • listTeamAccess, retrieveTeamAccess, removeTeamAccess
    • listSentTeamInvites, inviteUserToTeam, cancelTeamInvite
    • listReceivedTeamInvites, respondTeamInvite
    • listTeamRoles, listTeamRoleTemplates, listTeamRoleOperations
    • retrieveTeamRole, createTeamRole, updateTeamRole, deleteTeamRole

Changed

  • organizations.checkDomainAvailability($query) is now the canonical method for domain checks.
  • organizations.checkDomainIsAvailable(...) remains available as a deprecated alias for v4 compatibility.

4.0.0

30 Mar 15:37
1451370

Choose a tag to compare

🚨 Breaking Changes

  • Impact: update required only if you use PHP < 8.2 or relied on the positional apiVersion constructor argument.
  • Bumped minimum supported PHP version to >=8.2.
  • Simplified SDK constructor to a single optional config parameter:
    • apiVersion (defaults to v2)
    • timeout (seconds)
    • httpClient (PSR-18 client, advanced)
  • Removed support for the positional apiVersion constructor argument.

Safe Update (No Migration Needed)

  • You can update without code changes if:
    • Your project already runs on PHP >=8.2.
    • You instantiate the SDK as new Facturapi($apiKey) (single API key argument).
    • If you use Composer, keep loading vendor/autoload.php as usual.
    • If you do not use Composer, load src/Facturapi.php directly.

Deprecations (Non-Breaking)

  • Snake_case aliases remain functional in v4, but are deprecated and will be removed in v5.
  • Facturapi_Exception remains functional in v4 through a compatibility alias, but is deprecated and will be removed in v5.

Improvements

  • Added camelCase method names for invoice/receipt/retention actions.
  • Kept snake_case aliases for transition compatibility.
  • Enabled strict TLS verification by default for HTTP requests.
  • Webhooks::validateSignature() now verifies locally by default when payload includes body/payload, signature, and webhookSecret, with automatic fallback to API validation.
  • Added ComercioExteriorCatalogs to the main Facturapi client.
  • Standardized constructor argument names to camelCase.
  • Standardized internal protected method names to camelCase.
  • Renamed exception class to FacturapiException and kept Facturapi_Exception as a compatibility alias.

3.7.0

28 Mar 16:56
2af6b04

Choose a tag to compare

What changed

  • Added ComercioExteriorCatalogs::searchTariffFractions support for Comercio Exterior catalog queries.
  • Added deploy automation from main using semver + release notes defined in VERSION.

3.6.0

22 Jan 19:32
0726f9a

Choose a tag to compare

What's Changed

Full Changelog: 3.5.0...3.6.0

v3.5.0

26 Sep 10:02
06ee945

Choose a tag to compare

Added

  • Method to preview the invoice PDF without saving the invoice

Customer Edit links

11 Mar 16:34
0f57a51

Choose a tag to compare

Support customer edit links

3.2.0

16 Jan 17:02
96a0481

Choose a tag to compare

What's Changed

  • fix(conditionalPut): add ternary in $body for encode json or send null by @raul-facturapi in #35

Full Changelog: 3.1.0...3.2.0

3.1.0

15 Oct 16:17
64d041c

Choose a tag to compare

What's Changed

Full Changelog: 3.0.1...3.1.0

3.0.1

30 Aug 16:26
f6e64ae

Choose a tag to compare

What's Changed

  • fix(execute_post): accept and validate nullish body in execute post m… by @raul-facturapi in #32
  • Fix to solve draft methods, now the function execute_JSON_post_request will accept null as parameter

Full Changelog: 3.0.0...3.0.1

3.0.0

02 Jul 18:14
957765b

Choose a tag to compare

Added

Breaking changes

  • Throw error object in unsuccesful responses by @raul-facturapi in #30:
    Add exceptions for all responses methods (GET, POST, PUT, DEL) if range status is >= 400. Instead of validate an error with the field ok=false, you'll be able to catch the exceptions with try-catch. The object error is returned purely without destructuring as it was before with POST method.

Full Changelog: 2.7.1...3.0.0