AI and dataData

Your Databricks AI Functions need Runtime 17.3 LTS by January 2027, even if 15.4 is still supported

From January 2027, AI Functions called in SQL return an error on any Databricks Runtime below 17.3 LTS. That catches 15.4 LTS and 16.4 LTS clusters that are still in support. Find the classic clusters and jobs that call them, and test the runtime jump before the holidays.

Cohash Data & Analytics Practice November 2026 14 min read 8 chapters 3-question check
part 35 of 37 · Platform releases, explained from scratch
BELOW 17.3 LTS ai_query returns anerror Nightly job fails 15.4 LTS stillsupported 17.3 LTS AND ABOVE AI Functions keepworking Spark 4 and Scala2.13 Test before youswitch

the ideaSame SQL, same ai_query call. The runtime decides whether it still runs.

after reading, you can
  • Spot the clusters and jobs still calling AI Functions on a runtime older than 17.3 LTS, before they fail
  • Plan the jump from 15.4 or 16.4 LTS to 17.3 LTS without breaking the rest of the job
  • Lock new compute onto a safe runtime with a cluster policy, so nobody builds the same problem again

If a Databricks notebook or job calls ai_querydefinitionThe general-purpose AI Function. You point it at a model serving endpoint with a prompt, and it runs that model over every row you give it. or another AI Function in SQL, the runtime version under it now matters. From January 2027, those calls return an error on anything below Runtime 17.3 LTS, including 15.4 LTS and 16.4 LTS, which are still in support. Find those clusters now and test the upgrade before your change freeze.

in plain wordsChange: January 2027

Older Databricks clusters can't call a model from SQL once January comes

Databricks lets you call an AI model straight from a SQL query. One line can read a support ticket and label it, or pull the policy number out of a claim letter. Those calls are AI Functions. Every Databricks cluster runs a version of the platform's engine, called the runtime, and teams often leave a cluster on the version it was built with for years. Databricks says that from January, AI Functions in SQL stop working on runtimes older than 17.3 LTS. Two older versions are still officially supported for months after that, which is the trap: a cluster can be fully supported and still have its AI step fail.

think of it like this

It's like a printer that still has a valid warranty but won't take the new ink cartridges. The printer isn't broken and the warranty still counts. It just can't do that one job any more until you replace it.

who should care
  • Databricks platform admins
  • Data engineers who own scheduled jobs
  • Analysts with AI steps in notebooks
  • ML and AI product owners
  • Heads of data planning Q1 work
  • FinOps owners tracking AI spend
chapter 01

Why a supported runtime can still break

Jan 2027AI Functions in SQL stop working below 17.3 LTS. Databricks hasn't named a day
17.3 LTSThe oldest runtime that keeps them working
19 Aug 2027When 15.4 LTS support actually ends, months after its AI Functions stop
9 May 2028When 16.4 LTS support ends. Same story, a year later

Most teams plan runtime upgrades around end-of-support dates. That habit fails here. Runtime 15.4 LTSdefinitionLong-term support. Databricks fixes stability and security problems in an LTS runtime for three years after release. Other runtimes get six months, which is why an LTS is the one to build on. has support until 19 August 2027 and 16.4 LTS until 9 May 2028, so neither shows up on anyone's lifecycle report yet. Their AI FunctionsdefinitionSQL functions that hand your data to a model and put the answer back in the result. You'd use one to label tickets or pull fields out of documents without leaving the query. still stop in January.

When it stops, it isn't a slow degradation. Databricks says calls on runtimes below 17.3 are no longer supported and return an error. The ai_query documentation explains what an error does to the rest of the query. A failure from the model endpoint can come back as an empty result for one row when failOnError is set to false, but a row that fails for any other reason fails the entire query. This error comes from the runtime, so we'd expect it to fail the whole query. Plan for the task to stop, and for whatever reads its output table to wait.

The fix itself is easy to say: move the compute to 17.3 LTS or later. The work hides in what else changes on the way. A 15.4 LTS cluster moving to 17.3 LTS goes from Spark 3.5 to Spark 4.0, from Java 8 to Java 17 and from Scala 2.12 to 2.13. Code that ran untouched for two years tends to notice that.

