Appendix C — Changelog

Since we follow Conventional Commits when writing commit messages, we’re able to automatically create formal “releases” of the template based on the commit messages. Releases in the context of template are when changes occur to the template/ files or to the copier.yaml files. The releases are also published to Zenodo for easier discovery, archival, and citation purposes. We use Cocogitto to be able to automatically create these releases, which uses SemVar as the version numbering scheme, and Git Cliff to generate the changelog based on the commit messages.

Because releases are created based on commit messages, a new release is created quite often—sometimes several times in a day. This also means that any individual release will not have many changes within it. Below is a list of the releases we’ve made so far, along with what was changed within each release.

Commits from bots, like dependabot or pre-commit-ci, are not included in the changelog.

C.1 0.15.0 - 2026-10-27

C.1.1 ✨ Features

  • Add section about confusion in learning design (d671b7e)

C.1.2 ♻️ Refactor

  • Use extend-include and -exclude to also use Panache defaults (194d849)
  • Reformat LICENSE and fix URL to Creative Commons (a73acf0)
  • Simplify and clarify language of program install (dda8299)

C.1.3 💄 Styling

C.2 0.14.3 - 2026-10-16

C.2.1 🐛 Fixes

  • Remove jinja extension from Lychee checks (4b5179a)

C.2.2 ♻️ Refactor

  • Update pre-commit hook versions (a6cb8fc)
  • Use offline and remove typos check in cliff.toml (de31677)

C.3 0.14.2 - 2026-10-05

C.3.1 🐛 Fixes

C.4 0.14.1 - 2026-10-03

C.4.1 🐛 Fixes

  • Rename badge from “test” to “checks” (6fd93d6)
  • Correct URLs from check (bc15848)

C.4.2 ♻️ Refactor

  • Split R specific tasks with general pre-workshop tasks (c6cbb7d)
  • Clarify sentence, minor revision (1e507c8)
  • Remove max line lengths from EditorConfig, not needed (e6ca1d4)
  • Move Lychee config to own file (582676f)
  • Remove use of uvx for running Quarto (df1b431)
  • Update pre-commit hook versions in template (821256a)
  • Split reading website section into general and R-specific (0ffb676)

C.4.3 📝 Documentation

C.4.4 💄 Styling

C.4.5 👷 CI/CD

C.4.6 👩‍💻 Miscellaneous

  • Add Jarl to extensions to match template #151 (d4ee338)
  • Update justfile list-todos from t-squared (f0b3dd3)
  • Ignore CHANGELOG with rumdl (f0ce40d)

C.4.7 ⏪ Revert

  • Need to use uvx when rendering README (bb45e18)

C.5 0.14.0 - 2026-09-03

C.5.1 ✨ Features

C.5.2 🐛 Fixes

  • Set path of typos config to new location in .config/ #142 (08a0dca)

C.5.3 ♻️ Refactor

  • Wrap rostools-specific content for easier non-rostools usage #141 (b283fa4)
  • Update config files from synching #149 (6bbb05c)

C.5.4 💄 Styling

C.5.5 👩‍💻 Miscellaneous

  • Ignore typos in CHANGELOG.md, as hashes are false positives #145 (2904410)
  • Fixes and updates to justfile, matching t-squared #144 (ebf621b)
  • Ignore Jinja Markdown files when formatting Markdown #146 (613481e)

C.5.6 ⏪ Revert

C.6 0.13.0 - 2026-09-03

C.6.1 ✨ Features

C.6.2 🐛 Fixes

C.7 0.12.0 - 2026-09-03

C.7.1 ✨ Features

C.7.2 ♻️ Refactor

  • Move rumdl.toml and typos.toml into .config/ #132 (fc8fb4b)
  • Move workflow checks into one workflow file #134 (7a27831)
  • Switch to use Cocogitto and git-cliff for releases #135 (19eba88)
  • Simplify and update justfile based on t-squared #137 (d5be11b)

C.8 0.11.1 - 2026-09-03

