1+ <?xml version =" 1.0" encoding =" UTF-8" standalone =" yes" ?>
2+ <!-- Use this to test local rendering in firefox. Comment out this line once this plan is linked to portal data. -->
3+ <?xml-stylesheet type =" text/xsl" href =" project-plan-render.xsl" ?>
4+
5+ <!-- <?xml-stylesheet type="text/xsl" href="http://www.eclipse.org/projects/project-plan.xsl"?> -->
6+
7+ <p : plan
8+ plan-format =" 1.0"
9+ xmlns : p =" http://www.eclipse.org/project/plan" xmlns =" http://www.w3.org/1999/xhtml"
10+ name =" Eclipse Project" >
11+
12+ <p : release projectid =" eclipse" version =" 2025-12" />
13+
14+ <!-- ============================================== -->
15+
16+ <p : introduction >
17+ <div >
18+ <p >
19+ Last revised October 07, 2025.
20+
21+
22+ </p >
23+ <
p ><
i >Please send comments about this plan to the</
i > <
a href =
" mailto:[email protected] " >
[email protected] </
a > <
i >developer
24+ mailing list.</i >
25+ </p >
26+ <p >This document lays out the feature and API set for the next feature release
27+ of the Eclipse SDK after 4.37, designated release 4.38 and code-named 2025-12.
28+ </p >
29+
30+ <p >The first part of the plan deals with the important matters of release deliverables,
31+ release milestones, target operating environments, and release-to-release compatibility.
32+ These are all things that need to be clear for any release, even if no features
33+ were to change. </p >
34+ <p >Not all plan items represent the same amount of work; some may be quite large,
35+ others, quite small. Some plan items may involve work that is localized to
36+ a single component; others may involve coordinated changes to several components;
37+ other may pervade the entire SDK. Although some plan items are for work that
38+ is more pressing than others, the plan items appear in no particular order. </p >
39+ <p >With the previous release as the starting point, this is the plan for how
40+ we will enhance and improve it. Fixing bugs, improving test coverage, documentation,
41+ examples, performance tuning, usability, etc. are considered routine ongoing
42+ maintenance activities and are not included in this plan unless they would
43+ also involve a significant change to the API or feature set, or involve a significant
44+ amount of work. The intent of the plan is to account for all interesting feature
45+ work. </p >
46+
47+ </div >
48+ </p : introduction >
49+
50+ <!-- ============================================== -->
51+
52+ <p : release_deliverables >
53+ <div >
54+
55+ <p >The release deliverables have the same form as previous releases, namely: </p >
56+ <ul >
57+ <li >Source code release for all Eclipse Project deliverables, available as
58+ versions tagged " R4_38" in the Eclipse Project Git
59+ repositories <a href =" https://github.com/eclipse-equinox/" >Equinox</a >, <a href =" https://github.com/eclipse-jdt/" >JDT</a >,
60+ <a href =" https://github.com/eclipse-pde/" >PDE</a > and <a href =" https://github.com/eclipse-platform/" >Platform</a >.</li >
61+ <li >Eclipse SDK (runtime binary and SDK for Equinox, Platform, JDT, and PDE) (downloadable).</li >
62+ <li >Eclipse Equinox (runtime and source repositories) (downloadable).</li >
63+ <li >Eclipse Platform (runtime and source repositories) (downloadable).</li >
64+ <li >Eclipse ECJ (runtime and source for the Eclipse Compiler for Java) (downloadable).</li >
65+ <li >Eclipse PDE (Installable from repository for the Plug-in Development Environment).</li >
66+ <li >Eclipse SDK Examples (Installable from repository).</li >
67+ <li >SWT distribution (downloadable).</li >
68+ </ul >
69+
70+
71+ </div >
72+ </p : release_deliverables >
73+
74+ <!-- ============================================== -->
75+
76+ <p : release_milestones >
77+
78+ <p : preamble ><p >
79+ Release milestones will be occurring at roughly 6 week intervals, and will be aligned with the
80+ <a href =" https://github.com/eclipse-simrel/.github/blob/main/wiki/SimRel/2025-12.md" >
81+ 2025-12 Simultaneous Release</a > train.</p >
82+ </p : preamble >
83+ <p : milestone date =" 2025-10-04" milestone =" M1" ><div >4.38 M1</div ></p : milestone >
84+ <p : milestone date =" 2025-10-25" milestone =" M2" ><div >4.38 M2 (only submit I-build)</div ></p : milestone >
85+ <p : milestone date =" 2025-11-15" milestone =" M3" ><div >4.38 M3 - <b >Release Record Deadline</b ></div ></p : milestone >
86+ <!--
87+ NOTE: This is only necessary once per year. For us with the 202x-03 release.
88+ <p:milestone date="2023-11-18" milestone=""><div>IP Log Submission Deadline</div></p:milestone>
89+ -->
90+ <p : milestone date =" 2025-11-22" milestone =" RC1" ><div >4.38 RC1 - <b >API and feature freeze</b ></div ></p : milestone >
91+ <!--
92+ NOTE: This is only necessary once per year. For us with the 202x-03 release.
93+ <p:milestone date="2023-11-25" milestone=""><div>Review Material Submission Deadline</div></p:milestone>
94+ -->
95+ <p : milestone date =" 2025-11-29" milestone =" RC2" ><div >4.38 RC2 - <b >New and Noteworthy Material Deadline</b ></div ></p : milestone >
96+ <p : milestone date =" 2025-12-04" milestone =" GA" ><div >4.38 GA</div ></p : milestone >
97+
98+ <p : postamble >
99+ <div >
100+ <p >Our target is to complete 4.38 in December 2025.
101+ All release deliverables will be available for download as soon as the release has been
102+ tested and validated in the target operating configurations listed below.</p >
103+ <p >PMC approval is required for API changes and additions after M3.</p >
104+ </div >
105+ </p : postamble >
106+
107+ </p : release_milestones >
108+
109+ <!-- ============================================== -->
110+
111+ <p : target_environments >
112+
113+ <div >
114+ <p >In order to remain current, each Eclipse Project release targets reasonably current
115+ operating environments.</p >
116+ <p >Most of the Eclipse SDK is " pure" Java code and has no direct dependence
117+ on the underlying operating system. The chief dependence is therefore on the
118+ Java Platform itself. Portions are targeted to specific classes of operating
119+ environments, requiring their source code to only reference facilities available
120+ in particular class libraries (e.g. Java 22, Java 23, etc).</p >
121+ <p >
122+ In general, the 4.38 release of the Eclipse Project is developed on Java SE 21 VMs.
123+ As such, the Eclipse SDK as a whole
124+ is targeted at all modern, desktop Java VMs. Most functionality is available for
125+ Java SE 21 level development everywhere, and extended development capabilities are made
126+ available on the VMs that support them.</p >
127+ <p >There are many different implementations of the Java Platform running atop
128+ a variety of operating systems. We focus our testing on a handful of
129+ popular combinations of operating system and Java Platform; these are our <em >reference
130+ platforms</em >. Eclipse undoubtedly runs fine in many operating environments
131+ beyond the reference platforms we test. However, since we do not systematically test
132+ them we cannot vouch for them. Problems encountered when running Eclipse on a
133+ non-reference platform that cannot be recreated on any reference platform will
134+ be given lower priority than problems with running Eclipse on a reference platform.</p >
135+ <p >Eclipse 4.38 is tested and validated on the following reference platforms
136+ (this list is updated over the course of the release cycle):</p >
137+ <style type =" text/css" >
138+ table.platforms {
139+ border-width: 1px;
140+ border-spacing: 0px;
141+ border-style: solid;
142+ border-collapse: separate;
143+ }
144+ table.platforms th {
145+ border-width: 1px;
146+ padding: 3px;
147+ border-style: inset;
148+ border-color: black;
149+ background-color: #B9A9FF;
150+ }
151+ table.platforms td {
152+ border-width: 1px 1px 1px 1px;
153+ padding: 3px 3px 3px 3px;
154+ border-style: inset inset inset inset;
155+ border-color: gray gray gray gray;
156+ }
157+ table.platforms tr.c0 td {
158+ background-color: #FDFDFD;
159+ }
160+ table.platforms tr.c1 td {
161+ background-color: #F4EEFF;
162+ }
163+ </style >
164+ <center >
165+ <table class =" platforms" >
166+ <tr >
167+ <th >Operating System</th >
168+ <th >Version</th >
169+ <th >Hardware</th >
170+ <th >JRE</th >
171+ <th >Windowing System</th >
172+ </tr >
173+ <!-- ************ WINDOWS ************** -->
174+ <tr class =" c0" >
175+ <td rowspan =" 1" >Windows</td >
176+ <td rowspan =" 1" >
177+ 11<br />
178+ </td >
179+ <td rowspan =" 1" >x86 64-bit</td >
180+ <td rowspan =" 1" >
181+ OpenJDK 21.0.8 (LTS)<br />
182+ Oracle Java 21.0.8 (LTS)<br />
183+ OpenJDK 25.0.0 (LTS)<br />
184+ Oracle Java 25.0.0 (LTS)<br />
185+ </td >
186+ <td rowspan =" 1" >Win32</td >
187+ </tr >
188+ <!-- ************ RHEL ************** -->
189+ <tr class =" c1" >
190+ <td rowspan =" 2" >Red Hat Enterprise Linux</td >
191+
192+ <td rowspan =" 2" >10.0
193+ </td >
194+ <td rowspan =" 1" >
195+ x86 64-bit<br />
196+ aarch64<br />
197+ </td >
198+ <td rowspan =" 1" >
199+ OpenJDK 21.0.8 (LTS)<br />
200+ Oracle Java 21.0.8 (LTS)<br />
201+ OpenJDK 25.0.0 (LTS)<br />
202+ Oracle Java 25.0.0 (LTS)<br />
203+ </td >
204+ <td rowspan =" 2" >GTK 3</td >
205+ </tr >
206+ <tr class =" c1" >
207+ <td rowspan =" 1" >Power 64-bit LE</td >
208+ <td rowspan =" 1" >
209+ OpenJDK 21.0.8 (LTS)<br />
210+ OpenJDK 25.0.0 (LTS)<br />
211+ </td >
212+ </tr >
213+ <!-- ************ SLES ************** -->
214+ <tr class =" c0" >
215+ <td rowspan =" 2" >SUSE Linux Enterprise Server</td >
216+ <td rowspan =" 2" >
217+ 16
218+ </td >
219+ <td rowspan =" 1" >x86 64-bit</td >
220+ <td rowspan =" 1" >
221+ OpenJDK 21.0.8 (LTS)<br />
222+ OpenJDK 25.0.0 (LTS)<br />
223+ </td >
224+ <td rowspan =" 2" >GTK 3</td >
225+ </tr >
226+ <tr class =" c0" >
227+ <td rowspan =" 1" >Power 64-bit LE</td >
228+ <td rowspan =" 1" >
229+ OpenJDK 21.0.8 (LTS)<br />
230+ OpenJDK 25.0.0 (LTS)<br />
231+ </td >
232+ </tr >
233+
234+ <!-- ************ Ubuntu ************** -->
235+ <tr class =" c1" >
236+ <td rowspan =" 1" >Ubuntu Long Term Support</td >
237+ <td rowspan =" 1" >24.04.03</td >
238+ <td rowspan =" 1" >
239+ x86 64-bit<br />
240+ aarch64<br />
241+ </td >
242+ <td rowspan =" 1" >
243+ OpenJDK 21.0.8 (LTS)<br />
244+ OpenJDK 25.0.0 (LTS)<br />
245+ </td >
246+ <td rowspan =" 1" >GTK 3</td >
247+ </tr >
248+
249+ <!-- ************ Mac ************** -->
250+ <tr class =" c1" >
251+ <td rowspan =" 2" >Apple macOS</td >
252+ <td rowspan =" 1" >
253+ 14<br />
254+ 15<br />
255+ 26
256+ </td >
257+
258+ <td rowspan =" 1" >x86 64-bit</td >
259+
260+ <td rowspan =" 1" >
261+ OpenJDK 21.0.8 (LTS)<br />
262+ Oracle Java 21.0.8 (LTS)<br />
263+ OpenJDK 25.0.0 (LTS)<br />
264+ Oracle Java 25.0.0 (LTS)<br />
265+ </td >
266+
267+ <td rowspan =" 2" >Cocoa</td >
268+ </tr >
269+ <tr class =" c0" >
270+ <td rowspan =" 1" >
271+ 14<br />
272+ 15<br />
273+ 26
274+ </td >
275+ <td rowspan =" 1" >
276+ M1 (arm64)
277+ </td >
278+ <td rowspan =" 1" >
279+ OpenJDK 21.0.8 (LTS)<br />
280+ OpenJDK 25.0.0 (LTS)<br />
281+ </td >
282+ </tr >
283+ </table >
284+ </center >
285+
286+ <p >As stated above, <i >we expect that Eclipse works fine on other current
287+ Java VM and OS versions but we cannot flag these as reference platforms without
288+ significant community support for testing them.</i ></p >
289+ <p >With respect to GTK 3 versions: the <i >required</i > version of GTK 3 which Eclipse SDK 4.38
290+ will run on is 3.22 or newer.
291+ </p >
292+
293+ <p >With respect to GTK 3 themes: Adwaita theme is guaranteed to work. Eclipse SDK will run with other GTK 3 themes,
294+ however we cannot flag these as reference versions without significant community support for testing and/or development
295+ of fixes. Bugs that are reproducible only with themes other than Adwaita will be given a lower priority (or may not be fixed at all),
296+ compared to bugs which are reproducible on the target environments listed above.
297+ </p >
298+ </div >
299+
300+ <p : internationalization >
301+ <p >The Eclipse SDK is designed as the basis for internationalized products. The
302+ user interface elements provided by the Eclipse SDK components, including dialogs
303+ and error messages, are externalized. The English strings are provided as the
304+ default resource bundles.</p >
305+ <p >Latin-1, DBCS, and BiDi locales are supported by the Eclipse SDK on all reference platforms.</p >
306+ <p >The Eclipse SDK supports GB 18030 (level 1), the Chinese code page standard,
307+ on Windows, Linux and the Macintosh.</p >
308+ </p : internationalization >
309+
310+ </p : target_environments >
311+
312+ <!-- ============================================== -->
313+
314+ <p : compatibility_with_previous_releases >
315+ <div >
316+
317+ <h3 >Compatibility of Release 4.38 with 4.37</h3 >
318+ <p >Eclipse 4.38 will be compatible with Eclipse 4.37</p >
319+
320+ <p ><strong >API Contract Compatibility:</strong > Eclipse SDK 4.38 will be upwards
321+ contract-compatible with Eclipse SDK 4.37 except in those areas noted in the
322+ <a href =" https://help.eclipse.org/2025-12/topic/org.eclipse.platform.doc.isv/porting/eclipse_4_38_porting_guide.html" target =" _top" >
323+ <em >Eclipse 4.38 Plug-in Migration Guide</em >
324+ </a >. Programs that use affected APIs and extension points will need to be ported
325+ to Eclipse SDK 4.38 APIs. Downward contract compatibility
326+ is not supported. There is no guarantee that compliance with Eclipse SDK 4.38
327+ APIs would ensure compliance with Eclipse SDK 4.37 APIs. Refer to
328+ <a href =" https://github.com/eclipse-platform/eclipse.platform/blob/master/docs/Evolving-Java-based-APIs.md" >
329+ <em >Evolving Java-based APIs</em >
330+ </a > for a discussion of the kinds of API changes that maintain contract compatibility.</p >
331+
332+ <p ><strong >Binary (plug-in) Compatibility:</strong > Eclipse SDK 4.38 will be upwards
333+ binary-compatible with Eclipse SDK 4.37 except in those areas noted in the
334+ <a href =" https://help.eclipse.org/2025-12/topic/org.eclipse.platform.doc.isv/porting/eclipse_4_38_porting_guide.html" target =" _top" >
335+ <em >Eclipse 4.38 Plug-in Migration Guide</em >
336+ </a >. Downward plug-in compatibility is not supported. Plug-ins for Eclipse SDK
337+ 4.38 will not be usable in Eclipse SDK 4.37. Refer to
338+ <a href =" https://github.com/eclipse-platform/eclipse.platform/blob/master/docs/Evolving-Java-based-APIs.md" >
339+ <em >Evolving Java-based APIs</em >
340+ </a > for a discussion of the kinds of API changes that maintain binary compatibility.</p >
341+
342+ <p ><strong >Source Compatibility:</strong > Eclipse SDK 4.38 will be upwards source-compatible
343+ with Eclipse SDK 4.37 except in the areas noted in the
344+ <a href =" https://help.eclipse.org/2025-03/topic/org.eclipse.platform.doc.isv/porting/eclipse_4_38_porting_guide.html" target =" _top" >
345+ <em >Eclipse 4.38 Plug-in Migration Guide</em >
346+ </a >. This means that source files written
347+ to use Eclipse SDK 4.38 APIs might successfully compile and run against Eclipse
348+ SDK 4.37 APIs, although this is not guaranteed. Downward source compatibility
349+ is not supported. If source files use new Eclipse SDK APIs, they will not be
350+ usable with an earlier version of the Eclipse SDK. </p >
351+
352+ <p ><strong >Workspace Compatibility:</strong > Eclipse SDK 4.38 will be upwards
353+ workspace-compatible with earlier 3.x and 4.37 versions of the Eclipse SDK unless noted.
354+ This means that workspaces and projects created with Eclipse SDK 4.37, 4.36, 4.35, 4.34, 4.33...4.30, 4.25, .. 3.0 can be successfully
355+ opened by Eclipse SDK 4.38 and upgraded to a 4.38 workspace. This includes both
356+ hidden metadata, which is localized to a particular workspace, as well as metadata
357+ files found within a workspace project (e.g., the .project file ), which may
358+ propagate between workspaces via file copying or team repositories. Individual
359+ plug-ins developed for Eclipse SDK 4.38 should provide similar upwards compatibility
360+ for their hidden and visible workspace metadata created by earlier versions;
361+ 4.38 plug-in developers are responsible for ensuring that their plug-ins recognize
362+ metadata from earlier versions and process it appropriately. User
363+ interface session state may be discarded when a workspace is upgraded. Downward
364+ workspace compatibility is not supported. A workspace created (or opened) by
365+ a product based on Eclipse 4.38 will be unusable with a product based on an earlier
366+ version of Eclipse. Visible metadata files created (or overwritten) by Eclipse
367+ 4.38 will generally be unusable with earlier versions of Eclipse. </p >
368+
369+ <p ><strong >Non-compliant usage of API's</strong >: All non-API methods and classes,
370+ and certainly everything in a package with " internal" in its name or
371+ x-internal in the bundle manifest entry,
372+ are considered implementation details which may vary between operating environment
373+ and are subject to change without notice. Client plug-ins that directly depend
374+ on anything other than what is specified in the Eclipse SDK API are inherently
375+ unsupportable and receive no guarantees about compatibility within a single
376+ release much less with earlier releases. Refer to
377+ <a href =" https://www.eclipse.org/articles/Article-API-Use/index.html" >
378+ <em >How to Use the Eclipse API</em >
379+ </a > for information about how to write compliant plug-ins. </p >
380+
381+ </div >
382+ </p : compatibility_with_previous_releases >
383+
384+ <!-- ============================================== -->
385+
386+ <!-- <p:themes_and_priorities> -->
387+
388+ <p : preamble >
389+ We no longer group the plan items into separate themes as this does not provide real value to our users.
390+ <div >
391+ </div >
392+ </p : preamble >
393+
394+ <!-- </p:themes_and_priorities> -->
395+
396+ <!-- ============================================== -->
397+
398+ </p : plan >
0 commit comments