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.
