Slide 1

Slide 1 text

What’s New in the Eclipse Platform Project Karsten Thoms https://pixabay.com/de/illustrations/wissenschaft-sun-verfinstern-1925058/

Slide 2

Slide 2 text

This is a very very very long gag @kthoms Karsten • Senior Software Engineer @ Karakun • Open Source Enthusiast • Committer on some Eclipse projects • Contributor on some more

Slide 3

Slide 3 text

This is a very very very long gag @kthoms Release Train 2019 2020 2021 2019-06 / 4.12 2019-12 / 4.14 2020-06 / 4.16 2020-03 / 4.15 2020-09 / 4.17 2020-12 / 4.18 2019-09 / 4.13 2019-03 / 4.11 2021-03 / 4.19

Slide 4

Slide 4 text

This is a very very very long gag @kthoms Release Train 2019 2020 2021 2019-06 / 4.12 2019-12 / 4.14 2020-06 / 4.16 2020-03 / 4.15 2020-09 / 4.17 2020-12 / 4.18 2019-09 / 4.13 2019-03 / 4.11 2021-03 / 4.19 Java 15 Java 14 Java 13 Java 12

Slide 5

Slide 5 text

This is a very very very long gag @kthoms Release Train 2019 2020 2021 2019-06 / 4.12 2019-12 / 4.14 2020-06 / 4.16 2020-03 / 4.15 2020-09 / 4.17 2020-12 / 4.18 2019-09 / 4.13 2019-03 / 4.11 2021-03 / 4.19 M1 M2 M3 RC1 RC2 2020-12 / 4.18

Slide 6

Slide 6 text

Community & Adoption

Slide 7

Slide 7 text

This is a very very very long gag @kthoms Project Committers New Committers • Alex Blewitt • Andrew Obuchowicz Resigned Committers • Markus Keller (Platform, Equinox, JDT, PDE) • Steffen Pingel (Equinox) • Curtis Windatt (JDT, PDE) • Sasikanth Bharadwaj (JDT) • Stefan Xenos (JDT) • Benjamin Cabe (PDE) • Sopot Cela (Platform, PDE) • Grant Gayed (Platform)

Slide 8

Slide 8 text

This is a very very very long gag @kthoms Download Stats 3.1 Mio 3.2 Mio 3.3 Mio 2.5 Mio Now includes OpenJDK 11

Slide 9

Slide 9 text

This is a very very very long gag @kthoms Social Activity • @EclipseJavaIDE • Initiated by Sopot Cela 02/2017 • 16k followers • 2.4k tweets • @mickaelistria - Mr. "What's your specific issue with @EclipseJavaIDE" • "1 trivial bug a week" campaign via @EclipseJavaIDE

Slide 10

Slide 10 text

Code Cleanups

Slide 11

Slide 11 text

This is a very very very long gag @kthoms Code Cleanups • Lots of cosmetic changes pouring in • Removal of dead internal code • Mostly merged for M1 • Using Eclipse CleanUp actions, jSparrow, or manual • Many cleanup actions added to JDT recently

Slide 12

Slide 12 text

This is a very very very long gag @kthoms API Removals • Deprecated API gets slowly removed from the code base according to the API Removal Process [1] • Removals are documented in the Platform Porting Guide [2] [1] https://wiki.eclipse.org/Eclipse/API_Central/API_Removal_Process [2] https://help.eclipse.org/2020-09/topic/org.eclipse.platform.doc.isv/porting/removals.html?cp=2_3_0

Slide 13

Slide 13 text

This is a very very very long gag @kthoms API Removals Removed APIs in the Eclipse 4.17 release: 1. Remove Input and MInputPart 2. org.eclipse.core.runtime.Platform#getJobManager() 3. JFace and JFace text Assert Planned API removals after June 2017: 1. Platform authorization API Planned API removals after June 2018: 1. org.eclipse.ui.cocoa.fullscreenWindow Planned API removals after June 2020: 1. Remove Dirtable flag from MPartDescriptor 2. Remove org.eclipse.core.runtime.IPlatformRunnable 3. Remove deprecated dialogs from org.eclipse.ui.dialogs 4. Remove deprecated method and constructor in PopupDialog Planned API removals after December 2020: 1. Remove org.eclipse.pde.core.IModelProvider Planned API removals after March 2021: 1. Remove org.eclipse.pde.ui.targetProvisioners extension point 2. org.eclipse.core.commands.util package 3. org.eclipse.ui.editors.text.EncodingActionGroup 4. org.eclipse.core.launcher#Main and WebStartMain 5. Delete 2.0 plug-in compatibility classes and related API 6. Delete Job.createSystem(ICoreRunnable) API 7. Delete unsupported methods in WorkbenchWindowConfigurer Planned API removals after June 2021: 1. Delete deprecated contents of org.eclipse.ui.commands package Planned API removals after September 2021: 1. Navigator view and related API Planned API removals after December 2021: 1. Bookmark view and related API Planned API removals after June 2022: 1. ICU4J bundle from SDK Planned API removals after September 2022: 1. Remove deprecated contents of org.eclipse.pde.ui.launcher package 2. Remove TargetPlatform::createPlatformConfiguration See http://eclip.se/h1

