<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>Download Apache Polygene™</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;
            }
            #home-logo p {
                margin-top: 0.75em;
                font-size: 2.5em;
                font-weight: lighter;
            }
        </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/logo-234x83.png" style="height: 45px;" /></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 -->
                    <!-- ApacheCon resource -->
                    <div style="float: right; padding-top: 2px;">
                        <a href="http://www.apache.org/events/current-event.html"><img src="http://www.apache.org/events/current-event-234x60.png"/></a>
                    </div>
                </div>
            </div>
        </div>
        <div id="content" class="container-fluid">

<div class="page-header">
    <h1>Download</h1>
</div>

<div class="row-fluid">
    <div class="span2"></div>
    <div class="span6">
        <h2>Distributions</h2>

        <p>
            Apache Polygene™ (Java Edition) is split in two downloads: sources and binaries. Both downloads are available in the <code>zip</code> and <code>tar.gz</code> formats. The source code is also available on <a href="https://github.com/apache/polygene-java" target="_blank">Github</a>.
        </p>
        <p>
            The source distributions contains the whole Apache Polygene™ (Java Edition) source tree.
            See the included <code>README</code> for build guidance.
        </p>
        <p>
            The binary distributions contains Apache Polygene™ (Java Edition) artifacts (classes, javadocs and sources jars), helpers to download all needed dependencies, plus a local copy of the whole documentation website including browsable javadoc.
            See the included <code>README</code> for details.
        </p>

    </div>
    <div class="span2 well">
        <p>
            <strong>Using Gradle, Maven, SBT, Ivy or any other build system that provide dependency management?</strong>
        </p>
        <p>
            Learn how to <a href="java/latest/howto-depend-on-polygene.html">depend on Apache Polygene™ (Java Edition) in your build</a>.
        </p>
    </div>
    <div class="span2"></div>
</div>
<div class="row-fluid">
    <div class="span2"></div>
    <div class="span8">

        <div class="well">
            When downloading from a mirror please check the <a href="https://www.apache.org/dev/release-signing#md5">md5sum</a> and verify the <a href="https://www.apache.org/dev/release-signing#openpgp">OpenPGP</a> compatible signature from the main <a href="https://www.apache.org">Apache site</a>.
            Links are provided below.
            <br/>
            This <a href="https://www.apache.org/dist/polygene/KEYS">KEYS</a> file contains the public keys used for signing releases.
            It is recommended that (when possible) a <a href="https://www.apache.org/dev/release-signing#web-of-trust">web of trust</a> is used to confirm the identity of these keys.
        </div>

        
        
        <h3>Apache Polygene™ (Java Edition) 3.0.0</h3>
        <p>
            Signed by Paul Merlin, PGP ID: <code>7D0391AC</code>
            - <a href="2017/07/28/apache-polygene-java-3.0.0.html">Announcement and Release-Notes</a>
        </p>
         <div class="alert warning"><strong>Apache Polygene (Java Edition) 3.0.0</strong> is the first release that uses <code>org.apache.polygene.*</code> Java packages and Maven coordinates.
</div>
        <h4>Source Distribution</h4>
        <table class="table table-striped">
            <tr>
                <td><a href="https://www.apache.org/dyn/closer.lua/polygene/apache-polygene-java-3.0.0-src.zip"><i class="icon-download"></i> apache-polygene-java-3.0.0-src.zip</a></td>
                <td><a href="https://www.apache.org/dist/polygene/apache-polygene-java-3.0.0-src.zip.MD5"><small>(MD5)</small></a></td>
                <td><a href="https://www.apache.org/dist/polygene/apache-polygene-java-3.0.0-src.zip.SHA-512"><small>(SHA-512)</small></a></td>
                <td><a href="https://www.apache.org/dist/polygene/apache-polygene-java-3.0.0-src.zip.asc"><small>(OpenPGP asc)</small></a></td>
            </tr>
            <tr>
                <td><a href="https://www.apache.org/dyn/closer.lua/polygene/apache-polygene-java-3.0.0-src.tgz"><i class="icon-download"></i> apache-polygene-java-3.0.0-src.tgz</a></td>
                <td><a href="https://www.apache.org/dist/polygene/apache-polygene-java-3.0.0-src.tgz.MD5"><small>(MD5)</small></a></td>
                <td><a href="https://www.apache.org/dist/polygene/apache-polygene-java-3.0.0-src.tgz.SHA-512"><small>(SHA-512)</small></a></td>
                <td><a href="https://www.apache.org/dist/polygene/apache-polygene-java-3.0.0-src.tgz.asc"><small>(OpenPGP asc)</small></a></td>
            </tr>
        </table>
        
        

        
        
        <h3>Apache Zest™ (Java Edition) 2.1</h3>
        <p>Signed by Paul Merlin, PGP ID: <code>7D0391AC</code>, <a href="2015/07/31/apache-zest-java-2.1.html">Announcement and Release-Notes</a></p>
         <div class="alert warning"><strong>Apache Zest (Java Edition) 2.1</strong> is the first release of the Qi4j codebase under the Apache Software Foundation umbrella.<br/> To keep backward compatiblity, this version still use <code>org.qi4j.*</code> Java packages and Maven coordinates.<br/> <strong>Please note that this will change in 3.0.0.</strong>