C.8.1 🐛 Fixes

C.8.2 📝 Documentation

C.8.3 👷 CI/CD

C.8.4 👩‍💻 Miscellaneous

C.9 0.9.0 - 2026-04-25

C.9.1 ✨ Features

  • Include styler recipe in justfile, to format R in .qmd (9c991a7)
  • Add URN for eventual zen-do PDF upload (5f8b869)
  • Create soft link to extension in justfile (60c69d1)

C.9.2 🐛 Fixes

  • Update path to release workflow (1c09fc2)
  • Fix issues found during testing (c83df00)

C.9.3 ♻️ Refactor

  • Sort contributors in tool script (b63e3b2)
  • Update pre-commit versions (528c2d0)
  • Shorten recipe to just install-deps (9033962)
  • Small formatting fixes to pre-workshop tasks files (ff83c1a)
  • Simplify metadata values to match t-squared (3a599f8)
  • Simplify the Copier questions asked, removing unnecessary ones (80a2c04)
  • Don’t use reusable workflows, include full steps (17d69e5)
  • Simplify VS Code settings (524608e)
  • Sync extensions and snippets with template (05c2051)
  • Sync files to template (33986a2)
  • Set some vscode settings only for R workshops (8314ce9)
  • Rostools extension only added for rostools projects (7f1d8a8)
  • Set auto-release files only for rostools templates (a64ad79)
  • _publish.yaml should only be added for Netlify projects (f53d731)
  • Small improvements to text in CODEOWNERS (827bf06)
  • Move explanation of files into CONTRIBUTING (79fc8d8)
  • Change format of slides if its for rostools or not (761aa9c)
  • Reformat files (1de0c81)
  • Update Quarto theme (8bf0344)

C.9.4 📝 Documentation

  • Update license year (88cbb37)
  • Add 404 page to website (8339b95)
  • Update guide to match t-squared (f1ae1a0)
  • Update CONTRIBUTING based on t-squared (7cf6b34)
  • Update README via t-squared changes (2222ae3)
  • Clarify that there are four versions of the template (385d4b0)
  • Remove completed TODO items (76bb250)

C.9.5 💄 Styling

C.9.6 🧪 Tests

  • Update test script to match changes (89f1613)

C.9.7 👷 CI/CD

  • Don’t use scopes and use explicit emojis (b5af0e8)
  • Updates to workflows from template (66a55ba)

C.9.8 👩‍💻 Miscellaneous

  • Update pre-commit hook versions (b3e781d)
  • Update justfile from template (ee3ae36)
  • DevEx updates from applying t-squared template (574dc46)
  • Simplify VS Code settings via t-squared (d1895df)
  • Use tagline instead of titles.full in _metadata.yaml (e44aa58)
  • Update pre-commit hook version (68e86d1)
  • Should be rostools-theme, not seedcase-theme (e5961d1)
  • Don’t look in _temp/ and _book/ for TODOs (05e068d)
  • Expand test suite in justfile (437b8d8)

C.10 0.8.2 - 2026-04-07

C.10.1 🐛 Fixes

  • Need to use two ##, not three for panel-tabset (3d1e04c)
  • Small corrections to installing R packages doc (819fa82)

C.11 0.8.1 - 2026-04-06

C.11.1 🐛 Fixes

  • Solution chunk should be a callout and collapsed (f6568fe)

C.12 0.8.0 - 2026-04-06

C.12.1 ✨ Features

  • Include “solution chunk” snippet into VS Code settings (cc07ce8)
  • Link to r-universe, don’t need RTools/pak (f3cd7d8)

C.12.2 🐛 Fixes

  • Workflow job should be called release-project (5e8913f)
  • Forgot to include a #sec- tag in for-teachers.qmd (8cbb156)

C.12.3 ♻️ Refactor

  • Update rostools-theme extension (c2b8229)
  • Small edits to justfile recipe docs (b22079c)
  • Explicitly use Posit Air for R formatting in VS Code settings (282b994)
  • No longer need the workshop_level metadata item (cf6546a)
  • Simplify learning design and use headers rather than list (c198fca)

