変更履歴

v0.2.5

ニュース:

  • IEのパフォーマンス改善 (thanks to @gyandeeps)
  • m.requestにcallbackNameオプションが追加されました。JSONPレスポンス時に呼び出すJavaScript関数名を指定します#1072

バグ修正:

  • アクティブなフォーム要素の同期の修正#691
  • m.requestで値を伴わない項目をURLに挿入せずに無視する#1039
  • ネイティブのPromiseをm.propに渡した時のデータの吸収を修正 #1076

v0.2.4

バグ修正:

  • m.requestの返り値のpromiseがエラーを飲み込んでしまうというリグレッションの修正#968
  • event引数を与えずにmithril-query経由でイベントハンドラを呼ぶとReferenceErrorが発生する問題を修正

v0.2.3

バグ修正:

  • 文字列キーの動作を無効にしていたリグレッションの修正
  • 読み込み専用属性の取り扱いの修正#925
  • 二重のアンロードの問題の修正 #931

v0.2.2-rc.1

バグ修正:

  • 0.2.1のリファクタリングによるリグレッションを修正
  • ES6のPromiseの仕様にないため、finallyを戻した

v0.2.1

重要なメモ: 不幸なリファクタリングにより、0.2.1は安定バージョンではありません。0.2.1、もしくは最新版を使用してください。

ニュース:

  • ChromeのJavaScriptオプティマイザの恩恵を得られるように改善し、ソースコードの読みやすさを改善するリファクタリングを行った(@isiahmeadows ありがとう)
  • catchをpromiseに追加
  • ドキュメントとWikiの改善や修正
  • m(component, ...args)m.component(component, ...args)の短縮形として使えるようになった。

バグ修正:

  • 例外モニターの中から例外を投げても、再描画をフリーズすることがなくなった
  • 偽のキーのエッジケースの問題を修正
  • コンポーネントコントローラ内でのコントローラプロトタイプの継承を修正
  • 入力が空文字列だった場合のparseQueryStringの返り値の修正

v0.2.0 - コンポーネントの改善

ニュース:

  • Mithrilモジュールは今からコンポーネントと呼ばれるようになった。
  • 仮想DOMツリーはcomponentsを持つことができるようになった。
  • コンポーネントはm.componentを使ってパラメータ化することができるようになった。

非推奨化

  • m.modulem.mountへとリネームされた。m.module呼び出しはまだ動作するが、非推奨になった。理由: Mithrilのモジュールとコンポーネントは結果として同じものとなったため、今後はコンポーネントと呼称することになった。コンポーネントのという名前の方が目的を明確に伝えることが出来、ES6のモジュールと混乱することが減るためである。

    移行する場合は、m.module呼び出しを探しだして、m.mountにリネームすること。メソッドのシグニチャには変化はない。

バグ修正:

  • <select>のエッジケースの問題を修正 #569
  • テンプレートコンパイラの配列サポートを修正

v0.1.34 - メンテナンス

バグ修正:

  • fix identity bug when mixing unkeyable elements in a tree #524

v0.1.33 - メンテナンス

バグ修正:

  • fix diff bug when mixing undefined in a tree #524
  • fix reference to map file in package.json for cdnjs
  • ドキュメント内のリンクの修正

v0.1.32 - メンテナンス

バグ修正:

  • #454によるリグレッションの修正

v0.1.31 - メンテナンス

ニュース:

  • Typescript definitions are more strongly typed
  • m.request's unwrapSuccess and unwrapError callbacks now receive the XMLHttpRequest instance as a second parameter
  • 3rd parameter for m.route(route, params, shouldReplaceHistory) is now public
  • exact routes now have higher precedence than routes w/ variables #452
  • there's now a retain flag to control on-route-change diff strategy on a per-element basis

バグ修正:

  • IE9のラウティングのバグの修正 #320
  • fix ordering bug in m.trust when using HTML entities #453
  • set promise's default value to initialValue if coming from m.request #454
  • fix dom element ownership bug when mixing keyed elements and third party plugin elements #463
  • fix edge case in flatten algorithm #448
  • prevent unnecessary DOM move operation when mixing keyed and unkeyed elements #398
  • revert #382 due to diff regression #512

v0.1.30 - メンテナンス

バグ修正:

  • fix history.back() regression #435
  • fix module.view's this association regression in Haxe environment #434
  • fix array serialization syntax in querystrings #440

v0.1.29 - メンテナンス

ニュース:

  • Calling m.module without a module now unloads the current one #420
  • Both controller and view properties in modules are now optional

バグ修正:

  • prevent empty class attributes #382
  • array-to-querystring serialization in m.request now behaves like jQuery #426
  • fix querystring detection bug in pathname mode #425
  • don't add history entry if reloading from a link #428
  • fix key association when DOM order is modified by external code #424

v0.1.28 - メンテナンス

ニュース:

  • Landed some performance improvements

バグ修正:

  • throw error if root element is null in m.module/m.route #388

v0.1.27 - メンテナンス

