- Pods
- Concurrent 1.0.28
- Release Notes
![](data:image/png;base64,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)
ConcurrentRelease Notes
Release Notes
v1.0.28
- Chg: Remove warnings from SkySpark doc generation
- Chg: Recompiled to remove the
sourceMappingURL
comment from the Fantom JS.
v1.0.26
- New:
WorkerPool
class combines ActorPool
with Synchronized
.
v1.0.24
- Bug: Fixed
AtomicMap
to really work with funcs in Javascript environments.
v1.0.22
- New:
afConcurrent
now available as a SkySpark extension. - New: Added workaround so
AtomicMap
may hold funcs in Javascript environments.
v1.0.20
- New: Added
SynchronizedState.trap()
as convenience for calling state methods on sync()
. - New: Added
push()
, pop()
, and peek()
to all Lists. - New: Added
toStr()
methods to all Maps and Lists. - New: Added
it-block
ctor to SynchronizedState
so you may set your own Synchronized
lock object. - New: IoC
SynchronizedProvider
now injects SynchronizedState
instances. - Chg: Deprecated
getState()
and withState()
on SynchronizedState
in favour of sync()
and async()
. - Chg: Consolodated all
*List.list
and *Map.map
fields to val
(renamed). - Chg:
Synchronized
explicitly calls .toImmutable()
on returned objects to avoid Not serializable errors when returning lists and maps. - Chg: More details exposed on
NotImmutableErr
thrown from Synchronized
. - Bug:
SynchronizedBuf
could grow unbounded. It now empties once reading catches up with the writing.
v1.0.18
- New: A thread safe and const
SynchronizedBuf
. - New: Added
insert()
, first()
, & last()
to all Lists. - New: Added
each()
to all Maps. - New: Added
sync()
, async()
, & asyncLater()
to SynchronizedState. - Bug:
SynchronizedList.remove()
& SynchronizedList.removeAt()
threw an NPE if the item was null
or didn't exist.
v1.0.16
- New: Added
removeAt()
to all Lists. - New:
SynchronizedProvider
now provides ActorPool
instances. - Chg: Exposed
Actor
on Synchronized
. - Chg: Made
Synchronized
methods virtual
- happy overriding!
v1.0.14
- New:
Synchronized.asyncLater()
.
v1.0.12
- New:
ActorPools
and LocalRefManager
. - Chg: Added non-invasive services and modules for use with IoC v3.
- Chg: Renamed
SynchronizedList.listType
to valType
. - Bug:
AtomicMap.getOrAdd()
could return an unexpected null
during race conditions.
v1.0.10
- Chg:
AtomicList
and AtomicMap
are now available in Javascript. - Chg:
LocalRef
also available in Javascript, but only with Fantom 1.0.68.
v1.0.8
- New: Added
Synchronized.inSync()
method to tell if you're currently in the Sync thread or not. - Chg: Renamed
listType
to valType
in LocalList
and AtomicList
. (Potential breaking change.)
v1.0.6
- New:
Synchronized
locks are re-entrant by default. - Chg:
SynchronizedFileMap
only caches values whose associated file exists. - Bug:
SynchronizedFileMap
would Err if handed a non-existant file.
v1.0.4
- New: Runtime type checks on all List and Map, keys and values.
- Bug:
Synchronized
could mistakenly wrap un-related IOErrs
with it's own immutable err msg. - Bug: Could not set the SynchronizedFileMap timeout to
null
.
v1.0.2
- New: All Maps and Lists can be parameterized with Types. Set them in the it-block ctor.
- New:
LocalRefs
, LocalLists
and LocalMaps
are now really lazy and don't create objects unless they really need to. - New: Added
SynchronizedFileMap.isModified(File)
.
v1.0.0
- New: Initial release.
- New: Added
SynchronizedFileMap
. - Chg:
LocalRef
ctor now takes a defFunc
instead of an initValue
.