mirror of
				https://github.com/Ryujinx/GtkSharp.git
				synced 2025-11-04 13:04:53 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			233 lines
		
	
	
		
			9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			233 lines
		
	
	
		
			9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
===============================================================================
 | 
						|
Gtk# 2.99.2 - 2013-12-04
 | 
						|
===============================================================================
 | 
						|
 | 
						|
Gtk# 2.99.2 is the third beta release of C# bindings for GTK 3.x.
 | 
						|
 | 
						|
This version of Gtk# provides bindings for the API exposed by these libraries:
 | 
						|
  * cairo 1.10.0
 | 
						|
  * glib 2.28.0
 | 
						|
  * pango 1.28.3
 | 
						|
  * atk 1.32.0
 | 
						|
  * gdk-pixbuf 2.22.1
 | 
						|
  * gtk+ 3.0.0
 | 
						|
 | 
						|
There is no API stability guarantee for now, but we try to keep breaking
 | 
						|
changes to a minimum.
 | 
						|
 | 
						|
This version of Gtk# can be installed in parallel with Gtk# 2.x, and should not
 | 
						|
have any impact on applications using Gtk# 2.x.
 | 
						|
 | 
						|
New features and enhancements
 | 
						|
-----------------------------
 | 
						|
 | 
						|
  * Lots of improvements to the code generator, to support GAPI XML converted
 | 
						|
    from GObject Introspection XML (GIR).
 | 
						|
  * generator: Remove redundant class name from method name
 | 
						|
  * generator: Implement attribute to hide method parameters
 | 
						|
  * cairo: Throw ObjectDisposedException when trying to use an object that has
 | 
						|
    been disposed
 | 
						|
  * glib: Add Mutex, RecMutex and Cond types
 | 
						|
  * glib: Add GPollFD and GSource types
 | 
						|
  * glib: Add GDate and GDateTime classes
 | 
						|
  * glib: Map MainContext type and expose members
 | 
						|
 | 
						|
Changes
 | 
						|
