Releases: Spoje-NET/php-abraflexi
v3.7.3 - Packagist Fix & AbraFlexi 2026.3 Data Update
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 — Thedisconnect()method and the__destruct()destructor that called it have been removed from theROclass. CURL handle cleanup is now handled automatically by PHP. If your code calls$object->disconnect()directly, remove those calls. TheconnectionReset()method remains available.
Bug Fixes
- Fix
RW::parseError()crash on empty results — Fixed an "undefined array key 0" error inRW::parseError()when the AbraFlexi API response contains an emptyresultsarray. The method now checkscount($responseDecoded["results"]) > 0before accessing array elements. - Fix external ID lookup with null key —
RO::getExternalID()now checks that the$wantparameter is notnullbefore callingarray_key_exists(), preventing potential warnings. - Fix Packagist self-replace error — Removed the invalid
"replace": {"spojenet/flexibee": "self.version"}section fromcomposer.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 allstatic/Properties.*.jsonfiles 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
addontogenericso thatappstream-generatorcorrectly exports the icon. - Added
debian/libversion.phpfor library versioning support using Composer.
Documentation
- Updated
@paramannotation ofRO::getColumnsFromAbraFlexi()to correctly reflect that$conditionsacceptsarray<int|string, mixed>. - Updated README files (Czech and English).
Dependency Updates
- Updated
friendsofphp/php-cs-fixerrequirement to^3.94. - Updated
ergebnis/php-cs-fixer-configrequirement to^6.60.
Upgrade Guide
- 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. - Run
composer update spojenet/flexibeeto update. - No other code changes are required.
Full Changelog
v3.7.2
- v3.7.2 (UNRELEASED)
- change library composer name to
spojenet/abraflexiattempt
- change library composer name to
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
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
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
3.6.1
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
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
getExternalIDmethod 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\Codeclass - The
idExistsmethod 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
getExternalIDmethod 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\Codeclass - The
idExistsmethod 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
- 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
- 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
What's Changed
- Relation's value is now without first array level [0]
- Readme fix abraflexi.info -> flexibee info by @Vitexus in #59
- getSumsFromAbraFlexi now returns clean restult or empty array
Full Changelog: 3.5.2...3.5.4