Skip to content

Commit

Permalink
release v2407.1
Browse files Browse the repository at this point in the history
  • Loading branch information
goapunk authored and m4ra committed Jul 1, 2024
1 parent 9523a5d commit 6b22e81
Show file tree
Hide file tree
Showing 2 changed files with 88 additions and 0 deletions.
29 changes: 29 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,35 @@ All notable changes to this project will be documented in this file.
Since version v2306 the format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
This project (not yet) adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## v2407.1

###

- script top automatically create changelog from files in the changelog folder

### Changed

- update django rest to 3.15.1 to avoid bigger versions coming from wagtail and incompatible with django 3.2
- update wagtail to 5.2.5
- add wagtail hook to make richtext toolbar sticky by default
- webpack: don't output entrypoints as library, we don't need it and it will
just print errors on the console
- Django from 3.2.20 to 4.0
- `re_path` with `path` for included urls.
- Django from 4.0 to 4.2
- production settings for storage
- from psycopg2 to psycopg3
- sentry to 2.3.1

### Fixed

- fix calendar not shown because Flatpickr constructor changed

### Removed

- `USE_L10N` in settings as it is now True by default
- deprecated stylelint rules (15.x)

## v2306 - 2023-06-27

### Added
Expand Down
59 changes: 59 additions & 0 deletions changelog/parse_changelogs.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
#!/bin/python3

import logging
import os
import re
from collections import OrderedDict

logger = logging.getLogger(__name__)


def combine_sections_in_folder(folder_path):
"""Parser for changelog files following the https://keepachangelog.com
format.
"""
allowed_section_headers = [
"Added",
"Changed",
"Deprecated",
"Removed",
"Fixed",
"Security",
]
sections = OrderedDict()

for filename in os.listdir(folder_path):
if filename.endswith(".md") and filename != "README.md":
filepath = os.path.join(folder_path, filename)
with open(filepath, "r") as file:
current_section = None
for line in file:
# find all headings starting with # (they should always
# start with ### but we seem to sometimes use # or ##)
match = re.match(r"^#+ (.*)", line)
if match:
section_header = match.group(1).strip().capitalize()
if section_header not in allowed_section_headers:
logger.warning(
f"warning: section_header {section_header} "
f"in file {filename} is invalid, "
"see https://keepachangelog.com for a list of "
"allowed types."
)
current_section = sections.get(section_header, [])
elif current_section is not None and line.strip():
current_section.append(line)
sections[section_header] = current_section

combined_md = ""
for section_header, lines in sections.items():
combined_md += "### " + section_header + "\n\n"
combined_md += "".join(lines) + "\n"

return combined_md


if __name__ == "__main__":
folder_path = "."
combined_md = combine_sections_in_folder(folder_path)
print(combined_md)

0 comments on commit 6b22e81

Please sign in to comment.