OmniThreadLibrary 3.05 has just been released. It is available via
SVN (https://github.com/gabr42/OmniThreadLibrary/tree/release-3.05)
or as a ZIP archive
(https://drive.google.com/file/d/0BwqVlLNTK4OxdU05UWs1Q3lSUmc/view?usp=sharing).

What is OmniThreadLibrary?
==========================

OmniThreadLibrary is simple to use threading library for Delphi. It's
main "selling" points (besides the price, of course are power,
simplicity, and openess. With just few lines of code, you can set up
multiple threads, send messages between them, process Windows messages
and more. OmniThreadLibrary doesn't limit you in any way - if it is not
powerfull enough for you, you can ignore any part of its "smartness"
and replace it with your own code. If you don't like working with
threads - no problem! You can use high-level primitives like parallel
for, futures and pipelines to introduce parallelism into your
application.

OmniThreadLibrary is an open source project. It lives in the Google
Code and is licensed under the BSD license.

At the moment, OmniThreadLibrary supports Delphi 2007, 2009, 2010, XE,
XE2, XE3, XE4, XE5, XE6, XE7, XE8, and 10 Seattle on the Win32 and Win64 platforms. 
Currently, there are no plans to support older Delphi compilers and .NET. 
XE2+ support is limited to Windows targets. Firemonkey is currently not 
supported.

Where can I get more information?
=================================

Home page: http://www.omnithreadlibrary.com/
Google+ Community: https://plus.google.com/communities/112307748950248514961
Downloads: https://drive.google.com/folderview?id=0BwqVlLNTK4OxVEgzZnZGM1FNMGc&usp=drive_web#list
Repository: https://github.com/gabr42/OmniThreadLibrary
Issue tracker: https://github.com/gabr42/OmniThreadLibrary/issues
Author's blog: http://thedelphigeek.com
Author's home page: http://primoz.gabrijelcic.org
Documentation wiki: http://otl.17slon.com/book/
Documentation book: http://leanpub.com/omnithreadlibrary
Webinars: http://www.omnithreadlibrary.com/webinars.htm

Changes since version 3.05
===========================

- New features:
  - Added Delphi 10 Seattle packages and projects.
  - Setting IOmniThreadPool.MinWorkers property will start up idle worker threads 
    if total number of threads managed by the thread pool is lower than the new value.
- Bug fixes:
  - Fixed 'record' type handling in TOmniValue.FromArray<T> and TOmniValue.ToArray<T>.
  - Reimplemented support for > 60 worker tasks in the OtlThreadPool unit which 
    was removed from the code in 3.04a by mistake.
  - IOmniPipeline.PipelineStage[].Input and .Output are now always available
    immediately after the IOmniPipeline.Run.    
  - TOmniPipeline.Destroy calls TOmniPipeline.Cancel so a pipeline can be 
    shut down if user forgets to call Input.CompleteAdding.
  - When the code was waiting on less than 64 handles and timeout occurred, 
    the TWaitFor.Signalled[] property was not always empty.
  - TWaitFor was not working correctly with more than 64 handles if it was
    created with the parameter-less constructor.
  - TWaitFor.MsgWaitAny now uses RegisterWaitForSingleObject approach when
    waiting on 64 handles. Previously, MsgWaitForMultipleObjectsEx was called,
    which can only handle up to 63 handles.
  - Fixed pointer arithmetic in DetailedRTTI for 64-bit compilation.
  - Fixed: affinity mask in IOmniAffinity was only 32-bit wide on 64-bit platform.
    
--
Primoz
[http://thedelphigeek.com]