Changelog
Every release of Laravel Phone, newest first. Breaking changes are flagged.
v1.1.0
12 Sep 2026
Added#
<x-phone-input :widget="[...]"> passes any Phone Input option (classNames, flags, strings…).
phone.input.class_names config for classes on every field.
php artisan vendor:publish --tag=phone-views to customise the component's markup.
Changed#
- The component loads Phone Input 1.1.0: compact defaults, a theme that matches the page, and the
dropdown kept on desktop.
v1.0.0
12 Sep 2026
Added#
- Framework-free core:
PhoneNumber value object with parsing, validation with reasons, number types,
E.164 / international / national / RFC 3966 formats, formatFor(), masked(), telUrl(),
whatsappUrl() and equals().
- Metadata compiled from Devix Phone Input 1.0.0 (libphonenumber): 254 regions, loaded one at a time
from PHP arrays.
- Parity suite: 17,568 inputs checked against the JavaScript core on every release.
Phone validation rule (object and phone: string form): countries, country field with
<field>_country discovery, types and excluded types, international-only and lenient modes.
- A message for each reason, with
:types, :countries and :example placeholders, in English,
Arabic and Urdu.
AsPhoneNumber cast; HasPhoneNumbers trait with a wherePhone scope and normalisation on save, so
attribute order doesn't matter.
$request->phone() macro and Rule::phone().
<x-phone-input> Blade component: works without JavaScript, mounts Phone Input from the CDN once per
page, posts <name>_country, sends browser messages in the app's language, and binds wire:model
to the full number.
Countries::all(), Countries::search() and Countries::find(), with localized names.