|
| 1 | +# Changelog |
| 2 | + |
| 3 | +This changelog provides a high-level overview of changes. |
| 4 | +From v0.2.0 onwards, the versioning follows the principles of [Semantic Versioning](https://semver.org/). |
| 5 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). |
| 6 | + |
| 7 | +<!-- possible sections: |
| 8 | + Added for new features. |
| 9 | + Changed for changes in existing functionality. |
| 10 | + Fixed for any bug fixes. |
| 11 | + Deprecated for soon-to-be removed features. |
| 12 | + Removed for now removed features. |
| 13 | + Security in case of vulnerabilities. |
| 14 | +--> |
| 15 | +<!-- |
| 16 | +## Unreleased |
| 17 | +
|
| 18 | +[Full changelog](https://github.com/dalito/linkml-project-copier/compare/v0.2.1...main) |
| 19 | +--> |
| 20 | +## Release [0.2.1] - 2025-02-16 |
| 21 | + |
| 22 | +[Full changelog](https://github.com/dalito/linkml-project-copier/compare/v0.2.1...v0.2.0) |
| 23 | + |
| 24 | +[0.2.1]: https://github.com/dalito/linkml-project-copier/releases/tag/v0.2.1 |
| 25 | + |
| 26 | +### Added |
| 27 | + |
| 28 | +- Notes on updating from 0.1.x to 0.2.x to [README.md](./README.md#notes-on-specific-updates). |
| 29 | +- Developer tools: Repo and generated project now have a pre-commit configuration with sections for yamllint, typos, ruff (only in project) and some basic checks from pre-commit itself. #50 |
| 30 | +- Typos spell checker as gh-action for the repo (but not for the generated project). #50 |
| 31 | +- Added a README to the schema subfolder so that it is added to git even in absence of a schema file. |
| 32 | + |
| 33 | +### Changed |
| 34 | + |
| 35 | +- All yes/no question are now treated as type bool in copier. |
| 36 | +- Ignore also `docs/index.md` and `docs/about.md` when updating with copier. |
| 37 | +- Make Python test for example schema/datamodel more general. |
| 38 | +- Make `just gen-project` a visible command (it was already present but hidden). |
| 39 | +- Improved yamllint configuration and reformatted all non-conforming yaml files in the project. #50 |
| 40 | +- Change license of linkml-project-copier from CC0 to MIT. #49 |
| 41 | + |
| 42 | +### Fixed |
| 43 | + |
| 44 | +- Syntax of `just setup` recipe. |
| 45 | +- Invalid just recipe name for migrating from 0.1.x to 0.2.x which prevented execution on copier update. |
| 46 | +- Excessive whitespace generation in jinja-templates (e.g. in LICENSE files) |
| 47 | +- Some LICENSES were not correctly copied to the generated project. #52 |
| 48 | +- Wrong jinja escaping for creating the example schema and test-page-build action. This led to the creation of the files even if the question was answered with "no" in copier. |
| 49 | + |
| 50 | +### Removed |
| 51 | + |
| 52 | +- Removed schemasheet integration from copier-setup questions and related just recipes. Since it never worked this removal is not considered a breaking change. #46 |
| 53 | + |
| 54 | +## Release [0.2.0] - 2025-02-13 |
| 55 | + |
| 56 | +[Full changelog](https://github.com/dalito/linkml-project-copier/compare/v0.2.0...v0.1.6) relative to v0.1.6 since this was the base of v0.2.0. |
| 57 | + |
| 58 | +[0.2.0]: https://github.com/dalito/linkml-project-copier/releases/tag/v0.2.0 |
| 59 | + |
| 60 | +### Highlights ⚡ |
| 61 | + |
| 62 | +**This release implements many of the changes that motivated the project.** |
| 63 | + |
| 64 | +- Cleaner directory structure matching the expectations on mkdocs/python-projects. |
| 65 | + - `docs` is now the permanent storage for docs. |
| 66 | + - `docs/elements` is the new directory for markdown files generated from the schema. |
| 67 | + - `docs/templates-linkml` contains the jinja-templates for customizing the generated schema documentation. |
| 68 | + - `tests/data`-folder is now the primary source of example data (was `src/data`) |
| 69 | +- Easier customization of mkdocs documentation: Thanks to the above directory changes, the guidelines from mkdocs on [customizing the theme/js/css](https://www.mkdocs.org/user-guide/customizing-your-theme/) are now directly applicable for projects generated from the template. |
| 70 | +- `project/*` all code in this folder is now generated from the schema and no longer included in the template. |
| 71 | +- Improved example project (more examples, better tests that use [pytest](https://pytest.org)) |
| 72 | +- If the example project or if certain GitHub actions should be created or not, can be selected via copier setup questions. |
| 73 | +- Several of the changes result in combination in a **low risk of conflicts when updating the underlying template** in existing projects (for future updates after 0.2.0). |
| 74 | +- Support `just` as the only command runner. The support for `make` was removed to simplify maintenance. |
| 75 | + |
| 76 | +Most changes were made in one PR (#31) followed by fixups in #42 and #44. |
| 77 | + |
| 78 | +### Removed |
| 79 | + |
| 80 | +- support for make as alternative command runner |
| 81 | + |
| 82 | +### Breaking |
| 83 | + |
| 84 | +- New directory layout for docs and example/test data compared to 0.1.x series (see above) |
| 85 | + |
| 86 | +## Release [0.1.7] - 2025-02-13 |
| 87 | + |
| 88 | +[Full changelog](https://github.com/dalito/linkml-project-copier/compare/v0.1.7...v0.1.6) |
| 89 | + |
| 90 | +[0.1.7]: https://github.com/dalito/linkml-project-copier/releases/tag/v0.1.7 |
| 91 | + |
| 92 | +### Fixed |
| 93 | + |
| 94 | +- Testing of valid & invalid data as part of `just test` recipe. #41 |
| 95 | + |
| 96 | +## Release [0.1.6] - 2025-02-12 |
| 97 | + |
| 98 | +[Full changelog](https://github.com/dalito/linkml-project-copier/compare/v0.1.6...v0.1.5) |
| 99 | + |
| 100 | +[0.1.6]: https://github.com/dalito/linkml-project-copier/releases/tag/v0.1.6 |
| 101 | + |
| 102 | +### Added |
| 103 | + |
| 104 | +- Add .editorconfig to template & project. #29 |
| 105 | + |
| 106 | +### Changed |
| 107 | + |
| 108 | +- Give gh-pages bot a name/email for a better git log. #28 |
| 109 | + |
| 110 | +### Fixed |
| 111 | + |
| 112 | +- Fix clean recipe. #35 |
| 113 | + |
| 114 | +## Release [0.1.5] - 2025-02-08 |
| 115 | + |
| 116 | +[Full changelog](https://github.com/dalito/linkml-project-copier/compare/v0.1.5...v0.1.4) |
| 117 | + |
| 118 | +[0.1.5]: https://github.com/dalito/linkml-project-copier/releases/tag/v0.1.5 |
| 119 | + |
| 120 | +### Fixes |
| 121 | + |
| 122 | +- deploy-docs action was failing because credentials were removed directly after checkout although they were still needed later. |
| 123 | + |
| 124 | +## Release [0.1.4] - 2025-02-08 |
| 125 | + |
| 126 | +[Full changelog](https://github.com/dalito/linkml-project-copier/compare/v0.1.4...v0.1.3) |
| 127 | + |
| 128 | +[0.1.4]: https://github.com/dalito/linkml-project-copier/releases/tag/v0.1.4 |
| 129 | + |
| 130 | +### Fixes |
| 131 | + |
| 132 | +- install cmd in docs-building actions. #26 |
| 133 | + |
| 134 | +## Release [0.1.3] - 2025-02-08 |
| 135 | + |
| 136 | +[Full changelog](https://github.com/dalito/linkml-project-copier/compare/v0.1.3...v0.1.2) |
| 137 | + |
| 138 | +[0.1.3]: https://github.com/dalito/linkml-project-copier/releases/tag/v0.1.3 |
| 139 | + |
| 140 | +### Fixes |
| 141 | + |
| 142 | +- clean command should not remove README and init.py. #22 |
| 143 | + |
| 144 | +## Release [0.1.2] - 2025-02-06 |
| 145 | + |
| 146 | +[Full changelog](https://github.com/dalito/linkml-project-copier/compare/v0.1.2...v0.1.1) |
| 147 | + |
| 148 | +[0.1.2]: https://github.com/dalito/linkml-project-copier/releases/tag/v0.1.2 |
| 149 | + |
| 150 | +### Added |
| 151 | + |
| 152 | +- copier validation for main_schema_class name. #21 |
| 153 | + |
| 154 | +## Release [0.1.1] - 2025-02-06 |
| 155 | + |
| 156 | +[Full changelog](https://github.com/dalito/linkml-project-copier/compare/v0.1.1...v0.1.0) |
| 157 | + |
| 158 | +[0.1.1]: https://github.com/dalito/linkml-project-copier/releases/tag/v0.1.1 |
| 159 | + |
| 160 | +### Added |
| 161 | + |
| 162 | +* Add command groups to justfile by @dalito in #16 |
| 163 | +* Add dependabot for action-updates. #14 |
| 164 | + |
| 165 | +### Changed |
| 166 | + |
| 167 | +* Improve updating by adding more files/dirs for copier to skip #11 |
| 168 | +* Update actions. #14 |
| 169 | + |
| 170 | +## Release [0.1.0] - 2025-01-19 |
| 171 | + |
| 172 | +[Full changelog](https://github.com/dalito/linkml-project-copier/commits/v0.1.0) |
| 173 | + |
| 174 | +[0.1.0]: https://github.com/dalito/linkml-project-copier/releases/tag/v0.1.0 |
| 175 | + |
| 176 | +**First release of a new [copier](https://copier.readthedocs.io/en/stable/)-based [LinkML](https://linkml.io/linkml)-project template.** |
| 177 | + |
| 178 | +- This and later 0.1.x releases are compatible with [linkml-project-cookiecutter](https://github.com/linkml/linkml-project-cookiecutter/) except that they use copier instead of cruft/cookiecutter as scaffolding tool. |
| 179 | +- This release generates the same project as linkml-project-cookiecutter (commit [1094cf2](https://github.com/linkml/linkml-project-cookiecutter/commit/1094cf2ce542028ab0017eaa059dd49cdde81fb5), date 2025-01-10). |
| 180 | + |
| 181 | +### Changed |
| 182 | + |
| 183 | +vs. linkml-project-cookiecutter: |
| 184 | + |
| 185 | +- Switch from cruft/cookiecutter to copier. #3 |
| 186 | +- Replace hooks by copier features and improve updates. #5 |
| 187 | +- [just](https://github.com/casey/just) is the primary command runner instead of make. |
| 188 | + |
| 189 | +### Breaking |
| 190 | + |
| 191 | +vs. linkml-project-cookiecutter: |
| 192 | + |
| 193 | +- dot-env-standard compliant formatting of the configuration file (`config.public.mk`). This breaks Makefile-compatibility. See the notes in the file to restore make-conformity. |
0 commit comments