# Release history All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
Guiding Principles - Changelogs are for humans, not machines. - There should be an entry for every single version. - The same types of changes should be grouped. - Versions and sections should be linkable. - The latest version comes first. - The release date of each versions is displayed. - Mention whether you follow Semantic Versioning.
Types of changes Changelog entries are classified using the following labels _(from [keep-a-changelog](http://keepachangelog.com/)_): - `Added` for new features. - `Changed` for changes in existing functionality. - `Deprecated` for soon-to-be removed features. - `Removed` for now removed features. - `Fixed` for any bug fixes. - `Security` in case of vulnerabilities.
## [3.0.0] - 2018-01-11 ### Breaking changes - removed `lexer.last()` - bumped [snapdragon-stack](https://github.com/here-be/snapdragon-stack), which has replaced all getters with methods that must be called. ## [2.0.0] - 2018-01-08 ### Breaking changes The following changes were made in an effort to make the API closer to other popular parsing libraries, such as babel and acorn. - Renamed `token.val` to `token.value` - `lexer.loc.column` was changed from a 1-index number to a 0-index number - `.current` is now a property set by the `.handle()` method. The value of `lexer.current` is whatever is returned by a handler. - `.prev()` now returns the previously lexed token - `.push()` ## Added - If `lexer.options.mode` is set to `character`, `lexer.advance()` will consume and return a single character each time it's called, instead of iterating over the handlers. - the `token.match` array is now decorated with a `.consumed` property, which is the value of `lexer.consumed` _before_ the match was created. - adds `lexer.stack` for tracking opening/closing structures - adds `lexer.stash` for storing an array of strings (in addition to `lexer.tokens`, which stores objects) - adds `.append` - adds `.skipWhile` - adds `.skipSpaces` ## [1.0.0] - 2017-11-30 - run update - update code comments, add `.skipType` method - add examples - update metadata and urls [3.0.0]: https://github.com/here-be/snapdragon-lexer/compare/3.0.0...2.0.0 [2.0.0]: https://github.com/here-be/snapdragon-lexer/compare/2.0.0...1.0.0 [1.0.0]: https://github.com/here-be/snapdragon-lexer/compare/1.0.0...0.1.0 [keep-a-changelog]: https://github.com/olivierlacan/keep-a-changelog