Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Swap Laravel Package

florianv/swap

PHP 8.2+ currency exchange rate library with a single API over 30+ providers. Supports conversion, historical rates, PSR-16 caching, and provider fallback. Works with PSR-18 HTTP clients and PSR-17 factories for flexible integrations.

View on GitHub
Deep Wiki
Context7
4.5.0

What's Changed

Breaking Changes

  • Minimum PHP version raised to 8.2 (was 7.4/8.0)
  • Minimum PHPUnit version raised to 11.0 (was 9.x/10.x)

Improvements

  • Added suggest section to composer.json for PSR-18 client and PSR-17 factory implementations, guiding users toward compatible HTTP dependencies
  • Improved discovery test — Now verifies discovery works end-to-end by creating a service via Factory

Infrastructure & Tooling

  • Modernized CI pipeline — Replaced Travis CI with GitHub Actions; test matrix covers PHP 8.2, 8.3, 8.4, and 8.5
  • Added Psalm static analysis (level 1) with dedicated CI workflow and baseline
  • Added backward compatibility check workflow
  • Migrated all tests to PHPUnit 11 attributes — Replaced [@test](https://github.com/test) and [@dataProvider](https://github.com/dataProvider) annotations
  • Added composer scriptstest, psalm, cs:fix, cs:check
  • Removed legacy CI configs.scrutinizer.yml, .styleci.yml, .travis.yml
  • Updated README badges — Travis badge replaced with GitHub Actions Tests and Psalm badges

Full Changelog: https://github.com/florianv/swap/compare/4.4.0...4.5.0

4.4.0

Bug Fixes

  • PHP 8.4 compatibility: Use explicit nullable types (?Type) instead of implicit nullable parameters, fixing deprecation notices on PHP 8.4 (Swap.php, Factory.php) #144, #147
  • Replace deprecated HttpClientDiscovery: Use Psr18ClientDiscovery instead of the deprecated HttpClientDiscovery in Factory.php #142

Maintenance

  • New runtime dependencies: Added symfony/http-client and php-http/message-factory to require
  • New suggestion: php-http/discovery added to suggest for auto-discovery of HttpClient
  • Documentation: Multiple README and docs updates

Full Changelog: https://github.com/florianv/swap/compare/4.3.0...4.4.0

4.3.0
  • PHP 8 and PHPUnit 9 support
4.2.0

xChangeApi.com support

4.1.0

Added way to add services by instance

4.0.1

Making Swap not final to allow mocking

4.0.0

See CHANGELOG to get more informations about the changes in this new version

3.5.0
  • Added CurrencyConverterApi service
3.4.0
  • Fixed Fixer service which now requires an access_key
3.3.0
  • Added Forge service
  • Added CurrencyDataFeed service
  • Supported historical rates in National Bank Of Romania
v2.6.1

Fixed now invalid Google service url

3.2.0

Support crypto currencies via Cryptonator

3.1.0

New Russian Central Bank service

3.0.2

Update exchanger to include this bug fix https://github.com/florianv/exchanger/pull/5

v3.0.1

Update Exchanger to version 0.2.0

v3.0.0

New major version including:

v2.6.0
v2.5.0
v2.4.1
v2.4.0
v2.3.1
v2.3.0

http-adapter 1.0

v2.2.0
v2.1.0

Implemented Illuminate cache

v2.0.1

Fixed the way to retrieve body content

v2.0.0
v1.3.0
  • Added a factory method CurrencyPair::createFromString
  • Simplified the retrieval of a rate
v1.2.0
  • Added an adapter layer to support different HTTP clients
  • Moved all tests to PHPUnit
v1.1.0
v1.0.1
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
hamzi/corewatch
minionfactory/raw-hydrator
hexters/coinpayment
rjcodes/rjcms
act-training/laravel-permissions-manager
alimarchal/laravel-chart-of-accounts
babenkoivan/elastic-scout-driver
mkwebdesign/filament-watchdog-v5
renatomarinho/laravel-page-speed
zedmagdy/filament-business-hours
renatovdemoura/blade-elements-ui
devgeek/beacon-admin
benjamin-rqt/data-watcher-bundle
atriumphp/atrium
sandermuller/package-boost-laravel
sandermuller/boost-skills
redaxo/core
yusufgenc/filament-api-forge
l3aro/rating-star-for-filament
leek/filament-subtenant-scope