# Changelog All notable changes to Forji will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [1.6] - 2026-06-15 ### Added - Shorten the Pull Requests tab to PRs in repository detail (#59) - Show the overview filter summary only when filters are active (#60) - Compact notification rows (#55) - Display and upload image attachments in issues, PRs, and comments ### Changed - Add a CHANGELOG.md file ### Fixed - Refresh the merged notifications list when a push notification is opened (#71) - Render 3-digit shorthand label colors instead of falling back to gray - Show graceful empty state when repository has issues turned off - Show graceful empty state when repository has issues turned off - De-duplicate involved-scope results across pages in single-instance overviews (#70) - Show graceful empty state when repository has pull requests turned off (#77) - Make issue/PR description editable in edit form (#80) (#81) - Clearer login error for security-key (passkey) accounts (#82) ## [1.5] - 2026-06-04 ### Added - VoiceOver accessibility labels for icon-only buttons (#49). - Tappable diff lines now act as buttons for VoiceOver (#61). - `CONTRIBUTING.md` (#42). - `just sim-update` command for updating the simulator. ### Changed - Updated ForgejoKit dependency from 0.6.0 to 0.7.0 (via 0.6.1). - Refactored error handling to use ForgejoKit error categories (#31). - Fixed a typo in the README App Store line (#43). ### Removed - Redundant notification "Dismiss" swipe action (#46). ### Fixed - Crash in merged overviews when two accounts shared the same `sourceKey` (#39). - Merged pagination now settles correctly and no longer shows duplicate rows (#47). - Merged issue/PR overview now refreshes after a mutation (#56). - App icon badge now updates in multi-instance mode (#58). - Multi-instance fallback is now keyed by account (#29). - Removing an account now deletes the API token, not just the password (#40). - Instance removal is now persisted before deleting the keychain on logout (#48). - Added a guard that prevents editing an account into a duplicate of an existing one. - Token restore error context is now preserved (#30). - Issue/PR detail now refreshes after a partial edit failure (#50). - No longer opens a duplicate PR when the reviewer request fails (#53). - Background notification poll no longer crashes on an invalid instance URL (#54). - Messages that were not marked as read are now handled correctly.