Major enhancements!
Chalk and ImprovedChalk converters in favor of the Perceptual converterspectrum (main runtime), spectrum_palette (palette definitions), spectrum_palette_ppx (palette codegen PPX), spectrum_tools (color conversion utilities), and spectrum_palettes (generated palette modules)lib/spectrum_palette/*.json, with PPX-generated modules in lib/spectrum_palettes/terminal.mlSpectrum.Stag module: type-safe variant-based API for Format.stag, allowing pre-validated tag construction with zero parsing overhead as an alternative to string tagsspectrum_capabilities package: terminal capability detection extracted into a standalone opam package (zero dependency on the rest of Spectrum)pcre dependency with re (pure OCaml)Spectrum module (instead of Spectrum.Printer as it used to be)Spectrum.prepare_ppf, allowing Spectrum tag handling with the usual Format.printf methods, with the usual buffering behaviour in user's controlSpectrum.Simple.printf and friends, having the always-flush buffer behaviourBasic range to match the list at https://www.ditig.com/256-colors-cheat-sheet% char optional in HSL colours, to avoid ugly escapingrgb(...) and hsl(...) color tagsExn and Noexn interfacesFmt.0.9.0) ...probably affected most uses of sprintf_intosprintf_into kludge with a working sprintf implementation