blob: b7e21a92c2368437e22c1aded9ec540fe2e1b141 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Apache Polygene™ (Java Edition) Release 3.0.0</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Apache Polygene™ is a community based effort exploring Composite Oriented Programming for domain centric application development. This includes evolved concepts from Aspect Oriented Programming, Dependency Injection and Domain Driven Design.
Composite Oriented Programming allows developers to work with 'fragments', smaller than classes, and 'compose' fragments into larger 'composites' which acts like the regular objects. Apache Polygene™ also tackles the enforcement of application composition, i.e. composites are declared in modules, modules are contained in layers and access between layers are controlled/enforced.
">
<meta name="author" content="The Apache Polygene™ Project">
<meta name="keywords" content="cop, composite oriented programming, ddd, domain driven design, composite, mixin, fragment, constraint, concern, side-effect, aop, aspect oriented programming, application, layer, module, structure, java, library, toolkit, framework">
<!-- Le styles -->
<link href="/landing-resources/css/bootstrap.css" rel="stylesheet">
<link href="/landing-resources/css/font-awesome.css" rel="stylesheet">
<style type="text/css">
body {
padding-top: 70px;
padding-bottom: 40px;
}
</style>
<link href="/landing-resources/css/bootstrap-responsive.min.css" rel="stylesheet">
<!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- Fav and touch icons -->
<link rel="shortcut icon" type="image/png" href="/landing-resources/ico/favicon.png">
<!-- Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-89723617-1', 'auto');
ga('send', 'pageview');
</script>
</head>
<body>
<div class="navbar navbar-inverse navbar-fixed-top">
<div class="navbar-inner">
<div class="container-fluid">
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<a class="brand" href="/"><img src="/landing-resources/img/feather.png" width="64"/> Apache <strong>Polygene™</strong></a>
<div class="nav-collapse collapse">
<ul class="nav">
<li><a href="/news.html"><i class="icon-rss"></i> News</a></li>
<li><a href="/download.html"><i class="icon-download"></i> Download</a></li>
<li class="dropdown">
<a class="dropdown-toggle" role="button" data-toggle="dropdown" data-target="#" href="#">
<i class="icon-book"></i> Documentation <b class="caret"></b>
</a>
<ul class="dropdown-menu" role="menu">
<li role="menuitem"><a href="/java/latest/index.html"><i class="icon-caret-right"></i> Latest release</a></li>
<li role="menuitem"><a href="/java/3.0.0/index.html"><i class="icon-caret-right"></i> 3.0.0</a></li>
<li role="menuitem"><a href="/java/2.1/index.html"><i class="icon-caret-right"></i> 2.1</a></li>
<li role="menuitem"><a href="/java/2.0/index.html"><i class="icon-caret-right"></i> 2.0</a></li>
<li role="menuitem"><a href="/java/1.4/index.html"><i class="icon-caret-right"></i> &lt;=1.4.x</a></li>
<li class="divider"></li>
<li role="menuitem"><a href="/java/develop/index.html"><i class="icon-caret-right"></i> develop branch</a></li>
</ul>
</li>
<li class="dropdown">
<a class="dropdown-toggle" role="button" data-toggle="dropdown" data-target="#" href="/community">
<i class="icon-group"></i> Community <b class="caret"></b>
</a>
<ul class="dropdown-menu" role="menu">
<li role="menuitem"><a href="/community/get_help.html"><i class="icon-caret-right"></i> Get Help</a></li>
<li class="divider"></li>
<li role="menuitem"><a href="/community/participate.html"><i class="icon-caret-right"></i> Participate</a></li>
<li role="menuitem"><a href="/community/playing_field.html"><i class="icon-caret-right"></i> Playing Field</a></li>
<li class="divider"></li>
<li role="menuitem"><a href="/community/codebase.html"><i class="icon-caret-right"></i> Codebase</a></li>
<li role="menuitem"><a href="https://builds.apache.org/view/S-Z/view/Polygene/" target="_blank"><i class="icon-caret-right"></i> Continuous Integration</a></li>
<li role="menuitem"><a href="https://issues.apache.org/jira/browse/POLYGENE" target="_blank"><i class="icon-caret-right"></i> Issues</a></li>
<li class="divider"></li>
<li role="menuitem"><a href="/community/maturity.html"><i class="icon-caret-right"></i> Maturity Model</a></li>
<li role="menuitem"><a href="/community/contributors.html"><i class="icon-caret-right"></i> People behind Apache Polygene™</a></li>
<li class="divider"></li>
<li role="menuitem"><a href="http://www.apache.org/licenses/" target="_blank"><i class="icon-caret-right"></i> Licensing</a></li>
<li role="menuitem"><a href="/community/licensing_faq.html"><i class="icon-caret-right"></i> Licensing FAQ</a></li>
<li class="divider"></li>
<li role="menuitem"><a href="http://www.apache.org/foundation/sponsorship.html" target="_blank"><i class="icon-caret-right"></i> Sponsorship</a></li>
<li role="menuitem"><a href="http://www.apache.org/foundation/thanks.html" target="_blank"><i class="icon-caret-right"></i> Thanks</a></li>
<li role="menuitem"><a href="http://www.apache.org/security/" target="_blank"><i class="icon-caret-right"></i> Security</a></li>
</ul>
</li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
</div>
<div id="content" class="container-fluid">
<div class="row-fluid">
<div class="span2"></div>
<div class="span8">
July 28, 2017
<h2 id="apache-polygene-java-edition-release-300">Apache Polygene™ (Java Edition) Release 3.0.0</h2>
<h3 id="release-notes">Release-notes</h3>
<h4 id="new-features">New Features</h4>
<ul>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-111">POLYGENE-111</a> - Easy to use Restful Library</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-155">POLYGENE-155</a> - Apache Geode EntityStore</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-225">POLYGENE-225</a> - Apache Cassandra EntityStore</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-29">POLYGENE-29</a> - Use javax.script for JavaScript/Groovy/++ language integration</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-133">POLYGENE-133</a> - @Concerns and @SideEffects on methods.</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-141">POLYGENE-141</a> - UseDefaults annotation with value</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-173">POLYGENE-173</a> - Add a convenience method for converting Associations to Values</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-174">POLYGENE-174</a> - Add convenience methods for List/Set/Map of values into Associations</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-54">POLYGENE-54</a> - Support more use-cases in toEntity/toValue mechanism</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-248">POLYGENE-248</a> - Add ManyAssociation.clear() &amp; NamedAssociation.clear()</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-53">POLYGENE-53</a> - Allow registration of custom (de)serializers on assembly</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-251">POLYGENE-251</a> - Support Java 8 default methods on interfaces</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-97">POLYGENE-97</a> - UnitOfWork as a Composite</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-50">POLYGENE-50</a> - Make the bytecode generation ‘pluggable’</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-48">POLYGENE-48</a> - Improved reporting on invalid assembly models</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-263">POLYGENE-263</a> - Composite types that are invisible, should be reported in NoSuchCompositeTypeException</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-264">POLYGENE-264</a> - Make ConstraintViolations more readable</li>
</ul>
<h4 id="improvement">Improvement</h4>
<ul>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-231">POLYGENE-231</a> - Serialization 3.0</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-240">POLYGENE-240</a> - Serialization converters can be applied on Properties or Value types</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-236">POLYGENE-238</a> - javax.json serialization allows to set provider properties at assembly</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-239">POLYGENE-239</a> - javax.xml serialization allows to set provider properties at assembly</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-242">POLYGENE-242</a> - Leverage value state serialization in JSONMapEntityStores</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-153">POLYGENE-153</a> - SQL EntityStore mixes in JSONMapEntityStoreMixin</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-116">POLYGENE-116</a> - Support multi-instances-applications in SQLEntityStore</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-172">POLYGENE-172</a> - MongoDB configuration is not friendly.</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-176">POLYGENE-176</a> - Rework Riak EntityStore for Riak 2</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-177">POLYGENE-177</a> - Rework ElasticSearch Index/Query for ElasticSearch 5</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-178">POLYGENE-178</a> - Rework EhCache Cache for EhCache 3</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-136">POLYGENE-136</a> - Refactoring of Models and Instances in Runtime</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-186">POLYGENE-186</a> - Automatically add an UuidIdentityGenerator to a module if none has been defined explicitly.</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-187">POLYGENE-187</a> - Auto-add a UnitOfWorkFactory that is not declared explicitly</li>
</ul>
<h4 id="potentially-breaking-changes">Potentially breaking changes</h4>
<ul>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-247">POLYGENE-247</a> - Entity state JSON serialization like Value serialization</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-190">POLYGENE-190</a> - Refine Metrics API/SPI</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-112">POLYGENE-112</a> - Replace Function and Function2 with Java 8 equivalents</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-118">POLYGENE-118</a> - Replace Iterable&lt;&gt; usage in Runtime internals with Java 8 Stream API</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-182">POLYGENE-182</a> - Replace Input/Output/Sender/Receiver APIs with Java 8 Streams</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-181">POLYGENE-181</a> - Replace ‘long’ with java.time.Instant</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-124">POLYGENE-124</a> - Replace Joda Time with Java 8 Time API</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-152">POLYGENE-152</a> - Disallow java.util.Date and Joda Time in Property</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-192">POLYGENE-192</a> - Create Codahale Metrics extensions to replace outdated Yammer Metrics</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-183">POLYGENE-183</a> - Remove eventsourcing library</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-156">POLYGENE-156</a> - Remove Scheduler library</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-188">POLYGENE-188</a> - Remove Scala language support</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-222">POLYGENE-222</a> - Remove Indexing-SQL</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-191">POLYGENE-191</a> - Remove org.json java library</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-134">POLYGENE-134</a> - Remove org.apache.polygene.api.dataset</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-123">POLYGENE-123</a> - Remove Base64Encoder in favor of the Java 8 one.</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-184">POLYGENE-184</a> - Remove use of NullArgumentException</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-262">POLYGENE-262</a> - Rename NoSuchCompositeException to NoSuchCompositeTypeException</li>
</ul>
<h4 id="bug-fixes">Bug fixes</h4>
<ul>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-43">POLYGENE-43</a> - Solr Indexing has dependency on RDF library</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-105">POLYGENE-105</a> - ValueSerialization Type Lookup is wrong.</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-126">POLYGENE-126</a> - The forum sample won’t start</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-127">POLYGENE-127</a> - Servlet assembly DSL in HTTP library prevent 2.0 style usage</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-137">POLYGENE-137</a> - EntityStateSerializer unable to handle values that are not declared as composites.</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-138">POLYGENE-138</a> - org.json ValueSerialization of Serializable fail when out of JSON sequence</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-142">POLYGENE-142</a> - Enum Property in EntityComposite serialization error</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-193">POLYGENE-193</a> - Fail when composite type has interface static method</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-224">POLYGENE-224</a> - Initialization race condition in ServiceReferenceInstance</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-227">POLYGENE-227</a> - Configuration perfTest should resolve in IDEA</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-233">POLYGENE-233</a> - Rdf Indexer is not using the unifying Assemblers system.</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-234">POLYGENE-234</a> - Service identity can not be null</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-236">POLYGENE-236</a> - Unit tests for entitystore-mongodb trigger a Windows Firewall popup window</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-237">POLYGENE-237</a> - Unit tests for entitystore-mongodb fail on Windows</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-254">POLYGENE-254</a> - Source distribution contains Gradle wrapper files including JARs</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-259">POLYGENE-259</a> - ConfigurationComposite module is not used for bootstrap serialization</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-260">POLYGENE-260</a> - NamedAssociation.put() doesn’t mark DefaultEntityState “updated”</li>
<li><a href="https://issues.apache.org/jira/browse/POLYGENE-261">POLYGENE-261</a> - ManyAssociation does not allow duplicate entries</li>
</ul>
</div>
<div class="span2"></div>
</div>
</div>
<div class="container-fluid">
<hr>
<footer>
<p>
Copyright &copy; 2015-2018 The Apache Software Foundation, Licensed under the <a href="http://www.apache.org/licenses/">Apache License, Version 2.0</a>.
<br/>
<small>
Apache Polygene, Polygene, Apache, the Apache feather logo, and the Apache Polygene project logo are trademarks of The Apache Software Foundation.<br/>
All other marks mentioned may be trademarks or registered trademarks of their respective owners.
</small>
</p>
</footer>
</div>
<!-- Le javascript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="/landing-resources/js/jquery-1.8.3.min.js"></script>
<script src="/landing-resources/js/bootstrap.min.js"></script>
<script src="/landing-resources/js/qi4j.org.js"></script>
</body>
</html>