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::. - 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::. - 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.