Skip to content

Releases: Spoje-NET/php-abraflexi

v3.7.3 - Packagist Fix & AbraFlexi 2026.3 Data Update

13 May 06:00

Choose a tag to compare

Release v3.7.3

Summary

This release fixes a critical Packagist publishing issue that prevented the package from updating, updates the generated AbraFlexi evidence data to version 2026.3.14, and includes several bug fixes and API improvements.

Breaking Changes

  • Removed RO::disconnect() method — The disconnect() method and the __destruct() destructor that called it have been removed from the RO class. CURL handle cleanup is now handled automatically by PHP. If your code calls $object->disconnect() directly, remove those calls. The connectionReset() method remains available.

Bug Fixes

  • Fix RW::parseError() crash on empty results — Fixed an "undefined array key 0" error in RW::parseError() when the AbraFlexi API response contains an empty results array. The method now checks count($responseDecoded["results"]) > 0 before accessing array elements.
  • Fix external ID lookup with null keyRO::getExternalID() now checks that the $want parameter is not null before calling array_key_exists(), preventing potential warnings.
  • Fix Packagist self-replace error — Removed the invalid "replace": {"spojenet/flexibee": "self.version"} section from composer.json. A package cannot set a replace on itself, which caused Packagist to reject all branches containing this directive.

AbraFlexi Data Updates

  • Updated generated evidence data files (EvidenceList.php, Actions.php, Formats.php, Relations.php) and all static/Properties.*.json files to match AbraFlexi API version 2026.3.14.
  • Updated evidence property definitions for: atribut, castky-k-odpoctu, cislo-baliku, doporuceni, neuhrazene-po-splatnosti, neuhrazene-po-splatnosti-2, prikaz-k-inkasu-polozka, prikaz-k-uhrade-polozka, priloha, prodejka-platba, splatkovy-kalendar, udalost, vyrobni-cislo, zaloha-k-odpoctu.

Packaging & Metadata

  • Added AppStream metainfo XML file (io.github.spoje_net.php_spojenet_abraflexi.metainfo.xml) for Linux distribution integration.
  • Added SVG icon (php-spojenet-abraflexi.svg) and updated Debian install scripts to include metainfo and icon files.
  • Fixed AppStream component type from addon to generic so that appstream-generator correctly exports the icon.
  • Added debian/libversion.php for library versioning support using Composer.

Documentation

  • Updated @param annotation of RO::getColumnsFromAbraFlexi() to correctly reflect that $conditions accepts array<int|string, mixed>.
  • Updated README files (Czech and English).

Dependency Updates

  • Updated friendsofphp/php-cs-fixer requirement to ^3.94.
  • Updated ergebnis/php-cs-fixer-config requirement to ^6.60.

Upgrade Guide

  1. If you call $object->disconnect() — Simply remove the call. PHP handles CURL cleanup automatically. Use $object->connectionReset() if you need to explicitly reset the connection.
  2. Run composer update spojenet/flexibee to update.
  3. No other code changes are required.

Full Changelog

v3.7.2...v3.7.3

v3.7.2

23 Mar 20:29

Choose a tag to compare

  • v3.7.2 (UNRELEASED)
    • change library composer name to spojenet/abraflexi attempt

What's Changed

  • composer: update ergebnis/composer-normalize requirement from ^2.48 to ^2.50 by @dependabot[bot] in #93

Simple ExtID Relation parsing Fixed #96

Full Changelog: v3.7.0...v3.7.2

3.7.0

04 Feb 08:58
7c068f1

Choose a tag to compare

Version 3.7.0

New Features

  • Enhanced code generation tools for evidence classes
  • Improved error handling and exception management
  • Added comprehensive PHPUnit test coverage for new classes
  • Enhanced internationalization support with English translations

Improvements

  • Updated all code to follow PSR-12 coding standard
  • Migrated all comments and documentation to English
  • Enhanced type safety with proper type hints throughout
  • Improved performance optimizations for evidence queries
  • Better security practices and input validation

Bug Fixes

  • Fixed typed property initialization issues in RO class
  • Resolved conflicts in evidence class generation
  • Fixed date handling and timestamp conversion methods
  • Corrected exception handling in various modules

Development

  • Updated development dependencies and tools
  • Enhanced code linting and quality assurance
  • Improved test coverage and reliability
  • Better documentation and code comments

Compatibility

  • Requires PHP 8.4 or later
  • Updated for latest AbraFlexi API compatibility
  • Maintained backward compatibility where possible

This release represents a significant improvement in code quality, maintainability, and developer experience.

3.6.6

09 Dec 01:24

Choose a tag to compare

