{"data":{"markdownRemark":{"html":"<h1 id=\"241\"><a href=\"#241\" aria-hidden=\"true\" class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>2.4.1</h1>\n<p><em>01st June 2021</em></p>\n<p>This is a minor release of the software that includes a few fixes to Parquet output as well as some smaller request features.</p>\n<h2 id=\"upgrading\"><a href=\"#upgrading\" aria-hidden=\"true\" class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Upgrading</h2>\n<p>Upgrading can be done by changing the <code class=\"language-text\">simudyne.version</code> setting in your <code class=\"language-text\">pom.xml</code> to <code class=\"language-text\">2.4.1</code>. You MUST also switch any instance in your <code class=\"language-text\">pom.xml</code> where a library like <code class=\"language-text\">simudyne-core-abm_2.11</code> exists to <code class=\"language-text\">simudyne-core-abm_2.12</code> - This is because 2.4 is now using Scala 12.</p>\n<p>There should be no breaking changes going from 2.4.0 to 2.4.1, but if upgrading for the first time see below.</p>\n<h3 id=\"fixes\"><a href=\"#fixes\" aria-hidden=\"true\" class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Fixes</h3>\n<ul>\n<li>Parquet Output is no longer nested within an additional structure. This should support more common readers requirements and lessen data impact.</li>\n<li>Fixed an issue where some Hive configuration was using default localhost which for some deployments could pose an issue.</li>\n<li>If there is no simudyneSDK.properties file a warning will now notify the user, this is to mitigate confusion on why certain settings may not be working as the software would simply revert back to defaults.</li>\n<li>Additional checks have been made to not cause issues with missing properties that users may not require (such as Hive password / username)</li>\n</ul>\n<h3 id=\"additions\"><a href=\"#additions\" aria-hidden=\"true\" class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Additions</h3>\n<ul>\n<li>Parquet Output now supports the ability to work with INT's, previously usage of LONG or DOUBLE was required.</li>\n<li>A ScenarioDefinitionsBuilder has been added - previously this was only possible via Scala instead of Java like other Builders.</li>\n<li>The Programmable Random Number Generator (prng) now has the ability to <code class=\"language-text\">getRandom</code> in order to generate a RNG for usage with the default seed set by the PRNG, and a <code class=\"language-text\">getSeed</code> function which is preferable to grabbing to seed from configuration (which can be overwritten)</li>\n</ul>\n<h1 id=\"240\"><a href=\"#240\" aria-hidden=\"true\" class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>2.4.0</h1>\n<p><em>25th January 2021</em></p>\n<p>This is a major relase of the software, including updated data handling and a more powerful console.</p>\n<h2 id=\"upgrading-1\"><a href=\"#upgrading-1\" aria-hidden=\"true\" class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Upgrading</h2>\n<p>Upgrading can be done by changing the <code class=\"language-text\">simudyne.version</code> setting in your <code class=\"language-text\">pom.xml</code> to <code class=\"language-text\">2.4.0</code>. You MUST also switch any instance in your <code class=\"language-text\">pom.xml</code> where a library like <code class=\"language-text\">simudyne-core-abm_2.11</code> exists to <code class=\"language-text\">simudyne-core-abm_2.12</code> - This is because 2.4 is now using Scala 12.</p>\n<p>We have been careful in 2.4 to avoid any other major breaking changes, but there are still a few things to be aware of. Most notably will be changes to data structure and format of parquet output.</p>\n<h3 id=\"parquet-output\"><a href=\"#parquet-output\" aria-hidden=\"true\" class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Parquet Output</h3>\n<p>We've updated the process for handling data output via Parquet. This involves usage of new libaries both to improve performance but also availabilty to easily use in both other data formats and output methods in 2.4 and 2.5 <a href=\":version/reference/data_output/parquet_output\">Parquet Output</a></p>\n<h3 id=\"hive-integration\"><a href=\"#hive-integration\" aria-hidden=\"true\" class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Hive Integration</h3>\n<p>Changes to our output libraries allows us to now connect via JDBC to a Hive database using the exact same structure of parquet output. Users can simply modify their settings to move local output to Hive. <a href=\":version/reference/data_output/hive_output\">Hive Output</a></p>\n<h3 id=\"h2-output\"><a href=\"#h2-output\" aria-hidden=\"true\" class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>H2 Output</h3>\n<p>Updates to data format will allow storage to H2, a simple example is available at <a href=\":version/reference/data_output/h2_output\">H2 Output</a></p>\n<h3 id=\"chart-improvements\"><a href=\"#chart-improvements\" aria-hidden=\"true\" class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Chart Improvements</h3>\n<p>Console charts now have better handling for negative values, as well as optional bounding in order to easily analyze your data.</p>\n<h3 id=\"import-updates-and-bug-fixes\"><a href=\"#import-updates-and-bug-fixes\" aria-hidden=\"true\" class=\"anchor\"><svg aria-hidden=\"true\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Import updates and bug fixes</h3>\n<p>Several classes may have been moved, so their imports will have to be updated to reflect that. The easiest way to do that is to remove the old imports which are broken, and with your mouse over the erroring classes, press <code class=\"language-text\">alt + enter</code> (this only works if using Intelij). Intelij will now be able to find and add the new import for you.</p>\n<p>Additional various small fixes to other bugs have been added, mostly concerning the console.</p>","headings":[{"value":"2.4.1","depth":1},{"value":"Upgrading","depth":2},{"value":"Fixes","depth":3},{"value":"Additions","depth":3},{"value":"2.4.0","depth":1},{"value":"Upgrading","depth":2},{"value":"Parquet Output","depth":3},{"value":"Hive Integration","depth":3},{"value":"H2 Output","depth":3},{"value":"Chart Improvements","depth":3},{"value":"Import updates and bug fixes","depth":3}],"frontmatter":{"title":"Release Notes","toc":false,"experimental":null}},"site":{"siteMetadata":{"title":"Simudyne Docs","latestVersion":"2.6"}}},"pageContext":{"absolutePath":"/home/vsts/work/1/s/content/2.4/docs/release-notes.md","versioned":true,"version":"2.4","kind":"docs","pagePath":"/release-notes","chronology":{"prev":{"name":"FAQ","path":"/faq"},"next":{"name":"History","path":"/release-notes/release-history"}},"lastUpdated":"2026-04-21T13:56:54.847Z"}}