Wiki source code of Release Notes for XWiki Enterprise 4.0 Milestone 1
Version 2.1 by Thomas Mortagne on 2012/03/12
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | {{box cssClass="floatinginfobox" title="**Contents**"}} | ||
2 | {{toc/}} | ||
3 | {{/box}} | ||
4 | |||
5 | This is the first milestone of the XWiki Enterprise 4.0 version ([[Roadmap>>Main.Roadmap]]). This release brings reduced document database id collision and quite a few improvements and bug fixes. | ||
6 | |||
7 | = New and Noteworthy (since XWiki Enterprise 3.5 version) = | ||
8 | |||
9 | == Extension Manager improvements == | ||
10 | |||
11 | {{todo/}} | ||
12 | |||
13 | = For developers = | ||
14 | |||
15 | == Extension Manager moved to commons == | ||
16 | |||
17 | Everything not not specifically related to wiki is now part of xwiki-commons. That means that anyone can get all Extension Manager features (easy live JAR installation/uninstallation from remote repositories, dependency management, etc.) in any Java application. | ||
18 | |||
19 | == Classloader module moved to commons == | ||
20 | |||
21 | Mostly been moved as Extension Manager dependency but also useful on it own as a tool to dynamically add new URLs in a classloader at runtime. | ||
22 | |||
23 | == Component related improvements == | ||
24 | |||
25 | === Role moved from Class to Type == | ||
26 | |||
27 | In order to support parameterized role like DocumentReferenceResolver<String>, all the APIs of ComponentManager and Component descriptors has been changed to take Type instead of Class. All the old API are still here and working but deprecated. | ||
28 | |||
29 | === ComponentRole is deprecated === | ||
30 | |||
31 | You should now use @Role instead of @ComponentRole. The difference is that when using @Role the generic parameters will be taken into account as part of the role while with @ComponentRole the role stay the Class of the component role so be careful when you do this change, it might break everything if you don't want to take into account parameters (that's why a new annotation has been introduced instead of changing the behavior of ComponentRole). | ||
32 | |||
33 | === References resolver/serializer and Provider now support parameter type as part of the role === | ||
34 | |||
35 | This mean that declaring or injecting a such component no longer require any hint unless you want to provide/inject a variant for the same type. | ||
36 | |||
37 | Here are some example. Instead of: | ||
38 | |||
39 | {{code language="java"}} | ||
40 | @Inject | ||
41 | @Named("reference/default") | ||
42 | private DocumentReferenceResolver<EntityReference> resolver | ||
43 | |||
44 | @Inject | ||
45 | @Named("reference/current") | ||
46 | private DocumentReferenceResolver<EntityReference> resolver | ||
47 | |||
48 | @Inject | ||
49 | @Named("sometypeprovider") | ||
50 | private Provider<SomeType> resolver | ||
51 | {{/code}} | ||
52 | |||
53 | you will write | ||
54 | |||
55 | {{code language="java"}} | ||
56 | @Inject | ||
57 | private DocumentReferenceResolver<EntityReference> resolver | ||
58 | |||
59 | @Inject | ||
60 | @Named("current") | ||
61 | private DocumentReferenceResolver<EntityReference> resolver | ||
62 | |||
63 | @Inject | ||
64 | private Provider<SomeType> resolver | ||
65 | {{/code}} | ||
66 | |||
67 | All reference resolver and serializer provide static variables with the Type for both String and EntityReference. For example you can write: | ||
68 | |||
69 | {{code language="java"}} | ||
70 | DocumentReferenceResolver<EntityReference> resolver = componentManager.lookupComponent(DocumentReferenceResolver.TYPE_REFERENCE, "current") | ||
71 | {{/code}} | ||
72 | |||
73 | = Bug fixes and improvements = | ||
74 | |||
75 | * [[XE-1096>>http://jira.xwiki.org/browse/XE-1096]] The attachment selector should also work with the ##/edit/## action in 'Inline form' edit mode | ||
76 | * [[XE-1105>>http://jira.xwiki.org/browse/XE-1105]] Default class sheet doesn't display correctly the class title | ||
77 | * [[XWIKI-7411>>http://jira.xwiki.org/browse/XWIKI-7411]] Cannot import a XAR containing ##%3A## in its file name | ||
78 | * [[XWIKI-6305>>http://jira.xwiki.org/browse/XWIKI-6305]] Keep the current user in the administration application when editing user details | ||
79 | * [[XWIKI-7462>>http://jira.xwiki.org/browse/XWIKI-7462]] Improve the Profile breadcrumb to be more user friendly | ||
80 | * [[XWIKI-7484>>http://jira.xwiki.org/browse/XWIKI-7484]] Write a log line in the console instructing the user to open XWiki in a browser | ||
81 | |||
82 | 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%2C+XEM%29+and+status+%3D+Closed+and+resolution+%3D+Fixed+and+fixVersion+%3D+%223.5-milestone-1%22&tempMax=1000]] fixed in this release. | ||
83 | |||
84 | = For Developers = | ||
85 | |||
86 | * [[XCOMMONS-94>>http://jira.xwiki.org/browse/XCOMMONS-94]] Set the minimum required Maven version (3.0) to build XWiki in the POM | ||
87 | * [[XWIKI-7502>>http://jira.xwiki.org/browse/XWIKI-7502]] Replace notion of Container's ApplicationContext with the notion of Environment | ||
88 | * [[XWIKI-7476>>http://jira.xwiki.org/browse/XWIKI-7476]] Sheets need to be able to display the title of the document they are applied to | ||
89 | * [[XWIKI-7526>>http://jira.xwiki.org/browse/XWIKI-7526]] Enable Infinispan JMX mbeans by default for runtime monitoring of XWiki caches | ||
90 | * [[XWIKI-7504>>http://jira.xwiki.org/browse/XWIKI-7504]] Files within WEB-INF directory readable by using Velocity | ||
91 | * [[XE-1108>>http://jira.xwiki.org/browse/XE-1108]] Provide tomcat5 and tomcat7 based Debian packages | ||
92 | |||
93 | == Upgrades == | ||
94 | |||
95 | The following dependencies have been upgraded: | ||
96 | |||
97 | * | ||
98 | |||
99 | == Translations == | ||
100 | |||
101 | The following translations have been updated: | ||
102 | |||
103 | {{language codes="fr, it, ko, lv, sv"/}} | ||
104 | |||
105 | = Tested Browsers = | ||
106 | |||
107 | {{todo/}} | ||
108 | |||
109 | = Known issues = | ||
110 | |||
111 | * [[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]] | ||
112 | |||
113 | = Test Report = | ||
114 | |||
115 | You can check the [[manual test report>>TestReports.ManualTestReportXE40M1]] to learn about what was tested and the results on various browsers. | ||
116 | |||
117 | = Backward Compatibility and Migration Notes = | ||
118 | |||
119 | == General Notes == | ||
120 | |||
121 | {{warning}} | ||
122 | If you're running in a multiwiki setup you'll also need to define the property //xwiki.store.migration.databases=all// to your //xwiki.cfg// file or explicitly name all databases to be migrated as in //xwiki.store.migration.databases=db1,db2,...//. | ||
123 | {{/warning}} | ||
124 | |||
125 | You may also want to [[import the default wiki XAR>>Main.Download]] in order to benefit from all the improvements listed above. | ||
126 | |||
127 | {{warning}} | ||
128 | Always make sure you compare your ##xwiki.cfg## and ##xwiki.properties## files with the newest version since some configuration parameters were 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. | ||
129 | {{/warning}} | ||
130 | |||
131 | == API Breakages == | ||
132 | |||
133 | The following APIs were modified since version 3.5: | ||
134 | |||
135 | {{todo/}} | ||
136 | |||
137 | {{code language="none"}} | ||
138 | {{/code}} |