Releases: preactjs/preact
Releases · preactjs/preact
10.28.4
Fixes
- Fix crash where a synchronous effect render unmounts the tree (#5026, thanks @JoviDeCroock)
Performance
- Core size optimizations (#5022, thanks @JoviDeCroock)
- Hooks size optimizations (#5021, thanks @JoviDeCroock)
- Make oldProps diffing more compact (#5004) (#5019, thanks @JoviDeCroock)
- Compat size optimizations (#5020, thanks @JoviDeCroock)
- Land size optimization separately (#5018, thanks @JoviDeCroock)
11.0.0-beta.1
Fixes
- Forward-port fixes from v10 (#5008, thanks @JoviDeCroock)
- Avoid scheduling suspense state udpates (#5006, thanks @JoviDeCroock)
- Resolve some suspense crashes (#4999, thanks @JoviDeCroock)
- Support inheriting namespace through portals (#4993) (#4995, thanks @JoviDeCroock)
- Forward-port diffing fix (#4976, thanks @JoviDeCroock)
- Fix cascading renders with signals (#4966) (#4969, thanks @JoviDeCroock)
- Avoid lazy components without result going in throw loop (#4939, thanks @JoviDeCroock)
- Support XHTML phrasing content in MathML token elements (#4924, thanks @rschristian)
- Check excess for preact-iso (#4898, thanks @JoviDeCroock)
Types
- Export setupComponentStack (#4974, thanks @ssssota)
- Add types for 'getDisplayName' (#4957, thanks @rschristian)
- Adds
scrollsnapchangeandscrollsnapchangingevent support (#4946, thanks @argyleink) - Fix scroll events (#4948, thanks @rschristian)
- Updates dangerouslySetInnerHTML type so future TS will accept Trusted… (#4930, thanks @lukewarlow)
Performance
- Call toLowerCase on name regardless of its current casing (#5003, thanks @ali-garajian)
- Set oldProps's default value on declaration (#4959, thanks @ali-garajian)
- Prevent frequently updated components from retaining memory (#4907, thanks @JoviDeCroock)
- Golf down hooks impl (#4897, thanks @JoviDeCroock)
- Save bytes by inlining ref unmount checks (#4896, thanks @JoviDeCroock)
- Save bytes on hydration 2.0 (#4894, thanks @JoviDeCroock)
Maintenance
- Remove leftover codemods (#5000, thanks @rschristian)
- Clean configs (#4996, thanks @rschristian)
- Force strict equality on vnode constructor (#4986, thanks @JoviDeCroock)
- types: Correct outdated imports in
jsx-runtime(#4981, thanks @rschristian) - Delete redundant code of conduct (#4962, thanks @JoviDeCroock)
- Update CODE_OF_CONDUCT to include LLM usage guidelines (#4961, thanks @JoviDeCroock)
- Add comments for hooks options (#4942, thanks @situ2001)
- Add
commpat/server.browserentry (#4940, thanks @marvinhagemeister) - Switch tests to use
.jsxfile extension (#4925, thanks @rschristian) - Fix PR reporter for non-main branch targets (#4900, thanks @rschristian)
10.28.3
Fixes
- Avoid scheduling suspense state udpates (#5006, thanks @JoviDeCroock)
- Resolve some suspense crashes (#4999, thanks @JoviDeCroock)
- Support inheriting namespace through portals (#4993, thanks @JoviDeCroock)
Maintenance
- Update test with addition of
_original(#4989, thanks @JoviDeCroock)
10.28.2
Fixes
- Enforce strict equality for VNode object constructors
10.27.3
Fixes
- Enforce strict equality for VNode object constructors
10.26.10
Fixes
- Enforce strict equality for VNode object constructors
10.28.1
Fixes
- Fix erroneous diffing w/ growing list (#4975, thanks @JoviDeCroock)
10.28.0
Types
- Updates dangerouslySetInnerHTML type so future TS will accept Trusted… (#4931, thanks @lukewarlow)
- Adds snap events (#4947, thanks @argyleink)
- Remove missed jsx duplicates (#4950, thanks @rschristian)
- Fix scroll events (#4949, thanks @rschristian)
Fixes
- Fix cascading renders with signals (#4966, thanks @JoviDeCroock)
- add
commpat/server.browserentry (#4941 & #4940, thanks @marvinhagemeister) - Avoid lazy components without result going in throw loop (#4937, thanks @JoviDeCroock)
Performance
- Backport some v11 optimizations (#4967, thanks @JoviDeCroock)
10.27.2
Types
- Mirror non-JSX types to the 'preact' namespace (#4904, thanks @rschristian)
Fixes
- Address memory leak (#4906, thanks @JoviDeCroock)
11.0.0-beta.0
Breaking Changes
- Drop IE11 support (#4549, thanks @JoviDeCroock)
- Move
defaultPropsintopreact/compat(#4657, thanks @JoviDeCroock) - Remove automatic px suffix (#4665, thanks @JoviDeCroock)
- Remove contains with a simple parentNode check (#4666, thanks @JoviDeCroock)
- Remove
component.base(#4549, thanks @JoviDeCroock) - Remove SuspenseList (#4668, thanks @JoviDeCroock)
- Remove static dom bail (#4670, thanks @JoviDeCroock)
- Breaking changes to outputs & pkg.json (#4652, thanks @rschristian)
- Drop support for TS versions < 5.1 (#4788, thanks @rschristian)
- Remove all export maps in nested pkg.json files (#4784, thanks @rschristian)
- Remove deprecated 'ForwardFn' type from compat (#4777, thanks @rschristian)
Features
- Comment denoted hydration (#4636, thanks @JoviDeCroock)
- Forward ref by default (#4658, thanks @JoviDeCroock)
- Add
captureOwnerStack(#4875, thanks @colinaaa) - Add context argument to compat/Children map api (#3855, thanks @ParSal123)
- Export helper functions from
preact/debug(#4830, thanks @colinaaa) - Export test-utils from compat (#4783, thanks @rawrmonstar)
Types
- Require initial value in
useRef(#4683, thanks @rschristian) - Types w/ module augmentation (#4884, thanks @rschristian)
- Fix outdated public RefCallback type (#4801, thanks @developit)
- Export IntrinsicHTMLElements interface (#4885, thanks @edoardocavazza)
- Avoid breaking change for ARIA element types (#4882, thanks @rschristian)
- Move most interfaces out of the JSX namespace (#4878, thanks @rschristian)
- Make HTMLAttribute type declarations consistent (#4876, thanks @rschristian)
- Restrict aria roles by element type (#4607, thanks @rschristian)
- Add types for '/compat/server' & '/compat/scheduler' (#4835, thanks @rschristian)
Fixes
- Ensure memoized components re-render after errors (#4880, thanks @JoviDeCroock)
- Provide solution to long standing memleak (#4853, thanks @JoviDeCroock)
- Ensure we properly re-render bailing errored children (#4857, thanks @JoviDeCroock)
- Support alternative contentDocument (#4851, thanks @JoviDeCroock)
- Fix memory leak in VNode owner tracking (#4850, thanks @developit)
- Ensure 'compat/test-utils' exports match & are valid (#4834, thanks @rschristian)
- Fix signal attribute values not working with precompile transform (#4799, thanks @marvinhagemeister)
- Fix escape style object value in precompile transform (#4794, thanks @marvinhagemeister)
- Fix
_listenersmangle to reduce collisions (#4463, thanks @rschristian)
Performance
- Do not re-insert memoized vnodes that keep their relative order after swap (#4888, thanks @vasylenkoval)
- Call tolowercase only when needed (#4881, thanks @JoviDeCroock)
- Reduce some repeated logic (#4814, thanks @43081j)
- Golf down suspense (#4855, thanks @JoviDeCroock)
- Add flags for component type (#4867, thanks @JoviDeCroock)
Refactors
- DOM event name casing (#4843, thanks @rschristian)
- Improve accuracy of non-dimensional regex (#4772, thanks @rschristian)
- Skip dom check for inferring lower-cased event names (#4720, thanks @rschristian)
- Prune portal logic (#4667, thanks @JoviDeCroock)
- Switch to Object.is for hook args (#4663, thanks @rschristian)
- Remove
rerendercount(#4877, thanks @JoviDeCroock)
Testing & Development
- Bump testing/transpilation/formatting deps (#4858, thanks @JoviDeCroock)
- Upgrade oxlint to 1.8.0, fix errors (#4848, thanks @camc314)
- Add simple test for
unstable_batchedUpdateto improve coverage (#4842, thanks @rschristian) - Correct PR reporter filter for forks (#4828, thanks @rschristian)
- Remove sinon (#4820, thanks @43081j)
- Migrate compat tests to vitest spies (#4819, thanks @43081j)
- Migrate debug tests to vitest spies (#4817, thanks @43081j)
- Migrate hooks tests to vitest spies (#4816, thanks @43081j)
- Migrate lifecycle tests to use vitest spies (#4815, thanks @43081j)
- Migrate events/refs tests to vitest spies (#4813, thanks @43081j)
- Migrate more browser tests to use vitest spies (#4812, thanks @43081j)
- Migrate context tests to vitest spies (#4810, thanks @43081j)
- Migrate createContext test to use vitest spies (#4811, thanks @43081j)
- Migrate components tests to vitest spies (#4809, thanks @43081j)
- Use v8 coverage (#4807, thanks @43081j)
- Switch to playwright for browser tests (#4808, thanks @43081j)
- Migrate from mocha to vitest (#4806, thanks @43081j)
- Add test ensuring effects are cleaned up (#4792, thanks @JoviDeCroock)
- Avoid caching so file-saves work first try (#4786, thanks @JoviDeCroock)
- Bump browserslist (#4785, thanks @rschristian)
- Specify target browsers (#4773, thanks @rschristian)
- Remove extraneous pkg.json key (#4789, thanks @rschristian)
- Drop unused/broken test (#4653, thanks @rschristian)