3.95.1 (unstable): Distro packagers should probably not package this yet. Gtkmm 3.95.1 is a C++ binding of gtk 3.96.0. Gdk: * Add GLTexture, Paintable, Snapshot Texture implements the Paintable interface (Kjell Ahlstedt) * Gdk::Window has been renamed to Surface (Kjell Ahlstedt) * Remove Gdk::Cairo::create_surface_from_pixbuf(). DrawingContext: Remove get_surface(), is_valid() and get_drawing_context_from_cairo_context(). Surface: Remove create_similar_image_surface(). (Kjell Ahlstedt) * Add CairoContext. Remove DrawingContext. DrawContext: Add begin_frame(), end_frame(), is_in_frame() and get_frame_region(). GLContext: Remove get_damage(). Surface: Remove begin_draw_frame() and end_draw_frame(). They have been moved to DrawContext. Add queue_expose() and create_cairo_context(). (Kjell Ahlstedt) * Remove DragContext::drop_reply(). (Kjell Ahlstedt) * DragContext: Add enum DragCancelReason. Add drag_drop_done(), get_drag_surface(), get_display(). Add properties and signals. Mnitor: Add signal_invalidate(). Texture: Add save_to_png(). (Kjell Ahlstedt) * Add Drop and move some methods there from DragContext. Replace EventDND::get_drag_context() by EventDND::get_drop(). Surface: Remove get/set_events() and get/set_device_events(). (Kjell Ahlstedt) * Clipboard, Drop: Add read_async() and read_finish() (Kjell Ahlstedt) * Rename DragContext to Drag (Kjell Ahlstedt) * Drag: Remove get_suggested_action() and signal_action_changed(). Add property_selected_action(), property_actions(), property_surface(). Remove EventExpose. Surface: Remove withdraw(). Add move_to_rect(), signal_move_to_rect(), signal_size_changed(), signal_render(), property_mapped(). (Kjell Ahlstedt) * Drag: Move set_icon_name() and set_icon() to the new Gtk::DnD namespace. (Kjell Ahlstedt) * RGBA: Add a constructor RGBA(double r, g, b, a) (Daniel Boles) Issue #40 * RGBA::set_hsv(): Properly interpret hue 360° as red (Daniel Boles) Issue #42 * Add DevicePad and DeviceWithPad (Kjell Ahlstedt) * Device: Remove warp(), get_position(int& x, int& y), get_surface_at_position(int& x, int& y). Add get_surface_at_position(double& x, double& y). Surface: Remove set_role(), get_device_position(..., int& x, int& y, ...), set/get_group(), invalidate_rect(), invalidate(), invalidate_region(), set_skip_taskbar_hint(), set_skip_pager_hint(), set_urgency_hint(). Add property_frame_clock(). (Kjell Ahlstedt) Gtk: * Object::_release_c_instance(): Don't release if in a container (Kjell Ahlstedt) Bug #773642 comments 20-22 * Entry: Remove set/get_cursor_hadjustment() (Kjell Ahlstedt) * Expander: Remove get/set/property_label_fill(). (Kjell Ahlstedt) * Overlay: Add get/set_measure_overlay() and child_property_measure(). (Kjell Ahlstedt) * Settings: Remove property_gtk_modules(). (Kjell Ahlstedt) * Widget: Add two drag_source_set_icon() overloads (Kjell Ahlstedt) * Remove WidgetCustomDraw and WidgetCustomSnapshot. Snapshot: Add clips_rect(const graphene_rect_t*). Widget: Remove queue_draw_area(), queue_draw_region(), get_clip(), draw() and set_realized(). (Kjell Ahlstedt) * Snapshot: Remove push() and clips_rect(). Add create() and push_debug(). Add append_texture() and append_cairo(). Only push_debug() has a 'name' parameter. (Kjell Ahlstedt) * Remove Scrollbar::get_wheel_delta(). (Kjell Ahlstedt) * Add EventControllerKey, EventControllerMotion and EventControllerScroll. Widget: Remove signal_key_[press|release]_event(). Widget: Add add_controller() and remove_controller(). (Kjell Ahlstedt) * Image: Add more constructors (Kjell Ahlstedt) Issue #35 (Daniel Boles) * Container: Add signal_set_focus_child(). FontChooser: Add set_language(). Printer: Add get_hard_margins(const PaperSize& ...). SearchBar: Add set/unset/get_key_capture_widget(). SearchEntry: Add set/unset/get_key_capture_widget(). (Kjell Ahlstedt) * Image: Remove set/get/property_keep_aspect_ratio() and set/get/property_can_shrink(). (Kjell Ahlstedt) * Add Picture and WidgetPaintable (Kjell Ahlstedt) * StackSwitcher: Remove property_icon_size(). StyleContext]: Remove set/get/property_frame_clock(). (Kjell Ahlstedt) * Add MediaControls, MediaFile, MediaStream and Video (Kjell Ahlstedt) * StyleContext: Remove render_slider(). (Kjell Ahlstedt) * Add Gtk::GestureStylus (Kjell Ahlstedt) * CssProvider: Remove get_default(). Menu: Remove 3 popup() overloads. StyleContext: Remove render_frame_gap(). (Kjell Ahlstedt) * Add namespace Gtk::DnD. Widget: Move drag_get_source_widget() and drag_set_as_icon() to Gtk::DnD. Add drag_dest_[set|get]_track_motion() and drag_source_[set|get]_target_list(). (Kjell Ahlstedt) * Container: Remove has/get/set/unset_focus_chain() (Kjell Ahlstedt) * Window: Move to a proper get_accel_groups() (Daniel Boles) Bug #784390 = Issue #18 (Maurice van der Pot) * Add Gtk::make_managed(args...) (Daniel Boles) Bug #795816 = Issue #33 * Application: Add property_screensaver_active(). Widget: Add observe_children(), observe_controllers(). Remove signal_event(), intersect(). Window: Add get_toplevels(). (Kjell Ahlstedt) * ModelButton: Fix property_icon(). Add property_use_markup(). Tooltip: Remove trigger_tooltip_query() (Kjell Ahlstedt) * ActionBar: Remove child_property_position(). Box: Remove pack_start(), pack_end(), reorder_child(). Add insert_child_after(), insert_child_at_start(), reorder_child_after(), reorder_child_at_start(). ComboBox: Remove set/get/property_wrap_width(), set/get/property_row_span_column(), set/get/property_column_span_column(). Menu: Remove attach(). Widget: Replace the insert_before/after() overloads without a sibling parameter with insert_at_start() and insert_at_end(). Add set_expand(). (Kjell Ahlstedt) * Remove all child properties. (Kjell Ahlstedt) * Remove ButtonBox, Invisible, Layout. Add AssistantPage, StackPage, NotebookPage, Root, SelectionModel, SingleSelection, PadController, PadActionEntry, PasswordEntry, LayoutManager, LayoutChild, BinLayout, BoxLayout, GridLayout, GridLayoutChild, CssLocation (Kjell Ahlstedt) * Assistant: Remove set/get_has_padding(). Container: Remove check_resize() and signal_check_resize(). (Kjell Ahlstedt) * Entry: Remove signal_activate(). Add property_enable_emoji_completion(). (Kjell Ahlstedt) * Entry, SpinButton: Remove set/get_text(), set/get_width_chars() and set/get_max_width_chars(). * Add the GTKMM_CHECK_VERSION() preprocessor macro and remove macros that check the GTK version. Issue #5 (Kjell Ahlstedt) Bug #580302 = Issue #5 (Hubert Figuière) * EventControllerKey: Add get_focus_origin/target(), property_is_focus(), property_contains_focus(). EventControllerMotion: Add get_pointer_origin/target(), property_is_pointer_focus(), property_contains_pointer_focus(). Widget: Add get_focus_child(). Remove signal_focus(). Window: Remove signal_set_focus(). (Kjell Ahlstedt) * Application: Add signal_query_end(). SearchEntry.hg: Add property_placeholder_text(), property_actives_default(). ToolItem: Add property_expand_item(), property_homogeneous(). Window: Remove set/get/property_role(), set/get/property_gravity(), move(), get_position(). (Kjell Ahlstedt) * CssProvider: Replace CssProviderError by CssParserError and CssParserWarning. Replace get_named() by load_named(). CssSection: Remove enum CssSection::Type. Add create() and to_string(). Replace get_[start|ned]_[line|position]() by get_[start|end]_location(). ListBox: Add set/get/property_show_separators(). MenuBar.hg: Remove enum PackDirection. Remove set/get/property_pack_direction(), set/get/property_child_pack_direction(). Widget: Replace set/get/property_can_pick() by set/get/property_can_target(). Remove set/get_parent_surface(). Window: Remove set/get/property_skip_taskbar_hint(), set/get/property_skip_pager_hint(), set/get/property_urgency_hint(). (Kjell Ahlstedt) * Menu: Remove set_display(). Popover.hg: Add property_default_widget(). Widget: Remove set/get/property_can_default(), grab_default(), signal_display_changed(). Add activate_action(), activate_default(). Window: Remove activate_focus(), activate_default(). Add property_default_widget(). Rename set_default() to set_default_widget(), unset_default() to unset_default_widget(). (Kjell Ahlstedt) Demos: * Update many demo programs. Documentation: * Use libsigc++-3.0.tag for libsigc++ documentation (Kjell Ahlstedt) * Many improvements (Kjell Ahlstedt, Daniel Boles) Build: * Require C++17 (Murray Cumming) * Replace the Visual Studio project files with MSVC NMake project files (Chun-wei Fan) Merge request !1 * Use glibmm-2.62 instead of glibmm-2.56, atkmm-2.30 instead of atkmm-2.28, pangomm-2.44 instead of pangomm-2.42, gtk4 instead of gtk+-4.0. Require gtk4 >= 3.96.0 (Kjell Ahlstedt)