Version 24.1 by Marius Dumitru Florea on 2015/12/16

Hide last authors
Thomas Mortagne 1.1 1 {{box cssClass="floatinginfobox" title="**Contents**"}}
2 {{toc/}}
3 {{/box}}
4
5 This is the release notes for [[XWiki Commons>>http://commons.xwiki.org]], [[XWiki Rendering>>http://rendering.xwiki.org]], [[XWiki Platform>>http://platform.xwiki.org]] and [[XWiki Enterprise>>http://enterprise.xwiki.org]]. They share the same release notes as they are released together and have the same version.
6
Thomas Mortagne 11.1 7 This is our last stabilization branch for the XWiki 7.x Cycle. It brings polishing and stabilization for the Nested Pages feature and the changes in UI that resulted from it. It also introduce a new API to indicate how long a cache entry to stay in the cache (since it was inserted in the cache).
Thomas Mortagne 1.1 8
9 = New and Noteworthy (since XWiki 7.4 Milestone 1) =
10
11 [[Full list of issues fixed and Dashboard for 7.4>>http://jira.xwiki.org/secure/Dashboard.jspa?selectPageId=13590]].
12
Eduard Moraru 19.2 13 == Support for template hierarchies ==
14
15 When creating a new document from template, if the template has descendent documents under its path, those documents will also be copied over to the new document's location, preserving the hierarchy, as it was under the template document.
16
17 The save operation will display progress and if it was a Save&View operation, the form will be disabled until the operation is complete.
18
Eduard Moraru 19.3 19 More details on the [[documentation page on document templates>>extensions:Extension.Administration Application||anchor="HUsingahierarchyofNestedDocumentsastemplate"]].
Eduard Moraru 19.2 20
Marius Dumitru Florea 20.1 21 {{image reference="savingNewDocumentWithTemplateHierarchy.png" width="50%"/}}
Eduard Moraru 19.3 22
Marius Dumitru Florea 23.1 23 == Database Search ==
24
Marius Dumitru Florea 23.2 25 The [[Database Search>>extensions:Extension.Search Application||anchor="HDatabaseSearch"]] UI has been modified to support nested pages.
Marius Dumitru Florea 23.1 26
27 {{image reference="databaseSearch.png"/}}
28
Thomas Mortagne 1.1 29 == Miscellaneous ==
30
Guillaume Delhumeau 9.1 31 * The "annotations" button in the "More Actions" menu has been moved in the same menu but with other actions and renamed "Annotate".(((
32 {{image reference="Annotate.png"/}}
33 )))
Marius Dumitru Florea 21.2 34 * The Create Page UI allows you to view and change the location of the new page (that is going to be created) even when you [[open directly the URL of a new page>>platform:Features.DocumentLifecycle||anchor="HByenteringdirectlytheURLofthenewpage"]].
Thomas Mortagne 1.1 35
Guillaume Delhumeau 14.1 36 See the [[full list of JIRA issues>>http://jira.xwiki.org/sr/jira.issueviews:searchrequest-printable/temp/SearchRequest.html?jqlQuery=project+in+%28XCOMMONS%2C+XRENDERING%2C+XWIKI%2C+XE%29+and+status+%3D+Closed+and+resolution+%3D+Fixed+and+fixVersion+%3D+%227.4-milestone-2%22&tempMax=1000]] fixed in this release.
Thomas Mortagne 1.1 37
38 = For Developers =
39
Thomas Mortagne 6.1 40 == New lifespan LRU Cache setup ==
Thomas Mortagne 1.1 41
Thomas Mortagne 6.1 42 It's now possible to define the maximum time to live since the entry is put in the cache. It used to be possible to set it only since the last time the value was used.
Thomas Mortagne 1.1 43
Thomas Mortagne 6.1 44 {{code language="java"}}
45 // Configure cache eviction policy
46 LRUEvictionConfiguration lru = new LRUEvictionConfiguration();
47 // Set maximum size of the cache as 1000 entries
48 lru.setMaxEntries(1000);
49 // Set the maximum time to live since when the entry is used to 1 hour
50 lru.setMaxIdle(3600)
51 // Set the maximum time to live since when the entry is put in the cache to 1 hour
52 lru.setLifespan(3600)
53 {{/code}}
54
Thomas Mortagne 7.1 55 [[Cache Macro>>extensions:Extension.Cache Macro]] and [[Rendering Cache>>platform:AdminGuide.Performances||anchor="HRenderingcache"]] are now based on this behavior.
56
Vincent Massol 19.4 57 == VFS API ==
Thomas Mortagne 1.1 58
Vincent Massol 19.4 59 {{warning}}
60 Right now the [[VFS API works as Guest only>>http://jira.xwiki.org/browse/XWIKI-12912]], meaning that you'll only be able to access archives that are viewable by Guest users in your wiki.
61 {{/warning}}
Thomas Mortagne 1.1 62
Vincent Massol 16.1 63 Replacement of the [[Zip Explorer Plugin>>extensions:Extension.ZIP Explorer Plugin]]. API to access the content of archives files (zip, jar, gzip, tar, etc) located as attachments in wiki pages or elsewhere (external URLs, file system, et).
Vincent Massol 15.1 64
Vincent Massol 16.1 65 In addition a new [[Velocity Tool>>extensions:Extension.Velocity Module||anchor="HVelocityTools"]] was added in order to be able to use a portion of the NIO2 API from Velocity: ##niotool##.
Vincent Massol 15.1 66
Vincent Massol 18.1 67 See [[VFS API>>extensions:Extension.VFS API]] and [[VFS Tree Macro>>extensions:Extension.VFS Tree Macro]] for more details. Some API examples:
Vincent Massol 16.1 68
Vincent Massol 15.1 69 {{code language="velocity"}}
70 {{velocity}}
71 ## Get the URL to access the content of a file inside a zip:
72 [[link to file in zip>>$services.vfs.url("attach:Sandbox.WebHome@vma.txt.zip/vma.txt")]]
73
74 ## Display inline an image from a zip attached to a wiki page:
75 [[image:path:$services.vfs.url("attach:Sandbox.WebHome@test.zip/test.png")]]
76
77 ## Read the content of a file inside a zip attached to a page:
78 $stringtool.toString($niotool.readAllBytes("attach:Sandbox.WebHome@vma.txt.zip/vma.txt"), "utf-8")
79
80 ## List all entries inside a zip attached to a page:
81 #set ($dirStream = $niotool.newDirectoryStream("attach:Sandbox.WebHome@vma.txt.zip/"))
82 #foreach ($entry in $dirStream)
83 * {{{$entry}}} - $niotool.isDirectory($entry)
84 #end
85 {{/velocity}}
86
87 {{vfsTree root="attach:Sandbox.WebHome@vma.txt.zip/"/}}
88 {{/code}}
89
Vincent Massol 18.1 90 Example of using the ##vfsTree## Macro:
91
92 {{code language="none"}}
93 {{vfsTree root="attach:Sandbox.WebHome@vma.txt.zip/"/}}
94 {{/code}}
95
96 Results in:
97
98 {{image reference="vfstree.png"/}}
99
Thomas Mortagne 1.1 100 == Miscellaneous ==
101
Vincent Massol 4.2 102 * [[WebJars URL format>>extensions:Extension.WebJars Integration||anchor="HURLFormat"]] now supports a ##wiki## query string parameter to specify the wiki in which the webjars resource is available. For example: {{code language="none"}}/xwiki/webjars/AjaxQ/0.0.2/ajaxq.js?wiki=mywiki{{/code}}
Marius Dumitru Florea 20.2 103 * The default link behaviour can be disabled for a tree node, when you use the [[Tree Widget>>extensions:Extension.Tree Widget]], by using the 'jstree-no-link' CSS class on the node anchor, which can be set from the node JSON:(((
Marius Dumitru Florea 20.1 104 {{code language="none"}}
105 {
106 ... (node JSON) ...
107 'a_attr': {
108 'class': 'jstree-no-link',
109 'href': 'some/url'
110 }
111 }
112 {{/code}}
113 )))
Marius Dumitru Florea 24.1 114 * The ##$regextool## [[Velocity Tool>>extensions:Extension.Velocity Module||anchor="HVelocityTools"]] has a new method:(((
115 {{code language="java"}}
116 /**
117 * @param content the content to parse
118 * @param regex the regular expression to look for in the passed content
119 * @return an empty list if the passed regular expression doesn't match the content, several {@link RegexResult}
120 * objects containing the matched position and matched content for all capturing groups and sub-groups
121 * otherwise
122 */
123 public List<List<RegexResult>> findAll(String content, String regex)
124 {{/code}}
Thomas Mortagne 1.1 125
Marius Dumitru Florea 24.1 126 We had to add a new method because the existing ##RegexTool#find(String, String)## returns information about only the first capturing group. Here's a test to show how the new method works:
127
128 {{code language="java"}}
129 @Test
130 public void findAll()
131 {
132 RegexTool tool = new RegexTool();
133 List<List<RegexResult>> result =
134 tool.findAll("one :two three (:four) five :six seven=:eight", ":(\\w+) (\\w+)");
135
136 Assert.assertEquals(2, result.size());
137 Assert.assertEquals(":two three", result.get(0).get(0).getGroup());
138 Assert.assertEquals(":six seven", result.get(1).get(0).getGroup());
139
140 Assert.assertEquals(3, result.get(0).size());
141 Assert.assertEquals("two", result.get(0).get(1).getGroup());
142 Assert.assertEquals("three", result.get(0).get(2).getGroup());
143
144 Assert.assertEquals(3, result.get(1).size());
145 Assert.assertEquals("six", result.get(1).get(1).getGroup());
146 Assert.assertEquals("seven", result.get(1).get(2).getGroup());
147 }
148 {{/code}}
149 )))
150
Vincent Massol 19.4 151 == Deprecated and Retired projects ==
152
153 * XML-RPC module have been moved to https://github.com/xwiki-contrib/xwiki-platform-xmlrpc
154
155 == Upgrades ==
156
157 The following dependencies have been upgraded:
158
159 * [[Batik 1.8>>http://jira.xwiki.org/browse/XWIKI-12904]]
160 * [[FOP 2.0>>http://jira.xwiki.org/browse/XWIKI-12871]]
161 * [[Jackson 2.6.4>>http://jira.xwiki.org/browse/XCOMMONS-893]]
162 * [[guava 19>>http://jira.xwiki.org/browse/XCOMMONS-894]]
163 * [[Less4j 1.15.4>>http://jira.xwiki.org/browse/XWIKI-12905]]
164
Thomas Mortagne 1.1 165 = Translations =
166
167 The following translations have been updated:
168
Thomas Mortagne 12.1 169 {{language codes="de, fr, zh"/}}
Thomas Mortagne 1.1 170
171 = Tested Browsers & Databases =
172
173 {{warning}}
174 The QA Tests are executed after the release has been done. Thus, they are being prepared now and will be published soon.
175 {{/warning}}
176
177 {{comment}}
178 TODO: uncomment and update with proper link when the report is ready.
179 {{include reference="TestReports.ManualTestReportTemplateSummary"/}}
180 {{/comment}}
181
182 = Known issues =
183
184 * [[Bugs we know about>>http://jira.xwiki.org/secure/IssueNavigator.jspa?reset=true&jqlQuery=category+%3D+%22Top+Level+Projects%22+AND+issuetype+%3D+Bug+AND+resolution+%3D+Unresolved+ORDER+BY+updated+DESC]]
185
186 = Backward Compatibility and Migration Notes =
187
188 == General Notes ==
189
190 When upgrading make sure you compare your ##xwiki.cfg##, ##xwiki.properties## and ##web.xml## files with the newest version since some configuration parameters may have been modified or added. Note that you should add ##xwiki.store.migration=1## so that XWiki will attempt to automatically migrate your current database to the new schema. Make sure you backup your Database before doing anything.
191
192 == API Breakages ==
193
194 The following APIs were modified since <project> <version - 1>:
195
196 {{code language="none"}}
197 <clirr output here>
198 {{/code}}

Get Connected