🧠 Runtime DX
– sample({ name }) is now supported everywhere
– Use trace: true in patronum/debug to see named sample links 🔍
This makes reactive flows much easier to debug at scale.
💡 Type Improvements
– split() types got a major cleanup
(massive thanks to @den_churbanov 💪)
– domain.createStore now supports skipVoid
Much safer and more ergonomic code in complex apps.
🔁 Babel / SWC Plugin gets HMR support!
Big thanks to @movpushmov & @kireevmp for pushing this forward 🔥
Plus:
– transformLegacyDomainMethods toggle
– forceScope can now be auto-set in React hooks
– effector-action is now part of default factories
– Support for tagged templates
Effector 23.4 is here! 🎉 Atlas
We're excited to launch Effector 23.4, our latest minor updated.
This thread will cover the key improvements, new features, Hot Module Replacement support, and debug improvements.
github.com/effector/effector…
🧵 [1/]
withease/i18next 23.2.0 has been released with a couple of new features:
🆕 store $language contains current language
🆕 effect changeLanguageFx allows changing it
🆕 integration creator now supports async i18next instances
effector ☄️ retweeted
The long-awaited release v0.12 Talat Noi is finally released 🎉
farfetched.pages.dev/release…
For a complete overview of all the changes and enhancements, check out our detailed changelog.
Everything you need to know about Effector 23, all in one place:
changelog.effector.dev/
🧵 [End of Thread]
That wraps up the major updates!
We've covered significant changes, but there's more to explore. We strongly recommend reviewing the full changelog for a detailed understanding before upgrading your projects.
Thank you for following along, and happy coding with Effector 23!
`undefined` no longer results in skipped store updates.
Want the old behavior back? Simply enable it with `skipVoid: true`. Also, note that if `$store.map(fn)` returns undefined during app initialization, it will now throw an error.
🧵 [8/]
You can read more about function purity in the our Glossary:
effector.dev/en/explanation/…
🧵 [7/]
Stricter Function Purity
Calling events or effects from functions deemed 'pure' by Effector now triggers runtime errors. Additionally, triggering derived events also results in runtime errors.
🧵 [6/]
The `previous` argument in `.map()` removed
We've made a substantial change: the second argument in `$store.map` is now removed. This shift means that derived stores no longer maintain an internal state, leading to cleaner and more predictable state management.
🧵 [5/]
/fork and /scope modules are obsolete
The `effector/fork` module has been removed and its functionality is now fully integrated into the core effector package.
Plus, `effector-react/scope` is no longer required as all hooks in the main package support scope operations.
🧵 [4/]
New Type Definitions
Say hello to `EventCallable`, `StoreWritable`, `UnitTargetable`. These new types distinctly mark writable stores and callable events, streamlining your use of derived units by clearly defining their intended interactions.
🧵 [3/]
Effector 23 is here! 🎉 Spacewatch
We're excited to launch Effector 23, our latest major update. This thread will cover the key improvements, new features, and essential deprecations.
Let's get into what Effector Spacewatch brings to your business logic management.
🧵 [1/]
effector ☄️ retweeted
Farfetched v0.11 🥳
Two highlights of this release are:
👉 Barrier API which allows you to postpone the execution of a Query or Mutation until a certain condition is met.
👉Effector v23 with a bunch of new features and improvements.
farfetched.pages.dev/release…
All libraries of withease.pages.dev/ are prepared to release Effector 23 ✅
You can safely upgrade now:
- withease/i18next v23.1.0
- withease/web-api v1.1.0
- withease/factories v1.0.3
eslint-plugin-effector v0.12.0 has been released 👁️
Read the full changelog 👇
eslint.effector.dev/changelo…













