scripths-0.4.0.0: CHANGELOG.md
# Revision history for scripths
## 0.4.0.0 -- 2026-05-29
* **`OverloadedStrings` on by default** in every scripths repl, so string literals
work directly as `Text` / `ByteString`.
* **Compile-time Template Haskell now sees your working directory**: notebooks
using TH (e.g. `$(declareTable "./data/x.db" …)`) have their body bracketed with
a compile-time `setCurrentDirectory`, so splices that read files at compile time
resolve `./relative` paths against your tree instead of the throwaway project
dir. Only added when the notebook actually uses TH.
* **In-place notebooks**: `-i` / `--in-place` rewrites a notebook over itself,
stripping and replacing previously rendered output. `reassemble` is now
idempotent — re-running no longer accumulates blank lines around code fences.
* **Inline block errors**: a code block that fails to compile now renders its GHC
diagnostic beneath the block (stdout and stderr are captured as one ordered
stream) instead of producing silent empty output.
* **Second local package**: new `-- cabal: packages: <dir>, …` directive for
depending on non-enclosing local packages (relative to the script). Local
package names — from `packages:`, `--package`, or the enclosing project — are
now added to the synthetic `build-depends` automatically, so their modules
import without a separate `build-depends` line.
* **Output marker renamed** from `sabela:mime` to `scripths:mime`. The legacy
marker is still recognised when re-parsing older notebooks.
## 0.3.3.0 -- 2026-05-24
* Build against **local packages**: auto-include the enclosing cabal project when a
`build-depends` names it (zero-config; `--no-local-project` to disable), and a
repeatable `--package DIR` / `-p DIR` flag for sibling/sub-library checkouts. Lets
documentation build against an unreleased local working tree.
* New `-- cabal: source-repository-package: <location> <ref> [subdir]` directive for
pinning a pushed git commit/tag reproducibly; rendered into the generated
`cabal.project`.
* `CabalMeta` gains `metaSourceRepos` and `metaUnknownKeys`; unrecognised `-- cabal:`
keys now warn to stderr (instead of being silently dropped).
* The generated `cabal.project` is regenerated each run (guarded by a `-- managed by
scripths` sentinel so hand-edited project files are preserved), replacing the old
write-once behaviour. Rewrote the CLI argument parser.
## 0.3.1.0 -- 2026-04-23
* Better block parsing when there are function signatures and comments.
## 0.3.0.1 -- 2026-03-14
* improve block parsing
## 0.2.0.2 -- 2026-03-14
* Stop adding extra white space to code cells.
## 0.2.0.1 -- 2026-03-01
* Fix issue with SVG mime type.
## 0.2.0.0 -- 2026-03-01
* Add mime type to output.
* Make blocks out of single lines of code as well.
## 0.1.0.2 -- 2026-02-28
* Make blocks out of single lines of code as well.
## 0.1.0.1 -- 2026-02-24
* Fix code new ine behaviour for code fencing.
## 0.1.0.0 -- YYYY-mm-dd
* First version. Released on an unsuspecting world.