+=== ChangeLog discontinued ===
+
+ With the move to git, GLib is switching from a ChangeLog file
+ to relying on commit messages to provide change history. Please
+ see README.commits for guidance on the expected message format.
+
+2009-03-26 Carlos Garnacho <carlosg@gnome.org>
+
+ Bug 575270 – GVolumeMonitor::mount-pre-unmount not being emitted
+
+ * gunixmount.c (eject_unmount_cb) (eject_unmount_do_cb)
+ (eject_unmount_do): Emit ::mount-pre-unmount and wait 500msec before
+ actually trying to unmount.
+
+2009-03-17 Colin Walters <walters@redhat.com>
+
+ Bug 575708 - runaway inotify madness ...
+
+ * gfilemonitor.c: Queue up events in a local list and
+ fire one idle, instead of queuing lots of individual
+ idles which has bad performance behavior.
+
+2009-03-17 Alexander Larsson <alexl@redhat.com>
+
+ * glocalfileinputstream.c:
+ * glocalfileoutputstream.c:
+ fix attributes argument of query_info methods to
+ be "const char *".
+
+2009-03-16 Alexander Larsson <alexl@redhat.com>
+
+ Bug 575555 – Use fsync() when replacing files to avoid data loss on crash
+
+ * glocalfileoutputstream.c:
+ (g_local_file_output_stream_close):
+ (_g_local_file_output_stream_replace):
+ fsync temp file before closing if replacing target file
+
+2009-03-13 Matthias Clasen <mclasen@redhat.com>
+
+ * === Released 2.20.0 ===
+
+2009-03-04 Alexander Larsson <alexl@redhat.com>
+
+ Bug 573843 – g_get_current_dir returns non-absolute path
+
+ * glocalfile.c (canonicalize_filename):
+ Handle the case where g_get_current_dir() returns a non-absolute path.
+
+2009-03-04 Alexander Larsson <alexl@redhat.com>
+
+ Bug 573970 – crash in gunixvolumemonitor:update_mounts when unmounting
+
+ * gunionvolumemonitor.c:
+ (g_union_volume_monitor_dispose):
+ Run dispose on child monitors when disposing.
+
+ * gunixvolumemonitor.c:
+ Remove all volumes and mount on dispose to avoid circular
+ dependencies not freeing the monitor
+
+2009-03-03 Alexander Larsson <alexl@redhat.com>
+
+ Bug 561172 – gnome-open fails on local URIs with anchors
+
+ * gdesktopappinfo.c:
+ Don't force uris to filenames if the uri has an anchor, because
+ that would strip the anchor.
+
+ * glocalvfs.c:
+ Strip anchor from file:// uris when creating GFile, since
+ g_filename_from_uri doesn't handle them.
+
+2009-03-03 Alexander Larsson <alexl@redhat.com>
+
+ Bug 562613 – Missing const modifier in string parameters
+
+ * gfileinputstream.[ch]:
+ * gfileoutputstream.[ch]:
+ * glocalfileinfo.[ch]:
+ Make string arguments const if used as such.
+
+2009-03-03 Alexander Larsson <alexl@redhat.com>
+
+ * glocalfile.c (g_local_file_query_filesystem_info):
+ Handle filesystems no supporting reporting how much is free.
+ This fixes bug 573454 where the filesystem not supporting this
+ is the gvfs smb backend over the fuse filesystem.
+
+2009-03-02 Matthias Clasen <mclasen@redhat.com>
+
+ * === Released 2.19.10 ===
+
+2009-03-02 Matthias Clasen <mclasen@redhat.com>
+
+ * === Released 2.19.9 ===
+
+2009-03-02 Matthias Clasen <mclasen@redhat.com>
+
+ * gioenums.h: Add a Since: tag
+
+2009-03-01 Matthias Clasen <mclasen@redhat.com>
+
+ Bug 573658 – Deadlock in giomodule.c
+
+ * giomodule.c: Use a separate lock for extension point registration
+ to avoid deadlock. Discovered by Torsten Schoenfeld
+
+2009-03-01 Matthias Clasen <mclasen@redhat.com>
+
+ * gdatainputstream.c: Fix docs
+
+2009-02-27 Matthias Clasen <mclasen@redhat.com>
+
+ Bug 573421 – Clarify message format in GMountOperation
+
+ * gmountoperation.c: Document that the first line of a
+ multi-line message should be interpreted as a heading.
+
+2009-02-27 David Zeuthen <davidz@redhat.com>
+
+ Bug 573462 – GEmblemedIcon leak
+
+ * gemblemedicon.c (g_emblemed_icon_finalize):
+ Avoid leaking a GList.
+
+2009-02-27 Alexander Larsson <alexl@redhat.com>
+
+ * giomodule-priv.h:
+ * giomodule.c:
+ Split out the extension point registration code to its
+ own function.
+
+ * glocalvfs.c:
+ Ensure extension points are registered before extending it.
+ It might not have happened yet if g_vfs_get_local() is called.
+
+2009-02-26 Alexander Larsson <alexl@redhat.com>
+
+ Bug 540461 – g_memory_output_stream_get_data_size() doesn't behave as document
+ * gmemoryoutputstream.c:
+ Track actual valid size, even if we later seek back.
+
+ * tests/memory-output-stream.c:
+ Add testcase
+
+2009-02-26 Alexander Larsson <alexl@redhat.com>
+
+ Bug 543183 – Clarify docs for g_file_has_prefix
+
+ * gfile.c: (g_file_has_prefix):
+ Clarify how the prefix matching works.
+
+2009-02-26 Alexander Larsson <alexl@redhat.com>
+
+ * gdesktopappinfo.c:
+ Support desktop file key X-GIO-NoFuse which disables
+ use of fuse pathnames for %u and %U arguments.
+
+2009-02-25 Alexander Larsson <alexl@redhat.com>
+
+ Bug 570073 – Add support for reading filesystems on Interix
+
+ * gunixmounts.c (_g_get_unix_mounts):
+ Support Interix. Patch from Fabian Groffen
+
+2009-02-25 Paolo Borelli <pborelli@katamail.com>
+
+ Bug 570069 – wrong preprocessor directive in gio/glocalfileinfo.c
+
+ * glocalfileinfo.c: fix preprocessor condition. Patch by Markus Duft.
+
+2009-02-23 Alexander Larsson <alexl@redhat.com>
+
+ * glocalfile.c:
+ Remove accidentally commited spew
+
+2009-02-20 Alexander Larsson <alexl@redhat.com>
+
+ * gcontenttype.c:
+ (g_content_type_guess):
+ Don't ever sniff desktop files when the filename is known.
+ In other words, only allow desktop files with the .desktop extension
+ and when the filename isn't known.
+ This is a security precaution since desktop files can execute
+ arbitrary code when launched and we don't want to allow them to
+ try and hide as another type. There is no legit reason to not
+ have the .desktop extension anyway.
+
+2009-02-19 Alexander Larsson <alexl@redhat.com>
+
+ Bug 549298 – impossible to copy files with p (pipe) flag
+
+ * gfile.c:
+ (file_copy_fallback):
+ Error out if the source file is a special file
+
+2009-02-18 Alexander Larsson <alexl@redhat.com>
+
+ Bug 560564 – Replacing a symlink with its linked file truncates the original file
+
+ * gioenums.h:
+ Add G_FILE_CREATE_REPLACE_DESTINATION
+
+ * glocalfileoutputstream.c:
+ (handle_overwrite_open):
+ (_g_local_file_output_stream_replace):
+ Handle G_FILE_CREATE_REPLACE_DESTINATION when overwriting files.
+
+ * gfile.c:
+ (file_copy_fallback):
+ Pass G_FILE_CREATE_REPLACE_DESTINATION to g_file_replace when copying
+ with overwrite.
+
+2009-02-17 Ryan Lortie <desrt@desrt.ca>
+
+ * gfileinfo.c: unref the destination's attribute matcher before
+ overwriting it.
+
+2009-02-17 Matthias Clasen <mclasen@redhat.com>
+
+ * === Released 2.19.8 ===
+
+2009-02-17 Matthias Clasen <mclasen@redhat.com>
+
+ * gio.symbols: Add missing exports for new API
+
+ * gdatainputstream.c: Add missing Since: tags.
+
+2009-02-16 Matthias Clasen <mclasen@redhat.com>
+
+ * === Released 2.19.7 ===
+
+2009-02-16 Matthias Clasen <mclasen@redhat.com>
+
+ * gmountoperation.[hc]: Add an "aborted" signal to abort a
+ mount operation from the backend side.
+
+ * gvolume.h: Add docs regarding the "aborted" signal.
+
+2009-02-16 Ryan Lortie <desrt@desrt.ca>
+
+ Bug 505042 – add file attribute for actually used file size in bytes
+
+ * gfileinfo.h: add G_FILE_ATTRIBUTE_STANDARD_ALLOCATED_SIZE define to
+ "standard::allocated-size"
+ * gfileattribute.c: document
+ * glocalfileinfo.c: set the allocated size from st_blocks * 512
+
+2009-02-16 Ryan Lortie <desrt@desrt.ca>
+
+ Bug 571598 – GAsyncResult with NULL gobject
+
+ * gsimpleasyncresult.c: remove various assertions and add some checks
+ to allow for a NULL source_object in GSimpleAsyncResult.
+
+2009-02-11 Matthias Clasen <mclasen@redhat.com>
+
+ Bug 541225 – Can't compile gio on AIX : duplicate case value in
+ gioerror.c
+
+ * gioerror.c (g_io_error_from_errno): Cope with EEXIST == ENOTEMPTY.
+ Reported by Nicolas Joseph
+
+2009-02-04 Alexander Larsson <alexl@redhat.com>
+
+ Bug 566747 - URIs opened with firefox %u load as local files
+
+ * gdummyfile.c (g_dummy_file_get_path):
+ Dummy files are never used for local paths, so always return NULL
+ in get_path().
+
+2009-02-02 Matthias Clasen <mclasen@redhat.com>
+
+ * === Released 2.19.6 ===
+
+2009-01-31 Paolo Borelli <pborelli@katamail.com>
+
+ * glocalfileinfo.c: plug a tiny mem leak.
+
+2009-01-29 Ryan Lortie <desrt@desrt.ca>
+
+ * gioerror.c (g_io_error_from_errno): handle all possible cases of
+ EAGAIN and EWOULDBLOCK being (un)defined and (un)equal.
+
+2009-01-28 Ryan Lortie <desrt@desrt.ca>
+
+ Bug 568575 – _async functions for GDataInputStream
+
+ * gdatainputstream.h:
+ * gdatainputstream.c: add _async versions of read_line and read_until.
+ * gio.symbols:
+ * ../docs/reference/gio/gio-sections.txt: add new functions
+ * tests/sleepy-stream.c: new test case for async read line
+ * tests/Makefile.am: add new test
+
+2009-01-22 Ryan Lortie <desrt@desrt.ca>
+
+ Bug 568723 – g_buffered_input_stream_fill_async doesn't take count == -1
+
+ * gbufferedinputstream.c (g_buffered_input_stream_fill_async,
+ g_buffered_input_stream_fill): check for count < -1 instead of count <
+ 0 and copy modified check to non-async version for consistency.
+ document the "count = -1" API.
+
+2009-01-22 Ryan Lortie <desrt@desrt.ca>
+
+ Bug 568741 – g_buffered_input_stream_fill_async doesn't work
+
+ * gbufferedinputstream.c (fill_async_callback): grow the buffer tail
+ after we have successfully read data from the base stream
+
+2009-01-20 Ryan Lortie <desrt@desrt.ca>
+
+ Bug 568394 – dropping the last reference to a stream filter closes the
+ base stream
+
+ * gfilterinputstream.h:
+ * gfilterinputstream.c: add "close-base-stream" property and only
+ close the base stream if it is true. issue async close callbacks from
+ correct source object.
+ * gfilteroutputstream.h:
+ * gfilteroutputstream.c: add a "close-base-stream" property and only
+ close the base stream if it is true. issue async close callbacks from
+ correct source object.
+ * gbufferedoutputstream: check g_filter_output_stream_get_close_base()
+ before closing the base stream. fix invalid source tag comparison in
+ close_async (was comparing to flush_async).
+ * ../docs/reference/gio/gio-sections.txt:
+ * gio.symbols: add
+ g_filter_{in,out}put_stream_{g,s}et_close_base_stream
+ * tests/filter-streams.c: new test cases
+ * tests/Makefile.am: add new test
+ * tests/.gitignore: add new test
+
+2009-01-19 Matthias Clasen <mclasen@redhat.com>
+
+ * gdesktopappinfo.c (g_desktop_app_info_new): Expand the docs.
+
+2009-01-19 Matthias Clasen <mclasen@redhat.com>
+
+ * === Released 2.19.5 ===
+
+2009-01-19 Matthias Clasen <mclasen@redhat.com>
+
+ * gappinfo.h: Document get_commandline vfunc
+
+2009-01-19 Matthias Clasen <mclasen@redhat.com>
+
+ * gunixmounts.c: Some stylistic fixes.
+
+2009-01-08 Matthias Clasen <mclasen@redhat.com>
+
+ Bug 565484 – g_content_type_guess passes non-UTF8 text to XDG
+ functions in non-UTF8 locale
+
+ * xdgmime/xdgmimecache.c:
+ * xdgmime/xdgmimeglob.c: Don't assume filenames are UTF-8.
+
+2009-01-08 Matthias Clasen <mclasen@redhat.com>
+
+ * xdgmime/test-mime.c: Make tests work with current shared-mime-info.
+
+2009-01-07 Matthias Clasen <mclasen@redhat.com>
+
+ Bug 566770 – error code 0 for Too many open files is useless
+
+ * gioenums.h: Add a G_IO_ERROR_TOO_MANY_OPEN_FILES error code.
+ Requested by Olivier Sessink.
+
+ * gioerror.c: Translate EMFILE to G_IO_ERROR_TOO_MANY_OPEN_FILES.
+
+ * glocalfileenumerator.c: Translate G_FILE_ERROR_MFILE to
+ G_IO_ERROR_TOO_MANY_OPEN_FILES.
+
+2009-01-05 Matthias Clasen <mclasen@redhat.com>
+
+ * === Released 2.19.4 ===
+
+2009-01-05 Dan Winship <danw@gnome.org>
+
+ * gdesktopappinfo.c (update_mimeapps_list): cast a "char **" to
+ "const char **" to avoid a warning.
+
+ * gemblem.c (g_emblem_from_tokens):
+ * gemblemedicon.c (g_emblemed_icon_from_tokens):
+ * xdgmime/xdgmime.c (xdg_mime_get_icon): remove unused
+ variables
+
+2009-01-05 Matthias Clasen <mclasen@redhat.com>
+
+ Bug 566064 – Add NOATIME flag to query_info_flags
+
+ * glocalfileinfo.c (get_content_type): Try using O_NOATIME when
+ sniffing for mime types. Based on a patch by A. Walton
+
+2009-01-05 Ryan Lortie <desrt@desrt.ca>
+
+ * tests/.gitignore: improve
+ * tests/Makefile.am: add new simple-async-result test
+ * tests/simple-async-result.c: new file to test GSimpleAsyncResult
+
+2009-01-05 Ryan Lortie <desrt@desrt.ca>
+
+ * gio.symbols:
+ * ../docs/reference/gio/gio-sections.txt:
+ * gsimpleasyncresult.h:
+ * gsimpleasyncresult.c: Add g_simple_async_result_is_valid().
+ Implementation by Dan Winship. Closes #566170.
+
+2008-12-31 Matthias Clasen <mclasen@redhat.com>
+
+ * gdesktopappinfo.c:
+ * gunixmounts.c:
+ * gunixinputstream.c:
+ * gunixoutputstream.c: Add a note about being UNIX-specific.
+
+2008-12-15 Matthias Clasen <mclasen@redhat.com>
+
+ * === Released 2.19.3 ===
+
+2008-12-12 Dan Winship <danw@gnome.org>
+
+ * pltcheck.sh: make this work on x86_64
+
+2008-12-12 Ryan Lortie <desrt@desrt.ca>
+
+ * gio/gicon.c (g_icon_to_string_tokenized): free the tokens when done
+ with them
+
+2008-12-12 Ryan Lortie <desrt@desrt.ca>
+
+ * gio/gunixmounts.c (g_unix_mount_at): fix leak that occurs when
+ multiple mount entries match the requested path
+
+2008-12-10 Alexander Larsson <alexl@redhat.com>
+
+ Bug 562452 - Ensure we return G_IO_ERROR_CANCELLED if cancelling
+ g_simple_async_result_run_in_thread
+
+ * gsimpleasyncresult.c:
+ Make g_simple_async_result_run_in_thread check cancellation before
+ calling out to the user in the callback. This means we guarantee
+ reporting cancels of async operations from the main threads, which
+ is probably more in line with what users expect.
+
+ Note that there are still no such guarantees for cancelling sync
+ operations or cancelling async operation from outside the main
+ thread. Furthermore, the exact behaviour of async implementations
+ not using run_in_thread may differ.
+
+2008-12-09 Alexander Larsson <alexl@redhat.com>
+
+ Bug 515777 - incorrect date&time on copy
+
+ * glocalfile.c:
+ (g_local_file_class_init):
+ Copy mtime by default
+
+ * gfile.c:
+ Change docs about G_FILE_COPY_ALL_METADATA to not mention
+ mtime as an example.
+
+2008-12-08 Matthias Clasen <mclasen@redhat.com>
+
+ Bug 558298 – Hide ecryptfs mounts
+
+ * gunixmounts.c: (guess_system_internal): Hide ecryptfs mounts,
+ so that the desktop does not show both the mount and the target
+ directory. Patch by Martin Pitt
+
+2008-12-08 Matthias Clasen <mclasen@redhat.com>
+
+ Bug 555465 – GUnix{Input,Output}Stream lacks fd/close_fd_at_close
+ property
+
+ * gio.symbols:
+ * gunixinputstream.[hc]:
+ * gunixoutputstream.[hc]: Add "fd" and "close-fd" properties
+ including getters and setters. Patch by Maciej Piechotka
+
+2008-12-07 Matthias Clasen <mclasen@redhat.com>
+
+ Bug 558458 – Cannot build gio tests on Solaris using SUN cc
+
+ * tests/live-g-file.c: Support compilers that don't understand
+ ISO C varargs macros. Patch by Eric Lamarque
+
2008-12-07 Matthias Clasen <mclasen@redhat.com>
Bug 526320 – should not list mounts that the user doesn't have
2008-12-01 Alexander Larsson <alexl@redhat.com>
- * gio.symbols:
- * gmount.[ch]:
- * gunionvolumemonitor.c:
- * gvolume.c:
+ * gio.symbols:
+ * gmount.[ch]:
+ * gunionvolumemonitor.c:
+ * gvolume.c:
Add and document g_mount_is_shadowed plus calls
to set/unset a mount as shadowed
Bug 528320 - Incorrect icons displayed for files with custom mimetype icons
- * glocalfileinfo.c:
- (_g_local_file_info_get):
+ * glocalfileinfo.c:
+ (_g_local_file_info_get):
Don't return the fallback icon (text-x-generic) for all files.
This is causing problems with theme icon lookup and custom mime
icons, as the generic fallback overrides custom mime icons in
2008-10-21 Alexander Larsson <alexl@redhat.com>
- * gfileinfo.h:
+ * gfileinfo.h:
Add G_FILE_ATTRIBUTE_PREVIEW_ICON (#557182)
2008-10-21 Alexander Larsson <alexl@redhat.com>
Bug 555740 - gicon serialization
Based on patch from David Zeuthen
- * gicon.[ch]:
- * gio.symbols:
+ * gicon.[ch]:
+ * gio.symbols:
Add g_icon_to_string() and g_icon_new_for_string().
- * gemblem.c:
- * gemblemedicon.c:
- * gfileicon.c:
- * gthemedicon.c:
+ * gemblem.c:
+ * gemblemedicon.c:
+ * gfileicon.c:
+ * gthemedicon.c:
Implement icon serialization for built-in icon types
- * tests/Makefile.am:
- * tests/g-icon.c:
+ * tests/Makefile.am:
+ * tests/g-icon.c:
Added GIcon serialization test
2008-10-16 Matthias Clasen <mclasen@redhat.com>
2008-10-13 Alexander Larsson <alexl@redhat.com>
- * gdesktopappinfo.c:
+ * gdesktopappinfo.c:
When adding an application as handling a mime type (but
not as the default), copy the full list of desktop ids handling
that type in before adding the new one on the end of the list.