florianv/exchanger
PHP exchange-rate provider layer with 31 services behind one ExchangeRateService interface. Supports historical rates, PSR-16 caching, and chainable fallback across providers (commercial APIs, ECB, national banks, exchangerate.host) for fine-grained control.
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?