Version 3.6.6

  • Updated core classes for PHP 8.4 compatibility.
  • Improved exception handling and error messages across the library.
  • Refactored code to follow PSR-12 coding standard and project best practices.
  • Added and updated PHPUnit tests for all new and changed classes.
  • Enhanced internationalization support using the i18n library.
  • Optimized performance for evidence queries and data processing.
  • Fixed initialization bug for typed properties in RO class.
  • Updated documentation and code comments to English.
  • Ensured all code is linted and passes php -l checks.
  • Various minor bug fixes and improvements for maintainability and security.

3.6.2

12 Sep 18:44

Choose a tag to compare

Relation now can hold values

3.6.1

02 Sep 13:35
b497ea1

Choose a tag to compare

What's Changed

  • Bump actions/checkout from 4 to 5 by @dependabot[bot] in #72
  • composer: update friendsofphp/php-cs-fixer requirement from ^3.85 to ^3.86 by @dependabot[bot] in #71
  • composer: update ergebnis/php-cs-fixer-config requirement from ^6.52 to ^6.53 by @dependabot[bot] in #73

Full Changelog: 2025.7.0...3.6.1

3.6.0

10 Aug 08:47

Choose a tag to compare

php-abraflexi 3.6.0 release announcement

Comparison of changes between versions 3.5.4...3.6.0:


Main news and changes

New and improved features

  • Better support for multiple relations:
  • The getExternalID method now supports fields of Relation objects as external-ids, which allows working with records with multiple external relations at once.
  • PR #63 – Enhanced work with fields containing multiple relation values. Now all values are correctly processed and displayed.
  • New automatically generated docstrings for key parts of the code (PR #64).
  • Fix abraflexi.info → flexibee info conversion in the documentation (PR #59).

Bug fixes

  • Better handling of error responses from FlexiBee:
  • PR #57 – If FlexiBee returns an internal error (e.g. when importingXmlInternalError), the error message is now caught and displayed correctly.
  • Fix attachment upload (PR #41).
  • Fixed the return type note for RW::insertToAbraFlexi (PR #48).
  • New event class for better handling of events (PR #43).

Other changes

  • Improved compatibility with multiple sessions in records (session value arrays).
  • Improved tests and internal refactoring for better code readability and maintainability.
  • Minor fixes and documentation updates.

Deprecated

  • AbraFlexi\RO:code() and AbraFlexi\RO:uncode() will be replaced by the AbraFlexi\Code class
  • The idExists method was removed/deprecated in previous releases. If it was used in your project, we recommend switching to the new interface.

Full changelog

Detailed changes and commit list can be found here:
Full Changelog 3.5.4...3.6.0


If you encounter any problems or have a question, please use the issue tracker.# php-abraflexi 3.6.0 release announcement

Comparison of changes between versions 3.5.4...3.6.0:


Main news and changes

New and improved features

  • Better support for multiple relations:
  • The getExternalID method now supports fields of Relation objects as external-ids, which allows working with records with multiple external relations at once.
  • PR #63 – Enhanced work with fields containing multiple relation values. Now all values are correctly processed and displayed.
  • New automatically generated docstrings for key parts of the code (PR #64).
  • Fix abraflexi.info → flexibee info conversion in the documentation (PR #59).

Bug fixes

  • Better handling of error responses from FlexiBee:
  • PR #57 – If FlexiBee returns an internal error (e.g. when importingXmlInternalError), the error message is now caught and displayed correctly.
  • Fix attachment upload (PR #41).
  • Fixed the return type note for RW::insertToAbraFlexi (PR #48).
  • New event class for better handling of events (PR #43).

Other changes

  • Improved compatibility with multiple sessions in records (session value arrays).
  • Improved tests and internal refactoring for better code readability and maintainability.
  • Minor fixes and documentation updates.

Deprecated

  • AbraFlexi\RO:code() and AbraFlexi\RO:uncode() will be replaced by the AbraFlexi\Code class
  • The idExists method was removed/deprecated in previous releases. If it was used in your project, we recommend switching to the new interface.

Full changelog

Detailed changes and commit list can be found here:
Full Changelog 3.5.4...3.6.0


If you encounter any problems or have a question, please use the issue tracker.

v3.5.6 – getExternalID supports array of Relation objects

24 Jul 14:08

Choose a tag to compare

  • The getExternalID method now supports arrays of Relation objects as external-ids.
  • This improves compatibility with multiple external relations in records.
  • No other changes included.

v3.5.5 – Backport: multiple relation parsing fix

24 Jul 13:47

Choose a tag to compare

  • Backport of PR #63: Proper handling of fields with multiple relation values.
  • Fixed: Each relation value is now correctly processed and displayed.
  • This change is backward compatible and does not include other changes from main intended for 3.6.0.

3.5.4

27 Jun 07:36

Choose a tag to compare

What's Changed

Full Changelog: 3.5.2...3.5.4