Official release for Livewire 3.0 🎉
Far too much has changed since the last version 2 release to document here. The best place to view the changes is the official upgrade guide: https://livewire.laravel.com/docs/upgrading
Thank you for all your encouragement and support!
Below is a list of all contributions since the first beta release:
What's Changed
- Add vercel.json to disable builds and comments by @joshhanley in #5794
- Remove extra quote in docs by @datlechin in #5770
- Fix merge by @joshhanley in #5789
- Documentation Reorganization for Better Flow and Clarity by @bradenkeith in #5771
- Fix Typo in MultipleRootElementsDetectedException.php by @bradenkeith in #5773
- Remove colon from filenames so they are compatible with Windows by @joshhanley in #5791
- [v3] Event upgrade guide documentation fix by @PhiloNL in #5779
- [v3] Fix upgrade command bug that would prevent it from moving to the next step by @PhiloNL in #5781
- Typofix by @nexxai in #5774
- Fix typo in documenation for Morphing and Javscript by @rezaulhreza in #5836
- Update quickstart.md by @balduinofernando in #5807
- [V3] Updated testing doc to use proper method name by @scottzirkel in #5800
- [V3] Removing Local Links of the Documentation by @devajmeireles in #5798
- [V3] Fixes and Enhancements to the Docs. by @devajmeireles in #5815
- Fix Add link to Synthesizers documentation by @nickfls in #5828
- [v3] fix facade alias by @nuernbergerA in #5855
- [v3] Upgrade command improvements by @PhiloNL in #5823
- [v3] Fix tests by @nuernbergerA in #5790
- [v3] Exclude files from packagist by @nuernbergerA in #5788
- [v3] Fix asset auto injection by @nuernbergerA in #5784
- [v3] Cleanup by @nuernbergerA in #5785
- remove word be from upgrade guide documentation page by @MuhammadSadeeq in #5865
- docs: remove unnecessary .prevent modifier by @markjaquith in #5869
- Fix typo in upgrading.md by @eltociear in #5883
- [v3] Fix Dusk test usage in user land by @nuernbergerA in #5872
- [v3] Fix Reactive Attribute Browser test by @luanfreitasdev in #5879
- Fix flaky test by removing the word "no" by @joshhanley in #5887
- [v3] Fix @entangle upgrade regex by @PhiloNL in #5893
- [v3] Fixes stubs namespace generation by @rahulhaque in #5900
- Typofixes in hydration.md by @nexxai in #5907
- [V3][Docs] Change Extends from Controller to Component by @devajmeireles in #5916
- [V3] Reenable failing test as it covers a navigate bug by @joshhanley in #5859
- Tests/navigate to query page fails by @calebporzio in #5941
- [v3] Add beta warning to quickstart by @PhiloNL in #5903
- change public to private in the sample code for making dangerous methods private by @mokhosh in #5933
- Import Rule in code samples by @mokhosh in #5934
- [v3] Add failing redirect browser test by @PhiloNL in #5787
- [v3] Add failing test for morph issue when adding/removing components dynamically by @PhiloNL in #5776
- [V3] Various doc fixes by @PerryvanderMeer in #5957
- [V3] docs: added info about $wire.set() defer by @LukasFreyCZ in #5955
- [v3]
#[On]
allow multiple listener attributes by @nuernbergerA in #5924 - [v3] Add failing test for navigate-once by @PhiloNL in #5777
- [v3] Add failing test for resetting properties on form object by @PhiloNL in #5778
- [v3] Set pagination style from config by @shahvirag in #5810
- [v3] Remove unused code by @nuernbergerA in #5870
- [v3] Carbon replace deprecated format by @nuernbergerA in #5871
- [v3] Initial implementation loading indicator config + failing test by @PhiloNL in #5874
- [v3] Repeatable
#[Rule]
by @nuernbergerA in #5876 - [V3] Updating the Upgrade Guide: Reinforcing Instructions to the Breeze & JetStream by @devajmeireles in #5881
- [v3] imageSize method on TemporaryUploadedFile to support dimensions validation rule by @gdebrauwer in #5898
- [V3] Add documentation for testing the parameters of dispatched events by @julesgraus in #5909
- [v3] Add nullable type to Post model in forms PostFrom docs section by @krekas in #5948
- [v3] Add 'upload' as reserved keywords to the documentation by @PhiloNL in #5969
- [v3] Add support for third-party upgrade commands by @PhiloNL in #5994
- Class Addresss not found Typo Error by @asimsarwar73 in #5991
- [v3] Add —run-only option to upgrade command by @PhiloNL in #5996
- Typo fixes in loading.md or tabs.md by @asimsarwar73 in #5990
- fix typo in upgrade command by @gehrisandro in #5983
- [V3] Add add error api to forms by @WyattCast44 in #5915
- Volt documentation by @taylorotwell in #5998
- Update volt.md by @yoeriboven in #6001
- [V3] Document the deprecation of @this.on() by @markjaquith in #5939
- [v3] Add simple automations to emit to dispatch changes by @PhiloNL in #6028
- [V3] Add an upgrade step that upgrades $this->forgetComputed calls to php's unset by @julesgraus in #5956
- Add discussions bug template by @PhiloNL in #6042
- [v3] Fix links to the plugins and arranged alphabetically by @bpocallaghan in #6027
- [v3] Fix Github Actions Deprecations by @Jubeki in #6025
- [v3] Updated the import for mount example usage in volt.md by @theriddleofenigma in #6021
- [v3] Fix asset auto injection (miss matches) by @nuernbergerA in #6020
- [V3][Docs] Fix actions.md alpine passing parameter example by @Z3d0X in #6019
- [v3] fix typo in events.md docs by @valpuia in #6013
- [v3] Better file extension guessing by @nuernbergerA in #6012
- [v3] Fix stream variable and ob_flush issue by @phuclh in #6010
- [v3] Fix route caching by @gehrisandro in #6008
- [v3] Fix clear is not defined (esm) by @PhiloNL in #6003
- [V3] Add morph failing test for nested children with empty divs by @joshhanley in #5889
- [v3] Add failing test for full-page component layout slots by @PhiloNL in #5962
- [V3] Add:
reset
Method to Form Object by @devajmeireles in #6050 - [V3] Fixed incorrect directive in documentation ( actions.md ) by @takeshiyu in #6060
- Use array for only method by @christophrumpel in #6059
- Removed a reference to a parameter that is not used in the example. by @julesgraus in #6044
- [V3] failing test: Conditional markers containing @ with property-based co… by @danharrin in #5972
- [V3] Add failing test for title fluent method not working with layout attribute by @joaokamun in #5961
- [V3] Add failing test for testing a component with custom directive by @nleibbrandt in #5950
- [V3] Failing test: wire:loading with JS object by @danharrin in #5931
- [V3] Add failing test for testing a component without a render method by @joshhanley in #5947
- [V3] Various doc fixes by @PerryvanderMeer in #5965
- Add missing closing pho tag in Volt documentation by @Einenlum in #6063
- [V3] Docs: fix
composer require
commands by @PerryvanderMeer in #6076 - [v3] Fix layout path in docs by @austenc in #6078
- Fix link in docs by @yoeriboven in #6081
- Add laravel echo support by @calebporzio in #6092
- [V3] Docs: add imports by @PerryvanderMeer in #6079
- [v3] Add failing morphdom test for actions in conditional by @Jubeki in #6022
- Docs Fix - Code example bug about property visibility by @christophrumpel in #6093
- [V3] Remove excess #[On('echo:orders,OrderShipped')] from events docs by @machacekmartin in #6110
- [v3] Fix multiple #[On] an #[Rule] by @nuernbergerA in #6127
- [V3] Rename any remaining test files to have UnitTest suffix by @joshhanley in #6134
- [v3] Fix reset all by @gehrisandro in #6118
- [v3] Fix for imageSize method on TemporaryUploadedFile to support dimensions validation rule by @jordanhavard in #6084
- [v3] assign classname from laravel morph map by @aminetiyal in #6104
- [v3] Added additional information on #[Modelable] attribute by @SRWieZ in #6155
- [v3] Small fix on understanding-nesting.md by @SRWieZ in #6154
- [v3] add custom interfaces usage volt.md by @4m1n0s in #6129
- [V3] Add failing test for component with wire:model and custom Alpine directive by @nleibbrandt in #6087
- Add missing use notation for Modelable attribute by @jmas in #6183
- Update testing.md to change method for testing URL Params by @favouraka in #6179
- [v3] Fix typo in docs for creating form by @donkooijman in #6170
- [Docs, v3] Update forms.md by @dastiii in #6168
- [V3] Fix documentation about assertHasErrors and assertHasNoErrors by @julesgraus in #6185
- [v3] Update emitTo upgrade pattern by @thermiteplasma in #6195
- Fail delete child test by @lonnylot in #6166
- [V3] Add tests for modelable nested component by @quentinhnrt in #6177
- [v3] Docs typo by @thermiteplasma in #6194
- [V3] Added information about $dispatchTo by @TheTomRoelofs in #6198
- [v3] Trait Lifecycle Hooks by @TWithers in #6199
- [V3] Custom Validator Facade correction path by @Zakarialabib in #6215
- [V3] Add failing test for using assertViewIs by @gbuckingham89 in #6244
- [V3] Move auto-injected livewire styles to end of head tag by @joshhanley in #6233
- Remove confusing npm install instructions (for now) by @markjaquith in #6237
- Add warning to docs regarding auto-inject of Alpine.js by @machacekmartin in #6234
- [V3] Add Windows PowerShell warning to docs by @joshhanley in #6232
- [V3] Docs: add example of firing a specific action while polling by @PerryvanderMeer in #6226
- [v3] Add failing test for calling the remove upload method by @romansh in #6225
- [V3] Add failing test for Rule attribute validation when using form objects by @muffycompo in #6217
- [V3] Passing test for layout stacks #6135 by @bpudenz in #6201
- Move from 'use Arr' to 'use Illuminate\Support\Arr' by @uberbrady in #6249
- [v3] Fix ArraySynth hydrate loop rm by @donkooijman in #6190
- [3.x] Fixes integration with Octane by @nunomaduro in #6268
- [3.x] Adds
Volt::route
documentation by @nunomaduro in #6246 - [3.x] Adds docs about
assertSeeVolt
by @nunomaduro in #6274 - [V3] Failing test for navigate triggering on right click by @joshhanley in #6266
- [3.x] Add support for Laravel Echo by @cmizzi in #6256
- [V3] Make sure
orchestra/testbench-dusk
is installed by @jerodev in #6273 - [V3] Failing test for navigate back button not working when using scripts on non-livewire page by @joshhanley in #6262
- [V3] Add failing test for child events not being listened to correctly after navigate by @joshhanley in #6264
- [V3] Livewire page component layout view not found if a component contains nested component by @riasvdv in #6286
- Paginator hooks by @martin-ro in #6282
- [v3] Add failing tests for updating typed properties by @joshhanley in #5920
- [V3] Failing test for layout stacks by @joshhanley in #6135
- [v3] add failing test for nested reactive property by @gehrisandro in #6180
- failing test: Removing entangled component by @danharrin in #6289
- [V3] Fix typo in emitUp step of upgrade tool by @liamja in #6312
- [v3] Show livewire version from about command by @thethunderturner in #6315
- Refactor: Replace usage of this.el with local variable el by @darbor in #6325
- fix code typo in custom directives section by @tapan288 in #6331
- [v3] Rename duplicate Suit enum in test by @markjaquith in #6323
- fix: Call to undefined method ReflectionUnionType::getName() on multiple-types property by @sakanjo in #6362
- [v3] Use the actual wrapper element type when wrapping HTML during morph by @markjaquith in #6299
- Rename other Suit reference to fix unit tests by @markjaquith in #6366
- Update CONTRIBUTING.md by @danharrin in #6363
- [V3] Revert ReplaceEmitWithDispatch move by @PerryvanderMeer in #6369
- [v3] Documentation typos by @klaasgeldof in #6360
- [V3] Can reset unset properties by @edalzell in #6345
- More robustly handle resetting properties that are unset by default by @markjaquith in #6375
- Use waitForTextIn() instead of assertSeeIn() to make browser test reliable by @markjaquith in #6377
- [V3] fix assertNoRedirect for plain rendering components by @faltjo in #6288
- [V3] Test cleanup by @nuernbergerA in #6096
- [V3] Add --pest command to Artisan commands by @skegel13 in #6053
- Rename base attribute classes by @calebporzio in #6389
- [v3] Add except method to form by @donkooijman in #6160
- [v3] fix: edited toggleBooleanStateDirective by @sakanjo in #6353
- [v3] Update synthesizers.md by @PhiloNL in #6291
- [v3] Add failing test for lazy nested components calling boot method twice by @archilex in #6327
- flaky-test: Use waitForText() and waitUntilMissingText() instead of manual pause() by @markjaquith in #6380
- [V3] Fix doc typos by @PerryvanderMeer in #6388
- flaky-test: can_transition_blade_conditional_dom_segments by @markjaquith in #6396
- [V3] Fix rendering/rendered hooks by @joshhanley in #6401
- flaky-test: can_pass_reactive_props_to_lazyilly_loaded_component by @markjaquith in #6407
- Remove test skips for old versions of Laravel by @markjaquith in #6408
- flaky-test: can_access_parent by @markjaquith in #6409
- Re-enable wireables unit tests by @markjaquith in #6410
- Remove unused tests by @markjaquith in #6411
- Update forms.md by @WatheqAlshowaiter in #6412
- [v3] Small documentation typos by @klaasgeldof in #6425
- [V3] Fix small documentation typos by @richeklein in #6430
- [V3] Improved console message when unable to entangle by @luanfreitasdev in #6442
- [V3] Fix EloquentCollectionSynth: Undefined array key "class" by @luanfreitasdev in #6441
- [v3] Adds failing test for Laravel Echo with payload by @yoeriboven in #6413
- Add @this.on back into V3 by @calebporzio in #6454
- flaky-test: can_transition_blade_conditional_dom_segments (again) by @markjaquith in #6449
- [3.x] Adds documentation regarding Volt's
with
method by @nunomaduro in #6455 - [v3] Add component lazy loading to full page components by @PhiloNL in #5780
- [V3] Support Defer Loading by @nicolagianelli in #6171
- [v3] Add failing test for automatic route property binding by @PhiloNL in #6321
- [V3] Make rule aliases translatable by @elcapo in #6344
- Update CONTRIBUTING.md by @sakanjo in #6458
- [V3] update the event name in navigate document by @YilanBoy in #6470
- [v3] [docs] Clarify using @livewireStyles when manually bundling livewire by @coleshirley in #6472
- [V3] Cleanup version checks by @nuernbergerA in #6476
- [V3] Exclude vercel.json from packagist by @nuernbergerA in #6477
- Rewrite morph marker injection system by @calebporzio in #6483
- [V3] Give wireable synth higher priority over other synths by @joshhanley in #6487
- [v3] Cleanup dynamic component by @nuernbergerA in #6484
- [V3] Add dynamic validation attributes in Form Object by @viliusvsx in #6394
- [v3] Remove unused precompiler by @nuernbergerA in #6485
- [V3] Return null on IntSynth when null is passed in by @ejonasson in #6478
- Fix wire:navigate when navigating between pages with different sessions by @calebporzio in #6493
- [V3] Update contributing.md by @joshhanley in #6492
New Contributors
- @datlechin made their first contribution in #5770
- @bradenkeith made their first contribution in #5771
- @PhiloNL made their first contribution in #5779
- @nexxai made their first contribution in #5774
- @rezaulhreza made their first contribution in #5836
- @balduinofernando made their first contribution in #5807
- @scottzirkel made their first contribution in #5800
- @devajmeireles made their first contribution in #5798
- @nickfls made their first contribution in #5828
- @MuhammadSadeeq made their first contribution in #5865
- @markjaquith made their first contribution in #5869
- @eltociear made their first contribution in #5883
- @luanfreitasdev made their first contribution in #5879
- @rahulhaque made their first contribution in #5900
- @PerryvanderMeer made their first contribution in #5957
- @LukasFreyCZ made their first contribution in #5955
- @shahvirag made their first contribution in #5810
- @julesgraus made their first contribution in #5909
- @krekas made their first contribution in #5948
- @asimsarwar73 made their first contribution in #5991
- @gehrisandro made their first contribution in #5983
- @WyattCast44 made their first contribution in #5915
- @yoeriboven made their first contribution in #6001
- @bpocallaghan made their first contribution in #6027
- @Jubeki made their first contribution in #6025
- @theriddleofenigma made their first contribution in #6021
- @Z3d0X made their first contribution in #6019
- @valpuia made their first contribution in #6013
- @phuclh made their first contribution in #6010
- @takeshiyu made their first contribution in #6060
- @christophrumpel made their first contribution in #6059
- @joaokamun made their first contribution in #5961
- @nleibbrandt made their first contribution in #5950
- @Einenlum made their first contribution in #6063
- @machacekmartin made their first contribution in #6110
- @aminetiyal made their first contribution in #6104
- @SRWieZ made their first contribution in #6155
- @4m1n0s made their first contribution in #6129
- @jmas made their first contribution in #6183
- @favouraka made their first contribution in #6179
- @donkooijman made their first contribution in #6170
- @dastiii made their first contribution in #6168
- @thermiteplasma made their first contribution in #6195
- @lonnylot made their first contribution in #6166
- @quentinhnrt made their first contribution in #6177
- @TheTomRoelofs made their first contribution in #6198
- @TWithers made their first contribution in #6199
- @Zakarialabib made their first contribution in #6215
- @gbuckingham89 made their first contribution in #6244
- @romansh made their first contribution in #6225
- @muffycompo made their first contribution in #6217
- @bpudenz made their first contribution in #6201
- @uberbrady made their first contribution in #6249
- @cmizzi made their first contribution in #6256
- @jerodev made their first contribution in #6273
- @riasvdv made their first contribution in #6286
- @martin-ro made their first contribution in #6282
- @liamja made their first contribution in #6312
- @thethunderturner made their first contribution in #6315
- @darbor made their first contribution in #6325
- @tapan288 made their first contribution in #6331
- @sakanjo made their first contribution in #6362
- @klaasgeldof made their first contribution in #6360
- @edalzell made their first contribution in #6345
- @faltjo made their first contribution in #6288
- @skegel13 made their first contribution in #6053
- @archilex made their first contribution in #6327
- @WatheqAlshowaiter made their first contribution in #6412
- @richeklein made their first contribution in #6430
- @nicolagianelli made their first contribution in #6171
- @elcapo made their first contribution in #6344
- @YilanBoy made their first contribution in #6470
- @coleshirley made their first contribution in #6472
- @viliusvsx made their first contribution in #6394
- @ejonasson made their first contribution in #6478
Full Changelog: v2.12.3...v3.0.0