C.13 0.7.0 - 2026-03-30

C.13.1 ✨ Features

  • Include hidden contributor list sections in README and index (b8a3bd1)
  • Some .vdoc.* type files are created by Quarto, ignore them (d69a38f)
  • Standardize table widths of schedule (1016f74)
  • Add badges to landing page (1f1bce3)

C.13.2 🐛 Fixes

  • Correct URLs from lychee check (512bdb1)
  • Correct URL in copier.yaml (17975c9)
  • Resolve Markdown formatting issues (f6c9448)
  • Don’t format on save for qmd, creates .vdoc files everywhere (5fd305f)
  • Match #sec- with filename (091c72c)

C.13.3 ♻️ Refactor

  • Update rostools-theme Quarto extension (40a3138)
  • Update pre-commit hook versions (2e6001b)
  • Install uv directly, rather than first pipx (a826e25)
  • Indent by 2 in Markdown files in .editorconfig (8022a35)
  • Simplify pull request template after Markdown formatter added (a755a48)
  • Include @sec- links to chapters along with a link (40da12a)
  • Use quotes around values in _quarto.yml (bf50fc5)
  • Rename style to format-r in justfile (5580b5d)

C.13.4 📝 Documentation

  • Add Dependabot as feature in landing page (5aac7cc)

C.13.5 👩‍💻 Miscellaneous

  • Don’t copy over .rumdl.toml to template, they are both different (115a1e2)

C.14 0.6.0 - 2026-03-26

C.14.1 ✨ Features

  • Add rumdl Markdown formatter (d583cef)

C.14.2 🐛 Fixes

  • Clarify that RTools needs to match R (4cba18b)
  • Replace ‘course’ with ‘workshop’ (c43757e)

C.14.3 ♻️ Refactor

  • Don’t need to explicitly use theme in _quarto.yml (7d87879)
  • Ensure URLs are checked in just run-all (02572be)
  • Revise contributor list tool to match Markdown formatter (b56e8b1)
  • Ignore auto-generated Quarto ipynb files (0472411)
  • Clarify that instructors are learning (in intro) (d9bee8f)

C.14.4 📝 Documentation

  • Clarify that --trust runs commands after copying (4fa281c)

C.14.5 💄 Styling

C.15 0.5.0 - 2026-02-07

C.15.1 ✨ Features

  • Exclude latex output files from typos (26248d4)
  • Add lychee URL checking to justfile (c857ddc)

C.15.2 ♻️ Refactor

  • Simplify code of conduct text (5cfed50)

C.15.3 📝 Documentation

  • Match CHANGELOG intro with the template’s text (0cf3beb)
  • Add lychee to feature list (60e0da7)
  • Add callout block about post-creation setup (cfad7dc)

C.16 0.4.15 - 2025-09-17

C.16.1 ♻️ Refactor

  • Explain how releases work in CHANGELOG #27 (c9a095b)

C.17 0.4.14 - 2025-09-08

C.17.1 🐛 Fixes

  • Remove duplicate sentence in pre-workshop overview (e8a2d5f)
  • Need to include theme: brand in _quarto.yml (2e85c6d)
  • Can use svg in License badge (a649245)

C.17.2 ♻️ Refactor

  • Strip empty Jinja lines correctly (108550d)

C.17.3 👷 CI/CD

  • Don’t need the GITHUB TOKEN anymore (f9f058f)
  • Remove leftover, irrelevant TODO item (e578635)

C.18 0.4.13 - 2025-09-03

C.18.1 🐛 Fixes

  • Move github_repo as question to fix update issue (cbf9efa)

C.18.2 ♻️ Refactor

  • Output get-contributors.sh as text, send to file in justfile (12032cb)

C.19 0.4.12 - 2025-09-03