Slide 14

Slide 14 text

This is a very very very long gag @kthoms API Removals Removed APIs in the Eclipse 4.17 release: 1. Remove Input and MInputPart 2. org.eclipse.core.runtime.Platform#getJobManager() 3. JFace and JFace text Assert Planned API removals after June 2017: 1. Platform authorization API Planned API removals after June 2018: 1. org.eclipse.ui.cocoa.fullscreenWindow Planned API removals after June 2020: 1. Remove Dirtable flag from MPartDescriptor 2. Remove org.eclipse.core.runtime.IPlatformRunnable 3. Remove deprecated dialogs from org.eclipse.ui.dialogs 4. Remove deprecated method and constructor in PopupDialog Planned API removals after December 2020: 1. Remove org.eclipse.pde.core.IModelProvider Planned API removals after March 2021: 1. Remove org.eclipse.pde.ui.targetProvisioners extension point 2. org.eclipse.core.commands.util package 3. org.eclipse.ui.editors.text.EncodingActionGroup 4. org.eclipse.core.launcher#Main and WebStartMain 5. Delete 2.0 plug-in compatibility classes and related API 6. Delete Job.createSystem(ICoreRunnable) API 7. Delete unsupported methods in WorkbenchWindowConfigurer Planned API removals after June 2021: 1. Delete deprecated contents of org.eclipse.ui.commands package Planned API removals after September 2021: 1. Navigator view and related API Planned API removals after December 2021: 1. Bookmark view and related API Planned API removals after June 2022: 1. ICU4J bundle from SDK Planned API removals after September 2022: 1. Remove deprecated contents of org.eclipse.pde.ui.launcher package 2. Remove TargetPlatform::createPlatformConfiguration See http://eclip.se/h1 Clients had to adapt (e.g. RSA)

Slide 15

Slide 15 text

This is a very very very long gag @kthoms API Removals Removed APIs in the Eclipse 4.17 release: 1. Remove Input and MInputPart 2. org.eclipse.core.runtime.Platform#getJobManager() 3. JFace and JFace text Assert Planned API removals after June 2017: 1. Platform authorization API Planned API removals after June 2018: 1. org.eclipse.ui.cocoa.fullscreenWindow Planned API removals after June 2020: 1. Remove Dirtable flag from MPartDescriptor 2. Remove org.eclipse.core.runtime.IPlatformRunnable 3. Remove deprecated dialogs from org.eclipse.ui.dialogs 4. Remove deprecated method and constructor in PopupDialog Planned API removals after December 2020: 1. Remove org.eclipse.pde.core.IModelProvider Planned API removals after March 2021: 1. Remove org.eclipse.pde.ui.targetProvisioners extension point 2. org.eclipse.core.commands.util package 3. org.eclipse.ui.editors.text.EncodingActionGroup 4. org.eclipse.core.launcher#Main and WebStartMain 5. Delete 2.0 plug-in compatibility classes and related API 6. Delete Job.createSystem(ICoreRunnable) API 7. Delete unsupported methods in WorkbenchWindowConfigurer Planned API removals after June 2021: 1. Delete deprecated contents of org.eclipse.ui.commands package Planned API removals after September 2021: 1. Navigator view and related API Planned API removals after December 2021: 1. Bookmark view and related API Planned API removals after June 2022: 1. ICU4J bundle from SDK Planned API removals after September 2022: 1. Remove deprecated contents of org.eclipse.pde.ui.launcher package 2. Remove TargetPlatform::createPlatformConfiguration See http://eclip.se/h1 Already in progress

Slide 16

Slide 16 text

BREE 11

Slide 17

Slide 17 text

This is a very very very long gag @kthoms BREE 11 • Starting with Eclipse 2020-09 a JRE 11 is required • Increasingly more bundles started to upgrade BREE to Java 11 • Bundling justj JREs lowers the bar for users Your Products Might not Start with Java 8 Anymore

