florianv/exchanger
Exchange rate provider layer for PHP: 30+ rate services behind one ExchangeRateService interface. Supports historical rates, chain fallback between providers, and PSR-16 caching. Use when you need more control than higher-level libraries.
HttpService now accepts an optional StreamFactoryInterface and exposes a postRequest() helper, enabling services that POST request bodies.#[\Override] attributes and missing [@api](https://github.com/api) annotations.symfony/http-client dependency auto-added by php-http/discovery.symfony/http-client ^7.0 for PHP 8.2 / 8.3 CI.Full Changelog: https://github.com/florianv/exchanger/compare/2.9.1...2.10.0
HttpClientDiscovery with Psr18ClientDiscovery in HttpService.php — if you extend HttpService or rely on php-http/discovery directly (as a shadow dependency), ensure your HTTP client is discoverable via PSR-18www.bnr.ro to the official curs.bnr.ro subdomain per BNR documentation. The old endpoints may have stopped working or could stop at any time. (#169)bc-check.yml)[@test](https://github.com/test) and [@dataProvider](https://github.com/dataProvider) annotations; data provider methods are now public statictest, psalm, cs:fix, cs:check.scrutinizer.yml, .styleci.yml, .travis.ymlsymfony/http-client, php-http/message-factoryFull Changelog: https://github.com/florianv/exchanger/compare/2.8.3...2.9.0
Full Changelog: https://github.com/florianv/exchanger/compare/2.8.2...2.8.3
Fixes for Exchangeratesapi
Normalize TCMB rates
1Forge url updates
Updated 1Forge service
Fixed http(s) issue with the central_bank_of_republic_turkey service
Fully support generators for Chain
Fix to be compatible with laravel 5.8
Updated 1Forge urls
Added coinlayer service
Improved ECB historical rates
Fixed issue with invalid cached values
Updates due to Google response format changes
Switched to HTTPS for National Bank of Romania
Added ExchangeRatesApi service (https://exchangeratesapi.io)
Central bank of czech republic url fix
See CHANGELOG to get more informations about the changes in this new version
How can I help you explore Laravel packages today?