4.20.2 (2026-03-02)
======
- lock-plug: Fix wrong conditional
- I18n: Update po/LINGUAS list
- prefs-dialog: Set best visual for theme preview
- Avoid duplicated function get_theme_arguments()
- Also use the -a option for FreeBSD pgrep
- Use option to make pgrep return only exact matches
- Do not check processes longer than 15 chars
- I18n: Update po/LINGUAS list
- build: Fix typo in optimization level
- Use pgrep in place of pidof
- manager: Grab devices on overlay when recreating windows
- manager: Use only one permanent window as overlay
- I18n: Update po/LINGUAS list
- Translation Updates:
  Catalan, Greek, Kabyle, Kazakh, Occitan (post 1500), Thai, Uyghur,
  Vietnamese

4.20.1 (2025-08-15)
======
- configure.py: Quote only command line args
- README.md: Add uninstall info
- Remove reference to INSTALL file from README
- Remove outdated INSTALL file
- build: Install xfce4-screensaver-configure.py in libexecdir
- build: Rename POTFILES.in to POTFILES
- Remove autotools build
- Update README after switchover to meson
- meson-build: Add "none" to authentication-scheme combo
- meson-build: Add "none" to session-manager combo
- Translation Updates:
  Occitan (post 1500), Polish

4.20.0 (2025-07-14)
======
Meson has been added as a build system in this release, and the
associated archive has been generated by 'meson dist'. Although
autotools has been retained for the time being and can still be used
via 'autogen.sh', meson is now the preferred build system, and
autotools will be removed in a future release.

- Add meson build
- build: Automate copyright year management
- build: Guard config.h include with HAVE_CONFIG_H
- build: Remove X-XFCE-{Autostart,Bugzilla}-* from desktop files
- build: Install docbook.css
- build: Replace xdt-csource with glib-compile-resources
- build: Remove xscreensaver migration
- build: Remove --with-xscreensaverdir option
- build: Rename xfce4-screensavers.menu from .in
- prefs: Enable fullscreen-inhibit by default
- lock-plug: Fix possible null dereference
- lock-plug: Fix possible null dereference
- configure.py: Properly init settings when opening dialog
- configure.py: Fix unquoted command tokens
- slideshow: Increase timeout to switch image a bit
- build: Add missing dep flags
- I18n: Update po/LINGUAS list
- Exit early in unsupported windowing environments
- Apply .clang-format file
- Preliminary cleanup
- Sort includes
- clang-format: Add file
- wayland: manager: Fix activated/deactivated signal emission
- wayland: Use ext-idle-notify protocol
- wayland: Make sure text entry of unlock dialog is grabbed
- wayland: Use ext-session-lock protocol
- Remove -x11 suffix from file names that do not contain an X11 impl
- wayland: Use WleGtkSocket and WleGtkPlug from libwlembed
- Guard X11 code paths at buildtime and runtime
- Add GSListener abstract class and X11 impl
- Rename GSListener to GSListenerDBus
- Get screen dimensions from GDK instead of X11-specific APIs
- Use %lu or %lX to print or scan X11 window ID
- prefs-dialog: Use a placeholder for the socket in the glade file
- lock-plug: Derive from GObject and make GtkPlug a class member
- Use GtkSocket/GtkPlug instead of GtkDrawingArea/GSThemeWindow
- build: Use AM_DISTCHECK_CONFIGURE_FLAGS
- build: Use XDT_CHECK_PACKAGE and XDT_CHECK_OPTIONAL_FEATURE
- build: Various cleanups
- build: Check for libxext
- build: Remove check for sigaction
- Remove DPMS support
- Remove xfce4-screensaver-gl-helper
- Revert "Exit early in non-X11 environments"
- Translation Updates:
  Albanian, Armenian (Armenia), Basque, Belarusian, Bulgarian, Catalan,
  Chinese (China), Chinese (Taiwan), Czech, Danish, Dutch, Eastern
  Armenian, English (Australia), English (Canada), English (United
  Kingdom), Estonian, Finnish, French, Galician, German, Greek, Hebrew,
  Hungarian, Icelandic, Indonesian, Italian, Japanese, Kabyle, Korean,
  Lithuanian, Malay, Norwegian Bokmål, Occitan (post 1500), Polish,
  Portuguese, Portuguese (Brazil), Romanian, Russian, Serbian,
  Slovenian, Spanish, Swedish, Thai, Turkish, Ukrainian

4.18.4 (2024-12-21)
======
- Exit early in non-X11 environments
- Fix return codes in main() functions
- prefs-dialog: Remove subtitle
- Revert "prefs-dialog: Remove subtitle"
- prefs-dialog: Remove subtitle
- xfce-bg: Update default fallback wallpaper
- xfce-bg: Default to XFCE_BG_PLACEMENT_ZOOMED when image-style is 
missing
- Fix blurry avatar when UI scale > 1
- Fix blurry background when UI scale > 1
- I18n: Update po/LINGUAS list
- prefs-dialog: Fix GtkTreePath leaks
- I18n: Update po/LINGUAS list
- lock-plug: Fix GVariant leak when switching user
- lock-plug: Fix GVariant leak
- Fix GSMonitor leak when screensaver fails to start
- lock-plug: Fix GtkBuilder leak
- prefs-dialog: Fix string leak
- Fix string leaks in xfce_bg_load_from_xfconf
- Fix string leak in get_themes_menu
- lock-plug: Fix string leak
- Fix string leak in xfce_bg_load_from_xfconf
- Added image cropping to the slideshow screensaver
- lock-plug: Use consistent keymap for capslock detection
- lock-plug: Silence gdk-pixbuf warning
- listener: Fix fullscreen inhibit
- gcc-analyzer: Fix -Wanalyzer-possible-null-argument
- gcc-analyzer: Fix -Wanalyzer-null-dereference
- build: clang: Fix -Wsingle-bit-bitfield-constant-conversion
- slideshow: Do not load image if window size is invalid
- lock-plug: Draw background in constructed()
- Revert "lock-plug: Delay background drawing at startup"
- Use same debug function everywhere
- lock-plug: Delay background drawing at startup
- xfce4-screensaver-preferences.desktop: Add Keywords
- Rename directory file to desktop for gettext detection
- Add .py extension to xfce4-screensaver-configure for gettext detection
- xfce4-screensaver-dialog: Restore "Password:" filter
- xfce4-screensaver-dialog: Remove custom status text mapper
- gs-lock-plug: Improve utf8 string check in show_status_text
- I18n: Update po/LINGUAS list
- build: Switch from intltool to gettext
- Skip including crypt.h on FreeBSD
- Translation Updates:
  Albanian, Armenian (Armenia), Basque, Belarusian, Bulgarian, Catalan,
  Chinese (China), Chinese (Taiwan), Croatian, Czech, Danish, Dutch,
  Eastern Armenian, English (Australia), English (Canada), English
  (United Kingdom), Estonian, Finnish, French, Galician, German, Greek,
  Hebrew, Hungarian, Icelandic, Indonesian, Italian, Japanese, Kabyle,
  Korean, Lithuanian, Malay, Norwegian Bokmål, Occitan (post 1500),
  Polish, Portuguese, Portuguese (Brazil), Russian, Serbian, Slovak,
  Slovenian, Spanish, Swedish, Thai, Turkish, Ukrainian

4.18.3 (2024-03-04)
======
- Update copyright year
- build: Use XDT_VERSION_INIT for proper version scheme
- Fix memory management of GSPrefs
- lock-dialog: Do not use gtk_widget_grab_default()
- i18n: Use xfce_textdomain()
- prefs-dialog: Fix spin button signal of cycle-delay
- prefs-dialog: Add missing sanity check
- manager: Fix cycling jobs
- manager: Fix desktop leak when reconfiguring monitors
- Revert "Add overlays to initial activation"
- manager: Align job table management with window table management
- manager: Use a hash table instead of a list for windows
- manager: Fix leak on prefs
- window: Reset monitor pointer when disposed
- window: Add source id management when deactivated
- Add hint for users how to make Blank Screen DPMS work
- Do not activate screensaver if disabled
- Translation Updates:
  Albanian, Basque, Belarusian, Bulgarian, Catalan, Chinese (China),
  Chinese (Taiwan), Czech, Danish, Dutch, Eastern Armenian, English
  (Canada), English (United Kingdom), Estonian, French, Galician,
  German, Greek, Hebrew, Hungarian, Indonesian, Italian, Japanese,
  Korean, Lithuanian, Malay, Norwegian Bokmål, Polish, Portuguese,
  Portuguese (Brazil), Russian, Serbian, Slovenian, Spanish, Swedish,
  Thai, Turkish, Ukrainian

4.18.2 (2023-05-30)
======
- screensaver-configure: Ensure consistent dialog positioning
- screensaver-configure: Remove dead code
- screensaver-configure: Improve some strings
- screensaver-configure: Print errors on stderr without translating
- screensaver-configure: Replace single quotes with double quotes in _()
- screensaver-configure: Get translated strings from desktop files
- screensaver-configure: Fix broken translations
- screensaver-configure: Set dialogs modal
- Revert "prefs-dialog: Grey out prefs button for popsquares (no prefs)"
- screensaver-configure: Fix broken prefs
- screensaver-configure: Fix critical when closing dialog
- prefs-dialog: Grey out prefs button for popsquares (no prefs)
- Bump GTK version and remove dead code
- Keep "lock-on-sleep" in sync with other components via XfceScreensaver
- *.desktop: Distinguishing our screensaver from others (Fixes #17)
- Use GLib wrappers for memory allocation
- Fix unix.Malloc warnings from scan-build 15.0.7
- Fix core.uninitialized.Assign warnings from scan-build 15.0.7
- Fix deadcode.DeadStores warnings from scan-build 15.0.7
- Avoid duplicated code
- manager: Do not discard monitors without model and manufacturer
- Translation Updates:
  Albanian, Armenian (Armenia), Basque, Belarusian, Bulgarian, Catalan,
  Chinese (China), Chinese (Taiwan), Czech, Danish, Dutch, Eastern
  Armenian, English (Australia), English (United Kingdom), Estonian,
  Finnish, French, Galician, German, Hebrew, Hungarian, Icelandic,
  Indonesian, Italian, Japanese, Kabyle, Korean, Lithuanian, Malay,
  Norwegian Bokmål, Polish, Portuguese, Portuguese (Brazil), Russian,
  Serbian, Slovak, Slovenian, Spanish, Swedish, Thai, Turkish,
  Ukrainian

4.18.1 (2023-03-26)
======
- Refactor spawn_make_environment_for_display()

4.18.0 (2023-03-18)
======
- Add copyright notice to configure.ac
- Make missing GNOME Keyring PAM module warning quiet (Fixes #46)
- build: Fix --disable-locking (Fixes #83)
- Remove duplicated lines in README (Fixes #109)
- savers: Fix critical warnings on exit
- savers: Fix critical warnings from GSThemeWindow on "realize"
- Do not redirect stderr for our own commands
- Round the user picture on lock dialog.
- build: Do not warn if PAM prefix is correct
- Improve lightdm detection (Fixes #39)
- build: Fix -Wunused-value compiler warning
- build: Fix -Wdeclaration-after-statement compiler warning
- build: Fix -Wsign-compare compiler warning
- build: Use XDT_FEATURE_DEBUG
- Fix use-after-free crash in xfce4-screensaver-dialog
- Fix D-Bus sleep inhibit when screen locker is disabled
- Complete previous commit
- Fix Xfconf memory management
- build: Set GLib macros via XDT_CHECK_PACKAGE
- autogen.sh: Do not `mkdir m4`
- Fix crash when XDG_PICTURES_DIR is not set (Fixes #86)
- Fix build warning from Clang
- --with-password-helper expects full pathname of password helper
- Add missing zeroing of timeout_id in dialog_timed_out() timer handler
- Fix wrong signal name for GtkSpinButton
- Remove ENABLE_NLS ifdefs and use xfce_textdomain()
- build: Fix intltool lock file problem during make distcheck
- Fix compilation warnings
- autoconf: Some updates
- Translation Updates:
  Albanian, Armenian (Armenia), Basque, Belarusian, Bulgarian, Catalan,
  Chinese (China), Chinese (Taiwan), Danish, Dutch, Eastern Armenian,
  English (Australia), Estonian, Finnish, French, Galician, German,
  Hebrew, Hungarian, Icelandic, Indonesian, Italian, Japanese, Kabyle,
  Korean, Lithuanian, Malay, Norwegian Bokmål, Polish, Portuguese,
  Portuguese (Brazil), Russian, Serbian, Slovak, Slovenian, Spanish,
  Swedish, Thai, Ukrainian

4.16.0
======
- xfce4-screensaver-configure: Use GIRepository of libxfce4util and xfconf (#11)
- Change type of seconds to guint in add_lock_timer
- Check dbus system_connection in add_sleep_inhibit
- Cleanup GSourceFunc usage
- Convert date_time_update to a timer function
- Fix format specifiers in lock_timer
- Fix issues connected to dbus (#66)
- Fix pam_strerror usage
- Pass constants to XSetScreenSaver
- Plug memleak in get_x11_idle_info
- Remove obsolete check for scrnsaver.h from configure.ac
- Translation Updates:
  Czech, Japanese, Portuguese, Turkish

0.1.11
======
- Builds: Move from exo-csource to xdt-csource (Bugzilla #16717)
- CI: Add basic GitLab pipeline
- distcheck: Add missing gs-auth-pam.c
- DPMS: Change sleep settings to seconds, default after 5 seconds (#27)
- Fix: Catch gs_listener_dbus_init failures
- Fix: remove unused flag --no-daemon
- Icons: New icons and rDNS icon name, org.xfce.ScreenSaver
- Internal: Change timers from milliseconds to seconds
- README.md: Note setuid requirement after install with shadow/bsdauth (#9)
- xfce4-screensaver.common-auth: replace @include with standard systax (#6)
- Translation Updates:
  Albanian, Armenian (Armenia), Basque, Bulgarian, Catalan, Chinese
  (China), Chinese (Taiwan), Czech, Danish, Dutch, Eastern Armenian,
  English (Australia), Estonian, French, German, Hebrew, Hungarian,
  Icelandic, Italian, Japanese, Korean, Lithuanian, Malay, Norwegian
  Bokmål, Polish, Portuguese, Portuguese (Brazil), Russian, Serbian,
  Slovak, Slovenian, Spanish, Swedish, Thai, Turkish

0.1.10 (beta)
=============
- Send DBus lock responses for xfce4-session support (bug #16522)
- Translation Update: Galician

0.1.9 (beta)
============
- Reimplement g_date_time_format_iso8601 to support GLib 2.50+
- Replace deprecated GTimeVal usage
- Rebuild windows on monitor reconfiguration
- Draw overlays during window reconstruction to protect screen
- Do not activate DPMS when screensaver is inactive (bug #16327)
- Better handling of multi-monitor and lid-close events (bug #16102)
- Update LINGUAS (bug #15949)
- Fix decimal properties when running through atof
- Return 1 on lock command failure (bug #15945)
- Rename 'Pictures folder' to 'Slideshow' (bug #15589)
- Raise NameError and TypeError (bug #15830)
- Fix float parsing error (bug #16295)
- Fix inhibitor proxying (bug #16356)
- Fix inhibitor listing in xfce4-screensaver-command (bug #16355)
- Add systemd sleep inhibitor (bug #15929)
- Fix dbus inhibition (bug #16365)
- dbus: Prevent overzealous activation (bug #16365)
- Translation Updates:
  Albanian, Belarusian, Czech, Finnish, Galician, Hebrew, Italian,
  Japanese, Korean, Malay, Norwegian Bokmål, Polish, Portuguese
  (Brazil), Serbian, Spanish, Swedish, Turkish

0.1.8 (beta)
============
- Features:
  - Optional screensaver inhibition for fullscreen apps
  - Blank screensaver now supports DPMS (Xfce #15216)
- Build Changes:
  - Add dependency on libwnck >= 3.20
- Translation Updates:
  Basque, Bulgarian, Catalan, Chinese (China), Chinese (Taiwan),
  Danish, Dutch, Finnish, French, Galician, German, Hungarian,
  Italian, Lithuanian, Polish, Portuguese, Portuguese (Brazil),
  Russian, Spanish

0.1.7 (beta)
============
- Features:
  - Added configuration tool for individual screensavers
  - Added support for on-screen keyboards
- Code Cleanup:
  - Drop libXxf86 dependency, no longer implemented or available
    (see https://github.com/mate-desktop/mate-screensaver/issues/199)
  - Removed unneeded login window construction code
  - Removed window shaking on failed login
  - Removed unused session-idle signal
  - Removed unused code from gs-manager/gs-window-x11
  - Simplified lock screen code
  - Simplified screensaver activation and locking code
- General:
  - Improved wallpaper drawing at 2x scale
  - Migrated xfce4-screensaver-command to GDBus
  - Fixed confusion between saver and lock timeouts
- Translation Updates:
  Armenian (Armenia), Belarusian, Bulgarian, Catalan, Chinese (China),
  Chinese (Taiwan), Czech, Danish, Dutch, Finnish, French, Galician,
  German, Hungarian, Italian, Lithuanian, Norwegian Bokmål, Polish,
  Portuguese, Portuguese (Brazil), Russian, Spanish, Turkish

0.1.6 (beta)
============
- Bug Fixes:
  - Fixed flickering in the password dialog
  - Fixed password dialog appearance, visual artifacts with various
    themes are resolved
  - Remove reference to pkg-config file (.pc) (Xfce #15597)
- Code Cleanup:
  - Cleaned up kdb-indicator logic
  - Consolidated debug function calls
  - Moved job theme processing out of gs-manager
  - Removed drag-and-drop theme installation
  - Removed placeholder widgets from the glade template
  - Removed unused callbacks
  - Simplified handling of user preferences
- Translation Updates:
  Armenian (Armenia), Hebrew, Hungarian, Malay, Portuguese,
  Portuguese (Brazil), Russian

0.1.5 (beta)
============
- Features:
  - Added support for elogind (Xfce #15243)
  - Added support for profile images from AccountsService (Xfce #15235)
- General:
  - Removed a lot of unused code (2,700+ lines)
  - Simplified monitor-handling logic
  - More consistent spacing in makefiles
- Bug Fixes:
  - Added categories to display in the Settings Manager (Xfce #15507)
  - Added a fallback idle timer for when X11 screensaver doesn't notify
  - Fixed warning during configure stage (Xfce #15552)
  - Fixed Inhibitor lock (Xfce #15551)
  - Hid screensaver themes from 'Open with' options (Xfce #15531)
  - Made numerous cppcheck, cpplint, and Coverity Scan fixes
    - Constant variables guarding dead code
    - Dereferencing before/after null
    - Unchecked return values
    - Unused variables
    - Memory leaks
- Translation Updates:
  Albanian, Basque, Belarusian, Bulgarian, Catalan, Chinese (China),
  Chinese (Taiwan), Czech, Danish, Dutch, English (Australia),
  French, German, Hebrew, Hungarian, Icelandic, Italian, Korean,
  Lithuanian, Malay, Polish, Portuguese (Brazil), Serbian, Slovak,
  Spanish, Swedish, Turkish

0.1.4 (beta)
============
- Features:
  - Added support for locking on suspend (Xfce #15001)
- Bug Fixes:
  - Fix password entry after stealing focus (Xfce #15042)
- General:
  - Faster screen locking when activated
  - Faster renderering of the authentication prompt
  - Improved support for monitor dis-/connection events
  - Improved lock screen display on lid open events
  - Improved idle activation
  - Improved low-power state, screensavers are now suspended
    when monitors are powered off via DPMS (Debian #921835)
- Translation Updates:
  Basque, Belarusian, Catalan, Czech, Danish, Galician, Lithuanian,
  Malay, Portuguese, Russian, Serbian, Spanish, Swedish

0.1.3 (beta)
============
- Features:
  - All available settings are now availble in the Preferences dialog
  - Locking on user inactivity is now based on X11 Screensaver signals
  - Xfce Screensaver now respects the xdg-screensaver state
  - Screensaver and lock screen functionality can now be toggled separately
- General:
  - Removed deprecated DBUS methods and signals from documentation
- Preferences:
  - Dropped unused preferences
  - Renamed all Xfconf properties for improved clarity
  - Embedded keyboard options have been disabled since they are currently
    non-functional
- Bug Fixes:
  - Replaced Help link with a link to the Xfce Documentation (Xfce #14877)
  - Added /usr/lib and /usr/libexec as trusted engine paths, enables
    local installs with access to existing screensavers (Xfce #14883)
  - Fixed screen blanking and locking on BSD (Xfce #14846)
  - Fixed lock screen crash on laptop lid-close events (GTK #1466)
  - Fixed daemon crash when scrolling through available themes
  - Fixed minimum window size to allow resizing much smaller
  - Renamed screensavers to prevent conflicts with MATE Screensaver
  - Reduced flicker rate when multiple keyboard layouts are available
- Build Improvements
  - Silence warning: "ar: 'u' modifier ignored since 'D' is the default"
  - Fix warning: "Target given more than once in the same rule"
- Code Quality:
  - Applied cpplint fixes and added cpplint configuration file
  - Cleaned up unused variables, trailing spaces, and deprecated code
  - Glade templates were cleaned up and organized for easier maintenance
- Translation Updates:
  Albanian, Basque, Chinese (China), Chinese (Taiwan), Danish, French, Galician,
  Hebrew, Icelandic, Italian, Korean, Malay, Polish, Russian, Slovak, Turkish

0.1.2 (alpha)
=============
- Bug Fixes:
  - Resolve hidden libxfce4ui 4.13 requirement (Xfce #14821)
  - Avoid hard-coded paths for systems that do not use /usr (Xfce #14822)

0.1.1 (alpha)
=============
- General:
  - Support color settings for Xfdesktop 4.12
  - Fallback to the Xfdesktop default color background (dark blue)
  - UI files are now compiled and included in the binaries
  - Root warning is now an InfoBar to make it more visible
  - Enabled embedding in the Xfce Settings Manager
- Bug Fixes:
  - Fix crash with no background placement, fix color settings (Xfce #14769)
  - Redraw the screensaver on monitor configuration events (Xfce #14796)
  - Automate detection of PAM configuration, add flag to override (Xfce #14779)
  - Notify invalid lid-switch configuration and add Resolve button (Xfce #14782)
  - Fix appearance with the Adwaita GTK theme
  - Fix builds on OpenBSD, build status can now be tracked on the
    Xfce Build Bot: https://buildbot.xfce.alteroot.org/job/xfce4-screensaver/
- New Translations:
  Albanian, Basque, Bulgarian, Catalan, Chinese (China), Chinese (Taiwan),
  Danish, Dutch, French, German, Italian, Lithuanian, Malay, Polish, Russian,
  Slovak, Spanish, Swedish, Turkish

0.1.0 (alpha)
=============
- Initial Xfce release.
