Download Options

You can get the latest version of Flux in several formats:

  • Source tarball
    Suitable for developers and users who can't use the RPM package management system.


Flux 0.10.0 (August 28th, 2005)

  • Finished implementing fast elliptic curve cryptographic functions.
  • Implemented FluxWorker, which can schedule arbitrary function calls in separate threads and provide return values to the main thread.
  • Implemented FluxIndexedList, a GList with fast lookup, append and remove.
  • Eliminated a huge performance drag when dispatching many small I/O stream events in FluxTcpIO. The worker thread was woken up way too often.
  • Did the above for FluxFileIO as well, but the benefit seems to be much smaller.
  • Eliminated a slight, but unnecessary performance drag in FluxObject type checking.
  • Eliminated all warnings as issued by GCC 4.0.1 on Linux.

Flux 0.9.1 (June 11th, 2005)

  • Cleaned up the FluxMarshaller code, to avoid problems on 64-bit archs and GCC 4.
  • Made FluxRng consume slightly more data from /dev/random (if present).
  • Made FluxIPResolver always keep a thread handy.
  • Cleaned up, removing some useless options.
  • Explicitly require the gthread module.
  • Eliminated new GCC warnings all over.

Flux 0.9.0 (April 10th, 2005)

  • Implemented utilities for simplified GObject definition.
  • Implemented FluxInterval.
  • Implemented random-order traversal for FluxPatTree cursors.
  • Added large file support and error reporting to FluxFileIO.
  • Made FluxPatTree cursors remain valid across unrelated removals/insertions.
  • Made FluxFifo free up buffers more aggressively.
  • Reduced threads' memory overhead somewhat.
  • Bugfix: FluxCachedFile could corrupt data occasionally.
  • Bugfix: FluxTcpListener sockets were not closed on finalization.
  • Bugfix: FluxFifo could give a bad free count.
  • Bugfix: FluxMarshaller marshalled booleans in an architecture-dependent way.
  • Bugfix: Portability fixes.
  • The "examples" directory is now called "test".

Flux 0.8.2 (May 28th, 2004)

  • Detect getnameinfo() and getaddrinfo() and use those if available.
  • Break out of dispatch callbacks after a set amount of data has been processed, ensuring control is given back to the main loop regularly.
  • Made all async callbacks be low priority.
  • Bugfix: Doesn't stall the main loop if data is coming in faster than it can be handled by the client app.

Flux 0.8.1 (May 25th, 2004)

  • Bugfix: Fixed a leak in FluxTcpIO.
  • Bugfix: Added a definition that was missing from the win32 .def file.

Flux 0.8.0 (May 23rd, 2004)

  • Made FluxFileIO threaded, using fds directly instead of GIOChannels.
  • Made FluxTcpIO threaded.
  • Made FluxTcpListener threaded.
  • Made FluxFifo threadsafe.
  • Implemented FluxIPAddr, an IPv4/IPv6 address class.
  • Implemented FluxIPResolver, an async DNS resolver class.
  • Implemented FluxBoolArray, which is a simple, auto-expanding array of bits.
  • Implemented FluxBinPath, which describes a path through a binary tree.
  • Implemented FluxPackedBinTree, which stores data in a compact, static binary tree structure.
  • Implemented FluxECSecretKey, FluxECPublicKey and supporting elliptic curve cryptography functions (API still not finished).
  • Implemented a few cross-platform socket utilities, particularly targeted towards win32 compatibility.
  • As a consequence of changes listed above, Flux no longer depends on GNet.
  • Made the RPMs require zlib packages (thanks to Michael Wolf).


Flux, these web pages, and all related material are Copyright ©1999-2004 Hans Petter Jansson <> and the respective authors, and are licensed under the GNU GPL. Please see the About page for more details. Web design by Joakim Ziegler <>, illustrations by Belinda Laws, <>.