C.19.1 ♻️ Refactor

  • Minor text edits to pre-workshop code of conduct #26 (098dd0c)

C.20 0.4.11 - 2025-09-03

C.20.1 🐛 Fixes

  • dst_path isn’t good to use when running updates (a9d78f9)

C.20.2 📝 Documentation

  • Use ### for contributors (6b106a1)

C.20.3 💄 Styling

C.21 0.4.10 - 2025-09-03

C.21.1 ♻️ Refactor

  • Minor text edit to improve flow #24 (dcafa85)
  • Save _contributors.yml to includes/ (6ad7998)

C.21.2 📝 Documentation

  • Add contributors section to README and index (68816cd)

C.21.3 👩‍💻 Miscellaneous

  • Add signekb to contributors #25 (40511c0)
  • Save _contributors.yml to docs/includes/ (0b5cf16)

C.22 0.4.8 - 2025-09-03

C.22.1 🐛 Fixes

  • Correctly strip empty jinja lines (93dd56b)

C.22.2 ♻️ Refactor

  • Should be isIdenticalTo and lesson in .zenodo.json (1d85f07)

C.23 0.4.7 - 2025-09-03

C.23.1 ♻️ Refactor

C.24 0.4.6 - 2025-09-03

C.24.1 ♻️ Refactor

C.25 0.4.5 - 2025-09-02

C.25.1 🐛 Fixes

  • Need to check for existence of github_repo first (724b9ae)

C.25.2 💄 Styling

  • Add extra spacing for subitem in _quarto.yml (c47b577)

C.26 0.4.4 - 2025-09-02

C.26.1 🐛 Fixes

  • This badge is default svg, don’t end with it (794a875)

C.26.2 📝 Documentation

  • Fix typo in CHANGELOG (bd57cb7)
  • Can’t use svg for this badge (14e8586)

C.27 0.4.3 - 2025-09-02

C.27.1 ♻️ Refactor

  • Remove trailing / from URL (7bef860)
  • Ignore irrelevant dirs when listing TODOs (8b1aa10)
  • Include revert as a branch tag (a4a891e)

C.28 0.4.2 - 2025-09-02

C.28.1 🐛 Fixes

  • No spaces aroun em-dashes (359f3ce)

C.28.2 ♻️ Refactor

  • Update pre-commit hook versions (cf7bf30)
  • Use quarto update to match recipe name (dd2d552)
  • Exclude justfile when listing TODOs (8bc9c8b)
  • Replace ending of _contributors.yml with newline for pre-commit styling (d58e806)
  • Simplify some text of the README (44f7699)

C.28.3 📝 Documentation

C.28.4 👩‍💻 Miscellaneous

  • Use rostools-theme for project in _quarto.yml (3698f9a)

C.29 0.4.1 - 2025-08-29

C.29.1 🐛 Fixes

  • CONTRIBUTING in template shouldn’t refer to “template” (6f6b0a8)
  • Removed left over note in justfile (9f16d0f)
  • Should say “teach”, not “instruct” (8d01054)

C.29.2 ♻️ Refactor

  • Mention that some files are for development too (ff91448)
  • Use less emojis and a specific star in star-us includes (519d704)

C.30 0.4.0 - 2025-08-29

C.30.1 ✨ Features

  • Add GoatCounter HTML script (678f696)

C.30.2 ♻️ Refactor

  • Rproj file should only be added for R workshops (f338d73)
  • Strip empty Jinja lines (a0fa2ec)

C.31 0.3.2 - 2025-08-29

C.31.1 ♻️ Refactor

  • Wrap text in README in a callout block for separation (8b889a8)

C.32 0.3.1 - 2025-08-28

C.32.1 🐛 Fixes

  • Should be knitr in the Rproj file, not Sweave (202c051)
  • Should be >- for validating (d437218)
  • Forgot to include commas in .zenodo.json fields (b3734e5)

C.32.2 ♻️ Refactor

  • Abbrev meta isn’t used anywhere (0ba3062)

