August'24: Kamaelia is in maintenance mode and will recieve periodic updates, about twice a year, primarily targeted around Python 3 and ecosystem compatibility. PRs are always welcome. Latest Release: 1.14.32 (2024/3/24)
It's been too long since the last release, for a variety of valid,
practical reasons. The aim is to restart the build/release process,
basing it on the newer packaging style used by Kamaelia { Logger, Grey,
Modeller }.
Recent comments on various blogs suggest packaging can be improved, and
whilst the newer packaging style is an improvement, more *concrete*
suggestions for improvement are welcome - whether they're to do with
"don't stop this" "stop doing this" "start doing this" etc.
Davbo queried why a significant amount of code from private_MPS_Scratch
hasn't been merged to trunk yet -- Michael replied it was largely time
related, and extra help with merging would be useful, and also what's
important to merge from there. It's worth noting that branches with
specific sets of features now need claiming, and that there's still a
ton of work to do in merging code.
Branches (most recently) Merged
private_MPS_JL_PygameText/
private_MPS_JL_AIMSupport/
private_MPS_ERModeller/
private_MPS_JL_IRCSupport/
private_MPS_KamaeliaLogger
private_MPS_STM
private_MPS_TCPServerImprovments
private_MPS_Tools2AppsConsolidation
private_MPS_TickerFix_mashed
private_MPS_LikeFileRewrite
private_MPS_PygameImprovements
private_MPS_AxonCoreImprovements_mashed
Multicore/multiprocess code merged as Axon.experimental - expect this to change
..
Branches Merged Prior to Mashed
Branches created (branch point rev included)
pre-mashed to allow rollback if unstable
Branches That Need Merging
These branches need claiming for merge:
None at present!
Things that can go in the release if time.
Todo list beyond that, if time, in no particular
order
From discussion:
MoreComplexServer should go in (named better - perhaps as ServerCore)
- DONE
Experimental WSGI server needs to go in (under Experimental) -
first iteration of this has actually gone in as an *example*
rather than as something intended for easy reuse.
Matt wants to sort:
sort out DVB bindings
refresh dirac/schroedinger bindings
j_baker may:
Push for website to be sorted by then. - didn't happen, but hey,
code comes first, website will get a revamp for the non-beta
release.
Lots of support from people on the channel :-)
Need a more formal wishlist to know the goal posts.
Starting point: a working wiki (done), but mailing list suffices
Target release date: By Midsummer's day (coincides with BBC "Mashed"
)
Ideas for stuff to go into the release:
runtime profiler - /Sketches/MH/Introspection/Profiling.py (needs tidying up first)
Merge as much of private_MPS_Scratch onto trunk - This has
worked really really well - massively there
Website update - TBD
Packaging up major Kamaelia apps - TBD
mhrd:
UDP components (including multicast) using Selector -
MERGED
The WSGI stuff should hopefully be able to go in in time (albeit
possibly under Experimental) -Jason - Parts actually under
"examples"
Release notes - Partial release notes in michael's
blog
Detailed changelog - Needs more detail
Documentation review
Things can be very helpful:
This is turning into a very large/substantial release. This implies a
bump from 0.5.X to 0.6.0
* Kamaelia.UI.Pygame.Text Added - (similar to Ticker, but input as well as output. Line oriented rather than word) * Added minor bugfix for Windows support for TCP clients * Fix to reliability of DVB support * Basic SSL support added - allow, for example, HTTPS components NEW TOOLS: Simple Video Player: * plays the sound and pictures from a video file Video Reframer: * applies an XML edit decision list to cut, crop and scale a video sequence; reframing the content for other use. Video Shot Change Detector: * outputs an XML file describing the frame indices at which shot changes probably occur in a sequence of video NEW COMPONENTS: * WAV format parsing and writing * YUV4MPEG2 format parsing and writing * Additional UnixProcess component with named pipe support * Various simple utility components * Pygame Video Surfaces (as opposed to overlays) * YUV to/from RGB video frame pixel format conversion * SDP parsing * RTP packet parsing and writing * Out of order packet reordering * "Maximum speed" file reading * Simple XML parsing * Video shot change detection * Video frame cropping and scaling * Experimental Pipeline/Graphline/Carousel support for size limited inboxes * Sequencing of tasks (Seq component) Changed the CSA such that it no longer has internal buffering. This means that if you make the link *TO* the CSA synchronous that you will be able to send to the link as fast as the link will handle without causing over buffering. Bugfixes to: * Kamaelia.Chassis.Carousel component - rewrite to fix shutdown behaviour. Bugfixes to: * Kamaelia.UI.Pygame.BasicSprite component. * Kamaelia.Util.RateFilter.ByteRate_RequestControl component. * Kamaelia.Protocol.HTTP.HTTPClient.SimpleHTTPClient component. Added Documentation generation tools for generating Axon and Kamaelia reference documentation - see their docstrings for more information. Enhanced Kamaelia.Support.Data.Repository to support fuller introspection of components, prefabs, classes and methods in the repository, including their arguments and documentation. The "Compose" tool now uses this, instead of trying to import all components. Dirac 0.6.0 release now supported by Dirac components (through 0.6.0 bindings) Bugfixes to: * Kamaelia.Audio.PyMedia.Input component now works on win32 * Kamaelia.UI.Pygame.Display no longer freezes up on win32 & MacOSX * "Show" example correctly now instantiates XML parser on win32 & MacOSX including Kamaelia.Support.Data.Experimental XML graph parser component * Kamaelia.Util.Chooser components are now all quiescent when idle Bugfixes to: * Various example programs in /Code/Python/Kamaelia/Tools and Examples to remove use of deprecated components.
Please add to the top of this. Rationalising things together and
correcting welcome.