Bustle 0.8.0 (2020-07-31)
-------------------------

Bustle has a new icon, kindly provided by Tobias Bernard.

Closing a window without saving a recorded log no longer prompts for
confirmation. Anecdotally, most users just want to record and read logs, not
save them.

Bustle now uses GLib's implementation of the D-Bus wire protocol throughout.
The only user-facing consequence is that message bodies are now pretty-printed
in the GVariant text format.

Since Bustle no longer depends on any GPL libraries, the project license has
been simplified to plain LGPL 2.1 or later.

Bustle 0.7.5 (2019-03-08)
-------------------------

User-facing changes:

* As well as being able to filter out messages involving certain
  services, you can now also filter messages to only show certain
  services.

Internal changes:

* SVGs are now 256×256px to placate flatpak-validate-icon
* Add Nix compatibility (Daniel Firth)

Bustle 0.7.4 (2018-12-07)
-------------------------

User-facing changes:

* In the details for an error reply, the error name is now shown, and
  the error message is formatted more legibly.
* The default file extension for log files is now `.pcap`, reflecting
  what they actually are.

Internal changes:

* When you stop monitoring the system bus, the privileged dbus-monitor
  process is now terminated promptly, rather than dying with “Broken
  pipe” the next time a message is sent on the bus.
* Update all links to <https://gitlab.freedesktop.org/bustle/bustle> or
  <https://gitlab.freedesktop.org/bustle/bustle#readme> depending on
  context.

Bustle 0.7.3 (2018-11-15)
-------------------------

User-facing changes:

* Bustle now handles the application/vnd.tcpdump.pcap MIME type, which
  in practice means that your file manager will offer to open pcap files
  with Bustle.

Internal changes:

* Scalable non-symbolic icon is now installed.
* Packagers should add a dependency on libpcap >= 1.9.0. This is not
  checked during build or at runtime (`pcap-config` does not accept a
  version check; libpcap does not provide a `.pc` file; and
  `pcap_lib_version()` returns a human-readable string of unspecified
  format) but is recommended to avoid running Bustle against libpcap
  1.8.x, with which it is incompatible.

Bustle 0.7.2 (2018-07-24)
-------------------------

User-facing changes:

* You can now explore messages while they're being recorded. (Filtering,
  statistics and exporting are still only available once you stop
  recording.)
* The raw sender and destination for each message is now shown in the
  details pane.
* Bytestrings with embedded NULs which are otherwise ASCII are now shown
  as ASCII strings.

Internal changes:

* New contributor Daniel Firth set up GitLab CI, with a linter, and
  provided many patches to clean up and modernize the code.
* Jan Tojnar provided a build fix for Nix (and perhaps other distros).
* GHC 8.4 is now required to build Bustle.

Bustle 0.7.1 (2018-06-15)
-------------------------

* It's now possible to monitor the system bus (from the user interface
  and with the bustle-pcap command-line tool), with no need to
  reconfigure the system bus. It's also possible to monitor an arbitrary
  bus by address.
* Bustle now requires that a version of dbus-monitor new enough to
  support the --pcap argument is installed on the system. (This was
  added in DBus 1.9.10, released in February 2015.)
* To monitor the system bus, Bustle requires the pkexec command to be
  installed on the host system.
* Bustle now requires GLib 2.54 or newer.
* The canonical Git repository and issue tracker has moved to
  <https://gitlab.freedesktop.org/bustle/bustle>. All open tickets have
  been migrated.

Bustle 0.6.3 (2018-05-24)
-------------------------

* The statistics sidebar now a more modern look and feel, and uses text
  to distinguish signals, method calls, etc. rather than font colour,
  italic text, and abstract shapes.
