# Changelog
## v1.1.3
### Enhancements
* Updated dependencies.
* Added Duckdbex query runner.
## v1.1.2
### Enhancements
* Updated dependencies.
* Fixed CI.
* Runners are now more flexible and can return the raw `Postgrex` result or
inside maps, keyword list and custom structs.
## v1.1.0
### Enhancements
* Added new lexer with improved tokens. Now these tokens track:
+ lines and columns for each token.
+ original and modified contents.
* Added new parser with support for both named and unamed queries.
* Improved compiler errors. Now they show:
+ line and columns where errors occur.
+ surrounding lines containing the error.
* Added missing tests for the runners.
* Reorganized documentation.
## v1.0.0
### Enhancements
* Added support for specific runner options e.g. adding a `timeout` to the
`Postgrex` query.
### Breaking changes
* Now it runs queries by default. To avoid running the queries, add the
option `run: false` on the module or the function calls.
## v0.6.1
### Bug fix
* [Dax Ravi](https://github.com/thdxr) fixed an infinite recursion problem
in fragment token regular expression in the lexer.
## v0.6.0
### Enhancements
* Added support for subqueries with local scope.
* Improved documentation.
## v0.5.5
### Bug fix
* Added missing support for function calls by name in parameters.
## v0.5.4
### Bug fix
* Added support for `nil` values for parameters (`NULL`).
## v0.5.3
### Bug fix
* Added support for Windows new line.
## v0.5.2
### Enhancements
* Fixed dialyzer warnings for unexistent type `AyeSQL.Core.query()`.
## v0.5.1
### Enhancements
* Improved documentation.
## v0.5.0
This version maintains the same query language, but it breaks runners as now
queries return `AyeSQL.Query.t()` instead of `{binary(), [term()]}`.
### Enhancements
* Refactored code to improve readability.
* Added `AyeSQL.Query` for queries (instead of tuple).
* Added `AyeSQL.Error` for query errors (instead of returning a string with
the missing parameter).
* Added `AyeSQL.AST.Context` to be able to handle several errors, instead of
returning them one at the time.
* Improved documentation explaining all features.
## v0.4.1
### Enhancements
* Added optional arguments for better composition.
## v0.4.0
### Enhancements
* Added `AyeSQL.Runner` behaviour for writing custom query runners.
* New query runners for Ecto and Postgrex connections.
## v0.3.2
* Added configuration support for running queries by default.
## v0.3.1
### Enhancements
* Added `defqueries/3` to avoid boiler plate code.
## v0.3.0
### Enhancements
* Simplified lexer and parser.
* Now it's possible to accept anonymous blocks of code.
## v0.2.0
### Enhancements
* Now it detects when an SQL file has been changed (suggested by
[Ole Morten Halvorsen](https://github.com/omh)).
* Updated dependencies.
* Improved code for maintainability.
* Improved tests for more code coverage.
* Support for Elixir 1.8 and Erlang 21