Packages
spark
2.1.6
2.7.2
2.7.1
2.7.0
2.6.1
2.6.0
2.5.0
2.4.1
2.4.0
2.3.14
2.3.13
2.3.12
2.3.11
2.3.10
2.3.9
2.3.8
2.3.7
2.3.6
2.3.5
2.3.4
2.3.3
2.3.2
2.3.1
2.3.0
2.2.69
2.2.68
2.2.67
2.2.66
2.2.65
2.2.64
2.2.63
2.2.62
2.2.61
2.2.60
2.2.59
2.2.58
2.2.57
2.2.56
2.2.55
2.2.54
2.2.53
2.2.52
2.2.51
2.2.50
2.2.49
2.2.48
2.2.47
2.2.46
2.2.45
2.2.44
2.2.43
2.2.42
2.2.41
2.2.40
2.2.39
2.2.38
2.2.37
2.2.36
2.2.35
2.2.34
2.2.33
2.2.32
2.2.31
2.2.30
2.2.29
2.2.28
2.2.27
2.2.26
2.2.25
2.2.24
2.2.23
2.2.22
2.2.21
2.2.20
2.2.19
2.2.18
2.2.17
2.2.16
2.2.15
2.2.14
2.2.13
2.2.12
2.2.11
2.2.10
2.2.9
2.2.8
2.2.7
2.2.6
2.2.5
2.2.4
2.2.3
2.2.2
2.2.1
2.2.0
2.1.24
2.1.23
2.1.22
2.1.21
2.1.20
2.1.19
2.1.18
2.1.17
2.1.16
2.1.15
2.1.14
2.1.13
2.1.12
2.1.11
2.1.10
2.1.9
2.1.8
2.1.7
2.1.6
2.1.5
2.1.4
2.1.3
2.1.2
2.1.1
2.1.0
2.0.1
2.0.0
1.1.55
1.1.54
1.1.53
1.1.52
1.1.51
1.1.50
1.1.49
1.1.48
1.1.47
1.1.46
1.1.45
1.1.44
1.1.43
1.1.42
1.1.41
1.1.40
1.1.39
1.1.38
1.1.37
1.1.36
1.1.35
1.1.34
1.1.32
1.1.31
1.1.30
1.1.29
1.1.28
1.1.27
1.1.26
1.1.25
1.1.24
1.1.22
1.1.21
1.1.20
1.1.19
1.1.18
1.1.17
1.1.16
1.1.15
1.1.14
retired
1.1.13
1.1.12
1.1.11
1.1.10
1.1.9
1.1.8
1.1.7
1.1.6
1.1.5
1.1.4
1.1.3
1.1.2
1.1.1
1.1.0
1.0.9
1.0.8
1.0.7
1.0.6
1.0.5
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0
0.4.12
0.4.11
0.4.10
0.4.9
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.3.12
0.3.11
0.3.10
0.3.9
0.3.8
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.18
0.2.17
0.2.16
0.2.15
0.2.14
0.2.13
0.2.12
0.2.11
0.2.10
0.2.9
0.2.8
0.2.7
0.2.6
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.29
0.1.28
0.1.27
0.1.26
0.1.25
0.1.24
0.1.23
0.1.22
0.1.21
0.1.20
0.1.19
0.1.18
0.1.17
0.1.16
0.1.15
0.1.14
0.1.13
0.1.12
0.1.11
0.1.10
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
Generic tooling for building DSLs
Current section
Files
Jump to
Current section
Files
CHANGELOG.md
# Change Log
All notable changes to this project will be documented in this file.
See [Conventional Commits](Https://conventionalcommits.org) for commit guidelines.
<!-- changelog -->
## [v2.1.6](https://github.com/ash-project/spark/compare/v2.1.5...v2.1.6) (2024-03-26)
### Bug Fixes:
* use the entity key, not the name, for placing entities
## [v2.1.5](https://github.com/ash-project/spark/compare/v2.1.4...v2.1.5) (2024-03-26)
### Improvements:
* ensure offered completions are unique
* ensure completions are offered to piped in functions
## [v2.1.4](https://github.com/ash-project/spark/compare/v2.1.3...v2.1.4) (2024-03-25)
### Improvements:
* Add `{:protocol, module}` as a supported type. (#79)
## [v2.1.3](https://github.com/ash-project/spark/compare/v2.1.2...v2.1.3) (2024-03-20)
### Improvements:
* handle single arg entities as options
* capture stacktrace in dsl errors, reuse on raising
## [v2.1.2](https://github.com/ash-project/spark/compare/v2.1.1...v2.1.2) (2024-03-18)
### Bug Fixes:
* add back in support for `:struct` type
## [v2.1.1](https://github.com/ash-project/spark/compare/v2.1.0...v2.1.1) (2024-03-18)
### Improvements:
* better, more type aware autocompletion
* less crashing of elixir ls
## [v2.1.0](https://github.com/ash-project/spark/compare/v2.0.1...v2.1.0) (2024-03-15)
### Bug Fixes:
* add defaults to `Verifier` functions
* autocomplete properly when multiple scopes are on one line
* don't require that using module is compiled
### Improvements:
* autocomplete for macros as well
* autocomplete options to `use` a DSL
* support autocompleting function opts
## [v2.0.1](https://github.com/ash-project/spark/compare/v2.0.0...v2.0.1) (2024-02-26)
### Bug Fixes:
* handle `nil` values in `spark_function_behaviour`
## [v2.0.0](https://github.com/ash-project/spark/compare/v1.1.54...v2.0.0) (2024-02-23)
### Breaking Changes:
* vendor NimbleOptions in `Spark.Options`
### Bug Fixes:
* honour an entity's snippet when one is present. (#77)
* only import recursive entities from other extensions inside entities
* import entity builders from other extensions inside of entities
## [v1.1.54](https://github.com/ash-project/spark/compare/v1.1.53...v1.1.54) (2024-01-12)
### Bug Fixes:
* properly detect dsl links with ? and ! in them
* update Spark.Formatter to respect `extensions` list (#73)
* spec & doc type for `:quoted`
* correct typespec/sanitisation for :in and :one_of (#72)
* proper typespec for keyed nimble types (#70)
* keep subsection of target merged schema
### Improvements:
* working `doc_type` for nested schemas (#71)
## [v1.1.53](https://github.com/ash-project/spark/compare/v1.1.52...v1.1.53) (2023-12-16)
### Bug Fixes:
* properly type spec map types
## [v1.1.52](https://github.com/ash-project/spark/compare/v1.1.51...v1.1.52) (2023-12-13)
### Bug Fixes:
* don't use question marks in module names
* Ensure `\\` for default argument values are rendered correctly in generated guides (#68)
### Improvements:
* accept structs in info functions by default
## [v1.1.51](https://github.com/ash-project/spark/compare/v1.1.50...v1.1.51) (2023-11-14)
### Improvements:
* ensure struct references are compiled
## [v1.1.50](https://github.com/ash-project/spark/compare/v1.1.49...v1.1.50) (2023-10-25)
### Bug Fixes:
* fix alias usage regression
### Improvements:
* change `:wrap_list` doc to `x | list(x)` (#60)
## [v1.1.49](https://github.com/ash-project/spark/compare/v1.1.48...v1.1.49) (2023-10-25)
### Bug Fixes:
* properly mark all aliases as used
* only optimize spark dsl config's with list paths
### Improvements:
* `persisters` are unordered transformers always run at the end
## [v1.1.48](https://github.com/ash-project/spark/compare/v1.1.47...v1.1.48) (2023-10-18)
### Improvements:
* optimize entity & option fetching
## [v1.1.47](https://github.com/ash-project/spark/compare/v1.1.46...v1.1.47) (2023-10-17)
### Improvements:
* optimize access to persisted data
* better error message on bad transformer
## [v1.1.46](https://github.com/ash-project/spark/compare/v1.1.45...v1.1.46) (2023-10-11)
### Bug Fixes:
* properly handle fragments after spark_dsl_config is set
* properly derive dsl state from source of truth in set_state
## [v1.1.45](https://github.com/ash-project/spark/compare/v1.1.44...v1.1.45) (2023-10-11)
### Bug Fixes:
* run transformers *after* handling fragments
## [v1.1.44](https://github.com/ash-project/spark/compare/v1.1.43...v1.1.44) (2023-10-11)
### Bug Fixes:
* properly set anchor links in cheat sheets
## [v1.1.43](https://github.com/ash-project/spark/compare/v1.1.42...v1.1.43) (2023-10-09)
### Bug Fixes:
* fix spark.formatter plugin not removing all parens
## [v1.1.42](https://github.com/ash-project/spark/compare/v1.1.41...v1.1.42) (2023-10-08)
### Improvements:
* markdown -> html for cheat_sheets
## [v1.1.41](https://github.com/ash-project/spark/compare/v1.1.40...v1.1.41) (2023-10-02)
### Bug Fixes:
* trim cheat_sheets before checking
* support nested types in `:keyword_list` and `:map` nimble types. (#62)
## [v1.1.40](https://github.com/ash-project/spark/compare/v1.1.39...v1.1.40) (2023-09-27)
### Improvements:
* add `mix spark.replace_doc_links`
* clean up cheat sheets & various type improvements
## [v1.1.39](https://github.com/ash-project/spark/compare/v1.1.38...v1.1.39) (2023-09-16)
### Bug Fixes:
* handle empty string case in cheat_sheets
## [v1.1.38](https://github.com/ash-project/spark/compare/v1.1.37...v1.1.38) (2023-09-16)
### Bug Fixes:
* allow empty extensions in spark.cheat_sheets
## [v1.1.37](https://github.com/ash-project/spark/compare/v1.1.36...v1.1.37) (2023-09-16)
### Improvements:
* `inspect_if` adds backticks for better docs
* better display for nested DSLs in cheat sheets
## [v1.1.36](https://github.com/ash-project/spark/compare/v1.1.35...v1.1.36) (2023-09-15)
### Improvements:
* include section descriptions
## [v1.1.35](https://github.com/ash-project/spark/compare/v1.1.34...v1.1.35) (2023-09-15)
### Bug Fixes:
* properly show entity argument examples
## [v1.1.34](https://github.com/ash-project/spark/compare/v1.1.33...v1.1.34) (2023-09-14)
### Improvements:
* add `--check` to `spark.cheat_sheets`
## [v1.1.33](https://github.com/ash-project/spark/compare/v1.1.32...v1.1.33) (2023-09-14)
### Improvements:
* don't show examples if there aren't any
## [v1.1.32](https://github.com/ash-project/spark/compare/v1.1.31...v1.1.32) (2023-09-14)
### Bug Fixes:
* don't remove DSL directory immediately after generating
## [v1.1.31](https://github.com/ash-project/spark/compare/v1.1.30...v1.1.31) (2023-09-14)
### Improvements:
* remove dsl cheat sheets after building
## [v1.1.30](https://github.com/ash-project/spark/compare/v1.1.29...v1.1.30) (2023-09-14)
### Improvements:
* more cheat sheet improvements
## [v1.1.29](https://github.com/ash-project/spark/compare/v1.1.28...v1.1.29) (2023-09-14)
### Improvements:
* show tags in cheat sheets
## [v1.1.28](https://github.com/ash-project/spark/compare/v1.1.27...v1.1.28) (2023-09-14)
### Improvements:
* better cheat sheet formatting & docs
## [v1.1.27](https://github.com/ash-project/spark/compare/v1.1.26...v1.1.27) (2023-09-14)
### Bug Fixes:
* properly unimport other extension top level sections
* only do top level unimports on second level paths
* handle more unimports of top level entities
* recusively sanitize keyword and map types. (#59)
* OptionsHelpers: Some nimble options types can have nested schemas. (#58)
### Improvements:
* better formatted cheat sheets
* add initial cheat sheet generators
## [v1.1.26](https://github.com/ash-project/spark/compare/v1.1.25...v1.1.26) (2023-09-11)
### Bug Fixes:
* recusively sanitize keyword and map types. (#59)
* OptionsHelpers: Some nimble options types can have nested schemas. (#58)
## [v1.1.25](https://github.com/ash-project/spark/compare/v1.1.24...v1.1.25) (2023-09-01)
### Bug Fixes:
* support patching top level sections
## [v1.1.24](https://github.com/ash-project/spark/compare/v1.1.23...v1.1.24) (2023-08-30)
### Bug Fixes:
* don't inspect dsl map in info generator errors
* code highlight error (#56)
### Improvements:
* allow `Patch.AddEntity` if a same-target entity exists (#53)
## [v1.1.23](https://github.com/ash-project/spark/compare/v1.1.22...v1.1.23) (2023-08-17)
### Improvements:
* handle when clauses on anonymous functions
## [v1.1.22](https://github.com/ash-project/spark/compare/v1.1.21...v1.1.22) (2023-07-27)
### Improvements:
* fix lexical import error in DSL macros
## [v1.1.21](https://github.com/ash-project/spark/compare/v1.1.20...v1.1.21) (2023-07-22)
### Improvements:
* support `{:spark, _}` in typespec generators
## [v1.1.20](https://github.com/ash-project/spark/compare/v1.1.19...v1.1.20) (2023-07-13)
### Improvements:
* add `verify` callback
* Spark.Dsl.Extension: Add `add_extensions` option which allows an extension to invite its friends. (#49)
## [v1.1.19](https://github.com/ash-project/spark/compare/v1.1.18...v1.1.19) (2023-07-11)
### Bug Fixes:
* unimport other extensions when opening a section
* reimport all sections after opening one
* unimport entire extension, reimport only pertinent sections
* only unimport/reimport necessary sections
* unimport top level sections
## [v1.1.18](https://github.com/ash-project/spark/compare/v1.1.17...v1.1.18) (2023-06-22)
### Bug Fixes:
* handle entity uniqueness properly
### Improvements:
* `defbuilderp`
## [v1.1.17](https://github.com/ash-project/spark/compare/v1.1.16...v1.1.17) (2023-06-20)
### Bug Fixes:
* nested entity paths contain their section?
* handle two-deep recursive as nested entity unimports
* fix imports around recursive_as entitites
### Improvements:
* unimport top level sections from non-top-level sections
## [v1.1.16](https://github.com/ash-project/spark/compare/v1.1.15...v1.1.16) (2023-06-20)
### Bug Fixes:
* handle mixed lists of entities better
* incorrect identity logic in `Transformer.build_entity/4`. (#44)
* better typespec for keyword lists
* wrap_list type fix behavior
* Entity: don't ever use `Map.put/3` to set an entity's `__identifier__`. (#43)
## [v1.1.15](https://github.com/ash-project/spark/compare/v1.1.14...v1.1.15) (2023-06-07)
### Bug Fixes:
* don't explode for non-tuple argument values. (#42)
## [v1.1.14](https://github.com/ash-project/spark/compare/v1.1.13...v1.1.14) (2023-06-07)
### Bug Fixes:
* Spark.Dsl.Entity: Clobbering of optional arguments (#41)
## [v1.1.13](https://github.com/ash-project/spark/compare/v1.1.12...v1.1.13) (2023-05-30)
### Improvements:
* add `:fun` options type
## [v1.1.12](https://github.com/ash-project/spark/compare/v1.1.11...v1.1.12) (2023-05-30)
### Bug Fixes:
* swap `Exception.exception?` for `Kernel.is_exception` (#36)
* don't support args in entity builders
* don't support builders for args
### Improvements:
* add `singleton_entity_keys` option
* moderately more helpful error message when introspecting a non Spark module. (#35)
* remove doc index
## [v1.1.11](https://github.com/ash-project/spark/compare/v1.1.10...v1.1.11) (2023-05-10)
### Improvements:
* don't document functions generated by Spark.Dls (#34)
## [v1.1.10](https://github.com/ash-project/spark/compare/v1.1.9...v1.1.10) (2023-05-04)
### Bug Fixes:
* handle more cases where notifier is not an extension
## [v1.1.9](https://github.com/ash-project/spark/compare/v1.1.8...v1.1.9) (2023-05-04)
### Bug Fixes:
* handle extensions with no sections
## [v1.1.8](https://github.com/ash-project/spark/compare/v1.1.7...v1.1.8) (2023-05-03)
### Bug Fixes:
* better behavior with latest elixirls release
## [v1.1.7](https://github.com/ash-project/spark/compare/v1.1.6...v1.1.7) (2023-05-03)
### Bug Fixes:
* remove hardcoded line number
## [v1.1.6](https://github.com/ash-project/spark/compare/v1.1.5...v1.1.6) (2023-05-03)
### Bug Fixes:
* handle more anonymous function types in DSLs
## [v1.1.5](https://github.com/ash-project/spark/compare/v1.1.4...v1.1.5) (2023-05-01)
### Improvements:
* better error messages on exceptions in transformers
## [v1.1.4](https://github.com/ash-project/spark/compare/v1.1.3...v1.1.4) (2023-04-27)
### Improvements:
* require `__identifier__` field for identifiers
## [v1.1.3](https://github.com/ash-project/spark/compare/v1.1.2...v1.1.3) (2023-04-26)
### Improvements:
* `Transformer.async_compile/2`
## [v1.1.2](https://github.com/ash-project/spark/compare/v1.1.1...v1.1.2) (2023-04-24)
### Improvements:
* don't wrap wrap_list snippets by default
## [v1.1.1](https://github.com/ash-project/spark/compare/v1.1.0...v1.1.1) (2023-04-24)
### Improvements:
* better snippets, `:wrap_list` type
## [v1.1.0](https://github.com/ash-project/spark/compare/v1.0.9...v1.1.0) (2023-04-22)
### Features:
* top level DSLs!
### Improvements:
* give every dsl entity a unique identifier
* support top level sections in elixir_sense plugin
## [v1.0.9](https://github.com/ash-project/spark/compare/v1.0.8...v1.0.9) (2023-04-21)
### Bug Fixes:
* correct args spec in `Spark.Dsl.Entity.t`. (#31)
### Improvements:
* add identifier-based entity replacement
* add `imports` to extensions
## [v1.0.8](https://github.com/ash-project/spark/compare/v1.0.7...v1.0.8) (2023-04-11)
### Bug Fixes:
* fix keyword_list types and list types
## [v1.0.7](https://github.com/ash-project/spark/compare/v1.0.6...v1.0.7) (2023-04-08)
### Bug Fixes:
* fix nested section module prefix
* remove merge warning in a single DSL
## [v1.0.6](https://github.com/ash-project/spark/compare/v1.0.5...v1.0.6) (2023-04-06)
### Improvements:
* sanitize nested schemas
## [v1.0.5](https://github.com/ash-project/spark/compare/v1.0.4...v1.0.5) (2023-04-06)
### Bug Fixes:
* properly merge fragments with base DSL
## [v1.0.4](https://github.com/ash-project/spark/compare/v1.0.3...v1.0.4) (2023-04-05)
### Bug Fixes:
* don't rely on new elixir version function
### Improvements:
* properly set extension types, and prevent overwriting
## [v1.0.3](https://github.com/ash-project/spark/compare/v1.0.2...v1.0.3) (2023-04-05)
### Bug Fixes:
* nested entities not being correctly checked for uniqueness. (#28)
## [v1.0.2](https://github.com/ash-project/spark/compare/v1.0.1...v1.0.2) (2023-04-05)
### Improvements:
* fragments & identifiers
## [v1.0.1](https://github.com/ash-project/spark/compare/v1.0.0...v1.0.1) (2023-03-31)
### Bug Fixes:
* unimport recursive options everywhere
## [v1.0.0](https://github.com/ash-project/spark/compare/v0.4.12...v1.0.0) (2023-03-31)
### Breaking Changes:
* much better recursive DSL ergonomics
### Improvements:
* better async compiler task handling
## [v0.4.12](https://github.com/ash-project/spark/compare/v0.4.11...v0.4.12) (2023-03-25)
### Bug Fixes:
* Relax nimble_options dependency (#27)
## [v0.4.11](https://github.com/ash-project/spark/compare/v0.4.10...v0.4.11) (2023-03-23)
### Improvements:
* make code helpers public
## [v0.4.10](https://github.com/ash-project/spark/compare/v0.4.9...v0.4.10) (2023-03-23)
### Improvements:
* update to nimble_options 1.0
## [v0.4.9](https://github.com/ash-project/spark/compare/v0.4.8...v0.4.9) (2023-03-21)
### Bug Fixes:
* better typespec generation
## [v0.4.8](https://github.com/ash-project/spark/compare/v0.4.7...v0.4.8) (2023-03-20)
### Improvements:
* ad `{:literal_value, value}` type
## [v0.4.7](https://github.com/ash-project/spark/compare/v0.4.6...v0.4.7) (2023-03-02)
### Bug Fixes:
* properly match patched entities in formatter
## [v0.4.6](https://github.com/ash-project/spark/compare/v0.4.5...v0.4.6) (2023-03-02)
### Bug Fixes:
* properly get all entity/option builders for formatter
## [v0.4.5](https://github.com/ash-project/spark/compare/v0.4.4...v0.4.5) (2023-02-19)
### Improvements:
* Make generated __using__/1 overridable for Dsls. (#26)
## [v0.4.4](https://github.com/ash-project/spark/compare/v0.4.3...v0.4.4) (2023-02-14)
### Bug Fixes:
* more fixes for aliases
## [v0.4.3](https://github.com/ash-project/spark/compare/v0.4.2...v0.4.3) (2023-02-13)
### Improvements:
* fix unused alias warnings once and for all
## [v0.4.2](https://github.com/ash-project/spark/compare/v0.4.1...v0.4.2) (2023-02-13)
### Bug Fixes:
* don't add docs to `@moduledoc false` mods
### Improvements:
* evaluate `Transformer.eval` chunks in the order they're added. (#24)
## [v0.4.1](https://github.com/ash-project/spark/compare/v0.4.0...v0.4.1) (2023-02-08)
### Bug Fixes:
* Make sections explicitly patchable, improve info generator. (#23)
## [v0.4.0](https://github.com/ash-project/spark/compare/v0.3.12...v0.4.0) (2023-02-06)
### Features:
* InfoGenerator: extract from AshAuthentication. (#22)
## [v0.3.12](https://github.com/ash-project/spark/compare/v0.3.11...v0.3.12) (2023-02-05)
### Bug Fixes:
* spark.formatter properly split modules
## [v0.3.11](https://github.com/ash-project/spark/compare/v0.3.10...v0.3.11) (2023-02-05)
### Bug Fixes:
* `all_entity_builders/3` passing extensions as path
* properly use Spark.Dsl behaviour
## [v0.3.10](https://github.com/ash-project/spark/compare/v0.3.9...v0.3.10) (2023-02-05)
### Bug Fixes:
* don't use `Keyword.update!` when we don't know the key is there
### Improvements:
* support DSL modules having an explain callback
* support adding entities via dsl patches
## [v0.3.9](https://github.com/ash-project/spark/compare/v0.3.8...v0.3.9) (2023-01-30)
### Bug Fixes:
* CodeHelpers: don't generate duplicate functions. (#20)
## [v0.3.8](https://github.com/ash-project/spark/compare/v0.3.7...v0.3.8) (2023-01-27)
### Bug Fixes:
* Support multiple function clauses in anonymous functions (#18)
* Entity.t: included `nil` option in typespecs where a field could be left default. (#17)
### Improvements:
* compile modules async for much faster compilation
* speed up compilation by defining DSL modules in parallel
## [v0.3.7](https://github.com/ash-project/spark/compare/v0.3.6...v0.3.7) (2023-01-19)
### Improvements:
* don't suggest do/end blocks for entities
## [v0.3.6](https://github.com/ash-project/spark/compare/v0.3.5...v0.3.6) (2023-01-18)
### Bug Fixes:
* remove variable scope when stripping metadata
### Improvements:
* update to new docs patterns
* centralize anonymous function handling code
* add `:quoted` type
## [v0.3.5](https://github.com/ash-project/spark/compare/v0.3.4...v0.3.5) (2023-01-12)
### Bug Fixes:
* exclude all metadata from code identifier
## [v0.3.4](https://github.com/ash-project/spark/compare/v0.3.3...v0.3.4) (2023-01-09)
### Bug Fixes:
* properly ensure options list is pushed to the end
* don't remove incorrect opts, broken in last commit
* properly handle optional keyword list/do blocks with optional args
## [v0.3.3](https://github.com/ash-project/spark/compare/v0.3.2...v0.3.3) (2023-01-06)
### Improvements:
* support functions in entity args better
## [v0.3.2](https://github.com/ash-project/spark/compare/v0.3.1...v0.3.2) (2022-12-22)
### Bug Fixes:
* support optional entity args in formatter
* run verifiers in after_compile hook in old versions
## Improvements:
* support `imports` option on entities
## [v0.3.1](https://github.com/ash-project/spark/compare/v0.3.0...v0.3.1) (2022-12-16)
### Bug Fixes:
* handle raised error in doc_index link replacements better
### Improvements:
* support optional entity arguments (🎉)
## [v0.3.0](https://github.com/ash-project/spark/compare/v0.2.18...v0.3.0) (2022-12-14)
### Features:
* add verifiers
### Bug Fixes:
* ensure entities config exists for recursive entities
* properly traverse tuple subtypes
### Improvements:
* allow regexes in code modules
* add the file to the persisted state
* add `module` type
## [v0.2.18](https://github.com/ash-project/spark/compare/v0.2.17...v0.2.18) (2022-12-07)
### Bug Fixes:
* fix modules typespec
* typespecs: fix incorrect typespec for `Spark.Dsl.Entity.t` (#14)
### Improvements:
* update to latest nimble options
## [v0.2.17](https://github.com/ash-project/spark/compare/v0.2.16...v0.2.17) (2022-12-02)
### Improvements:
* more anonymous function type support
## [v0.2.16](https://github.com/ash-project/spark/compare/v0.2.15...v0.2.16) (2022-12-02)
### Improvements:
* support partial captures in functions
* leave unordered code where it is when sorting DSL sections
## [v0.2.15](https://github.com/ash-project/spark/compare/v0.2.14...v0.2.15) (2022-12-01)
### Bug Fixes:
* properly avoid unquoting functions out of context
## [v0.2.14](https://github.com/ash-project/spark/compare/v0.2.13...v0.2.14) (2022-12-01)
### Improvements:
* various DSL utilities, like `fetch_opt` and `sparks/2`
## [v0.2.13](https://github.com/ash-project/spark/compare/v0.2.12...v0.2.13) (2022-11-30)
### Improvements:
* support `remove_parens?` option for `Spark.Formatter`
* Typespecs: add a `t` type for `Spark.Dsl.Extension`. (#12)
## [v0.2.12](https://github.com/ash-project/spark/compare/v0.2.11...v0.2.12) (2022-11-21)
### Bug Fixes:
* Incorrect typespecs. (#11)
## [v0.2.11](https://github.com/ash-project/spark/compare/v0.2.10...v0.2.11) (2022-11-19)
### Bug Fixes:
* properly handle `{:or, [{:spark_function_behaviour, ...}]}` types
* support anonymous functions in an `or` type
* don't cause unnecessary export dependency recompilation
### Improvements:
* Add typespecs for `Spark.Dsl.Entity` and `Spark.Dsl.Section`. (#10)
## [v0.2.10](https://github.com/ash-project/spark/compare/v0.2.9...v0.2.10) (2022-11-15)
### Bug Fixes:
* add basename to guide typespec
## [v0.2.9](https://github.com/ash-project/spark/compare/v0.2.8...v0.2.9) (2022-11-15)
### Improvements:
* support explicitly ordering guides
## [v0.2.8](https://github.com/ash-project/spark/compare/v0.2.7...v0.2.8) (2022-11-03)
### Bug Fixes:
* properly link to libraries, and support `default_guide`
## [v0.2.7](https://github.com/ash-project/spark/compare/v0.2.6...v0.2.7) (2022-11-03)
### Improvements:
* support generic docs replacements renderer
## [v0.2.6](https://github.com/ash-project/spark/compare/v0.2.5...v0.2.6) (2022-10-31)
### Bug Fixes:
* add new `spark_function_behaviour` to elixir_sense plugin
### Improvements:
* support `{:or, ...}` option types
## [v0.2.5](https://github.com/ash-project/spark/compare/v0.2.4...v0.2.5) (2022-10-30)
### Bug Fixes:
* un-break recursive DSL entities
## [v0.2.4](https://github.com/ash-project/spark/compare/v0.2.3...v0.2.4) (2022-10-29)
### Improvements:
* support anonymous functions in the DSL
* remove necessity for `{:elixir_sense, ...}` to make the plugin work
## [v0.2.3](https://github.com/ash-project/spark/compare/v0.2.2...v0.2.3) (2022-10-28)
### Improvements:
* add `Builder.input()` type
## [v0.2.2](https://github.com/ash-project/spark/compare/v0.2.1...v0.2.2) (2022-10-28)
### Improvements:
* add `handle_nested_builders/2`
## [v0.2.1](https://github.com/ash-project/spark/compare/v0.2.0...v0.2.1) (2022-10-27)
### Bug Fixes:
* handle non tuple return in builder
## [v0.2.0](https://github.com/ash-project/spark/compare/v0.1.29...v0.2.0) (2022-10-24)
### Features:
* add `Spark.Dsl.Builder`
## [v0.1.29](https://github.com/ash-project/spark/compare/v0.1.28...v0.1.29) (2022-10-21)
### Improvements:
* add `{:struct, Struct}` option type
* DslError: Add type for `DslError` struct. (#4)
## [v0.1.28](https://github.com/ash-project/spark/compare/v0.1.27...v0.1.28) (2022-10-08)
### Bug Fixes:
* resolve issue w/ Code.eval_quoted
### Improvements:
* OptionsHelpers: Add typespecs for options helpers. (#3)
## [v0.1.27](https://github.com/ash-project/spark/compare/v0.1.26...v0.1.27) (2022-10-04)
### Bug Fixes:
* go back to fully hiding `no_require` modules
## [v0.1.26](https://github.com/ash-project/spark/compare/v0.1.25...v0.1.26) (2022-09-29)
### Improvements:
* add `mix_tasks/0` to `DocIndex`
## [v0.1.25](https://github.com/ash-project/spark/compare/v0.1.24...v0.1.25) (2022-09-20)
### Improvements:
* add `t()` type for DSL
## [v0.1.24](https://github.com/ash-project/spark/compare/v0.1.23...v0.1.24) (2022-09-20)
### Improvements:
* properly induce export dependency and still use aliases
## [v0.1.23](https://github.com/ash-project/spark/compare/v0.1.22...v0.1.23) (2022-09-20)
### Improvements:
* no dependencies hacked into export dependencies
## [v0.1.22](https://github.com/ash-project/spark/compare/v0.1.21...v0.1.22) (2022-09-20)
## [v0.1.21](https://github.com/ash-project/spark/compare/v0.1.20...v0.1.21) (2022-09-15)
### Bug Fixes:
* put back in fetching from module attribute if possible
## [v0.1.20](https://github.com/ash-project/spark/compare/v0.1.19...v0.1.20) (2022-09-15)
### Improvements:
* preliminary support for passing maps to introspection
* allow extensions to modify the module docs of an extension
## [v0.1.19](https://github.com/ash-project/spark/compare/v0.1.18...v0.1.19) (2022-08-31)
### Bug Fixes:
* revert ordering changes that appear to be causing errors
## [v0.1.18](https://github.com/ash-project/spark/compare/v0.1.17...v0.1.18) (2022-08-25)
### Bug Fixes:
* fix base resource pattern
* using type config in more places
* use configured type
### Improvements:
* add otp_app getter
## [v0.1.17](https://github.com/ash-project/spark/compare/v0.1.16...v0.1.17) (2022-08-23)
### Bug Fixes:
* don't create module docs for generated modules
## [v0.1.16](https://github.com/ash-project/spark/compare/v0.1.15...v0.1.16) (2022-08-23)
### Improvements:
* remove `default_guide/1`
## [v0.1.15](https://github.com/ash-project/spark/compare/v0.1.14...v0.1.15) (2022-08-19)
### Improvements:
* work on doc index
## [v0.1.14](https://github.com/ash-project/spark/compare/v0.1.13...v0.1.14) (2022-08-19)
### Improvements:
* add docs to hex package
## [v0.1.13](https://github.com/ash-project/spark/compare/v0.1.12...v0.1.13) (2022-08-19)
### Improvements:
* try out adding extra package metadata
## [v0.1.12](https://github.com/ash-project/spark/compare/v0.1.11...v0.1.12) (2022-08-18)
### Improvements:
* add default to get_option
* fix package files
## [v0.1.11](https://github.com/ash-project/spark/compare/v0.1.10...v0.1.11) (2022-08-18)
### Improvements:
* more documentation, tools for hex docs
## [v0.1.10](https://github.com/ash-project/spark/compare/v0.1.9...v0.1.10) (2022-08-18)
### Improvements:
* WIP on fixing the way we distribute doc files
## [v0.1.9](https://github.com/ash-project/spark/compare/v0.1.8...v0.1.9) (2022-08-17)
### Bug Fixes:
* properly ignore built in alias types
### Improvements:
* use libgraph to sort transformers
## [v0.1.8](https://github.com/ash-project/spark/compare/v0.1.7...v0.1.8) (2022-08-16)
### Improvements:
* don't provide the module to transformers
* update sourceror depednency
## [v0.1.7](https://github.com/ash-project/spark/compare/v0.1.6...v0.1.7) (2022-08-15)
### Improvements:
* add `spark.formatter.exs` (from ash)
## [v0.1.6](https://github.com/ash-project/spark/compare/v0.1.5...v0.1.6) (2022-08-14)
### Improvements:
* add formatter
## [v0.1.5](https://github.com/ash-project/spark/compare/v0.1.4...v0.1.5) (2022-08-14)
### Bug Fixes:
* properly use spark dsl error
## [v0.1.4](https://github.com/ash-project/spark/compare/v0.1.3...v0.1.4) (2022-08-14)
### Bug Fixes:
* add `Spark.Error.DslError`
## [v0.1.3](https://github.com/ash-project/spark/compare/v0.1.2...v0.1.3) (2022-08-14)
### Bug Fixes:
* properly handle `spark` types
## [v0.1.2](https://github.com/ash-project/spark/compare/v0.1.1...v0.1.2) (2022-08-14)
### Bug Fixes:
* validate spark types properly
## [v0.1.1](https://github.com/ash-project/spark/compare/v0.1.1...v0.1.1) (2022-08-14)