what changesA nightly job still on 15.4 LTS, and the step that stops workingA scheduled job on a classic cluster pinned to 15.4 LTS, with one SQL step that calls ai_query.
  1. 01 The job starts as usual

    The cluster comes up on 15.4 LTS, the runtime it was built with. Nothing on the job page has changed.

  2. 02 The AI step runs

    One SQL cell calls ai_query on new support tickets and writes a label for each. Support's routing reads those labels first thing every morning.

  3. 03 January: the call is refused

    Databricks has stopped supporting the call below 17.3, so the step gets an error back. Nothing about the SQL itself is wrong.

  4. 04 The task fails

    The error doesn't come from the model endpoint, so we don't expect failOnError to catch it. Plan for the whole query to fail.

  5. 05 Move to 17.3 LTS or later

    The same SQL works again once the cluster runs 17.3 LTS or newer. The rest of the job has to survive the jump too.

Databricks lists ai_similarity as the one exception, and the AI Functions REST API isn't affected either. Everything else that needs Runtime 15.4 LTS today moves up to 17.3 LTS. That includes ai_query, the function you'd use to call your own model endpoints.

chapter 02

What changes, and what stays the same

The change at a glance

changedMinimum runtime for AI Functions in SQL

Right now the docs say 15.4 LTS is the minimum. From January it's 17.3 LTS, and Databricks recommends 18.2 or above if you want the best performance and the newest features.

removedAI Functions on 15.4 and 16.4 LTS

Calls on runtimes below 17.3 return an error. That includes both LTS lines that are otherwise still supported.

fixedai_similarity: no change

Databricks excludes ai_similarity from the new requirement, so it keeps working where it works today.

fixedThe AI Functions REST API: no change

Databricks says the change doesn't touch the REST API. It covers SQL queries on older runtimes.

changedAI spend now counts against Unity Gateway budgets

Since 1 November 2026, spend from task-specific AI Functions, including ai_parse_document, ai_extract and ai_classify, counts toward Unity Gateway budgets, in batch and real time. Moving a job doesn't move it outside the budget.

newAI Function tasks for jobs (Beta)

A job can now run ai_parse_document, ai_extract or ai_classify as a task of its own, without SQL, writing to a Unity Catalog table. It's Beta, so keep it away from anything regulated for now.

changedClassic SQL warehouses: still no AI Functions

This part isn't new. AI Functions don't run on Classic SQL warehouses today, so anything there is already failing.

The wording in the notice is narrow on purpose. It talks about runtimes, and the compute that runs affected SQL queries. That points straight at classic clusters, where you pick the runtime yourself and it stays put until somebody changes it.

tableWhere your AI calls actually run, and which of those places January will break
Where the SQL runsWhat decides its runtimeJanuary risk
All-purpose cluster on classic computeWhatever version someone picked when it was createdHigh if it's below 17.3 LTS
Jobs cluster on classic computeThe spark_version in the job definition or its policyHigh if it's below 17.3 LTS
Serverless notebooks and jobsDatabricks upgrades it automatically. Recent releases include Runtime 19 updatesLow. Run one test call anyway
Lakeflow pipelinesThe channel: CURRENT is Runtime 18, PREVIEW is Runtime 19Low, both are above 17.3
Pro or serverless SQL warehouseDatabricks SQL versions on a Current or Preview channel (2026.44 on both now)Low as we read it. The notice names runtime versions only
Classic SQL warehouseNot relevantAI Functions already don't run here

The warehouse row is our reading. Databricks' notice talks about runtime versions, and a warehouse runs a Databricks SQL version on a channel you pick, rolled out in stages. If you want certainty, run one test query on each warehouse that uses AI Functions.

chapter 03

15.4 and 16.4 against 17.3: the jump you're actually making

tableThree runtimes side by side, from Databricks' own release notes. The further left you start, the bigger the jump.
Runtime15.4 LTS16.4 LTS17.3 LTS
ReleasedAug 2024May 2025Oct 2025
Apache Spark3.5.03.5.24.0.0
Scala2.122.12 or 2.13 (two images)2.13 only
Java8 (Zulu)17 (Zulu)17 (Zulu)
Python3.113.123.12
End of support19 Aug 20279 May 202822 Oct 2028
AI Functions in SQL after Jan 2027ErrorErrorWork

Read the table from left to right and the 15.4 LTS move looks like three upgrades stacked together. Java goes from 8 to 17, Scala from 2.12 to 2.13, and Spark crosses a major version. If you run your own JARs, each of those can break the build before a single query runs.

