Skip to content

Commit 07c372b

Browse files
authored
πŸ”– Changelog entry for v0.0.1b1 (#37)
First beta release of cog3pio (Python-only). Using git-cliff to generate a draft changelog, grouped into different sections based on gitmoji tags. Manually edited to pick highlights, and to combine some dependency update entries.
1 parent 06a0af8 commit 07c372b

File tree

4 files changed

+158
-1
lines changed

4 files changed

+158
-1
lines changed

β€ŽCargo.tomlβ€Ž

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ version = "0.0.1-beta.1"
44
edition = "2024"
55
license = "MIT OR Apache-2.0"
66
rust-version = "1.85.0"
7+
authors = ["Wei Ji <[email protected]>"]
78

89
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
910
[lib]
@@ -27,3 +28,104 @@ tempfile = "3.10.1"
2728

2829
[lints.clippy]
2930
pedantic = "warn"
31+
32+
[package.metadata.git-cliff.changelog]
33+
# template for the changelog header
34+
header = """
35+
# Changelog\n
36+
All notable changes to this project will be documented in this file.\n
37+
"""
38+
# template for the changelog body
39+
# https://keats.github.io/tera/docs/#introduction
40+
body = """
41+
---\n
42+
{% if version %}\
43+
## {{ version | trim_start_matches(pat="v") }} - {{ timestamp | date(format="%Y-%m-%d") }}
44+
{% else %}\
45+
## Unreleased
46+
{% endif %}\
47+
{% for group, commits in commits | group_by(attribute="group") %}
48+
### {{ group | upper_first }}
49+
{% for commit in commits
50+
| filter(attribute="scope")
51+
| sort(attribute="scope") %}
52+
- *({{commit.scope}})* {{ commit.message | split(pat="\n") | first | upper_first }}
53+
{%- if commit.breaking %}
54+
{% raw %} {% endraw %}- **BREAKING**: {{commit.breaking_description}}
55+
{%- endif -%}
56+
{%- endfor -%}
57+
{% raw %}\n{% endraw %}\
58+
{%- for commit in commits %}
59+
{%- if commit.scope -%}
60+
{% else -%}
61+
- {{ commit.message | split(pat="\n") | first | upper_first }}
62+
{% if commit.breaking -%}
63+
{% raw %} {% endraw %}- **BREAKING**: {{commit.breaking_description}}
64+
{% endif -%}
65+
{% endif -%}
66+
{% endfor -%}
67+
{% raw %}{% endraw %}\
68+
{% endfor %}\n
69+
"""
70+
# template for the changelog footer
71+
footer = """
72+
<!-- generated by git-cliff -->
73+
"""
74+
# remove the leading and trailing s
75+
trim = true
76+
# postprocessors
77+
postprocessors = [
78+
{ pattern = '<REPO>', replace = "https://github.com/weiji14/cog3pio" }, # replace repository URL
79+
]
80+
# render body even when there are no releases to process
81+
# render_always = true
82+
# output file path
83+
output = "docs/changelog.md"
84+
85+
[package.metadata.git-cliff.git]
86+
# parse the commits based on https://www.conventionalcommits.org
87+
conventional_commits = false
88+
# filter out the commits that are not conventional
89+
filter_unconventional = false
90+
# process each line of a commit as an individual commit
91+
split_commits = false
92+
# regex for preprocessing the commit messages
93+
commit_preprocessors = [
94+
# Replace issue numbers
95+
{ pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](<REPO>/pull/${2}))" },
96+
# Replace gitmoji
97+
{ pattern = ':art:', replace = "🎨" },
98+
{ pattern = ':arrow_down:', replace = "⬇️" },
99+
{ pattern = ':arrow_up:', replace = "⬆️" },
100+
{ pattern = ':boom:', replace = "πŸ’₯" },
101+
{ pattern = ':bug:', replace = "πŸ›" },
102+
{ pattern = ':construction_worker:', replace = "πŸ‘·" },
103+
{ pattern = ':heavy_minus_sign:', replace = "βž–" },
104+
{ pattern = ':heavy_plus_sign:', replace = "βž•" },
105+
{ pattern = ':lock:', replace = "πŸ”’οΈ" },
106+
{ pattern = ':memo:', replace = "πŸ“" },
107+
{ pattern = ':pushpin:', replace = "πŸ“Œ" },
108+
{ pattern = ':recycle:', replace = "♻️" },
109+
{ pattern = ':rocket:', replace = "πŸš€" },
110+
{ pattern = ':rotating_light:', replace = "🚨" },
111+
{ pattern = ':seedling:', replace = "🌱" },
112+
{ pattern = ':sparkles:', replace = "✨" },
113+
{ pattern = ':truck:', replace = "🚚" },
114+
{ pattern = ':wrench:', replace = "πŸ”§" },
115+
]
116+
# regex for parsing and grouping commits
117+
commit_parsers = [
118+
# Gitmoji
119+
{ message = "^(πŸ’₯|:boom:|πŸš€|:rocket:)", group = "<!-- 0 --> 🌈 Highlights" },
120+
{ message = "^(✨|:sparkles:)", group = "<!-- 1 --> ✨ Features" },
121+
{ message = "^(πŸ›|:bug:)", group = "<!-- 2 --> πŸ› Bug Fixes" },
122+
{ message = "^(♻️|:recycle:|🚚|:truck:|🎨|:art:)", group = "<!-- 3 --> 🏭 Refactors" },
123+
{ message = "^(πŸ“|:memo:)", group = "<!-- 4 --> πŸ“ Documentation" },
124+
{ message = "^(πŸ‘·|:construction_worker:|πŸ”§|:wrench:|⬆️|:arrow_up:|βž•|:heavy_plus_sign:|βž–|:heavy_minus_sign:|⬇️|:arrow_down:|πŸ“Œ|:pushpin:|πŸ”’οΈ|:lock:|🚨|:rotating_light:|🌱|:seedling:)", group = "<!-- 5 --> 🧰 Maintenance" },
125+
]
126+
# filter out the commits that are not matched by commit parsers
127+
filter_commits = false
128+
# sort the tags topologically
129+
topo_order = false
130+
# sort the commits inside sections by oldest/newest order
131+
sort_commits = "newest"

