NEWS: Generate from news.d to avoid merge conflicts
This commit is contained in:
parent
d19f8a9583
commit
d66dd0f16b
10 changed files with 372 additions and 0 deletions
14
NEWS
14
NEWS
|
|
@ -1,3 +1,17 @@
|
||||||
|
## 47.alpha (Unreleased)
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- New dialog to show and copy error details
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Follow the Rust Style Guide for Cargo.toml and .rs filenames
|
||||||
|
- Make error messages translatable and look nicer
|
||||||
|
- Move many shortcuts to window level instead of using app accels
|
||||||
|
- Replace AdwAboutWindow with AdwAboutDialog !376
|
||||||
|
- Use new GtkPrintDialog API #144
|
||||||
|
|
||||||
46.2
|
46.2
|
||||||
====
|
====
|
||||||
|
|
||||||
|
|
|
||||||
141
build-aux/generate-news.py
Executable file
141
build-aux/generate-news.py
Executable file
|
|
@ -0,0 +1,141 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import os
|
||||||
|
import os.path
|
||||||
|
import sys
|
||||||
|
|
||||||
|
release_names = []
|
||||||
|
|
||||||
|
BASE_DIR = 'news.d'
|
||||||
|
OUT_FILE = 'NEWS'
|
||||||
|
HEADING = ''
|
||||||
|
|
||||||
|
def main():
|
||||||
|
changelog = Changelog(BASE_DIR, HEADING)
|
||||||
|
changelog.load()
|
||||||
|
|
||||||
|
with open(OUT_FILE, 'w') as f:
|
||||||
|
f.write(changelog.format())
|
||||||
|
|
||||||
|
class Release:
|
||||||
|
def __init__(self, name):
|
||||||
|
self.name = name
|
||||||
|
|
||||||
|
self.released = "Unreleased"
|
||||||
|
self.security = []
|
||||||
|
self.added = []
|
||||||
|
self.fixed = []
|
||||||
|
self.changed = []
|
||||||
|
self.removed = []
|
||||||
|
self.deprecated = []
|
||||||
|
|
||||||
|
def add(self, entry: os.DirEntry):
|
||||||
|
with open(entry) as f:
|
||||||
|
content = f.read().strip()
|
||||||
|
|
||||||
|
if entry.name == "released":
|
||||||
|
self.released = content
|
||||||
|
return
|
||||||
|
|
||||||
|
entry_type = entry.name.split('-')[0]
|
||||||
|
|
||||||
|
match entry_type:
|
||||||
|
case 'security':
|
||||||
|
store = self.security
|
||||||
|
case 'added':
|
||||||
|
store = self.added
|
||||||
|
case 'fixed':
|
||||||
|
store = self.fixed
|
||||||
|
case 'changed':
|
||||||
|
store = self.changed
|
||||||
|
case 'removed':
|
||||||
|
store = self.removed
|
||||||
|
case 'deprecated':
|
||||||
|
store = self.deprecated
|
||||||
|
case _:
|
||||||
|
print(f'WARNING: Unknown entry type "{entry_type}" in "{self.name}"', file=sys.stderr)
|
||||||
|
return;
|
||||||
|
|
||||||
|
with open(entry) as f:
|
||||||
|
store.append(content)
|
||||||
|
|
||||||
|
def sections(self):
|
||||||
|
categories = []
|
||||||
|
|
||||||
|
if self.security:
|
||||||
|
categories.append(("Security", self.security))
|
||||||
|
if self.added:
|
||||||
|
categories.append(("Added", self.added))
|
||||||
|
if self.fixed:
|
||||||
|
categories.append(("Fixed", self.fixed))
|
||||||
|
if self.changed:
|
||||||
|
categories.append(("Changed", self.changed))
|
||||||
|
if self.removed:
|
||||||
|
categories.append(("Removed", self.removed))
|
||||||
|
if self.deprecated:
|
||||||
|
categories.append(("Deprecated", self.deprecated))
|
||||||
|
|
||||||
|
return categories
|
||||||
|
|
||||||
|
def format(self):
|
||||||
|
heading =f"{self.name} ({self.released})"
|
||||||
|
|
||||||
|
s = f"## {heading}\n"
|
||||||
|
|
||||||
|
for (section, items) in self.sections():
|
||||||
|
s += f"\n### {section}\n\n"
|
||||||
|
|
||||||
|
for item in sorted(items):
|
||||||
|
s += f"- {item}\n"
|
||||||
|
|
||||||
|
return s
|
||||||
|
|
||||||
|
def __lt__(self, other):
|
||||||
|
return self.name < other.name
|
||||||
|
|
||||||
|
class Changelog:
|
||||||
|
def __init__(self, path, heading):
|
||||||
|
self.path = path
|
||||||
|
self.heading = heading
|
||||||
|
self.previous = ""
|
||||||
|
self.releases = []
|
||||||
|
|
||||||
|
def load(self):
|
||||||
|
with os.scandir(BASE_DIR) as it:
|
||||||
|
for entry in it:
|
||||||
|
if entry.is_dir():
|
||||||
|
release_names.append(entry.name)
|
||||||
|
elif entry.is_file() and entry.name == "previous":
|
||||||
|
with open(entry.path) as f:
|
||||||
|
self.previous = f.read()
|
||||||
|
|
||||||
|
for release_name in release_names:
|
||||||
|
release = Release(release_name)
|
||||||
|
self.add(release)
|
||||||
|
with os.scandir(os.path.join(BASE_DIR, release_name)) as it:
|
||||||
|
for entry in it:
|
||||||
|
if entry.is_file():
|
||||||
|
release.add(entry)
|
||||||
|
|
||||||
|
def add(self, release: Release):
|
||||||
|
self.releases.append(release)
|
||||||
|
|
||||||
|
def format(self):
|
||||||
|
s = ""
|
||||||
|
|
||||||
|
if self.heading:
|
||||||
|
s += f'# {self.heading}\n'
|
||||||
|
|
||||||
|
for release in reversed(sorted(self.releases)):
|
||||||
|
if s != "":
|
||||||
|
s += "\n"
|
||||||
|
s += release.format()
|
||||||
|
|
||||||
|
if self.previous:
|
||||||
|
s += '\n'
|
||||||
|
s += self.previous
|
||||||
|
|
||||||
|
|
||||||
|
return s
|
||||||
|
|
||||||
|
main()
|
||||||
1
news.d/47.alpha/added-error-detail-dialog
Normal file
1
news.d/47.alpha/added-error-detail-dialog
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
New dialog to show and copy error details
|
||||||
1
news.d/47.alpha/changed-error-messages-nicer
Normal file
1
news.d/47.alpha/changed-error-messages-nicer
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
Make error messages translatable and look nicer
|
||||||
1
news.d/47.alpha/changed-follow-style-guide
Normal file
1
news.d/47.alpha/changed-follow-style-guide
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
Follow the Rust Style Guide for Cargo.toml and .rs filenames
|
||||||
1
news.d/47.alpha/changed-print-api
Normal file
1
news.d/47.alpha/changed-print-api
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
Use new GtkPrintDialog API #144
|
||||||
1
news.d/47.alpha/changed-rework-shortcuts
Normal file
1
news.d/47.alpha/changed-rework-shortcuts
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
Move many shortcuts to window level instead of using app accels
|
||||||
1
news.d/47.alpha/changed-use-adw-about-dialog
Normal file
1
news.d/47.alpha/changed-use-adw-about-dialog
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
Replace AdwAboutWindow with AdwAboutDialog !376
|
||||||
7
news.d/README.md
Normal file
7
news.d/README.md
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
# NEWS
|
||||||
|
|
||||||
|
The [`NEWS`](../NEWS) file is automatically generated from this directory.
|
||||||
|
|
||||||
|
Please add a file for each changelog entry to the subolder corresponding to the version. Usually, this will be the latest version that has a folder. The files begin with a category prefix like `changed-` or `fixed-`. The prefixes follow the categories from [keepachangelog.com](https://keepachangelog.com/en/1.1.0/).
|
||||||
|
|
||||||
|
The NEWS files needs to be generated via `./build-aux/generate-news.py` and commited before releases.
|
||||||
204
news.d/previous
Normal file
204
news.d/previous
Normal file
|
|
@ -0,0 +1,204 @@
|
||||||
|
46.2
|
||||||
|
====
|
||||||
|
|
||||||
|
- Fix fractional scaling beeing blury by setting GDK_DEBUG=gl-no-fractional as default
|
||||||
|
- Fix exposure times above 0.5 seconds not being displayed correctly in properties
|
||||||
|
- Fix page orientation from print preview dialog is not honored for actual print
|
||||||
|
|
||||||
|
46.1
|
||||||
|
====
|
||||||
|
|
||||||
|
- Fix fill-space option not being applied when changing the orientation in print preview
|
||||||
|
- Fix PNGs not being available when browsing images on SMB shares
|
||||||
|
- Don't animate switching between images with the mouse fwd/back buttons
|
||||||
|
|
||||||
|
46.0
|
||||||
|
====
|
||||||
|
|
||||||
|
- Change to stable dependencies
|
||||||
|
|
||||||
|
46.rc
|
||||||
|
=====
|
||||||
|
|
||||||
|
- Fix background color detection ignoring small lines in large images
|
||||||
|
- Change to "gl" as GSK default renderer instead of "ngl" due to performance reasons
|
||||||
|
- Change to sticking to the first error delivered during image loading
|
||||||
|
|
||||||
|
46.beta.2
|
||||||
|
=========
|
||||||
|
|
||||||
|
- Change metainfo to include GNOME group
|
||||||
|
- Change metainfo to use reversed name for the developer id
|
||||||
|
- Change to use latest glycin beta for better metadata performance
|
||||||
|
|
||||||
|
46.beta.1
|
||||||
|
=========
|
||||||
|
|
||||||
|
- Change .desktop file to not include "Slideshow" as keyword
|
||||||
|
- Change help by regenerating pages
|
||||||
|
- Change help to correctly represent zoom
|
||||||
|
- Change to use zbus 4.0
|
||||||
|
|
||||||
|
46.beta
|
||||||
|
=======
|
||||||
|
|
||||||
|
- Fix not reliably returning to restored image when undoing trash operation
|
||||||
|
- Added Shift+Delete as shortcut for permanent image deletion
|
||||||
|
- Added build option that makes X11 an optional dependency
|
||||||
|
- Added button to copy coordinates for location in properties
|
||||||
|
- Change to not using animation when changing images via keyboard shortcuts
|
||||||
|
- Change to opening image in new window, occupy 40% of the screen instead of 30%
|
||||||
|
- Change to using "stacked cards" animation when changing images via buttons
|
||||||
|
- Changed to show city if it's less than 15km away instead of 100km before
|
||||||
|
|
||||||
|
46.alpha
|
||||||
|
========
|
||||||
|
|
||||||
|
- Fix "Ctrl + C" copies image instead of metadata if text is selected
|
||||||
|
- Fix "g_object_weak_unref" warnings
|
||||||
|
- Fix changing image resets timeout for hiding controls if still visible
|
||||||
|
- Fix long file names can newly opened window larger than required for image
|
||||||
|
- Fix not always zooming into center when using overlay buttons on touchscreen
|
||||||
|
- Fix opening image in different folder ends fullscreen mode
|
||||||
|
- Fix scrollbars disappearing under certain conditions
|
||||||
|
- Add zooming via touchpad scrolling while Ctrl button is pressed
|
||||||
|
- Follow G_MESSAGES_DEBUG variable for logging
|
||||||
|
- In print preview, base 100% image scale on physical dimensions of SVGs if specified
|
||||||
|
- In print preview, fix wrong upper input limit in height
|
||||||
|
- In print preview, scale SVGs correctly
|
||||||
|
- More reliably zoom into image position below cursor
|
||||||
|
- Pre-select current image's folder in file-chooser dialog
|
||||||
|
- Remember image properties visibility state
|
||||||
|
- Use GdkSurface:scale instead of scale factor, in theory supporting fractional scaling
|
||||||
|
- Use glycin 1.0
|
||||||
|
|
||||||
|
45.3
|
||||||
|
====
|
||||||
|
|
||||||
|
- Fix horizontal scrollbar sometimes jumping to center while zooming in
|
||||||
|
|
||||||
|
45.2
|
||||||
|
====
|
||||||
|
|
||||||
|
- Fix order of images gets confused after deleting image
|
||||||
|
- Fix image is not shown when sucessfully reloaded after error
|
||||||
|
- Fix keyboard shortcuts shows the swipe gestures the wrong way round
|
||||||
|
|
||||||
|
45.1
|
||||||
|
=======
|
||||||
|
|
||||||
|
- Fix sandbox for image decoding not enabled by default
|
||||||
|
- Fix printing on different printer than selected
|
||||||
|
- Fix print dialog crashes on confirmation
|
||||||
|
- Fix print dialog needs second confirmation inside Flatpaks
|
||||||
|
- Fix SVGs sometimes not re-rendering for zoom level
|
||||||
|
- Fix animated image formats with variable frame length using only one length
|
||||||
|
- Fix rotation getting applied twice to HEIF images
|
||||||
|
|
||||||
|
45.0
|
||||||
|
=======
|
||||||
|
|
||||||
|
- Always ask which program to use for "Open With…"
|
||||||
|
- SVG: Force minimum tile size of 1000x1000
|
||||||
|
- SVG: Don't render first tiles with zoom=1
|
||||||
|
- Empty state: Use flat headerbar
|
||||||
|
- Fix non-native files with path cannot be deleted
|
||||||
|
- Update screenshots
|
||||||
|
- Drag and Drop: Only expect sources of type FileList
|
||||||
|
- Update SlidingView after removing unsupported image
|
||||||
|
|
||||||
|
45.beta.1
|
||||||
|
=======
|
||||||
|
|
||||||
|
- Reload images when the file is replaced by moving another file at it's place
|
||||||
|
- Update dependencies
|
||||||
|
|
||||||
|
45.beta
|
||||||
|
=======
|
||||||
|
- Newly designed print dialog
|
||||||
|
- Added sandboxing for SVG rendering by using glycin
|
||||||
|
- Use RaisedBorder for HeaderBar to avoid shadow over images
|
||||||
|
- Fix browsing images on SMB shares not working
|
||||||
|
- Fix touchscreen gestures not working when zoomed in
|
||||||
|
- Fix touchscreen swipe only working on second attempt
|
||||||
|
- Added JpegXL support via new glycin version
|
||||||
|
- Added overshoot for swipe gesture
|
||||||
|
- New custom style for drop targets
|
||||||
|
- Changed name to Image Viewer
|
||||||
|
|
||||||
|
45.alpha
|
||||||
|
=======
|
||||||
|
- Add help
|
||||||
|
- Disable trashing for non-native files
|
||||||
|
- Give toast for latest deleted file priority over the others
|
||||||
|
- Only list supported image formats in file chooser
|
||||||
|
- Do not guess a potentially different background color for opaque images
|
||||||
|
- Fix incorrect updates when deleting or changing images
|
||||||
|
- Fix SVG zooming with high-res scroll-wheels
|
||||||
|
- Use glycin for sandboxed extendable image loading expect for SVG
|
||||||
|
- Remove backspace as a trash shortcut
|
||||||
|
- Change command line to open all given images in one window
|
||||||
|
- Do not show "Set as Background" if operation was aborted
|
||||||
|
- Let the user select multiple files to open in file chooser
|
||||||
|
- Support forward and back mouse buttons
|
||||||
|
- Correctly align right-click menu
|
||||||
|
|
||||||
|
44.3
|
||||||
|
=======
|
||||||
|
- Hide cursor together with controls when fullscreened
|
||||||
|
- Remove ctrl+x shortcut for deleting images
|
||||||
|
- Fix 'delete' action appearing too long in help overlay
|
||||||
|
- Split rotate actions making it possible to use them in help overlay
|
||||||
|
- Cancel GFile loading when decoder is dropped
|
||||||
|
- Make crossfade from spinner page to image work
|
||||||
|
- Don't make activatable row subtitles selectable in properties view
|
||||||
|
- Disable "open folder" action for non-native files (GTK doesn't support it)
|
||||||
|
- Leave fullscreen when status page is shown
|
||||||
|
- Skip unsupported formats when sliding through images
|
||||||
|
- Show window after 2 seconds if dimension are not yet known
|
||||||
|
- Cancel scroll deceleration on gesture use
|
||||||
|
- Hide headerbar on idle in fullscreen
|
||||||
|
- Show controls on mouse click
|
||||||
|
- Better solution for not registering swipes as cursor motion
|
||||||
|
- Use AdwBreakpoint to move properties below the image for narrow windows
|
||||||
|
- Fix vertical minimum size in measure for LpImageView
|
||||||
|
- Ignore EXIF rotation info for now in HEIF formats
|
||||||
|
|
||||||
|
44.2
|
||||||
|
=======
|
||||||
|
- Use GFile instead of direct file access
|
||||||
|
- Do not crash when monitor info is not available
|
||||||
|
- Get rid of many unwraps and report issues to UI instead, just to be safe
|
||||||
|
- #130 Fix displayed times are wrong because they do not respect timezones
|
||||||
|
- Add basic support for ICC color profiles
|
||||||
|
- Support opening multiple files via drag and drop
|
||||||
|
- Fix textures and background color not updating when image data changed
|
||||||
|
- #124 Fix not defaulting to light background color in light theme
|
||||||
|
- Fix thumbnail is broken for auto-rotated (EXIF) images
|
||||||
|
- #120 Fix high-res scroll wheel issues
|
||||||
|
- #134 Fix 100%/200% shortcuts ending up at best-fit when window size close to 100%/200%
|
||||||
|
- Add printing support
|
||||||
|
- Center new tilings in the viewport, making the first rendered tile cover the viewport already
|
||||||
|
- Allow dragging (panning) the image with middle button
|
||||||
|
- Generate list of mime types in meson and fix list of formats
|
||||||
|
- Set actions enabled state based on UI property status, not manually everywhere
|
||||||
|
- Add and update license headers with script based on commit info
|
||||||
|
- Hide overlay controls after inactivity
|
||||||
|
- Remove OSD from HeaderBar in fullscreen
|
||||||
|
- Drop AdwFlap for HeaderBar
|
||||||
|
- Make properties button insensitive if no image shown/loading
|
||||||
|
- Move 'toggle fullscreen' button from inner to outer position
|
||||||
|
- Add 'all files' filter option to file chooser
|
||||||
|
|
||||||
|
44.1
|
||||||
|
=======
|
||||||
|
Bugfix release after initial feedback:
|
||||||
|
- Bump GTK dependency to 4.11.1 because of required fixes for scaled texture
|
||||||
|
- Drop gtk-macros (crate) dependency since it is not needed and lacking a LICENSE files
|
||||||
|
- #115 Fix WebP support for still images
|
||||||
|
- #115 Fix not detecting HEIC files
|
||||||
|
|
||||||
|
44.0
|
||||||
|
=======
|
||||||
|
|
||||||
|
Initial release
|
||||||
Loading…
Add table
Add a link
Reference in a new issue