riot/riot (riot)
### [`v9.1.8`](https://togithub.com/riot/riot/releases/tag/v9.1.8)
[Compare Source](https://togithub.com/riot/riot/compare/v9.1.7...v9.1.8)
- Update improve performance of internal array/object iterators
### [`v9.1.7`](https://togithub.com/riot/riot/releases/tag/v9.1.7)
[Compare Source](https://togithub.com/riot/riot/compare/v9.1.6...v9.1.7)
- Fix [https://github.com/riot/riot/issues/3011](https://togithub.com/riot/riot/issues/3011)
- Update github actions
- Fix small typos in comments
### [`v9.1.6`](https://togithub.com/riot/riot/releases/tag/v9.1.6)
[Compare Source](https://togithub.com/riot/riot/compare/v9.1.5...v9.1.6)
- Fix [https://github.com/riot/riot/issues/3004](https://togithub.com/riot/riot/issues/3004)
- Fix [https://github.com/riot/riot/issues/3003](https://togithub.com/riot/riot/issues/3003) and [https://github.com/riot/riot/issues/3005](https://togithub.com/riot/riot/issues/3005)
- Add expose more internal/private APIs [https://github.com/riot/riot/issues/2998](https://togithub.com/riot/riot/issues/2998) [https://github.com/riot/riot/pull/2999](https://togithub.com/riot/riot/pull/2999)
### [`v9.1.5`](https://togithub.com/riot/riot/releases/tag/v9.1.5)
[Compare Source](https://togithub.com/riot/riot/compare/v9.1.4...v9.1.5)
- Fix [https://github.com/riot/riot/issues/3000](https://togithub.com/riot/riot/issues/3000)
- Update dependencies
### [`v9.1.4`](https://togithub.com/riot/riot/releases/tag/v9.1.4)
[Compare Source](https://togithub.com/riot/riot/compare/v9.1.3...v9.1.4)
- Update riotjs dom bindings adding small optimizations and removing deprecated code to reduce the bundle size
- Update dev dependecies
### [`v9.1.3`](https://togithub.com/riot/riot/releases/tag/v9.1.3)
[Compare Source](https://togithub.com/riot/riot/compare/v9.1.2...v9.1.3)
- Fix recursive props rendering on the root node [https://github.com/riot/riot/issues/2994](https://togithub.com/riot/riot/issues/2994)
- Fix saucelabs crossbrowser tests [https://github.com/riot/riot/issues/2989](https://togithub.com/riot/riot/issues/2989)
- Replace the deprecated karmajs dependency with a custom setup
- Update dev dependencies
- Update eslint config supporting newer ecma versions
### [`v9.1.2`](https://togithub.com/riot/riot/releases/tag/v9.1.2)
[Compare Source](https://togithub.com/riot/riot/compare/v9.1.1...v9.1.2)
- Fix missing `@riotjs/dom-bindings` types
- Update dependencies
### [`v9.1.1`](https://togithub.com/riot/riot/releases/tag/v9.1.1)
[Compare Source](https://togithub.com/riot/riot/compare/v9.1.0...v9.1.1)
- Improve the order of the `exports` keys in the `package.json` file
### [`v9.1.0`](https://togithub.com/riot/riot/releases/tag/v9.1.0)
[Compare Source](https://togithub.com/riot/riot/compare/v9.0.4...v9.1.0)
- Improve compatibility with commonjs environments
- Improve the quality typescript declaration exports
- Update dev dependencies
### [`v9.0.4`](https://togithub.com/riot/riot/releases/tag/v9.0.4)
[Compare Source](https://togithub.com/riot/riot/compare/v9.0.3...v9.0.4)
- Fix [https://github.com/riot/riot/issues/2985](https://togithub.com/riot/riot/issues/2985)
- Fix [https://github.com/riot/riot/issues/2984](https://togithub.com/riot/riot/issues/2984)
- Fix [https://github.com/riot/riot/issues/2983](https://togithub.com/riot/riot/issues/2983)
### [`v9.0.3`](https://togithub.com/riot/riot/releases/tag/v9.0.3)
[Compare Source](https://togithub.com/riot/riot/compare/v9.0.2...v9.0.3)
- Fix disable the boolean attributes rendering on custom elements
- known boolean attributes are available only on existing html tags like `input` or `select`
### [`v9.0.2`](https://togithub.com/riot/riot/releases/tag/v9.0.2)
[Compare Source](https://togithub.com/riot/riot/compare/v9.0.1...v9.0.2)
- Update node engine `>=18.0.0` value in `package.json`
### [`v9.0.1`](https://togithub.com/riot/riot/releases/tag/v9.0.1)
[Compare Source](https://togithub.com/riot/riot/compare/v9.0.0...v9.0.1)
- Fix removal of falsy boolean attributes
### [`v9.0.0`](https://togithub.com/riot/riot/releases/tag/v9.0.0): Evergreen
[Compare Source](https://togithub.com/riot/riot/compare/v7.1.0...v9.0.0)
V9 is almost fully backward compatible with previous versions of Riot.js. However, a few breaking changes have been made, which are listed below:
- Fix [https://github.com/riot/riot/issues/2975](https://togithub.com/riot/riot/issues/2975)
- Use Module Syntax Exports
- Reduce library size to 5.8kb
- Use Prettier to format the codebase
- Discontinued support for node versions older than v18
- **Breaking Change**: Babel Code transpilation has been removed
- To target older browsers, you will need to transpile your Riot.js import within your app
- **Breaking Change**: *Non boolean falsy attributes* will no longer be removed; instead, use `null` or `undefined` (see also [https://github.com/riot/riot/issues/2975](https://togithub.com/riot/riot/issues/2975)). For example:
- `
` - `is-active` will no longer be removed. Use `
` instead
- Note that Riot.js will still automatically detect boolean attributes like `checked` or `selected` and in that case remove them with falsy values
Several ecosystem packages have received major updates and the rest will be updated soon. Future versions of Riot.js ecosystem packages will be synchronized to avoid confusion. To use Riot.js v9, ensure that you install only v9 [@riotjs](https://togithub.com/riotjs) packages.
### [`v7.1.0`](https://togithub.com/riot/riot/releases/tag/v7.1.0)
[Compare Source](https://togithub.com/riot/riot/compare/v7.0.7...v7.1.0)
- Fix [https://github.com/riot/riot/issues/2972](https://togithub.com/riot/riot/issues/2972)
- Fix [https://github.com/riot/riot/issues/2967](https://togithub.com/riot/riot/issues/2967) (enhance the previous patch)
- Fix [https://github.com/riot/riot/issues/2969](https://togithub.com/riot/riot/issues/2969)
- Update Riot.js has now 0 dependencies. All the needed dependencies will be bundled before the publishing on npm
- Update dev dependencies
### [`v7.0.7`](https://togithub.com/riot/riot/releases/tag/v7.0.7)
[Compare Source](https://togithub.com/riot/riot/compare/v7.0.6...v7.0.7)
- Fix [https://github.com/riot/riot/issues/2971](https://togithub.com/riot/riot/issues/2971)
- Fix [https://github.com/riot/riot/issues/2967](https://togithub.com/riot/riot/issues/2967) adding support for css complex pseudo selectors
- Fix `riot.version` wrong value in the `esm` export
- Fix circular dependencies
- Update improve rendering performance preferring loops over recursion for DOM manipulations
### [`v7.0.6`](https://togithub.com/riot/riot/releases/tag/v7.0.6)
[Compare Source](https://togithub.com/riot/riot/compare/v7.0.5...v7.0.6)
- Update improve the deno compatibility adding the file extension to the `esm` files imports
### [`v7.0.5`](https://togithub.com/riot/riot/releases/tag/v7.0.5)
[Compare Source](https://togithub.com/riot/riot/compare/v7.0.4...v7.0.5)
- Improve rendering performance
- Update development dependencies
### [`v7.0.4`](https://togithub.com/riot/riot/releases/tag/v7.0.4)
[Compare Source](https://togithub.com/riot/riot/compare/v7.0.3...v7.0.4)
- Fix [https://github.com/riot/riot/issues/2963](https://togithub.com/riot/riot/issues/2963)
### [`v7.0.3`](https://togithub.com/riot/riot/releases/tag/v7.0.3)
[Compare Source](https://togithub.com/riot/riot/compare/v7.0.2...v7.0.3)
- Fix [https://github.com/riot/riot/issues/2962](https://togithub.com/riot/riot/issues/2962)
- Improve memory and rendering performance of the dom-bindings
### [`v7.0.2`](https://togithub.com/riot/riot/releases/tag/v7.0.2)
[Compare Source](https://togithub.com/riot/riot/compare/v7.0.1...v7.0.2)
- Fix [https://github.com/riot/riot/issues/2961](https://togithub.com/riot/riot/issues/2961)
### [`v7.0.1`](https://togithub.com/riot/riot/releases/tag/v7.0.1)
[Compare Source](https://togithub.com/riot/riot/compare/v7.0.0...v7.0.1)
- Fix small bug computing text expressions in runtime slots
### [`v7.0.0`](https://togithub.com/riot/riot/releases/tag/v7.0.0)
[Compare Source](https://togithub.com/riot/riot/compare/v6.1.2...v7.0.0)
- Update: code cleanup to improve the `esm` bundle and treeshaking
- Remove: `riot.esm.js` in favor of the `esm` folder
- Add: runtime `slots` [https://github.com/riot/riot/discussions/2917](https://togithub.com/riot/riot/discussions/2917)
- The runtime slots are available in the `riot+compiler.js` bundle (A documentation update will be available soon)
- Update: [reduced bundle size](https://bundlephobia.com/package/riot@7.0.0) to 5kb riot.min.js gzipped
- Update: new Compiler (riot+compiler.js) bundle 50% lighter than the previous one
**Important: The documentation will be updated during the next few weeks, however no API breaking changes were introduced.**
### [`v6.1.2`](https://togithub.com/riot/riot/releases/tag/v6.1.2)
[Compare Source](https://togithub.com/riot/riot/compare/v6.1.1...v6.1.2)
- Fix [https://github.com/riot/riot/issues/2947](https://togithub.com/riot/riot/issues/2947)
### [`v6.1.1`](https://togithub.com/riot/riot/releases/tag/v6.1.1)
[Compare Source](https://togithub.com/riot/riot/compare/v6.1.0...v6.1.1)
- Fix compiler issues with object expressions [https://github.com/riot/compiler/issues/155](https://togithub.com/riot/compiler/issues/155)
### [`v6.1.0`](https://togithub.com/riot/riot/releases/tag/v6.1.0)
[Compare Source](https://togithub.com/riot/riot/compare/v6.0.4...v6.1.0)
- Update compiler
- Components output code will use modern javascript (like arrow functions) reducing heavily their size
- Components code output will be smaller due to compiler optimizations
- Update dependencies
### [`v6.0.4`](https://togithub.com/riot/riot/releases/tag/v6.0.4)
[Compare Source](https://togithub.com/riot/riot/compare/v6.0.3...v6.0.4)
- Update dependencies
- Fix [https://github.com/riot/riot/issues/2935](https://togithub.com/riot/riot/issues/2935)
- Fix [https://github.com/riot/riot/issues/2931](https://togithub.com/riot/riot/issues/2931)
### [`v6.0.3`](https://togithub.com/riot/riot/releases/tag/v6.0.3)
[Compare Source](https://togithub.com/riot/riot/compare/v6.0.2...v6.0.3)
- Fix tags with only named export statements. Their javascript will be properly generated also without an export default
- Update `@riotjs/dom-bindings` types adding better typescript support
### [`v6.0.2`](https://togithub.com/riot/riot/releases/tag/v6.0.2)
[Compare Source](https://togithub.com/riot/riot/compare/v6.0.1...v6.0.2)
- Fix small incompatibility with [@riotjs/lazy](https://togithub.com/riot/lazy)
### [`v6.0.1`](https://togithub.com/riot/riot/releases/tag/v6.0.1)
[Compare Source](https://togithub.com/riot/riot/compare/v6.0.0...v6.0.1)
- Update: update the `@riotjs/compiler` improving the typescript support for type aliases like export type ComponentInterface = RiotComponent\
### [`v6.0.0`](https://togithub.com/riot/riot/releases/tag/v6.0.0)
[Compare Source](https://togithub.com/riot/riot/compare/v5.4.5...v6.0.0)
- Add strict typescript support [https://github.com/riot/riot/pull/2912](https://togithub.com/riot/riot/pull/2912) **Breaking Change: the Riot.js types have been updated**
- Add fallback rendering for `slots` [https://github.com/riot/riot/issues/2920](https://togithub.com/riot/riot/issues/2920)
- Add typescript Parser as default compiler parser [https://github.com/riot/compiler/pull/149](https://togithub.com/riot/compiler/pull/149)
- Fix [https://github.com/riot/riot/issues/2925](https://togithub.com/riot/riot/issues/2925)
- Fix typescript compilation [https://github.com/riot/riot/issues/2926](https://togithub.com/riot/riot/issues/2926)
If you are not a typescript user this release doesn't introduce any braking change. If you are a typescript user you can start writing Riot.js components as follows
```riot
{ state.greeting }{ props.username }
```
Many thanks to https://github.com/kachurun for his help on this major release
### [`v5.4.5`](https://togithub.com/riot/riot/releases/tag/v5.4.5)
[Compare Source](https://togithub.com/riot/riot/compare/v5.4.4...v5.4.5)
- Fix [https://github.com/riot/riot/issues/2914](https://togithub.com/riot/riot/issues/2914) many thanks to [@kachurun](https://togithub.com/kachurun)
- Fix template tags rendering with empty DOM [https://github.com/riot/dom-bindings/pull/19](https://togithub.com/riot/dom-bindings/pull/19)
### [`v5.4.4`](https://togithub.com/riot/riot/releases/tag/v5.4.4)
[Compare Source](https://togithub.com/riot/riot/compare/v5.4.3...v5.4.4)
- Fix [https://github.com/riot/ssr/issues/23](https://togithub.com/riot/ssr/issues/23)
### [`v5.4.3`](https://togithub.com/riot/riot/releases/tag/v5.4.3)
[Compare Source](https://togithub.com/riot/riot/compare/v5.4.2...v5.4.3)
- Fix [https://github.com/riot/riot/issues/2913](https://togithub.com/riot/riot/issues/2913)
### [`v5.4.2`](https://togithub.com/riot/riot/releases/tag/v5.4.2)
[Compare Source](https://togithub.com/riot/riot/compare/v5.4.1...v5.4.2)
- Fix `mount`and `unmount` type declarations [https://github.com/riot/riot/pull/2909](https://togithub.com/riot/riot/pull/2909) [@kachurun](https://togithub.com/kachurun)
- Fix Parent Tag access in lifecycle events [https://github.com/riot/riot/pull/2910](https://togithub.com/riot/riot/pull/2910) [@kachurun](https://togithub.com/kachurun)
### [`v5.4.1`](https://togithub.com/riot/riot/releases/tag/v5.4.1)
[Compare Source](https://togithub.com/riot/riot/compare/v5.4.0...v5.4.1)
- Fix [https://github.com/riot/riot/issues/2908](https://togithub.com/riot/riot/issues/2908)
### [`v5.4.0`](https://togithub.com/riot/riot/releases/tag/v5.4.0)
[Compare Source](https://togithub.com/riot/riot/compare/v5.3.3...v5.4.0)
- Update: replace the compiler [`acorn`](https://www.npmjs.com/package/acorn) javascript parser with the (bigger but more modern) [`@babel/parser`](https://babeljs.io/docs/en/babel-parser)
- Add: typescript syntax support in Riot.js `
```
### [`v5.3.3`](https://togithub.com/riot/riot/releases/tag/v5.3.3)
[Compare Source](https://togithub.com/riot/riot/compare/v5.3.2...v5.3.3)
- Fix [https://github.com/riot/riot/issues/2902](https://togithub.com/riot/riot/issues/2902)
### [`v5.3.2`](https://togithub.com/riot/riot/releases/tag/v5.3.2)
[Compare Source](https://togithub.com/riot/riot/compare/v5.3.1...v5.3.2)
- Fix [https://github.com/riot/riot/issues/2901](https://togithub.com/riot/riot/issues/2901)
- Fix [https://github.com/riot/riot/issues/2900](https://togithub.com/riot/riot/issues/2900)
### [`v5.3.1`](https://togithub.com/riot/riot/releases/tag/v5.3.1)
[Compare Source](https://togithub.com/riot/riot/compare/v5.3.0...v5.3.1)
- Fix [https://github.com/riot/riot/issues/2895](https://togithub.com/riot/riot/issues/2895)
- Update improve compiler legacy syntax support. The following syntax is now also supported
```riot
{ state.message }
```
### [`v5.3.0`](https://togithub.com/riot/riot/releases/tag/v5.3.0)
[Compare Source](https://togithub.com/riot/riot/compare/v5.2.0...v5.3.0)
- Update improve support for legacy Riot.js syntax fixing some edge cases
- Update improve support for recursive tags
Now you can recursively render tags without having to [register them globally](https://togithub.com/riot/riot/issues/2896#issuecomment-773090308)
```riot
{ props.name }
```
### [`v5.2.0`](https://togithub.com/riot/riot/releases/tag/v5.2.0)
[Compare Source](https://togithub.com/riot/riot/compare/v5.1.4...v5.2.0)
- Add support for old style Riot.js syntax
Some liked more the old RIot.js syntax so you can now write components also as follows
```riot
{ state.message }
```
### [`v5.1.4`](https://togithub.com/riot/riot/releases/tag/v5.1.4)
[Compare Source](https://togithub.com/riot/riot/compare/v5.1.3...v5.1.4)
- Fix nested loops in looped `` fragments [https://github.com/riot/riot/issues/2892](https://togithub.com/riot/riot/issues/2892)
### [`v5.1.3`](https://togithub.com/riot/riot/releases/tag/v5.1.3)
[Compare Source](https://togithub.com/riot/riot/compare/v5.1.2...v5.1.3)
- Fix mitigate redering issues [https://github.com/riot/riot/issues/2892](https://togithub.com/riot/riot/issues/2892) issue (it's not completely fixed yet...)
### [`v5.1.2`](https://togithub.com/riot/riot/releases/tag/v5.1.2)
[Compare Source](https://togithub.com/riot/riot/compare/v5.1.1...v5.1.2)
- Update default project branch name `master` -> `main`
- Fix make sure pure components will not be automatically removed by Riot.js `if` or `each` directives
### [`v5.1.1`](https://togithub.com/riot/riot/releases/tag/v5.1.1)
[Compare Source](https://togithub.com/riot/riot/compare/v5.1.0...v5.1.1)
- Fix [https://github.com/riot/riot/issues/2889](https://togithub.com/riot/riot/issues/2889)
### [`v5.1.0`](https://togithub.com/riot/riot/releases/tag/v5.1.0)
[Compare Source](https://togithub.com/riot/riot/compare/v5.0.0...v5.1.0)
- Add support for `` slot tags [https://github.com/riot/riot/issues/2888](https://togithub.com/riot/riot/issues/2888)
- Add improve debugging support, allowing shortcuts for the use of `console` methods in expressions: Before `{window.console.log('hello')}` -> After `{console.log('hello')}`
- Improve rendering performance simplifying the compiler output
### [`v5.0.0`](https://togithub.com/riot/riot/releases/tag/v5.0.0)
[Compare Source](https://togithub.com/riot/riot/compare/v4.14.0...v5.0.0)
This release is completely backward compatible, make sure to update the `@riotjs/compiler@5.0.0` along with `riot@5.0.0`. All the Riot.js echosystem tools should keep working as expected without needing major release updates.
##### Changelog
- Replace the internal [domdiff](https://togithub.com/WebReflection/domdiff) rendering engine with a fork of [udomdiff](https://togithub.com/WebReflection/udomdiff)
- Improve rendering performance
- Improve library size (-1kb)
- Improve Riot.js is side-effect free. Supports ES2015 exports also, hence fully tree-shakeable
- Fix [https://github.com/riot/riot/issues/2878](https://togithub.com/riot/riot/issues/2878) browser globals in expressions are available only as `window` properties **breaking change**
old `{ location.href }` new `{ window.location.href }`
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
4.14.0
->9.1.8
Release Notes
riot/riot (riot)
### [`v9.1.8`](https://togithub.com/riot/riot/releases/tag/v9.1.8) [Compare Source](https://togithub.com/riot/riot/compare/v9.1.7...v9.1.8) - Update improve performance of internal array/object iterators ### [`v9.1.7`](https://togithub.com/riot/riot/releases/tag/v9.1.7) [Compare Source](https://togithub.com/riot/riot/compare/v9.1.6...v9.1.7) - Fix [https://github.com/riot/riot/issues/3011](https://togithub.com/riot/riot/issues/3011) - Update github actions - Fix small typos in comments ### [`v9.1.6`](https://togithub.com/riot/riot/releases/tag/v9.1.6) [Compare Source](https://togithub.com/riot/riot/compare/v9.1.5...v9.1.6) - Fix [https://github.com/riot/riot/issues/3004](https://togithub.com/riot/riot/issues/3004) - Fix [https://github.com/riot/riot/issues/3003](https://togithub.com/riot/riot/issues/3003) and [https://github.com/riot/riot/issues/3005](https://togithub.com/riot/riot/issues/3005) - Add expose more internal/private APIs [https://github.com/riot/riot/issues/2998](https://togithub.com/riot/riot/issues/2998) [https://github.com/riot/riot/pull/2999](https://togithub.com/riot/riot/pull/2999) ### [`v9.1.5`](https://togithub.com/riot/riot/releases/tag/v9.1.5) [Compare Source](https://togithub.com/riot/riot/compare/v9.1.4...v9.1.5) - Fix [https://github.com/riot/riot/issues/3000](https://togithub.com/riot/riot/issues/3000) - Update dependencies ### [`v9.1.4`](https://togithub.com/riot/riot/releases/tag/v9.1.4) [Compare Source](https://togithub.com/riot/riot/compare/v9.1.3...v9.1.4) - Update riotjs dom bindings adding small optimizations and removing deprecated code to reduce the bundle size - Update dev dependecies ### [`v9.1.3`](https://togithub.com/riot/riot/releases/tag/v9.1.3) [Compare Source](https://togithub.com/riot/riot/compare/v9.1.2...v9.1.3) - Fix recursive props rendering on the root node [https://github.com/riot/riot/issues/2994](https://togithub.com/riot/riot/issues/2994) - Fix saucelabs crossbrowser tests [https://github.com/riot/riot/issues/2989](https://togithub.com/riot/riot/issues/2989) - Replace the deprecated karmajs dependency with a custom setup - Update dev dependencies - Update eslint config supporting newer ecma versions ### [`v9.1.2`](https://togithub.com/riot/riot/releases/tag/v9.1.2) [Compare Source](https://togithub.com/riot/riot/compare/v9.1.1...v9.1.2) - Fix missing `@riotjs/dom-bindings` types - Update dependencies ### [`v9.1.1`](https://togithub.com/riot/riot/releases/tag/v9.1.1) [Compare Source](https://togithub.com/riot/riot/compare/v9.1.0...v9.1.1) - Improve the order of the `exports` keys in the `package.json` file ### [`v9.1.0`](https://togithub.com/riot/riot/releases/tag/v9.1.0) [Compare Source](https://togithub.com/riot/riot/compare/v9.0.4...v9.1.0) - Improve compatibility with commonjs environments - Improve the quality typescript declaration exports - Update dev dependencies ### [`v9.0.4`](https://togithub.com/riot/riot/releases/tag/v9.0.4) [Compare Source](https://togithub.com/riot/riot/compare/v9.0.3...v9.0.4) - Fix [https://github.com/riot/riot/issues/2985](https://togithub.com/riot/riot/issues/2985) - Fix [https://github.com/riot/riot/issues/2984](https://togithub.com/riot/riot/issues/2984) - Fix [https://github.com/riot/riot/issues/2983](https://togithub.com/riot/riot/issues/2983) ### [`v9.0.3`](https://togithub.com/riot/riot/releases/tag/v9.0.3) [Compare Source](https://togithub.com/riot/riot/compare/v9.0.2...v9.0.3) - Fix disable the boolean attributes rendering on custom elements - known boolean attributes are available only on existing html tags like `input` or `select` ### [`v9.0.2`](https://togithub.com/riot/riot/releases/tag/v9.0.2) [Compare Source](https://togithub.com/riot/riot/compare/v9.0.1...v9.0.2) - Update node engine `>=18.0.0` value in `package.json` ### [`v9.0.1`](https://togithub.com/riot/riot/releases/tag/v9.0.1) [Compare Source](https://togithub.com/riot/riot/compare/v9.0.0...v9.0.1) - Fix removal of falsy boolean attributes ### [`v9.0.0`](https://togithub.com/riot/riot/releases/tag/v9.0.0): Evergreen [Compare Source](https://togithub.com/riot/riot/compare/v7.1.0...v9.0.0) V9 is almost fully backward compatible with previous versions of Riot.js. However, a few breaking changes have been made, which are listed below: - Fix [https://github.com/riot/riot/issues/2975](https://togithub.com/riot/riot/issues/2975) - Use Module Syntax Exports - Reduce library size to 5.8kb - Use Prettier to format the codebase - Discontinued support for node versions older than v18 - **Breaking Change**: Babel Code transpilation has been removed - To target older browsers, you will need to transpile your Riot.js import within your app - **Breaking Change**: *Non boolean falsy attributes* will no longer be removed; instead, use `null` or `undefined` (see also [https://github.com/riot/riot/issues/2975](https://togithub.com/riot/riot/issues/2975)). For example: - `` - `is-active` will no longer be removed. Use `
` instead - Note that Riot.js will still automatically detect boolean attributes like `checked` or `selected` and in that case remove them with falsy values Several ecosystem packages have received major updates and the rest will be updated soon. Future versions of Riot.js ecosystem packages will be synchronized to avoid confusion. To use Riot.js v9, ensure that you install only v9 [@riotjs](https://togithub.com/riotjs) packages. ### [`v7.1.0`](https://togithub.com/riot/riot/releases/tag/v7.1.0) [Compare Source](https://togithub.com/riot/riot/compare/v7.0.7...v7.1.0) - Fix [https://github.com/riot/riot/issues/2972](https://togithub.com/riot/riot/issues/2972) - Fix [https://github.com/riot/riot/issues/2967](https://togithub.com/riot/riot/issues/2967) (enhance the previous patch) - Fix [https://github.com/riot/riot/issues/2969](https://togithub.com/riot/riot/issues/2969) - Update Riot.js has now 0 dependencies. All the needed dependencies will be bundled before the publishing on npm - Update dev dependencies ### [`v7.0.7`](https://togithub.com/riot/riot/releases/tag/v7.0.7) [Compare Source](https://togithub.com/riot/riot/compare/v7.0.6...v7.0.7) - Fix [https://github.com/riot/riot/issues/2971](https://togithub.com/riot/riot/issues/2971) - Fix [https://github.com/riot/riot/issues/2967](https://togithub.com/riot/riot/issues/2967) adding support for css complex pseudo selectors - Fix `riot.version` wrong value in the `esm` export - Fix circular dependencies - Update improve rendering performance preferring loops over recursion for DOM manipulations ### [`v7.0.6`](https://togithub.com/riot/riot/releases/tag/v7.0.6) [Compare Source](https://togithub.com/riot/riot/compare/v7.0.5...v7.0.6) - Update improve the deno compatibility adding the file extension to the `esm` files imports ### [`v7.0.5`](https://togithub.com/riot/riot/releases/tag/v7.0.5) [Compare Source](https://togithub.com/riot/riot/compare/v7.0.4...v7.0.5) - Improve rendering performance - Update development dependencies ### [`v7.0.4`](https://togithub.com/riot/riot/releases/tag/v7.0.4) [Compare Source](https://togithub.com/riot/riot/compare/v7.0.3...v7.0.4) - Fix [https://github.com/riot/riot/issues/2963](https://togithub.com/riot/riot/issues/2963) ### [`v7.0.3`](https://togithub.com/riot/riot/releases/tag/v7.0.3) [Compare Source](https://togithub.com/riot/riot/compare/v7.0.2...v7.0.3) - Fix [https://github.com/riot/riot/issues/2962](https://togithub.com/riot/riot/issues/2962) - Improve memory and rendering performance of the dom-bindings ### [`v7.0.2`](https://togithub.com/riot/riot/releases/tag/v7.0.2) [Compare Source](https://togithub.com/riot/riot/compare/v7.0.1...v7.0.2) - Fix [https://github.com/riot/riot/issues/2961](https://togithub.com/riot/riot/issues/2961) ### [`v7.0.1`](https://togithub.com/riot/riot/releases/tag/v7.0.1) [Compare Source](https://togithub.com/riot/riot/compare/v7.0.0...v7.0.1) - Fix small bug computing text expressions in runtime slots ### [`v7.0.0`](https://togithub.com/riot/riot/releases/tag/v7.0.0) [Compare Source](https://togithub.com/riot/riot/compare/v6.1.2...v7.0.0) - Update: code cleanup to improve the `esm` bundle and treeshaking - Remove: `riot.esm.js` in favor of the `esm` folder - Add: runtime `slots` [https://github.com/riot/riot/discussions/2917](https://togithub.com/riot/riot/discussions/2917) - The runtime slots are available in the `riot+compiler.js` bundle (A documentation update will be available soon) - Update: [reduced bundle size](https://bundlephobia.com/package/riot@7.0.0) to 5kb riot.min.js gzipped - Update: new Compiler (riot+compiler.js) bundle 50% lighter than the previous one **Important: The documentation will be updated during the next few weeks, however no API breaking changes were introduced.** ### [`v6.1.2`](https://togithub.com/riot/riot/releases/tag/v6.1.2) [Compare Source](https://togithub.com/riot/riot/compare/v6.1.1...v6.1.2) - Fix [https://github.com/riot/riot/issues/2947](https://togithub.com/riot/riot/issues/2947) ### [`v6.1.1`](https://togithub.com/riot/riot/releases/tag/v6.1.1) [Compare Source](https://togithub.com/riot/riot/compare/v6.1.0...v6.1.1) - Fix compiler issues with object expressions [https://github.com/riot/compiler/issues/155](https://togithub.com/riot/compiler/issues/155) ### [`v6.1.0`](https://togithub.com/riot/riot/releases/tag/v6.1.0) [Compare Source](https://togithub.com/riot/riot/compare/v6.0.4...v6.1.0) - Update compiler - Components output code will use modern javascript (like arrow functions) reducing heavily their size - Components code output will be smaller due to compiler optimizations - Update dependencies ### [`v6.0.4`](https://togithub.com/riot/riot/releases/tag/v6.0.4) [Compare Source](https://togithub.com/riot/riot/compare/v6.0.3...v6.0.4) - Update dependencies - Fix [https://github.com/riot/riot/issues/2935](https://togithub.com/riot/riot/issues/2935) - Fix [https://github.com/riot/riot/issues/2931](https://togithub.com/riot/riot/issues/2931) ### [`v6.0.3`](https://togithub.com/riot/riot/releases/tag/v6.0.3) [Compare Source](https://togithub.com/riot/riot/compare/v6.0.2...v6.0.3) - Fix tags with only named export statements. Their javascript will be properly generated also without an export default - Update `@riotjs/dom-bindings` types adding better typescript support ### [`v6.0.2`](https://togithub.com/riot/riot/releases/tag/v6.0.2) [Compare Source](https://togithub.com/riot/riot/compare/v6.0.1...v6.0.2) - Fix small incompatibility with [@riotjs/lazy](https://togithub.com/riot/lazy) ### [`v6.0.1`](https://togithub.com/riot/riot/releases/tag/v6.0.1) [Compare Source](https://togithub.com/riot/riot/compare/v6.0.0...v6.0.1) - Update: update the `@riotjs/compiler` improving the typescript support for type aliases like export type ComponentInterface = RiotComponent\
### [`v6.0.0`](https://togithub.com/riot/riot/releases/tag/v6.0.0)
[Compare Source](https://togithub.com/riot/riot/compare/v5.4.5...v6.0.0)
- Add strict typescript support [https://github.com/riot/riot/pull/2912](https://togithub.com/riot/riot/pull/2912) **Breaking Change: the Riot.js types have been updated**
- Add fallback rendering for `slots` [https://github.com/riot/riot/issues/2920](https://togithub.com/riot/riot/issues/2920)
- Add typescript Parser as default compiler parser [https://github.com/riot/compiler/pull/149](https://togithub.com/riot/compiler/pull/149)
- Fix [https://github.com/riot/riot/issues/2925](https://togithub.com/riot/riot/issues/2925)
- Fix typescript compilation [https://github.com/riot/riot/issues/2926](https://togithub.com/riot/riot/issues/2926)
If you are not a typescript user this release doesn't introduce any braking change. If you are a typescript user you can start writing Riot.js components as follows
```riot
```
Many thanks to https://github.com/kachurun for his help on this major release
### [`v5.4.5`](https://togithub.com/riot/riot/releases/tag/v5.4.5)
[Compare Source](https://togithub.com/riot/riot/compare/v5.4.4...v5.4.5)
- Fix [https://github.com/riot/riot/issues/2914](https://togithub.com/riot/riot/issues/2914) many thanks to [@kachurun](https://togithub.com/kachurun)
- Fix template tags rendering with empty DOM [https://github.com/riot/dom-bindings/pull/19](https://togithub.com/riot/dom-bindings/pull/19)
### [`v5.4.4`](https://togithub.com/riot/riot/releases/tag/v5.4.4)
[Compare Source](https://togithub.com/riot/riot/compare/v5.4.3...v5.4.4)
- Fix [https://github.com/riot/ssr/issues/23](https://togithub.com/riot/ssr/issues/23)
### [`v5.4.3`](https://togithub.com/riot/riot/releases/tag/v5.4.3)
[Compare Source](https://togithub.com/riot/riot/compare/v5.4.2...v5.4.3)
- Fix [https://github.com/riot/riot/issues/2913](https://togithub.com/riot/riot/issues/2913)
### [`v5.4.2`](https://togithub.com/riot/riot/releases/tag/v5.4.2)
[Compare Source](https://togithub.com/riot/riot/compare/v5.4.1...v5.4.2)
- Fix `mount`and `unmount` type declarations [https://github.com/riot/riot/pull/2909](https://togithub.com/riot/riot/pull/2909) [@kachurun](https://togithub.com/kachurun)
- Fix Parent Tag access in lifecycle events [https://github.com/riot/riot/pull/2910](https://togithub.com/riot/riot/pull/2910) [@kachurun](https://togithub.com/kachurun)
### [`v5.4.1`](https://togithub.com/riot/riot/releases/tag/v5.4.1)
[Compare Source](https://togithub.com/riot/riot/compare/v5.4.0...v5.4.1)
- Fix [https://github.com/riot/riot/issues/2908](https://togithub.com/riot/riot/issues/2908)
### [`v5.4.0`](https://togithub.com/riot/riot/releases/tag/v5.4.0)
[Compare Source](https://togithub.com/riot/riot/compare/v5.3.3...v5.4.0)
- Update: replace the compiler [`acorn`](https://www.npmjs.com/package/acorn) javascript parser with the (bigger but more modern) [`@babel/parser`](https://babeljs.io/docs/en/babel-parser)
- Add: typescript syntax support in Riot.js `
```
### [`v5.3.3`](https://togithub.com/riot/riot/releases/tag/v5.3.3)
[Compare Source](https://togithub.com/riot/riot/compare/v5.3.2...v5.3.3)
- Fix [https://github.com/riot/riot/issues/2902](https://togithub.com/riot/riot/issues/2902)
### [`v5.3.2`](https://togithub.com/riot/riot/releases/tag/v5.3.2)
[Compare Source](https://togithub.com/riot/riot/compare/v5.3.1...v5.3.2)
- Fix [https://github.com/riot/riot/issues/2901](https://togithub.com/riot/riot/issues/2901)
- Fix [https://github.com/riot/riot/issues/2900](https://togithub.com/riot/riot/issues/2900)
### [`v5.3.1`](https://togithub.com/riot/riot/releases/tag/v5.3.1)
[Compare Source](https://togithub.com/riot/riot/compare/v5.3.0...v5.3.1)
- Fix [https://github.com/riot/riot/issues/2895](https://togithub.com/riot/riot/issues/2895)
- Update improve compiler legacy syntax support. The following syntax is now also supported
```riot
```
### [`v5.3.0`](https://togithub.com/riot/riot/releases/tag/v5.3.0)
[Compare Source](https://togithub.com/riot/riot/compare/v5.2.0...v5.3.0)
- Update improve support for legacy Riot.js syntax fixing some edge cases
- Update improve support for recursive tags
Now you can recursively render tags without having to [register them globally](https://togithub.com/riot/riot/issues/2896#issuecomment-773090308)
```riot
```
### [`v5.2.0`](https://togithub.com/riot/riot/releases/tag/v5.2.0)
[Compare Source](https://togithub.com/riot/riot/compare/v5.1.4...v5.2.0)
- Add support for old style Riot.js syntax
Some liked more the old RIot.js syntax so you can now write components also as follows
```riot
```
### [`v5.1.4`](https://togithub.com/riot/riot/releases/tag/v5.1.4)
[Compare Source](https://togithub.com/riot/riot/compare/v5.1.3...v5.1.4)
- Fix nested loops in looped `` fragments [https://github.com/riot/riot/issues/2892](https://togithub.com/riot/riot/issues/2892)
### [`v5.1.3`](https://togithub.com/riot/riot/releases/tag/v5.1.3)
[Compare Source](https://togithub.com/riot/riot/compare/v5.1.2...v5.1.3)
- Fix mitigate redering issues [https://github.com/riot/riot/issues/2892](https://togithub.com/riot/riot/issues/2892) issue (it's not completely fixed yet...)
### [`v5.1.2`](https://togithub.com/riot/riot/releases/tag/v5.1.2)
[Compare Source](https://togithub.com/riot/riot/compare/v5.1.1...v5.1.2)
- Update default project branch name `master` -> `main`
- Fix make sure pure components will not be automatically removed by Riot.js `if` or `each` directives
### [`v5.1.1`](https://togithub.com/riot/riot/releases/tag/v5.1.1)
[Compare Source](https://togithub.com/riot/riot/compare/v5.1.0...v5.1.1)
- Fix [https://github.com/riot/riot/issues/2889](https://togithub.com/riot/riot/issues/2889)
### [`v5.1.0`](https://togithub.com/riot/riot/releases/tag/v5.1.0)
[Compare Source](https://togithub.com/riot/riot/compare/v5.0.0...v5.1.0)
- Add support for `` slot tags [https://github.com/riot/riot/issues/2888](https://togithub.com/riot/riot/issues/2888)
- Add improve debugging support, allowing shortcuts for the use of `console` methods in expressions: Before `{window.console.log('hello')}` -> After `{console.log('hello')}`
- Improve rendering performance simplifying the compiler output
### [`v5.0.0`](https://togithub.com/riot/riot/releases/tag/v5.0.0)
[Compare Source](https://togithub.com/riot/riot/compare/v4.14.0...v5.0.0)
This release is completely backward compatible, make sure to update the `@riotjs/compiler@5.0.0` along with `riot@5.0.0`. All the Riot.js echosystem tools should keep working as expected without needing major release updates.
##### Changelog
- Replace the internal [domdiff](https://togithub.com/WebReflection/domdiff) rendering engine with a fork of [udomdiff](https://togithub.com/WebReflection/udomdiff)
- Improve rendering performance
- Improve library size (-1kb)
- Improve Riot.js is side-effect free. Supports ES2015 exports also, hence fully tree-shakeable
- Fix [https://github.com/riot/riot/issues/2878](https://togithub.com/riot/riot/issues/2878) browser globals in expressions are available only as `window` properties **breaking change**
old `{ location.href }` new `{ window.location.href }`
{ state.greeting }{ props.username }
{ state.message }
{ props.name }
{ state.message }
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.