# ChangeLog

- Intro and tutorial
- Howto: organize
- Howto: expand
- Howto: write
- Howto: menu
- FAQ
- ChangeLog
- Download

Important: This documentation applies to the SVN trunk of YASnippet, which you get here. Documentation for other versions can be found here.

# 0.6.1c / 2009-08-13

- Fixed issues 99, 98, 93, 90, 91, 88, 87. Thanks everybody.
- More compliant customization group Issue94, (thanks wyuenho).
- Added workaround for issue 97 in the FAQ
- Small updates to documentation.

# 0.6.1b / 2009-08-29

- Much more powerful menu. See The YASnippet menu.
- New ways to organize snippets. See Organizing snippets.
- Added `yas/also-auto-indent-first-line` customization variable.
- Renamed directive `# env:` to `# expand-env:`
- Rewrote much of the documentation.
- Added TextMate import tool `textmate-import.rb` to to svn repository (see "extras/")
- Added experimental bundle of textmate snippets `yasnippet-textmate-bundle.el`
- Fixed Issue 74 (thanks rmartin.k...@gmail.com)
- Fixed Issues 80 through 84 (thanks Moritz Bunkus)
- Fixed many more issues...

# 0.6.0c / 2009-07-27

- Now byte compiles correctly with no warnings.
- Fixed Issue 68 with mouse-clicking alternatives in `ido-mode`.
- Added `yas/also-auto-indent-first-line` customization variable.

# 0.6.0b / 2009-07-25

- Nested placeholders of the type `<div${1: id="${2:someid}"}> $0`.
- More robust undo/redo support.
- Stacked snippet expansion (snippet in snippet).
- Transformation on a primary field with syntax `${1:default$(transform)}`
- Validations on field exit through the `yas/verify-value` primary field transformation.
- Wrapping the region in the exit marker `$0` of the snippet. Use `yas/wrap-around-region`.
- Auto-indentation. Use `yas/indent-line` set to `'auto`
- Easier definition of snippets. Use `yas/find-snippets` or `yas/visit-snippet-file`. In the new `snippet-mode` use `yas/load-snippet-buffer` and `yas/tryout-snippet`.
- Customization group `yasnippet`.
- Overriding customization variables in snippets. Use the `env: let-form` template keyword.
- Fixed Issue 60
- Fixed Issue 65
- Fixed Issue 56

# 0.5.10 / 2009-02-11

- Added grouping support so that the snippets in the menu can be groupped together.
- Make the bundle ELPA compatible.

# 0.5.9 / 2009-01-21

- Fixed the bug of disabling the auto-indenting of `cc-mode`.

# 0.5.8 / 2009-01-15

- Added a `key` property in snippet definition for snippet names that are not valid path name.
- Fixed some bugs of indenting (Issue 44, Issue 46).
- Fixed Issue 45 by providing a proper default value for `yas/buffer-local-condition`.
- Added helper function `yas/substr` for convenient mirror transformation.
- Make variable `yas/registered-snippet` properly initialized.
- Fixed the overlay error when overlay becomes empty (Issue 49 and Issue 48). This bug has occurred and been fixed earlier, and should not have happened if we have proper regression test.
- Added a workaround for `c-electric-` serial commands (Issue 27).

# 0.5.7 / 2008-12-03

- Fixed Issue 28 of properly clean up snippet (by joaotavora).
- Added a new section "Field-level undo functionality" to correct Issue 33 (by joaotavora).
- Added some snippets from users for sql, erlang, scala, html, xml, latex, etc.
- Fixed Issue 16 by adding `$>` support. Here's the doc for $> indenting.

# 0.5.6 / 2008-08-07

- Added a buffer local variable `yas/dont-activate` to turn off `yas/minor-mode` in some major modes. See Issue 29.
- Make the environment of elisp evaluation more friendly to `(current-column)`.
- Fixed the regular expression bug in python-mode snippets.
- Use filename or full key extension for snippet name if no `name` property is defined.

# 0.5.5 / 2008-05-29

- Tweak `yas/extra-mode-hooks` so that it can be more easily customized.
- Add an entry in FAQ about why `TAB` key doesn't work in some modes.

# 0.5.4 / 2008-05-15

