Release: v1.17 changelog

Signed-off-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Signed-off-by: Daniel D’Aquino <daniel@daquino.me>
Co-authored-by: Daniel D’Aquino <daniel@daquino.me>
This commit is contained in:
Copilot
2026-06-03 11:51:39 -07:00
committed by GitHub
co-authored by copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Daniel D’Aquino
parent dc20bff17f
commit 63282f0c8f
3 changed files with 152 additions and 1 deletions
@@ -1,5 +1,5 @@
---
name: Filing User Bug Reports
name: filing-user-bug-reports
description: Process conversations or chat logs to identify reported bugs, search for existing GitHub issues, update existing issues when new undocumented details are discovered, and create new issues for untracked problems.
---
@@ -0,0 +1,108 @@
---
name: preparing-release-changelog
description: Prepare the CHANGELOG.md for a Damus release by running the changelog script, curating the output, and committing the result. Covers prerequisites, known pitfalls (duplicate entries, reverted commits, truncated annotations, wrong version label), and the editing/commit steps.
---
# Preparing Release Changelog
## Description
Prepare the CHANGELOG.md for a Damus release by running the changelog script, curating the output, and committing the result. Covers prerequisites, known pitfalls (duplicate entries, reverted commits, truncated annotations, wrong version label), and the editing/commit steps.
## When to Use
- When preparing a new Damus release and the changelog needs to be updated
- When rebasing a release-changelog branch onto master and picking up new entries
## Overview
Damus uses a Python script (`devtools/changelog.py`) to assist in generating changelogs from git commit history. The changelog format follows [Keep a Changelog](https://keepachangelog.com/) conventions.
## Prerequisites
- Python 3 with `mako` and `requests` packages installed:
```
pip install mako requests
```
- Access to the full git history (not a shallow clone). If needed, run:
```
git fetch --unshallow origin
git fetch origin tag <from_tag>
```
## Step 1: Identify the Commit Range
Find the tag for the previous release (e.g. `v1.16.1`) and the commit hash for the new release candidate:
```bash
git tag | sort -V | tail -20 # list recent tags
git rev-parse v1.16.1 # resolve a tag to its commit SHA
```
The commit range format is: `<from_tag>..<to_commit>`
Example: `v1.16.1..5cb8a49`
## Step 2: Run the Changelog Script
```bash
python3 devtools/changelog.py v1.16.1..5cb8a49
```
This scans git log for `Changelog-<section>:` annotations in commit messages, where `<section>` is one of: `added`, `changed`, `deprecated`, `fixed`, `removed`, `experimental`.
**Note:** The script derives the version label from the second argument with the first character stripped (intended for tag names like `v1.17` → `1.17`). When passing a bare commit hash, the version will be wrong—fix it manually when editing `CHANGELOG.md`.
## Step 3: Review and Clean Up the Raw Output
The script's output is a starting point that typically needs manual curation:
1. **Fix the version label:** Replace the auto-derived version (e.g. `cb8a49`) with the actual release version (e.g. `1.17`).
2. **Remove duplicate entries:** Some commits may appear after the previous release tag in `master` history but were already included in that previous release's `CHANGELOG.md` (e.g. cherry-picked features from a release branch). Cross-check against the existing `CHANGELOG.md` and remove duplicates.
3. **Remove reverted entries:** If a commit was later reverted, drop its `Changelog-*` entry. The revert commit may itself have a changelog entry explaining the fix—keep that instead.
4. **Fix truncated entries:** Commit messages with a very long first line can cause `Changelog-Fixed:` entries to be truncated. Check the raw `git log` output to find the full intent, or look up the PR for context.
5. **Verify the date:** Use the actual release date, not the commit date from the RC.
## Step 4: Update CHANGELOG.md
Prepend the new section to `CHANGELOG.md`, following the existing format:
```markdown
## [1.17] - YYYY-MM-DD
### Added
- Feature description (Author Name)
### Changed
- Change description (Author Name)
### Fixed
- Fix description (Author Name)
[1.17]: https://github.com/damus-io/damus/releases/tag/v1.17
```
Keep the existing `[version]: URL` reference link at the bottom of each section.
## Step 5: Commit the Changelog
```bash
git add CHANGELOG.md
git commit -s -m "v1.17 changelog"
```
## Tips
- **Changelog annotations in commits:** Contributors should include a line like `Changelog-Added: Description of feature` in their commit messages so the script can pick them up automatically.
- **`Changelog-None`:** Use this in commit messages that intentionally have no changelog entry (e.g. internal refactors, test fixes). The script ignores it.
- **Author attribution:** The script appends the git author name in parentheses. Keep these intact—they credit contributors.
- **Sections in the script** are: `added`, `changed`, `deprecated`, `fixed`, `removed`, `experimental`. Only sections that have at least one entry are rendered.
+43
View File
@@ -1,3 +1,46 @@
## [1.17] - 2026-06-03
### Added
- Added Sentry error and diagnostics reporting to aid future quality improvements (Daniel D'Aquino)
- Automatic lossless storage optimization (Daniel D'Aquino)
- Added "Compact Database" button in Settings → Storage that reclaims unused space by compacting the NostrDB on the next app launch (Daniel D'Aquino)
- Full container file breakdown in storage settings export (Daniel D'Aquino)
- Show client name on events when available (alltheseas)
- Add client tag to published events to identify Damus (alltheseas)
- Storage usage statistics view in Settings (Daniel D'Aquino)
- Added GIF keyboard support (Damus Labs only) (ericholguin)
- Added detailed diagnostics reporting to GIF keyboard errors (Daniel D'Aquino)
### Changed
- Redesigned media blur overlay to look like intentional protection instead of a broken state (alltheseas)
- Moved clear cache button to storage settings (Daniel D'Aquino)
- Clear stale LMDB readers on NostrDB init to prevent reader slot leakage and runaway storage usage (Daniel D'Aquino)
- Made GIF keyboard widely available to Purple users without need for an API key (Damus Labs) (Daniel D'Aquino)
- Restored signal indicator (William Casarin)
### Fixed
- Fixed issue where mentioned profile names would not render properly (Daniel D'Aquino)
- Fix stale relay list causing inability to disconnect relays (alltheseas)
- Fixed issue where temporary files would not get cleaned up (Daniel D'Aquino)
- Wallet view now immediately clears stale data when switching wallets (Daniel D'Aquino)
- Fixed issue where the app could display an error message when using another NWC wallet in parallel (Daniel D'Aquino)
- Fix memory corruption crash when creating empty filters (Daniel D'Aquino)
- Fixed startup crash when app performs long-running compaction procedure (Daniel D'Aquino)
- Fixed database transaction leak that could lead to higher storage usage (Daniel D'Aquino)
- Fix GIF picker grid tap hitbox selecting adjacent item (Daniel D'Aquino)
- Fixed issues that could cause the signal indicator to become outdated (William Casarin)
- Fixed issue where some of the user's own notes would not show up in their own profile (Daniel D'Aquino)
- Fixed an issue where posts would not appear on the user's own timeline if they did not follow themselves (Daniel D'Aquino)
[1.17]: https://github.com/damus-io/damus/releases/tag/v1.17
## [1.16.1] - 2026-02-17
### Added