For reproducibility: HashMap replaced by LinkedHashMap; HashSet replaced by LinkedHashSet. Unit tests for FM, FS, MC messages implemented (and a number of errors resolved). NumberDuration and NumberTime made more precise in terms of which object they represent. Changes made to update deprecated methods in jeromq 0.5.1. Since (de)serialization is more generic than just sim0mq, the classes to do (de)serialization have been moved to a separate project called djutils-serialization. See https://djutils.org for more information. Finalized coding / decoding for all types in the TypedMessage. Update for DJUNITS version 3.00.07 to use instantiation helper classes. Increased coding / decoding for more types in the TypedMessage. Message loss in case of multi-threading repaired. Several examples added in demo package to test multi-threading. Used ZContext wrapper instead of ZMQ.Context. Included most types in the TypedMessage for coding and decoding. Allowed for UTF8 or UTF16 encoding of messages. Update for DJUNITS version 3.00.05. Update for jeromq version 0.4.3. Units and DisplayUnits adapted to the changes in DJUNITS version 3.00.01. Two bytes used for the Money type as 255 is too low, and cannot store the standard currency id codes. First version of type structure and message structure. First version of the major messages of the Federation Manager, Federate Starter and Model. First version of the abstract versions of Federation Manager, as well as model implementations of the Federate Starter and Model.