Overview of changes in Glib 1.300 (stable)
========================================== * Stable release to coincide with the release of Perl 5.18.0 Since 1.28x (The previous stable release) ----------------------------------------- * Ensure timely destruction of initial wrapper of custom subclasses * Start changing module version numbers in all Perl modules in the distribution, not just lib/Glib.pm; (Bugzilla #690464) * Make Glib::Object subclassing more robust. This should in particular fix issues revealed by the change to hash randomization introduced in perl 5.17.6. * Correctly handle utf8-encoded strings in GPerlArgv. This should fix issues seen with utf8-encoded strings in @ARGV with, for example, Gtk2->init. Overview of changes in Glib 1.291 (unstable) ============================================ * Ensure timely destruction of initial wrapper of custom subclasses * Start changing module version numbers in all Perl modules in the distribution, not just lib/Glib.pm; (Bugzilla #690464) Overview of changes in Glib 1.290 (unstable) ============================================ * Make Glib::Object subclassing more robust. This should in particular fix issues revealed by the change to hash randomization introduced in perl 5.17.6. * Correctly handle utf8-encoded strings in GPerlArgv. This should fix issues seen with utf8-encoded strings in @ARGV with, for example, Gtk2->init. Overview of changes in Glib 1.280 (stable) ========================================== Since 1.26x (the previous stable series) ---------------------------------------- * Correctly handle the boxed type for GError. * Ensure that custom signal marshallers are always used irregardless of the spelling used for the signal name. * Make the stack handling of some marshallers more robust, in preparation for custom Glib::Boxed converters that call back into Perl code. * Add new C API gperl_register_boxed_synonym. Since 1.270 ----------- * Fix building with perl <= 5.14. Overview of changes in Glib 1.270 (unstable) ============================================ * Correctly handle the boxed type for GError. * Ensure that custom signal marshallers are always used irregardless of the spelling used for the signal name. * Make the stack handling of some marshallers more robust, in preparation for custom Glib::Boxed converters that call back into Perl code. * Add new C API gperl_register_boxed_synonym. Overview of changes in Glib 1.262 (stable) ========================================== * Properly specify our dependencies. * Distriubte a missing test file. Overview of changes in Glib 1.261 (stable) ========================================== * Add NEWS entries comparing 1.260 to 1.24x * Add the 64 bit integer converters to the linker exports * updated README file similar to Cairo (RT#74870) * Created %meta_merge which follows v2 of meta-spec Overview of changes in Glib 1.260 (stable) ========================================== Since 1.24x (the previous stable series) ---------------------------------------- * Make Glib::Object ref-counting compatible with perl >= 5.16. * Make signal marshalling more thread-safe. * Export the constants SOURCE_CONTINUE and SOURCE_REMOVE on request. * Create and register a GType for GConnectFlags. * Increase compatibility with older perls. Since 1.253 ----------- * Tell CPAN to ignore POD fragments in Makefile.PL. * Document that SOURCE_CONTINUE and _REMOVE can be exported. Overview of changes in Glib 1.253 ================================= * Export the constants SOURCE_CONTINUE and SOURCE_REMOVE on request. (RT #48070) * Create and register a GType for GConnectFlags. Overview of changes in Glib 1.252 ================================= * Make the recent thread-safety improvements work for non-threaded perls too. Overview of changes in Glib 1.251 ================================= * Make signal marshalling more thread-safe. When a signal handler is invoked from a foreign thread without associated Perl interpreter, hand the marshalling over to the main loop which in turn later wakes up the main thread and lets it handle the request. Since this approach is experimental, there is debug print for now whenever it is used: *** GPerl asked to invoke callback from a foreign thread; handing it over to the main loop Overview of changes in Glib 1.250 ================================= * Add a fallback implementation of SvMAGIC_set; Bugzilla bug #665266 * Avoid a syntax error on older perls * Glib::Object: make ref-counting compatible with perl >= 5.16 (RT#73650) * Fix some typos in POD (RT#73616) Overview of changes in Glib 1.242 ================================= * Glib::GenPod: fix typo in default pspec values (https://bugzilla.gnome.org/show_bug.cgi?id=665331) * Glib::GenPod: delete a duplicate key in %basic_types (https://bugzilla.gnome.org/show_bug.cgi?id=665332) * Change the FSF's address in all GPL license notices (RT#72664) Overview of changes in Glib 1.241 ================================= * Register the boxed type Glib::GString, based almost completely on a patch by Emmanuel Rodriguez (https://bugzilla.gnome.org/show_bug.cgi?id=663881). * Fix linking against perl < 5.9.4 on some platforms; Do not use SvREFCNT_inc_simple_void_NN as that was introduced in perl 5.9.4, which came after the 5.8.0 we require. Overview of changes in Glib 1.240 ================================= Since 1.22x (the previous stable series) ---------------------------------------- * Add Glib::Param::GType support. * Add Glib::Log->set_default_handler() and Glib::Log::default_handler(). * Add Glib::ParamSpec->override() and get_redirect_target(). * Add Glib::Param->get_default_value(). * Support the fundamental type Glib::GType. * Correctly handle variables with "magic" attached, like tied variables. * Don't copy boxed objects when passing from Perl to C. Since 1.233 ----------- * Nada. Overview of changes in Glib 1.233 ================================= * Change the way we handle objects with floating references again, to be more compatible. Overview of changes in Glib 1.232 ================================= * In the documentation generated by Glib::GenPod, show default values for properties. * Correctly handle objects which have floating references. * When checking whether a variable is a reference, correctly account for "get magic", which occurs for example for tied variables. Add gperl_sv_is_ref for other bindings to use. Overview of changes in Glib 1.231 ================================= * Add Glib::Log->set_default_handler() and Glib::Log::default_handler(). * Add Glib::ParamSpec->override() and get_redirect_target(). * Add Glib::Param->get_default_value(). * Make Glib::ParamSpec->value_validate() copy boxed objects if necessary. * Support the fundamental type Glib::GType. * Correctly store and look up custom signal marshallers. * Fix fetching default values for unichar properties of custom subclasses. * Fix subclassing with {pspec, get, set}-style properties. * Allow the Glib::Object "magic" to coexist with other extensions' "magic". * Make Glib::GenPod create docs for child and style properties. * Improve the documentation in a few places. * Fix a few build and test failures. Overview of changes in Glib 1.230 ================================= * Don't copy boxed objects when passing from Perl to C. This mainly affects Perl subclasses which have signal handlers that involve boxed objects and use signal_chain_from_overridden() to call parent signal handlers. With this change, the parent's handlers will now operator on the same object that the Perl code sees, and changes consequently propagate properly. * Correctly handle variables with "set" magic attached in the default SET_PROPERTY implementation for custom Perl subclasses. * Add Glib::Param::GType support. * Make Glib::Flags::bool() and as_arrayref() callable as methods. * Allow undef for default_value in Glib::ParamSpec->string. * Improve the documentation in a few places. * Add gperl_hv_take_sv, a wrapper for hv_store, to our C API. * Fix some build and test failures. Overview of changes in Glib 1.224 ================================= * Glib::ParamSpec->value_validate(): copy boxed objects if necessary. * Fix a test failure. Overview of changes in Glib 1.223 ================================= * Fix a few test failures. Overview of changes in Glib 1.222 ================================= * Properly handle slashes in copyright footers passed to Glib::MakeHelper. * Fix a test failure on s390. Overview of changes in Glib 1.221 ================================= * Fix a few build and test suite issues. Overview of changes in Glib 1.220 ================================= Since 1.20x (the previous stable series) ---------------------------------------- * Add constants Glib::SOURCE_CONTINUE and SOURCE_REMOVE for use in source-type callbacks. * Add Glib::Child::watch_add. * Add Glib::OptionContext and Glib::OptionGroup. * Allow calling Glib::Flags->as_arrayref directly, as an alternative to the @{} syntax. * Add Glib::ParamSpec->value_validate and Glib::ParamSpec->value_cmp. Since 1.214 ----------- * Nada. Overview of changes in Glib 1.214 ================================= * Fix a leak in the handling of callback arguments. * Fix many errors and glitches in the POD generated by Glib::GenPod. * Fix some test suite issues and documentation glitches. Overview of changes in Glib 1.213 ================================= * Make the various Glib::Flags methods more robust with respect to receiving undefined input. * Correctly handle signals with no return type when invoking signal class closures. * Deprecate Glib::MakeHelper->get_configure_requires_yaml in favor of ExtUtils::MakeMaker's new META_MERGE and META_ADD features. Overview of changes in Glib 1.212 ================================= * Allow calling Glib::Flags->as_arrayref directly, as an alternative to the @{} syntax. * Add Glib::ParamSpec->value_validate and Glib::ParamSpec->value_cmp. * Add documentation for Glib->filename_to_uri and filename_from_uri. * Always use Data::Dumper instead of Storable on MSWin32 for serialization work during documentation generation. * Make sure that messages with % chars in them make it through Glib->log and friends safely. Overview of changes in Glib 1.211 ================================= * Add Glib::OptionContext and Glib::OptionGroup, wrapping glib's command line option parser. * Make the internal package registration functions more robust. Overview of changes in Glib 1.210 ================================= * Add constants Glib::SOURCE_CONTINUE and SOURCE_REMOVE for use in source-type callbacks. * Add Glib::Child::watch_add. * Provide gperl_register_boxed_alias, gperl_register_fundamental_alias, and gperl_register_object_alias to register aliases for other registered types. * Improve the error message that occurs when an unknown interface is encountered while registering a new type. Overview of changes in Glib 1.200 ================================= Since 1.18x (the previous stable series) ---------------------------------------- * Add Glib::Flags::new, a constructor for flags objects. * Add Glib::strerror and Glib::strsignal. * Increase the robustness of stack handling in Glib::Object::get, of Glib::ParamSpec handling in general, of overloaded Glib::Flags operators, and of the Glib::Object lazy-loader. Since 1.193 ----------- * Update the TODO file. Overview of changes in Glib 1.193 ================================= * Make the stack handling in Glib::Object::get more robust. * Make the Glib::ParamSpec constructors return undef on failure. * Make sure the Glib::Object lazy loader can handle being invoked on packages which aren't registered with the Glib type system. * The recent fix for user data handling in callback invocation involved a change of semantics: modifying the user data directly had no effect anymore. Change that back while still fixing the original bug. Overview of changes in Glib 1.192 ================================= * Fix the POD index page generation. Overview of changes in Glib 1.191 ================================= * Make overloaded Glib::Flags operators more robust. * Handle unset GParamSpecs gracefully. Overview of changes in Glib 1.190 ================================= * Add Glib::Flags::new, a constructor for flags objects. * Add Glib::strerror and Glib::strsignal. Overview of changes in Glib 1.183 ================================= * Make Glib::signal_add_emission_hook work even if called before any object of the concerned type has been created. * Overload '!=' for Glib::Flags. * Avoid prematurely destroying callback user data in certain cases. * Improve the documentation of Glib::Object::Subclass' GET_PROPERTY and SET_PROPERTY. Overview of changes in Glib 1.182 ================================= * Fix build and test suite issues, especially on MSWin32 and cygwin. Overview of changes in Glib 1.181 ================================= * Fix Makefile.PL problems encountered by CPAN testers. Overview of changes in Glib 1.180 ================================= Since 1.16x (the previous stable series) ---------------------------------------- * Add Glib::MakeHelper::get_configure_requires_yaml. * Add Glib::Object::signal_get_invocation_hint. * Make our lazy-loader compatible with perl-5.10.0. * Allow Perl-derived GObjects to override GInterfaces that are implemented by parent classes. * Correct the way we check values for definedness: use the new function gperl_sv_is_defined. For convenience, also add gperl_sv_is_array_ref, gperl_sv_is_code_ref, and gperl_sv_is_hash_ref. Since 1.174 ----------- * Tell the compiler to always look for our headers in '.' first. * Add a hyphen to the NAME section of generated POD indices. Overview of changes in Glib 1.174 ================================= * Increase compatibility with different `make´s by not using Makefile conditionals for building our documentation. Overview of changes in Glib 1.173 ================================= * Make Glib::Type::list_values return the value of each enum/flags entry in addition to the name and nickname. Overview of changes in Glib 1.172 ================================= * Make inproper usage of Glib::Object methods result in an error message and not in a segfault. * Add Glib::Object::signal_get_invocation_hint. * In our lazy-loading machinery for packages, change the way we clear @ISA arrays to avoid problems with perl 5.10.0. * Add new helpers to the C API: gperl_sv_is_defined, gperl_sv_is_array_ref, gperl_sv_is_code_ref, and gperl_sv_is_hash_ref. * Allow Perl-derived GObjects to override GInterfaces that are implemented by parent classes. * Load GInterface types immediately, instead of lazily. This makes sure GInterfaces are set up by the time they are needed. Overview of changes in Glib 1.171 ================================= * Correct the way we check values for definedness: add gperl_sv_defined(), an XS version of perl's defined(), and use it everywhere. Among other things, this should fix the problems where tied values were reported as undefined. * Fix some build issues. Overview of changes in Glib 1.170 ================================= * Make our build output prettier. * Add Glib::MakeHelper::get_configure_requires_yaml. * Use the above to add configure_requires information to META.yml in order to publicize our Makefile.PL-time requirements. * Try to fix some portability issues. Overview of changes in Glib 1.164 ================================= * Allow Perl-derived GObjects to override GInterfaces that are implemented by parent classes. * Load GInterface types immediately, instead of lazily. This makes sure GInterfaces are set up by the time they are needed. Overview of changes in Glib 1.163 ================================= * In our lazy-loading machinery for packages, change the way we clear @ISA arrays to avoid problems with perl 5.10.0. * Fix a few build issues. Overview of changes in Glib 1.162 ================================= * Fix a build failure in the documentation generation phase. [Andreas König] Overview of changes in Glib 1.161 ================================= * Fix an assertion in Glib::Object::CLONE. * Make Makefile.PL more friendly to CPAN testers. Overview of changes in Glib 1.160 ================================= Since 1.14x (the previous stable series) ---------------------------------------- * Add Glib::get_user_special_dir. * Add Glib::KeyFile::load_from_dirs. * Add Glib::MainContext::is_owner. * Add Glib::Timeout::add_seconds. * Improve the automatic documentation generator. Since 1.153 ----------- * Nothing. Overview of changes in Glib 1.153 ================================= * Add char_own_ornull and gchar_own_ornull typemaps. [Torsten] * Fix some win32 test failures. [Torsten] * Make it possible to document specific packages in different POD files by providing a new =for object variant. [Torsten] * Parse preprocessor conditionals in the XS code to add Since: tags to methods' POD. [Torsten] Overview of changes in Glib 1.152 ================================= * Wrap g_main_context_is_owner. [Torsten] * Wrap g_timeout_add_seconds. [Torsten] Overview of changes in Glib 1.151 ================================= * Use BSD make syntax on BSD systems by default. [Slaven Rezic, Torsten] * Wrap g_key_file_load_from_dirs. [Torsten] * Wrap g_get_user_special_dir. [Torsten] Overview of changes in Glib 1.150 ================================= * Make it possible to mark objects and methods as deprecated with Glib::ParseXSDoc and Glib::GenPod. [Emmanuele] Overview of changes in Glib 1.144 ================================= * Use BSD make syntax on BSD systems by default. [Slaven Rezic, Torsten] Overview of changes in Glib 1.143 ================================= * Call g_threads_init before g_type_init. [Torsten] Overview of changes in Glib 1.142 ================================= * Switch back to WIN32 instead of G_OS_WIN32 to avoid compilation problems. [Torsten] * Use _strtoi64 and _strtoui64 on Win32 for large integer conversion. [Serguei Trouchelle] Overview of changes in Glib 1.141 ================================= * Fix a compilation problem on Win32. [Torsten] * Fix some POD errors. [Torsten] * Fix a few test suite issues. [Torsten] Overview of changes in Glib 1.140 ================================= Since 1.12x (the previous stable series) ---------------------------------------- * Add accessors for double types to Glib::KeyFile. * Add Glib::BookmarkFile * Add Glib::Object::find_property. Since 1.132 ----------- * Fix two test suite issues. Overview of changes in Glib 1.132 ================================= * Do some minor code cleanups here and there. [Torsten] Overview of changes in Glib 1.131 ================================= * Add Glib::Object::find_property. [Emmanuele] Overview of changes in Glib 1.130 ================================= * Wrap new GKeyFile API: [Torsten] - Glib::KeyFile::set_double, - Glib::KeyFile::get_double, - Glib::KeyFile::set_double_list, and - Glib::KeyFile::get_double_list * Register GInitiallyUnowned as Glib::InitiallyUnowned. [Torsten] * Add GBookmarkFile bindings. [Emmanuele] Overview of changes in Glib 1.120 ================================= Since 1.10x (the previous stable series) ---------------------------------------- * Comepletely revamp the way GObject types are mapped to Perl package names. The new algorithm is more robust and correct. * Add custom 64 bit integer handlers. * Add Glib::filename_display_name and Glib::filename_display_basename. * Improve thread safety. * Fix many bugs. Since 1.118 ----------- * Nada. Overview of changes in Glib 1.118 ================================= * Improve the thread safety of Glib by correctly setting up perl's thread-local storage in a few strategic places. [Torsten] Overview of changes in Glib 1.117 ================================= * Fix compilation against perl 5.8.8. [Torsten] Overview of changes in Glib 1.116 ================================= * Fix a bug that caused custom objects with properties that have no getter or setter to misbehave on perl 5.8.8. [muppet] * Optimize Glib::ParseXSDoc to use less memory. [muppet] Overview of changes in Glib 1.115 ================================= * Don't try to be thread safe if perl wasn't built with threading support. [Wim Lewis] * Don't create unique package names for types that have an ancestor which has the "don't warn about unregistered subclasses" bit set. Use this ancestor's package name to represent affected types. [muppet] Overview of changes in Glib 1.114 ================================= * Add bindings for g_filename_display_name and g_filename_display_basename. [muppet] * Fix a crash that occured when properties of undead objects were modified. [muppet] * Fix the undead object macros to work on 64-bit platforms. [Rafael Garcia-Suarez] * Completely redo the way GObject types are mapped to package names. This fixes the problem uncovered by the recent GInitiallyUnowned issue. See the ChangeLog for a detailed description of the changes. [muppet, Torsten] Overview of changes in Glib 1.113 ================================= * Improve the automatic interface registration for objects by making it independent of the order of package name registration. [Torsten] Overview of changes in Glib 1.112 ================================= * Allow undef for some arguments in the Glib::KeyFile API. [Emmanuele] * Register the package names Glib::Int64 and Glib::UInt64 for gint64 and guint64 fundamentals. [Torsten] Overview of changes in Glib 1.111 ================================= * Copy boxed objects coming from the GObject property interface to avoid holding on to dead pointers. [muppet] Overview of changes in Glib 1.110 ================================= * Add automatic package registration for interfaces. [Torsten] * Fix a serious reference counting bug. [Steven Walter] * Add custom 64 bit integer handlers that convert to and from strings if necessary. [Torsten] Overview of changes in Glib 1.105 ================================= * Fix a bug that caused custom objects with properties that have no getter or setter to misbehave on perl 5.8.8. [muppet] Overview of changes in Glib 1.104 ================================= * Don't use threading stuff if perl wasn't build with threading support. [Wim Lewis] * Don't create unique package names for types that have an ancestor which has the "don't warn about unregistered subclasses" bit set. Use this ancestor's package name to represent affected types. [muppet] Overview of changes in Glib 1.103 ================================= * Fix a crash that occured when properties of undead objects were modified. [muppet] * Fix the undead object macros to work on 64-bit platforms. [Rafael Garcia-Suarez] * Completely redo the way GObject types are mapped to package names. This fixes the problem uncovered by the recent GInitiallyUnowned issue. See the ChangeLog for a detailed description of the changes. [muppet, Torsten] * Allow undef for some arguments in the Glib::KeyFile API. [Emmanuele] Overview of changes in Glib 1.102 ================================= * Copy boxed objects coming from the GObject property interface to avoid holding on to dead pointers. [muppet] * Fix a serious reference counting bug. [Steven Walter] Overview of changes in Glib 1.101 ================================= * Fix a test suite issue. [Torsten] Overview of changes in Glib 1.100 ================================= Since 1.08x (the previous stable series) ---------------------------------------- * Add API that allows binding developers to specify conversion functions when registering wrappers for custom fundamental types. * Add Glib::Object::signal_add_emission_hook, Glib::Object::signal_remove_emission_hook and Glib::Markup::escape_text. * Add Glib::KeyFile and Glib::CodeGen. * Fix a thread-related crasher in the default log handler. Since 1.093 ----------- * Delete some cruft in CodeGen.pm. [muppet] Overview of changes in Glib 1.093 ================================= * Take out the Gtk2-specific portions of Gtk2::CodeGen, make it extensible, and call it Glib::CodeGen. [muppet] Overview of changes in Glib 1.092 ================================= * Fix a thread-related crasher in the default log handler. [Torsten] * Fix a test suite issue. [Torsten] * Fix Glib::IO::add_watch on win32. [Marc Lehmann] * Add Glib::Markup::escape_text. [Torsten] Overview of changes in Glib 1.091 ================================= * Add GKeyFile bindings. [Emmanuele] * Add tests for previously untested stuff. [Torsten] * Add a GSignalFlags typemap. [Torsten] Overview of changes in Glib 1.090 ================================= * Add API that allows binding developers to specify conversion functions when registering wrappers for custom fundamental types. [Torsten] * Add Glib::Object::signal_add_emission_hook and Glib::Object::signal_remove_emission_hook. [muppet] * Fix problems with the automatic creation of enum/flags listings. [Ross] Overview of changes in Glib 1.082 ================================= * Update and expand the test suite. [Torsten] * Fix a few bugs here and some typos there. [Torsten] * Fix enum listings in the generated documentation. [Ross] * Fix a thread-related crasher in the default log handler. [Torsten] Overview of changes in Glib 1.081 ================================= * Documentation updates. [Torsten] Overview of changes in Glib 1.080 ================================= Since 1.06x (the previous stable series) ---------------------------------------- * Support for GParamSpecUnichar and GStrv. * Timely delivery of Perl's asynchronous signals. * Fatal log messages call abort() rather than croak(). * Glib::MainLoop's are properly freed after use. * New API: - Glib::get_user_data_dir, - Glib::get_user_config_dir, - Glib::get_user_cache_dir, - Glib::get_system_data_dirs, - Glib::get_system_config_dirs, - Glib::get_language_names, - Glib::Object::signal_query. Since 1.074 ----------- * Nothing. Overview of changes in Glib 1.074 ================================= * Fix a reference counting bug that prevented Glib::MainLoop's from ever being freed. [Ross] Overview of changes in Glib 1.073 ================================= * Bind, doc, and test g_signal_query as Glib::Object::signal_query. [muppet] * Fatal log messages call abort() rather than croak(). Croaking wasn't all that useful (didn't stop in the perl debugger as expected), and aborting allows you to get a C backtrace in gdb. [muppet] * Fix Glib::MakeHelper::select_files_by_version on Win32. [muppet] * Implement missing support for the boxed type GStrv as a native perl anonymous array of strings. [muppet] * Docgen fixes. [muppet] * Test suite updates and fixes. [Ross, muppet] Overview of changes in Glib 1.072 ================================= * Ensure that asynchronous signals, deferred by perl's safe signal handling, are delivered on time when a main loop is running. [Jan Hudec, muppet] * Fix win32 linkage. [muppet, thanks to Tyler Hepworth] * Test fixes. [Ross] * Bind and test g_get_user_data_dir, g_get_user_config_dir, g_get_user_cache_dir, g_get_system_data_dirs, g_get_system_config_dirs, and g_get_language_names. [Torsten] * Documentation updates. [Torsten, muppet] Overview of changes in Glib 1.071 ================================= * Correct a warning message. [Torsten] Overview of changes in Glib 1.070 ================================= * Add support for GParamSpecUnichar. [Torsten] * Generate a correct META.yml. [muppet] Overview of Changes in Glib 1.062 ================================= * Properly create META.yml. [muppet] * Fix exports and some documentation. [muppet] * Fix RPM generation on x86_64. [Ross] * Fix test failure with newer versions of Test::More. [Ross] Overview of Changes in Glib 1.061 ================================= * Minor cleanup. [Torsten] Overview of Changes in Glib 1.060 ================================= Since 1.04x (the previous stable series) ---------------------------------------- * Documentation fixes and improvements, including bugfixes in the documentation generation system. * Improved error messages in several places. * Code cleanup. * Thread compatibility enhancements - Disabled internal stash caching, which was broken to begin with. - Added the ability to track Glib::Object instances so the bindings can maintain proper reference counts when the interpreter clones a new thread. This feature must be enabled manually by calling Glib->set_threadsafe(TRUE) before creating threads or GObjects. * More fundamental types are registered, e.g. Glib::UChar, Glib::Float, etc. This allows all paramspec types to be specified as package names. Glib::UInt was previously misspelled as Glib::Uint; the old name is still allowed, but the new name will be returned from Glib in all instances. * The OUTPUT variant of T_GPERL_GENERIC_WRAPPER can now handle leading "const" and trailing asterisks, like the INPUT variant. * Greatly expanded GParamSpec support. - Glib::ParamSpec instances are now blessed hash references containing a few special keys (same as the hashes previously returned from Glib::Object::list_properties()) to retain backwards compatibility. - There are now accessors for all the member variables of the various GParamSpec subclasses (e.g., GParamInt's minimum, maximum, and default value); this tree is mapped as Glib::Param::<type>. - Glib::ParamSpec->param() now works. - All of this makes the Glib::Object "notify" signal usable. * Glib::Object subclassing enhancements - Glib::Object::Subclass can now be used in evals and other situations, thanks to the removal of the CHECK block. This change is otherwise transparent. - Added fallback and explicit handlers for Glib::Object properties; the fallback handlers store the property data in the instance variable under the hash key with the same name as the property. Explicit handlers may be specified at object creation time. See the docs for Glib::Type::register_object() for details. * API additions: - Glib::Object::notify() - char_own typedef and typemap. - Glib::MakeHelper::select_files_by_version() and Glib::MakeHelper::read_source_list_file() for use by Makefile.PLs. Since 1.055 ----------- * Release prep. Overview of Changes in Glib 1.055 ================================= * Documentation generation fixes. [Ross] Overview of Changes in Glib 1.054 ================================= * Documentation fixes and improvements. [Ross, muppet] Overview of Changes in Glib 1.053 ================================= * Add char_own typedef and typemap. [Torsten] * Add Glib::MakeHelper::select_files_by_version() and Glib::MakeHelper::read_source_list_file() for use by Makefile.PLs. [Torsten] Overview of Changes in Glib 1.052 ================================= * Remove CHECK block from Glib::Object::Subclass's import(), making it possible to use Subclass in evals. Changes should be perfectly backwards compatible, with a few bugs fixed. [muppet] * The OUTPUT variant of T_GPERL_GENERIC_WRAPPER can now handle leading "const" and trailing asterisks, like the INPUT variant. [Torsten] Overview of Changes in Glib 1.051 ================================= * Code fixes and cleanup for C89 compatibility. [Albert Chin, muppet] * Fine-tune error message format helper. [muppet] * Implement new fallback and explicit handlers for Glib::Object properties; the fallback handlers use the wrapper hash keys (as in the defaults provided by Glib::Object::Subclass), and explicit handlers may now be specified when creating properties. [muppet] * Handle undef gracefully in gperl_value_from_sv(). [muppet] Overview of Changes in Glib 1.050 ================================= * New unstable development branch. * Greatly expanded GParamSpec support. [muppet] - Glib::ParamSpec instances are now blessed hash references containing a few special keys (same as the hashes previously returned from Glib::Object::list_properties()) to retain backwards compatibility. - There are now accessors for all the member variables of the various GParamSpec subclasses (e.g., GParamInt's minimum, maximum, and default value); this tree is mapped as Glib::Param::<type>. - Glib::ParamSpec->param() now works. - All of this makes the Glib::Object "notify" signal usable. * More fundamental types are registered, e.g. Glib::UChar, Glib::Float, etc. This allows all paramspec types to be specified as package names. Glib::UInt was previously misspelled as Glib::Uint; the old name is still allowed, but the new name will be returned from Glib in all instances. This needs testing to see if it breaks anything. [muppet] * Added autodetection of flags and enum types to the doc generation code, so that all enum and flags types used in the methods and functions listed on a page are documented on that page. The "=for enum" directives are still honored, and may be used to add descriptive text to the listings. [Ross] * Added code to allow Glib::Object tracking, which allows the binding to maintain proper reference counts on GObjects when the perl interpreter clones a new thread. Needs lots of testing, documentation, and needs a way to tell if thread support was compiled into perl. Right now it's enabled (if compiled in) by calling Glib::Object->set_threadsafe. [Ross] * Disable Glib::Object stash caching, which fixes a few bizarre things that go wrong when using perl threads. [muppet] * Add missing Glib::Object::notify() (to emit notify singals). [muppet] * As always, incremental documentation improvements. [Torsten] * Improved type-checking error messages, using the new helper function gperl_format_variable_for_output(). [Torsten] * Various odds and ends of minor cleanup and commentary. [Torsten, muppet] Overview of Changes in Glib 1.042 ================================= * Documentation improvements. [muppet, Torsten] - Fix grammar and spelling throughout. - Improve the docs for Glib::Object::Subclass and the documentation generation system itself. - Add the main module of the extension to the generated see also list. * Don't clobber $_ when warning of unhandled exceptions. [muppet] Overview of Changes in 1.041 ============================ * Don't segfault on bad filenames in gperl_sv_from_filename() [Marc Lehmann] * Hush compiler warnings. [Ross] * Make Glib::filename_from_unicode() actually do work. [muppet] Overview of Changes in 1.040 ============================ Since 1.02x (the previous stable series) ---------------------------------------- * Updated build requirement - ExtUtils::Depends >= 0.2 * Support for a few new API features in glib-2.4.x. * Functions that use GErrors in C throw magical Glib::Error exception objects; these objects overload the stringification operator, so old code won't be broken, but new code can match errors without worrying about translated error messages. User code and other extensions can register their own error domains. See the Glib::Error manpage for more info. * Glib::Type enhancements - Perl code can register enum and flags types for use as Glib::Object property types. - During Glib::Object class initialization, invoke INIT_BASE in the object's package, if it exists. (Analogue for GTypeClass's base_init.) - It is now possible to add GInterface implementations to Glib::Object types derived in Perl code. - New param spec, Glib::ParamSpec::scalar * Glib::MakeHelper is generally more helpful. * The POD generation tools allow specification of cumulative data type descriptions, and much finer control over the format and content of the generated documentation. * Glib can now export useful constants on request. * New versioning API, see Glib::version. Since 1.0391 ------------ * Nothing. :-) Overview of Changes in 1.0391 ============================= * Bump 2.3.x version checks to 2.4.0. * Portability fixes for Glib::MakeHelper. * Add, document, and test Glib::GET_VERSION_INFO. * Documentation fixes. Overview of Changes in Glib 1.039 ================================= * Add missing symbols to the exports list, so we have half a hope of not totally barfing on win32. [muppet] * Code sweep for FIXMEs resulted in miscellaneous bugfixes and cleanups. - Clean up properly when croaking on bad property name in Glib::Object::new. - Use the same 'bad property' message in Glib::Object::set and "::new. - Document the fact that Glib::ParamSpec::param_spec is unimplemented. * Document functions that can throw Glib::Error exceptions. [Ross] * Glib::MakeHelper enhancements [muppet] - verify that ExtUtils::Depends is >= 0.2 - Don't generate broken makefiles if there are no C or XS files to compile. * Using Data::Dumper on an object with tied write-only properties no longer results in an crash. [Ross] Overview of Changes in Glib 1.038 ================================= * The API is frozen at this release for the 1.04x series. * g_main_depth (new in 2.3.5) bound as Glib::main_depth. [Ross] * Glib::GenPod now works with strict, no user-visible changes. [Ross] * POD updates. [muppet] Overview of Changes in Glib 1.037 ================================= * Added bindings for missing utility functions, with tests and doc: g_get_user_name, g_get_real_name, g_get_home_dir, g_get_tmp_dir, g_get_application_name, g_set_application_name. [muppet] * Decided on versioning API, implemented, used, and documented it. There's more documentation on the versioning stuff than code to implement it. New functions: Glib->CHECK_VERSION, Glib::MAJOR_VERSION, Glib::MINOR_VERSION, Glib::MICRO_VERSION, Glib->check_version, Glib::major_version, Glib::minor_version, Glib::micro_version. [Ross, muppet] * GPerlClosure's exception handlers no longer clobber $_. [muppet] * Add the ability to register new error domains and throw Glib::Errors from Perl. New utility function, Glib::Error::matches (binding for g_error_matches), makes it easy to test errors. New xs utility function for parsing a perl data structure into a GError. [muppet] * POD generation cleanups and fixes and enhancements. [Ross] - Methods are now sorted for readability - Plain functions get proper non-method signatures - Hiding works better, more extensibly - Can now specify where in the file the POD should code. * Miscellaneous bug fixes. [Torsten, Ross, muppet] Overview of Changes in Glib 1.036 ================================= * GErrors are now translated into exception objects instead of plain, translatable strings; this is implemented as an additional functionality, so there is no break in either API or ABI. [muppet] * gperl_alloc_temp() now complains but does not crash when requested to allocate less than 1 byte. [Torsten] * Quell some doc generation noisiness. [muppet] * Updated copyright information in source code. [muppet] Overview of Changes in Glib 1.035 ================================= * Updated ExtUtils::Depends requirement to 0.200. * Added Glib::MakeHelper::postamble_docs_full(), a more featureful, easier to use, and more scalable front-end to the pod documentation generation tools. [muppet] * Extended Glib::Type::list_properties to handle properties on GInterfaces, which is a new feature in gtk+ 2.4. [Ross] * Added Glib::ParamSpec::scalar() for creating SV properties without needing to know about boxed types. [Ross] Overview of Changes in Glib 1.034 ================================= * Added infrastructure for installing Perl implementations of GObject vfuncs. [muppet] * Added infrastructure for adding GInterfaces to perl-derived GObject types. [muppet] * Added GPerlArgv utilities for unified @ARGV handling. [Torsten] * Added startup-time linked version checking. [Ross] * Several 64-bit portability fixes. [muppet] Overview of Changes in Glib 1.033 ================================= * apidoc improvements, GenPod/ParseXSDoc. ability to add to the list of see_also, and ways to orverride the copyright globals that GenPod uses. Overview of Changes in Glib 1.031 ================================= * New typemaps for gshort and gushort. [Torsten] * Updates to Glib::MakeHelper fix some build issues. [Ross] * Robustness fixes in the doc system's xs parser. [muppet] * Added $object->freeze_notify and $object->thaw_notify. [muppet] * Added a few new exportable constants. [muppet] Overview of Changes from Glib 1.02x to 1.030 ============================================ * MakeHelper's utilities now allow "disable-doc" on a Makefile.PL command-line to disable doc generation. This works for all Glib::MakeHelper-based projects. * It is now possible to register new GFlags and GEnum types from Perl. These are typically useful as types for object properties of perl-derived GObjects. * We now compile cleanly and pass tests on x86_64 platforms. Some tests are skipped until bugfixes in glib hit mainstream. Thanks to Jacek Konieczny. * Added documentation for tie_properties. * ParseXSDoc now supports continuation lines in xsubs, and properly hides things that want to be hidden. * Invocation of signal and event handlers no longer clobbers $@ at the application level. Thanks to Thierry Vignaud. * Added version information APIs. * Added filename_to_uri and filename_from_uri, but they have problems with localization. Need help debugging this. * Glib is now a proper Exporter, and can export the filename utilities. We also allow method invocation of those functions to quell controversy. |