Show last authors
1 {{box cssClass="floatinginfobox" title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
5 This is the release notes for [[XWiki Commons>>]], [[XWiki Rendering>>]], [[XWiki Platform>>]] and [[XWiki Enterprise>>]]. They share the same release notes as they are released together and have the same version.
7 <insert description of release here>
9 = New and Noteworthy (since XWiki 7.0) =
11 [[Full list of issues fixed and Dashboard for 7.1>>]].
13 == Extension Diff View Summary ==
15 Since [[XWiki 7.0RC1>>ReleaseNotes.ReleaseNotesXWiki70RC1||anchor="HExtensionDiffView"]] you can view the local changes that have been made to the wiki pages of an installed extension. In this release we have improved the diff view by adding a summary that will help you navigate the changes.
17 {{image reference="extensionDiffViewSummary.png"/}}
19 See the [[Extension Manager Application>>extensions:Extension.Extension Manager Application||anchor="HChanges"]] for more details.
21 == Responsive Search UI ==
23 We worked on making the search UI responsive on small screens. On mobile phones the list of search facets is now collapsed above the search results and the user can toggle it with a tap. We improved the way the search results of type Object and Object Property are displayed (check the result title and location / breadcrumb). We switched to using the icon themes for the search result icons and we also fixed some small spacing and alignment issues introduced by the migration from the old Colibri skin to the new Flamingo skin. Last but not least, we worked on refreshing the search UI without reloading the entire page when the user sorts the search results, uses the pagination or drills down the results using the search facets.
25 {{image reference="searchPageMobile.png"/}}
27 See the [[Solr Search Application>>extensions:Extension.Solr Search Application]] documentation for more details.
29 == Miscellaneous ==
31 * The Script Macro has been improved to [[return any type of value even no binding is used to output content>>extensions:Extension.Script Macro||anchor="HReturn"]].
32 * The default Java version triggered as dependency for the Debian packages is not Java 8
33 * In the [[extensions:Extension.Administration Application]], when you change the space you are administrating, you don't lose the current section anymore (if the current section exists in that space).(((
34 {{image reference="administration-change-space.png" width="50%"/}}
35 )))
36 * In edit mode, Password fields do not display the obfuscation placholder () anymore when the password value is empty. For example this removes the confusion when editing the Mail Admin UI and users were thinking that the SMTP Server password was set.
37 * Not existing document won't end up in the document cache anymore. That mean request lots of not existing document won't ditch "real" documents from the cache anymore.
38 * The WatchList application now uses the new Mail API instead of the old and deprecated Mail Plugin.
39 * The WatchList Realtime notification option has been reworked and the previous performance penalty has been removed.
40 * In [[extensions:Extension.App Within Minutes Application]], the newly created applications don't have 'App Within Minutes' as parent, but the home page of the current wiki and their home page title doesn't contain the word 'Home' any more.
41 * A new option was added to Watch a page that was just shared by mail directly from the email's body.(((
42 {{image reference="share-footer-actions-watch.png"/}}
43 )))
45 See the [[full list of JIRA issues>>]] fixed in this release.
47 = For Developers =
49 == Trigger Prototype Event Listeners from jQuery ==
51 The event listeners registered from Prototype are now notified when a custom XWiki event is fired using the jQuery API.
53 {{code language="js"}}
54 // Prototype (old code that you don't have time to rewrite)
55 document.observe('xwiki:dom:updated', function(event) {
56 event.memo.elements.each(function(element) {
57 // Do something.
58 });
59 });
60 ...
61 // jQuery (new code, in a different file/page)
62 require(['jquery', 'xwiki-events-bridge'], function($) {
63 $(document).trigger('xwiki:dom:updated', {'elements': $('.some-container').toArray()});
64 });
65 {{/code}}
67 See the [[developer's guide>>platform:DevGuide.JavaScriptAPI||anchor="HBridgingcustomXWikieventsbetweenPrototypeandjQuery"]] for more details.
69 == Integration tests for JavaScript with Jasmine + RequireJS + WebJars ==
71 Using Jasmine, we have written a few integration tests for JavaScript code that uses AMD (RequireJS) and that has dependencies packaged as Webjars. We found out that the Jasmine Maven Plugin has support for both [[AMD>>]] and [[WebJars>>]]. You can check out this [[commit>>]] to see how we configured the plugin in case you want to write similar tests for your extension or module.
73 == Miscellaneous ==
75 * The XAR plugin's ##verify## mojo has been [[improved to allow passing a list of regexes to identify content and technical pages>>dev:Community.XARPlugin]]. For example:(((
76 {{code language="xml"}}
77 <plugin>
78 <groupId>org.xwiki.commons</groupId>
79 <artifactId>xwiki-commons-tool-xar-plugin</artifactId>
80 ...
81 <configuration>
82 ...
83 <!-- Consider all pages named *Translations as content pages by default -->
84 <contentPages>
85 <contentPage>.*Translations\.xml</contentPage>
86 </contentPages>
87 <!-- The EditTranslations page is not a Translation page and thus not a content page! -->
88 <technicalPages>
89 <technicalPage>EditTranslations\.xml</technicalPage>
90 </technicalPages>
91 </configuration>
92 </plugin>
93 {{/code}}
94 )))
95 * New ##$services.rendering.escape($content, $syntax)## method to escape XWiki syntax. See [[the documentation>>extensions:Extension.Rendering Module||anchor="HRenderingScriptService"]].
96 * The HTML5 renderer is now bundled in XWiki Enterprise.
97 * Added a new ##objectPolicy=updateOrCreate## parameter to the save action that allows editing and creating objects in one request. For more details, see [[the documentation>>platform:DevGuide.Standard URL Format||anchor="HParameter:objectPolicy"]].
98 * It is now possible to select the output syntax of a skin, in order to use the correct renderer.
99 * Ability to [[register a custom Resource Type>>extensions:Extension.Resource API||anchor="HAddinganewResourceTypeHandler"]].
100 * The WebJar integration now registers a ##webjar## URL type using a [[Resource Handler>>extensions:Extension.Resource API]] (it was reusing the ##bin## URL type before). The new WebJAR URL format is:(((
101 {{code language="none"}}
102 http://<server>/<context path>/webjars/<path/to/resource>[?version=<version>&evaluate=true|false]
103 {{/code}}
105 Note that you should use the [[exposed Script Service method to compute a WebJAR URL>>extensions:Extension.WebJars Integration]].
106 )))
107 * The mime type of uploaded attachment is now automatically stored in the database and won't be recalculated each time it's asked. Also a new API has been introduced in ##com.xpn.xwiki.doc.XWikiAttachment## to change it if needed.
108 * The ConfigurableClass mechanism now supports adding field hints / descriptions. See the [[documentation>>extensions:Extension.Administration Application||anchor="HFieldsyoucandefine"]].
109 * The ##xwiki-platform-legacy-crypto-script## legacy module has been removed as it was conflicting with the Bouncy Castle 1.52 upgrade and we considered that there was little chance that this module was used anywhere in any extension. If by chance (so to speak) you were using it, you'd need to use the newer ##xwiki-platform-crypto-script## module and rebuild your extension with it.
110 * Added advanced search support to ##org.xwiki.extension.repository.ExtensionRepositoryManager##
111 * The Velocity macros from the ##Main.SolrSearch## page have been moved to a separate page, ##Main.SolrSearchMacros##, which should ease the creation of a custom search page (e.g. if you want reuse some macros and to overwrite others).
112 * Added callable support to JobProgressManager. See [[extensions:Extension.Job Module||anchor="HNotifyaboutprogress"]].
114 == Upgrades ==
116 The following dependencies have been upgraded:
118 * [[httpclient and httpcore 4.4.1>>]]
119 * [[Groovy 2.4.3>>]]
120 * [[logback 1.1.3>>]]
121 * [[cssparser 0.9.15>>]]
122 * [[JGroups 3.6.3>>]]
123 * [[slf4j 1.7.12>>]]
124 * [[Quartz 2.2.1>>]]
125 * [[commons-lang3 3.4>>]]
126 * [[Maven 3.3.3>>]]
127 * [[Bouncy Castle 1.52>>]]
128 * [[Tika 1.8>>]]
129 * [[Infinispan 7.1.1>>]]
130 * [[Jython 2.7.0>>]]
131 * [[Lucene and Solr 4.10.4>>]]
132 * [[sisu-guice 3.2.6>>]]
133 * [[org.eclipse.sisu.plexus to 0.3.1>>]]
135 = Translations =
137 The following translations have been updated:
139 {{language codes="none, none"/}}
141 = Tested Browsers & Databases =
143 {{include reference="TestReports.ManualTestReportSummaryXWiki71M1"/}}
145 = Known issues =
147 * [[Bugs we know about>>]]
149 = Backward Compatibility and Migration Notes =
151 == General Notes ==
153 When upgrading make sure you compare your ##xwiki.cfg##, and ##web.xml## files with the newest version since some configuration parameters may have been modified or added. Note that you should add so that XWiki will attempt to automatically migrate your current database to the new schema. Make sure you backup your Database before doing anything.
155 == Loading JavaScript from WebJars with RequireJS ==
157 [[WebJars integration>>extensions:Extension.WebJars Integration]], available since 6.0M1, allows us to use JavaScript code that has been packaged as JAR and which has been included in the XWiki WAR or installed as an extension. Until this version the URL used to access a resource from a WebJar was looking like this:
159 {{code language="none"}}
160 /xwiki/bin/webjars/resources/path?value=angularjs/1.2.11/angular.js
161 {{/code}}
163 The file path was specified in the query string. As a consequence, if you wanted to load a JavaScript file from a WebJar using RequireJS you would have written:
165 {{code language="js"}}
166 require(["$services.webjars.url('angularjs', 'angular.js')"], function() {
167 ...
168 });
169 {{/code}}
171 Note that the **'.js'** extension had to be included because RequireJS doesn't add it automatically if the URL has a query string. Starting with this version, the WebJar URLs look like this:
173 {{code language="none"}}
174 http://<server>/<context path>/webjars/<path/to/resource>[?version=<version>&evaluate=true|false]
175 {{/code}}
177 Note that the resource path is not included in the query string any more. This means you need to update the "require" calls:
179 {{code language="js"}}
180 require(["$services.webjars.url('angularjs', 'angular')"], function() {
181 ...
182 });
183 {{/code}}
185 Otherwise RequireJS will attempt to load "angular.js.js". **BUT** note that even with the new URL format there are still cases when the WebJar URLs have a query string: e.g. when the resource must be evaluated. In this case you need to keep the ".js" extension:
187 {{code language="js"}}
188 require(["$!services.webjars.url('org.xwiki.platform:xwiki-platform-tree-webjar',
189 'require-config.min.js', {'evaluate': true})"], function() {
190 ...
191 });
192 {{/code}}
194 == API Breakages ==
196 The following APIs were modified since XWiki 7.0.1:
198 {{code language="none"}}
199 <clirr output here>
200 {{/code}}

Get Connected