Changelog for qm-interpolated-string-0.3.1.0
0.3.1.0
-
Support GHC 9.2.3
-
Drop Travis CI (no longer available for free for open source projects)
-
Add GitHub Actions CI configuration
- Nix-based
- Plain Cabal & Stack setups with multiple GHC versions
-
Add Nix configuration (only affects development)
-
Add Stack support
-
Drop GHC 7.x support because I have no options on CI to test it. It doesn’t mean it will no longer work with 7.x for sure but it’s not tested anymore.
-
Increase minimal Cabal version requirement from
1.8
to1.10
because Hackage requires at least1.10
now. Also adddefault-language
to every component because Hackage reports this error:Packages using 'cabal-version: >= 1.10' and before 'cabal-version: 3.4' must specify the 'default-language' field for each component (e.g. Haskell98 or Haskell2010).
0.3.0.0
- Testing on GHC 8.2.2
- More tests to cover more usage scenarios
- Ability to use
}
inside an interpolation block by escaping it
WARNING! Breaking changes
-
\r
characters are no longer pre-removed.Up to v0.2.1.0 all
\r
characters were pre-removed. When you compile your code with GHC you can use either LF or CRLF for line-breaks but not CR alone. When I changed handling of interpolation blocks (see below) I needed to get contents of interpolations blocks without any modifications, so I replaced pre-removing all CRs with explicit handling of CRLF in patterns. If your code ever was depending on\r
symbols appearing alone inside quoters (that I can't even imagine) it could break your code. But it will probably never happen, I'm just noticing it here. -
Fix for interpolation blocks parsing.
Once I noticed that
[qm|{"\n"}|]
compiles to"n"
, I considered this as a bug, I also realized that interpolation blocks aren't interpreted as a bare Haskell code as I was expecting. My bad, I've missed that, haven't written enough tests to cover such scenarios, it migrated from original interpolatedstring-perl6 package. So I had to fix this mistake, notwithstanding it can break your code when you update the library. Now everything inside interpolation blocks is taken as bare haskell code as possible.
0.2.1.0
- Support GHC 7.4.1
- Internal modules moved to
other-modules
section
0.2.0.0
- Added tab (
\t
) symbol escaping (breaks backward compatibility with v0.1.1.0) - Support new LTS Haskell 9.0 (ghc-8.0.2) (updated upper version of haskell-src-meta from 0.7.x to 0.8.x)
- Added
qmb
QuasiQuoter, it'sqm
+b
(line-Breaks), it works just asqm
but keeps line breaks (still ignores indendation) - Added
qnb
QuasiQuoter (qmb
without interpolation), it'sqn
+b
(line-Breaks), it works just asqn
but keeps line breaks (still ignores indendation) - Added
qms
QuasiQuoter, it'sqm
+s
(Spaces), it works just asqmb
but kept line breaks replaced with spaces - Added
qns
QuasiQuoter (qms
without interpolation), it'sqn
+s
(Spaces), it works just asqnb
but kept line breaks replaced with spaces - More docs and tests
0.1.1.0
- Added
qn
QuasiQuoter as alternative toqm
but without interpolation - Some code refactoring
- More docs and tests