Changelog
v0.2.1 — Multi-format rendering, transcripts (February 2026)
Section titled “v0.2.1 — Multi-format rendering, transcripts (February 2026)”New features:
- Markdown templates —
.mdfiles are now a fully supported template format, rendered via Jinja2 with optional PDF output (viamarkdown+weasyprint) - PDF output for
.docxtemplates — produced automatically when Microsoft Word (docx2pdf) or LibreOffice is available; soft-fails with a warning if neither is found - Interview transcripts — every document assembly session now saves an
interview_log.jsonand a human-readabletranscript.mdto the job folder, recording questions asked, answers given, and confirmed values - On-demand dependency installation —
docx2pdfis installed only for docx jobs,weasyprintonly for HTML/markdown jobs; no unnecessary packages loaded - Modular renderer — rendering logic extracted into a dedicated
render.pyscript for cleaner skill architecture
New skill:
- Transcriber (
coquill-transcriber) — generatestranscript.mdfrom the interview log after each document assembly session
v0.2 — CoQuill v2 (February 2026)
Section titled “v0.2 — CoQuill v2 (February 2026)”New features:
- Conditional logic with
{% if %}/{% else %}/{% endif %}support - Loop sections with
{% for item in items %}/{% endfor %}support - Developer configuration via optional
config.yamlper template - Interview grouping, conditional groups, and loop groups
- Cross-field validation rules
- Skill separation: Orchestrator, Analyzer, and Renderer skills
- Manifest v2 schema with
schema_version: 2, conditionals, loops, and dependencies - Enhanced Meeting Notes example template (md) demonstrating all v2 features: choice variables, equality and boolean conditionals, loops, and config.yaml
v2 constraints:
- Single-level nesting only
- Two condition forms (truthiness and equality); no
{% elif %} - No computed fields or expressions
v0.1 — MVP (January 2026)
Section titled “v0.1 — MVP (January 2026)”Initial release. Simple variable substitution in .docx and .html templates. Jinja2-style {{ variable_name }} placeholders with type inference from name suffixes.