Which Spark version should I run in 2026?
Summary
- As of October 2026, run Apache Spark 4.2 for new work. Spark 4.2.0 shipped on July 14, 2026, it's the newest feature release, and the project's versioning policy keeps an 18-month maintenance window for the 4.2.x line.
- If you're on Spark 4.0 or 4.1, move to the latest maintenance release in your line (4.0.4 or 4.1.3, both released July 15, 2026) and plan the step up to 4.2.
- Spark 3.5 is on an extended LTS period that ends in November 2027 and includes only security fixes, so 3.5 workloads should be migrating to 4.x now.
- From 4.3.0 on, feature releases arrive every quarter, and the policy reserves the 4.x LTS role, with 18 months of maintenance, for 4.5.0, the last planned 4.x release.
- On Databricks, choose a Databricks Runtime LTS version, which gets major stability and security fixes for three years, or run on serverless compute, which Databricks upgrades automatically.
Which Spark version should I run in 2026?
Run Apache Spark 4.2 for anything new. As of October 2026 it's the newest feature release (4.2.0, released July 14, 2026), and the versioning policy keeps an 18-month maintenance commitment for the 4.2.x line. Jobs on 4.0 or 4.1 are fine for now if they sit on the latest maintenance release. Spark 3.5 is the line to leave: its extended LTS period ends in November 2027 and, until then, covers security fixes only.
Spark release lines as of October 2026
| Release line | First release | Latest release in the line | Status |
|---|---|---|---|
| 4.2.x | 4.2.0, July 14, 2026 | 4.2.0 | Newest feature line; 18-month maintenance window |
| 4.1.x | 4.1.0, December 16, 2025 | 4.1.3, July 15, 2026 | Receiving maintenance releases |
| 4.0.x | 4.0.0, May 23, 2025 | 4.0.4, July 15, 2026 | Receiving maintenance releases |
| 3.5.x | 3.5.0, September 13, 2023 | 3.5.9, July 16, 2026 | Extended LTS until November 2027, security fixes only |
The project's 2026 news lists maintenance releases only for the 3.5, 4.0 and 4.1 lines, plus 4.2.0 itself. The release notes for 3.5.9 put it plainly: "We strongly recommend all 3.5 users to upgrade to this stable release." The downloads page also warns that previous releases "may be affected by security issues."
What each 4.x release brought
| Release | Headline changes listed in the release notes |
|---|---|
| 4.2.0 | Native geospatial types (GEOMETRY, GEOGRAPHY) and ST_* functions; a Spark SQL CHANGES clause for row-level changes, plus Auto CDC in Spark Declarative Pipelines; Python UDFs use Arrow optimization by default; metric views in Spark SQL |
| 4.1.0 | Spark Declarative Pipelines (SDP); SQL Scripting GA; VARIANT type GA; ML on Spark Connect GA for the Python client |
| 4.0.0 | Scala 2.13 and JDK 17 by default, with Scala 2.12 and JDK 8 and 11 dropped; ANSI SQL mode on by default; VARIANT, SQL UDFs, session variables and pipe syntax; a lightweight Spark Connect Python client |
How to choose
- New project. Start on 4.2.x, and plan for Python 3.10 or later, Scala 2.13 and a Java 17, 21 or 25 runtime, which is what the 4.2 docs list.
- Upgrading from 3.5. Budget for the 4.0 breaking changes: JDK 17 at minimum, Scala 2.13, and ANSI mode on by default (
spark.sql.ansi.enabled). In ANSI mode, invalid inputs to SQL operators and functions raise runtime errors where non-ANSI mode, the 3.5 default, returned null. The SQL migration guide notes you can setspark.sql.ansi.enabledtofalseto restore the old behavior while you fix queries. - Staying on 4.0 or 4.1. Keep to the latest maintenance release and schedule the move to 4.2. The policy says releases within a major line share API compatibility, but still read the migration guide for changed defaults, such as Arrow-optimized Python UDFs turning on by default in 4.2.
- Need a long-lived standard. Under the new cadence, feature releases after 4.2 get 6 months of maintenance each, while the last release in a major line gets 18 months. For 4.x, that LTS will be 4.5.0.
- Check the ecosystem first. Confirm that your table format connectors and libraries publish builds for your Spark and Scala versions before you upgrade.
How Databricks approaches Spark versions
On Databricks you choose a Databricks Runtime, and each runtime includes a specific Apache Spark version. The release notes (updated September 11, 2026) list Databricks Runtime 18 LTS with Apache Spark 4.1.0, 17.3 LTS with 4.0.0, and Databricks Runtime 19 with 4.2.0, whose end of support is "determined at LTS transition." After a roughly six-month feature phase, a runtime moves to long-term support, where major stability and security fixes are backported for three years. Serverless compute removes the choice: Databricks upgrades the serverless runtime automatically, and environment versions give your code "a stable client API based on Spark Connect" while the server changes underneath.
FAQs
Is Spark 4.3 out yet?
Not as of October 2026. The versioning policy scheduled the 4.3 code freeze for August 1, 2026, but the project's news page lists 4.2.0 as the newest release.
When does Spark 3.5 reach end of life?
The policy says the 3.5.x extended LTS period ends in November 2027 and includes only security fixes until then.
Which 4.x release will be the long-term support release?
Spark 4.5.0, the last planned 4.x release. The policy gives it the 18-month LTS window that later major lines give their last release.
Should I wait for 4.5 before leaving 3.5?
No. Version 3.5 already gets security fixes only, and moving to 4.2 now gets the 4.0 breaking changes behind you. A later step from 4.2 to 4.5 stays inside one major line.
The information provided herein is for general informational purposes only and may not reflect the most current product capabilities or configurations.