Hi,

I've built the 1.0.9.0 release and linked it from the website front
page.

Direct link:
    * http://www.kamaelia.org/release/MonthlyReleases/Kamaelia-1.0.9.0.tar.gz

This rolls up some bug fixes, a number of improvements aimed at
debugging (tracing of messages, profiling running systems), and
quiessence for open gl systems, and a handful of rewritten components.
Additionally the SoC2006 example code has been split out into more
sensible directories. (The place they lived then made sense then, but
would be clearer elsewhere!)

For those that missed it, Kamaelia's license changed in July 2010 to
the Apache 2 license. (with explicit permission to use the old license
scheme if needed - basically to cover any weird edge cases with a
"yes" :-)

Summary Changelog
===============

Axon Improvments Summary
    * Better tracing of message passing for debug purposes

Kamaelia Improvements Summary
    * Added namespace Kamaelia.Apps.MH
    * Kamaelia/Apps/MH/Profiling.py -- provides unix "top" like
functionality for components
    * Bugfix for Kamaelia/Chassis/PAR.py -- handle shutdown messages
better/more correctly
    * Bugfix for Kamaelia/Internet/TCPServer.py -- eliminate random
shutdowns under load
    * Kamaelia/Internet/SingleServer.py -- arguments made more in
keeping with ConnectedServer,
      added FastRestartSingleServer
    * Support multiple multicast transcievers in the same app on more