The 16.4 LTS move is gentler, but only if you used the Scala 2.13 image. Databricks' 16.4 notes say plainly that only Scala 2.13 is supported from Runtime 17 onward, and they tell you to test on the 2.13 image before you move. Teams that stayed on the 2.12 image are in the same boat as 15.4.

The dates that matter for this decision

  1. 22 Oct 2025
    Runtime 17.3 LTS released

    Spark 4.0 underneath. It's been out for a year, so you're not the first to test on it.

  2. 1 Nov 2026
    AI Functions join Unity Gateway budgets

    From then on, spend from task-specific functions, including the document and classification ones, counts toward the budget. Moving a job won't hide it.

  3. 5 Nov 2026
    Databricks posts the change

    It's in the November release notes and on the What's coming page.

  4. 18 Nov 2026
    Variant shredding breaks 15.4 reads

    Clusters on 15.4 can't read or write new VARIANT tables with shredding on, created on 17.3 or above. One more reason to get off it.

  5. Jan 2027
    AI Functions stop below 17.3 LTS

    No exact day given. Plan as if it's the first week, because you can't schedule around a date you don't know.

  6. 1 Feb 2027
    14.3 LTS support ends

    AI Functions already needed 15.4, so this hits other workloads, often on the same clusters.

  7. 19 Aug 2027
    15.4 LTS support ends

    After this you can't pick it in the UI. The API still creates it until end of life.

  8. 22 Oct 2028
    17.3 LTS support ends

    Every LTS gets three years from release. 18 LTS lasts until June 2029, which buys you more time if you're testing anyway.

side by sideStaying put against moving now
Stay on 15.4 or 16.4 LTS
  • AI steps start failing in January. Databricks hasn't said which day
  • The rest of the job still runs and still gets security fixes. That only lasts until each runtime's support ends
  • You do the same upgrade later anyway, for the 15.4 (Aug 2027) and 16.4 (May 2028) support dates
  • New VARIANT tables with shredding on can't be read or written from 15.4
Move to 17.3 or 18 LTS
  • AI Functions keep working, and 17.3 LTS has support until October 2028. You won't be back here for a while
  • One test cycle covers Spark 4, Java 17 and Scala 2.13 together
  • ANSI SQL is on by default, so bad casts now raise errors instead of nulls
  • input_file_name stops working, and Auto Loader does full directory listings by default
chapter 04

Your options, side by side

There's more than one way out, and the right one depends on how much code sits on the same cluster as the AI step.

tableFour ways to handle the January change
OptionEffortRiskFits when
Move the whole cluster to 17.3 or 18 LTSA full regression test of every notebook and JAR on itSpark 4, Java 17 and Scala 2.13 changes, all at onceThe cluster is small or already close to 16.4 on Scala 2.13
Split the AI step onto serverless or a SQL warehouseOne new task and a hand-off tableLow for the AI step. The old code stays where it is for nowA big legacy job has one AI step, and the rest can't move before January
Use an AI Function task in the job (Beta)Reconfigure the step, no SQLBeta behaviour can still changeThe step is ai_parse_document, ai_extract or ai_classify, and the data isn't regulated
Do nothingNone nowThe step errors in January and downstream tables go staleOnly if the AI step is truly unused. Check first

Splitting buys time; it doesn't remove the upgrade. 15.4 LTS loses support in August 2027 anyway, so treat a split as the bridge and put the full move on next year's plan.

find-old-runtimes.sqlexample output
-- example: job tasks that ran on classic clusters below 17.3 in the last 30 days
WITH clusters AS (
  SELECT workspace_id, cluster_id, cluster_name, dbr_version, owned_by
  FROM system.compute.clusters
  QUALIFY ROW_NUMBER() OVER (PARTITION BY workspace_id, cluster_id ORDER BY change_time DESC) = 1
),
task_compute AS (
  SELECT workspace_id, job_id, task_key, EXPLODE(compute_ids) AS cluster_id
  FROM system.lakeflow.job_task_run_timeline
  WHERE array_size(compute_ids) > 0
    AND period_start_time >= current_date() - INTERVAL 30 DAYS
)
SELECT DISTINCT t.workspace_id, t.job_id, t.task_key, c.cluster_name, c.dbr_version, c.owned_by
FROM task_compute t JOIN clusters c USING (workspace_id, cluster_id)
WHERE c.dbr_version RLIKE '^([0-9]|1[0-6]|17\\.[0-2])\\.'
-- then search the code of each job for ai_ functions; the system tables won't show it