- Added `ox-mode-hook` and `python-mode-hook` to `yas/extra-mode-hooks` to fix the problem YASnippet is not enabled in those modes.

# 0.5.3 / 2008-05-07

- Fix indent of python-mode snippets.
- Fix a bug of dropdown-list: conflicts with color-theme (Issue 23). Thanks Mike.
- Fix a bug of condition system.

# 0.5.2 / 2008-04-20

- Fix a bug for comparing string to symbol using `string=` (which will fire an error).

# 0.5.1 / 2008-04-14

- Use a beautiful css style in the document.

# 0.5.0 / 2008-04-10

- Integrate with hippie-expand. Just add `yas/hippie-try-expand` to `hippie-expand-try-functions-list`.
- If you set `yas/fall-back-behavior` to `'return-nil`, YASnippet will return nil when it can't find a snippet to expand.
- Defect fix: the condition of a snippet was evaluated twice in earlier version.
- Deleting snippet (using `C-w` or `C-k`) won't cause serious problem now.
- Several complex snippet for python-mode from Yasser included in the distribution.

# 0.4.5 / 2008-04-07

- Merge the latest dropdown-list.el.
- Add snippets for f90-mode from Li Zhu.
- Bug fix: l-safe-expr-p: Lisp nesting exceeds `max-lisp-eval-depth` error when several (more than two) snippets overlaps. Thanks sunwaybupt@newsmth for reporting this bug.

# 0.4.4 / 2008-03-24

- Bug fix: dropdown-list.el doesn't recognize [return] properly.

# 0.4.3 / 2008-03-23

- Bug fix: failed to recognize user customized yas/trigger-key.

# 0.4.2 / 2008-03-22

- Make a separate document package for release. Also make document available online.

# 0.4.1 / 2008-03-21

- Make sure `yas/minor-mode`'s key bindings always take priority to other minor modes.

# 0.4.0 / 2008-03-20

- Document refinement and released with YASnippet. Most of the Online wiki document will be deprecated soon.
- Powerful condition system added to yasnippet!
- Incorporate `dropdown-list.el` and make it default way for selecting multiple candidates. Thanks to Jaeyoun Chung.
- yas/before-expand-snippet-hook

# 0.3.2 / 2008-03-19

- Enhancement: A better way to define minor-mode. Thanks to Kentaro Kuribayashi. See this thread for more details.

# 0.3.1 / 2008-03-17

- Bug fix: Emacs get confused when a field is deleted. See issue 10.

# 0.3.0 / 2008-03-16

- Add a `yas/after-exit-snippet-hook` so that you can do something like `indent-region` or `fill-region` after finish the snippet.
- Use minor-mode instead of `global-set-key` to bind the trigger key. Now the trigger key and fall-back behavior can be more flexible. Not constrained to `<tab>`. Thanks to Trey Jackson. See this thread for more details.
- Now user can customize the popup function for selecting multiple candidate for the same snippet key.
- Support `dropdown-list.el` to be a better way to select multiple candidate when in text mode.

# 0.2.3 / 2008-03-15

- Bug in non-window (-nw) mode when there's multiple candidate to expand. See issue 7.
- Allow expanding another snippet as long as not currently inside a field.

# 0.2.2 / 2008-03-13

- Added customized face for fields and mirrors. Better in dark background. And users can customize it.

# 0.2.1 / 2008-03-10

- Fix the insert-behind problem under both Emacs 22 and Emacs 23.

# 0.2.0 / 2008-03-10

- Use big keymap overlay to detect `insert-behind` event manually to avoid sometimes missed hook calls. See issue 3 for more details.
- Support parent snippet table. Now you can set (for example) `cc-mode` as common mode for `c++-mode`, `c-mode` and `java-mode`. They'll share snippets defined for `cc-mode`.

# 0.1.1 / 2008-03-08

- Add a rake task to upload to google code.
- Use elisp compile-bundle function instead of python scrip

# 0.1.0 / 2008-03-07

- Embedded elisp support.
- Fields navigation support.
- Mirror of fields support.
- Menu-bar support.
- Multiple snippets with same name support.
- Popup menu for multiple snippet with same name support.
- Transformation of fields support.
- Load directory support.
- Compile bundle support.