Back to Mithril Js

Release v2.3.8

docs/recent-changes.md

2.3.849.7 KB
Original Source

Release v2.3.8

Patch Changes

refactor execSelector (@kfule)

Make vnode.domSize assignment consistent between create and update. (@kfule)

This PR makes the code and behavior of create and update processes more consistent.

Bump rimraf from 6.0.1 to 6.1.0 in the normal group (@dependabot[bot])

Bumps the normal group with 1 update: rimraf. Updates rimraf from 6.0.1 to 6.1.0. Changelog. Sourced from rimraf's changelog.

Fix URI decoder bug and reduce bundle size through module tailoring and cleanup (@kfule)

This fixes the URI decoder used in the Router to decode more strictly.

refactor Vnode.normalizeChildren (@kfule)

Vnode.normalizeChildren now preallocates the array length and performs key-consistency checks after normalization.

Bump actions/setup-node from 5 to 6 in the normal group (@dependabot[bot])

Bumps the normal group with 1 update: actions/setup-node. Updates actions/setup-node from 5 to 6. Release notes.

Bump actions/setup-node from 4 to 5 in the normal group (@dependabot[bot])

Bumps the normal group with 1 update: actions/setup-node. Updates actions/setup-node from 4 to 5. Release notes.

docs: edited the link to the build badge (@Olexandr88)

Release v2.3.7

Patch Changes

Make the attrs of non-element vnodes always non-null. (@kfule)

In #3041, it seemed that the case of non-element vnodes was not fully considered in terms of not breaking existing behavior.

Release v2.3.6

Patch Changes

Make the attrs of non-element vnodes always non-null. (@kfule)

In #3041, it seemed that the case of non-element vnodes was not fully considered in terms of not breaking existing behavior.

Release v2.3.5

Patch Changes

Assorted Performance Improvements (@kfule)

This PR improves performance through the following changes: Adoption of the spread syntax, which can be optimized in modern browsers.

Bump actions/checkout from 4 to 5 in the normal group (@dependabot[bot])

Bumps the normal group with 1 update: actions/checkout. Updates actions/checkout from 4 to 5. Release notes.

Release v2.3.4

Patch Changes

Fix the error message selection condition (@dead-claudia)

The previous condition was basically "if this is non-nullish or a boolean". That "or a boolean" is very obviously redundant.

bundler: fix mangled comments and double suffixes (@kfule)

This PR removes unnecessary suffixes from comments in the bundle file. It also fixes the strange double suffix (mountRedraw00).

Release v2.3.3

Patch Changes

