Java Time Machine: Journey Through Java Versions & Features
- Published on
- Authors
- Name
- Spaghetti Code Jungle
- @spagcodejungle

Java Versions & Features
Keeping up with Java’s rapid release cadence—and the avalanche of new features that come with each version—can feel like trying to drink from a firehose. From incubator modules to preview language enhancements to final, production‑ready APIs, there’s a lot to track and a lot of information to go through.
In the series of blog posts I'm currently writing. I found myself struggling to sift through OpenJDK's documentation, of which features were actually released in a java version or which ones where in preview or incubation phase.
That was why i thought rather let me create a small tool to help me...
Java Versions & Features, a lightweight React application that visualizes every major Java release in an interactive, theme‑aware timeline.
Why a Timeline?
Java’s six‑month release cycle means new capabilities land faster than ever. While long‑term support (LTS) versions like 8, 11, 17, & 21 are usually the prime focus, preview and incubator features introduce powerful functionality early in the ecosystem:
- Incubator: Early‑stage, experimental features (e.g., the Vector API) that invite community feedback.
- Preview: Language or platform capabilities (e.g., pattern matching) available in a preview state before finalization.
- Final: Fully released features you can rely on in production.
Plotting these phases along a timeline helps you see when and how each feature evolved.
Key Features
Chronological Visualization
- Built with
react-vertical-timeline-component
for a scroll‑driven, vertical layout. - Each Java release is rendered as a clickable node.
- If an official release blog exists, a “Java X” button opens it in a new tab.
Feature Drill‑Down
- Expand a release to view all associated features.
- Click a feature to open the Time Machine modal, showing:
- Phase: Incubator | Preview | Final
- Release date
- Description and links (JEPs, Javadoc, blog posts)
Flexible Filtering
- Text Search: Filter features by name in real time.
- Phase Toggles: Show or hide incubator, preview, and final features.
- LTS‑Only Mode: Focus on the four long‑term support versions with a single switch.
- Contextual empty‑state messages guide you when no filters match.
Light & Dark Themes
- Toggle between themes—CSS variables (
--color-primary
,--color-accent
, etc.) adjust backgrounds, typography, and icons. - Ensures accessibility and a consistent brand feel across modes.
Scroll‑to‑Top Convenience
- A floating ⇧ button appears at the bottom of the page for quick navigation back to the top.
Tech Stack & Architecture
- React (function components + hooks) for a composable, state‑driven UI.
react-vertical-timeline-component
for an engaging, scrollable timeline layout.- Lucide Icons (
ArrowUp
for scroll-to-top) for lightweight SVG assets. - CSS Custom Properties for theming; global variables defined in
:root
and overridden in.theme-dark
. - ESLint (flat config) + Prettier to enforce code quality and consistent styling.
- Jest + React Testing Library to validate that core components render correctly.
Future Improvement ideas
- add links if i write a blog post about a specific version or feature
- add links to the JEPs (JDK Enhancement Proposal) for each feature
- Search by JEP Number or Keyword Tags
Initially I thought of just having a static site but maybe i will add more dynamic improvements in.