Skip to content

Releases: littensy/reflex

🍰 v3.3.0

29 Jun 02:54
Compare
Choose a tag to compare

This release gives you more powerful createSelector types and equality checks.

Fixes address an oversight commonly experienced when implementing custom remotes for broadcasters.

✨ What's New

  • 🍰 Add createSelector overload for receiving variadic selectors instead of an array 315396a
  • ⚙️ Add options parameter to createSelector for custom equality checks 315396a
  • 🛠️ Export shallowEqual for convenience b4f014b

🐛 Fixes

  • ✅ Allow ReceiverOptions.requestState to return a non-promise value cdadf5a

⏱️ v3.2.1

28 Jun 20:12
Compare
Choose a tag to compare

This update adds the resetState method for debugging and fixes some bugs with Reflex not accepting certain Producer types.

✨ What's New

  • ⏱️ Add resetState method to Producer 13342cc

🐛 Bug Fixes

  • (Luau) Fix default Producer type expecting an object instead of any e901817

🔧 v3.1.4

26 Jun 08:53
Compare
Choose a tag to compare

🪲 Bug Fixes

  • Revert forced deep read-only state 5f285c5
  • Remove createSelector Input generic to allow multiple dependencies d6ff3fe
  • Fix Luau middleware type errors 3e3cf7d

🔍 v3.1.0

26 Jun 02:43
Compare
Choose a tag to compare

This release most notably adds the Producer.observe method!

We now have a docs site 🎉! Check it out at https://littensy.github.io/reflex/

✨ New Features

  • 🔍 Add observe method 0975f81
  • 🚦 subscribe can take an optional predicate argument 822190f

🛠️ Changes

  • ⚠️ Emit a warning if you subscribed to a selector that is not idempotent 822190f
  • 🔐 Enforce deeply read-only state type in TypeScript e64b897
  • enhance is no longer deprecated, but not recommended 35c58d7

🪲 Bug Fixes

  • Fixed misnamed Promise dependency in Wally 6aa5de6

v3.0.1

17 Jun 23:27
Compare
Choose a tag to compare

This release rewrites the package in Luau and sets it up on Wally. Performance improved in all areas up to 40% in benchmarks.

This is a breaking change! See the list of breaking changes.

✨ New Features

  • Add producer.applyMiddleware method, deprecate producer.enhance

🛠️ Changes

  • Rewrite package in Luau
  • Optimize createSelector memoization
  • Improve Producer and combineProducers performance

⚠️ Breaking Changes

  • Expand on middleware functionality f12e3ee
  • Broadcaster and BroadcastReceiver have methods instead of arrow functions
  • Rename BroadcastActionContainer interface to BroadcastAction
  • Some internal types no longer exported

🔌 Installation

Wally page

npm install @rbxts/reflex@latest
npm install @rbxts/roact-reflex@latest
pnpm add @rbxts/reflex@3 @rbxts/roact-reflex@2