IntelliJ IDEA
IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin
Java Annotated Monthly – September 2025
This month’s Java Annotated Monthly comes with a fresh mix of Java, Kotlin, AI, and tech news, plus a look at some great events you won’t want to miss. We’ve also got a featured section by Marit van Dijk, covering the new Java 25 release, the latest IntelliJ IDEA updates, and a playful take on learning modern Java.
Let’s go!
Featured Content
Welcome to Java Annotated Monthly for September. For the folks in Europe / the Northern hemisphere, I hope that you have had a great summer and were able to disconnect from work.
This month, I’m excited for the start of the conference season with my first talk at JavaZone and, of course, the release of Java 25 on September 16, 2025. This release comes with some nice changes to the language: Compact Source Files and Instance Main Methods and Module Import Declarations make it easier to get started with Java, Flexible Constructor Bodies allow statements in a constructor before calling super(), so you can validate your data before constructing objects, and Scoped Values make managing thread-local data more convenient, safe, and scalable. This feature will be even more useful with Structured Concurrency (still in preview). In addition, there are improvements in performance and performance insights, as well as several other changes. We will write a blog post with more details later this month.
Java 25 support was introduced in IntelliJ IDEA 2025.2, with additional support added in 2025.2.1. IntelliJ IDEA already introduced support for Java 25 in 2025.2, and additional support was added in 2025.2.1. In case you missed it, check out the What’s New in IntelliJ IDEA 2025.2 stream, where we show you Java 25 support, Virtual Threads Debugger, Spring Debugger and Spring Modulith support, support for Maven 4 (which may also be released soon), and a sneak peek of a new feature we are working on!
Java 25 will be an “LTS” version. Or is it? If you are updating from Java 21, watch this great video by Nikolai Parlog on How to Upgrade to Java 25, showing you some of the problems you might encounter when upgrading and how to solve them, the overview of All New Java Language Features Since Java 21 by José Paumard, and other videos in the series.
In Learning Modern Java the Playful Way, fellow Java Champion Piotr Przybył and I show you how to upgrade your code using live demos (and silly jokes). You can catch a slightly updated version of this talk at several conferences this Fall/Autumn. To find out where I’ll be, check my website. If you happen to be at any of these events, please come say hi!
Java News
Do not miss the latest Java news:
- Java News Roundup 1, 2, 3, 4
- Java Architects Answer Your Questions – Inside Java Newscast #97
Java Tutorials and Tips
Learn more about where Java is heading and how to make the most of its latest features:
- Why Java is Still Worth Learning in 2025: A Developer’s 25-Year Journey
- How to Build an MCP Server With Java SDK
- Pattern-Matching Across Different Languages
- “Best of Java” Feature Face-off 2025
- Using the Java Playground
- The Not-So-Final Word on Final #JVMLS
- Domain-Driven Design in Java: A Practical Guide
- Growing the Java Language #JVMLS
- How to Upgrade to Java 25 #RoadTo25
- Ahead-of-Time Computation #RoadTo25
- Taking Java Arrays to Another Dimension
- All New Java Language Features Since Java 21 #RoadTo25
- STF Milestone 5: Discovery Issues
- Solving Java’s 1 Billion Row Challenge (Ep. 1) | With @caseymuratori
Kotlin Corner
Check out this section for everything Kotlin, from fresh updates to handy tips and tricks:
- Kotlin Notebook Meets IntelliJ Platform: Advancing IDE Plugin Development
- How Kotlin Notebook Helps You Teach Programming
- How to Boost JVM Scalability and Performance With Kotlin and Azul Runtime
- When Tool-Calling Becomes an Addiction: Debugging LLM Patterns in Koog
- Building Better Agents: What’s New in Koog 0.3.0
- Kickstarting AI Agent Development With Koog
- Building Smarter AI Agents With Koog
- How to Build Scalable AI Agents With Kotlin, Ktor, & Koog
- GPT-5 Writes Kotlin! Trying the Newest OpenAI Model in Junie and AI Assistant
- Modular Ktor: Building Backends for Scale
- Talking Kotlin #140: kotlinx.rpc
- Kotlin: Emerging Patterns With Context Parameters
- Exploring Data Science With Kotlin: A Powerlifting Case Study
AI
Stay in the loop with the latest AI news and insights you won’t want to miss:
- You Can Build Better AI Agents in Java Than Python
- Presentation: The Form of AI
- Introducing Next Edit Suggestions in JetBrains AI Assistant
- A Simpler, More Transparent Model for AI Quotas
- Vibe-Coding a Chrome Extension With Gemini CLI to Summarize Articles
- Presentation: Key Lessons From Shipping AI Products Beyond the Hype
- How Figma Uses AI to Support, Not Replace, the Designer
- Do We Understand the Value of AI Knowledge?
- Make Your Ideas Clickable With Kineto by JetBrains
- Anthropic Investigates How Large Language Models Develop a Character
- From Autocomplete to Agents: AI Coding State of Play
- Presentation: 10 Reasons Your Multi-Agent Workflows Fail and What You Can Do About It
- AI Gives Time, Not Confidence: Developer Productivity Toolkit
- Build Better Agents in Java Than Python: Embabel vs Pydantic AI
Languages, Frameworks, Libraries, and Technologies
Explore other technologies and frameworks that help boost productivity and make everyday development smoother:
- This Week in Spring 1, 2, 3, 4
- Debugging Transactions? Let Spring Debugger Do the Heavy Lifting
- IntelliJ IDEA 2025.2 and Spring Modulith
- Breaking the Architecture Bottleneck • Andrew Harmel-Law & Marit van Dijk
- 🧱 Monolith or 🧩 Microservices in 2025?
- Semantic Caching With SpringBoot & Redis
- New Features in Jakarta EE 11, With Examples
- Preparing for Spring Framework 7 and Spring Boot 4
- Fearless Programming With Rust
Conferences and Events
Visit the coolest events of the month, both offline and online:
- The Marco Show – Join a cool new podcast with Marco Behler as a host and the best guests from the development world.
- JavaZone – Oslo, Norway, September 3–4, JetBrains will host a booth there. You are welcome to come and meet us.
- Jalapeño Unconference by JConfMexico – Puerto Morelos, Mexico, September 13–14.
- Java Forum Nord – Hannover, Germany, September 16.
- JC Conference Taiwan – Taipei, Taiwan, September 19. Do not miss our booth!
- Confiture 2025 – Warsaw, September 19–20 , Marit van Dijk will give a talk here.
- AI4DEVS – September 19, Anton Arhipov will talk about building AI agents in Kotlin
- JUG Saxony Day – Dresden, Germany, September 25–26.
- Voxxed Days Crete – Crete, Greece, September 26–27.
- Dev2Next – Colorado Springs, USA, September 29 – October 2.
- JAX London – London, United Kingdom, September 29 – October 3.
- GOTO Copenhagen – Copenhagen, Denmark, September 29 – October 3.
- All talks from IntelliJ IDEA Conf 2025 – A lot of useful content and insights.
- The Geek Gathering – Osijek, 2-3 Oct 2025. Marit van Dijk will share her thoughts on learning modern Java the playful way.
Culture and Community
Find articles on developer life, career growth, and the lighter side of working in tech:
- How Do You Ask Questions?
- How Empathy-Driven Platform Teams Can Support Software Development
- Continuous Deployment and Pair Programming for Lean Software Delivery Even Without Jira
- The European Cloud Dilemma: Innovation Versus Digital Sovereignty
- Testability Is About People, Not Just Code
- Trisha Gee: It’s All About Relationships and People
And Finally…
Check out IntelliJ IDEA’s latest content picks for tips, updates, and inspiration:
- IntelliJ IDEA 2025.2 Is Here!
- What’s Fixed in IntelliJ IDEA 2025.2
- What’s New in IntelliJ IDEA 2025.2 | IntelliJ IDEA Talk
That’s it for today! We’re always collecting ideas for the next Java Annotated Monthly – send us your suggestions via email or X by September 20. Don’t forget to check out our archive of past JAM issues for any articles you might have missed!