That last comment is where the inventory gets harder. The query history table covers SQL warehouses, serverless notebooks and jobs, and Lakeflow pipelines. It doesn't list classic clusters running notebooks or jobs, which is exactly where this change bites. Its statement_text column is also redacted unless you're an account admin or in the databricks_pii_access group. So the system tables tell you which clusters are old, and you still have to read the code to know which ones call AI Functions.

chapter 05

What to do now, by role

Who does what before January

Head of data or business ownerthis week
  • Ask which reports depend on an AI step in Databricks. Ticket routing, document extraction and summaries are good places to start.
  • Name one owner for the runtime move. Without one, it surfaces as a failed job in the first week back.
  • Decide now whether a holiday change freeze covers Databricks jobs, and schedule the move before it.
Platform adminthis week
  • Pull every cluster below 17.3 from system.compute.clusters, latest row per cluster, with dbr_version and owned_by.
  • Join job_task_run_timeline to those clusters to see which jobs actually ran on them recently.
  • Check cluster policies that pin spark_version to 15.x or 16.x. They'll block the upgrade even when the job owner wants it.
  • Export the workspace with databricks workspace export-dir and search it for ai_ calls. The system tables won't show you the SQL that classic clusters ran.
Data engineersby mid-December
  • Clone each affected job onto 17.3 LTS and run it against a copy of real data.
  • Rebuild JARs for Scala 2.13 and Java 17, and swap input_file_name for _metadata.file_name.
  • Look for casts that relied on silent nulls. ANSI mode turns them into errors.
  • Set cloudFiles.useIncrementalListing to auto where Auto Loader needs the old listing behaviour.
ML and FinOps ownersbefore the switch
  • Record what each AI step costs today from system.billing.usage, so a move doesn't hide a change in spend.
  • Check your Unity Gateway budgets. Since 1 November they count spend from some AI Functions, so a job you've moved still shows up there.
  • If you split a step onto serverless, agree who owns that compute line on the bill.

The order we'd run it in

  1. 01
    List the old clusters

    Take the latest row per cluster from system.compute.clusters and keep anything with dbr_version below 17.3. Note the owner, and whether it's a job, pipeline or all-purpose cluster from cluster_source.

  2. 02
    Find the AI calls

    Search exported notebooks, repos and job SQL files for ai_query and the other ai_ functions. Ignore ai_similarity for this change. Query history won't help for classic clusters.

  3. 03
    Pick the target

    17.3 LTS is the minimum and has support to October 2028. 18 LTS runs to June 2029. Databricks recommends Runtime 18.2 or above for AI Functions, so check which 18.x image meets that before you pick.

  4. 04
    Test on a clone

    Run each job on the new runtime against real data. Compare row counts and output against the old run. Expect ANSI cast errors and Scala 2.13 build failures first.

  5. 05
    Cut over job by job

    Change spark_version in the job definition, not by hand on a running cluster. Watch the first two scheduled runs and keep the old definition so you can switch back.

  6. 06
    Lock it in

    Update cluster policies so new compute can't pick a runtime below 17.3. Then check monthly for clusters someone created through the API.

chapter 06

Stop the next runtime change catching you out

before

Before: runtime picked once, forgotten

Each team chose a runtime when it built the cluster. Nobody owns a list of what runs where.

Before: runtime picked once, forgotten Each team chose a runtime when it built the cluster. Nobody owns a list of what runs where. 01 · CODE 02 · CLASSIC COMPUTE 03 · MODEL SERVING 04 · OUTPUT runs on AI call results Notebooks and job SQL ai_query in one step Jobs cluster 15.4 LTS, pinned Serving endpoint your model Labelled table feeds reports © Cohash · cohash.com
01 · CODE02 · CLASSIC COMPUTE03 · MODEL SERVING04 · OUTPUT Notebooks and job SQL: ai_query in one step Notebooks and job SQL ai_query in one step Jobs cluster: 15.4 LTS, pinned Jobs cluster 15.4 LTS, pinned Serving endpoint: your model Serving endpoint your model Labelled table: feeds reports Labelled table feeds reports runs on AI call results © Cohash · cohash.com
after

After: the runtime is a policy, not an accident

A policy keeps new compute on a supported runtime, and a monthly query flags anything that slipped through.

