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
|
||||
====
|
||||
|
||||
|
|
|
|||
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