Slide 18

Slide 18 text

This is a very very very long gag @kthoms justj • Provides redistributable Java runtimes • Available as bundles on p2 repositories • Java versions: 11, 14, 15 • Flavors: full (~70MB), minimal (~35MB), base (~20MB) • For each flavour also a "stripped" version

Slide 19

Slide 19 text

Dark Theme

Slide 20

Slide 20 text

This is a very very very long gag @kthoms Dark Theme • This is the first point • And we have a second point line 2… • oh, 3rd one • more than 4 should not make sense…

Slide 21

Slide 21 text

This is a very very very long gag @kthoms Dark Theme

Slide 22

Slide 22 text

This is a very very very long gag @kthoms Dark Theme

Slide 23

Slide 23 text

This is a very very very long gag @kthoms Dark Theme

Slide 24

Slide 24 text

Performance

Slide 25

Slide 25 text

This is a very very very long gag @kthoms Performance • Startup Performance • IResourceChangeListener whiteboard • Interactive Performance • More asynchronous operations, e.g. content assist • UI freeze analysis "Umbrella Bugs": #550209/#550136 (4.14) #553533 (4.15) #560449 (4.16) #563542 (4.17) #566485 (4.18) https://pixabay.com/de/vectors/pin-rei%C3%9Fzwecke-b%C3%BCro-rot-stift-147918/

Slide 26

Slide 26 text

This is a very very very long gag @kthoms Performance

Slide 27

Slide 27 text

Link Handler

Slide 28

Slide 28 text

This is a very very very long gag @kthoms Headline eclipse+command://org.eclipse.ui.window.preferences? preferencePageId=org.eclipse.ui.browser.preferencePage

Slide 29

Slide 29 text

Linux

Slide 30

Slide 30 text

This is a very very very long gag @kthoms Linux Support • GTK 3.20 is now minimal requirement (Eclipse 2020-06) • Affects only EOL Linux distros (e.g. Ubuntu 16) • Next working on GTK 4 support [1] Bug#561047 [2] https://www.eclipse.org/lists/platform-dev/msg02267.html

Slide 31

Slide 31 text

Chromium Support

Slide 32

Slide 32 text

This is a very very very long gag @kthoms Chromium Support • Chromium was added as new embedded Browser • Development funded by FEEP Program new Browser (parent, SWT.CHROMIUM) org.eclipse.swt.browser.chromium -Dorg.eclipse.swt.browser.DefaultType=Chromium [1] Bug#549585
 [2] http://eclip.se/h2 [1] [2]

Slide 33

Slide 33 text

New Apple Silicon

Slide 34

Slide 34 text

This is a very very very long gag @kthoms New Apple Silicon • In June 2020 Apple announced transition of Apple hardware to its silicon • New processor technology is based on ARM • With Rosetta 2 x86_64 binaries would still run, but slower

Slide 35

Slide 35 text

This is a very very very long gag @kthoms New Apple Silicon • SWT Libraries have to be compiled as Universal Binaries (Bug#565690) • Build agents with new target architecture have to be included • Eclipse Foundation is in contact with Apple & Mac provider • No OpenJDK build for aarch_64 yet Adoptopenjdk#1922 & JEP#391

Slide 36

Slide 36 text

Challenges

Slide 37

Slide 37 text

This is a very very very long gag @kthoms Gerrit Queue Ca. 350 open changes About the same as last year

Slide 38

Slide 38 text

This is a very very very long gag @kthoms Participation Welcome • Review patches on Gerrit • React on bug reports • Provide patches • Testing • Attract more contributors • Spread the word! https://wiki.eclipse.org/Platform/ How_to_Contribute

Slide 39

Slide 39 text

More New & Noteworthy

Slide 40

Slide 40 text

This is a very very very long gag @kthoms Want to know more? • https://www.eclipse.org/eclipse/news/4.14/ • https://www.eclipse.org/eclipse/news/4.15/ • https://www.eclipse.org/eclipse/news/4.16/ • https://www.eclipse.org/eclipse/news/4.17/ • https://www.youtube.com/watch?v=qJ04gN5HLoU https://www.youtube.com/watch?v=OdoyCjpaQKs • https://www.youtube.com/watch?v=XoUvOTiVaDc • https://www.youtube.com/watch?v=igbIAS6vlU8 • https://www.youtube.com/watch?v=V5O52H7e8oc Kudos to Holger Voormann N&N Pages N&N Videos

Slide 41

Slide 41 text

No content