After: the runtime is a policy, not an accident A policy keeps new compute on a supported runtime, and a monthly query flags anything that slipped through. 01 · CODE 02 · GUARDRAILS 03 · COMPUTE 04 · WATCHING allows runs on AI step logged Notebooks and job SQL tested on 18 LTS Cluster policy 17.3 LTS and up only Jobs cluster 18 LTS Serverless kept current by Databricks System tables monthly runtime check © Cohash · cohash.com
01 · CODE02 · GUARDRAILS03 · COMPUTE04 · WATCHING Notebooks and job SQL: tested on 18 LTS Notebooks and job SQL tested on 18 LTS Cluster policy: 17.3 LTS and up only Cluster policy 17.3 LTS and up only Jobs cluster: 18 LTS Jobs cluster 18 LTS Serverless: kept current by Databricks Serverless kept current byDatabricks System tables: monthly runtime check System tables monthly runtime check allows runs on AI step logged © Cohash · cohash.com

Durable fixes

  1. 01
    Restrict runtimes in cluster policies

    The spark_version attribute takes an allowlist or a regex. Allow 17.3 and 18 LTS only, and add the next LTS when it's been tested.

  2. 02
    Don't trust auto:latest-lts to upgrade

    The special value auto:latest-lts picks the latest LTS when compute is created. Databricks notes it doesn't make existing compute update itself when a new runtime comes out.

  3. 03
    Move small AI steps to serverless

    Serverless compute gets upgraded by Databricks, so the runtime question goes away for that step. Check the cost first in system.billing.usage.

  4. 04
    Read What's coming every month

    This change and the 15.4 variant shredding break both appeared on Databricks' What's coming page. Ten minutes a month there is cheaper than a failed job.

  5. 05
    Keep a runtime inventory

    Run the system tables query every month and send each cluster owner their list. The owned_by column gives you the name, so nobody has to guess who to chase.

chapter 07

If a job fails after the change

When an AI step or an upgraded job breaks

There are two different failures here. Either the AI call errors on an old runtime, or the upgraded runtime breaks some other part of the job. Work out which one before you touch anything.

  1. 01Confirm the causefirst hour
    • Open the failed run and read the error on the AI step. Check dbr_version on the cluster it ran on.
    • If the cluster's below 17.3 and the failing cell calls an ai_ function, you've hit the January change. You don't need to dig further.
    • If the cluster is already on 17.3 or later, look for ANSI cast errors, missing input_file_name or JAR class errors instead.
  2. 02Get output flowingsame day
    • Move only the AI step onto serverless or a SQL warehouse and rerun it. Leave the rest of the job alone.
    • For an upgrade regression, put the job back on its old definition, minus the AI step, while you fix it.
    • Tell report owners which tables are stale and since when. Otherwise they find out from a wrong number on a dashboard.
  3. 03Backfillfirst week
    • Rerun the AI step for the missed days. Check cost against system.billing.usage before a large backfill.
    • Compare row counts with a normal week, so a half-run doesn't pass for a full one.
  4. 04Fix it properlyfirst month
    • Finish the full runtime move on a clone, then cut over.
    • Fix casts at the source instead of turning ANSI mode off. Use spark.sql.ansi.enabled=false only as a short, logged exception.
  5. 05Learn from itafter
    • Add the cluster to the monthly runtime report and tighten its policy. Then the next change shows up on a list instead of in a failed run.
    • Write down how long the move took. You'll need that number when you plan around 15.4's support end in August 2027.

Four illustrative situations