C.32.3 📝 Documentation

  • Add DOI of template in Zenodo (be8953a)

C.32.4 🧪 Tests

  • Use -r HEAD to include uncommitted changes (53c0054)

C.32.5 👩‍💻 Miscellaneous

  • Add manual test recipe in justfile #19 (324b72a)

C.33 0.3.0 - 2025-08-28

C.33.1 ✨ Features

  • Include changelog in website, plus add more text in it (6231120)

C.33.2 🐛 Fixes

  • Need to store github_repo in answers file (8ed028c)
  • Point contributor script to generated template repo (39ab89d)

C.33.3 ♻️ Refactor

  • Keep assignee empty in Dependabot PRs (292c395)
  • Use svg for copier badge (87bdced)
  • Build contributor list in justfile, not Quarto config (8f777e2)
  • Use shorter link to LICENSE in README (6af92b8)
  • Add TODO item in slides (411035e)

C.33.4 📝 Documentation

  • Moved releases contents into CHANGELOG (8dfb0a0)
  • Fix links to internal docs in README (669f91f)

C.33.5 🧪 Tests

  • Don’t run just run-all when testing (c6c4414)

C.33.6 👷 CI/CD

  • Install Quarto in test workflow (5f46db1)

C.33.7 👩‍💻 Miscellaneous

  • Build contributors list in justfile, not Quarto config (7cc9b4d)
  • Removed duplicate rostools-theme extension (8f7242b)
  • Add some additional DevEx settings to vscode (4a06cd7)
  • Need to copy extension to template/ only (2db8981)
  • Typed wrong repo name, should be template-workshop (93223a1)
  • Regenerated README (3d64b96)

C.34 0.2.0 - 2025-08-24

C.34.1 ✨ Features

  • Add .zenodo.json to the template (d9e0331)
  • Add justfile to template (2b82882)
  • Add includes for “follow us” block (ecc4238)
  • Standalone page for learning design (3926f70)
  • Set of default badges for template README and landing page (d8a5967)
  • Update template’s README (0875301)
  • Justfile recipe to build readme in template (d5ecc90)
  • Add _metadata.yml file to hold common text (bd482a4)
  • Fill out templating in _quarto.yml file (a1a241a)
  • Add initial, though empty, CHANGELOG file (cfab052)
  • Add a post-copy message and tasks (197195f)
  • Add empty objectives includes file (abb4dce)
  • Add author name questions (0d1775d)
  • Add (empty) CODEOWNERS (dadad02)
  • Create starting URL for workshop on copy (613480c)
  • Output README.qmd to GFM Markdown version (21c3a41)
  • Include a survey includes file (3236445)
  • Create Jinja templated version of the landing page (47246b2)
  • Add a “is this for you” page (e2085da)
  • Add all pages to _quarto.yml (0717742)