β€Ždocs/changelog.mdβ€Ž

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
---
6+
7+
## Unreleased
8+
9+
### <!-- 0 --> 🌈 Highlights
10+
11+
- πŸ’₯ Read into DLPack tensor ([#32](https://github.com/weiji14/cog3pio/pull/32))
12+
- ✨ Implement cog3pio xarray BackendEntrypoint ([#14](https://github.com/weiji14/cog3pio/pull/14))
13+
14+
### <!-- 1 --> ✨ Features
15+
16+
- ✨ Support reading 3-band RGB images ([#31](https://github.com/weiji14/cog3pio/pull/31))
17+
- ✨ Support reading uint/int/float dtypes ([#18](https://github.com/weiji14/cog3pio/pull/18))
18+
- ✨ Support reading multi-band GeoTIFF files ([#13](https://github.com/weiji14/cog3pio/pull/13))
19+
- ✨ Implement PyCogReader struct with new and to_numpy methods ([#12](https://github.com/weiji14/cog3pio/pull/12))
20+
- ✨ CogReader ndarray method to decode TIFF into an ndarray Array ([#10](https://github.com/weiji14/cog3pio/pull/10))
21+
- ✨ Get affine transformation from GeoTIFF ([#8](https://github.com/weiji14/cog3pio/pull/8))
22+
- ✨ Read GeoTIFF files from remote urls via object_store ([#5](https://github.com/weiji14/cog3pio/pull/5))
23+
- ✨ A read_geotiff function for reading GeoTIFF into ndarray ([#3](https://github.com/weiji14/cog3pio/pull/3))
24+
25+
### <!-- 3 --> 🏭 Refactors
26+
27+
- ♻️ Refactor to return 3D arrays of shape (band, height, width) ([#11](https://github.com/weiji14/cog3pio/pull/11))
28+
- 🚚 Move pyo3 functions under src/python/adapters.rs ([#9](https://github.com/weiji14/cog3pio/pull/9))
29+
- 🎨 Initial CogReader struct with decoder field ([#7](https://github.com/weiji14/cog3pio/pull/7))
30+
- ♻️ Refactor unit test to be non-square ([#6](https://github.com/weiji14/cog3pio/pull/6))
31+
32+
### <!-- 4 --> πŸ“ Documentation
33+
34+
- πŸ“ Initialize Python documentation page ([#35](https://github.com/weiji14/cog3pio/pull/35))
35+
36+
### <!-- 5 --> 🧰 Maintenance
37+
38+
- πŸ”§ Configure readthedocs documentation build ([#36](https://github.com/weiji14/cog3pio/pull/36))
39+
- πŸ‘· Build free-threaded wheels on CI and upload to TestPyPI ([#34](https://github.com/weiji14/cog3pio/pull/34))
40+
- 🚨 Setup CI to lint using cargo fmt + clippy pedantic fixes ([#33](https://github.com/weiji14/cog3pio/pull/33))
41+
- πŸ‘· Run aarch64 CI tests on ubuntu-24.04-arm ([#30](https://github.com/weiji14/cog3pio/pull/30))
42+
- ⬆️ SPEC 0: Bump min version to Python 3.12, NumPy 2.0, xarray 2023.12.0 ([#29](https://github.com/weiji14/cog3pio/pull/29))
43+
- πŸ“Œ Pin MSRV to 1.78.0 ([#28](https://github.com/weiji14/cog3pio/pull/28))
44+
- ⬆️ Bump pyo3 from 0.20.3 to 0.25.0, numpy from 0.20.0 to 0.25.0 ([#15](https://github.com/weiji14/cog3pio/pull/15), [#19](https://github.com/weiji14/cog3pio/pull/19), [#21](https://github.com/weiji14/cog3pio/pull/21), [#25](https://github.com/weiji14/cog3pio/pull/25))
45+
- πŸ”’οΈ Add zizmor to statically analyze GitHub Actions workflows ([#24](https://github.com/weiji14/cog3pio/pull/24))
46+
- πŸ‘· Run CI on ubuntu-24.04, macos-15, windows-2025 ([#23](https://github.com/weiji14/cog3pio/pull/23))
47+
- 🚨 Setup CI to run linting using cargo clippy ([#22](https://github.com/weiji14/cog3pio/pull/22))
48+
- ⬆️ Bump geo from 0.28.0 rev 481196b to 0.29.0 ([#20](https://github.com/weiji14/cog3pio/pull/20))
49+
- πŸ‘· Setup CI job matrix to run cargo test ([#17](https://github.com/weiji14/cog3pio/pull/17))
50+
- πŸ‘· Setup benchmark workflow with pytest-codspeed ([#4](https://github.com/weiji14/cog3pio/pull/4))
51+
- πŸ‘· Setup GitHub Actions Continuous Integration tests ([#2](https://github.com/weiji14/cog3pio/pull/2))
52+
- 🌱 Initialize Cargo.toml and pyproject.toml with maturin ([#1](https://github.com/weiji14/cog3pio/pull/1))
53+
54+
<!-- generated by git-cliff -->

β€Ždocs/index.mdβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22

33
*Practice the Three Acts of CoGnizance - Use GeoTIFF-tiles, Be GDAL-less, Go GPU-accelerated*
44

5-
[API Reference](api.html)
5+
[API Reference](api.html) | [Changelog](changelog.html)

β€Ždocs/myst.ymlβ€Ž

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ project:
1212
# Auto-generated by `myst init --write-toc`
1313
- file: index.md
1414
- pattern: _build/myst-asts/api.myst.json
15+
- file: changelog.md
1516

1617
site:
1718
template: book-theme

0 commit comments

Comments
Β (0)