nanopass-0.0.3.2: CHANGELOG.md
# Revision history for nanopass
## 0.0.3.2 -- 2025-12-02
* fixed issue where passes would not compile if the target language had parameters
## 0.0.3.1 -- 2025-11-12
* updated dependency version bounds; now compiles on ghc 9.2 through 9.12
* I am likely to drop support on ghc versions <9.6
## 0.0.3.0 -- 2024-01-08
* Stop generating records for each production.
(This would create partial fields which were a rich source of bugs for clients.)
* Re-wrote internal representation of languages.
* New, more consistent grammar for languages, modifications, and passes.
* Exported internal modules, for the sake of developer documentation only.
## 0.0.2.1 -- 2024-01-02
* Fix bug decoding constructors with no fields
* Add missing "modifier" production rules to documentation
* Allow parentheses drop when a syncat modifier has exactly one child
* add `on` prefix to Xlate records to avoid ambiguous records
* require `Xlate{,I}` fields to be strict so they don't get forgotten when you write translators
* because nanopass creates partial-fields (detectable with `-Wpartial-fields`),
I've decided to prefix these with double-underscore to indicate that they are not meant for use
beyond nanopass' internals
## 0.0.2.0 -- 2022-02-11
* Generate documentation for the members of `Xlate` and `XlateI`.
* Add generation of pure variants of translation facilities to `defpass`.
* Change `{Xlate,descend*}A` names to drop the `A`; applicative is probably the more common case.
* Fix bug in testing for `Traversable` instance.
* Generate documentation for generated types/functions.
* Requires template-haskell >=2.18, and therefore GHC 9.2.1
## 0.0.1.0 -- 2022-01-26
* First version. Unreleased in any unsuspecting world.