# History of user-visible changes
+## 20150909
+
+* `js2-mode` now derives from `js-mode`. That means the former
+ function will run `js-mode-hook`, as well as `js2-mode-hook`. The
+ key bindings will default to `js-mode-map` where they're not set in
+ `js2-mode-map`. And in Emacs 25 or later (including the snapshot
+ builds), `js2-mode` uses the indentation code from `js-mode`. Where
+ feasible, the user options (and functions) now have aliases, but if
+ you're using Emacs 25 and you see an indentation-related setting
+ that stopped working, try setting the one for the `js` group: `M-x
+ customize-group RET js RET`.
+
+* New command: `js2-jump-to-definition`. It's bound to `M-.` by
+ default, via remapping `js-find-symbol`. To get back to the default
+ `M-.` binding (e.g. `find-tag`), put this in your init file:
+
+ (eval-after-load 'js (define-key js-mode-map (kbd "M-.") nil))
+
+## 20150713
+
+* More comprehensive strict mode warnings and syntax errors.
+* New minor mode: `js2-highlight-unused-variables-mode`.
+* `js2-pretty-multiline-declarations` can take the value `dynamic` now.
+
+## 20150202
+
+Support for:
+
+* [ES6 modules](http://www.2ality.com/2014/09/es6-modules-final.html).
+* [Short-hand object literals](http://ariya.ofilabs.com/2013/02/es6-and-object-literal-property-value-shorthand.html).
+* [Method definitions](http://ariya.ofilabs.com/2013/03/es6-and-method-definitions.html).
+* ['u' and 'y' RegExp flags](https://mathiasbynens.be/notes/es6-unicode-regex).
+* [Computed property names](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-object-initializer).
+* [Class statements and expressions](https://github.com/lukehoban/es6features#classes).
+* [Template strings](http://tc39wiki.calculist.org/es6/template-strings/), including tagged ones.
+
+The variable `js2-allow-keywords-as-property-names` has been
+removed. Instead we check if `js2-language-version` is 180 or highter.
+
## 20141115
Support for: