- Add FORCE_CACHE_MISS option which ignores a cache hit and forces a re-request of the resources from CO
- Add support for kevinrob/guzzle-cache-middleware v6
- dev: drop psalm
- dev: update to phpstan v2
- Add organizations attribute to rooms data
- Fix get course by ID
- Refactor and modernize
- Port to PHPUnit 10
- Undeprecate UCardApi/StudentApi
- GenericApi: add support for passing a language parameter to the API
- LegacyWebService: silence some XML parsing PHP warnings in case of invalid responses
- Add new FilterBuilder::extractValidFilterSubstrings() for extracting substrings from a user specified input string which are all valid filter values. This can be used to implement a search with user specified inputs.
- GenericApi: allow numbers in filter keys
- Loosen some constraints on dependencies
- Add some missing direct dependency requirements
- Drop support for PHP 7.4/8.0
- Drop support for PHP 7.3
- Support kevinrob/guzzle-cache-middleware v5
- Deprecate ResearchProject in favor of GenericAPI
- GenericApi::getResource(): better handle CO returning bogus results for non-integer queries for integer fields It now returns null instead of failing and/or fetching all available resources and running out of memory.
- Added a new FilterBuilder class for building filter expressions. Deprecated the old filter code.
- Added a new GenericApi class for generic data exports.
- ResourceApi subclasses gained a checkConnection() method which makes sure the API is reachable and the access token is valid
- added OrganizationUnitApi::getOrganizationUnitsById() for more efficiently fetching multiple organizations.