[Looking for Charlie's main web site?]

Announcing updates of Apr 21, 2026 for Java 26, 25, 21, 17, 11, and 8 - thoughts and resources

It's that time again: there are new Oracle JVM updates released today (Apr 21, 2026) for the current long-term support (LTS) releases of Oracle Java 25, 21, 17, 11, and 8, as well as the newest short-term release, 26. (Yep, kind of crazy that there are for now 5 current Oracle Java "LTS" releases, for historical reasons.)

TLDR: The new updates are 26.0.1, 25.0.3, 21.0.11, 17.0.19, 11.0.31, and 1.8.0_491 (aka 8u491) respectively. The update seems a pretty modest one, without seeming breaking changes (though my opinion is based solely on my read of the update release notes, in this first day).

More on the updates below, including links to more info on each of them including what changed, bug fixes, and the security fixes each version contains. (I also offer a quick assessment of the changes listed for the updates.)

Also, openjdk updates are usually released at the same time or soon after, so this info may help users of such alternative JDK implementations.

For some folks, the above is all they need to hear. For others, whether this your first time updating Java or your fiftieth, there are some things that you may or may not know, as I cover here.

[....Continue Reading....]

Comments
This might be a bit unrelated blog article to post my comment under - so please forgive me in advance and point me in the right direction - but since the last CF2023 update the CF server has had numerous problems rendering utf-8 characters properly. Google search says to add -Dfile.encoding=UTF-8 in the JVM config but before I do that I wanted to seek the expert advice.

Will adding this to the jvm config break any legacy ASCII file based code in our system? We have been running banking related app since 2001 so it is critical that we do not break anything legacy. Thank you.
Himanshu, I will say first that no, this doesn't seem the right place--since you say that the issue started with your last update of CF. Maybe you thought it could be since you're asking about "jvm arguments", but what you refer to are not new args with THIS recent JVM update.

Still, you've written here already, so let's plow on. First, a few questions (you can use the numbers to offer your answers):

1) You don't clarify WHAT update was "the last update" you applied. Was it the one that came out last week, CF2023's update 19? If you don't have access to the CF admin, you can see the current CF update version by dumping CF's server.coldfusion.productversion variable. And do you know what update were you on BEFORE that? That could be significant to understanding your problem.

2) And as for what else may have changed, when you (or a colleague) updated your CF, did you ALSO happen to update your JVM that CF uses, as discussed in this post? If so, what JVM version does the CF admin show you now using (use the "settings summary" page on the first Admin "settings" button). If you don't have access to the admin, dump cf's server.system.properties["java.version"] variable.

And do you know what JVM version it was using before?

3) And what OS is CF running on? Windows? Linux? Mac? And what locale/language is your CF server set for?

Whenever trying to understand "why did things break", it's CRUCIAL to understand whatever was changed. Often people think it was one thing (like in your case, "the last cf update"), when it may well be that or something else, or a combination of things. Or people may pose "answers", but they may not suit YOUR setup.

Indeed, to your asking about adding the jvm arg "-Dfile.encoding=UTF-8", I'll assume you mean you find that none is set currently, right? I'll clarify for readers that that there is NO arg of that name set for CF (2023 or 2025) by default.

And therefore its value is decided upon by Java (not CF)--and Java decides based on not only your Java version but also your OS (thus my questions above). More specifically, note that for Java 18 and above, it now DEFAULTS to utf-8 for ALL OS's. But since C2023 runs (and is supported only to run) on Java 17 (while CF2025 is supported only to run on Java 21, so this arg/value you propose should NOT be needed for CF2025.)

4) So are you aware of what your CURRENT jvm file.encoding value is? I would propose it's always wise to know what value you are changing FROM when making such jvm changes. Also, it may prove helpful for you (or us) to know.

If you have access to the CF admin, it's shown there on that same "settings summary" page as "Java File Encoding". If you don't have access to the admin, dump out the value of CF's server.system.properties["file.encoding"] variable. For my CF2023 on Windows it reports being Cp1252. If yours is something else, perhaps that's worth digging into.

5) Finally, you didn't say what your errors were beyond "rendering utf-8 chars". Is that in outputting html, from CF pages? Or was it maybe about CF accessing files? Or accessing data returned from external applications/api's?

FWIW, many such operations have their own way to set the encoding for that specific operation, which might be another solution (or even perhaps another explanation for problems). And beyond looking at the CFML reference docs, see also the discussion in the CF Developer's Guide about such character encoding, at https://tinyurl.com/ye25mj2p

I realize you probably didn't want to be asked a lot of questions. You just want to know if your sites will break if you make this change. I'm afraid I simply can't tell you that. I'm not sure if anyone else can (but perhaps they may).

Indeed, finally, I can't help but offer also that if you're asking this because you only have a prod environment and so fear making the change, I would push back STRONGLY that this is the EXACT reason one should have a dev or test environment, so as to mimic prod (as well as possible), such that you could make the change there and find your answer without such grave risk.

Let's see if any of the above may have helped you, or if your answers to the questions may help me or others to help you further.
Thank you kindly for writing back. Your help to the community is very much appreciated as always.

1. last update on the Cf2023 server was Update Level: 18 applied - Fri, 27 Mar 2026. I also do not know for sure what update level the server was on before that. To clarify - we believe this UTF-8 issue may have been present even before the last update but maybe not as prevalent since we are only now update OLD code that was running on CFMX. New Tailwind CSS design UI pages use UTf-8 characters apparently and since our QA person has flagged multiple weird looking characters on our new UI pages we are only now addressing the issue and hence it got me to your blog. In short - we do not really know if it was "working" before and something broke it - but we are trying to get it fixed now !

2. JVM is 17.0.6

3. OS is Windows Server 2022, English en_US and more details below from the settings summary page. I noticed that the Java File Encoding is Cp1252
Java Version 17.0.6
Java Vendor Oracle Corporation
Java Vendor URL https://java.oracle.com/
Java Home X:\<folder>\jre
Java File Encoding Cp1252
Java Default Locale en_US

4. it appears from the settings summary that the file encoding is Cp1252 - and we dare not touch that unless we know for sure that changing it won't break our legacy code.

5. CF is not throwing any errors, all CFFILE reads are working as expected so far - but there are lots of weird characters such as — displaying on various pages. We have tried adding <cfprocessingdirective pageencoding="utf-8"> on top of our .cfm pages but that does not seem to help either.

Thank you again.
Thanks for the kind regards. As for your issue, it's helpful that you've confirmed the problem is not new since any particular cf or Java update.

That said, it's really hard to know then what has led to the change in behavior.

Believe it or not, since you've started editing old code (if seems), note that these character encoding problems can happen BECAUSE OF YOUR EDITOR. And of course, you may have different devs using different editors. One may be stubbornly sticking to a very old one which may be introducing these problems, when they edit code.

Or the problem could be in your database. There are char encoding features in most DBs, settable at the db server, db, table, or column level. Similarly, the change could be about data being sent to the database across the cf jdbc connection, and that has configurability regarding character encoding.

I don't think there's going to be one magic change in cf or its jvm args that will fix this, but again perhaps someone with more familiarity with the problem may say otherwise.

You may want to ask across a far broader set of eyes--even just within the cf community. I list several places where you can ask such questions at cf411.com/cfsocialhelp. Let us know here if you end up with a simple explanation and solution.
Copyright ©2026 Charlie Arehart
Carehart Logo
BlogCFC was created by Raymond Camden. This blog is running version 5.005.
(Want to validate the HTML in this page?)

Managed Hosting Services provided by
xByte cloud Hosting