blob: ecdb5fa12bf87f81ac473b801bff7d06c74b02b8 [file] [log] [blame]
<!DOCTYPE html><html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
<title>Apache Sling :: Apache Sling Launchpad 9 released</title>
<link rel="icon" href="/favicon.ico"/>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bulma/0.7.5/css/bulma.min.css"/>
<link rel="stylesheet" href="/res/css/site.css"/>
<script src='https://www.apachecon.com/event-images/snippet.js'></script><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/default.min.css"/>
<script src='https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js'></script><script>
hljs.initHighlightingOnLoad();
</script>
<!-- Matomo Web Analytics -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
/* We explicitly disable cookie tracking to avoid privacy issues */
_paq.push(['disableCookies']);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="https://matomo.privacy.apache.org/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '6']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
<link href='/pagefind/pagefind-ui.css' rel='stylesheet'><script src='/pagefind/pagefind-ui.js' type='text/javascript'></script>
<script>
window.addEventListener('DOMContentLoaded', (event) => {
new PagefindUI({ element: "#searchbox" });
});
</script>
</head> <body>
<div class="section">
<div class="level is-marginless">
<div class="logo">
<a href="https://sling.apache.org">
<img border="0" alt="Apache Sling" src="/res/logos/sling.svg"/>
</a>
</div><div class="header">
<a href="https://www.apache.org">
<img border="0" alt="Apache" src="/res/logos/apache.png"/>
</a>
</div>
</div><section class="searchbox level is-marginless">
<div id="searchbox"></div>
</section><div class="columns is-gapless">
<div class="column is-narrow sidemenu">
<div class="container">
<nav class="menu">
<ul class="menu-list box is-shadowless is-marginless">
<li>
<p class="menu-label">
<strong>Documentation</strong>
</p><ul>
<li><a href="/documentation.html">Overview</a></li><li><a href="/documentation/getting-started.html">Getting Started</a></li><li><a href="/documentation/the-sling-engine.html">The Sling Engine</a></li><li><a href="/documentation/development.html">Development</a></li><li><a href="/documentation/bundles.html">Bundles</a></li><li><a href="/documentation/tutorials-how-tos.html">Tutorials &amp; How-Tos</a></li><li><a href="/components/">Maven Plugins</a></li><li><a href="/documentation/configuration.html">Configuration</a></li>
</ul>
</li><li>
<p class="menu-label">
<strong>API Docs</strong>
</p><ul>
<li><a href="/apidocs/sling12/index.html">Sling 12</a></li><li><a href="/apidocs/sling11/index.html">Sling 11</a></li><li><a href="/apidocs/sling10/index.html">Sling 10</a></li><li><a href="/apidocs/sling9/index.html">Sling 9</a></li><li><a href="/documentation/apidocs.html">All versions</a></li>
</ul>
</li><li>
<p class="menu-label">
<strong>Support</strong>
</p><ul>
<li><a href="https://s.apache.org/sling.wiki">Wiki</a></li><li><a href="https://s.apache.org/sling.faq">FAQ</a></li><li><a href="/sitemap.html">Sitemap</a></li>
</ul>
</li><li>
<p class="menu-label">
<strong>Project Info</strong>
</p><ul>
<li><a href="/downloads.cgi">Downloads</a></li><li><a href="https://www.apache.org/licenses/">License</a></li><li><a href="/news.html">News</a></li><li><a href="/releases.html">Releases</a></li><li><a href="https://issues.apache.org/jira/browse/SLING">Issue Tracker</a></li><li><a href="/links.html">Links</a></li><li><a href="/contributing.html">Contributing</a></li><li><a href="/project-information.html">Project Information</a></li><li><a href="/project-information/security.html">Security</a></li>
</ul>
</li><li>
<p class="menu-label">
<strong>Source</strong>
</p><ul>
<li><a href="/repolist.html">Repositories</a></li><li><a href="https://gitbox.apache.org/repos/asf?s=sling">Git at Apache</a></li>
</ul>
</li><li>
<p class="menu-label">
<strong>Apache Software<br>Foundation</strong>
</p><ul>
<li><a href="https://www.apache.org/foundation/thanks.html">Thanks!</a></li><li><a href="https://www.apache.org/foundation/sponsorship.html">Become a Sponsor</a></li><li><a href="https://www.apache.org/foundation/buy_stuff.html">Buy Stuff</a></li>
</ul>
</li><li>
<a class="acevent" data-format="square" data-event="random"></a>
</li><li>
<a href="https://apache.org/foundation/contributing.html" class="column">
<img border="0" alt="Support the Apache Software Foundation!" src="/res/images/SupportApache-small.png" width="125"/>
</a>
</li>
</ul>
</nav>
</div>
</div><div class="column main">
<div class="box is-shadowless is-marginless">
<div class="level">
<div class="pagenav">
<div class="breadcrumb">
<ul>
<li>
<a href="/">
Home
</a>
</li><li>
<a href="/news.html">
News
</a>
</li>
</ul>
</div>
</div><div class="tags">
<span class="tag">
<a href="/tags/launchpad.html">
launchpad
</a>
</span>
</div>
</div><h1 class="title">
Apache Sling Launchpad 9 released
</h1><nav class="menu">
<ul class="menu-list box is-shadowless is-paddingless">
<li id="generatedToC">
<p class="menu-label">
<strong>Table of Contents</strong>
</p>
</li>
</ul>
</nav><script src='/res/jquery-3.2.1.min.js' type='text/javascript'></script><script src='/res/tocjs-1-1-2.js' type='text/javascript'></script><script type='text/javascript'>$(document).ready(function() { $('#generatedToC').toc({'selector':'h1[class!=title],h2,h3','ulClass':'menu-list'}); } );</script><div class="content is-marginless">
<div class="row" data-pagefind-body="true"><div><section><p>Here are some of the more noteworthy things available in this release.</p>
<h2><a href="#updated-to-oak-161-and-segment-tar-persistence" id="updated-to-oak-161-and-segment-tar-persistence">Updated to Oak 1.6.1 and segment-tar persistence</a></h2>
<p>We now include the latest stable version of Oak and have switched to the latest form of the disk-based persitence - oak-segment-tar. This module provides better runtime characteristics when compared to the oak-segment persistence and also allows reliable online compaction of the repository.</p>
<p>If you're upgrading from a previous version of Sling you will need to manually upgrade the repository. See the <a href="http://jackrabbit.apache.org/oak/docs/migration.html">Oak documentation on Repository migration</a> for more details.</p>
<h2><a href="#the-sling-explorer-is-replaced-with-composum" id="the-sling-explorer-is-replaced-with-composum">The Sling Explorer is replaced with Composum</a></h2>
<p>The Sling Launchpad ships with a new repository explorer and administration tool - <a href="https://github.com/ist-dresden/composum">Composum</a>. Composum is more reliable and featureful compared to the previous Sling explorer.</p>
<h2><a href="#the-slingshot-sample-is-included" id="the-slingshot-sample-is-included">The Slingshot sample is included</a></h2>
<p>The default Sling configuration now includes the Slingshot sample. Slingshot exemplifies how to build and deploy a Sling application.</p>
<h2><a href="#new-resource-provider-and-observation-api" id="new-resource-provider-and-observation-api">New Resource Provider and Observation API</a></h2>
<p>The Resource Provider API has been replaced with a new implementation, which is more performant and better suited for future evolution. Existing ResourceProvider will be able to work using a backwards-compatible layer, but developers are nonetheless encouraged to move to the new implementation.</p>
<p>In the same manner, the Observation API has been refreshed.</p>
<h2><a href="#new-modules-added-validation-context-aware-configuration-repository-initialization-language" id="new-modules-added-validation-context-aware-configuration-repository-initialization-language">New modules added: Validation, Context-Aware Configuration, Repository Initialization Language</a></h2>
<p>A number of new general-purpose modules have been added to the Sling Launchpad:</p>
<ul>
<li><a href="/documentation/bundles/validation.html">Validation</a></li>
<li><a href="/documentation/bundles/context-aware-configuration/context-aware-configuration.html">Context-Aware configuration</a></li>
<li><a href="/documentation/bundles/repository-initialization.html">Repository Initialization Language</a></li>
</ul>
<h2><a href="#tooling-htl-maven-plugin" id="tooling-htl-maven-plugin">Tooling: HTL Maven Plugin</a></h2>
<p>The <a href="http://sling.apache.org/components/htl-maven-plugin/">HTL Maven Plugin</a> provides build-time validation for projects using HTL. Furthermore, the HTL engine has been modularised into an HTL Compiler, an HTL Java Compiler and an HTL Script Engine, with the first two allowing to build other HTL tools in a Sling-independent way.</p>
<h2><a href="#streaming-upload-support" id="streaming-upload-support">Streaming Upload Support</a></h2>
<p>The version of the Sling Engine shipped in the Launchpad now supports streaming uploads, for better I/O throughput. Streaming uploads are opt-in via setting the following HTTP Header:</p>
<pre><code>Sling-UploadMode: stream
</code></pre>
<h2><a href="#discovery-added-oak-based-discovery-implementation" id="discovery-added-oak-based-discovery-implementation">Discovery: added Oak-based discovery implementation</a></h2>
<p>The Sling discovery mechanism has been augmented with a mechanism which delegates instance discovery to Oak. When working with a DocumentNodeStore-based Oak implementation, this information is already available to Oak so there is no point in duplicating the work.</p>
<h2><a href="#security-loginadministrative-deprecation" id="security-loginadministrative-deprecation">Security: loginAdministrative deprecation</a></h2>
<p>We believe that the vast majority of bundles performing background work do not require administrative access to the repository via <code>loginAdministrative</code>. We have removed many usages of <code>loginAdministrative</code> in the Sling code and replaced then with a service-based approach - <code>loginService</code>. We encourage you to do the same.</p>
<p>Documentation available at <a href="/documentation/the-sling-engine/service-authentication.html">Service Authentication</a>.</p>
<h2><a href="#removed-orgapacheslingcommonsjson-and-orgjson-bundles" id="removed-orgapacheslingcommonsjson-and-orgjson-bundles">Removed org.apache.sling.commons.json and org.json bundles</a></h2>
<p>Apache projects are no longer allowed, for legal reasons, to ship code which uses or links to the JSON.org Java implementation. As a consequence we have removed all code which references that API.</p>
<p>If you need to use these bundles, you can always retrieve then from Maven Central and incorporate them in your launchpad.</p>
</section></div></div><div data-pagefind-body="true" data-pagefind-weight="7.0" style="display:none;"> - ( Apache Sling Launchpad 9 released )</div>
</div>
</div>
</div>
</div><footer class="footer">
<div class="content has-text-centered is-small">
<div class="editpagelink">
This page can be edited on GitHub at <a href="https://github.com/apache/sling-site/edit/master/src/main/jbake/content/news/sling-launchpad-9-released.md">
content/news/sling-launchpad-9-released.md
</a>
</div> <div class="revisionInfo">
Last modified by <span class="author">Bertrand Delacretaz</span> on <span class="comment">2017-09-29</span>
</div><p>
Apache Sling, Sling, Apache, the Apache feather logo, and the Apache Sling project
logo are trademarks of The Apache Software Foundation. All other marks mentioned
may be trademarks or registered trademarks of their respective owners.
</p><p>
Copyright © 2007-2024<a href="https://www.apache.org/">
The Apache Software Foundation
</a>|<a href="https://privacy.apache.org/policies/privacy-policy-public.html">
Privacy Policy
</a>
</p>
</div>
</footer>
</div>
</body>
</html>