Last updated on 16th July 2024
22nd August 2018
This is a minor improvement release, including a compatibility update for deployment on Spark 2.2.x.
json4s is has been downgraded to version 3.2.11 to match Spark 2.2.x.Agent#setEnvironment signature has been updated to be consistent with that in Vertex, resolving a warning showing in some IDEs.LongAccumulator and DoubleAccumulator when running on machines with high core counts has been improved.final or effectively final values such as Scala vals as inputs now gives a clearer, eager error detailing the issue.2nd August 2018
This is a bug-fix release, most importantly fixing issues relating to execution on Spark using YARN.
akka and akka-http have been updated to their latest versions (2.5.13 and 10.1.3 respectively)akka-slf4j is now included as a dependency.akka-http-testkit is no longer included as a dependency.26th June 2018
This is a critical bug-fix release relating to deployment on Cloudera Spark clusters.
fastutil library has been downgraded from version 8.1.1 to 6.3, to match commonly deployed ambient libraries.null when set from the console.8th June 2018
This release is primarily focused on bug fixes but does include a minor API change to be aware of when upgrading; Data injectors for links now receive the agent itself rather than an InitContext. This change allows link attributes to be set based on the agent, and for agents to be altered based on their links. Access to the seeded PRNG and agent ID is then available directly from the agent, e.g. Agent#getPrng().
Group<MyAgent> = generateGroup(MyAgent.class, 100)
// Before
myGroup.fullyConnected(otherGroup, MyLink.class,
// receives types InitContext and MyLink
(initContext, myLink) -> { ... });
// After
myGroup.fullyConnected(otherGroup, MyLink.class,
// receives types MyAgent and MyLink
(myAgent, myLink) -> { ... });This release includes some improvements which can affect the behaviour of your models.
NaN as the current value.int and long will no longer show decimal places in the agent table.String are now supported in the console.nexus-server.nexus-lifetime, has been increased from 30 to 60 minutes.nexus-server.batchrun-lifetime configuration property to determine how long the server stores the results, and this is now timed from when the results are generated rather than when the batch processing is started.AgentSelection, as returned by AgentBasedModel#select(Class<AgentType>), now includes subclasses of the given agent type in the selection.Agent#getMessagesOfType(Class<MessageType>), now include subclasses of the given type.loadGroup(Class<AgentType>, Source, SerializableConsumer<T>) now runs after data from the source has been injected, rather than before.Agent instance itself, rather than an InitContext. This allows links to be created based on attributes of the agent, and also for agents to be updated based on link properties.Note that changes within this module should not directly affect any users of the API unless noted under core-abm, unless you are using this lower level implementation directly.
VertexSelection now includes subclasses of the given agent type in the selection.Vertex is now an abstract class, rather than an interface. Methods relating to accessing links, such as Environment#getLinks() have moved from the Environment interface to the Vertex class.Graph#addVertices now receives an InitContext rather than a ConnectionInitializersimudyne.core.graph.SerializationLevel and related configuration setting core-abm.serialization-level have been removed.17th May 2018
This is a minor bug fix release, primarily resolving issues with the network tile display. Improvements have also been made to the ABM API, allowing more flexible definition of actions, as well as injection of attributes to agents loaded from external sources.
Added AgentSystem#loadGroup(Class<AgentType>, Source, Consumer<AgentType>) (as well as AgentBasedModel#loadGroup(...) shortcut method).
April 19th 2018
First major release of the new Simudyne SDK 2.0.