OSs cleaner
    * CSA.stop changed to handle multiple stop requests more robustly.
      (Shouldn't be called twice, this makes it safe if it happens)
    * Kamaelia/Visualisation/PhysicsGraph/TopologyViewerServer.py
changed to allow fast restart
    * Rewrites of EchoProtocol.py, NullSinkComponent.py
    * CPU hogging behaviour of OpenGL code reduced slightly in
Interactor.py, OpenGLDisplay.py
    * Bugfix in OpenGLDisplay.py to handle change in PyOpenGL API
    * CPU improvements in Pygame/Display.py, Pygame/Ticker.py
    * GSOC 2006 examples moved out from SoC2006 directory into
directories with better names.

Detailed Changelog
================

AUTHORS
    * Added Andrew Bonney as contributor

README
    * Bumped version number

Axon/Axon/Component.py
    * Encoding line added
    * Added two global flag variables for debugging:
        TraceAllSends = False
        TraceAllRecvs = False
    * If TraceAllSends is set, replaces <component>.send with a
version that traces all sends
    * If TraceAllRecvs is set, replaces <component>.recv with a
version that traces all recvs
    * Added _debug_recv to trace recvs
    * Added _debug_send to trace sends

Axon/Axon/Linkage.py
    * Encoding line added
    * Imports Box to enable improving storage tags if
Box.ShowAllTransits is set
      - These aren't perfect - they should probably *append* to the
storage tag rather than replace
    * Adds method short_str - which summarises a linkage in a shorter
fashion

Kamaelia/setup.py

    * Bumped version number
    * Added Kamaelia.Apps.MH

Kamaelia/Examples/UsingChassis/PAR/par_shutdown_simple.py

    * Added example showing clean shutdown of PAR in the case of
producerFinished
      messages, in simple and pathological examples.

Kamaelia/Kamaelia/Apps/MH/__init__.py

    * Added to allow this namespace to exist

Kamaelia/Kamaelia/Apps/MH/Profiling.py

    * Added for debugging purposes. Allows profiling of CPU usage in a
manner
      somewhat like unix "top".

Kamaelia/Kamaelia/Apps/Whiteboard/Canvas.py

    * Added some notes regarding code quality...

Kamaelia/Kamaelia/Chassis/PAR.py

    * While loop regarding pausing/shutdown turned into an if. This
solves a bug
      where the flag shutdown can't become true and sleeps through
child shutdowns

Kamaelia/Kamaelia/Internet/TCPServer.py

    * 1 line bugfix, but critical. Beforehand, depending on shutdown
approach,
      the TCPServer would search through the socket handlers for
whichever
      component was handling the socket. However, rather than that
component
      being picked for shutdown, the last one in the list would be
picked
      instead.

      This is a pretty critical problem for any major server and would
cause
      "erratic" behaviour in certain limited circumstances. It would
mean
      that many servers would look correct with basic testing and have
      unexpected intermittent issues under load from buggy clients.

Kamaelia/Kamaelia/Internet/SingleServer.py

    * Removed reference to python 2.3 from script executable path
    * Added comment about FastRestartSingleServer
    * imports socket to enable this
    * Changed to use default arguments style
    * Default arguments added largely mirror
ConnectedServer.ServerCore, sans protocol
    * Allows socketoptions to be set for the TCPServer.
    * In theory allows TCPServer to be overridden
    * Adds FastRestartSingleServer as a subclass of SingleServer -
this
      is identical to SingleServer, except with appropriate socket
options
    * Demo example now shows usage of socketOptions for fast
restarting

Kamaelia/Kamaelia/Internet/Multicast_transceiver.py

    * Allow the multicast transciever to be SO_REUSEADDR. This handles
a problem on some
      OSs that prevents a multicast port being used twice in the same
process.

Kamaelia/Kamaelia/Internet/ConnectedSocketAdapter.py

    * If CSA.stop is called twice, behaviour is cleaned up to only
stop once
    * To try to limit this, CSA..stop is then also replaced with a
dummy null function

Kamaelia/Kamaelia/Chassis/ConnectedServer.py

    * Debugging code added & commented out

Kamaelia/Kamaelia/Internet/Selector.py

    * Debugging code added & commented out

Kamaelia/Kamaelia/Visualisation/PhysicsGraph/TopologyViewerServer.py

    * Changed to use FastRestartServer rather than SimpleServer -
allows the
      AxonVisualiser (amongst others) to restart quickly if needed.

Kamaelia/Kamaelia/Protocol/EchoProtocol.py

    * Rewritten in a more modern style with correct/modern shutdown
behaviour
    * Also, shorter.

Kamaelia/Kamaelia/UI/OpenGL/Interactor.py

    * Reduced the level of CPU hogging for this code.

Kamaelia/Kamaelia/UI/OpenGL/OpenGLDisplay.py

    * imported _PygameEventSource to reduce CPU usage in the general
case.
    * Doing so allows the OpenGLDisplay to sleep when there's no data
to process
    * Pygame event handling changed to use data from the
_PygameEventSource
    * Updated usage of gluPickMatrix to match change in PyOpenGL's API
        - Specifically added a viewport argument

Kamaelia/Kamaelia/UI/Pygame/Display.py
    * _PygameEventSource - changed usage of pygame.event.peek to
      specifically look for particular events from the OS

Kamaelia/Kamaelia/UI/Pygame/Ticker.py

    * Ticker changed to add in quiessence

Kamaelia/Kamaelia/Util/NullSinkComponent.py

    * Rewritten in a clearer, more modern, quiesscent style.


Also, Summer of code 2006 example code shifted out from cryptic names
to less cryptic names.
    Specifically, these directories...

    Kamaelia/Examples/SoC2006/RJL/HTTPSpider
                                 /P2PStreamPeer
                                 /P2PStreamSeed
                                 /TorrentGUI
                                 /TorrentSeeder
    Kamaelia/Examples/SoC2006/THF/Checkers
                                 /MiniExamples
                                 /TorrentOpenGLGUI

    Renamed to:

    Kamaelia/Examples/HTTPSpider
                     /TorrentBasedStreaming_GSOC/P2PStreamPeer/
                                                /P2PStreamSeed/
                                                /TorrentGUI
                                                /TorrentSeeder
                     /OpenGL/Checkers
                            /MiniExamples
                            /TorrentOpenGLGUI


Enjoy :-)


Michael.

-- 
You received this message because you are subscribed to the Google Groups 
"kamaelia" group.
To post to this group, send email to kamae...@googlegroups.com.
To unsubscribe from this group, send email to 
kamaelia+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/kamaelia?hl=en.

Reply via email to