* Sizes now use power-of-10 units, in common with the rest of the GNOME desktop.
* Padding and alignment is more consistent.
* A libpcap 0.8.0/0.8.1 incompatibility is now detected and handled
  specially. See [bug
  #100220](https://bugs.freedesktop.org/show_bug.cgi?id=100220#c7) for
  details. Distributions should apply downstream patches until until a
  new upstream release is made; users should [install Bustle from
  Flathub](https://flathub.org/apps/details/org.freedesktop.Bustle).
* Most importantly, the welcome page is more beautiful.

Bustle 0.6.2 (2017-10-26)
-------------------------

* Check link type header in pcap files
* Bump minimum GLib version to 2.44, and remove code for older versions
* Compile C code with -g
* Fix building with Cabal >= 2
* Fix a few compiler warnings

Bustle 0.6.1 (2017-07-27)
-------------------------

* Trivial fix to bustle.cabal.

Bustle 0.6.0 (2017-07-26)
-------------------------

* Fix leaks in bustle-pcap.c. (Jonny Lamb, <https://bugs.freedesktop.org/show_bug.cgi?id=93904>)
* Add a Flatpak build manifest.
* Don't crash if reading a file with libpcap fails. <https://bugs.freedesktop.org/show_bug.cgi?id=100220>
* Note that libpcap 1.8.0 and 1.8.1 (and hence Bustle) will still refuse to read log files generated by Bustle. This is fixed in libpcap Git by commits [1a6b088](https://github.com/the-tcpdump-group/libpcap/commit/1a6b088a88886eac782008f37a7219a32b86da45) and [42c3865](https://github.com/the-tcpdump-group/libpcap/commit/42c3865d71a3d3ad3fc61ee382ad3b5113d40552).
* Add a Flatpak build manifest, which bundles a new-enough Git snapshot of libpcap.
* Remove scripts to build artisan binary tarballs.
* Drop support for pre-0.3.1 text-only log files. If you still have any valuable logs from before 2012, I can only apologise.
* Add a Cabal flag to disable hgettext support. Since there are no non-English translations, the only user-visible impact is that some ‘curly quotes’ in three dialog boxes become 'legacy quotes'.
* Rename bustle.desktop (etc.) to org.freedesktop.Bustle.desktop (etc.).
* Fix a crash when reading logs generated with `dbus-monitor --pcap`.

Bustle 0.5.4 (2016-01-27)
-------------------------

* A single-byte functional change!
* Use `DLT_DBUS` link type in pcap files

Bustle 0.5.3 (2016-01-11)
-------------------------

* No functional changes!
* Add keywords to `.desktop` file
* Update screenshots in `.appdata.xml` file

Bustle 0.5.2 (2015-08-18)
-------------------------

* No functional changes!
* Update all links to <http://www.freedesktop.org/wiki/Software/Bustle/>
* Remove external dependencies from Cabal build script for the benefit
  of Stackage and Travis-CI.  <https://github.com/fpco/stackage/issues/746>

Bustle 0.5.1 (2015-06-28)
-------------------------

* Build fixes for GHC 7.10 (Sergei Trofimovich)

Bustle 0.5.0 (2015-06-04)
-------------------------

* Use Gtk+ 3, making Bustle more beautiful and support hidpi displays.
* Fix warnings triggered by recent GHCs and standard libraries by
  completely mechanical patching.
* Try not to crash if you view the body of a message containing a Unix
  FD.

Bustle 0.4.8 (2015-03-22)
-------------------------

* Be compatible with recent versions of Gtk2HS which use Text rather
  than Strings in many places. Should still build against older
  releases. Let me know if not.
* [#89712][]: Add symbolic icon. (Arnaud Bonatti)

[#89712]: https://bugs.freedesktop.org/show_bug.cgi?id=89712


Bustle 0.4.7 (2014-07-19)
-------------------------

* Ship the icons in the tarball! Thanks again, Sergei Trofimovich.


Bustle 0.4.6 (2014-07-17)
-------------------------

* Icons! Thanks to Αποστολίδου Χρυσαφή for redrawing the icon as an SVG, and to
  Philip Withnall for the build system goop.
* More appdata! Thanks again, Philip.

Bustle 0.4.5 (2014-02-26)
-------------------------

* Fix build failure with tests enabled due to translation files.
* Distribute appdata and desktop files in source tarballs.

Thanks to Sergei Trofimovich for catching and fixing these!


Bustle 0.4.4 (2014-01-30)
-------------------------

Wow, I can't believe the first release was in 2008!

* Bustle's now translatable. It only ships with an English translation,
  but others are more than welcome! Thanks to Philip Withnall for
  getting this started.
* Add an AppData and .desktop file. (Philip Withnall)


Bustle 0.4.3 (2013-12-05)
-------------------------

I think you mean ‘fewer crashy’.

* Don't crash on i386 when opening the stats pane. Thanks to Sujith
  Sudhi for reporting this issue.
* [#54237][]: Don't crash if we can't connect to the bus.
* Don't crash the second time you try to record a log. I swear this
  didn't happen before.

[#54237]: https://bugs.freedesktop.org/show_bug.cgi?id=54237

Bustle 0.4.2 (2012-11-14)
-------------------------

This release is all about build fixes; nothing user-visible has changed.

* The Makefile now respects the `DESTDIR` variable.
* No more deprecation warnings about `g_thread_create()`!
* We explicitly check for GLib ≥ 2.26.

Also, there's now a `threaded` Cabal flag you can turn off if you're
building for some platform where the threaded GHC runtime isn't
available (such as S/390, MIPS or Sparc). This is the same approach used
to make several other packages build for those architectures in Debian,
as per [bug 541848][]. You can do something like this in your packaging:

    DEB_SETUP_GHC_CONFIGURE_ARGS := $(shell test -e /usr/lib/ghc-$(GHC_VERSION)/libHSrts_thr.a || echo --flags=-threaded)

Bustle doesn't directly use Haskell-land threads, but I don't trust it
not to break in this configuration, so it's not the default.

[bug 541848]: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=541848#33

Bustle 0.4.1 (2012-08-29)
-------------------------

Some dependency changes:

* Gtk2HS ≥ 0.12 is now required.
* Bustle now uses the [dbus][] Haskell library (≥ 0.10), which
  supersedes the [dbus-core][] package.
* `binary` is no longer required.

Some user-visible changes:

* The front page now has two big buttons rather than some [lame
  instructions][fdo44889].
* Memory usage should be a bit better, particularly for wide logs
  showing lots of applications.

Some plumbing changes:

* You can now make a symlink to the launcher script and have it work
  properly.
* Bustle [builds with GHC 7.4.1][fdo47013] (courtesy of Sergei
  Trofimovich).
* `make clean` [works][fdo47908] in source tarballs.
* `bustle-pcap` now has a man page (courtesy of Alex Merry).

[dbus]: http://hackage.haskell.org/package/dbus-0.10
[fdo44889]: https://bugs.freedesktop.org/show_bug.cgi?id=44889
[fdo47013]: https://bugs.freedesktop.org/show_bug.cgi?id=47013
[fdo47908]: https://bugs.freedesktop.org/show_bug.cgi?id=47908


Bustle 0.4.0 (2012-01-18)
-------------------------

The “let's hope my attention span lasts long enough” release.

You can now record D-Bus logs from within Bustle itself. No more faffing
around with command-line tools: just click **File → New**, and watch
the diagram being drawn as the messages trickle (or fly) in.

(If you want to capture logs from your embedded platform *du
jour*, don't fear: `bustle-pcap` is still provided as a standalone
program for your enjoyment.)

Bustle no longer [crashes when it encounters messages containing file
handles][crash-on-h]. (Those messages are now dropped; which is not
perfect, but is at least an improvement.)

Directed signals—signals with a specified destination, which are unusual
but do appear—are now shown differently to normal, undirected signals,
with an arrow pointing to the signal's recipient. Relatedly, the
monitors now [explicitly eavesdrop on messages][eavesdrop] when using
D-Bus 1.5.x, courtesy of Cosimo Alfarano.

[crash-on-h]: https://bugs.freedesktop.org/show_bug.cgi?id=44714
[eavesdrop]: https://bugs.freedesktop.org/show_bug.cgi?id=39140


Bustle 0.3.1 (2012-01-09)
-------------------------

The “How do I dress up as shared global mutable state?” release.

This release finally allows you to record complete D-Bus sessions,
including message bodies, and browse them in the user interface!

As a result, there is a new logger, `bustle-pcap`, which logs D-Bus
traffic to Pcap files; and Bustle itself now depends on the [pcap][] and
[dbus-core][] packages. Your old logs should still be loaded just fine,
but since they don't contain message body data, you won't be able to see
it in the UI.

Also, as of this release binary tarballs will be provided for those not
interested in compiling Bustle themselves.

[pcap]: http://hackage.haskell.org/package/pcap
[dbus-core]: http://hackage.haskell.org/package/dbus-core


Bustle 0.3.0
------------

You can't prove anything.


Bustle 0.2.5 (2011-06-25)
-------------------------

The “Why go all the way to Glastonbury to not watch U2 when you can just
not turn on the BBC at any point this weekend to not watch them?”
release.

This adds a sidebar with statistics about the log: namely, method call
and signal emission frequency, and total/mean times spent in method
calls. This code has mostly been sitting around unreleased since
November. Sorry, dear users!


Bustle 0.2.4 (2011-06-06)
-------------------------

The “I think I'm a panda” release. There's just a few bits and pieces of
clean-up along with a couple of bug fixes in this release. Hopefully
there will be more interesting stuff in the next release.

While we're here, Bustle's git repository has moved to freedesktop.org,
and it now has a bug tracker there too. Browse the source at
<http://cgit.freedesktop.org/bustle/>; see open bugs at
<https://bugs.freedesktop.org/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&list_id=549676&product=Bustle&query_format=advanced>; file new ones at
<https://bugs.freedesktop.org/enter_bug.cgi?product=Bustle>. Astonishing!

* The viewer is now much more tolerant of inconsistencies in log files.
  (Thanks to Marco Barisione for the [bug report][fdo35297].)
* The linking order for bustle-dbus-monitor is fixed. (Thanks to Sergei
  Trofimovich.)
* Miscellaneous clean-up.

[fdo35297]: https://bugs.freedesktop.org/show_bug.cgi?id=35297


Bustle 0.2.3 (2010-10-29)
-------------------------

The “Will it be a scone? Or will it be a lecture in category theory?”
release.

<div>[[!img bustle-0.2.3.png size="200x143" alt="screenshot of side-by-side session and system bus logs" class="floated screenshot"]]</div>

You can now show a session bus log and a system bus log side-by-side, with the
same time scale and with events interleaved as they happened. This might come
in useful for full-system profiling, or for frameworks where actions on one bus
lead to reactions on another.

Record the two logs as normal, by running something like:

> <kbd>% bustle-dbus-monitor --session \> session.bustle &<br/>
> % bustle-dbus-monitor --system \> system.bustle &</kbd>

Then go do whatever you want to profile. When you're done, kill the two
loggers. In Bustle, choose **File → Open a pair of logs…** to show them
side-by-side. You can save the diagram to a PDF as normal.


Bustle 0.2.2 (2010-06-29)
-------------------------

The “Shepherded” release.

Fixes:

*  Suppress messages sent to the bus by bus name, rather than object
   path. This prevents Bustle blowing up when (buggy) clients call
   methods on / rather than on /org/freedesktop/DBus. (Thanks to
   Guillaume Desmottes for reporting the issue.)

*  Build against the re-namespaced Pango in Gtk2HS 0.11, and clean up a
   tonne of warnings. I think I've kept backwards compatibility with old
   enough Gtk2HSes and GHCs for this to work with the versions in Ubuntu
   10.04 and other recent-but-not-futuristic distros, but haven't
   actually tried it. Drop me a mail in the event of landing on water.
   (Thanks to Chris Lamb for upstreaming this from Debian bug #587132.)


Bustle 0.2.1 (2009-12-02)
-------------------------

The “Going down where the Firefly goes” release.

Enhancements:

*  The handling of services with multiple well-known names has improved.
   Whereas previously one name was (essentially) randomly-chosen, now
   all names owned by a service are shown in the diagram.

*  When a service falls off the bus, its column goes away to indicate
   that.

*  Strings are now ellipsized if necessary.

*  Method returns now include the object path and method name so you
   don't have to look it up yourself.

*  The UI is less spartan: you can open files, and launch it without
   passing at least one filename as a command-line argument.

Fixes:

*  The UI handles parse errors gracefully rather than, uhm, throwing an
   exception and dying.

*  bustle-dbus-monitor now has rudimentary cross-compilation support, by
   respecting $CC and friends. (Marc Kleine-Budde)

*  You can now kill the monitor immediately with ^C, rather than waiting
   for another message to arrive. (Lennart Poettering, from a patch for
   dbus-monitor)

Notes:

*  While your old logs should continue to work with the new viewer, the
   reverse is not true: the changes to name handling required modifying
   the log format.


Bustle 0.2.0 (2009-04-03)
-------------------------

The "new monkey makes me sad :-(" release.

Enhancements:

*  Add a menu item to save a PDF of the diagram.

*  Show the elapsed time between a method call and its return.

*  Add new tools to count method calls and signals, sum the total time
   spent per method call, and generate .dot graphs (Dafydd Harries).

Fixes:

*  Don't crash on empty logs, or logs containing calls on interface
   "<none>".

*  Compile with new Gtk2HS and GHC 6.10 (Chris Lamb).


Bustle 0.1 (2008-11-13)
-----------------------

Initial release.

vim: tw=72
