1 Yasnippet NEWS -- history of user-visible changes.
3 Copyright (C) 2016 Free Software Foundation, Inc.
4 See the end of the file for license conditions.
7 * 0.10.0 (June 11th, 2016)
9 ** Changes and New Features
11 *** Yasnippet now prints far fewer message by default.
12 See Github #682, #683.
14 *** `yas-wrap-around-region' can be set to a register.
15 The register's content will be used. This is like the old `cua'
16 option, but can be used with any register and doesn't require enabling
19 *** Clearing of snippet fields is now decided by the command's effect.
20 The `delete-selection' property is no longer consulted. See Github #662.
22 *** Empty lines in snippet expansion are no longer indented.
25 *** All lines from mirror output are now indented.
28 *** New variable yas-alias-to-yas/prefix-p
29 See Github #696, #699.
31 *** New function yas-next-field-will-exit-p
34 *** `snippet-mode' is now autoloaded.
38 *** Fix incompatibility with Emacs 25 and haskell-mode.
39 This should also help other modes with a non-nil syntax-propertize
40 function. See Github #687.
42 *** Text property changes no longer disable snippets.
43 This prevents cc-mode based modes from causing premature exit of
44 snippets. See Github #677.
46 *** Fields are now transformed correctly after `yas-next-field'.
49 *** The $> construct is now escaped correctly, and documented.
52 *** Avoid corruption of snippet content when loading from files.
53 See Github #707 and Emacs bug #23659.
55 *** `yas-wrap-around-region' now works for snippets with fields
56 farther down the buffer than $0. See Github #636.
58 *** The active region is deleted when using `yas-expand'.
59 This makes it consistent with `yas-insert-snippet'. See Github #523.
61 *** Fix mirror+autofill interaction.
62 See Github #643 and http://emacs.stackexchange.com/q/19206/5296.
64 *** Snippet insertion no longer adds irrelevant strings to kill ring.
68 * 0.9.1 (April 3rd, 2016)
70 ** Changes and New Features
72 *** Noam Postavsky is now the official yasnippet maintainer.
74 *** `yas-visit-snippet-file' now works for compiled snippets (see Github #597).
76 *** New function `yas-lookup-snippet' (see Github #595, #596).
78 *** .emacs.d/snippets directory is now created automatically.
79 If that value is present in `yas-snippet-dirs' (see Github #648).
81 *** Default value for `yas-snippet-dirs' now uses `user-emacs-directory'
82 instead of hardcoding "~/emacs.d" (see Github #632).
84 *** `yas-visit-snippet-file' no longer overrides `yas-prompt-functions',
87 *** The defaults for prompting have changed.
88 `yas-x-prompt' is no longer present in the default value of
89 `yas-prompt-functions'.
91 The new function `yas-maybe-ido-prompt' (which performs ido prompting
92 if `ido-mode' is enabled) replaces `yas-ido-prompt' (which always
93 performs ido prompting). Previously the behaviour was dependent on
94 the Emacs version being used.
96 *** The default value of `yas-buffer-local-condition' now works for `yas-insert-snippet' too.
99 *** The default value of `yas-new-snippet-default' no longer inserts `require-final-newline: nil'.
100 It was redundant, since `mode: snippet' already accomplishes the same.
101 `binding: ${4:direct-keybinding}}' is also removed, as it is hardly
104 *** Snippet fields are only cleared by commands with `delete-selection' property,
105 See Github #515, #644.
107 *** `yas-initialize' (and backward compat alias `yas/initialize') are restored,
108 but marked obsolete, use (yas-global-mode +1) instead. See Github
111 *** `yas-key-syntaxes' is much more powerful and accepts functions.
112 Enables use cases when discovering keys based on buffer syntax is not
113 good enough. See issue #497.
115 *** Documentation rewritten in org-mode and updated.
116 A tremendous effort by Noam Postavsky. Hopefully easier to maintain
117 and navigate. Available at <http://capitaomorte.github.io/yasnippet>.
119 *** Snippets are now maintained in their own repo.
120 Snippets live in Andrea Crotti's
121 <https://github.com/andreacrotti/yasnippet-snippets>. See README.md
124 *** Textmate snippet importer moved to separate `yasmate' repo.
125 URL is <https://github.com/capitaomorte/yasmate>. See README.md for
128 *** `yas-snippet-dirs' now allows symbols as aliases to directories.
129 The added level of indirection should allow more esoteric
130 configurations (see Github #495).
132 *** `yas-reload-all' can now jit-load when called interactively.
134 *** New `yas-after-reload-hook' run after `yas-reload-all'.
135 See <https://github.com/pezra/rspec-mode/pull/75> for the discussion
136 leading up to this change.
138 *** New functions `yas-activate-extra-mode' and `yas-deactivate-extra-mode'.
139 These are preferable to setting `yas-extra-modes' directly in the mode
140 hook (see issue #420 for more information).
142 *** New variable `yas-new-snippet-default'.
143 The default snippet suggested on `yas-new-snippet' can now be
148 *** `yas-expand' now sets `this-command' when falling back to another command.
149 Previously it was setting `this-original-command', which does not
150 match the documented semantics. See Github #587.
152 *** Github #537: Be lenient to extensions operating on snippet fields.
154 *** Github #619: Parents of extra modes are now activated too.
156 *** Github #549: `yas-verbosity' is now applied to `load' calls too.
158 *** Github #607; avoid obscure Emacs bug triggered by overlays in *Messages* buffer.
159 It was triggered by yasnippet+flycheck+highlight-parentheses. See
160 also <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=21824>
162 *** Github #617; fix x prompt when snippet inserts many lines.
164 *** Github #618; avoid breakage if `scan-sexp' modifies match data.
165 Which it does in Emacs 25.
167 *** Github #562: Deleting inner numberless snippet caused an error.
169 *** Github #418, #536: Fix navigation to zero-length fields at snippet end.
171 *** Github #527, #525 and #526: Attempt to prevent "fallback loops"
172 when interactiing with other extensions that use similar fallback
176 * 0.8.0 (August 2012)
178 ** Changes and New Features
180 *** All YASnippet symbols now prefixed with `yas-'. Keep old `yas/' versions as aliases.
182 *** Yasnippet is now Free Software Foundation's copyright.
184 *** `yas-dont-activate' can be a list of functions.
186 *** Snippets are loaded just-in-time .
187 Thanks to Matthew Fidler for a lot of input with the implementation.
189 *** yasnippet-bundle.el is no longer available.
190 Use `yas-compile-directory' instead if you need the speed advantage.
192 *** New functions `yas-compile-directory' and `yas-recompile-all'.
193 This feature is still undocumented. Generate a
194 .yas-compiled-snippets.el file in the directory passed where snippets
195 are compiled into emacs-lisp code.
197 *** New `yas-verbosity' variable.
199 *** Interactively calling `yas-exit-snippet' exits most recently inserted snippet.
201 *** Using filenames as snippet triggers is deprecated.
203 *** Default value of `yas-show-menu-p' is `abbreviate'.
205 *** `yas-visit-snippet' ignores `yas-prompt-functions'.
207 *** `yas-buffer-local-condition' restricted to trigger-key expansions by default.
209 *** `yas-load-snippet-buffer' (`C-c C-c') in `snippet-mode' has been much improved.
211 *** New variable `yas-expand-only-for-last-commands', thanks Erik Postma.
213 *** New variable `yas-extra-modes' aliases old `yas/mode-symbol'.
215 *** New `yas-describe-tables' command.
217 *** New `yas-define-condition-cache' macro.
218 This defines an optimised function for placing in a `# condition:'
219 directive that will run at most once per snippet-expansion attempt.
221 *** Mirrors can occur inside fields.
223 *** New `# type: command' directive.
224 This feature is still largely undocumented.
226 *** A hidden .yas-setup.el is loaded if found in a snippet directory.
228 *** `yas-wrap-around-region' can now also be `cua' (undocumented feature).
230 *** Make menu groups automatically using new .yas-make-groups file.
232 *** Per-snippet keybindings using `# keybinding:' directive.
234 *** More friendly `yas-expand-snippet' calling convention.
235 This breaks backward compatibility.
237 *** The `# env:' directive is now `# expand-env:'.
239 *** Setup multiple parent modes using new .yas-parents file.
243 *** Github #281: jit-load snippets in the correct order.
245 *** Github #245: primary field transformations work inside nested fields.
247 *** Github #242: stop using the deprecated `assoc' library.
249 *** Github #233: show direct snippet keybindings in the menu.
251 *** Github #194, Googlecode 192: Compatibility with `fci-mode'.
253 *** Github #147, Googlecode 145: Snippets comments were getting inserted.
255 *** Github #141, Googlecode 139: searching buffer in embedded elisp works slightly better.
256 Issue is still open for analysis, though
258 *** Github #95, Googlecode 193: no more stack overflow in org-mode.
261 ----------------------------------------------------------------------
262 This program is free software; you can redistribute it and/or modify
263 it under the terms of the GNU General Public License as published by
264 the Free Software Foundation; either version 3 of the License, or (at
265 your option) any later version.
267 This program is distributed in the hope that it will be useful, but
268 WITHOUT ANY WARRANTY; without even the implied warranty of
269 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
270 General Public License for more details.
276 paragraph-separate: "[
\f]*$"