Changelog¶
Unreleased changes¶
Please see the fragment files in the changelog.d directory.
0.9.0 - 2026-02-07¶
Python support¶
Support Python 3.14.
Drop support for Python 3.9.
Default styles¶
Support
.gd(Godot).Support
.hx(Haxe).Support
.ly(Lilypond).Support
.tex(TeX/LaTeX).
Fixed¶
Support setting custom extension configurations in user config.
Previously, setting an extension (like
chipshot.extensions.yaml) would erase all of the default extension configurations.
Development¶
Migrate the flake8 configuration to
pyproject.tomlusing the flake8-toml-config plugin.Test type annotations against all supported Python versions.
Lock the GitHub CI runners to known, predictable versions.
Fix and expand the project URLs listed in
pyproject.toml.Test package building on minimum Python and build system versions.
Automatically maintain the pre-commit config example in the README.
Introduce a compatibility module for conditional code.
Use Trusted Publishing to publish new releases.
0.8.0 - 2025-04-14¶
Python support¶
Support Python 3.13.
Drop Python 3.8 support.
Changed¶
Show a nice message – not a traceback – when a config file contains no configuration.
Documentation¶
Switch to
dirhtmlbuilds.
Development¶
Separate test, lint, and doc dependencies from project dependencies.
Migrate to PEP 621 metadata.
Use Python 3.13 for most build processes.
Add a reusable workflow to prepare releases.
0.7.0 - 2023-12-09¶
Added¶
Support CSS
@charsetprologues.
Fixed¶
Log relevant information where many exceptions are raised.
Catch exceptions instead of letting them bubble up as a crash.
0.6.0 - 2023-12-07¶
Added¶
Use hashbang lines to determine the interpreter identity for extension-less scripts.
Support encoding comments near the tops of files for Python and Ruby.
Support Perl file extensions.
Changed¶
Allow exclusions to match directories, too.
0.5.0 - 2023-12-04¶
Added¶
Support a top-level
exclusionskey to exclude specific files.
Changed¶
Rename the
"extension"configuration key to"extensions".
Documentation¶
Add Changelog, License, and Colophon pages.
Fix TOML syntax in a code sample.
Add a link to the Chipshot repository.
Development¶
Add a Dependabot configuration to auto-update GitHub action versions.
Add more check-jsonschema pre-commit hooks.
0.4.0 - 2023-11-30¶
Fixed¶
Fix file writing, which wasn’t rendering newlines correctly.
Changed¶
Determine the configured file encoding only if the file has content.
Documentation¶
Document how to create a new custom style.
0.3.0 - 2023-11-29¶
Fixed¶
Fix a bug that prevented existing headers from being found if they followed a document prologue.
Changed¶
Standardize how configurations for styles, prologues, and templates are found.
This helps ensure that the most specific configuration for a given file is always used. For example, code interacting with a file with two extensions (like
.jinja.html) will consistently find a configuration for.jinja.htmlbefore.html.Rename
prologtoprologueeverywhere.Rename the configuration keys
styleandprologtostylesandprologues.Eliminate the
"default"config key.
Development¶
Add a workflow that tests Chipshot using GitHub actions.
0.2.0 - 2023-11-28¶
Added¶
Add two pre-commit hooks:
check-headersandupdate-headers.
Changed¶
Allow template literals in the config file using the
templatekey.Paths to template files can be defined in the
template_pathkey.When no configuration file is specified,
.chipshot.tomlwill be loaded first (if it exists).pyproject.tomlwill still be loaded as a fallback if.chipshot.tomldoesn’t exist.Rename the
--debugflag to--verbose.
Documentation¶
Add initial documentation.
0.1.0 - 2023-11-24¶
Initial release¶
Support Python 3.8 and higher.
Detect and retain existing byte order marks in files.
Detect and retain existing newlines in files.
Detect and retain existing headers in files that are sufficiently dissimilar to the rendered header.
Detect and retain existing prologues in files (like hashbangs in scripts, or XML declarations).
Support custom header styles by file extension.