01/01/2015 – Mailing List discontinued |
Due to low demand and new budgeting constraints we had to discontinue our self hosted mailing list. We apologize for the inconvenience.
Any new updates to this project will be provided using Twitter and this project page. Please report any found defects to the issue tracker on Github.
28/01/2013 – Version 0.7.2 released |
This is a minor bugfix release only fixing an issue with dynamic loading of dlls on Windows using LoadLibrary(). On the other platforms there are no changes except the copyright information which was updated to reflect the new year.
As always the new version is available for download starting today. The launchpad ppa was updated accordingly and will finish its rebuild within the next hours. Please report any experienced bugs to the mailing list.
28/10/2012 – Version 0.7.1 available |
Today we publish another bugfix release for xdispatch. Only seconds ago the upload of xdispatch version 0.7.1 to the downloads section finished. The Launchpad PPA will finish its rebuild within the next six hours.
This release has a focus on fixing bugs and has no new features:
This bugfix release includes a bunch of other changes as well, please see the Changelog for a detailed list of changes. We welcome any bug reports or (always welcome) feature-requests to the mailing list. The Windows and Darwin libraries were linked against Qt 4.8.0 whereas the Linux version was linked against the Ubuntu 12.04 default, which is Qt 4.8.1.
Some additional remarks: It was reported that there are some bugs when creating DISPATCH_SOURCE_TYPE_READ and DISPATCH_SOURCE_TYPE_WRITE sources using the same filedescriptor. As discovered correctly this is due to a bug in the underlying libkqueue. I am happy to report that this bug was already fixed upstream. However we cannot merge that bugfix alone as there is a bunch of other pending changes. We consider this a too big change for a bugfix release and postboned the upstream merge for version 0.8. We hope to get this one out way faster than 0.7.1
Well, there's one last thing... We are happy to announce an official xdispatch mirror repository on GitHub. You can find it at https://github.com/mlba-team/xdispatch. We are looking forward to discover your forks and welcome any contributions.
23/05/2012 – Version 0.7 awaiting your downloads |
After months of development we are proud to release the latest version of xdispatch to the public today. Except for xdispatch::source all API calls are source compatible, consequently you can easily upgrade your program by updating your copy of xdispatch and doing a simple recompile. We do still NOT provide binary compatibility!
This release includes three major improvements:
This release includes a bunch of other changes as well, please see the Changelog for a detailed list of changes. We welcome any bug reports or (always welcome) feature-requests to the mailing list. The Windows and Darwin libraries were linked against Qt 4.8.0 whereas the Linux version was linked against the Ubuntu 11.10 default, which is Qt 4.7.4. Qt 4.8.0 is binary compatible to this version.
Last but not least we reworked our web pages. There's nicer colors, a simpler documentation layout and an improved download page. Along with that we also did a review of our documentation and improved a bunch of text. We really hope you enjoy it.
22/02/2012 – Version 0.6.1 released |
Today we published a minor bugfix release to patch some issues discovered in version 0.6.0
This release uses a reimplementation of the QDispatchGroup as the old implementation turned out to be rather buggy. Additionally a bug within libkqueue causing high cpu load with high resolution timers was fixed. Thanks a lot to Simon Langevin and Tennis Stringer Dude for their bug reports. This fix includes some other minor fixes as well – please see the Changelog for a detailed list of changes. We welcome any bug reports or (always welcome) feature-requests to the mailing list.
The Windows and Darwin libraries were linked against Qt 4.8.0 whereas the Linux version was linked against the Ubuntu 11.10 default, which is Qt 4.7.4
This release will be the last and only bugfix release to 0.6 as we are already busy at work for 0.7 which will not only include a cleaned-up C++ interface but also proper installers for Linux and Mac OS. Stay tuned!
14/09/2011 – XDispatch on Mac OS Lion |
It's time for an update on Mac OS 10.7 "Lion" compatibility of libXDispatch. Unfortunately we have no access to an installation of Apple's latest operating system so far. But as much as we now yet, xdispatch and QtDispatch should work without any issues. They both depend on the official Grand Central Dispatch API only which was extended but not changed in 10.7.
In the meantime the sources for the latest version of libdispatch/GCD were published at opensource.apple.com. Apple's dev team did some major changes to the original libdispatch sources concerning both code layout, implementation and also added some new api functions. As we did a lot of editing and renaming ourself for providing better cross-platform support, merging those latest changes into our repositories is no easy task. We are monitoring the discussions at libdispatch.macosforge.org for the latest efforts of bringing back Linux support and are also considering the practical use of porting the new dispatch filedescriptors to non Unix platforms (i.e. Windows of course). However, at the current point of view we have no fixed plan when to start working on and supporting those efforts. Instead we will focus on bringing more of the original dispatch_source types to all platforms and provide an xdispatch wrapper for those first. Additionally we hope to bring up some real-world usage examples of libXdispatch.
01/08/2011 – Version 0.6 released |
Exactly 2 months since the last release, we gzipped version 0.6 for you today.
This release includes some minor api changes mainly enforcing stricter naming conventions on some setters and getters. We apologize for the inconvenience but still consider this an important change. Additionally we did some fixing regarding the 64bit support on windows as introduced in 0.5. For better performance we updated the supporting libraries libkqueue and libpthread_workqueue.
As always please see the ChangeLog as well. We welcome any bug reports or (always welcome) feature-requests to the mailing list.
01/06/2011 – Version 0.5 ready to use |
After producing several new features, we bundled version 0.5 of libXDispatch today
The major new function introduced with this version is the support for dispatch sources both within the basic C++ and the Qt interface. Dispatch sources were originally introduced in Apple's C interface and were based on the libkqueue filter types. Our custom source type model allows the creation of custom source types fitting the own needs perfectly. Currently we are shipping source types for monitoring Qt signals, handling QIODevices (including sockets) as well as dispatching all finished network replies produced by a QNetworkManager. More sourcetypes including mappings of the C sources of libdispatch will emerge in future releases.
A second major change is support for more platforms on the Windows operating system. We are glad to report that Visual Studio 2008 and 64bit builds using Visual Studio 2010 are fully supported starting with this version. We are really proud to say that the number of supported platforms is steadily increasing and thus underlining our goal of producing a cross-platform solution for everybody.
For further changes, please see the ChangeLog. Please report any found bugs or (always welcome) feature-requests to xdispatch (at) mlba-team.de
05/05/2011 – Version 0.4 and 0.3.2 released |
We're proud to announce the availability of version 0.4 of the xdispatch libraries
After a lot of work we managed to get the libdispatch sources from macosforge.org to compile and run on windows. Thanks to Brent Fulgham who contributed to the MSVC support and thanks a lot to Mark Heily for maintaining the libkqueue and libpthread_workqueue projects. During the last days we did a lot of extended test runs and consider the windows version quite usable. We will do some performance and memory tweaking during the next versions but consider 0.4 as a good starting point to get to use and to know libdispatch on windows.
Along with the introduction of the original libdispatch implementation on windows comes the introduction of the dispatch_sources. Currently only timers are supported but there is more to come. As always we adapted the xdispatch C++ interface to be compatible as well and introduce xdispatch::timer. QtDispatch received some attention too, mainly the QDispatch(Core)Application classes which we consider to be production ready for now.
Additionally we published 0.3.2 yesterday which can be considered the last bugfix release to the 0.3.x series.
For further changes, please see the ChangeLog. Please report any found bugs or (always welcome) feature-requests to xdispatch (at) mlba-team.de
09/04/2011 – Version 0.3.1 released |
Today we released version 0.3.1 of libxdispatch.
This is mainly a bugfix release bringing no new functionality. However we will provide ready-to-use binary packages of libXDispatch starting today. All Packages (including source copies of all released versions) can be found at http://opensource.mlba-team.de/xdispatch/files
For further changes, please see the ChangeLog. Please report any found bugs or (always welcome) feature-requests to xdispatch (at) mlba-team.de
04/04/2011 – Version 0.3 released |
Today we released version 0.3 of libxdispatch.
This version is bringing no new functionality but is using native windows threads in favor of the LGPL licensed pthreads-w32 implementation. As a result we could completely omit this external library. Furthermore we moved the xdispatch and QtDispatch libraries from static to shared allowing us to hide private symbols and provide a more consistent (and perhaps binary compatible?) interface in the future.
Starting with version 0.3 of libxdispatch you can be sure to be using apache licensed (or compatible) code only. Consequently there's nothing left stopping you from integrating libxdispatch into your own projects!
For further changes, please see the ChangeLog. Please report any found bugs or (always welcome) feature-requests to xdispatch (at) mlba-team.de
01/04/2011 – Work for 0.4 has started |
We're straight on the way to version 0.4. For this release we're planning to integrate the work of Mark Heily, contributor to the original libdispatch sources. He created a libkqueue and libpthread-workqueue user-space implementation along with various patches allowing the original libdispatch sources to build and run on linux. Within our current trunk we already have a working version building on linux and Mac OS but are still busy getting everything to work on windows. As an intermediate release we're planning to create a gcc only (i.e. mingw on windows) version.
Please stay tuned for updates.
19/03/2011 – Version 0.2 released |
Today we released version 0.2 of libdispatch.
This version is including an improved header layout and a pure STL dependent C++ interface. Additionally we added a new synchronized keyword as alternative to manual code locking.
ATTENTTION: Due to the layout and interface updates, this version breaks code compatibility with version 0.1
C++ supportWhile Qt C++ support was available starting with version 0.1 we decided to provide another abstraction layer not needing the heavy-weight Qt libraries. The result can be found within the xdispatch-namespace and is documented on its own page >>
synchronized keyword
As an easy way of writing thread-safe areas of code we're implementing a synchronized keyword when using the C++ or Qt versions of libxdispatch. This powerful feature was loosely inspired by Java and Objective-C/Cocoa. Please see the documentation page for details and examples.
Updates to QtDispatchQtDispatch has gotten new features as well. Additional to an interface revamp bringing compatibility with the C++ interface we added an (experimental) new QDispatchCoreApplication moving the internal Qt event loop onto the main dispatch queue. The benefit achieved by this change is that other libraries using the main dispatch loop can easily be integrated and used along with QtDispatch.
For further changes, please see the ChangeLog. Please report any found bugs or (always welcome) feature-requests to xdispatch (at) mlba-team.de
11/02/2011 – Version 0.1 released |
We're happy to announce the availability of a cross-platform, interface compatible version of the libdispatch framework introduced in Mac OS Snow Leopard. For further description of this project, please see the Main Page.
Please report any found bugs or (always welcome) feature-requests to xdispatch (at) mlba-team.de