01 Claims job 15.4 LTS, Scala… 02 ai_extract errors in January 03 Serverlesstask runs the AI step 04 Claims table still current
scenario 01High risk
An insurer's claims job on 15.4 LTS with old JARs
the setup
A nightly job on a classic jobs cluster runs ai_extract on claim letters. The same cluster runs Scala 2.12 JARs written two years ago, on 15.4 LTS.
what happens
In January the extraction step errors and the claims table stops updating. Moving the cluster to 17.3 means Java 17, Scala 2.13 and Spark 4 for the JARs too.
what to do
Split the extraction onto serverless before the freeze, so claims keep flowing. Then plan the JAR rebuild for Q1, well ahead of 15.4's August end date.
01 Notebook serverless 02 ai_summarize still works 03 Dashboard SQL warehouse
scenario 02Low risk
An analytics team already on serverless
the setup
An analytics team summarises support tickets with ai_summarize. They've never run a cluster of their own: it's all serverless notebooks, plus dashboards on a serverless SQL warehouse.
what happens
January should pass this team by. Serverless stays current, and as we read the notice, warehouses aren't in scope, so all that's left is a quick check.
what to do
Run one test query on each warehouse in December to confirm it. Then check nobody on the team has a personal all-purpose cluster pinned to an old runtime.
01 Review job ai_query 02 Cluster policy 16.4 LTS only 03 Upgrade blocked until policy changes
scenario 03Medium risk
A retailer whose policy pins 16.4 LTS
the setup
A retailer's platform team holds every job cluster on 16.4 LTS through a cluster policy, using the Scala 2.12 image. Meanwhile one product team has started classifying reviews with ai_query.
what happens
The product team wants 17.3, but the policy won't let them pick it. Their job fails in January while the policy change waits in someone's queue.
what to do
Platform team: add 17.3 and 18 LTS to the policy allowlist now. Product team: test on a clone and move first, since their job is the one that breaks.
01 ai_query clean errors in January 02 ai_similarity exempt 03 Matches empty table
scenario 04Medium risk
A matching job that mixes functions
the setup
A data team matches supplier names with ai_similarity on a 15.4 LTS cluster. Last quarter someone added an ai_query step to clean the names first.
what happens
The team knows ai_similarity is exempt and assumes they're fine. Then the cleaning step fails in January, and matching runs on an empty input.
what to do
Search the code for every ai_ function, not the one you know about. Move the cluster or split the ai_query step.
chapter 08

How Cohash helps

We build and run Databricks platforms, including compute policies, serverless settings and cost reporting from system tables. For this change, we'd start with the runtime inventory and a search for AI Function calls, then test the move on clones before anything goes live. See our Databricks services, hire Databricks engineers for your own team, or start with a free assessment of which clusters and jobs January will touch.

key takeaways

What to take from this

  1. 01

    From January 2027, AI Functions in SQL return an error on any Databricks Runtime below 17.3 LTS. ai_similarity and the AI Functions REST API are exempt.

  2. 02

    15.4 LTS and 16.4 LTS are still supported after that date, so lifecycle reports won't flag them. Check runtime versions yourself.

  3. 03

    Classic clusters are where it bites. Serverless and Lakeflow pipelines already run newer versions, and SQL warehouses look safe as we read the notice.

  4. 04

    Query history doesn't cover classic clusters. Use system.compute.clusters for versions and search the code for ai_ calls.

  5. 05

    15.4 to 17.3 means Spark 4, Java 17 and Scala 2.13 at once. Split the AI step off if the full move can't happen before the freeze.

platforms in this noteDatabricks →
fact-checked November 2026 against vendor and official documentation · where to go next
  1. How Cohash delivers Databricks: scope, roles and architecture
  2. Hire vetted Databricks engineers
  3. Data engineering
  4. Book a 30-minute working session with a senior engineer
01My cluster runs 15.4 LTS. Will its AI Functions still work in January 2027?

No. From January, calls from any runtime below 17.3 LTS return an error, and that includes 15.4 LTS and 16.4 LTS. AI Functions already needed 15.4, so in practice it's anything from 15.4 up to 17.2.

02Is ai_query affected?

Yes. Databricks' What's coming page says AI Functions that need 15.4 LTS or above move to 17.3 LTS, with ai_similarity as the only exception. The ai_query docs already link to that change.

03We only use serverless and SQL warehouses. Do we need to do anything?

Probably not. Serverless compute and Lakeflow pipelines already run versions above 17.3. Pro and serverless warehouses run Databricks SQL versions, and as we read the notice they're not in scope. Run one test call in December to be sure.

04Is 15.4 LTS still supported?

Yes, until 19 August 2027, and 16.4 LTS until 9 May 2028. Support only covers the runtime. AI Functions in SQL still stop on both in January 2027.

05What's the exact date in January?

Databricks hasn't given one. Both the November release notes and the What's coming page say only January 2027, so plan to finish before the year ends.

06Should I move to 17.3 LTS or 18 LTS?

Take 17.3 LTS if something on the cluster can't go any further. It's the minimum, and it's supported until October 2028. If you're running a full test anyway, the newer LTS usually makes more sense, since 18 LTS runs to June 2029. Databricks also recommends 18.2 or above for AI Functions, so check which 18.x image gets you there.

07Can I turn ANSI mode off to make the upgrade easier?

Spark 4.0 lets you set spark.sql.ansi.enabled to false to get the old behaviour back. Use it as a short bridge while you fix bad casts, not as the end state.

