]> code.delx.au - gnu-emacs-elpa/blobdiff - NEWS.md
Make a new release
[gnu-emacs-elpa] / NEWS.md
diff --git a/NEWS.md b/NEWS.md
index a1a9006f436e65220197a993cf413bc56081d6f6..87e9d726a15a349a5ac1e852b93a05fc8a11447e 100644 (file)
--- a/NEWS.md
+++ b/NEWS.md
@@ -1,5 +1,62 @@
 # History of user-visible changes
 
+## 2016-06-23
+
+* New variable `js2-mode-assume-strict`, for use with ES6 modules.
+* Support for JSDoc @callback, @func and @method tags.
+* Object properties are highlighted using a different face:
+  `js2-object-property`, which has no color by default.
+* Experimental support for object rest/spread ECMAScript proposal.
+* `js2-getter-setter-node` is renamed to `js2-method-node`, together with
+  its related functions.  It already handles generator methods, and we
+  added support for async methods (see below), so the old name would get
+  more confusing.
+* Support for default parameters in destructuring.  It should work for both
+  objects and arrays, in both literals and function arguments.
+* New mode: `js2-jsx-mode`, deriving from `js2-mode`.  Supports indentation of
+  JSXElement expressions wrapped within parentheses or as function arguments.
+  Indentation is customizable via `sgml-attribute-offset`.
+* Experimental support for async/await ECMAScript proposal.
+
+## 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 looking for a corresponding one in 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: