### marco 1.24.1

  * update translations
  * common: window icon (META_DEFAULT_ICON_NAME) is no longer available
  * workspace: Don't try to use per-workspace MRU lists as a hint for focusing
  * stack: make meta_window_raise() and meta_window_lower() smarter
  * compositor: fix possible crash closing/destroying window . Fixes to previous commit.
  * window: fix crash if workspace is null
  * workspace-switcher: fix colors of selected workspace when compositing is disabled.
  * build: silent build warnings for distcheck
  * Remove unnecessary warnings about visible region
  * meson: improvements
  * Guard against null changes introduced by previous commit
  * Introduce nullpointer checks and return null if validation fails
  * util: meta_bug raises SIGABRT so it shouldn't return
  * add meson build files to EXTRA_DIST
  * remove warning: 'GTimeVal' is deprecated
  * theme: avoid deprecated g_memmove
  * frames: don't bother painting the background

### marco 1.24.0

  * update translations
  * frame: remove unused variable 'status'
  * Xprops fix memory leak.

### marco 1.23.2

  * update translations
  * Revert "compositor: fix possible crash closing/destroying window"
  * theme.c: Fix window control hidpi rendering for all themes.
  * tabpopup: Increase max number of columns
  * window: Add optional tile size cycling
  * DustBlue: strip image of all profiles and comments
  * tabpopup: Fix deprecation warnings
  * tabpopup: Change schema value ranges
  * tabpopup: Make workspaces compatible with OSD popup
  * tabpopup: Render window thumbnail as cairo surface
  * tabpopup: Draw transparent OSD-style popups
  * Fix MARCO_LOCALEDIR displaying the translated messages
  * WinMe theme: strip png images of all profiles and comments
  * eOS theme: Add single button backgrounds
  * eOS theme: strip png images of all profiles and comments
  * eOS theme: make transparent the button-box outer region
  * theme: Render window control buttons and icons as surfaces
  * Set compiler debug flags using MATE_DEBUG_CHECK
  * window decoration themes: Add Atlanta, Esco, Gorilla, Motif, Raleigh
  * Print CFLAGS and WARN_CFLAGS in configure summary
  * Set --enable-compile-warnings=yes by default
  * Use WARN_CFLAGS which are only set with --enable-compiler-warnings
  * testboxes: Fix find_closest_point_to_line() test
  * remove warnings: function declaration isn’t a prototype
  * Remove warning: format not a string literal, argument types not checked
  * build: add --enable-more-warnings configure flag
  * build: Remove rationales.txt from EXTRA_DIST target
  * Fix use of RBGA visual in frame.c when compositing is not in use
  * Use the window's visual in all cases
  * window.c: remove unused variable
  * display.c: add missing "break"
  * Fix build warning about xgettext
  * async-getprop: Fix cast from non-struct type to struct type
  * xprops: Fix cast from non-struct type to struct type
  * frames: bump priority of style providers
  * window: add _GTK_THEME_VARIANT to initial window properties
  * frames: apply modified hack from Mutter/Metacity
  * frames: avoid infinite loop on the variants GList
  * frames: use style_updated instead of style_set
  * Fixed moving windows to edges to work with CSD clients.
  * meson: use install_data to replace install_dir
  * switch to use meson build system
  * window: Update allowed action hints
  * remove line for debug
  * fix make dist to remove .gmo files
  * bump LT_VERSION_INFO
  * libmarco-private: add version information

### marco 1.23.1

  * update translations
  * Make alt+tab max columns configurable and consider window label width
  * add invisible-border
  * theme: Fix window state when tiling from maximized
  * compositor: fix possible crash closing/destroying window
  * update window->has_resize_func at the right time when unfullscreening
  * frames: include invisible area in cache
  * frames: Rename layout to text_layout
  * frames: again change meta_frames_applet_shapes
  * Fix scaling overcorrection when caching frame borders
  * compositor: fix border_size
  * frame: make frame window transparent
  * frames: apply shapes in different way
  * frames: add dest_kind to apply_cairo_region_to_window
  * frames: Fall back to title bar if nothing else matched
  * theme-viewer: Fix invisible borders
  * window: Correct coordinates for the configure event
  * frame: Make sure to offset by invisible borders when unmanaging windows
  * window: Fix _NET_FRAME_EXTENTS to work properly
  * theme: don't add invisible borders for windows that can't be resized
  * window: Fix window placement to exclude invisible borders
  * theme: Don't add any bottom border to shaded windows
  * Account for invisible borders when constraining modal dialogs
  * compositor: fix shadow size and placement
  * MetaWindow: Repurpose get_outer_rect and add get_input_rect
  * MetaWindow: Compensate for invisible border changes
  * ui: Replace inline borders in MetaFrameGeometry with MetaFrameBorder
  * MetaFrameBorders: add invisible borders
  * theme: add invisible_border to metacity theme
  * compositor: don't draw shadow under decorations
  * compositor: add function to convert cairo region to xserver region
  * constraints: fix mem leak in meta_window_constrain()
  * MetaFrames: factor out MetaUIFrame accessors for borders, corner radiuses
  * frame: Add "get_corner_radiuses" chain
  * frame: destroy window->frame_bounds when destroying the frame
  * Only shadow ARGB windows with a frame outside the frame
  * Fix XShape
  * compositor: don't draw shadow under windows
  * constraints: initialize window->user_rect in initial placement
  * theme: Make meta_frame_draw_theme take a GtkStyleContext instead of a widget
  * build everything as library
  * Allow raise_on_click to be set independent of focus_mode
  * window: initialize few variables
  * frames: Explicitly initialize style contexts
  * fix a crash-on-exit
  * ui-frame: Add support for style variants
  * ui-frames: Delay attaching the style to new frames
  * core: Update frame style when _GTK_THEME_VARIANT changes
  * ui: Add meta_ui_update_frame_style()
  * core: Allow retrieving the theme variant via core_get()
  * window: Parse _GTK_THEME_VARIANT property
  * MetaFrameBorders: Add meta_frame_borders_clear
  * Replace public MetaFrameGeometry with MetaFrameBorders
  * alt+tab popup: bugfix mouse click handling for scale factor > 1
  * alt+tab popup: follow mouse while mouse button is pressed
  * Handle mouse clicks in Alt+Tab Popup
  * Allow use of up/down arrow keys in alt+tab popup
  * libmetacity: use cairo to render gradient
  * gradient: sync code with mutter before it was removed
  * fix window type for splash
  * Fix Could not parse desktop file marco.desktop
  * travis: use fedora-30 and ubuntu-19.10 for building
  * Migrate from intltool to gettext

### marco 1.23.0

  * update translations
  * ui: always set the frame background to None
  * theme-viewer: avoid deprecated gtk_widget_override_background_color
  * window: set atom__NET_WM_STATE_FOCUSED for meta_window_appears_focused
  * window: make docks and spashscreens appear focused
  * Limit icon size to 480
  * scale icon down if icon is larger than alt+tab preview thumbnail
  * description for icon size preference corrected
  * reload icons if icon size preference changed
  * make icon size configurable
  * Remove unnecessary GClosureNotify methods
  * Replace meta_free_gslist_and_elements with g_slist_free_full
  * Replace meta_rectangle_free_list_and_elements with g_list_free_full
  * Remove GDestroyNotify function cast for g_object_unref
  * delete: remove old code
  * Fix -Werror=cast-function-type
  * Improve performance by removing unused assignments
  * window: avoid clang warning: garbage value
  * frames: avoid deprecated 'gtk_widget_set_double_buffered'
  * [ci] Enable Clang Static Analyzer for marco
  * boxes: avoid false positive warning in Clang static analyzer
  * Do not judge whether the window is decorated or not
  * screen: Fix use of memory after it is freed
  * boxes: Actually check for rectangle containment
  * [Security] Use 'g_strlcpy' instead of 'strcpy'
  * compositor-xrender: Fix memory leak

### marco 1.22.0

  * update translations
  * Initialize travis support
  * screen: Remove get_current_monitor in favor of get_current_xinerama
  * Increase icon size on tab and workspace popups
  * screen: avoid 'NULL' in 'meta_error_trap...' functions
  * prefs: avoid deprecated 'g_settings_list_keys'
  * add git.mk to autogenerate .gitignore files
  * enable silent output when building
  * 'meta_error_trap_push' instead 'meta_error_trap_push_with_return'
  * errors.c: avoid deprecated 'gdk_error_trap...' functions:
  * frames.c: drop unused variables
  * compositor-xrender: avoid deprecated 'gdk_error_trap_push/pop'

### marco 1.21.1

  * update translations
  * theme: revert theme format version 3.6
  * doc: add info for 3.5 and 3.6 theme format versions
  * Convert frame region handling to cairo regions
  * theme: add invisible_border to metacity theme
  * add support for app-menu button in theme
  * remove option to attach modal dialogs
  * theme: replace mutter/metacity with marco
  * theme: Replace char array element comparisons with strncmp
  * tabpopup.c: always show 5px outline border
  * tabpopup.c: improve
  * Don't show the ws switcher if we only have one
  * theme: Allow disabling fallback colors in gtk:custom()
  * theme: Allow using custom colors from the GTK+ theme
  * theme: Add tiled_left/tiled_right frame states
  * theme: Add background functions for single buttons
  * theme-parser: Use peek_required_version() for validation
  * Add frame type for attached modal dialogs
  * Optionally attach modal dialogs
  * Add meta_window_get_transient_for() method
  * Allow a theme to specify ellipsize width for a title
  * Add frame_x_center/frame_y_center variables for themes
  * metacity-theme-3.xml: Add a flexible version mechanism
  * theme-parser: Remove unused define

### marco 1.21.0

  * update translations
  * Correct resize popup position on HiDPI displays
  * Fix frame geometry to avoid stuck resize cursor
  * Scale cursor size for HiDPI
  * tx: update config with branch specific resoures
  * Use frame window to determine scale
  * Support HiDPI window decorations
  * Fix mismatched enums in keybinding detection for switch-panels and switch-panels-backward
  * window: add _NET_WM_STATE_FOCUSED hint to _NET_WM_STATE
  * avoid deprecated GtkButton:use-stock
  * avoid deprecated GtkStock
  * Fixes move_to_center moving window between monitors

### marco 1.20.0

  * Translations update
  * require GTK+ 3.22 and GLib 2.50
  * build: drop unneeded pangoxft requirement
  * Small bugfix for the move_to_X keybinds
  * Bugfix for monitors of different sizes
  * Restructured monitor keybinds and adjust save_rect
  * Implemented simple shourtcuts to move window to another monitor
  * schema: fix typos
  * compositor: don't try to paint window that is not viewable, fix #324
  * Fix wrong result in meta_window_titlebar_is_onscreen() for windows without a frame
  * Add support for gtk3 _GTK_SHOW_WINDOW_MENU event
  * More elegant solution for handling new move-to-workspace keybinds
  * Implemented a setting to disable top tiling
  * Implemented tabpopup when moving window to different workspace
  * keybindings.c: Fix build warning:
  * Reset tile_resized to false when fullscreening

### marco 1.19.2

  * Translations update
  * building: add back README
  * Fixes windows not going to save_rect when unmaximimizing
  * Allow horizontal and vertical resizing when corner tiled
  * Fixes window getting reset to saved_rect when untiling from corner
  * Added keybindings for corner tiling
  * Implemented simple corner tiling by mouse drag
  * WidthOfScreen and HeightOfScreen implementation
  * Use Markdown for formatting the README
  * XFIXES regions are leaked during paint_windows
  * Add stricter logic for running without XPresent support
  * Make XPresent optional
  * Remove debug output
  * Add in some changes from xfwm4
  * Cancel present_pending flag when erroring out
  * XPresent extension support - first pass

### marco 1.19.1

  * Translations update
  * Store a window flag when user resizes from tiled
  * Allow tiled windows to be resized horizontally
  * gtk 3.22: avoid deprecated gdk_screen_get_monitor... functions:
  * avoid deprecated gdk_screen_width/height
  * avoid deprecated gdk_screen_get_width
  * display: don't use deprecated GDK_DEVICE_MANAGER
  * tools: remove marco-mag and marco-grayscaletools
  * Fix synthetic keybinding/button-grab window
  * Forces a window scale of 1 for the window manager,
    instead of using the default or user configured scale.
  * avoid deprecated gdk_display_get_screen
  * avoid deprecated gdk_screen_get_number
  * Alt/tab - define arrow keycode + numpad arrows
  * Allow use of arrows while in alt+tab popup
  * ui: Fix invalid object construction in frames
  * README: fix names of GSettings keys
  * keybindings: remove uppercase from "current workspace"
  * Added hotkey to rename current workspace
  * Restore Polish translation credits from GNOME

### marco 1.19.0

  * fix strange window switching foreground/background behavior
  * Translations update
  * fis come deprecations

### marco 1.18.0

  * NEWS: use consistent, project wide, markdown-like formatting to make
    generating release announcements easier
  * Move to GTK+3 (require GTK+ >= 3.14), drop GTK+2 code and --with-gtk
    build option
  * Theme viewer: fix build for GTK+3 and fix some GTK+ deprecations
  * Add ability to disable showing preselected window border on alt-tab
  * Add ability to ignore applications when show-desktop is triggered
  * Schema: make compositing on by default
  * Workspaces: switch wrapping behavior for 'classic' and 'toroidal'
    modes (it was reversed somehow)
  * Translations update

### marco 1.16.0

  * Translations update
  * Make distcheck use currently selected GTK+ version

### marco 1.14.2

  * Translations update
  * GTK+3: fix a typo with deprecated GtkMisc
  * GTK+3 fixedtip: add style class tooltip

### marco 1.14.1

  * Fix crash on showing alt-tab thumbnails with compositor on
  * Translations update

### marco 1.14.0

  * Drop MateConf migration script
  * Fix visual glitches appearing after unmaximizing Chromium window
  * Correct description of compositing-fast-alt-tab GSettings key
      (mention that it disables thumbnails)
  * Bump libmarco-private's sover for GTK+3 build
  * GTK+3: re-add ability to show alt-tab thumbnails when compositor is on
  * GTK+3: fix several deprecations
  * Translations update
  * Add Changelog generation

### marco 1.12.1

  * Fix animation issues that led to crashes and visual glitches
  * GTK+3 fixes
  * Translations update

### marco 1.12.0

  * Add manual and by-pointer window placement
  * Use Alt-` for switching between windows of the same application
  * GTK+3 fixes
  * Some more fixes and cleanups

### marco 1.10.3

  * Fix crash with minimize animation
  * Fix crash with moving a window in some distros

### marco 1.10.2

  * Remove outdated assertion.
  * Make minimize item insensitive when window should not be minimized.
  * Fix crash when struts change during grab operation.
  * Fix switching of fullscreen Direct3D applications running in Wine.
  * Update translations.

### marco 1.10.1

  * Assorted bugfixes

### marco 1.10.0

  * Use zenity instead of mate-dialogs
  * Bugfixes

### marco 1.8.0

  * Implement side-by-side tiling
  * Use yelp-tools instead of mate-doc-utils
  * Cut with fading the bar title when it's longer than the decoration bar

### marco 1.6.0

  * Migration to GSettings and dropped MateConf
  * Fix key handling while drag and drop is active
  * Add option to open new windows on the center of the screen