C.34.2 🐛 Fixes

  • Should be { }, without the % (2e216e3)
  • Wrap ${{ }} in {{ to escape them (883e9ca)
  • Can’t have spaces between %} (4e0801e)
  • Jinja else if needs to be elif (a6465c1)
  • Includes of file should have _ (14b9659)
  • Need to escape Quarto shortcodes if in Jinja file (bf7611f)
  • Quarto {# need to be escaped in Jinja (31e471c)
  • Jinja strip empty lines needs a specific format (c3f9e0c)
  • Include shortcode should always use root / (0e463eb)
  • Actually have to insert _metadata.yml file in _quarto.yml (79442ab)

C.34.3 ♻️ Refactor

  • Use only one .cz.toml, but use internal ‘if’ statements inside (83edab0)
  • Move code of conduct out of includes as own page (5c75208)
  • Expand on template’s CONTRIBUTING doc (185f3c1)
  • Merge template website build workflow into one file (f6f65c4)
  • Include a starting URL for Quarto website in Netlify (741de3e)
  • Remove social time from schedule (880e630)
  • Converted includes into own pages in template (534ab56)
  • Simplify includes to all be in includes/ (fd5b296)
  • Include “reading-website” into overview page (77dbea1)
  • No need for generic “installing-programs” doc (1b41da6)
  • Session isn’t always an R workshop, don’t need code chunk (d7999f2)
  • Match syllabus structure to that done in GitHub Intro (69c0bf2)
  • Moved version information for installing into _metadata.yml (1be5334)
  • Set Zenodo upload type to lesson (6f626c4)
  • Use lowercase for workshop type naming (59d5e03)
  • Switch to using github_user and github_repo for project naming (5721de3)
  • Don’t need the update from template workflow (ff76529)
  • Fix link to instructor guide (e188e8f)
  • Switch to using bash in check-commits justfile (e14385d)
  • Check that board number is a number (9a3ed3e)
  • Remove duplicate text in survey page (ef71a72)
  • Stylistic and editing changes to installing R packages page (56bb3f1)
  • Prefix includes with _ (fe65084)
  • Rename to _star-us.qmd, not “follow” (904b215)
  • Include snippets of all possible sections in session (be41def)
  • Make intro slides a bit more generic (466f1ea)
  • Clean up leftover vscode setting files (b9c0fe0)
  • Includes need to be prefixed with _ (136e695)
  • Don’t update template in run-all of justfile (17d5089)

C.34.4 📝 Documentation

  • Add contributor list (d838710)
  • Add release page to website (281d123)
  • Generalise authors to “template-workshop” authors (947ef3d)
  • Add explanation about releasing and commit messages (0a701ca)
  • Add guide doc to website (2d9f6df)
  • Add note about setting up Netlify (c72e566)
  • Correct doc comment in contributing script (78eefe3)
  • Forgot to use correct meta shortcode (c0e9db3)
  • Add auto-generated contributors.qmd file (e856105)
  • Use svg images for badges (b41f297)
  • Hide contributors for now, only me currently (ef9d267)
  • Use svg version of badges in README (623e38d)

C.34.5 🧪 Tests

  • Update tests to match change in copier.yaml (65a4718)
  • Initial copy (ad03399)
  • Preparing to recopy from the template (e63f5bb)
  • Preparing to copy onto an existing package (f0dbc4d)
  • Fix issues with testing in justfile, move to own file (7033264)

C.34.6 👷 CI/CD

  • Generalise test workflow (3ffd2cc)
  • Don’t need the env in the test workflow (1b42eb3)
  • Need to set Git user for test workflow to run (c130b5b)

C.34.7 👩‍💻 Miscellaneous

  • Move metadata into _metadata.yml (d7651d2)
  • Don’t need (0f87822)
  • Fully update the justfile to match changes in Seedcase (7b13a0b)
  • Copy over extension to template (150fe10)
  • Rename to use lowercase r (3bd2f81)
  • Correct the goat counter website URL (ebcdaa5)
  • Add guide and releases to sidebar in website (6211cd1)
  • Use bash, not zsh in justfile (5b0d8a4)
  • Don’t copy over build website workflow (e411c9d)
  • Don’t need to run contributor script from justfile (15ee0c1)
  • Add CODEOWNERS, with me and Signe (cfb3c70)
  • Cleaned up the .vscode files a bit (9ee315d)
  • Seemed to have deleted it, brought back (ba2067a)

C.35 0.1.0 - 2025-08-24

C.35.1 📝 Documentation

  • Expand on CONTRIBUTING guide #2 (45bb005)
  • Update CITATION file for this template #3 (9865946)
  • Match README style with Seedcase template style #7 (621dae2)
  • Landing page of website #8 (3b61e52)

C.35.2 💄 Styling

  • Add rostools-theme Quarto extension #5 (6eac546)

C.35.3 👩‍💻 Miscellaneous

  • Start template repo (c5123e4)
  • Improve some DevEx settings #4 (f0d089b)
  • Do not skip workflows on version bump #6 (172e4f1)
  • Add all Quarto config and build files #9 (18aac29)