Last modified by Thomas Mortagne on 2017/03/24

<
From version < 16.3 >
edited by Manuel Smeria
on 2014/07/07
To version < 16.5 >
edited by Thomas Mortagne
on 2014/07/07
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.ManuelSmeria
1 +XWiki.ThomasMortagne
Content
... ... @@ -4,14 +4,41 @@
4 4  
5 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 6  
7 -<insert description of release here>
7 +[[Full list of issues fixed and Dashboard for 6.1>>http://jira.xwiki.org/secure/Dashboard.jspa?selectPageId=12290]].
8 8  
9 -= New and Noteworthy (since XWiki <version - 1>) =
9 += New and Noteworthy (since XWiki 6.0.1) =
10 10  
11 11  [[Full list of issues fixed and Dashboard for 6.1>>http://jira.xwiki.org/secure/Dashboard.jspa?selectPageId=12290]].
12 12  
13 -== Flamingo Skin ==
13 +== Improved Active Installs ==
14 14  
15 +The [[Active Installs feature>>extensions:Extension.Active Installs Server Application]] has been improved a lot and a new data format has been set up in order to be able to provide more information, namely:
16 +
17 +* Graphing of Active Installs counter over time
18 +* Display pie charts of XWiki versions, Java versions, Servlet Containers and Databases used for Active Installs
19 +
20 +{{image reference="ReleaseNotesXWiki61M1@as-dashboard" width="650px"/}}
21 +
22 +In addition it's now registered in the Applications Panel:
23 +
24 +{{image reference="[email protected]"/}}
25 +
26 +== Improved Panels ==
27 +
28 +* It is now possible to change the width of the panel columns:
29 +
30 +{{image reference="[email protected]" width="65%"/}}
31 +
32 +* Inside a panel, you can know the current width with the ##$xwikiPanelWidth## variable.
33 +
34 +== Flamingo Skin improvements ==
35 +
36 +* Flamingo skin CSS is now computed at the runtime, using the [[LESS Module>>extensions:Extension.LESS Module]].
37 +* Thanks to this, we have introduced a compatibility between this skin and the old color themes:
38 +[[[[image:flamingo-default.png||width="32%"]]>>attach:flamingo-default.png]] [[[[image:flamingo-dusk.png||width="32%"]]>>attach:flamingo-dusk.png]] [[[[image:flamingo-mint.png||width="32%"]]>>attach:flamingo-mint.png]] [[[[image:flamingo-ruby.png||width="32%"]]>>attach:flamingo-ruby.png]] [[[[image:flamingo-nocolortheme.png||width="32%"]]>>attach:flamingo-nocolortheme.png]]
39 +* Flamingo has a simplified Add menu
40 +[[[[image:flamingo-menu.png]]>>attach:flamingo-menu.png]]
41 +* A lot of fixes and polishing have been made too (changes to the layout, panels, menus).
15 15  * The Annotations enabler is now located in the "More Actions" menu:(((
16 16  {{image reference="flamingo-annotations.png"/}}
17 17  )))
... ... @@ -28,42 +28,203 @@
28 28  {{image reference="annotations-phone.png"/}}
29 29  )))
30 30  * And a lot of polishing have been made too.
58 +* The preview action has been implemented:(((
59 +{{image reference="[email protected]" width="60%"/}}
60 +)))
61 +* The user's avatar is now displayed in the main menu:(((
62 +{{image reference="[email protected]" width="60%"/}}
63 +)))
64 +* 'Share by email' menu entry is moved from 'Page' submenu to 'More actions' submenu:(((
65 +{{image reference="[email protected]"/}}
66 +)))
67 +* Buttons have now gradients:(((
68 +{{image reference="[email protected]"/}}
69 +)))
70 +* Annotations are back!(((
71 +{{image reference="[email protected]" width="60%"/}}
72 +)))
73 +* A lot of polishing have been made too, in order to have a skin usable in production.
31 31  
75 +== Applications Panel ==
76 +
77 +The applications panel has been modified to adapt itself to the panel column width. The design is different when the size is small, to look closer to a "dock" bar:
78 +[[[[image:appbar.png||width="32%"]]>>attach:appbar.png]] (on this screenshot you can see the small version on the left, and the normal version on the right).
79 +
80 +== Extension Manager improvements ==
81 +
82 +Extension-related jobs (install, uninstall, install plan calculation, etc.) which are not executing on the same namespace can now be run concurrently. You won't be stuck anymore, trying to install an extension when someone else is doing the same thing somewhere else on a farm.
83 +
32 32  == Miscellaneous ==
33 33  
34 -<insert misc user stuff and important bug fix descriptions here in a list, when they are too small to warrant a section by themselves - Change the version in the URL below!>
86 +* The [[user directory>>extensions:Extension.User Directory Application]] is now displaying the user id (alias) instead of the full user document reference which is too technical:(((
87 +{{image reference="[email protected]" width="400px"/}}
88 +)))
89 +* Added [[ability to configure Pie Chart labels>>extensions:Extension.Chart Macro]] using the ##pie_label_format## property. For example using ##pie_label_format:{0} - {2}## would give:(((
90 +{{image reference="[email protected]"/}}
91 +)))
92 +* XWiki now support resolving a Maven extension with a parent from a different Maven repository
93 +* More HTTP cache settings, configurable using ##xwiki.httpheaders.cache## in ##xwiki.cfg## or ##headers_nocache## in ##XWiki.XWikiPreferences##:
94 +** ##0##: **no Cache-Control header** sent, use the browser's defaults. RFC 2616 only specifies optional behavior in this case
95 +** ##1## (default): **no-cache**; caches must not serve this response in a subsequent response, but the page is stored for the bf-cache
96 +** ##2##: **no-store, no-cache and max-age=0**; the response will never be reused, not even for bf-cache; note that unsaved changes may be lost
97 +** ##3##: **private**; the response will be cached by personal caches, such as a browser cache
98 +** ##4##: **public**; the response may be cached by both personal and shared caches
99 +* To ensure the compatibility with Internet Explorer 8, the Flamingo skin uses [[Respond.js>>https://github.com/scottjehl/Respond]] and [[HTML5Shiv>>https://github.com/aFarkas/html5shiv/]]. It enables CSS3 media queries and HTML5 tags.
100 +* "Human" requests like ##view## or ##edit## are not waiting XWiki initialization forever and display a waiting page with initialization progress instead: {{image reference="[email protected]"/}}
101 +* [[extensions:Extension.SpaceIndex Macro]] has now a new parameter to sort the document by creation date, modification date, or by name.
102 +* User Profile page display email hyperlink (if the email is not obfuscated) on view and preview mode.
103 +* The SOLR index synchronization which is automatically run at XWiki startup can now be disabled using ##solr.synchronizeAtStartup## property in ##xwiki.properties## file
35 35  
36 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+%22<version>%22&tempMax=1000]] fixed in this release.
37 37  
38 38  = For Developers =
39 39  
40 -== <developer feature N> ==
109 +== LESS integration ==
41 41  
42 -<description of developer feature N>
111 +* We are happy to propose the ability of using the [[LESS preprocessor>>http://lesscss.org/]] directly in XWiki. Right now, it is only able to compile some files located in the skin directory in the WAR. See [[extensions:Extension.LESS Module]].
43 43  
44 -== Deprecated and Retired projects ==
113 +* The [[LESS Module>>extensions:Extension.LESS Module]] is now bundled with XWiki Enterprise.
114 +* Some progress have been made on the DefaultLESSSkinFileCache. The cache is now cleared when a skin or a color theme is changed, but only on the concerned wiki.
115 +* The LESS Compiler now compress the generated CSS.
116 +* A new component has been added to compute a Color Theme compatible with [[extensions:Extension.Color Theme Application]] from a LESS file.
45 45  
46 -<description of deprecated and retired projects>
118 +== New Mail module (Experimental) ==
47 47  
120 +Allows to send mails in Java and from wiki pages.
121 +
122 +See [[Mail Sender API>>extensions:Extension.Action API]] for all details.
123 +
124 +Example to send an email from a wiki page:
125 +
126 +{{code language="none"}}
127 +{{velocity}}
128 +#set ($message = $services.mailsender.createMessage("[email protected]", "[email protected]", "subject"))
129 +#set ($discard = $message.addPart("text/plain", "text content"))
130 +#set ($discard = $message.send())
131 +#set ($discard = $message.waitTillSent(10000))
132 +#foreach ($error in $message.getErrors())
133 +* $error.message
134 +#end
135 +{{/velocity}}
136 +{{/code}}
137 +
138 +== Job module improvements ==
139 +
140 +A new ##org.xwiki.job.JobExecutor## component has been introduce to replace ##org.xwiki.job.JobManager## (which is now deprecated). This component adds support for parallel execution of jobs and also support grouping jobs that need to be executed in the same thread.
141 +
142 +See [[extensions:Extension.Job Module]] for more details.
143 +
144 +== Log from a script ==
145 +
146 +A new API to get a SLF4J Logger has been added to the ##logging## script service.
147 +
148 +{{code language="velocity"}}
149 +$services.logging.getLogger('My script').info('Hello {}', 'world')
150 +{{/code}}
151 +
152 +== New contextual authorization manager role ==
153 +
154 +A new role is now available to ease the replacement of the old Right Service (com.xpn.xwiki.user.api.XWikiRightService).
155 +Compared to the old service, the component does not manage authentication which should have been ensured previously if needed. (No redirection to login is ever done)
156 +The new component has a similar interface to the AuthorizationManager, but it take care of all external context aspects, like the currently executed macro block, the rendering context restrictions, the dropping of rights, etc...
157 +This new role should be used from now on by any component that needs to check rights for the current user, in the current context.
158 +
159 +== New security authorization script service ==
160 +
161 +A new script service is now available to access the default AuthorizationManager and the ContextualAuthorizationManager.
162 +
163 +Here is some sample:
164 +
165 +{{code language="velocity"}}
166 +#if ($services.security.authorization.hasAccess("edit"))
167 +... show some UI that require edit access on the current document by the current user ...
168 +#end
169 +#if ($services.security.authorization.hasAccess("edit", "xwiki:Sandbox.TestPage1"))
170 +... show some UI that require edit access on Sandbox.TestPage1 document by the current user ...
171 +#end
172 +#if ($services.security.authorization.hasAccess("edit", "xwiki:XWiki.User1", "xwiki:Sandbox.TestPage1"))
173 +... show some UI that require edit access on Sandbox.TestPage1 document by XWiki.User1 ...
174 +#end
175 +{{/code}}
176 +
177 +{{code language="velocity"}}
178 +$services.security.authorization.checkAccess("edit")
179 +... do some task that require edit access ...
180 +{{/code}}
181 +
182 +In this second sample, the macro will fail with an AccessDeniedException if the right is not allowed.
183 +
184 +== Access to BlockMatchers from velocity scripts ==
185 +
186 +To be able to use the ##Block.getBlocks(BlockMatcher, Block.Axes)## method on the rendering blocks in the documents XDOM from velocity, a converter has been introduced that maps string expressions to BlockMatcher objects. The current implementation only supports mapping to ClassBlockMatchers, and allows to get all blocks of a given type from the XDOM.
187 +
188 +{{code language="velocity"}}
189 +#foreach($headerBlock in $doc.getDocument().getXDOM().getBlocks("class:HeaderBlock", "DESCENDANT"))
190 + ... do something with the header block ...
191 +{{/code}}
192 +
48 48  == Upgrades ==
49 49  
50 50  The following dependencies have been upgraded:
51 51  
52 -* <list libraries that have been upgraded>
197 +* [[Guava 17.0>>http://jira.xwiki.org/browse/XCOMMONS-570]]
198 +* [[Jackson 2.3.3>>http://jira.xwiki.org/browse/XCOMMONS-593]]
199 +* [[sisu guice 3.2.1>>http://jira.xwiki.org/browse/XCOMMONS-592]]
200 +* [[commons-compress 1.8.1>>http://jira.xwiki.org/browse/XCOMMONS-591]]
201 +* [[cssparser 0.9.14>>http://jira.xwiki.org/browse/XCOMMONS-590]]
202 +* [[commons-lang 3.3.2>>http://jira.xwiki.org/browse/XCOMMONS-589]]
203 +* [[JGroups 3.4.4>>http://jira.xwiki.org/browse/XWIKI-10354]]
204 +* [[Groovy 2.3.3>>http://jira.xwiki.org/browse/XCOMMONS-598]]
205 +* [[Apache Lucene and Solr 4.8.1>>http://jira.xwiki.org/browse/XWIKI-10357]]
206 +* [[commons-collections 4.0>>http://jira.xwiki.org/browse/XCOMMONS-605]]
207 +* [[httpclient 4.3.4>>http://jira.xwiki.org/browse/XCOMMONS-606]]
208 +* [[commons-beanutils 1.9.2>>http://jira.xwiki.org/browse/XCOMMONS-607]]
209 +* [[reflections 0.9.9-RC2>>http://jira.xwiki.org/browse/XCOMMONS-608]]
53 53  
54 54  == Miscellaneous ==
55 55  
213 +* [[XCOMMONS-582>>http://jira.xwiki.org/browse/XCOMMONS-582]]: ##$escapetool.json## should be used instead of ##$escapetool.javascript## for escaping manually constructed JSON; ##$jsontool.serialize## should be used for generating JSON, though, since it is safer.
214 +* Introduced job progress helper API, see [[Job Module>>doc:extensions:Extension.Job Module||anchor="HNotifyaboutprogress"]] for more details.
215 +* All component related API of ##com.xpn.xwiki.web.Utils## are now using the context ##ComponentManager## by default.
216 +* We added a new method to the component script service to access the component manager corresponding to a specific namespace:(((
217 +{{code language=""}}
218 +{{groovy}}
219 +def instanceForTestWiki = services.component.getComponentManager("wiki:test").getInstance(SomeRole.class)
220 +{{/groovy}}
221 +{{/code}}
222 +)))
56 56  * The [[Mail Sender API>>extensions:Extension.Mail Sender API]] now allows to send Mails from a Template with internationalization support by retrieving the ##XWiki.Mail## Object which has its ##language## property equals to a passed language. For example:(((
57 57  {{code language="none"}}
58 58  $message.addPart("xwiki/template", $documentReference, {"language" : "fr", "velocityVariables" : { "var1" : "value1" }})
59 59  {{/code}}
60 60  )))
228 +* xwiki.cfg file properties are now accessible through ##org.xwiki.configuration.ConfigurationSource## component with role hint ##xwikicfg##
229 +* Complete refactoring of the [[Resource module>>extensions:Extension.Resource API]]. Note that the Action module has been removed and folded into the new Resource module.
230 +* The ##getInstance## methods in the [[Component Script Service>>extensions:Extension.Component Module||anchor="HAccessfromScripts"]] are now public and return ##null## if the Component cannot be looked up. A ##getLastError()## method was also added to get the last exception.
231 +* New converter for ##java.lang.refect.Type## which allows converting from String to Type and opposite in Velocity and wiki macros parameters for example.
232 +* The wiki manager API always returns a descriptor for the main wiki, and if there is no descriptor document it returns a "virtual" one that can be saved. Basically it now means that if a wiki exists there is always a corresponding descriptor, even for the main wiki.
233 +* The "skin" parameter in the URL is now taken into account when generating the links to the skin CSS (see: [[XWIKI-10426>>http://jira.xwiki.org/browse/XWIKI-10426]]).
234 +* Filesystem Attachment Storage now allows you to disable cleaning of empty directories on startup since on a large installation this may take considerable time. (see: [[XWIKI-10431>>http://jira.xwiki.org/browse/XWIKI-10431]])
235 +* Start of implementation of the [[Resource Reference Serializer>>extensions:Extension.Resource API]] notion, still need more work.
236 +* The [[Mail Sender API>>extensions:Extension.Mail Sender API]] now allows to send Mails from a Template. This is achieved with 2 calls:
237 +** One for setting the Subject from the Template. The following will generate a ##MimeMessage## with the subject pre-filled. The value will be that of the ##subject## xproperty from an ##XWiki.Mail## xobject in the Document pointed to by the passed ##documentReference##:(((
238 +{{code language="none"}}
239 +#set ($message = $services.mailsender.createMessage("template", documentReference))
240 +#set ($message = $services.mailsender.createMessage("template", documentReference, parameters))
241 +{{/code}}
242 +)))
243 +** One for setting the Body Part content from the Template:(((
244 +{{code language="none"}}
245 +$message.addPart("xwiki/template", $documentReference, {"velocityVariables" : { "var1" : "value1" }})
246 +$message.addPart("xwiki/template", $documentReference, {"velocityVariables" : { "var1" : "value1" }, "attachments" : $attachments})
247 +{{/code}}
248 +)))
61 61  
62 62  = Translations =
63 63  
64 64  The following translations have been updated:
65 65  
66 -{{language codes="none, none"/}}
254 +{{language codes="da, de, fr"/}}
67 67  
68 68  = Tested Browsers & Databases =
69 69  
... ... @@ -79,14 +79,32 @@
79 79  
80 80  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.
81 81  
82 -== Issues specific to XWiki <version> ==
270 +== API Breakages ==
83 83  
84 -<issues specific to the project>
272 +The following APIs were modified since XWiki 6.0:
85 85  
86 -== API Breakages ==
274 +* Young APIs
87 87  
88 -The following APIs were modified since <project> <version - 1>:
276 +{{code language="none"}}
277 +org.xwiki.activeinstalls.server.DataManager: Method 'public com.google.gson.JsonObject countInstalls(java.lang.String, java.lang.String, java.util.Map)' has been added to an interface
278 +org.xwiki.activeinstalls.server.DataManager: Method 'public long getInstallCount(java.lang.String)' has been removed
279 +org.xwiki.activeinstalls.server.DataManager: Method 'public com.google.gson.JsonObject searchInstalls(java.lang.String, java.lang.String, java.util.Map)' has been added to an interface
280 +org.xwiki.activeinstalls.server.script.ActiveInstallsScriptService: Method 'public long getInstallCount(java.lang.String)' has been removed
281 +{{/code}}
89 89  
90 90  {{code language="none"}}
91 -<clirr output here>
284 +org.xwiki.crypto.store.CertificateStore: Class org.xwiki.crypto.store.CertificateStore removed
285 +org.xwiki.crypto.store.CertificateStoreException: Class org.xwiki.crypto.store.CertificateStoreException removed
286 +org.xwiki.crypto.store.KeyStore: Class org.xwiki.crypto.store.KeyStore removed
287 +org.xwiki.crypto.store.KeyStoreException: Class org.xwiki.crypto.store.KeyStoreException removed
92 92  {{/code}}
289 +
290 +* Not supposed to be public
291 +
292 +{{code language="none"}}
293 +com.xpn.xwiki.store.XWikiHibernateBaseStore: In method 'protected void createHibernateSequenceIfRequired(java.lang.String, org.hibernate.Session)' the number of arguments has changed
294 +com.xpn.xwiki.render.XWikiMacrosMappingRenderer: Removed org.xwiki.observation.EventListener from the set of implemented interfaces
295 +com.xpn.xwiki.render.XWikiMacrosMappingRenderer: Method 'public java.util.List getEvents()' has been removed
296 +com.xpn.xwiki.render.XWikiMacrosMappingRenderer: Method 'public java.lang.String getName()' has been removed
297 +com.xpn.xwiki.render.XWikiMacrosMappingRenderer: Method 'public void onEvent(org.xwiki.observation.event.Event, java.lang.Object, java.lang.Object)' has been removed
298 +{{/code}}

Get Connected