バグ修正:

  • prevent strategy("none") event contamination #378
  • fix equality strictness #379
  • fix keys bug when list has nulls #299
  • make sure empty value in option tag creates attribute #380

v0.1.26 - メンテナンス

バグ修正:

  • make sure input[type] is CSS-targetable #364
  • throw error if m.route.param is called before initializing routes #361

v0.1.25 - メンテナンス

バグ修正:

  • fixed input cursor jumping regression
  • fixed interop bug when QUnit and AMD are used at the same time #355
  • fixed route arg duplication in edge case #352
  • prevented meaningless error in Chrome edge case #358

v0.1.24 - メンテナンス

バグ修正:

  • Prevent rogue is attribute from being created in Chrome
  • Fix data regression in m.request

v0.1.23 - メンテナンス

ニュース:

  • There's now support for extended custom elements (e.g. m("button[is=my-button]"))
  • m.request now supports a initialValue option to help prevent type errors in views when using the background option

バグ修正:

  • docs now have anchor links for easier navigation
  • fixed a bunch of IE8 issues #298
  • fixed handling of method option in JSONP mode #292
  • ソースマップファイルの修正
  • select[multiple]のハンドリングの修正
  • fixed template compiler edge case #286
  • fixed pathname bug in m.route #290
  • fixed pathname querystring bug in routed links #304
  • fixed handling of value in inputs when model value is not in sync with input value #336

v0.1.22 - メンテナンス

