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.
0.23.5 - 2026-06-01
- Replace reusable workflows with normal workflow steps
#284
by
@lwjohnst86(4659456)
0.23.4 - 2026-06-01
- Moved file explanation into CONTRIBUTING, not README
#289
by
@lwjohnst86(68af4af)
0.23.3 - 2026-06-01
- Switch to using Cocogitto and git-cliff for releasing
#282
by
@lwjohnst86(deea47b)
0.23.2 - 2026-05-22
- Match changes from t-squared and from root folder
#287
by
@lwjohnst86(317884a)
0.23.1 - 2026-05-22
- Move config files into
.config/orpyproject.toml#280 by@lwjohnst86(f65c2bc)
0.23.0 - 2026-05-22
- Add
pyproject.tomlclassifiers for better discoverability #290 by@lwjohnst86(fd37f23)
0.22.3 - 2026-05-22
- Remove Conventional Commit scopes and use raw emoji
#283
by
@lwjohnst86(03ab0ba) - Remove
build-pdffrom justfile, not needed anymore #288 by@lwjohnst86(3ca4fe5) - Switch to using
uvxfor dev tooling,uv runisn't needed #285 by@lwjohnst86(126dca2)
- Minor clean up of docs
#286
by
@lwjohnst86(73f4bb6)
0.22.2 - 2026-05-19
- Simplify the Copier questions by removing many of them
#278
by
@lwjohnst86(a0bf7ad)
- Update license year
#269
by
@lwjohnst86(2b8969e) - Update
CONTRIBUTING.mdfrom t-squared, explain about files #272 by@lwjohnst86(9119dd3) - Split out guide into multiple pages
#275
by
@lwjohnst86(9106e1d) - Improve README from t-squared
#273
by
@lwjohnst86(b2d1b34)
- Update Seedcase Quarto theme
#276
by
@lwjohnst86(75a4a39)
- Update test script from t-squared updates
#271
by
@lwjohnst86(ae2e490)
- Update workflows from t-squared, improve releasing
#267
by
@lwjohnst86(855c11f) - Correct logic to check if release is possible
#277
by
@lwjohnst86(7ca4a65)
- DevEx improvements from t-squared
#268
by
@lwjohnst86(f31cbec) - Improve justfile from t-squared
#270
by
@lwjohnst86(8b96b6c) - Improve formatting of contributor list
#274
by
@lwjohnst86(6562be2)
0.22.1 - 2026-04-10
- Ignore spell checking in auto-generated
site_libs/#258 by@joelostblom(a820637)
0.22.0 - 2026-03-25
- Add website preview build step
#255
by
@joelostblom(5b6349a)
0.21.0 - 2026-02-18
- Use ruff to check for unused arguments instead of vulture
#246
by
@joelostblom(12941f3)
0.20.0 - 2026-02-16
- Add URL Lychee checker to justfile
#244
by
@lwjohnst86(cf1f99d)
0.19.0 - 2026-02-16
- Add rumdl Markdown formatter
#239
by
@lwjohnst86(85eab2c)
0.18.0 - 2026-02-16
- Show source line on mypy errors
#243
by
@joelostblom(bf1c13e)
@joelostblommade their first contribution in #243
0.17.12 - 2026-01-15
- Expand on explanation of release process
#229
by
@lwjohnst86(c8dd66a)
0.17.11 - 2026-01-15
- Quarto auto-adds this line, this fixes it so Quarto stops
#230
by
@lwjohnst86(e40953b)
- Update pre-commit hook versions
#231
by
@lwjohnst86(61d6725)
- Updated Quarto theme
#228
by
@lwjohnst86(eddde6e)
0.17.10 - 2025-09-18
- Overwrite
_contributor.qmdwith>#207 by@lwjohnst86(87525bf)
- Upgrade pre-commit hook versions
#208
by
@lwjohnst86(b76199a)
- Move contributors file and update it
#206
by
@lwjohnst86(2d796f6)
- Use reusable test workflow
#201
by
@lwjohnst86(308e437)
0.17.9 - 2025-09-10
- Use
update, notaddfor Quarto extension #195 by@lwjohnst86(e23a84d)
- Use correct single quote character
#204
by
@lwjohnst86(0f91e51)
- Run Dependabot every month (and not assign anyone)
#202
by
@lwjohnst86(d938885) - No need to pass
GITHUB_TOKEN(it was for contributors file) #203 by@lwjohnst86(c82390f)
0.17.8 - 2025-09-08
github_repo(via_folder_name) doesn't work usingupdate#197 by@lwjohnst86(4307300)- Ignore other dirs and files when listing todos
#200
by
@lwjohnst86(9311d46)
update-from-workflowis too complicated and not needed #190 by@lwjohnst86(86f7618)- Contributor script outputs text, output to file with justfile
#192
by
@lwjohnst86(fa45b93) - Simplify CHANGELOG description
#193
by
@lwjohnst86(8b66b47) - Update pre-commit hook versions
#199
by
@lwjohnst86(4695e1d)
- Don't need this license, not relevant
#191
by
@lwjohnst86(119e3b7)
- Match manual test recipe of other templates
#198
by
@lwjohnst86(e45c0ca)
0.17.7 - 2025-09-05
- Simplify PR template
#196
by
@lwjohnst86(dacd20e)
- Add Marton's ORCID
#194
by
@lwjohnst86(fbed560)
0.17.6 - 2025-09-05
- Rename to
check-python, notbuild#189 by@lwjohnst86(73294f4)
- Group 'config' copier 'questions' to bottom of file
#175
by
@lwjohnst86(00db7cf)
- Use HEAD, including uncommitted changes, when testing
#185
by
@lwjohnst86(40b81f4)
- Simplify title of workflow for smaller badge
#168
by
@lwjohnst86(2985876)
0.17.5 - 2025-09-02
- Can render everything in Quarto project
#183
by
@lwjohnst86(c4fa42a)
- Recipe that manually tests template through the questions
#184
by
@lwjohnst86(a9c3a9f)
0.17.4 - 2025-09-02
- Add more items to sidebar, like overview
#182
by
@lwjohnst86(bc0e41c)
0.17.3 - 2025-09-02
- Create homepage as variable, not question
#179
by
@lwjohnst86(95d2a4e)
0.17.2 - 2025-09-02
- Ignore
justfilewhen listing TODO items #181 by@lwjohnst86(a4d3c73)
0.17.1 - 2025-09-02
- Need
date-releasedinCITATION.cff#180 by@lwjohnst86(5df0928)
0.17.0 - 2025-09-02
- Add CHANGELOG with some description of it
#178
by
@lwjohnst86(5302ef1)
0.16.6 - 2025-09-02
- Delete whole references folder pre and post render
#142
by
@martonvago(c0e9161)
0.16.5 - 2025-09-01
- Move GoatCounter file into
docs/includes/#177 by@lwjohnst86(136c464)
- Add contributors list section to README and website
#172
by
@lwjohnst86(58f5c3a) - Add DOI to CITATION and as a badge
#176
by
@lwjohnst86(4069ad3)
- Add visual spacing around Jinja code in justfile
#173
by
@lwjohnst86(63ce9bd)
0.16.4 - 2025-09-01
- Update pre-commit versions
#171
by
@lwjohnst86(9530f98)
0.16.3 - 2025-09-01
- Use
--upgradewhen installing Python dependencies #174 by@lwjohnst86(2eaed27)
0.16.2 - 2025-09-01
- Add
themeoption in_quarto.yml, andbrandfor Seedcase #170 by@lwjohnst86(ecaac97)
- Add a badge for the test workflow status
#166
by
@lwjohnst86(f477914)
- Remove comments and simplify
.vscodesettings #167 by@lwjohnst86(ed14d7b)
0.16.1 - 2025-09-01
- Simplify the pull request template
#165
by
@lwjohnst86(c796d65)
- Moved
release.qmdcontents intoCHANGELOG.md#161 by@lwjohnst86(c732c8e) - Add Code of Conduct file to root
#162
by
@lwjohnst86(7906a8d) - Match author style of LICENSE to the template
#164
by
@lwjohnst86(8f6a366)
- Simplify CODEOWNERS file, add all files
#163
by
@lwjohnst86(80663cd)
- Add recipe
add-function#2 by@signekb(7d5b04a) - Add examples section to docstring template
#39
by
@signekb(c4bfdd3) - Add mypy to VS Code settings and extensions
#93
by
@lwjohnst86(ab8e235) - Gitleaks pre-commit to check for credentials
#100
by
@lwjohnst86(08687cd) - Copy over static files to template folder
#117
by
@martonvago(bc6bf79) - Add files with copier variables
#127
by
@martonvago(ec38631) - Add 404 page to template
#141
by
@martonvago(4a33f1e) - Add Conduct, Contributing, and filled out README
#131
by
@martonvago(e46fc0a) - Add hosting provider variable
#153
by
@martonvago(498fbc4) - Add
update-from-templateworkflow #134 by@martonvago(17cdef1)
- Update test snippet to given, when, then
#29
by
@signekb(b2f8daa) - Add
test-pythontorun-all#38 by@signekb(ae625a5) - Remove django debugger
#44
by
@signekb(08423a3) - Remove auto-built reference docs before/after building by
@lwjohnst86(218e9fc) - Remove auto-built reference docs before/after building
#47
by
@lwjohnst86(07732d2) - The
check-commitsrecipe wasn't correctly checking them by@lwjohnst86(b30223d) - The
check-commitsrecipe wasn't correctly checking them #48 by@lwjohnst86(2da8db9) - Install uv in publish step and only for tags
#96
by
@lwjohnst86(2833cdf) - Use the
has_releasedoutput to run or not #97 by@lwjohnst86(f77769c) - Only run when previous and current versions are different
#98
by
@lwjohnst86(b1632fb) - Forgot to checkout before building and publishing
#106
by
@lwjohnst86(fbdd28b) - Explicitly checkout newest version to publish
#107
by
@lwjohnst86(33639c5) - Need to run build workflow after version bump to get changelog
#110
by
@lwjohnst86(f5ef33f)
- Make mypy more strict in settings
#94
by
@lwjohnst86(5274b35) - Move
uv buildstep into publish job #101 by@lwjohnst86(9783238) - Include
github-actionsin dependabot config #136 by@martonvago(7c44c98) - Use
bashforcheck-commitsjustfile recipe #150 by@lwjohnst86(5a05048) - Match copier vars in
template-website#152 by@martonvago(2fb9f27) - Update post-copy message
#154
by
@martonvago(146ee10) - Move copier test to own file
#156
by
@martonvago(09b3b73) - Specify svg for all badges
#157
by
@martonvago(f5cfa42)
- Remove reviewer focus section
#10
by
@signekb(ff2bf1e) - Refer to spaid for setting things up by
@lwjohnst86(7ef1a91) - Add an emoji to commit message of commitizen by
@lwjohnst86(bca5ffb) - Use a generic package name, not Sprout, for index by
@lwjohnst86(704e6fc) - Update license year to 2025 by
@lwjohnst86(3c104c3) - Update README to mostly the latest changes by
@lwjohnst86(40c33ca) - Small correction by
@lwjohnst86(302ef31) - To be consistent by
@lwjohnst86(9627bc7) - Instructions on installing deps after project creation
#62
by
@lwjohnst86(a7fea84) - Add website files
#115
by
@martonvago(13b1ad0) - Update README
#129
by
@martonvago(31e9b8a) - Format README
#132
by
@martonvago(cb60560) - Use Markdown version of license
#133
by
@martonvago(410c9bc) - Update guide
#155
by
@martonvago(44a5aeb)
- Ran pre-commit hooks, apply fixes
#19
by
@lwjohnst86(eff086c)
- Fix incorrect path to LICENSE by
@lwjohnst86(db5b658) - Add workflow to generate SVG from puml files
#5
by
@lwjohnst86(da81016) - Deploy to Fly isn't working well, plus move out env deletion to own
file
#7
by
@lwjohnst86(dc8876b) - Use the new workflow for building docs with Python code
#11
by
@lwjohnst86(6762972) - Add pre-commit config file to be synched by
@lwjohnst86(726a2ba) - Needs to push to main, not from PRs
#23
by
@lwjohnst86(5e87d20) - Remove commented out Django workflow by
@lwjohnst86(35f9bab) - Update path to reusable workflows by
@lwjohnst86(69e11ac) - Always run on main, but only in PRs with specific files by
@lwjohnst86(8fbc7f0) - Update text of some fields by
@lwjohnst86(0fb318b) - No longer need this file, not pushing to Fly by
@lwjohnst86(b03cb6e) - Rename workflows to be clearer and simpler by
@lwjohnst86(66acef9) - Minor updates to make things clearer
#24
by
@lwjohnst86(f2eec93) - Forgot to remove this if condition
#25
by
@lwjohnst86(8b896b4) - Increase interval for dependabot to monthly by
@lwjohnst86(6f0f8eb) - Remove these unused workflows by
@lwjohnst86(596c400) - Sync only specific workflows by
@lwjohnst86(a3e929a) - General clean up and fixes to workflows
#36
by
@lwjohnst86(1fdc730) - Switch to use the reusable "add to board"
#52
by
@lwjohnst86(c9b491c) - Lint is now part of build workflow
#57
by
@lwjohnst86(7ec888c) - Updated from Sprout, need permissions for workflow by
@lwjohnst86(e7b7c40) - Use GitHub App for short-lived token creation
#63
by
@lwjohnst86(555efb1) - Update to use GitHub App for adding to board
#67
by
@lwjohnst86(69aa89d) - Use a shorter name for workflow
#68
by
@lwjohnst86(95b31a4) - Use GitHub App token for syncing files
#69
by
@lwjohnst86(b62d4b7) - Needs to be
GH_INSTALLATION_TOKENfor GitHub Apps #70 by@lwjohnst86(fdb0a8f) - Syncing workflow needs extra settings
#71
by
@lwjohnst86(6ce29b2) - Error with team maybe? and set branch to this repo
#72
by
@lwjohnst86(c863489) - Add permissions for setting release of a tag
#78
by
@lwjohnst86(f71889c) - Switch to using reusable workflow
#83
by
@lwjohnst86(6dcb171) - Explicitly set permissions, move to job-level
#84
by
@lwjohnst86(defe712) - Run build package and website workflows on all pushes
#86
by
@lwjohnst86(4793c79) - Add security scanning workflows
#85
by
@lwjohnst86(9f6d92d) - Use
GH_TOKENto useghcli #90 by@lwjohnst86(a272738) - Publishing and building need to be split
#91
by
@lwjohnst86(c8126ad) - Move
GITHUB_TOKENintogithub-tokensecrets #92 by@lwjohnst86(90043fa) - Add test workflow
#146
by
@lwjohnst86(ffa9d4b)
- Started a template repo by
@lwjohnst86(2b3b8b1) - Remove
tabSizefrom VS Code settings file #1 by@signekb(6f161a2) - We don't use RStudio, so don't need these by
@lwjohnst86(778064f) - Modify justfile to run Python doc in Quarto docs
#12
by
@lwjohnst86(f4b588d) - Ignore some auto-generated files by
@lwjohnst86(b71fc44) - Formatting is weird with qmd files, turned off by
@lwjohnst86(ee03abf) - Config changes based on Quarto and Python website build
#13
by
@lwjohnst86(4d97e7c) - Add pre-commit hooks, including for commit linting by
@lwjohnst86(dfbfb20) - Add justfile recipe to lint commits by
@lwjohnst86(b9d287c) - Add commit linting via pre-commit
#16
by
@lwjohnst86(55903f3) - Update config and build settings for quartodoc
#18
by
@lwjohnst86(f3b9667) - Add jupyter extension to recommended list
#21
by
@lwjohnst86(c619115) - Remove Django-specific configs
#22
by
@lwjohnst86(39cb33f) - Use justfile as checklist in template
#26
by
@lwjohnst86(b45679b) - Small revisions to synching files
#27
by
@lwjohnst86(d735574) - Update changelog on bump
#28
by
@signekb(6bdaf60) - Removed the
reset-localrecipe #32 by@lwjohnst86(bdd5073) - Use latest commitizen version by
@lwjohnst86(a7abb17) - Remove plantuml recipes and extensions by
@lwjohnst86(f1f9009) - Check if there are commits on the branch before checking commits by
@lwjohnst86(b71251b) - Set template as a
src/layout by@lwjohnst86(dbc0d1f) - Set Python to 3.12 for Ruff by
@lwjohnst86(6f7fe31) cSpelloption was renamed, this matches their new option by@lwjohnst86(e341cc2)- General updates to template
#45
by
@lwjohnst86(26d8165) rmneeds-fso it doesn't error when there is no file #49 by@lwjohnst86(2af4d50)- Remove leftover commented out includes
#53
by
@lwjohnst86(16477ef) - Ran pre-commit hooks so repo can be tracked by the CI
#54
by
@lwjohnst86(4097498) - Switch to using uv
#51
by
@lwjohnst86(f0c7a06) - Build coverage report and badge
#56
by
@lwjohnst86(eb5ecb0) - Add bandit security checks to justfile
#58
by
@lwjohnst86(6c5a446) - Move pytest options into
pytest.iniso VS Code detects them #59 by@lwjohnst86(1a461d8) - Remove leftover extensions, replace spell checker
#61
by
@lwjohnst86(c36296b) - Add spell checker to justfile
#60
by
@lwjohnst86(154cd85) - Add some recommended extensions
#66
by
@lwjohnst86(393b47a) - Update justfile with recipes from Sprout
#75
by
@lwjohnst86(8f28ed3) - Add allowlist to vulture recipe
#79
by
@lwjohnst86(600ffcc) - Simplify the PR template
#80
by
@lwjohnst86(3e09f3e) - Add a "install pre-commit" justfile recipe
#77
by
@lwjohnst86(67cc817) - Add typos as a pre-commit hook
#76
by
@lwjohnst86(439eb55) - Don't regenerate all of CHANGELOG each time
#82
by
@lwjohnst86(4a5e3d9) - Add mypy config
#89
by
@martonvago(3b56108) - Fix spacing for snippet, use 4 spaces, not 1
#95
by
@lwjohnst86(0fd4e66) - Recommend better reviewed mypy extension
#99
by
@lwjohnst86(76240d5) - Update config for non-template package
#116
by
@martonvago(096781a) - Remove files not needed in non-template code
#114
by
@martonvago(9411f99) - Get latest
seedcase-theme#126 by@martonvago(fc90ddc) - Use correct
.cz.toml#130 by@martonvago(265bcaa) - Update contributors and theme
#135
by
@martonvago(818f054) - Match release workflow to other templates
#137
by
@martonvago(ba52dba) - Use
bashin justfile so CI doesn't need zsh #149 by@lwjohnst86(a2bfa6b)
@github-actions[bot]started making automated contributions@martonvagomade their first contribution in #134@pre-commit-ci[bot]started making automated contributions@dependabot[bot]started making automated contributions@lwjohnst86made their first contribution in #150@signekbmade their first contribution in #44