v3.5.0
Added
- Add support for Reflex Callback skips by @assuntaw in #466
- Add support for prepend and append reflex callbacks by @marcoroth in #472
- Add support for return values for
stimulate
calls by @leastbad in #458 - Add connection status class by @leastbad in #589
- Add
precompile_assets
option to disable assets compilation by @marcoroth in #631 - Emit
stimulus-reflex:ready
event on element instead of document by @marcoroth in #625 - Improve DX around version mismatch warnings by @marcoroth in #641
- Export
StimulusReflexController
constant by @marcoroth in #672 - Add implicit dom_id for morph selectors by @leastbad in #436
- Report failed basic auth by @leastbad in #454
- Handle generated value for channel_prefix if app directory contains dots or spaces by @lxxxvi in #457
- Log reflex payloads client-side by @julianrubisch in #476
- Reflex return payloads for events and callbacks by @leastbad in #477
- Add
useReflex
js function to "support" the composable pattern by @marcoroth in #475 - Prevent /cable from being prepended to ActiveStorage route helpers by @leastbad in #484
- deprecation warnings (consumer, form serialization, isolation mode) by @leastbad in #438
- version check by @leastbad in #434
- feature: add check for default url options by @nachiket87 in #480
- Prevent install script from choking on magic comments via hard-coded line numbers by @leastbad in #494
- render_collection by @leastbad in #498
- Log the full exception trace by @rmckayfleming in #491
- data-reflex-dataset and data-reflex-dataset-all by @leastbad in #478
- convert symbol keys, ensure fragment html exists by @leastbad in #503
- tab_id accessor by @leastbad in #506
- delegate dom_id to CableReady::Identifiable by @leastbad in #485
- handle operations that have string-defined selector argument by @leastbad in #509
- Schema object with getters by @leastbad in #505
- Optionally provide innerHtml and textContent on StimulusReflex::Element by @julianrubisch in #517
- Improve install experience by @leastbad in #510
- Specify form selector by @julianrubisch in #527
- Morph stimulus reflex element AKA "single element page morph" by @julianrubisch in #522
- add first line of stacktrace to console.log error in dev environment by @RolandStuder in #532
- reflex render layout defaults to false by @leastbad in #534
- Add generator options to skip reflex and stimulus by @nachiket87 in #543
- Provide proxy methods boolean and numeric on Element by @julianrubisch in #528
- Overhaul Reflex logging by @leastbad in #546
- document body connection status classes by @leastbad in #547
- serialize forms with multiple, non-unique array elements by @leastbad in #556
- emit custom life-cycle events by @leastbad in #559
- suppress logging by @leastbad in #560
- Client side sanity by @leastbad in #561
- Bundle for Production, Dev-Builds and prebuilt JavaScript with the gem by @marcoroth in #575
- conditional operator breaks webpack in some cases by @leastbad in #587
- throw :forbidden by @leastbad in #588
- configure operations for morph and replace by @leastbad in #599
- Provide JavaScript package version on global
StimulusReflex
object by @marcoroth in #603 initialize
doesn't need to return a reference toreflexes
by @leastbad in #611- Make Schema configurable by @marcoroth in #624
- Remove
config.on_new_version_available
option by @marcoroth in #634 - New StimulusReflex installer experience by @leastbad and @marcoroth in #610
- Show version mismatch warning toasts when CableReady versions mismatch by @marcoroth in #651
- Implement
nokogiri-html5-inference
to properly support HTML fragment parsing by @marcoroth in #696
Changed
- Call initial
setupDeclarativeReflexes()
ondocument.readyState === 'complete'
by @marcoroth in #602 - Move logger and sanity_checker to /utils by @leastbad in #456
- only run piggybacked operations after SR is finished, and isolate them by @leastbad in #482
- Always pick up instance variables when accessing controller by @leastbad in #493
- Stop adding whitespace when parsing our html by @lmatiolis in #492
- New CR wire format + reworked server message events by @leastbad in #536
- reverse merge params into locals by @leastbad in #542
- specify env headers for page morph controller by @leastbad in #538
- When searching a controller based off a reflex name, ignore hyphens by @g-gagnon in #558
- Fall back to empty siblings list if no parentNode is present by @julianrubisch in #566
- Temporarily fix OpenStruct with fix for
class
andmethod
attributes by @marcoroth in #569 - Fall back to empty siblings list if no parentNode is present by @julianrubisch in #566
- Temporarily fix OpenStruct with fix for
class
andmethod
attributes by @marcoroth in #569 - Make
version
import frompackage.json
webpack 5 compatible by @marcoroth in #604 - Declarative Reflexes Resiliency by @marcoroth in #606
- Introduce
StimulusReflex::HTML::Document
, featuringNokogiri::HTML5
by @marcoroth in #601 - Don't use relative imports for Importmaps by @marcoroth in #655
- Don't choose first controller if no matching StimulusReflex-enabled controller was found by @marcoroth in #670
- Isolate and namespace
StimulusReflex::Installer
by @marcoroth in #699
Removed
- Remove
ActiveSupport::Concern#prepended
usage for Rails 6 by @marcoroth in #662 - Remove
changelog
GitHub Action by @marcoroth in #576 - Remove minified dist files by @marcoroth in #648
Fixes
- Fix Mutation observer which wouldn't fire in certain situations by @joshleblanc in #479
- Fix logger when :logging is nil by @ni3t in #573
- Reinitialize controller_class renderer with connection.env by @leastbad in #481
- Fix reference to VersionMismatchError after namespace change by @Matt-Yorkley in #665
- Fix Versions comparison:
rc
is also a suffix (aspre
). by @jibees in #650 - Fix typo in application_reflex generator template by @jbakerdev in #638
- Fix broken link in README.md by @fig in #637
- Fix install task [development] by @fig in #640
- Fix Generator file name references by @julianrubisch in #644
- Fix deep merge
url_params
inReflexData
by @julianrubisch in #647 - Fix exception in ActionCable channel due to reflexes overwriting each other's data by @alexander-makarenko in #663
- Fix
reflex_data
keyword argument by @brunoenten in #673 - Fix undefined package_json during Yarn install by @mattboldt in #676
- Fix typo in Step 2 of Setup Docs by @ryanmansfield in #680
- Fix ReflexData parsing by @Matt-Yorkley in #688
- Fix
sideEffects
value to make Webpack happy by @KonnorRogers in #523 - fix changelog workflow and optimize triggers by @marcoroth in #474
- Fix Changelog Action by @marcoroth in #483
- Fix cross-tab errors for piggybacked operations by @julianrubisch in #514
- Fix two minor typos by @julianrubisch in #526
- Fix comment by @julianrubisch in #537
- Check for presence of controller element in serverMessage by @shubik22 in #460
- Don't add
data-controller
to reflex element if parent already holds instance by @marcoroth in #636
Internals
- Run changelog action not on every single push to master by @marcoroth in #450
- Fix GitHub action for standardrb by @nachiket87 in #554
- Extract method invocation policy by @julianrubisch in #448
- Refactor stimulus_reflex.js by @leastbad in #444
- Refactor AC transport module to support dropped connections by @leastbad in #590
- Extract StimulusReflex::Fragment by @julianrubisch in #594
- Extract CableReadyable by @julianrubisch in #595
- Consolidate morph method by @julianrubisch in #597
- missing safe navigation by @leastbad in #600
- Explicitly require
ostruct
forStimulusReflex::Dataset
by @marcoroth in #697 - refactor declarative reflex observer by @leastbad in #440
- remove unnecessary gate by @leastbad in #439
- Add tests for
StimulusReflex::Configuration
by @marcoroth in #633 - Update reflexes.js by @julianrubisch in #515
- Add
.rake
to gemspecfiles
glob pattern by @marcoroth in #581 - refactor stream_name by @leastbad in #519
- Refactor SR client package and introduce the Reflex class by @leastbad in #592
- Callback tests by @marcoroth in #470
- Add test for param behavior by @julianrubisch in #545
- Add test for
data-reflex-dataset="descendants"
by @assuntaw in #531 - StimulusReflex concern by @julianrubisch in #464
- Extract RequestParameters class by @julianrubisch in #451
- Factor reflex creation and reflex data management out of channel by @julianrubisch in #486
- Move object_with_indifferent_access to ReflexData by @erlingur in #500
- Updated gemspec to specific Rails gems by @paul in #568
- ReflexData must handle url parameters by @leastbad in #612
- Use Util functions from CableReady by @marcoroth in #623
Docs
- v3.5 docs by @marcoroth in #627
- Fix broken link in docs by @asmega in #488
- Fixed
index.md
by @mkempe in #632 - Update setup docs by @julianrubisch in #645
- Add whitespace in the docs. by @dixpac in #657
- Sentence rephrasing, to->from by @dixpac in #658
- fix broken next page link on welcome page by @marcoroth in #661
- Update mrujs link on docs by @cpgo in #675
- Add localization example to ApplicationReflex template by @erlingur in #521
- Remove confusing preposition by @richardun in #469
Dependencies
See all
- Bump CableReady to
5.0.0.pre10
by @marcoroth in #635 - Bump ws from 7.4.5 to 7.4.6 by @dependabot in #513
- Bump nokogiri from 1.12.3 to 1.12.5 by @dependabot in #548
- Bump nokogiri from 1.12.5 to 1.13.3 by @dependabot in #572
- Bump nokogiri from 1.13.3 to 1.13.4 by @dependabot in #580
- Bump actionpack from 6.1.1 to 6.1.3 by @dependabot in #461
- Bump activerecord from 6.1.1 to 6.1.3 by @dependabot in #462
- Bump rexml from 3.2.4 to 3.2.5 by @dependabot in #495
- Bump actionpack from 6.1.3 to 6.1.3.2 by @dependabot in #499
- Bump handlebars from 4.7.6 to 4.7.7 by @dependabot in #501
- Bump lodash from 4.17.20 to 4.17.21 by @dependabot in #504
- Bump nokogiri from 1.11.3 to 1.11.4 by @dependabot in #507
- Bump async from 2.6.3 to 2.6.4 by @dependabot in #582
- Bump nokogiri from 1.13.4 to 1.13.6 by @dependabot in #585
- Bump rack from 2.2.3 to 2.2.3.1 by @dependabot in #586
- Bump rails-html-sanitizer from 1.4.2 to 1.4.3 by @dependabot in #593
- Bump terser from 5.14.0 to 5.14.2 by @dependabot in #596
- Bump nokogiri from 1.13.6 to 1.13.9 by @dependabot in #613
- Bump nokogiri from 1.13.9 to 1.13.10 by @dependabot in #615
- Bump loofah from 2.18.0 to 2.19.1 by @dependabot in #616
- Bump rails-html-sanitizer from 1.4.3 to 1.4.4 by @dependabot in #617
- Bump rack from 2.2.3.1 to 2.2.6.2 by @dependabot in #628
- Bump globalid from 1.0.0 to 1.0.1 by @dependabot in #629
- Bump ua-parser-js from 1.0.2 to 1.0.33 by @dependabot in #630
- Bump rack from 2.2.6.3 to 2.2.6.4 by @dependabot in #646
- Bump nokogiri from 1.14.2 to 1.14.3 by @dependabot in #654
- Update rack requirement from ~> 2.0 to >= 2, < 4 by @dependabot in #643
- Bump vite from 4.3.8 to 4.3.9 by @dependabot in #667
- Bump semver from 5.7.1 to 5.7.2 by @dependabot in #669
- Bump word-wrap from 1.2.3 to 1.2.4 by @dependabot in #671
- Bump vite from 4.3.9 to 4.5.2 by @dependabot in #681
- Bump rack from 2.2.7 to 2.2.8.1 by @dependabot in #690
- Bump ip from 1.1.8 to 1.1.9 by @dependabot in #685
- Bump vite from 4.5.2 to 4.5.3 by @dependabot in #694
New Contributors
- @shubik22 made their first contribution in #460
- @richardun made their first contribution in #469
- @assuntaw made their first contribution in #466
- @lxxxvi made their first contribution in #457
- @asmega made their first contribution in #488
- @nachiket87 made their first contribution in #480
- @lmatiolis made their first contribution in #492
- @rmckayfleming made their first contribution in #491
- @erlingur made their first contribution in #500
- @g-gagnon made their first contribution in #558
- @paul made their first contribution in #568
- @ni3t made their first contribution in #573
- @mkempe made their first contribution in #632
- @jbakerdev made their first contribution in #638
- @fig made their first contribution in #637
- @jibees made their first contribution in #650
- @alexander-makarenko made their first contribution in #663
- @cpgo made their first contribution in #675
- @brunoenten made their first contribution in #673
- @mattboldt made their first contribution in #676
- @ryanmansfield made their first contribution in #680
Commits
Full Changelog: v3.4.2...v3.5.0