up next in this track

Keep the thread going.

What shipped, what changed underneath, and what it means for your upgrade.

  1. 01HashiCorp Vault 2.2 explained: TPM login, post-quantum PKI and the October fixes
  2. 02Upgrading to SailPoint IdentityIQ 9.0: what breaks and what to fix first
  3. 03Terraform 1.17 explained: what's new, who it touches and how we'd upgrade
  4. 04BeyondTrust Remote Support zero-day: patch it, then check who got in
  5. 05Patch PHP and Node.js this week: what broke and who's exposed
  6. 06OpenShift support dates through 2027: which clusters run out first and how to plan the upgrades
  7. 07Oracle's October security patches: what to fix first in EBS, PeopleSoft and Access Manager
  8. 08Oracle Java drops four root certificates over eMudhra: patch, then test what breaks
  9. 09Delinea Secret Server auth bypass: why the FIDO2 hotfix isn't enough
  10. 10IBM Verify Access flaws let attackers run code without a login: patch to 11.0.3.2
  11. 11Foundry Workflows retire on December 1. We'd start moving yours to Agent Framework now
  12. 12Vertex AI is retiring text-embedding-005 and three other embedding models: how to re-embed before search breaks
  13. 13dbt drops v1.3 to v1.7 from its platform on January 31, 2027: get pinned jobs onto a release track before they're deleted
  14. 14Brotli CVE-2026-111497 is now on CISA's exploited list, and you probably run more copies than you think
  15. 15Auth0 moved the Rules and Hooks deadline: Hooks stop on 30 April 2027, Rules on 31 January 2028
  16. 16Still on Okta Classic Engine? Three features stop working on March 5, 2027, and two of them block the upgrade
  17. 17Patched GitLab, still exposed: the CI regex bug CISA lists as exploited, and the Ruby step people miss
  18. 18Patched Ivanti Connect Secure in October? Two more exploited bugs, and the AD cleanup
  19. 19Patch roundup, week of Oct 26: upgrade Secret Server today, then work down the list
  20. 20UiPath 2023.10 support has run out and 2024.10 is next. What we'd upgrade first
  21. 21Password Safe 24.3 runs out of support in December, and 26.3 is still one upgrade away
  22. 22Upgrade Entra Connect Sync before April 2027 and move users off Microsoft's SMS codes
  23. 23Chrome drops XSLT on 17 November. What breaks in InterSystems, and the fix for your version
  24. 24Agent Builder, Evals and saved prompts shut on 30 November. Here's what to pull out first
  25. 25BeyondTrust Remote Support and PRA 24.3 lose support in November, and there's no one-step upgrade
  26. 26OpenShift 4.19 is running out of support. Do you park on 4.22 or keep going to 5.0?
  27. 27Terraform Enterprise 2.1 moves VCS ingress into your agents. What to change before October 2027
  28. 28Mule 4.12 Edge leaves standard support this month. Upgrade to 4.13 before CloudHub does it for you
  29. 29RSA SecurID primary support ends in stages from December. Here's how you get to 8.9
  30. 30Delinea Secret Server login bypass: why 12.2.7 won't save you from this 9.9
  31. 31Entra password reset won't take directory phone numbers from February 2027. Who gets stuck?
  32. 32Linux kernel CVE-2026-98432: why switching off MPTCP won't save you, and what to patch
  33. 33Patch roundup, week of Nov 2: fix Linux and WS_FTP first, then work down the list
  34. 34Auth0's lazy migration changes on 20 January 2027, and half-imported users won't fix themselves
  35. 35Your Databricks AI Functions need Runtime 17.3 LTS by January 2027, even if 15.4 is still supported
  36. 36SonicWall's SSL VPN bug lets a valid password skip SAML and your MFA
  37. 37You patched your Cisco email gateway. One email can still take it over.
all learning tracks →
01 VPN loginpage 02 Alternatepassword 03 SAMLskipped 04 No MFAprompt 05 Inside thenetwork
Security · 15 minSonicWall's SSL VPN bug lets a valid password skip SAML and your MFA

A password for another login skips SAML. MFA never asks.

read next
next step

Tell us what you're running. We'll tell you what we'd do first.

A 30-minute working session with a senior engineer. No slides.

useful to bring
  • The platform and the version you're on
  • Where you need to get to, and by when
  • What's custom: rules, plugins, integrations
  • Any audit finding or deadline driving it