</div>
        <h4>Source Distribution</h4>
        <table class="table table-striped">
            <tr>
                <td><a href="https://archive.apache.org/dist/zest/apache-zest-java-2.1-src.zip"><i class="icon-download"></i> apache-zest-java-2.1-src.zip</a></td>
                <td><a href="https://archive.apache.org/dist/zest/apache-zest-java-2.1-src.zip.MD5"><small>(MD5)</small></a></td>
                <td><a href="https://archive.apache.org/dist/zest/apache-zest-java-2.1-src.zip.SHA-512"><small>(SHA-512)</small></a></td>
                <td><a href="https://archive.apache.org/dist/zest/apache-zest-java-2.1-src.zip.asc"><small>(OpenPGP asc)</small></a></td>
            </tr>
            <tr>
                <td><a href="https://archive.apache.org/dist/zest/apache-zest-java-2.1-src.tgz"><i class="icon-download"></i> apache-zest-java-2.1-src.tgz</a></td>
                <td><a href="https://archive.apache.org/dist/zest/apache-zest-java-2.1-src.tgz.MD5"><small>(MD5)</small></a></td>
                <td><a href="https://archive.apache.org/dist/zest/apache-zest-java-2.1-src.tgz.SHA-512"><small>(SHA-512)</small></a></td>
                <td><a href="https://archive.apache.org/dist/zest/apache-zest-java-2.1-src.tgz.asc"><small>(OpenPGP asc)</small></a></td>
            </tr>
        </table>
        <h4>Binary Distribution</h4>
        <table class="table table-striped">
            <tr>
                <td><a href="https://archive.apache.org/dist/zest/apache-zest-java-2.1-bin.zip"><i class="icon-download"></i> apache-zest-java-2.1-bin.zip</a></td>
                <td><a href="https://archive.apache.org/dist/zest/apache-zest-java-2.1-bin.zip.MD5"><small>(MD5)</small></a></td>
                <td><a href="https://archive.apache.org/dist/zest/apache-zest-java-2.1-bin.zip.SHA-512"><small>(SHA-512)</small></a></td>
                <td><a href="https://archive.apache.org/dist/zest/apache-zest-java-2.1-bin.zip.asc"><small>(OpenPGP asc)</small></a></td>
            </tr>
            <tr>
                <td><a href="https://archive.apache.org/dist/zest/apache-zest-java-2.1-bin.tgz"><i class="icon-download"></i> apache-zest-java-2.1-bin.tgz</a></td>
                <td><a href="https://archive.apache.org/dist/zest/apache-zest-java-2.1-bin.tgz.MD5"><small>(MD5)</small></a></td>
                <td><a href="https://archive.apache.org/dist/zest/apache-zest-java-2.1-bin.tgz.SHA-512"><small>(SHA-512)</small></a></td>
                <td><a href="https://archive.apache.org/dist/zest/apache-zest-java-2.1-bin.tgz.asc"><small>(OpenPGP asc)</small></a></td>
            </tr>
        </table>
        
        

        <p class="alert alert-info">
            If you are looking for legacy Qi4j™ downloads, please see the dedicated page: <a href="download-qi4j-legacy.html">Download Qi4j™ Legacy</a>.
        </p>

    </div>
    <div class="span2"></div>
</div>
<div class="row-fluid">
    <div class="span2"></div>
    <div class="span8">

        <h2>Versioning</h2>

        <p>Apache Polygene™ versioning tries to stick to;</p>
        <ul>
            <li>For changes in the 3rd version digit, for instance from 1.3.1 to 1.3.2, only bug fixes have occurred.</li>
            <li>For changes in the 2nd version digit, for instance from 1.3.1 to 1.4, more features have been added.</li>
            <li>For changes in the 1st version digit, for instance from 1.3.1 to 2.0, incompatibilities have been introduced.</li>
        </ul>
        <p>
            However, this will only be true for APIs.
            For SPIs and especially Runtimes, we reserve the right of incompatible changes between releases in the
            second digit.
        </p>
        <p>
            We reserve the right that these dependencies on other systems may change between releases.
            For instance, a change between 1.1 and 1.2 was that CGLib was dropped and replaced by ASM
            as a new dependency.
        </p>

    </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>