ニュース:

  • docs now have anchor links for easier navigation
  • there is more documentation for things that weren't that clear
  • json-p support added
  • m() now supports splat for children (e.g. m("div", m("a"), m("b"), m("i")) for nicer Coffeescript syntax
  • by popular demand, m.module now returns a controller instance

バグ修正:

  • gracefully degrade on IE exceptions when setting invalid values
  • fixes for Typescript definition file
  • fixed bug in keys algorithm when mixing keyed and unkeyed elements #246
  • added promise exception monitor and reverted promise exception handling semantics to v0.1.19 semantics (see docs)
  • fixed redraw scheduling bug in old version of IE
  • fixed incorrect diff when document is root, and html element is omitted
  • fixed querystring clobbering in links w/ config:m.route #261
  • fixed rare bug that made events get dropped #214
  • don't send Content-Type header if there's no request data #280

v0.1.21 - メンテナンス

ニュース:

  • passing a promise to an m.prop now populates it with the resolved value upon resolution, and returns undefined otherwise
  • m.redraw can now be forced to called synchronously

バグ修正:

  • fixed handling of + character in m.route.param #204
  • fixed corner case for undefined children in diff #206
  • fixed context.onunload for array items #200
  • fixed handling on comments in HTML converter tool

v0.1.20 - メンテナンス

ニュース:

  • redraw strategy can now be modified via m.redraw.strategy
  • math tags now automatically get created with the MathML namespace

バグ修正:

  • fixed IE8 null reference exception in m
  • fixed IE8 empty-text-node-in-input issue #195
  • fixed m.sync resolution when passed an empty array #191

v0.1.19 - メンテナンス

バグ修正:

  • fixed double redraw when events fire simultaneously #151
  • fixed node insertion bug when using document as root #153
  • prevent routes from reverting to original route in some cases
  • fixed nested array ordering #156
  • fixed key ordering in interpolation case #157

v0.1.18 - メンテナンス

バグ修正:

  • routing now correctly clears diff cache #148
  • fixed incorrect context unloading when reattaching a child to a new parent

v0.1.17 -

ニュース:

  • config contexts can now have an onunload property for clean up tasks after elements are detached from the document
  • route changes now re-render from scratch, rather than attempting a virtual dom diff
  • virtual elements that are children of an array can now accept a key attribute which maintains the identity of the underlying DOM elements when the array gets shuffled #98

バグ修正:

  • fixed a subtree directive bug that happened in inputs inside loops
  • fixed select.value so that the correct option is displayed on first render
  • in m.request, non-idempotent methods now automatically send appropriate Content-Type header if serialize is JSON.stringify #139
  • m selectors now correctly handle empty attribute values like [href='']
  • pre-existing nodes in a root element now get cleared if there's no cell cache associated with the element #60

v0.1.16 - メンテナンス

ニュース:

  • controller::onunload now receives an event parameter so that the unloading can be aborted #135

バグ修正:

  • prevent route change when only hash changes in non-hash mode #107
  • config now always runs after template is attached to document #109
  • fix null reference exception with Browserify #110
  • fix nested array removal edge cases #120
  • ignore redraw calls when controller is not ready #127
  • fix null reference exception in nested array edge case #129
  • fix a contenteditable null reference error #134
  • fix textarea value diffing when value is a node inside an array #136
  • fix diff bug with trusted strings #138

互換性のない修正:

  • Due to the poor level of compatibility between XDomainRequest and XHR2, XDomainRequest is no longer called internally by Mithril. If you need to use CORS in IE9 or lower, you will need to return an XDomainRequest instance from m.request's config method #121

v0.1.15 - メンテナンス

バグ修正:

  • m.sync now correctly passes arguments to resolver in same order as input arguments #96
  • fixed diff deletion bug #99
  • updating textarea attributes updates its value correctly #100

v0.1.14 - メンテナンス

ニュース:

  • The signature of m now accepts virtual elements as the second parameter of the function.
  • m.route(path, params) now accepts an argument that gets parsed as a querystring.
  • routes now ignore trailing slashes #88

バグ修正:

  • Resolving promises early without a value now works #85
  • Throwing exceptions within m.request now follow the same resolution procedure as m.deferred #86
  • Promises now always update their m.prop on success (and leave the m.prop alone on error)
  • Nested arrays no longer cause double removal of elements #87
  • HTTP error codes now correctly reject promises

v0.1.13 - メンテナンス

ニュース:

  • m.module now runs clean-up code in root module controllers that implement an onunload instance method #82

バグ修正:

  • Removing CSS rules now diffs correctly #79

v0.1.12 - メンテナンス

ニュース:

バグ修正:

  • Fix link location in links using config: m.route after redraws #74
  • Fixed support for list attribute in inputs #69
  • Fixed URL decoding in route params #75

v0.1.11 - メンテナンス

ニュース:

  • Added m.route() overload to allow reading of current route #61
  • Added background option to m.request to allow requests that don't affect rendering #62

バグ修正:

  • Links using config: m.route can now be opened in new tab correctly #64
  • Fixed diff within contenteditable areas #65

v0.1.10 - メンテナンス

ニュース:

  • ホームページにソーシャルボタンを追加

バグ修正:

  • Bi-directional bindings no longer wipe out cursor position in Chrome #58

v0.1.9 - メンテナンス

ニュース:

  • Reactとの比較をホームページに追加
  • 複数の島のアプリケーションのサポートを追加 #34
  • m.propがJSONとしてシリアライズ可能になった #54
  • Added extract option to m.request to allow access to response metadata #53

バグ修正:

  • Fixed node index displacement by null/undefined nodes #56
  • Fixed mock's insertBefore and appendChild when dealing w/ reattachments

互換性のない修正:

  • changing an id in a virtual element now recreates the element, instead of recycling it #55

v0.1.8 - メンテナンス

ニュース:

  • Mock now contains a basic insertAdjacentHTML implementation to enable better testing of m.trust / m.render interactions

バグ修正:

  • Fixed ordering bug in deep subchildren #51
  • Fixed ordering bug with trusted strings #51

v0.1.7 - メンテナンス

ニュース:

  • Mithril will be on a accelerated release cycle for the rest of the v0.1.x series. This means CDNs may lag behind in versions, so it's recommended that you either use one of the supported NodeJS package managers or fork from the Github repo directly. More information can be found here

バグ修正:

  • Fixed ordering bug when virtual element is preceded by array #50

v0.1.6 - メンテナンス

バグ修正:

  • Fixed serious bug when mixing cached text nodes with new virtual elements #49

v0.1.5 - メンテナンス

ニュース:

バグ修正:

  • Fixed serious ordering problem when mixing arrays with virtual elements #48

v0.1.4 - メンテナンス

ニュース:

  • バグレポートのためのリグレッションテストを追加
  • SVGサポートを追加

バグ修正:

  • URLs with port numbers are now handled correctly #40
  • NPM package now contains unminified version for map files #39
  • fixed ordering issue when mixing newly created virtual elements with elements from cache #44
  • fixed caching bug in links w/ config option attached #43
  • fixed attribute update bug when an element has both oninput and onkeydown handlers #36

v0.1.3 - メンテナンス

ニュース:

  • MithrilがComponentを通じて入手可能になった
  • There's now an extra low-level optimization hook called a SubtreeDirective, which allows implementing plugins that only create virtual trees if necessary.

バグ修正:

  • diff no longer touch the DOM when processing style attributes and event handlers
  • returning a thennable to a resolution callback in m.deferred().promise now causes the promise to adopt its state
  • diff now correctly clears subtree if null or undefined is passed as a node

v0.1.2 - メンテナンス

ニュース:

バグ修正:

  • m.render now correctly reattaches reused DOM elements to replaced parent nodes #31
  • UI actions that can potentially de-synchronize the DOM from cache now force synchronization #29

v0.1.1 - メンテナンス

ニュース:

バグ修正:

  • m.route.param now resets on route change correctly #15
  • m.render now correctly ignores undefined values in the virtual tree#16
  • errors thrown in promises now cause downstreams to be rejected #1

互換性のない修正:

  • changed default value for xhr.withCredentials from true to false for m.request, since public APIs are more common than auth-walled ones. #14

    In order to configure this flag, the following configuration should be used:

    var privateAPI = function(xhr) {xhr.withCredentials = true};
    
    m.request({method: "GET", url: "http://foo.com/api", config: privateAPI});
    

v0.1 - 初回リリース