-------
 | 
						|
 | 
						|
  * Move the fixup tool from the parser to the generator folder
 | 
						|
  * generator: Provide a GType static property for adapters and rename existing
 | 
						|
    GType property to GInterfaceGType
 | 
						|
  * gio: Rename ApplicationFlags.FlagsNone to ApplicationFlags.None
 | 
						|
  * gio: Delete unused DBusInterfaceVTable class
 | 
						|
  * gio: Fix up returns type for several GSettings.List* methods
 | 
						|
  * glib: Install properties before class_init finishes
 | 
						|
  * glib: Remove obsolete Argv-related methods in Marshaller
 | 
						|
  * gtk: Fix TreeView.GetTooltipContext method signature (bxc#14678)
 | 
						|
 | 
						|
Bug fixes
 | 
						|
---------
 | 
						|
 | 
						|
  * generator: Dispose ownable method parameters in VM callback (bxc#237)
 | 
						|
  * generator: Dispose ownable parameters in signal callbacks (bxc#237)
 | 
						|
  * atk: Add metadata fixup to avoid crash due to ABI change
 | 
						|
  * cairo: Fix leaks when managed objects are finalized
 | 
						|
  * glib: Fix copy-paste error in Object.FindClassProperty()
 | 
						|
  * gtk: Fix Application to be more robust when embedding mono
 | 
						|
  * gui-thread-check: Add two more methods to the whitelist
 | 
						|
 | 
						|
 | 
						|
===============================================================================
 | 
						|
Gtk# 2.99.1 - 2013-09-23
 | 
						|
===============================================================================
 | 
						|
 | 
						|
Gtk# 2.99.1 is the second release of C# bindings for GTK 3.x. This is a beta
 | 
						|
release, primarily intended for applications developers who want to start
 | 
						|
porting their application to GTK 3.x.
 | 
						|
 | 
						|
This version of Gtk# provides bindings for the API exposed by these libraries:
 | 
						|
  * cairo 1.10.0
 | 
						|
  * glib 2.28.0
 | 
						|
  * pango 1.28.3
 | 
						|
  * atk 1.32.0
 | 
						|
  * gdk-pixbuf 2.22.1
 | 
						|
  * gtk+ 3.0.0
 | 
						|
 | 
						|
There is no API stability guarantee for now, but we will try to keep breaking
 | 
						|
changes to a minimum.
 | 
						|
 | 
						|
This version of Gtk# can be installed in parallel with Gtk# 2.x, and should not
 | 
						|
have any impact on applications using Gtk# 2.x.
 | 
						|
 | 
						|
New features and enhancements
 | 
						|
-----------------------------
 | 
						|
 | 
						|
  * Support for async/await in the GTK main thread
 | 
						|
 | 
						|
          If you use the async/await keywords in your Gtk# app, things will now
 | 
						|
          work as expected with the GTK main thread. For example:
 | 
						|
    
 | 
						|
            static async void DoWork () // called in the GTK main thread
 | 
						|
            {
 | 
						|
                // Do some stuff with the UI...
 | 
						|
                label.Text = "Starting Work";
 | 
						|
            
 | 
						|
                // Run something asynchronously, UI is not frozen
 | 
						|
                int res = await DoLongOperation ();
 | 
						|
            
 | 
						|
                // Do some more UI stuff, it'll run on the GTK main thread
 | 
						|
                label.Text = "Work done";
 | 
						|
            }
 | 
						|
 | 
						|
  * gui-thread-check profiler module
 | 
						|
      
 | 
						|
        This mono profiler module can be used to check if a GTK# application is
 | 
						|
        trying to invoke gtk or gdk methods from a thread which is not the main
 | 
						|
        GUI thread.
 | 
						|
 | 
						|
        To use it, run your application with the command:
 | 
						|
 | 
						|
          mono --profile=gui-thread-check yourapp.exe
 | 
						|
 | 
						|
        If the profiler is properly installed, you'll see an output like this:
 | 
						|
 | 
						|
          *** Running with gui-thread-check *** GUI THREAD INITIALIZED:
 | 
						|
          *** 2861676352
 | 
						|
 | 
						|
        While the application is running, if the profiler detects a non-gui
 | 
						|
        thread invoking gtk methods, it will print a warning message together
 | 
						|
        with a stack trace. For example:
 | 
						|
 | 
						|
          *** GTK CALL NOT IN GUI THREAD: Widget.gtk_widget_get_parent
 | 
						|
             Widget.get_Parent
 | 
						|
             SomeWidget.DoSomething
 | 
						|
             BackgroundWorker.OnDoWork
 | 
						|
             BackgroundWorker.ProcessWorker
 | 
						|
 | 
						|
  * cairo: Rework the handling of native resources, to reduce memory leaks.
 | 
						|
    In general, the caller is responsible for disposing IDisposable objects
 | 
						|
    returned from any method.
 | 
						|
 | 
						|
  * cairo: Add mechanism to debug missing Dispose calls, enabled by setting a
 | 
						|
    new MONO_CAIRO_DEBUG_DISPOSE environment variable.
 | 
						|
 | 
						|
  * Provide and use an XML schema definition to validate GAPI XML files.
 | 
						|
 | 
						|
  * Use generic collections in the generated code, in custom code and in the
 | 
						|
    generator itself.
 | 
						|
 | 
						|
  * Improve handling of command-line parameters in the generator.
 | 
						|
 | 
						|
  * glib: Install interfaces before they are initialized, to match the behavior
 | 
						|
    now required by glib 2.36 and above.
 | 
						|
 | 
						|
Changes
 | 
						|
-------
 | 
						|
 | 
						|
  * Generate all interfaces with the "I" prefix, to match .NET coding 
 | 
						|
    convention. For example, Scrollable is now IScrollable.
 | 
						|
  * gdk: Remove AddClientMessageFilter method from Gdk.Display and Gdk.Global
 | 
						|
  * cairo: Add SetSourceColor method to Cairo.Context.
 | 
						|
  * gio: Correct return types for methods returning GList*, in various classes
 | 
						|
  * gio: Rename Content class to ContentType and adjust method names
 | 
						|
  * gio: Move the module-related static functions into the IOModule class,
 | 
						|
    adjust their names and fix the return types
 | 
						|
  * gio: Move the scheduler-related static functions into IOSchedulerJob
 | 
						|
  * gio: Move ErrorQuark method to GioGlobal
 | 
						|
  * gio: Create IOError class, with FromErrno and FromWin32Error methods
 | 
						|
  * gio: Rename the Dbus class to DBus, to have consistent capitalization
 | 
						|
  * gio: Rename all GDbus* properties to GDBus*, with correct capitalization
 | 
						|
  * gio: Rename the DBus.AddressGet* methods to DBus.Get*
 | 
						|
  * gio: Move static methods from Simple to SimpleAsyncResult class
 | 
						|
  * gio: Hide GioGlobal.RegistryBackendGetType method
 | 
						|
  * gio: Mark the ISeekable interface as consume-only
 | 
						|
  * gio: Correct GSettings.GetStrv and SetStrv values to be string[]
 | 
						|
  * gtk: Mark the whole Style class as obsolete
 | 
						|
  * gtk: Fix return types for several methods: GtkCellArea.GetFocusSiblings,
 | 
						|
    GtkMenu.GetForAttachWidget, GtkWindowGroup.ListWindows
 | 
						|
  * gtk: Make the Group property for Radio* widgets a properly typed array
 | 
						|
  * gtk: Fix return types for IterList* methods in WidgetPath
 | 
						|
  * gtk: Change the second parameter in AccelMap.LookupEntry to be an out param
 | 
						|
 | 
						|
Bug fixes
 | 
						|
---------
 | 
						|
 | 
						|
  * generator: Add validation check for return values that are arrays
 | 
						|
  * cairo: Fix rectangles returned by StrokeExtents and FillExtents methods
 | 
						|
  * cairo: Fix various text API calls to use the correct types
 | 
						|
  * glib: Fix crash when freeing lists with elements typed as interfaces
 | 
						|
  * gdk: Allow passing a null Gdk.Event
 | 
						|
  * gtk: Fix return type of IRecentChooser.GetUris to an array of strings
 | 
						|
 | 
						|
 | 
						|
===============================================================================
 | 
						|
Gtk# 2.99.0 - 2012-10-23
 | 
						|
===============================================================================
 | 
						|
 | 
						|
Gtk# 2.99.0 is the first release of C# bindings for GTK 3.x. This is a beta
 | 
						|
release, primarily intended for applications developers who want to start
 | 
						|
porting their application to GTK 3.x.
 | 
						|
 | 
						|
This version of Gtk# provides bindings for the API exposed by these libraries:
 | 
						|
  * cairo 1.10.0
 | 
						|
  * glib 2.28.0
 | 
						|
  * pango 1.28.3
 | 
						|
  * atk 1.32.0
 | 
						|
  * gdk-pixbuf 2.22.1
 | 
						|
  * gtk+ 3.0.0
 | 
						|
 | 
						|
There is no API stability guarantee for now, but we will try to keep breaking
 | 
						|
changes to a minimum.
 | 
						|
 | 
						|
This version of Gtk# can be installed in parallel with Gtk# 2.x, and should not
 | 
						|
have any impact on applications using Gtk# 2.x.
 | 
						|
 | 
						|
Changes
 | 
						|
-------
 | 
						|
 | 
						|
  * All the new APIs provided by GTK 3.0 and friends are now available.
 | 
						|
 | 
						|
  * Gtk# now provides bindings for cairo 1.10 in cairo-sharp.dll. In the future
 | 
						|
    we might go back to using the Mono.Cairo.dll binding included in Mono.
 | 
						|
 | 
						|
  * Bindings for Gio are now included, instead of requiring a separate
 | 
						|
    gio-sharp package.
 | 
						|
 | 
						|
  * GLib.Object now uses the Dispose pattern. Subclasses that need to do
 | 
						|
    resource clean-up should implement a Dispose(bool) method.
 | 
						|
 | 
						|
  * Custom code is now provided solely using partial classes. The Foo.custom
 | 
						|
    files that were used before are now proper Foo.cs files.
 | 
						|
 | 
						|
  * Various enhancements to the parser and the generator.
 | 
						|
 | 
						|
Bug fixes
 | 
						|
---------
 | 
						|
 | 
						|
  * generator: Properly handle boolean attributes when parsing the GAPI XML
 | 
						|
  * glib: do not call g_thread_ functions in GLib >= 2.31
 | 
						|
  * gtk: Fix resurrection cycles in container subclasses (bxc#3801)
 | 
						|
 | 
						|
Lots of other bug fixes are included, in particular all the relevant fixes from
 | 
						|
the stable 2.12 branch.
 |