Code Remix sessions - 2025
Scaling code transformation: A practical playbook (December 17th, 2025)
Taint Tracking & Data Flow Analysis (December 10th, 2025)
Spring Boot 4 Awakens with DaShaun Carter (December 3rd, 2025)
Automating adoption and optimization with Timefold (November 19th, 2025)
Quantum-ready cryptography with Moderne (November 12th, 2025)
No type left behind: type attribution in OpenRewrite (November 5th, 2025)
Refactoring horror stories (October 29th, 2025)
GitHub actions hardening tips & recipes (October 15th, 2025)
Live long and code: What's new in Java 25 and Beyond (October 8th, 2025)
If you had to modernize a legacy app today... (October 1st, 2025)
Kotlin vs. Java: Has Java caught up? (September 24th, 2025)
OpenRewrite power moves part 3: Using traits (September 17th, 2025)
Summary and related links
- Announcements for the week
- Summary
- Traits are a way to build higher-level abstractions over LST elements. They allow you to define common characteristics or behaviors that might apply to different types of LST elements or involve more context than a single element can provide.
- They help consolidate shared logic that you might otherwise put in utility classes, avoiding the need to add extension methods to every LST element. This keeps the public-facing API simpler while maintaining extensibility.
- Some examples of traits include the annotation trait (which represents any LST element that has an annotation, regardless of whether it's a class, method, or variable declaration) and the Gradle dependency trait (which represents different ways dependencies can be declared in Gradle files and provides a common interface to access details like group ID, artifact ID, and version).
- Traits can be converted into a visitor (using
asVisitor())which allows you to process only the LST elements that implement that specific trait, effectively filtering down to what you're interested in as a recipe author. - We also demonstrated how to create a
TodoCommenttrait with aMatcherto identify these comments across different file types.
OpenRewrite power moves part 2: Scanning recipes (September 10th, 2025)
Summary and related links
- Announcements for the week
- OpenRewrite 8.62.0 has been released
- This includes the Java 25 parser and recipes, Spring Boot 3.5 and Spring Cloud 2025 recipes, and various parser fixes.
- We have a new blog post about writing OpenRewrite recipes with Claude code
- We also have a new blog post that covers the latest release of the Moderne CLI and how to collaborate with it
- We are continuing to offer OpenRewrite training sessions to help people learn about using OpenRewrite effectively
- We are hiring! Check out our new careers page
- OpenRewrite 8.62.0 has been released
- Summary
- Check out our documentation on Scanning recipes for most of the information presented during this session. We did provide more real-world examples of building and using a scanning recipe, though.
OpenRewrite power moves part 1: Using data tables (September 3rd, 2025)
Summary and related links
- Announcements for the week
- Olga wrote an article about why AI alone fails at large-scale code modernization
- We are continuing to offer OpenRewrite training sessions to help people learn about using OpenRewrite effectively
- The 2nd annual Code Remix Summit is happening May 11th-13th, 2026 in Florida. Please submit your session proposals by October 31st, 2025.
- Summary
- This week we talked about how to create and use data tables with OpenRewrite recipes. We walked through extending the
DataTableclass and gave examples of various ways you can interact with it. We also talked through how you can test data tables in unit tests. - A couple of important notes about data tables that were mentioned:
- You do not need to create a scanning recipe to use a data table
- Data tables can be used to generate reports (e.g., class hierarchy or to-do lists). They also can be used to generate visualizations.
- This week we talked about how to create and use data tables with OpenRewrite recipes. We walked through extending the
Live Spring AI coding and real-world use cases (August 27th, 2025)
Summary and related links
- Announcements for the week
- Summary
- This week we welcomed Mark Heckler. He spoke about Spring AI and how it provides a unified interface to interact with various AI models (similar to how Spring Data works with different backend stores). He then demonstrated practical use cases for Spring AI. These include:
- Text generation – Generating a summary or even a haiku based on a provided topic using an AI template.
- Retrieval augmented generation (RAG) – Enhancing AI responses by integrating internal documents with a vector store. This allows for specific, fact-based answers relevant to the user's data.
- Conversational AI – Maintaining separate conversation contexts using a conversation AI to prevent data cross-pollination between different user interactions
- MCP / Tool calling – Integrating AI with deterministic external tools, like a weather service, to provide real-time, context-aware information.
- Multimodal AI – Explaining an image and extracting information from it. Often combined with RAG to provide contextually relevant results.
- While AI offers immense potential, it's crucial to understand that AI has weaknesses – especially regarding determinism vs. non-determinism. Mark advocated for combining AI's capabilities with deterministic options for best results.
- This week we welcomed Mark Heckler. He spoke about Spring AI and how it provides a unified interface to interact with various AI models (similar to how Spring Data works with different backend stores). He then demonstrated practical use cases for Spring AI. These include:
HCL Recipes: Making them work for you (August 20th, 2025)
Moderne CLI major release (August 13th, 2025)
OpenRewrite Recipe Showdown: Tim and Claude vs. Sam (August 6th, 2025)
Summary and related links
- Announcements for the week
- Main topic for the week
- This week Sam and Tim compared different approaches to recipe development. They discussed how they use Claude and what the pros/cons are for using it over manual coding.
Forking Camunda 7: Operaton's Java 17 upgrade and migration path (July 30th, 2025)
Summary and related links
- Announcements for the week
- We've done a new release of OpenRewrite - 8.59.1
- There's a bunch of new recipes – including a bunch of new C# recipes.
- We've done a new release of OpenRewrite - 8.59.1
- Main topic for the week
- This week we welcomed Karsten Thoms and Tim Zöller from Operaton. They talked about their experience forking Camunda 7, modernizing it to Java 17, and significantly reducing Sonar issues.
The missing piece in your observability puzzle (July 23rd, 2025)
Summary and related links
- Announcements for the week
- Main topic for the week
- This week we welcomed Mohammed Aboullaite to discuss continuous profiling. We covered topics including:
- The benefits of continuous profiling – identifying performance issues proactively, preventing incidents like memory leaks, and improving code performance
- The challenges of continuous profiling – managing large volumes of collected data, filtering out noise, and ensuring insights are actionable
- Getting started advice for engineers new to profiling
- Helpful tools for implementing continuous profiling
Live Debug: Mapping release train dependencies with OpenRewrite (July 16th, 2025)
Summary and related links
- Announcements for the week
- Main topic
- This week we welcome back Merlin to talk through mapping release train dependencies with OpenRewrite.
Scaling OpenRewrite to 3B lines of code (July 9th, 2025)
Summary and related links
- Announcements for the week
- Releases
- Upcoming releases
- We are going to be adding support for Java 25 and Spring Boot 4. Please reach out if you want to help with either of these.
- Blogs
- Training
- We are offering two courses on OpenRewrite:
- Introduction to OpenRewrite (July 22nd) – 4 hours
- Advanced OpenRewrite training (July 29th) – 4 hours
- We are offering two courses on OpenRewrite:
- Main topic for the week
- This week we welcomed Kevin back to share the story behind building the Moderne SaaS and how we scaled OpenRewrite to support 3 billion lines of code.
Fix slow Gradle builds before they ruin your life (July 2nd, 2025)
Summary and related links
- Announcements for the week
- We wrote a new blog post summarizing the Code Remix Summit
- There are many talks from the conference available on YouTube
- Sonatype has changed the location of where snapshots exist – which will result in various URLs needing to be updated.
OpenRewrite Demystified: What it can really do for you (June 25th, 2025)
Summary and related links
- Announcements for the week
- Releases
- We've done a full release of OpenRewrite – with over 100 new recipes.
- This release includes three new recipe modules – shout out to the community contributed rewrite-netty module.
- We've done a full release of OpenRewrite – with over 100 new recipes.
- Training
- We are offering two courses on OpenRewrite:
- Introduction to OpenRewrite (July 22nd) – 4 hours
- Advanced OpenRewrite training (July 29th) – 4 hours
- We are offering two courses on OpenRewrite:
- Blogs
- We wrote a few blog posts over the past few weeks. These include:
- Releases
- Main topic
- This week we went over common myths that people have about OpenRewrite that aren't true. These myths include:
- "OpenRewrite is just a code formatter" / "OpenRewrite requires a code formatter"
- "You need to write your own recipes to use it"
- "It might break my code or run unsafe transformations"
- "It only works with Java projects"
- "It rewrites everything at once without control"
- "It uses reflection or runs code to make decisions"
- "If it pulls old libraries, my app will be vulnerable"
- "OpenRewrite can not upgrade internal libraries or frameworks"
- "OpenRewrite/Moderne uses AI to make the changes"
- "OpenRewrite is only for upgrades"
- "You can only run recipes once"
- "You have to check every line of code that is changed"
- "OpenRewrite competes with AI technologies"
- "Large refactors are impossible without a monorepo"
- This week we went over common myths that people have about OpenRewrite that aren't true. These myths include:
Gartner APPS Unpacked: Key Takeaways and Insights (June 11th, 2025)
Summary and related links
- Announcements for the week
- Releases
- We've released OpenRewrite 8.55.2 - it comes with a bunch of JavaScript updates and bug fixes.
- Content
- Training
- You can now sign up for an introduction to OpenRewrite and advanced OpenRewrite training courses that we are offering.
- Events
- Releases
OpenRewrite and C#: A match made in .NET heaven (June 4th, 2025)
Summary and related links
- Announcements for the week
- Content
- Releases
- Events
Don't migrate to Spring Boot 3.5 until you watch this (May 28th, 2025)
Summary and related links
- Announcements for the week
- The keynote from the Code Remix Summit is now available on YouTube
- Events:
- Tim will be presenting at the Full Stack Conference on June 3rd about trusting AI to modernize software at scale
- Tim will also be speaking at JFokus in Stockholm on June 10th about the same topic
- If you missed either of the above ones, Tim will be presenting again on the same topic for Devoxx in Luxembourg on June 19th
- Releases:
- We've done a full release of OpenRewrite - 8.54.0. Notable changes include:
- Javascript support
- Spring Boot 3.5 migration recipe
- Spring Cloud 2024/2025 recipes
- Type tables for Maven
- We've done a full release of OpenRewrite - 8.54.0. Notable changes include:
- Main discussions
- This week we talked about a variety of topics such as:
- Better assertions with AssertJ
- An explanation of the recipe licensing changes
- The Spring Boot 3.5 recipe itself
- Recipe performance tips
- This week we talked about a variety of topics such as:
Code Remix Summit Recap (May 21st, 2025)
Summary and related links
- Announcements for the week
- We've partnered with Azul to boost Java developer productivity
- We've also partnered with DiffBlue to combine their AI powered unit test writing with OpenRewrite
- Tim will be presenting about AssertJ at SpringIO this week
- We released a new version of OpenRewrite which includes a JavaScript parser
- Also, the rewrite-maven-plugin now supports TypeTables. For more information check out the OpenRewrite TypeTable documentation.
Fix & Refactor Faster with Venkat Subramanium (April 30th, 2025)
Summary and related links
- Announcements for the week
- We now support Java 24+!
- We also now have support for generic Refastor templates
- This means we've gone from 487 to 912 recipes based on Picnic's Error-Prone Support.
- We released a blog on how to modernize at scale using Moderne's batch change functionality
- Highlighted community question/effort
Building Secure and Scalable Health Systems (April 25th, 2025)
Summary and related links
- Announcements for the week
- Our documentation once again includes example before/after outputs for most recipes. This is based on a recipe that extracts examples from methods annotated with @DocumentExample. Thanks Tim for doing this!
- We did a full new release last week
Code, Change, and Roc with Isaac Van Doren (April 16th, 2025)
Banking vs. Startup: Engineering Lessons Learned (April 9th, 2025)
Summary and related links
- Announcements for the week
- OpenRewrite was featured as #64 on Thoughtworks' tech radar!
- Releases
- Events
- Merlin will be at JCON Europe on May 12th - May 15th
- We have tickets we can give out for this talk. Reach out to us in Slack if you want them.
- Tim will be at Spring I/O in Barcelona on May 21st - 23rd talking about better assertions with AssertJ
- Merlin will be at JCON Europe on May 12th - May 15th
- Recipes
- Highlighted community effort
- Main topic for the week
- This week we welcomed Laurens Westerlaken to chat about his lessons from years at a bank vs. his few months at Moderne.
Scrying the future of Java with Merlin (March 26th, 2025)
Summary and related links
- Announcements for the week
- Code Remix Summit
- We are excited to welcome two new sponsors: CodeGate and Azul!
- CodeGate, from Stacklok, is a new gateway between your AI coding assistance and LLMs, shielding your privacy and enhancing developer productivity.
- Azul, a leader in high-performance Java runtimes, helps companies optimize and modernize their Java applications.
- Both of these places will be participating in the Hack track at the event where attendees will be able to try out the solutions to help an actual business use case.
- We are excited to welcome two new sponsors: CodeGate and Azul!
- Events
- On March 27th, Jonathan will be presenting on making a difference in application security at the RSAC Conference
- A few weeks later, on April 1st - 3rd, Tim and Merlin will be presenting at JavaLand on OpenRewrite and Generative AI on millions of lines of code.
- We also will be at JCON Europe on May 12th - May 15th
- Lastly, we'll be at Spring I/O in Barcelona on May 21st - 23rd
- Releases
- We're doing a new full release of OpenRewrite tomorrow
- Code Remix Summit
- Highlighted community effort
- Fossur, a member of our community, recently created a bunch of recipes for migrating from Dropwizard to Spring Boot.
- Main topic for the week
- This week we welcomed Merlin to discuss the future of Java. We talked through things like what upcoming features we're excited about and what things we need to keep in mind going forward.
The Shanman Strikes Again: Gradle .kts Support (March 19th, 2025)
Summary and related links
- Announcements for the week
- Events
- Tim will be presenting at MiniConfg on March 20th in the Netherlands. In that conference, you can come ask Tim anything about OpenRewrite.
- On March 27th, Jonathan will be presenting on making a difference in application security at the RSAC Conference
- A few weeks later, on April 1st - 3rd, Tim will be presenting at JavaLand on Generative AI on millions of lines of code.
- Don't forget we are going to be hosting a Code Remix summit in May. If you want to come and you need a discount, please send us a message.
- Releases
- There's a new .patch release of OpenRewrite and plugins. There were 37 commits in this week's release!
- Java 24
- We are aware that Java 24 has been released and that there is some incompatibility with that. We are eyeing an early
rewrite-java-25module instead.
- We are aware that Java 24 has been released and that there is some incompatibility with that. We are eyeing an early
- Events
- Main topic for the week
- This week we welcome back Shannon Pamperl. He's one of the oldest and most prolific contributors to OpenRewrite. If you've kept up with code remix weekly sessions, you may recall Shannon as he's been on multiple times before sharing some of the cool things he's done.
- His latest heroic deeds have been around Gradle Kotlin support – which has been an open issue for a few years now.
- The big focus has been around adding/upgrading/changing dependencies as those are central to general migrations.
- After this initial explanation, Sam asked, "Is there a path forward for type-attributed Gradle Kotlin scripts?"
- The answer is "it's probably possible" - either Gradle has to start providing a library that's more easily consumable or we have to require a Gradle distribution being available anytime we need to do parsing. This would be fine for the CLI - but much harder for the Moderne Platform.
- There was also some follow-up discussion on the feasibility of type tables.
- Next up we talked about future goals and what Shannon's plans are going forward. Things like what recipes still need to be done and when is the Gradle Kotlin chapter "complete" or not.
- This transitioned into a discussion of what other areas of OpenRewrite interest Shannon.
Meet Moddy: AI Agent for Multi-Repo Modernization (March 12th, 2025)
Summary and related links
- Announcements for the week
- Releases
- We've done a new release of OpenRewrite! New features include a Gradle KTS parser, the promotion of rewrite-kotlin, and the ability to parse
.mvn/.mvnconfigproperties.
- We've done a new release of OpenRewrite! New features include a Gradle KTS parser, the promotion of rewrite-kotlin, and the ability to parse
- Events
- Today, in Germany, Merlin will be presenting at 30 Jahre Java.
- Tim will be presenting at MiniConfg on March 20th in the Netherlands. In that conference, you can come ask Tim anything about OpenRewrite.
- A few weeks later, on April 1st - 3rd, Tim will be presenting at JavaLand on Generative AI on millions of lines of code.
- Don't forget we are going to be hosting a Code Remix summit in May. If you want to come and you need a discount, please send us a message.
- Releases
- Interesting community question
- There was a community question that we thought was particularly notable and wanted to call out. Someone asked, "Is there a way to tell
rewriteTestto ignore formatting when comparing before and after? Likewise, can we just compare LST equivalence while ignoring static imports or fully qualified types?"- You can find the detailed answer for that in our OpenRewrite FAQ page.
- There was a community question that we thought was particularly notable and wanted to call out. Someone asked, "Is there a way to tell
- Main topic for the week
- This week we welcomed back Justine – who talked about our new AI agent: Moddy. For a detailed written guide on this, check out our blog post introducing Moddy.
- If you've kept up with our code remix sessions, you may remember that Justine was on a code remix session a few weeks ago talking about something similar – Mod Agent. That was the precursor to the latest version – Moddy.
- One of the first key points we discussed was about what Moddy is and what it isn't. Moddy is not a fully trained LLM model like ChatGPT or Llama or whatnot. Rather, it's meant to augment those existing models and connect them to Moderne and OpenRewrite – which is the irreplaceable core. In fact, users can choose to use whatever model they want with Moddy.
- By creating Moddy like this, it means that people can safely run Moddy on their own internal code base without us ever seeing or having access to their code.
- We also touched upon the interesting question of, "Why do you need to augment a model like this? Can't you just ask one of those other models to rewrite a 100,000 files for me?"
- There are a couple reasons for this – first of all, it takes a significant amount of time to run these models. If you're passing in millions of lines of code and thousands of repos, you're going to be waiting a ridiculous amount of time. Then, even when (if) it does finish, it will likely be filled with hallucinations that lead to broken code. Lastly, for many of these models, you would be required to give these LLMs access to your code – which doesn't make sense for most companies.
- After that, Justine took us through a demo of Moddy. With it, you can discover/find relevant recipes and, also, ask it intelligent questions about your code such as, "What repositories do I use Apache Commons in?"
- Moddy isn't widely available yet -- but it will be soon for Moderne customers so keep your eyes out for it.
Security Starts With Culture (March 5th, 2025)
- Announcements for the week
- Events:
- We are at DevNexus this week. If you're here make sure to stop by and say hi!
- Releases:
- Content:
- Dustin, our new CISO, [wrote a new post on culture issues related to security and how you can solve those problems](https://www.linkedin.com/posts/dustinlehr_securitychampions-securityculture-applicationsecurity-activity-7302692651516993536-vInR/.
- Events:
- Main topic for the week
- This week we introduced Dustin Lehr, our new CISO. Sam and Dustin had a lengthy discussion about security and the culture around it. They discussed practical ways to keep team engaged in protecting code, and how to address the ongoing challenge of transitioning from a "throw-it-over-the-wall" mentality to a collaborative, empowered environment.
Top Tips & Techniques for Recipe Authors (February 26th, 2025)
Summary and related links
- Announcements for the week
- Events:
- We've finalized the lineup for the code remix summit
- If you haven't registered yet, consider using the code
MODERNE3VIPto get a substantial discount: register here.
- If you haven't registered yet, consider using the code
- Justine has two sessions at Confoo in Canada on February 26th-28th
- Jonathan will be at the Toronto JUG in Canada on February 27th
- There will be a few sessions from Moderne at DevNexus on March 4th.
- If you want to attend, consider using our promo code:
DN25MODERNE30.
- If you want to attend, consider using our promo code:
- We've finalized the lineup for the code remix summit
- Events:
- Main topic for the week
- Sam took us through a variety of recipe authoring tips. Below you can find a very high-level summary of each tip, but if you want to know more please check out the video.
- Tip 1: Parse text you need into LST elements with parsers.
- Tip 1.5: Save the results of those computations into the execution context so you won't have to do them frequently. When possible, cache things that are invariable.
- Tip 2: Debugging JavaTemplates - use
doBeforeParseTemplate(). - Tip 3: Create sub-visitors when you have something complex.
- Tip 4: How to do HTTP communication in a recipe
- Tip 5: Delegate to scanning recipes
Type Tables: Breaking up with classpath drama (February 19th, 2025)
Summary and related links
- Announcements for the week
- Events:
- We've finalized the lineup for the code remix summit
- If you haven't registered yet, consider using the code
MODERNE3VIPto get a substantial discount: register here.
- If you haven't registered yet, consider using the code
- Justine has two sessions at Confoo in Canada on February 26th-28th
- Jonathan will be at the Toronto JUG in Canada on February 27th
- There will be a few sessions from Moderne at DevNexus on March 4th.
- If you want to attend, consider using our promo code:
DN25MODERNE30.
- If you want to attend, consider using our promo code:
- We've finalized the lineup for the code remix summit
- Releases:
- Lombok support has been officially released. Make sure you're using version v8.45.5 or higher.
- Events:
- Main topic for the week - type tables
- Historically, many of our recipes that updated insecure libraries to secure ones caused some problems for people that had vulnerability scanners. That's because, as part of fixing the old code, we needed to have the old JARs to compile that old code. The JARs were never executed, but it still caused people to be concerned. To remedy this, we've created type tables.
- Now, instead of pulling in the whole JAR, we throw away the implementation and take just enough for type attribution. These type types are not a class and can't be re-hydrated into anything executable. This lets us run recipes against old, insecure code without having to take in a concerning JAR.
- Type tables have an additional benefit beyond not getting security warnings – size savings. Using type tables, we are able to reduce the size of the libraries we need to pull in by 90%. Because of that, every release of OpenRewrite will now being significantly smaller.
- Below are relevant links that you might find useful about this topic:
Live, Laugh, Lombok: Expanding Support (February 12th, 2025)
Summary and related links
- Announcements for the week
- We have secured $30M in Series B funding to transform enterprise code modernization!
- Events:
- We've finalized the lineup for the code remix summit
- If you haven't registered yet, consider using the code
MODERNE3VIPto get a substantial discount: register here.
- If you haven't registered yet, consider using the code
- Merlin will be presenting at the Saarland JUG event in Germany on February 18th
- Justine has two sessions at Confoo in Canada on February 26th-28th
- Jonathan will be at the Toronto JUG in Canada on February 27th
- There will be a few sessions from Moderne at DevNexus on March 4th.
- If you want to attend, consider using our promo code:
DN25MODERNE30.
- If you want to attend, consider using our promo code:
- We've finalized the lineup for the code remix summit
- Releases
- We now have over 3000 recipes in the Moderne Platform!
- We've also released proprietary recipes for Hibernate and Spring Boot 3.4 migrations.
- We did a new release of OpenRewrite this past week.
- Main topic for the week
- This week was all about Lombok. We talked through the challenges we've faced and what Lombok support means. We demonstrated various recipes that would benefit from this and also walked through some related code and tests.
Brewing Java 21: Live coding a recipe for success (January 29th, 2025)
Summary and related links
- Announcements for the week
- Events
- Tim and Merlin will be in Germany giving a workshop on modernizing applications with OpenRewrite/Moderne on February 3rd-7th
- Tim will be presenting on how to write your own custom OpenRewrite recipes in Köln on February 10th
- Merlin will be presenting at the Saarland JUG event in Germany on February 18th
- As a reminder, we are still selling tickets for the Code Remix summit on May 12th - May 14th
- Releases
- Events
- Main topic for the week
- This week Sam walked through coding a recipe live. If you're interested in seeing how a complex Java refactoring recipe is created, this would be a good watch.
Hero developer contributes TOML parser to OpenRewrite (January 22nd, 2025)
Summary and related links
- Announcements for the week
- Content
- Our docs have been redesigned to match our branding a bit more. Please let us know if you run into any issues with them.
- We have a new video on how to create custom recipes with the Moderne Recipe Builder
- Code
- We've added type tables to OpenRewrite. Check out Jonathan's post talking about them and what this enables.
- We've merged in full support for Java 21.
- Events
- Jonathan gave a presentation on the state of AI in large scale automated refactoring that is available to watch online
- There will be a presentation in France about OpenRewrite on January 23rd
- Tim and Merlin will be in Germany giving a workshop on modernizing applications with OpenRewrite/Moderne on February 3rd-7th
- Merlin will be at the Dortmund JUG on January 29th presenting on OpenRewrite
- Tim will be presenting on how to write your own custom OpenRewrite recipes in Köln on February 10th
- Content
- Main topic for the week
- This week we welcomed back Shannon Pamperl – one of the most prolific contributors to OpenRewrite. He recently added a TOML parser to OpenRewrite, and we wanted to take some time to chat with him about it – such as his motivations, how he went about it, and what challenges he faced.
Fastest recipe runs ever - parallelizing the CLI (January 15th, 2025)
Summary and related links
- Announcements for the week
- Content
- Events
- Jonathan will be at the Atlanta JUG on January 21st presenting on the state of AI in large scale refactoring
- A good friend of ours - Tyler - will be at the Portland JUG on January 21st presenting on OpenRewrite
- Merlin will be at the Dortmund JUG on January 29th presenting on OpenRewrite
- Tim and Merlin will be in Germany giving a workshop on modernizing applications with OpenRewrite/Moderne on February 3rd-7th
- Tim will be presenting on how to write your own custom OpenRewrite recipes in Köln on February 10th
- Releases
- Main topic for the week - parallelization
- This week we were showing off the new parallel flag that allows you to speed up a variety of CLI commands by using multiple threads.
- For information on this flag and how to use it, check out our parallelization guide
- Sam walked through what the parallel flag defaults to for various commands and why we chose those defaults.
- Tim then walked through how this can be used in an IDE to speed up IDE commands.
Moderne's next chapter in AI innovation (January 8th, 2025)
Summary and related links
- Announcements for the week
- Development
- We've expanded Lombok support - such as adding support for new Java versions and new recipes. It's still behind a feature flag for now, but fingers crossed it should be coming soon.
- Greg joined the team and squashed a ton of parser errors already
- Shannon added support for the TOML parser for Gradle
- There's been a ton of fixes related to the Gradle and Groovy parsers
- You can now map erroneous nodes
- We're working on a few new recipe modules:
rewrite-compiled-analysisandrewrite-comprehension.
- Events
- Justine will be presenting at ConFoo in February about transforming code with AI
- Tim and Merlin will present at OOP in Munich, Germany in February
- Tim's previous sessions from JFall are now available online
- Development
- Main topic for the week
- This week we welcomed Justine back to the code remix session. In it, she demonstrated a chatbot we're working on to complement the Moderne CLI. With it, you can ask questions like, "Do I use Apache HTTP in my code?" or "Can you draw me a histogram of the top 5 most used Apache Commons methods?"
- Right now, the bot is very focused on search recipes and displaying results. It can be really helpful when you want to run multiple search recipes without even knowing what those recipes are.
- This will hopefully be available soon*