Skip to content

Commit 3c9a9bf

Browse files
docs: Archive CHANGELOG.md, add release notes guidelines
- Rename CHANGELOG.md to CHANGELOG-archive.md with redirect to GitHub Releases - Add "Writing Release Notes" section to RELEASE_MEMO.md: - Categories (BREAKING, Added, Changed, Deprecated, Fixed, Security) - Format template with examples - Guidelines for good release notes - PR label mapping for release drafter Co-Authored-By: Claude Opus 4.5 <[email protected]>
1 parent 5d2ba05 commit 3c9a9bf

File tree

2 files changed

+75
-4
lines changed

2 files changed

+75
-4
lines changed

CHANGELOG.md renamed to CHANGELOG-archive.md

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,15 @@
1-
## Release notes
1+
# Changelog Archive
22

3-
**Note:** This file is no longer updated. See the GitHub change log page for the
4-
latest release notes: <https://github.com/datajoint/datajoint-python/releases>.
3+
> **This file is archived.** For current release notes, see:
4+
>
5+
> **[GitHub Releases](https://github.com/datajoint/datajoint-python/releases)**
6+
>
7+
> Release notes are now automatically generated from pull request labels and descriptions.
8+
> This file preserves the history of releases through version 0.14.3.
9+
10+
---
11+
12+
## Historical Release Notes
513

614
### 0.14.3 -- Sep 23, 2024
715
- Added - `dj.Top` restriction - PR [#1024](https://github.com/datajoint/datajoint-python/issues/1024)) PR [#1084](https://github.com/datajoint/datajoint-python/pull/1084)

RELEASE_MEMO.md

Lines changed: 64 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,67 @@
1-
# DataJoint 2.0 Release Memo
1+
# DataJoint Release Memo
2+
3+
## Writing Release Notes
4+
5+
Good release notes help users understand what changed and whether they need to take action.
6+
7+
### Categories
8+
9+
Organize changes into these categories (in order):
10+
11+
| Category | When to Use | Example |
12+
|----------|-------------|---------|
13+
| **BREAKING** | Changes that require user action | API changes, removed features |
14+
| **Added** | New features | New methods, new options |
15+
| **Changed** | Behavior changes (non-breaking) | Performance improvements, defaults |
16+
| **Deprecated** | Features marked for removal | Old syntax warnings |
17+
| **Fixed** | Bug fixes | Error corrections |
18+
| **Security** | Security patches | Vulnerability fixes |
19+
20+
### Format
21+
22+
```markdown
23+
## What's Changed
24+
25+
### BREAKING CHANGES
26+
- **`fetch()` removed** — Use `to_dicts()`, `to_pandas()`, or `to_arrays()` instead (#123)
27+
28+
### Added
29+
- New `to_polars()` method for Polars DataFrame output (#456)
30+
- Support for custom codecs via `@codec` decorator (#789)
31+
32+
### Changed
33+
- Improved query performance for complex joins (2-3x faster)
34+
- Default connection timeout increased to 30s
35+
36+
### Fixed
37+
- Fixed incorrect NULL handling in aggregations (#234)
38+
39+
### Full Changelog
40+
https://github.com/datajoint/datajoint-python/compare/v0.14.3...v2.0.0
41+
```
42+
43+
### Guidelines
44+
45+
1. **Lead with breaking changes** — Users need to see these first
46+
2. **Explain the "why"** — Not just what changed, but why it matters
47+
3. **Link to PRs/issues** — For users who want details
48+
4. **Use imperative mood** — "Add feature" not "Added feature"
49+
5. **Be concise** — One line per change, details in PR
50+
51+
### PR Labels
52+
53+
The release drafter uses PR labels to categorize changes:
54+
55+
| Label | Category |
56+
|-------|----------|
57+
| `breaking` | BREAKING CHANGES |
58+
| `enhancement` | Added |
59+
| `bug` | Fixed |
60+
| `documentation` | (usually excluded) |
61+
62+
Ensure PRs have appropriate labels before merging.
63+
64+
---
265

366
## PyPI Release Process
467

0 commit comments

Comments
 (0)