router: delay mounting RouterRoot until the first route is resolved (fixes #2621) (@kfule)

This PR delays the initial mounting of the router component until after the route has been resolved.

Bump glob from 11.0.2 to 11.0.3 in the normal group (@dependabot[bot])

Bumps the normal group with 1 update: glob. Updates glob from 11.0.2 to 11.0.3. Commits. af2e7ce 11.0.3.

Release v2.3.2

Patch Changes

Refactor router, fixes #2505 and #2778 (@kfule)

This PR refactors the router code to fix two issues (#2505 and #2778).

Release v2.3.1

Patch Changes

set trailing slash optional in route matching (@touletan)

Regexp has been updated to set trailing slash as optional in route matching. link to issue 3024. New test has been added.

Release v2.3.0

Minor Changes

feat: Make redraws when Promises returned by event handlers are completed (@kfule)

This PR allows redraw on completion of the async event handler. This PR makes redraws when Promises returned by event handlers are completed.

Patch Changes

Allow additional async redraw even if the first redraw is skipped (@kfule)

This PR allows asynchronous redraw processing even if the first redraw is skipped by setting event.redraw=false before await in the async function.

Bump glob from 11.0.1 to 11.0.2 in the normal group (@dependabot[bot])

Bumps the normal group with 1 update: glob. Updates glob from 11.0.1 to 11.0.2. Commits. fd61f24 11.0.2.

Fix badge for build status (@kfule)

The URL for the Shields.io badge for build status has been corrected.

Release v2.2.15

Patch Changes

[refactor] Limit the condition of the option tag to selected attribute in isFormAttribute() (@kfule)

This PR limits the evaluation of whether a tag is option to only when setting the selected attribute.

test-perf: Load Benckmark.js first in Node.js (@kfule)

Since Node21, global.navigator has been implemented, and together with browserMock, Benchmark.js incorrectly identifies the execution environment as a browser.

Release v2.2.14

Patch Changes

Improve handling of is-elements and Fix tiny bugs of setAttr()/updateStyle() (@kfule)

Fixes a few tiny bugs in attributes and style properties updates, and improves handling of is-elements in updateNode().

domFor: always get generation from delayedRemoval instead of parameter (@kfule)

The generation of domFor is no longer passed as a parameter. This allows domFor to work well in onbeforeremove and onremove and reduces the amount of code.

render: wrap stateResult and attrsResult in Promise.resolve(), fix #2592 (@kfule)

This PR wraps the return value of onbeforeremove in Promise.resolve(). This ensures that thenable objects are also always processed asynchronously. fix #2592.

Release v2.2.13

Patch Changes

Fix form checkValidity(), remove vnode.dom === .activeElement from setAttr() (Continued from #2257) (@kfule)

Remove vnode.dom === activeElement(vnode.dom) from setAttribute() to fix validityCheck(), to fix https://github.com/MithrilJS/mithril.js/issues/2256.

Bump glob from 11.0.0 to 11.0.1 in the normal group (@dependabot[bot])

Bumps the normal group with 1 update: glob. Updates glob from 11.0.0 to 11.0.1. Commits. 148ef61 11.0.1.

Release v2.2.12

Patch Changes

disable Terser's "reduce_funcs" option for performance (@kfule)

Terser's “reduce_funcs” option seems to degrade performance. So, disable it.

Bump chokidar from 4.0.1 to 4.0.3 in the normal group across 1 directory (@dependabot[bot])

Bumps the normal group with 1 update in the / directory: chokidar. Updates chokidar from 4.0.1 to 4.0.3. Release notes.

Release v2.2.11

Patch Changes

Use new pr-release prerelease hook (Fixes #2987) (@JAForbes)

Per @dead-claudia's suggestion, pr-release now allows you to invoke a custom command before creating the github release.

updateStyle(): use setProperty() when css vars and dashed-properties, fixes #2989 (@kfule)

This PR changes updateStyle() to use setProperty() for dashed-properties. This PR maybe fixes #2989.

Delete .github/ISSUE_TEMPLATE/0-docs.yml (@dead-claudia)

Do a much better job discouraging filing docs bugs here.

Release v2.2.10

Patch Changes

[refactor] Performance improvement of updateStyle() (@kfule)

This is a refactoring to improve the performance of updateStyle().

Release v2.2.9

Patch Changes

[refactor] Refactoring of hyperscript.js and render.js, including performance improvements (@kfule)

Refactor hyperscript.js and render.js. In particular, the replacement of fix #2622 appears to have significantly improved the performance regression.

Release v2.2.8

Patch Changes

m.domFor(): workaround for unintentional mangling. Fix #2842 (@kfule)

Refactoring of domFor() for the internal bundler. https://github.com/MithrilJS/mithril.js/blob/cfa890f68571df1ab8543097f7fa61c34ee93683/mithril.js#L157.

Drop Istanbul to kill install warnings (@dead-claudia)

Title's pretty self-explanatory. Also, this isn't really used much in practice. From a local run: ```. $ npm ci.

Release v2.2.7

Patch Changes

m.domFor(): workaround for unintentional mangling. Fix #2842 (@kfule)

Refactoring of domFor() for the internal bundler. https://github.com/MithrilJS/mithril.js/blob/cfa890f68571df1ab8543097f7fa61c34ee93683/mithril.js#L157.

Drop Istanbul to kill install warnings (@dead-claudia)

Title's pretty self-explanatory. Also, this isn't really used much in practice. From a local run: ```. $ npm ci.

Release v2.2.6

Patch Changes

m.domFor(): workaround for unintentional mangling. Fix #2842 (@kfule)

Refactoring of domFor() for the internal bundler. https://github.com/MithrilJS/mithril.js/blob/cfa890f68571df1ab8543097f7fa61c34ee93683/mithril.js#L157.

Drop Istanbul to kill install warnings (@dead-claudia)

Title's pretty self-explanatory. Also, this isn't really used much in practice. From a local run: ```. $ npm ci.

Release v2.2.5

Patch Changes

Bump the normal group across 1 directory with 2 updates (@dependabot[bot])

Bumps the normal group with 2 updates in the / directory: chokidar and eslint.

Cleaning up code by making vnode.attrs always non-null (@kfule)

Commit f9e5163 made vnode.attrs always non-null, so there is no need for code to make vnode.attrs null or assume vnode.attrs is null.

Release v2.2.4

Patch Changes

Bump gh-pages from 2.1.1 to 5.0.0 (@dependabot[bot])

Bumps gh-pages from 2.1.1 to 5.0.0. Release notes. Sourced from gh-pages's releases. v5.0.0.

Bump @babel/parser from 7.7.5 to 7.25.6 (@dependabot[bot])

Bumps @babel/parser from 7.7.5 to 7.25.6. Release notes. Sourced from @​babel/parser's releases.

Bump minimatch from 3.0.4 to 3.1.2 (@dependabot[bot])

Bumps minimatch from 3.0.4 to 3.1.2. Commits. 699c459 3.1.2. 2f2b5ff fix: trim pattern. 25d7c0d 3.1.1.

Bump yaml and lint-staged (@dependabot[bot])

Bumps yaml to 2.2.2 and updates ancestor dependency lint-staged.

Bump gh-pages from 5.0.0 to 6.1.1 (@dependabot[bot])

Bumps gh-pages from 5.0.0 to 6.1.1. Release notes. Sourced from gh-pages's releases. v6.1.1. Fixes.

Bump glob from 7.1.4 to 11.0.0 (@dependabot[bot])

Bumps glob from 7.1.4 to 11.0.0. Changelog. Sourced from glob's changelog. changeglob. 11.0. Drop support for node before v20.

Bump rimraf from 3.0.2 to 6.0.1 (@dependabot[bot])

Bumps rimraf from 3.0.2 to 6.0.1. Changelog. Sourced from rimraf's changelog. 6.0. Drop support for nodes before v20.

Bump lint-staged from 13.2.1 to 15.2.10 (@dependabot[bot])

[//]: # (dependabot-start). ⚠️ Dependabot is rebasing this PR ⚠️. Rebasing might not happen immediately, so don't worry if this takes some time.

Revise issue templates (@dead-claudia)

Update ospec and a few other dependencies (@dead-claudia)

  1. Update ospec to the version I just published. 2.

Fix some outstanding bugs in the docs linter. (@dead-claudia)

Missed an edge case in the task queue, and I also wanted to fully dedupe network requests. Locally it passes.

Rewrite docs linter, ease JSFiddle request debugging (@dead-claudia)

I'll defer to the commit descriptions. They're self-descriptive. The first diff is quite large.

Update vnodes.md (@dead-claudia)

Fix a broken link. Did some further digging (it's been a while since I've played with the scripts) and found that the JSFiddle errors are just warnings.

Migrate to Node 20, clean up workflows (@dead-claudia)

Note: ignore the commits. It's a mess. Just read the combined diff - the PR itself is the standalone unit. I plan to squash this as I merge anyways..

Remove dependance on global window and document (@KoryNunn)

Use window and document from render target instead of using globals. This makes unit and intergration testing much easier.

Bump braces from 3.0.2 to 3.0.3 (@dependabot[bot])

Bumps braces from 3.0.2 to 3.0.3. Commits. 74b2db2 3.0.3. 88f1429 update eslint. lint, fix unit tests.

Tweak docs with warning to fix #2508 (@dead-claudia)

[z] Documentation change. [z] My change requires a change to the documentation. [z] I have updated the documentation accordingly.

Bump qs from 6.5.2 to 6.5.3 (@dependabot[bot])

Bumps qs from 6.5.2 to 6.5.3. Changelog. Sourced from qs's changelog. 6.5.3. [Fix] parse: ignore proto keys (#428).

Temporarily host REM on fly to fix the docs (@JAForbes)

Fixes REM examples in the docs. The documentation currently has a dead link as REM is no longer hosted on heroku.

Move from individual code owners to just pinging all collaborators (@dead-claudia)

Most collaborators have commit access, and it'd make it a little easier (and more likely) for pull requests to get reviewed.

docs: absolute url in version selector to avoid 404 errors (2 of 2) (@tbreuss)

Fixes #2832 (2 of 2 pull requests). See my comment at https://github.com/MithrilJS/mithril.js/pull/2835#issuecomment-1535657892.

fix markdown editor example, bump marked.js version up (@tbreuss)

Fixes the strange behavior of markdown editor example. Using newest version of marked.js, fixed strange behavior of markdown editor example. See #2845.

Bump word-wrap from 1.2.3 to 1.2.4 (@dependabot[bot])

Bumps word-wrap from 1.2.3 to 1.2.4. Release notes. Sourced from word-wrap's releases. 1.2.4. What's Changed.

Add missing m.censor to API navigation (@dead-claudia)

Not sure how I forgot about this when I added the method.

docs: fix regex for parsing page title (@tbreuss)

Fixes https://github.com/MithrilJS/mithril.js/issues/2833. I tested the generated documentation on my dev machine successfully.

docs: fix broken anchor link on github/npm (@tbreuss)

Fixed a not working anchor link on github and npm by removing the question mark.

hyperscript: handles shared empty attrs, fixes #2821 (@kfule)

Whenever there are selector-derived attrs, the attrs object will be regenerated and not shared.

Fix typos in stream() docs (@mtsknn)

Noticed these typos while reading through the page.

Bump async from 2.6.3 to 2.6.4 (@dependabot[bot])

Bumps async from 2.6.3 to 2.6.4. Changelog. Sourced from async's changelog. v2.6.4.

Release v2.2.3

Patch Changes

Use markdown for the README badges (@pygy)

Use markdown for the README badges.

Release v2.2.2

Patch Changes

Use markdown for the README badges (@pygy)

Use markdown for the README badges.

Release v2.2.1

Patch Changes

Move the chat to Zulip (@pygy)

This updates the documentation to link to the new Zulip chat room.

Release v2.2.0

Minor Changes

m.censor: work around a bunder bug (@kfule)

The internal bundler sometimes mangles the words in RegExp literals incorrectly. Please see below.

Warn about reusing mutated attrs object - fixes #2719 (@StephanHoyer)

Send URLSearchParams as request body without extra configuration (@Coteh)

This PR fixes an oddity I noticed in the way m.request handles URLSearchParams object. It now handles it in the same sort of way XHR and Fetch do it.

Add params: to m.route.Link, fix docs (@dead-claudia)

Add params: to m.route.Link. Minor fix to docs to reflect reality with m.route.Link's disabled: attribute.

Allow Mithril to be loaded in non-browser environments without modification (@dead-claudia)

Recast the global reads to all be guarded with typeof, so that if they aren't defined, they're just null.

Add a m.Fragment = "[" utility for JSX users. (@dead-claudia)

The title says it all, and the diff's obvious. Resolves https://github.com/MithrilJS/mithril.js/issues/2640 and probably others.

Patch Changes

Enable --minimize-semver-change for pr-release (@JAForbes)

Minimizes semver changes on release to the minimum required version bump to satisfy major/minor/patch semver ranges. Minimizes the semver change so that.

Clean up m.route.Link (@barneycarroll)

An attempt at better demonstrating m.route.Link with less text. Fixes #2767.

Runtime-deprecate ospec, change change-log to changelog, fix a few assorted bugs (@dead-claudia)

This PR is in two parts: 1. Revise the build system and some of the local dev setup. Fully split ospec from the repo, and add it as a dependency.

Add meta description to docs (@StephanHoyer)

rework of #2149. added a meta description parser and meta descriptions to all docs pages. because google. built the docs, inspected the output manually.

Fixed badges, consistent naming of Mithril.js (@tbreuss)

use consistent naming of Mithril.js. fix badges in README. Fixes issue #2749.

Catch malformed URI Components (@jdiderik)

Fix for error thrown when a value contains non-valid / malformed URI Component. Example: test=%c5%a1%e8ZM%80%82H. will throw "URI malformed".

Correctly handle invalid escapes in routes based on 0a5ead31c9fbd7b153c521c7f9d3df7bf826ce6c (@StephanHoyer)

fixes #2061. @dead-claudia I just redid your change but slightly different in order to handle a mix of wrong and right encodings properly.

Standardise vnode text representation (@barneycarroll)

This addresses the crucial feature of #2669: text is always represented as virtual text nodes, never as a vnode.text.

Issue 2624 no content 204 parse (@Evoke-PHP)

Added guard so that JSON.parse does not fail on IE11 with no content empty string being parsed. Fixes https://github.com/MithrilJS/mithril.js/issues/2624.

[m.request] work around a bundler bug, fix #2647 (@pygy)

The bundler mangles identifier-like strings within RegExps, this works around the problem by not using such RegExps.

Reject request on XHR timeout (@kevinfiol)

Derived from PR #2581. Allows requests to properly reject on event of a timeout.

Remove extra isLifecycleMethod call from removeAttr (@ZeikJT)

Removing an extra isLifecycleMethod in the removeAttr method, it isn't needed since it's already checked on the previous line.

Fix #2601 (@dead-claudia)

Fix issue where ending a stream in the middle of a stream callback would result in erroneous parent stream state for the rest of that emit. Fixes #2601.

Add streams to releases again, include minified bundle, drop internal stuff from npm (@dead-claudia)

Add stream/stream.js to releases again. Add stream/stream.min.js now that the process is remotely sane now.

Make errors and their messages more accurate and helpful (@dead-claudia)

I updated error messages to be much more helpful.

Fix assertion descriptions (@soulofmischief)

I moved the return statement to the end of define() so that it returns even if the comparison fails.

Fix branch target (@dead-claudia)

https://github.com/MithrilJS/mithril.js/runs/6199543939?check_suite_focus=true.

Automate mithril's release workflow (@JAForbes)

Automated releases, pre-releases, (code) rollbacks and recovery, npm publishing, change log management just by using normal github flow.

rework jsx docs (@StephanHoyer)

Add Simple Application Flems Supporting v2.0.4 and up (@tbreuss)

Added Flems for Simple Application supporting v2.0.4 of Mithril.js. Fixes Issue #2710.

Make example work with webpack v5.69.1 (@StephanHoyer)

fixes #2634.

2604: correct and move text about statements in view method (@kevinfiol)

Addresses #2604.

Fix lint errors (@StephanHoyer)

WIP: Update modularisation details in Installation docs (@orbitbot)

added link to flems.io as an easier way to just try out the framework. -. Documentation has grown a bit stale.

Added power support for the travis.yml file with ppc64le (@sreekanth370)

Added power support for the travis.yml file with ppc64le. This is part of the Ubuntu distribution for ppc64le.

Updated babel/webpack docs to work with latest versions (@pereriksson)

As a developer I tried setting up Mithril with Babel and Webpack but failed because of a variety of errors.

[docs] route redirection using the history API (@pygy)

This is an attempt at fixing #1759, but there may be more to be added. Feedback welcome. ping @dontwork.

Bump path-parse from 1.0.6 to 1.0.7 (@dependabot[bot])

Bumps path-parse from 1.0.6 to 1.0.7. Commits. See full diff in compare view.

Bump glob-parent from 5.1.0 to 5.1.2 (@dependabot[bot])

Bumps glob-parent from 5.1.0 to 5.1.2. Release notes. Sourced from glob-parent's releases. v5.1.2. Bug Fixes.

Bump ajv from 6.10.2 to 6.12.6 (@dependabot[bot])

Bumps ajv from 6.10.2 to 6.12.6. Release notes. Sourced from ajv's releases. v6.12.6. Fix performance issue of "url" format.

Update standalone usage (@ghost)

Avoid double encoding of function signatures - fixes #2720 (@StephanHoyer)

Show previous versions (@mike-ward)

Add Dropdown that shows links to archived versions of the documentation.

docs: improve m.request return value description (@GAumala)

In the m.request return value description, add a line informing that error status codes cause the promise to reject.

A note on JSX events (@pereriksson)

Naming JSX events according to their documentation produces unexpected results with incorrectly named events when using JSX with Mithril.

Document route resolution cancellation, fixes #1759 (@barneycarroll)

Also fixes a broken internal link.

Bump marked from 0.7.0 to 4.0.10 (@dependabot[bot])

Bumps marked from 0.7.0 to 4.0.10. Release notes. Sourced from marked's releases. v4.0.10. 4.0.10 (2022-01-13). Bug Fixes.

Flems in docs (#2348) [skip ci] (@porsager)

Added flems instead of the current codepen samples.

Remove old TOC link (@ArthurClemens)

Content was moved some time ago and linked section no longer exists.

Cavemansspa patch 1 (@cavemansspa)

Documentation update.

Bump hosted-git-info from 2.8.4 to 2.8.9 (@dependabot[bot])

Bumps hosted-git-info from 2.8.4 to 2.8.9. Changelog. Sourced from hosted-git-info's changelog. 2.8.9 (2021-04-07).

Bump lodash from 4.17.20 to 4.17.21 (@dependabot[bot])

Bumps lodash from 4.17.20 to 4.17.21. Commits. f299b52 Bump to v4.17.21.

Bump handlebars from 4.7.6 to 4.7.7 (@dependabot[bot])

Bumps handlebars from 4.7.6 to 4.7.7. Changelog. Sourced from handlebars's changelog. v4.7.7 - February 15th, 2021.

Remove unreachable keyed node logic, fixes #2597 (@barneycarroll)

Delete test-utils/README.md (@dead-claudia)

We don't expose this publicly anymore, so there's literally no justification for this file's existence.

simple-application.md: consistent use of type=submit (@danbst)

When following tutorial and typing everything in, I was confused that Save button didn't work.

Fix inconsistent capitalizations of "JavaScript" (@mtsknn)

"Javascript"/"javascript" → "JavaScript". Fixes #2398, or at least I can't find any more incorrect capitalizations.

fix some typos (@osban)

Found some typos. Mainly unescaped | in tables, but also a few other irregularities. Not all problems are visible in the website docs.

Replace mocha by ospec in testing page (@gamtiq)

Fixed a typo in testing doc page. Currently there is reference to mocha in the page whereas opsec is used.

Bump acorn from 7.1.0 to 7.4.0 (@dependabot[bot])

Bumps acorn from 7.1.0 to 7.4.0. Commits. 54efb62 Mark version 7.4.0.

Bump handlebars from 4.4.2 to 4.7.6 (@dependabot[bot])

Bumps handlebars from 4.4.2 to 4.7.6. Changelog. Sourced from handlebars's changelog. v4.7.6 - April 3rd, 2020.

Bump lodash from 4.17.15 to 4.17.20 (@dependabot[bot])

Bumps lodash from 4.17.15 to 4.17.20. Commits. ded9bc6 Bump to v4.17.20. 63150ef Documentation fixes.

Bump minimist from 1.2.0 to 1.2.3 (@dependabot[bot])

Bumps minimist from 1.2.0 to 1.2.3. Commits. 6457d74 1.2.3. 38a4d1c even more aggressive checks for protocol pollution.

Update installation.md (@purefan)

Offer to install mithril as a webpack plugin. Just makes my life easier by not having to include mithril in every one of my js files.

replace slave label with replica (@stephanos)

One of the example is using the antiquated word "slave" for a database replica. I updated the language and tested the change.

ES6 and m.trust docs patch (@kczx3)

While reading through some of the documentation I saw some issues with both the ES6 and m.trust pages.

docs: Fix simple typo, subsequece -> subsequence (@timgates42)

There is a small typo in mithril.js, render/render.js. Should read subsequence rather than subsequece.

change link to go to ospec instead of mocha (@akessner)

Change the link to point to ospec docs in github. ospec link went to mochajs. issue 2575. N/A. N/A. N/A.

updated to the Vimeo showcase (@CreaturesInUnitards)

The scrimba version of Mithril 0-60 was built on their beta platform, and doesn't really even work anymore.

adding more community examples (@boazblake)

Exclude archive of previous docs (@cztomsik)

update .npmignore so that archives are not included in the resulting package. space/bandwidth savings. fix #2552.

Pimp the docs linter (and assorted changes) (@pygy)

Add an optional cache for faster runs. Add a final report. Don't return anything from exec(). Cover more files. Look for a "--cache" option.

Recast key docs to be much clearer and more accurate (@dead-claudia)

Recast key docs to be much clearer and more accurate, including a few Flems examples to help intuitively explain things.

Add m.censor, adjust m.route.Link to use it (@dead-claudia)

Add m.censor. Adjust m.route.Link to use it. Restructure a few things for better code reuse. Fixes #2472.

Update fetch() browser support in docs (@qgustavor)

As Can I use shows fetch() supported since Safari 10.1 and iOS Safari 10.3.

docs: Add release dates to all change-log files (@maranomynet)

I'd like to introduce release dates to the change log files. Release dates are human-friendly and add a bit of historical perspective to change-log files.

Release v2.1.0

Minor Changes

m.censor: work around a bunder bug (@kfule)

The internal bundler sometimes mangles the words in RegExp literals incorrectly. Please see below.

Warn about reusing mutated attrs object - fixes #2719 (@StephanHoyer)

Send URLSearchParams as request body without extra configuration (@Coteh)

This PR fixes an oddity I noticed in the way m.request handles URLSearchParams object. It now handles it in the same sort of way XHR and Fetch do it.

Add params: to m.route.Link, fix docs (@dead-claudia)

Add params: to m.route.Link. Minor fix to docs to reflect reality with m.route.Link's disabled: attribute.

Allow Mithril to be loaded in non-browser environments without modification (@dead-claudia)

Recast the global reads to all be guarded with typeof, so that if they aren't defined, they're just null.

Add a m.Fragment = "[" utility for JSX users. (@dead-claudia)

The title says it all, and the diff's obvious. Resolves https://github.com/MithrilJS/mithril.js/issues/2640 and probably others.

Patch Changes

Enable --minimize-semver-change for pr-release (@JAForbes)

Minimizes semver changes on release to the minimum required version bump to satisfy major/minor/patch semver ranges. Minimizes the semver change so that.

Clean up m.route.Link (@barneycarroll)

An attempt at better demonstrating m.route.Link with less text. Fixes #2767.

Runtime-deprecate ospec, change change-log to changelog, fix a few assorted bugs (@dead-claudia)

This PR is in two parts: 1. Revise the build system and some of the local dev setup. Fully split ospec from the repo, and add it as a dependency.

Add meta description to docs (@StephanHoyer)

rework of #2149. added a meta description parser and meta descriptions to all docs pages. because google. built the docs, inspected the output manually.

Fixed badges, consistent naming of Mithril.js (@tbreuss)

use consistent naming of Mithril.js. fix badges in README. Fixes issue #2749.

Catch malformed URI Components (@jdiderik)

Fix for error thrown when a value contains non-valid / malformed URI Component. Example: test=%c5%a1%e8ZM%80%82H. will throw "URI malformed".

Correctly handle invalid escapes in routes based on 0a5ead31c9fbd7b153c521c7f9d3df7bf826ce6c (@StephanHoyer)

fixes #2061. @dead-claudia I just redid your change but slightly different in order to handle a mix of wrong and right encodings properly.

Standardise vnode text representation (@barneycarroll)

This addresses the crucial feature of #2669: text is always represented as virtual text nodes, never as a vnode.text.

Issue 2624 no content 204 parse (@Evoke-PHP)

Added guard so that JSON.parse does not fail on IE11 with no content empty string being parsed. Fixes https://github.com/MithrilJS/mithril.js/issues/2624.

[m.request] work around a bundler bug, fix #2647 (@pygy)

The bundler mangles identifier-like strings within RegExps, this works around the problem by not using such RegExps.

Reject request on XHR timeout (@kevinfiol)

Derived from PR #2581. Allows requests to properly reject on event of a timeout.

Remove extra isLifecycleMethod call from removeAttr (@ZeikJT)

Removing an extra isLifecycleMethod in the removeAttr method, it isn't needed since it's already checked on the previous line.

Fix #2601 (@dead-claudia)

Fix issue where ending a stream in the middle of a stream callback would result in erroneous parent stream state for the rest of that emit. Fixes #2601.

Add streams to releases again, include minified bundle, drop internal stuff from npm (@dead-claudia)

Add stream/stream.js to releases again. Add stream/stream.min.js now that the process is remotely sane now.

Make errors and their messages more accurate and helpful (@dead-claudia)

I updated error messages to be much more helpful.

Fix assertion descriptions (@soulofmischief)

I moved the return statement to the end of define() so that it returns even if the comparison fails.

Fix branch target (@dead-claudia)

https://github.com/MithrilJS/mithril.js/runs/6199543939?check_suite_focus=true.

Automate mithril's release workflow (@JAForbes)

Automated releases, pre-releases, (code) rollbacks and recovery, npm publishing, change log management just by using normal github flow.

rework jsx docs (@StephanHoyer)

Add Simple Application Flems Supporting v2.0.4 and up (@tbreuss)

Added Flems for Simple Application supporting v2.0.4 of Mithril.js. Fixes Issue #2710.

Make example work with webpack v5.69.1 (@StephanHoyer)

fixes #2634.

2604: correct and move text about statements in view method (@kevinfiol)

Addresses #2604.

Fix lint errors (@StephanHoyer)

WIP: Update modularisation details in Installation docs (@orbitbot)

added link to flems.io as an easier way to just try out the framework. -. Documentation has grown a bit stale.

Added power support for the travis.yml file with ppc64le (@sreekanth370)

Added power support for the travis.yml file with ppc64le. This is part of the Ubuntu distribution for ppc64le.

Updated babel/webpack docs to work with latest versions (@pereriksson)

As a developer I tried setting up Mithril with Babel and Webpack but failed because of a variety of errors.

[docs] route redirection using the history API (@pygy)

This is an attempt at fixing #1759, but there may be more to be added. Feedback welcome. ping @dontwork.

Bump path-parse from 1.0.6 to 1.0.7 (@dependabot[bot])

Bumps path-parse from 1.0.6 to 1.0.7. Commits. See full diff in compare view.

Bump glob-parent from 5.1.0 to 5.1.2 (@dependabot[bot])

Bumps glob-parent from 5.1.0 to 5.1.2. Release notes. Sourced from glob-parent's releases. v5.1.2. Bug Fixes.

Bump ajv from 6.10.2 to 6.12.6 (@dependabot[bot])

Bumps ajv from 6.10.2 to 6.12.6. Release notes. Sourced from ajv's releases. v6.12.6. Fix performance issue of "url" format.

Update standalone usage (@ghost)

Avoid double encoding of function signatures - fixes #2720 (@StephanHoyer)

Show previous versions (@mike-ward)

Add Dropdown that shows links to archived versions of the documentation.

docs: improve m.request return value description (@GAumala)

In the m.request return value description, add a line informing that error status codes cause the promise to reject.

A note on JSX events (@pereriksson)

Naming JSX events according to their documentation produces unexpected results with incorrectly named events when using JSX with Mithril.

Document route resolution cancellation, fixes #1759 (@barneycarroll)

Also fixes a broken internal link.

Bump marked from 0.7.0 to 4.0.10 (@dependabot[bot])

Bumps marked from 0.7.0 to 4.0.10. Release notes. Sourced from marked's releases. v4.0.10. 4.0.10 (2022-01-13). Bug Fixes.

Flems in docs (#2348) [skip ci] (@porsager)

Added flems instead of the current codepen samples.

Remove old TOC link (@ArthurClemens)

Content was moved some time ago and linked section no longer exists.

Cavemansspa patch 1 (@cavemansspa)

Documentation update.

Bump hosted-git-info from 2.8.4 to 2.8.9 (@dependabot[bot])

Bumps hosted-git-info from 2.8.4 to 2.8.9. Changelog. Sourced from hosted-git-info's changelog. 2.8.9 (2021-04-07).

Bump lodash from 4.17.20 to 4.17.21 (@dependabot[bot])

Bumps lodash from 4.17.20 to 4.17.21. Commits. f299b52 Bump to v4.17.21.

Bump handlebars from 4.7.6 to 4.7.7 (@dependabot[bot])

Bumps handlebars from 4.7.6 to 4.7.7. Changelog. Sourced from handlebars's changelog. v4.7.7 - February 15th, 2021.

Remove unreachable keyed node logic, fixes #2597 (@barneycarroll)

Delete test-utils/README.md (@dead-claudia)

We don't expose this publicly anymore, so there's literally no justification for this file's existence.

simple-application.md: consistent use of type=submit (@danbst)

When following tutorial and typing everything in, I was confused that Save button didn't work.

Fix inconsistent capitalizations of "JavaScript" (@mtsknn)

"Javascript"/"javascript" → "JavaScript". Fixes #2398, or at least I can't find any more incorrect capitalizations.

fix some typos (@osban)

Found some typos. Mainly unescaped | in tables, but also a few other irregularities. Not all problems are visible in the website docs.

Replace mocha by ospec in testing page (@gamtiq)

Fixed a typo in testing doc page. Currently there is reference to mocha in the page whereas opsec is used.

Bump acorn from 7.1.0 to 7.4.0 (@dependabot[bot])

Bumps acorn from 7.1.0 to 7.4.0. Commits. 54efb62 Mark version 7.4.0.

Bump handlebars from 4.4.2 to 4.7.6 (@dependabot[bot])

Bumps handlebars from 4.4.2 to 4.7.6. Changelog. Sourced from handlebars's changelog. v4.7.6 - April 3rd, 2020.

Bump lodash from 4.17.15 to 4.17.20 (@dependabot[bot])

Bumps lodash from 4.17.15 to 4.17.20. Commits. ded9bc6 Bump to v4.17.20. 63150ef Documentation fixes.

Bump minimist from 1.2.0 to 1.2.3 (@dependabot[bot])

Bumps minimist from 1.2.0 to 1.2.3. Commits. 6457d74 1.2.3. 38a4d1c even more aggressive checks for protocol pollution.

Update installation.md (@purefan)

Offer to install mithril as a webpack plugin. Just makes my life easier by not having to include mithril in every one of my js files.

replace slave label with replica (@stephanos)

One of the example is using the antiquated word "slave" for a database replica. I updated the language and tested the change.

ES6 and m.trust docs patch (@kczx3)

While reading through some of the documentation I saw some issues with both the ES6 and m.trust pages.

docs: Fix simple typo, subsequece -> subsequence (@timgates42)

There is a small typo in mithril.js, render/render.js. Should read subsequence rather than subsequece.

change link to go to ospec instead of mocha (@akessner)

Change the link to point to ospec docs in github. ospec link went to mochajs. issue 2575. N/A. N/A. N/A.

updated to the Vimeo showcase (@CreaturesInUnitards)

The scrimba version of Mithril 0-60 was built on their beta platform, and doesn't really even work anymore.

adding more community examples (@boazblake)

Exclude archive of previous docs (@cztomsik)

update .npmignore so that archives are not included in the resulting package. space/bandwidth savings. fix #2552.

Pimp the docs linter (and assorted changes) (@pygy)

Add an optional cache for faster runs. Add a final report. Don't return anything from exec(). Cover more files. Look for a "--cache" option.

Recast key docs to be much clearer and more accurate (@dead-claudia)

Recast key docs to be much clearer and more accurate, including a few Flems examples to help intuitively explain things.

Add m.censor, adjust m.route.Link to use it (@dead-claudia)

Add m.censor. Adjust m.route.Link to use it. Restructure a few things for better code reuse. Fixes #2472.

Update fetch() browser support in docs (@qgustavor)

As Can I use shows fetch() supported since Safari 10.1 and iOS Safari 10.3.

docs: Add release dates to all change-log files (@maranomynet)

I'd like to introduce release dates to the change log files. Release dates are human-friendly and add a bit of historical perspective to change-log files.