# Maven

Published articles for Maven.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## IntelliJ IDEA 2026.2.3 Is Out!

DevFeed: [IntelliJ IDEA 2026.2.3 Is Out!](<https://devfeed.tech/articles/intellij-idea-2026-2-3-is-out-30918.md>)

Original publisher: [Read original article](<https://blog.jetbrains.com/idea/2026/09/intellij-idea-2026-2-3/>)

Author: Maria Kosukhina

Published: 2026-09-16T10:53:53Z

Content type: release

Language: en

Sources: [The JetBrains Blog](<https://devfeed.tech/sources/the-jetbrains-blog.md>)

Topics: [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>), [2026.2](<https://devfeed.tech/topics/2026-2.md>), [Release notes](<https://devfeed.tech/topics/release-notes.md>), [releases](<https://devfeed.tech/topics/releases.md>), [Maven](<https://devfeed.tech/topics/maven.md>), [Markdown](<https://devfeed.tech/topics/markdown.md>), [plantuml](<https://devfeed.tech/topics/plantuml.md>), [WSL2](<https://devfeed.tech/topics/wsl2.md>), [Ubuntu](<https://devfeed.tech/topics/ubuntu.md>)

Tags: [2026-2](<https://devfeed.tech/tags/2026-2.md>), [intellij-idea](<https://devfeed.tech/tags/intellij-idea.md>), [markdown](<https://devfeed.tech/tags/markdown.md>), [maven](<https://devfeed.tech/tags/maven.md>), [plantuml](<https://devfeed.tech/tags/plantuml.md>), [release-notes](<https://devfeed.tech/tags/release-notes.md>), [ubuntu](<https://devfeed.tech/tags/ubuntu.md>), [wsl2](<https://devfeed.tech/tags/wsl2.md>)

### AI overview

JetBrains released IntelliJ IDEA 2026.2.3 with fixes and improvements affecting Maven project data, IDE freezes, Markdown preview scrolling, PlantUML support, and applications using WSL2 mirrored networking.

### Source excerpt

We've just released IntelliJ IDEA 2026.2.3. You can update to this version from inside the IDE, using the Toolbox App, or using snaps if you are a Ubuntu user. You can also download it from our website. The latest update brings the following improvements: For a comprehensive overview of the fixes, see the release notes. [...]

## AppFunctions, revisited

DevFeed: [AppFunctions, revisited](<https://devfeed.tech/articles/appfunctions-revisited-26158.md>)

Original publisher: [Read original article](<https://dev.to/tkuenneth/appfunctions-revisited-4n90>)

Author: Thomas Künneth

Published: 2026-07-25T11:36:27Z

Content type: tutorial

Language: en

Sources: [Thomas Künneth](<https://devfeed.tech/sources/thomas-kunneth.md>)

Topics: [Jetpack](<https://devfeed.tech/topics/jetpack.md>), [Android](<https://devfeed.tech/topics/android.md>), [Library](<https://devfeed.tech/topics/library.md>), [implementation](<https://devfeed.tech/topics/implementation.md>), [Maven](<https://devfeed.tech/topics/maven.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [android](<https://devfeed.tech/tags/android.md>), [androiddev](<https://devfeed.tech/tags/androiddev.md>), [article](<https://devfeed.tech/tags/article.md>), [code](<https://devfeed.tech/tags/code.md>), [coding](<https://devfeed.tech/tags/coding.md>), [community](<https://devfeed.tech/tags/community.md>), [development](<https://devfeed.tech/tags/development.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [inclusive](<https://devfeed.tech/tags/inclusive.md>), [jetpack](<https://devfeed.tech/tags/jetpack.md>), [library](<https://devfeed.tech/tags/library.md>), [maven](<https://devfeed.tech/tags/maven.md>), [programming](<https://devfeed.tech/tags/programming.md>), [software](<https://devfeed.tech/tags/software.md>), [update](<https://devfeed.tech/tags/update.md>)

### AI overview

This tutorial revisits Android Jetpack AppFunctions after alpha10 stopped publishing appfunctions-service. It explains the new service entry-point model, generated subclasses and XML, manual service declaration, the removal of AppFunctionContext, and a correction about using installed-app display names instead of package names.

### Source excerpt

In Agentic interaction using AppFunctions I showed how Be nice publishes createAppPair for agents, using Jetpack appfunctions 1.0.0-alpha08. That setup leaned on a library-merged PlatformAppFunctionService, an AppFunctionContext parameter, and aggregate XML named app_functions.xml / app_functions_v2.xml. When I bumped toward what Android Studio was suggesting as of mid July, Sync failed: Could not find androidx.appfunctions:appfunctions-service:1.0.0-alpha10. On 1 July 2026, alpha10 stopped publishing appfunctions-service (Maven still lists it through alpha09). The Add the AppFunctions API guide now expects you to host an @AppFunctionServiceEntryPoint AppFunctionService. Spoiler: that is the real change. The rest of this post is how that landed in Be nice, plus an important update to the earlier article that is easy to miss if you only chase compile errors. Correction first In the earlier post I wrote that agents would pass package names for app1 and app2. That was wrong for Be nice. The implementation matches display names, case-insensitively, against installed apps. Package names are a convenient engineer habit; they are a poor agent habit when the user said "Clock" and "Contacts". KDoc and app-level metadata have to say what the code accepts -- agents lean on that text harder than on your mental model of the APK. What changed in the model Before alpha10 you annotated a helper class and let the service AAR merge a stock entry point into the manifest. Starting with alpha10: @AppFunction lives in androidx.appfunctions (not androidx.appfunctions.service) It is only legal on methods of an abstract AppFunctionService marked @AppFunctionServiceEntryPoint KSP generates the concrete subclass named in serviceName and the XML named in appFunctionXmlFileName You declare that generated service yourself; nothing merges a stock one anymore There is no AppFunctionContext parameter; the service is a Context Drop appfunctions:aggregateAppFunctions. Grepping for empty app_functions.

## A2A in Java: hands on Embabel

DevFeed: [A2A in Java: hands on Embabel](<https://devfeed.tech/articles/a2a-in-java-hands-on-embabel-22587.md>)

Original publisher: [Read original article](<https://medium.com/amex-gbt-technology/a2a-in-java-hands-on-embabel-b18d514be424?source=rss----60a0578f4096---4>)

Author: Aneshka Goyal

Published: 2026-06-21T07:01:03Z

Content type: tutorial

Language: en

Sources: [Amex GBT Technology](<https://devfeed.tech/sources/amex-gbt-technology.md>)

Topics: [Embabel](<https://devfeed.tech/topics/embabel.md>), [A2A protocol](<https://devfeed.tech/topics/a2a-protocol.md>), [Java](<https://devfeed.tech/topics/java.md>), [MCP](<https://devfeed.tech/topics/mcp.md>), [Spring AI](<https://devfeed.tech/topics/spring-ai.md>), [Maven](<https://devfeed.tech/topics/maven.md>), [bedrock](<https://devfeed.tech/topics/bedrock.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>)

Tags: [a2a](<https://devfeed.tech/tags/a2a.md>), [agent](<https://devfeed.tech/tags/agent.md>), [ai](<https://devfeed.tech/tags/ai.md>), [embabel](<https://devfeed.tech/tags/embabel.md>), [java](<https://devfeed.tech/tags/java.md>), [maven](<https://devfeed.tech/tags/maven.md>), [mcp-server](<https://devfeed.tech/tags/mcp-server.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>), [spring-ai](<https://devfeed.tech/tags/spring-ai.md>)

### AI overview

A hands-on tutorial for building a Java agent with Embabel. It demonstrates LLM-based story generation and review, Amazon Bedrock integration, a local Spring AI MCP server for word counts, Maven dependency management, and A2A-compliant endpoints.

### Source excerpt

Part 2: Hands on with Embabel! In Part 1, we discussed how Embabel works internally. In Part 2, we'll now try to get an application started that has an LLM interaction, talks to local MCP server (for tools), and helps us achieve a goal. This time, we'll also make sure we use A2A protocol for our agent (something Embabel makes easier to do allowing us to focus on core business logic and offloading boilerplate code to Embabel). We'll use the project creator to create a skeleton project for us with some Embabel dependencies and code. uvx --from git+https://github.com/embabel/project-creator.git project-creator Please note we can use Java or Kotlin as our preferred language, I would be leveraging Java. This is a simple story teller agent who writes a story and gets it reviewed (both story generation and review comes from LLM). We'd be using Bedrock for connection to our LLM model. For fetching the word count for a topic, it uses an MCP server which is a Spring AI MCP server running locally. Dependency management is handled using Maven, and the POM file looks like this: <?xml version="1.0" encoding="UTF-8"?> <project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.5.9</version> <relativePath/> <!-- Lookup parent from repository --> </parent> <groupId>com.example.demo-city-agent</groupId> <artifactId>Demo-city-agent</artifactId> <version>0.1.0-SNAPSHOT</version> <packaging>jar</packaging> <name>My first agent</name> <description>Generated agent project</description> <properties> <java.version>21</java.version> <embabel-agent.version>0.3.1</embabel-agent.version> </properties> <dependencies> <!-- Main Dependencies --> <dependency> <groupId>com.embabel.agent</groupId> <artifactId

## What is an Agentic Application?

DevFeed: [What is an Agentic Application?](<https://devfeed.tech/articles/what-is-an-agentic-application-22596.md>)

Original publisher: [Read original article](<https://medium.com/amex-gbt-technology/what-is-an-agentic-application-8f4f382fedc2?source=rss----60a0578f4096---4>)

Author: Aneshka Goyal

Published: 2026-05-06T04:01:01Z

Content type: tutorial

Language: en

Sources: [Amex GBT Technology](<https://devfeed.tech/sources/amex-gbt-technology.md>)

Topics: [Spring AI](<https://devfeed.tech/topics/spring-ai.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Model Context Protocol](<https://devfeed.tech/topics/model-context-protocol.md>), [Amazon Bedrock](<https://devfeed.tech/topics/amazon-bedrock.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [Java](<https://devfeed.tech/topics/java.md>), [Maven](<https://devfeed.tech/topics/maven.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>)

Tags: [agentic](<https://devfeed.tech/tags/agentic.md>), [agentic-ai](<https://devfeed.tech/tags/agentic-ai.md>), [ai](<https://devfeed.tech/tags/ai.md>), [aws](<https://devfeed.tech/tags/aws.md>), [developer](<https://devfeed.tech/tags/developer.md>), [java](<https://devfeed.tech/tags/java.md>), [llm](<https://devfeed.tech/tags/llm.md>), [maven](<https://devfeed.tech/tags/maven.md>), [mcp](<https://devfeed.tech/tags/mcp.md>), [mcp-server](<https://devfeed.tech/tags/mcp-server.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>), [spring-ai](<https://devfeed.tech/tags/spring-ai.md>), [streaming](<https://devfeed.tech/tags/streaming.md>)

### AI overview

A hands-on tutorial for building an agentic application with Spring AI. It demonstrates connecting an application to AWS Bedrock, exposing weather and latitude-longitude tools through a stateless MCP server over HTTP streaming, and combining MCP clients, memory, tools, and a system prompt.

### Source excerpt

Part 2: Using spring AI to build a simple agentic application In Part 1 we discussed about core capabilities of Spring AI that helps it position itself as a strong framework to build Agentic applications. Taking things forward from there, let's now build something to bring things into action!! Scenario We want to build an application that connects with AWS bedrock for LLM integration. Has set of tools exposed from an MCP server running on HTTP streaming protocol in STATELESS mode(MCP is also built using Spring AI). For memory we use chat memory with inbuilt InMemory repository and MessageWindowChatMemory. This application has the ability to provide weather info, some lat long info for a particular city. MCP Server Setup Maven pom for dependency management <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.5.6</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>mcp-server-demo</artifactId> <version>0.0.1-SNAPSHOT</version> <name>mcp-server-demo</name> <description>Demo project for Spring Boot</description> <url/> <licenses> <license/> </licenses> <developers> <developer/> </developers> <scm> <connection/> <developerConnection/> <tag/> <url/> </scm> <properties> <java.version>17</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.ai</groupId> <artifactId>spring-ai-starter-mcp-server-webmvc</artifactId> <version>1.1.2</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sprin

## Managing Sensitive Data in jOOQ 3.21+ Logs

DevFeed: [Managing Sensitive Data in jOOQ 3.21+ Logs](<https://devfeed.tech/articles/managing-sensitive-data-in-jooq-3-21-logs-28956.md>)

Original publisher: [Read original article](<https://blog.jooq.org/managing-sensitive-data-in-jooq-3-21-logs/>)

Author: lukaseder

Published: 2026-03-27T12:45:19Z

Content type: tutorial

Language: en

Sources: [jOOQ](<https://devfeed.tech/sources/jooq.md>)

Topics: [Logging](<https://devfeed.tech/topics/logging.md>), [sensitive data](<https://devfeed.tech/topics/sensitive-data.md>), [Security](<https://devfeed.tech/topics/security.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [configuration](<https://devfeed.tech/tags/configuration.md>), [csv](<https://devfeed.tech/tags/csv.md>), [debug-logging](<https://devfeed.tech/tags/debug-logging.md>), [jooq](<https://devfeed.tech/tags/jooq.md>), [jooq-in-use](<https://devfeed.tech/tags/jooq-in-use.md>), [json](<https://devfeed.tech/tags/json.md>), [logging](<https://devfeed.tech/tags/logging.md>), [logs](<https://devfeed.tech/tags/logs.md>), [maven](<https://devfeed.tech/tags/maven.md>), [redacted-columns](<https://devfeed.tech/tags/redacted-columns.md>), [security](<https://devfeed.tech/tags/security.md>), [sensitive-data](<https://devfeed.tech/tags/sensitive-data.md>), [xml](<https://devfeed.tech/tags/xml.md>)

### AI overview

This article explains how jOOQ debug logging can expose query bind values and fetched records in application logs, creating security concerns in production. It describes a code-generation configuration available in commercial jOOQ distributions to mask exported data, including text, HTML, and optionally CSV, JSON, or XML output.

### Source excerpt

One of jOOQ's most popular feature is the out-of-the-box debug logging experience. jOOQ developers find this feature very useful when developing their applications. Assuming you run a jOOQ query and configure your logger to print DEBUG log output: When this query is executed, your log output might contain something like this: Executing query : select ... Continue reading Managing Sensitive Data in jOOQ 3.21+ Logs ->

## Java Dependency and Classpath Problems in Gradle and Maven Builds

DevFeed: [Java Dependency and Classpath Problems in Gradle and Maven Builds](<https://devfeed.tech/articles/is-the-java-ecosystem-cursed-a-dependency-analysis-perspective-30463.md>)

Original publisher: [Read original article](<https://dev.to/autonomousapps/is-the-java-ecosystem-cursed-a-dependency-analysis-perspective-53ef>)

Author: Tony Robalik

Published: 2025-11-24T20:15:12Z

Content type: opinion

Language: en

Sources: [DEV Community: Tony Robalik](<https://devfeed.tech/sources/dev-community-tony-robalik.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [Maven](<https://devfeed.tech/topics/maven.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Back end](<https://devfeed.tech/topics/backend.md>)

Tags: [analysis](<https://devfeed.tech/tags/analysis.md>), [build-tool](<https://devfeed.tech/tags/build-tool.md>), [coding](<https://devfeed.tech/tags/coding.md>), [community](<https://devfeed.tech/tags/community.md>), [compilers](<https://devfeed.tech/tags/compilers.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [dependency](<https://devfeed.tech/tags/dependency.md>), [development](<https://devfeed.tech/tags/development.md>), [ecosystem](<https://devfeed.tech/tags/ecosystem.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [inclusive](<https://devfeed.tech/tags/inclusive.md>), [java](<https://devfeed.tech/tags/java.md>), [jvm](<https://devfeed.tech/tags/jvm.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [maven](<https://devfeed.tech/tags/maven.md>), [software](<https://devfeed.tech/tags/software.md>), [software-supply-chain-attack](<https://devfeed.tech/tags/software-supply-chain-attack.md>)

### AI overview

This opinion article examines dependency and classpath problems in the Java ecosystem, including misleading metadata, fat JARs, split packages, reflection, protobuf usage, and compiler differences. It explains how classloader behavior can create conflicts and notes that classpath properties can also enable software supply-chain attacks.

### Source excerpt

I am the author of the moderately popular (⭐ 2k) Dependency Analysis Gradle Plugin, a static analysis tool that helps Gradle build authors maintain a healthy dependency graph. I also maintain some of the largest Gradle repos on the planet: a Kotlin backend repo with over 2500 subprojects, and an Android repo with more than 7200 subprojects (both proprietary). I have... seen some shit. Note: I refer to both the cases above as being part of the "Java ecosystem," though both use Kotlin as the preferred language, and one runs on the JVM while the other runs on ART (the Android runtime) on mobile devices. I come to you with a simple proposition: I believe the Java ecosystem is cursed. Hear me out. We are cursed with... Lying metadata, overuse of "fat" jars with underuse of package relocation, split packages, undocumented usage of reflection to access upstream dependencies, usage of terms like "upstream" that have different meanings in different contexts, misuse of protobuffers, different compilers with different notions of their obligations vis-a-vis the Java class file format... Lying metadata This was already covered in-depth in This is why we can't have nice things: When POM files lie, but the summary is: sometimes dependencies have hand-written metadata, which is certainly A Choice given that build tools exist. I suppose it's harder to teach a build tool to lie. It's just a list, man Despite the bewildering complexity of dependency resolution engines in tools like Gradle and Maven, at the end of the day a classpath is just a list of class files (and jars that package class files). When your running program "sees" a class or interface for the first time, it has to load it. It does this with a ClassLoader. The classloader searches the classpath (just a list of class files!)1 and picks the first class file that matches the class it just encountered. Importantly, your classpath may have more than one class file for that class. Even well-behaved builds may have this problem, fo

## Dynamic configuration in Java with Server-Side Firebase Remote Config

DevFeed: [Dynamic configuration in Java with Server-Side Firebase Remote Config](<https://devfeed.tech/articles/dynamic-configuration-in-java-with-server-side-firebase-remote-config-23887.md>)

Original publisher: [Read original article](<https://medium.com/firebase-developers/dynamic-configuration-in-java-using-server-side-firebase-remote-config-9d30a3c2e1a1?source=rss----8e8b7dc6774d---4>)

Author: Athira M

Published: 2025-10-24T06:33:20Z

Content type: tutorial

Language: en

Sources: [Firebase Developers - Medium](<https://devfeed.tech/sources/firebase-developers-medium.md>)

Topics: [Firebase](<https://devfeed.tech/topics/firebase.md>), [Java](<https://devfeed.tech/topics/java.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [feature flags](<https://devfeed.tech/topics/feature-flags.md>), [Firebase console](<https://devfeed.tech/topics/firebase-console.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [feature-flags](<https://devfeed.tech/tags/feature-flags.md>), [firebase](<https://devfeed.tech/tags/firebase.md>), [firebase-console](<https://devfeed.tech/tags/firebase-console.md>), [firebase-remote-config](<https://devfeed.tech/tags/firebase-remote-config.md>), [java](<https://devfeed.tech/tags/java.md>), [maven](<https://devfeed.tech/tags/maven.md>), [remote-config](<https://devfeed.tech/tags/remote-config.md>), [sdks](<https://devfeed.tech/tags/sdks.md>)

### AI overview

This tutorial explains how to use server-side Firebase Remote Config with Java to externalize backend configuration and feature flags. It describes how the Java server fetches the full configuration template, evaluates conditions locally through the SDK, initializes the Firebase Admin SDK, defines safe defaults, and evaluates parameters using runtime context.

### Source excerpt

Dynamic Configuration in JavaUsing Server-Side Firebase Remote Config Firebase Remote Config is a powerful, cloud-based service that lets you dynamically change your app's behavior and appearance without requiring users to update your app. It's been a game-changer for feature flags and dynamic theming on mobile and web platforms. But what about your backend, or your critical API or Java micro-service? The great news is that Firebase has expanded its support, bringing this powerful tool to the server side with SDKs for Node.js, Python, Go, and Java. This allows you to control server behavior and externalize configuration directly from the Firebase console. The key difference: where evaluation happens If you're familiar with client-side Remote Config, you know the client makes a request, and the Firebase service returns the final, evaluated configuration. The server-side model is fundamentally different: The Java server fetches the entire configuration template (parameters, values, and conditions) from the Remote Config service. The Java server then performs the condition evaluation locally, using the SDK. This shift means your server is in control, making local decisions based on attributes like user ID, location, or subscription tier. This is efficient and perfect for dynamic server logic. 🛠 Setting up Remote Config in Java Let's walk through how to integrate this into your backend, using a Payment Gateway Feature Flag as our running example. Step 1: Add the Firebase Admin SDK First, add the Firebase Admin SDK dependency to your project's configuration file (e.g., pom.xml for Maven). <dependency> <groupId>com.google.firebase</groupId> <artifactId>firebase-admin</artifactId> <version>9.7.0</version> </dependency>Step 2: Initialize the Admin SDK Your server needs secure access to Firebase. We'll use a Service Account to initialize the Admin SDK. import com.google.auth.oauth2.GoogleCredentials; import com.google.firebase.FirebaseApp; import com.google.firebase.Firebas

## Simplifying JVM App Development with Heroku's Buildpack Magic

DevFeed: [Simplifying JVM App Development with Heroku's Buildpack Magic](<https://devfeed.tech/articles/simplifying-jvm-app-development-with-heroku-s-buildpack-magic-26495.md>)

Original publisher: [Read original article](<https://www.heroku.com/blog/simplifying-jvm-app-development-herokus-buildpack-magic/>)

Author: Andrew Fawcett

Published: 2025-03-24T15:00:00Z

Content type: tutorial

Language: en

Sources: [Heroku](<https://devfeed.tech/sources/heroku.md>)

Topics: [Buildpacks](<https://devfeed.tech/topics/buildpacks.md>), [Heroku](<https://devfeed.tech/topics/heroku.md>), [Java](<https://devfeed.tech/topics/java.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [Micronaut](<https://devfeed.tech/topics/micronaut.md>), [Quarkus](<https://devfeed.tech/topics/quarkus.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [build-tools](<https://devfeed.tech/tags/build-tools.md>), [buildpacks](<https://devfeed.tech/tags/buildpacks.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [developer-tools](<https://devfeed.tech/tags/developer-tools.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [heroku](<https://devfeed.tech/tags/heroku.md>), [heroku-key-value-store](<https://devfeed.tech/tags/heroku-key-value-store.md>), [heroku-postgres](<https://devfeed.tech/tags/heroku-postgres.md>), [java](<https://devfeed.tech/tags/java.md>), [languages](<https://devfeed.tech/tags/languages.md>), [maven](<https://devfeed.tech/tags/maven.md>), [micronaut](<https://devfeed.tech/tags/micronaut.md>), [procfile](<https://devfeed.tech/tags/procfile.md>), [quarkus](<https://devfeed.tech/tags/quarkus.md>), [spring-boot](<https://devfeed.tech/tags/spring-boot.md>)

### AI overview

Heroku's Java buildpack automates much of the process of deploying JVM applications. It detects languages and frameworks, obtains build tools, configures the runtime, and can provide framework-specific settings for Spring Boot, Quarkus, and Micronaut applications.

### Source excerpt

Heroku's commitment to developer productivity shines through in its powerful buildpack system. They handle the heavy lifting of building your app, letting you focus on what matters most: writing code. A prime example is the Heroku Java buildpack, a versatile tool that simplifies deploying Java applications, especially those built with popular frameworks like Spring Boot, [...] The post Simplifying JVM App Development with Heroku's Buildpack Magic appeared first on Heroku.

## How to use a project-specific Maven repository when dependency downloads fail

DevFeed: [How to use a project-specific Maven repository when dependency downloads fail](<https://devfeed.tech/articles/don-t-let-maven-block-you-25588.md>)

Original publisher: [Read original article](<https://www.marcogomiero.com/posts/2025/ublock-maven/>)

Author: Marco Gomiero

Published: 2025-01-05T00:00:00Z

Content type: tutorial

Language: en

Sources: [Posts on Marco Gomiero](<https://devfeed.tech/sources/posts-on-marco-gomiero.md>)

Topics: [Maven](<https://devfeed.tech/topics/maven.md>), [ci](<https://devfeed.tech/topics/ci.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>)

Tags: [binaries](<https://devfeed.tech/tags/binaries.md>), [build](<https://devfeed.tech/tags/build.md>), [ci](<https://devfeed.tech/tags/ci.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [dependency](<https://devfeed.tech/tags/dependency.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [incident](<https://devfeed.tech/tags/incident.md>), [maven](<https://devfeed.tech/tags/maven.md>)

### AI overview

This tutorial explains how to keep a project building when a Maven repository is unavailable or a dependency can no longer be downloaded. It shows how to create a project-specific local Maven repository, recover the dependency binary from the Gradle cache when available, and configure Gradle to use the local repository for that library.

### Source excerpt

As developers, we've all encountered build failures in CI (or on our local machines) due to Maven repository issues preventing dependency downloads. > Could not download foo-lib-1.0.aar (org.acme.foo:foo-lib:1.0) > Could not get resource 'https://mavenrepo.com/org/acme/foo/foo-lib/1.0/foo-lib-1.0.aar'. > Could not GET 'https://mavenrepo.com/org/acme/foo/foo-lib/1.0/foo-lib-1.0.aar'. Received status code 403 from server: There could be many reasons for this: the Maven repository is currently down or is having an incident, the repository has been shut down (hello, JCenter), and the dependency is old and not republished elsewhere.

## Introducing the Keycloak Test Framework

DevFeed: [Introducing the Keycloak Test Framework](<https://devfeed.tech/articles/introducing-the-keycloak-test-framework-31673.md>)

Original publisher: [Read original article](<https://www.keycloak.org/2024/11/preview-keycloak-test-framework>)

Author: Lukas Hanusovsky

Published: 2024-11-14T00:00:00Z

Content type: release

Language: en

Sources: [Keycloak Blog](<https://devfeed.tech/sources/keycloak-blog.md>)

Topics: [Keycloak](<https://devfeed.tech/topics/keycloak.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Framework](<https://devfeed.tech/topics/framework.md>), [Maven](<https://devfeed.tech/topics/maven.md>), [OAuth](<https://devfeed.tech/topics/oauth.md>), [browsers](<https://devfeed.tech/topics/browsers.md>), [Chrome](<https://devfeed.tech/topics/chrome.md>), [Firefox](<https://devfeed.tech/topics/firefox.md>), [SDK](<https://devfeed.tech/topics/sdk.md>)

Tags: [browsers](<https://devfeed.tech/tags/browsers.md>), [chrome](<https://devfeed.tech/tags/chrome.md>), [firefox](<https://devfeed.tech/tags/firefox.md>), [framework](<https://devfeed.tech/tags/framework.md>), [guide](<https://devfeed.tech/tags/guide.md>), [idm](<https://devfeed.tech/tags/idm.md>), [kerberos](<https://devfeed.tech/tags/kerberos.md>), [keycloak](<https://devfeed.tech/tags/keycloak.md>), [ldap](<https://devfeed.tech/tags/ldap.md>), [maven](<https://devfeed.tech/tags/maven.md>), [oauth](<https://devfeed.tech/tags/oauth.md>), [openid-connect](<https://devfeed.tech/tags/openid-connect.md>), [saml](<https://devfeed.tech/tags/saml.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [sso](<https://devfeed.tech/tags/sso.md>), [test](<https://devfeed.tech/tags/test.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

Keycloak introduces a new test framework designed to replace its current Arquillian-based test suite. The JUnit 5 extension supports custom injection, server and database lifecycles, clients and users, OAuth, UI testing, WebDriver integration, and multiple browsers. The framework is available in the main branch and nightly builds, with migration from the old testsuite beginning.

### Source excerpt

How It All Started The idea to replace the current test suite has been on the table for multiple years. Initially, it was meant to be only a refactoring of the current approach on how to write tests, but after a few internal discussions and refactor updates it turned out a new test suite, based on a new framework would be a better solution. It would be good to mention a few drawbacks, that stand out when working with the current test suite. First of all, is the complexity of various configurations and additions made on top of the Arquillian framework. These changes make the test suite powerful, but the cons is that without proper documentation for beginners is almost unreadable. The second thing has the same importance, the Arquillian framework is not fully supported anymore. Other things to mention are a complicated execution system, where you want to specify what exactly should be tested, then abstract classes with shared configurations and missing the option to add a custom extension. Brighter Future? The Keycloak team began an effort to design a new test framework in May 2024. It started with a prototype to verify if our ideas were feasible. The prototype is a JUnit5 Extension based on the JUnit5 testing framework, specifically to implement JUnit5 callback classes which extend the default test lifecycle functionality and provide custom inject annotations, like @KeycloakIntegrationTest, @InjectWebDriver or @InjectRealm. After a successful test round, we've continued with a proof of concept extending features list to support multiple server modes, different databases and WebDrivers, clients and users setup, SmallRye configuration support, OAuthClient based on Nimbus SDK (this feature is a preview only) etc. The full list of currently implemented features is: Maven BOM Core module Server lifecycle Database lifecycle Admin client injection Realm, User, Client lifecycle and injection Event and Admin event listener and injection OAuth client injection UI module WebDri

## Keycloak Client Libraries 26.0.0 released

DevFeed: [Keycloak Client Libraries 26.0.0 released](<https://devfeed.tech/articles/keycloak-client-libraries-26-0-0-released-31663.md>)

Original publisher: [Read original article](<https://www.keycloak.org/2024/10/keycloak-client-2600-released>)

Author: Keycloak Team

Published: 2024-10-04T00:00:00Z

Content type: release

Language: en

Sources: [Keycloak Blog](<https://devfeed.tech/sources/keycloak-blog.md>)

Topics: [Keycloak](<https://devfeed.tech/topics/keycloak.md>), [client](<https://devfeed.tech/topics/client.md>), [Maven](<https://devfeed.tech/topics/maven.md>)

Tags: [client](<https://devfeed.tech/tags/client.md>), [compatibility](<https://devfeed.tech/tags/compatibility.md>), [idm](<https://devfeed.tech/tags/idm.md>), [java](<https://devfeed.tech/tags/java.md>), [kerberos](<https://devfeed.tech/tags/kerberos.md>), [keycloak](<https://devfeed.tech/tags/keycloak.md>), [keycloak-client-libraries-release](<https://devfeed.tech/tags/keycloak-client-libraries-release.md>), [ldap](<https://devfeed.tech/tags/ldap.md>), [maven](<https://devfeed.tech/tags/maven.md>), [migration-guide](<https://devfeed.tech/tags/migration-guide.md>), [openid-connect](<https://devfeed.tech/tags/openid-connect.md>), [release](<https://devfeed.tech/tags/release.md>), [saml](<https://devfeed.tech/tags/saml.md>), [sso](<https://devfeed.tech/tags/sso.md>), [version](<https://devfeed.tech/tags/version.md>)

### AI overview

Keycloak Client Libraries 26.0.0 introduces an independent release cycle for selected client libraries. The release also supports testing client libraries with the same server version and a few previous major server versions.

### Source excerpt

Highlights Dedicated release cycle for the client libraries From this release, some of the Keycloak client libraries will have release cycle independent of the Keycloak server release cycle. The 26.0.0 release may be the last one when the client libraries are released together with the Keycloak server. But from now on, the client libraries may be released at a different time than the Keycloak server. The client libraries are these artifacts: Java admin client - Maven artifact org.keycloak:keycloak-admin-client Java authorization client - Maven artifact org.keycloak:keycloak-authz-client Java policy enforcer - Maven artifact org.keycloak:keycloak-policy-enforcer It is possible that in the future, some more libraries will be included. Compatibility of the client libraries with the server Beginning with this release, we are testing and supporting client libraries with the same server version and a few previous major server versions. Upgrading Before upgrading refer to the migration guide for a complete list of changes.

## Keycloak 24.0.5 released

DevFeed: [Keycloak 24.0.5 released](<https://devfeed.tech/articles/keycloak-24-0-5-released-31643.md>)

Original publisher: [Read original article](<https://www.keycloak.org/2024/06/keycloak-2405-released>)

Author: Keycloak Team

Published: 2024-06-04T00:00:00Z

Content type: release

Language: en

Sources: [Keycloak Blog](<https://devfeed.tech/sources/keycloak-blog.md>)

Topics: [Keycloak](<https://devfeed.tech/topics/keycloak.md>), [OpenID connect (OIDC)](<https://devfeed.tech/topics/oidc.md>), [Security](<https://devfeed.tech/topics/security.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [LDAP](<https://devfeed.tech/topics/ldap.md>), [Cypress](<https://devfeed.tech/topics/cypress.md>), [Maven](<https://devfeed.tech/topics/maven.md>)

Tags: [authentication](<https://devfeed.tech/tags/authentication.md>), [bugs](<https://devfeed.tech/tags/bugs.md>), [client](<https://devfeed.tech/tags/client.md>), [cypress](<https://devfeed.tech/tags/cypress.md>), [idm](<https://devfeed.tech/tags/idm.md>), [kerberos](<https://devfeed.tech/tags/kerberos.md>), [keycloak](<https://devfeed.tech/tags/keycloak.md>), [keycloak-release](<https://devfeed.tech/tags/keycloak-release.md>), [ldap](<https://devfeed.tech/tags/ldap.md>), [maven](<https://devfeed.tech/tags/maven.md>), [migration](<https://devfeed.tech/tags/migration.md>), [openid-connect](<https://devfeed.tech/tags/openid-connect.md>), [release](<https://devfeed.tech/tags/release.md>), [saml](<https://devfeed.tech/tags/saml.md>), [security](<https://devfeed.tech/tags/security.md>), [sso](<https://devfeed.tech/tags/sso.md>)

### AI overview

Keycloak 24.0.5 is released with a fix for a security issue affecting some OIDC confidential clients using PAR with client_secret_post authentication. Users of this configuration are encouraged to rotate client secrets after upgrading. The release also includes enhancements, migration guidance, and resolved bugs.

### Source excerpt

To download the release go to Keycloak downloads. Highlights Security issue with PAR clients using client_secret_post based authentication This release contains the fix of the important security issue affecting some OIDC confidential clients using PAR (Pushed authorization request). In case you use OIDC confidential clients together with PAR and you use client authentication based on client_id and client_secret sent as parameters in the HTTP request body (method client_secret_post specified in the OIDC specification), it is highly encouraged to rotate the client secrets of your clients after upgrading to this version. Upgrading Before upgrading refer to the migration guide for a complete list of changes. All resolved issues Enhancements #29073 Use cache.compute() method to improve the replace retry loop #29280 Update Create Realm in Keycloak 24 Getting Started Bugs #29129 JGroups creates log messages as it switched internally to "trace" dist/quarkus #29206 LDAP user creation reports error but user is created ldap #29314 Clicking the "save" button multiple times in the Saml IDP configuration page corrupts the value of "AuthnContext ClassRefs" admin/ui #29458 Empty CSP header value breaks security filter authentication #29471 Cypress tests store videos even for passing tests ci #29525 Maven clean build doesn't clean admin client generated files ci #29554 Cypress failing on video recording ci #29625 Database driver install examples can lead to permission errors in some circumstances docs

## jOOQ 3.19.0 Released with DuckDB, Trino, Oracle 23c support, join path improvements, an official gradle plugin, commercial maven repositories, policies, UDT paths, trigger meta data, hierarchies, and much more

DevFeed: [jOOQ 3.19.0 Released with DuckDB, Trino, Oracle 23c support, join path improvements, an official gradle plugin, commercial maven repositories, policies, UDT paths, trigger meta data, hierarchies, and much more](<https://devfeed.tech/articles/jooq-3-19-0-released-with-duckdb-trino-oracle-23c-support-join-path-improvements-an-official-gradle-plugin-commercial-maven-repositories-policies-udt-paths-trigger-meta-d-28951.md>)

Original publisher: [Read original article](<https://blog.jooq.org/jooq-3-19-0-released-with-duckdb-trino-oracle-23c-support-join-path-improvements-an-official-gradle-plugin-commercial-maven-repositories-policies-udt-paths-trigger-meta-data-hierarchies-and/>)

Author: lukaseder

Published: 2023-12-15T16:30:41Z

Content type: release

Language: en

Sources: [jOOQ](<https://devfeed.tech/sources/jooq.md>)

Topics: [releases](<https://devfeed.tech/topics/releases.md>), [DuckDB](<https://devfeed.tech/topics/duckdb.md>), [CockroachDB](<https://devfeed.tech/topics/cockroachdb.md>), [Maven](<https://devfeed.tech/topics/maven.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [rdbms](<https://devfeed.tech/topics/rdbms.md>), [Multi-tenancy](<https://devfeed.tech/topics/multi-tenancy.md>)

Tags: [cockroachdb](<https://devfeed.tech/tags/cockroachdb.md>), [cockroachdb-23](<https://devfeed.tech/tags/cockroachdb-23.md>), [duckdb](<https://devfeed.tech/tags/duckdb.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [gradle-plugin](<https://devfeed.tech/tags/gradle-plugin.md>), [implicit-joins](<https://devfeed.tech/tags/implicit-joins.md>), [java-8](<https://devfeed.tech/tags/java-8.md>), [join-paths](<https://devfeed.tech/tags/join-paths.md>), [jooq](<https://devfeed.tech/tags/jooq.md>), [jooq-3-19](<https://devfeed.tech/tags/jooq-3-19.md>), [jooq-development](<https://devfeed.tech/tags/jooq-development.md>), [maven](<https://devfeed.tech/tags/maven.md>), [maven-repository](<https://devfeed.tech/tags/maven-repository.md>), [multi-tenancy](<https://devfeed.tech/tags/multi-tenancy.md>), [oracle-23c](<https://devfeed.tech/tags/oracle-23c.md>), [policies](<https://devfeed.tech/tags/policies.md>), [release-notes](<https://devfeed.tech/tags/release-notes.md>), [releases](<https://devfeed.tech/tags/releases.md>), [row-level-security](<https://devfeed.tech/tags/row-level-security.md>), [security](<https://devfeed.tech/tags/security.md>), [trigger-meta-data](<https://devfeed.tech/tags/trigger-meta-data.md>), [triggers](<https://devfeed.tech/tags/triggers.md>), [trino](<https://devfeed.tech/tags/trino.md>), [trinodb](<https://devfeed.tech/tags/trinodb.md>), [udt-paths](<https://devfeed.tech/tags/udt-paths.md>), [udts](<https://devfeed.tech/tags/udts.md>)

### AI overview

The jOOQ 3.19.0 release adds experimental DuckDB support, Trino support, and support for CockroachDB 23 and Oracle 23c. It also improves join paths, introduces an official Gradle plugin and a commercial Maven repository, and adds policies for row-level security.

### Source excerpt

New Dialects It's been a few releases since we've added support for new dialects, but finally some very interesting RDBMS of increasing popularity have joined the jOOQ family including: These dialects are available in all jOOQ editions. New dialect versions In addition to these entirely new dialects, big new CockroachDB and Oracle versions have shipped: ... Continue reading jOOQ 3.19.0 Released with DuckDB, Trino, Oracle 23c support, join path improvements, an official gradle plugin, commercial maven repositories, policies, UDT paths, trigger meta data, hierarchies, and much more ->

## Maven Coordinates of the most popular JDBC Drivers

DevFeed: [Maven Coordinates of the most popular JDBC Drivers](<https://devfeed.tech/articles/maven-coordinates-of-the-most-popular-jdbc-drivers-28957.md>)

Original publisher: [Read original article](<https://blog.jooq.org/maven-coordinates-of-the-most-popular-jdbc-drivers/>)

Author: lukaseder

Published: 2023-12-13T11:25:44Z

Content type: tutorial

Language: en

Sources: [jOOQ](<https://devfeed.tech/sources/jooq.md>)

Topics: [Maven](<https://devfeed.tech/topics/maven.md>), [Maven Central](<https://devfeed.tech/topics/maven-central.md>), [Database](<https://devfeed.tech/topics/database.md>)

Tags: [database](<https://devfeed.tech/tags/database.md>), [drivers](<https://devfeed.tech/tags/drivers.md>), [integration](<https://devfeed.tech/tags/integration.md>), [java](<https://devfeed.tech/tags/java.md>), [jdbc](<https://devfeed.tech/tags/jdbc.md>), [jdbc-drivers](<https://devfeed.tech/tags/jdbc-drivers.md>), [jooq](<https://devfeed.tech/tags/jooq.md>), [maven](<https://devfeed.tech/tags/maven.md>), [maven-central](<https://devfeed.tech/tags/maven-central.md>), [sql](<https://devfeed.tech/tags/sql.md>)

### AI overview

A list of Maven coordinates for popular JDBC drivers used in jOOQ integration tests, with guidance to verify current versions on Maven Central and check driver licenses before downloading.

### Source excerpt

Do you need to add a JDBC driver to your application, and don't know its Maven coordinates? This blog post lists the most popular drivers from the jOOQ integration tests. Look up the latest versions directly on https://central.sonatype.com/ with parameters g:groupId a:artifactId, for example, the H2 database and driver: https://central.sonatype.com/search?q=g%3Acom.h2database+a%3Ah2 The list only includes drivers ... Continue reading Maven Coordinates of the most popular JDBC Drivers ->

## Farewell from the Reproducible Builds Summit 2023!

DevFeed: [Farewell from the Reproducible Builds Summit 2023!](<https://devfeed.tech/articles/farewell-from-the-reproducible-builds-summit-2023-34157.md>)

Original publisher: [Read original article](<https://reproducible-builds.org/news/2023/11/02/farewell-from-the-reproducible-builds-summit-2023/>)

Published: 2023-11-02T00:00:00Z

Content type: news

Language: en

Sources: [reproducible-builds.org](<https://devfeed.tech/sources/reproducible-builds-org.md>)

Topics: [reproducible builds](<https://devfeed.tech/topics/reproducible-builds.md>), [reproducibility](<https://devfeed.tech/topics/reproducibility.md>), [builds](<https://devfeed.tech/topics/builds.md>), [Embedded Systems](<https://devfeed.tech/topics/embedded-systems.md>)

Tags: [adb](<https://devfeed.tech/tags/adb.md>), [apache](<https://devfeed.tech/tags/apache.md>), [buildroot](<https://devfeed.tech/tags/buildroot.md>), [builds](<https://devfeed.tech/tags/builds.md>), [coreboot](<https://devfeed.tech/tags/coreboot.md>), [debian](<https://devfeed.tech/tags/debian.md>), [dockerignore-usage](<https://devfeed.tech/tags/dockerignore-usage.md>), [fedora](<https://devfeed.tech/tags/fedora.md>), [germany](<https://devfeed.tech/tags/germany.md>), [github](<https://devfeed.tech/tags/github.md>), [linux](<https://devfeed.tech/tags/linux.md>), [maven](<https://devfeed.tech/tags/maven.md>), [openwrt](<https://devfeed.tech/tags/openwrt.md>), [org](<https://devfeed.tech/tags/org.md>), [reproducibility](<https://devfeed.tech/tags/reproducibility.md>), [reproducible-builds](<https://devfeed.tech/tags/reproducible-builds.md>), [security](<https://devfeed.tech/tags/security.md>), [summit](<https://devfeed.tech/tags/summit.md>), [systemd](<https://devfeed.tech/tags/systemd.md>), [ubuntu](<https://devfeed.tech/tags/ubuntu.md>)

### AI overview

A recap of the seventh Reproducible Builds summit in Hamburg, Germany, covering project updates, reproducibility practices, verification services, filesystem images and containers, package reproducibility, SBOMs, and related discussions.

### Source excerpt

Farewell from the Reproducible Builds summit, which just took place in Hamburg, Germany: This year, we were thrilled to host the seventh edition of this exciting event. Topics covered this year included: Project updates from openSUSE, Fedora, Debian, ElectroBSD, Reproducible Central and NixOS Mapping the "big picture" Towards a snapshot service Understanding user-facing needs and personas Language-specific package managers Defining our definitions Creating a "Ten Commandments" of reproducibility Embedded systems Next steps in GNU Guix' reproducibility Signature storage and sharing Public verification services Verification use cases Web site audiences Enabling new projects to be "born reproducible" Collecting reproducibility success stories Reproducibility's relationship to SBOMs SBOMs for RPM-based distributions Filtering diffoscope output Reproducibility of filesystem images, filesystems and containers Using verification data A deep-dive on Fedora and Arch Linux package reproducibility Debian rebuild archive service discussion ... as well as countless informal discussions and hacking sessions into the night. Projects represented at the venue included: Debian, openSUSE, QubesOS, GNU Guix, Arch Linux, phosh, Mobian, PureOS, JustBuild, LibreOffice, Warpforge, OpenWrt, F-Droid, NixOS, ElectroBSD, Apache Security, Buildroot, Systemd, Apache Maven, Fedora, Privoxy, CHAINS (KTH Royal Institute of Technology), coreboot, GitHub, Tor Project, Ubuntu, rebuilderd, repro-env, spytrap-adb, arch-repro-status, etc. A huge thanks to our sponsors and partners for making the event possible: Event facilitation Platinum sponsor If you weren't able to make it this year, don't worry; just look out for an announcement in 2024 for the next event.

## Keycloak 22.0.4 released

DevFeed: [Keycloak 22.0.4 released](<https://devfeed.tech/articles/keycloak-22-0-4-released-31620.md>)

Original publisher: [Read original article](<https://www.keycloak.org/2023/10/keycloak-2204-released>)

Author: Keycloak Team

Published: 2023-10-04T00:00:00Z

Content type: release

Language: en

Sources: [Keycloak Blog](<https://devfeed.tech/sources/keycloak-blog.md>)

Topics: [Keycloak](<https://devfeed.tech/topics/keycloak.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>), [API](<https://devfeed.tech/topics/api.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Maven](<https://devfeed.tech/topics/maven.md>), [LDAP](<https://devfeed.tech/topics/ldap.md>), [saml](<https://devfeed.tech/topics/saml.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [bugs](<https://devfeed.tech/tags/bugs.md>), [database-migration](<https://devfeed.tech/tags/database-migration.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [idm](<https://devfeed.tech/tags/idm.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [kerberos](<https://devfeed.tech/tags/kerberos.md>), [keycloak](<https://devfeed.tech/tags/keycloak.md>), [keycloak-release](<https://devfeed.tech/tags/keycloak-release.md>), [ldap](<https://devfeed.tech/tags/ldap.md>), [maven](<https://devfeed.tech/tags/maven.md>), [openid-connect](<https://devfeed.tech/tags/openid-connect.md>), [release](<https://devfeed.tech/tags/release.md>), [saml](<https://devfeed.tech/tags/saml.md>), [sso](<https://devfeed.tech/tags/sso.md>)

### AI overview

Keycloak 22.0.4 is released with enhancements to the Admin Console, documentation, email validation guidance, manual database migration documentation, and JavaScript adapter distribution. The release also resolves issues involving LDAP, SAML, authentication, the UI, the Admin API, Windows, Linux, and other components.

### Source excerpt

To download the release go to Keycloak downloads. Upgrading Before upgrading refer to the migration guide for a complete list of changes. All resolved issues Enhancements #17733 Improve feature (detection) code in the Admin Console keycloak admin/api #23066 Remove bearer-only content from the Server Administration Guide keycloak docs #23124 Move email validation change docs to migration guide of 22.0.3 keycloak docs #23177 Move email validation change docs to migration guide of 22.0.4 keycloak docs #23246 Improve documentation about manual database migration keycloak docs #23312 Deploy JavaScript adapter to Maven repository keycloak Bugs #11931 user first name not refreshed in Keycloak V2 theme keycloak account/ui #21935 Using truststore with LDAP and StartTLS is not working keycloak ldap #22185 Can't boot Keycloak server with Java KeyStore p12 file running on Windows 10/2019 keycloak dist/quarkus #22478 Custom User Provider SPI: MULTIVALUED_STRING_TYPE value isn't correctly displayed on ui (but correctly saved and retrieved) keycloak admin/ui #22778 Deep link format for redirect uri parameter is not parsed correctly keycloak core #22825 Keycloak 22.0.1 unable to create user with long email address keycloak admin/api #22839 Linux Firefox + Keycloak 22.0.1 issue(continuation of issue 21307) keycloak authentication #22892 Not-working link during adding a SAML Identity provider keycloak admin/ui #22923 Events filter by IP Address not working keycloak admin/api #22974 NullpointerException when using encrypted SAML assertions keycloak saml #23053 KC22: Issue with FIPS140 in non approved mode. keycloak core #23065 Admin console throwing 403 error when logged in for sub realm using local admin user keycloak admin/ui #23185 Registration page not showing username when edit username is not enabled keycloak user-profile #23251 SAML Encryption Key Export Downloads Signing Key keycloak admin/ui #23258 Race condition inside Keycloak build chain execution keycloak dist/quarkus #23

## Meet "YCharts": an Opensource Jetpack Compose chart library.

DevFeed: [Meet "YCharts": an Opensource Jetpack Compose chart library.](<https://devfeed.tech/articles/meet-ycharts-an-opensource-jetpack-compose-chart-library-24755.md>)

Original publisher: [Read original article](<https://medium.com/ymedialabs-innovation/meet-ycharts-an-opensource-jetpack-compose-chart-library-2568aeac19fb?source=rss----8b5620c36355---4>)

Author: Codeangi

Published: 2023-07-13T06:29:03Z

Content type: tutorial

Language: en

Sources: [ymedialabs-innovation - Medium](<https://devfeed.tech/sources/ymedialabs-innovation-medium.md>)

Topics: [Compose](<https://devfeed.tech/topics/compose.md>), [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [Android](<https://devfeed.tech/topics/android.md>), [Graphs](<https://devfeed.tech/topics/graphs.md>), [Library](<https://devfeed.tech/topics/library.md>), [ui](<https://devfeed.tech/topics/ui.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [charts](<https://devfeed.tech/tags/charts.md>), [charts-and-graphs](<https://devfeed.tech/tags/charts-and-graphs.md>), [color](<https://devfeed.tech/tags/color.md>), [compose](<https://devfeed.tech/tags/compose.md>), [electronics](<https://devfeed.tech/tags/electronics.md>), [graphs](<https://devfeed.tech/tags/graphs.md>), [ios](<https://devfeed.tech/tags/ios.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-multiplatform](<https://devfeed.tech/tags/kotlin-multiplatform.md>), [library](<https://devfeed.tech/tags/library.md>), [maven](<https://devfeed.tech/tags/maven.md>), [signal](<https://devfeed.tech/tags/signal.md>), [time](<https://devfeed.tech/tags/time.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

This article introduces Y-Charts, an open-source Jetpack Compose chart library for Android. It explains how the library integrates charts into existing UI, can be added through Maven, and supports customizable Cartesian, bar, line, and wave charts.

### Source excerpt

Meet "Y-Charts": an Opensource Jetpack Compose chart library. GitHub - yml-org/YCharts: YCharts is a graph library for Android. Y-Charts is a Jetpack Compose-based charts/graphs library that enables developers to easily integrate various types of charts/graphs into their existing UI to visually represent statistical data. Jetpack Compose is Android's recommended modern toolkit for building native UI. Y-Charts leverages on powerful features of Jetpack Compose to deliver accurate and accessible results for users, and many reusable components allow it to be concise and lightweight also enabling developers to customize and add new charts with ease. Y-Charts Sample in action.Adding Y-charts to your project. You can add the library via Maven: https://medium.com/media/f3feb939f36855b0cec632a08a6c6fa8/hrefCharts in Y-Charts:1. Cartesian Charts: Cartesian charts, also known as coordinate charts or xy-charts, utilize a rectangular coordinate system with two perpendicular axes: the x-axis (horizontal) and the y-axis (vertical). These charts are particularly effective for displaying quantitative data and relationships between variables. AxisData: The AxisData model supplied to each chart item controls the behavior and appearance of X and Y axis labels, user can opt for default behavior via the builder and can customize according to their needs. Bar Charts: Bar charts use rectangular bars to represent data, where the length or height of each bar corresponds to its value. Y-Charts provides many customization including the orientation of the bar chart to achieve a horizontal-scroll behavior, along with grouping and stacking of bars. This enables users to visualize different types of bar charts with very few code changes. BarchartData and GroupBarChartData enable users to customize this behavior, additionally, users can change the appearance of the bars by using the BarStyle property. BarData represents the data for each bar shown in the chart. Following snippet shows the BarchartD

## Cannot resolve symbol 'VERSION\_3\_17' in jOOQ generated code

DevFeed: [Cannot resolve symbol 'VERSION\_3\_17' in jOOQ generated code](<https://devfeed.tech/articles/cannot-resolve-symbol-version-3-17-in-jooq-generated-code-28933.md>)

Original publisher: [Read original article](<https://blog.jooq.org/cannot-resolve-symbol-version_3_17-in-jooq-generated-code/>)

Author: lukaseder

Published: 2022-08-30T06:56:20Z

Content type: tutorial

Language: en

Sources: [jOOQ](<https://devfeed.tech/sources/jooq.md>)

Topics: [Code](<https://devfeed.tech/topics/code.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [Code generation](<https://devfeed.tech/topics/code-generation.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [Maven](<https://devfeed.tech/topics/maven.md>)

Tags: [code-generation](<https://devfeed.tech/tags/code-generation.md>), [compilation](<https://devfeed.tech/tags/compilation.md>), [compilation-error](<https://devfeed.tech/tags/compilation-error.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [errors](<https://devfeed.tech/tags/errors.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [java](<https://devfeed.tech/tags/java.md>), [jooq](<https://devfeed.tech/tags/jooq.md>), [jooq-in-use](<https://devfeed.tech/tags/jooq-in-use.md>), [location](<https://devfeed.tech/tags/location.md>), [maven](<https://devfeed.tech/tags/maven.md>)

### AI overview

This article explains that a VERSION_3_17 compilation error in jOOQ-generated code is caused by a mismatch between the runtime library and code generation library. The runtime version must be at least as new as the code generation version; matching both versions is recommended.

### Source excerpt

Starting with jOOQ 3.16 and #12601, there may be a compilation error with a message like this in your jOOQ generated code: [ERROR] .../DefaultCatalog.java:[53,73] cannot find symbol[ERROR] symbol: variable VERSION_3_17[ERROR] location: class org.jooq.Constants Typically, this error is mixed with other compilation errors in generated code. Its purpose is to help troubleshoot these other compilation errors. ... Continue reading Cannot resolve symbol 'VERSION_3_17' in jOOQ generated code ->

## How to Integration Test Stored Procedures with jOOQ

DevFeed: [How to Integration Test Stored Procedures with jOOQ](<https://devfeed.tech/articles/how-to-integration-test-stored-procedures-with-jooq-28942.md>)

Original publisher: [Read original article](<https://blog.jooq.org/how-to-integration-test-stored-procedures-with-jooq/>)

Author: lukaseder

Published: 2022-08-22T12:36:00Z

Content type: tutorial

Language: en

Sources: [jOOQ](<https://devfeed.tech/sources/jooq.md>)

Topics: [Testing](<https://devfeed.tech/topics/testing.md>), [Database](<https://devfeed.tech/topics/database.md>), [Testcontainers](<https://devfeed.tech/topics/testcontainers.md>), [Java](<https://devfeed.tech/topics/java.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [code-generation](<https://devfeed.tech/tags/code-generation.md>), [database](<https://devfeed.tech/tags/database.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [integration-test](<https://devfeed.tech/tags/integration-test.md>), [integration-testing](<https://devfeed.tech/tags/integration-testing.md>), [java](<https://devfeed.tech/tags/java.md>), [jooq](<https://devfeed.tech/tags/jooq.md>), [jooq-in-use](<https://devfeed.tech/tags/jooq-in-use.md>), [junit](<https://devfeed.tech/tags/junit.md>), [maven](<https://devfeed.tech/tags/maven.md>), [stored-procedures](<https://devfeed.tech/tags/stored-procedures.md>), [testcontainers](<https://devfeed.tech/tags/testcontainers.md>), [unit-test](<https://devfeed.tech/tags/unit-test.md>)

### AI overview

This tutorial explains how to integration-test database stored procedures and functions with Java, jOOQ, Testcontainers, and JUnit. It shows how to run PostgreSQL in Testcontainers, generate jOOQ classes for stored procedures, and reuse Java test infrastructure instead of manually binding to procedures through JDBC.

### Source excerpt

When you write stored procedures and functions in your database, you want to ensure their correctness, just like with your Java code. In Java, this is done with unit tests, typically with JUnit. For example, if you have the following code in Java: Then, you might write a test like this: But how do we ... Continue reading How to Integration Test Stored Procedures with jOOQ ->

## Create Dynamic Views with jOOQ 3.17's new Virtual Client Side Computed Columns

DevFeed: [Create Dynamic Views with jOOQ 3.17's new Virtual Client Side Computed Columns](<https://devfeed.tech/articles/create-dynamic-views-with-jooq-3-17-s-new-virtual-client-side-computed-columns-28936.md>)

Original publisher: [Read original article](<https://blog.jooq.org/create-dynamic-views-with-jooq-3-17s-new-virtual-client-side-computed-columns/>)

Author: lukaseder

Published: 2022-06-30T14:46:35Z

Content type: article

Language: en

Sources: [jOOQ](<https://devfeed.tech/sources/jooq.md>)

Topics: [SQL](<https://devfeed.tech/topics/sql.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>)

Tags: [client-side-computed-columns](<https://devfeed.tech/tags/client-side-computed-columns.md>), [computed-columns](<https://devfeed.tech/tags/computed-columns.md>), [java](<https://devfeed.tech/tags/java.md>), [jooq](<https://devfeed.tech/tags/jooq.md>), [jooq-3-17](<https://devfeed.tech/tags/jooq-3-17.md>), [jooq-development](<https://devfeed.tech/tags/jooq-development.md>), [maven](<https://devfeed.tech/tags/maven.md>), [sql](<https://devfeed.tech/tags/sql.md>), [virtual-client-side-computed-columns](<https://devfeed.tech/tags/virtual-client-side-computed-columns.md>), [virtual-computed-columns](<https://devfeed.tech/tags/virtual-computed-columns.md>)

### AI overview

This article explains jOOQ 3.17's client-side computed columns, which let developers define computed expressions that are substituted into SQL statements or evaluated when values are written. It contrasts them with server-side computed columns and discusses using the feature to create dynamic view-like behavior without database views.

### Source excerpt

One of jOOQ 3.17's coolest new features are client side computed columns. jOOQ 3.16 already added support for server side computed columns, which many of you appreciate for various reasons. What's a computed column? A computed column is a column that is derived ("computed") from an expression. It cannot be written to. It works like ... Continue reading Create Dynamic Views with jOOQ 3.17's new Virtual Client Side Computed Columns ->

## Converting Gradle convention plugins to binary plugins

DevFeed: [Converting Gradle convention plugins to binary plugins](<https://devfeed.tech/articles/converting-gradle-convention-plugins-to-binary-plugins-38532.md>)

Original publisher: [Read original article](<https://msfjarvis.dev/posts/converting-gradle-convention-plugins-to-binary-plugins/>)

Author: Harsh Shandilya

Published: 2022-04-17T06:30:00Z

Content type: tutorial

Language: en

Sources: [Posts on Harsh Shandilya](<https://devfeed.tech/sources/posts-on-harsh-shandilya.md>)

Topics: [Gradle](<https://devfeed.tech/topics/gradle.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [build performance](<https://devfeed.tech/topics/build-performance.md>), [modules](<https://devfeed.tech/topics/modules.md>), [Maven](<https://devfeed.tech/topics/maven.md>), [Android Library](<https://devfeed.tech/topics/android-library.md>)

Tags: [build](<https://devfeed.tech/tags/build.md>), [compilation](<https://devfeed.tech/tags/compilation.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [convention-plugins](<https://devfeed.tech/tags/convention-plugins.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [development-process](<https://devfeed.tech/tags/development-process.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [incremental](<https://devfeed.tech/tags/incremental.md>), [maven](<https://devfeed.tech/tags/maven.md>), [modules](<https://devfeed.tech/tags/modules.md>), [plugins](<https://devfeed.tech/tags/plugins.md>), [publishing](<https://devfeed.tech/tags/publishing.md>)

### AI overview

This tutorial explains why Gradle convention plugins may be converted into binary plugins. It discusses IDE support and incremental build issues, then describes distributing plugins as Maven dependencies to avoid repeated compilation and simplify reuse across projects.

### Source excerpt

Gradle's convention plugins are a fantastic way to share common build configuration, why not take them a step further?

## Automate library publishing to Maven Central with GitHub Actions Workflow Dispatch 🤖

DevFeed: [Automate library publishing to Maven Central with GitHub Actions Workflow Dispatch 🤖](<https://devfeed.tech/articles/automate-library-publishing-to-maven-central-with-github-actions-workflow-dispatch-25700.md>)

Original publisher: [Read original article](<https://blog.shreyaspatil.dev/automate-library-publishing-to-maven-central-with-github-actions-workflow-dispatch/>)

Author: Shreyas Patil

Published: 2022-01-21T12:49:26Z

Content type: tutorial

Language: en

Sources: [Shreyas Patil's Blog](<https://devfeed.tech/sources/shreyas-patil-s-blog.md>)

Topics: [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [Maven Central](<https://devfeed.tech/topics/maven-central.md>), [Library](<https://devfeed.tech/topics/library.md>), [releases](<https://devfeed.tech/topics/releases.md>), [ci](<https://devfeed.tech/topics/ci.md>), [Maven](<https://devfeed.tech/topics/maven.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [ci](<https://devfeed.tech/tags/ci.md>), [github](<https://devfeed.tech/tags/github.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [guide](<https://devfeed.tech/tags/guide.md>), [java](<https://devfeed.tech/tags/java.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [library](<https://devfeed.tech/tags/library.md>), [maven](<https://devfeed.tech/tags/maven.md>), [maven-central](<https://devfeed.tech/tags/maven-central.md>), [releases](<https://devfeed.tech/tags/releases.md>), [source](<https://devfeed.tech/tags/source.md>), [workflow](<https://devfeed.tech/tags/workflow.md>)

### AI overview

A step-by-step guide to using GitHub Actions Workflow Dispatch to manually build a JVM library, publish it to Maven Central, create a version tag, and create a draft release.

### Source excerpt

Step-by-step guide to automating JVM library publishing to Maven Central using GitHub Actions and Workflow Dispatch for one-click releases.

## Deploy your internal libraries on Github

DevFeed: [Deploy your internal libraries on Github](<https://devfeed.tech/articles/deploy-your-internal-libraries-on-github-22860.md>)

Original publisher: [Read original article](<https://medium.com/kodein-koders/deploy-your-internal-libraries-on-github-e221d4a9a7a0?source=rss----f311f45ef54---4>)

Author: Romain Boisselle

Published: 2021-04-27T05:20:12Z

Content type: tutorial

Language: en

Sources: [Kodein Koders - Medium](<https://devfeed.tech/sources/kodein-koders-medium.md>)

Topics: [GitHub](<https://devfeed.tech/topics/github.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [Maven Central](<https://devfeed.tech/topics/maven-central.md>)

Tags: [bintray](<https://devfeed.tech/tags/bintray.md>), [build](<https://devfeed.tech/tags/build.md>), [dependency](<https://devfeed.tech/tags/dependency.md>), [github](<https://devfeed.tech/tags/github.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [gradle-plugin](<https://devfeed.tech/tags/gradle-plugin.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [http](<https://devfeed.tech/tags/http.md>), [maven](<https://devfeed.tech/tags/maven.md>), [maven-central](<https://devfeed.tech/tags/maven-central.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [releases](<https://devfeed.tech/tags/releases.md>), [repo](<https://devfeed.tech/tags/repo.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>)

### AI overview

This tutorial explains how to publish internal libraries or early-access releases outside Maven Central by hosting Gradle plugin releases in a GitHub repository branch and serving them over HTTP. It also explains why the authors chose this approach instead of GitHub Packages, which requires authentication even for public packages.

### Source excerpt

In a previous tutorial, I explain how to configure and deploy your libraries to Maven Central. But, there are some libraries that that do... Continue reading on Kodein Koders "

## Migrate existing library artifacts from JCenter to Maven Central

DevFeed: [Migrate existing library artifacts from JCenter to Maven Central](<https://devfeed.tech/articles/migrate-existing-library-artifacts-from-jcenter-to-maven-central-28697.md>)

Original publisher: [Read original article](<https://jeroenmols.com/blog/2021/03/24/migrate-artifacts-mavencentral/>)

Author: info@jeroenmols.com (Jeroen Mols)

Published: 2021-03-24T00:00:00Z

Content type: tutorial

Language: en

Sources: [Jeroen Mols](<https://devfeed.tech/sources/jeroen-mols.md>)

Topics: [Maven Central](<https://devfeed.tech/topics/maven-central.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Maven](<https://devfeed.tech/topics/maven.md>), [Gradle](<https://devfeed.tech/topics/gradle.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>)

Tags: [blogs](<https://devfeed.tech/tags/blogs.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [jcenter](<https://devfeed.tech/tags/jcenter.md>), [maven](<https://devfeed.tech/tags/maven.md>), [maven-central](<https://devfeed.tech/tags/maven-central.md>), [mavencentral](<https://devfeed.tech/tags/mavencentral.md>), [migrate](<https://devfeed.tech/tags/migrate.md>), [migration](<https://devfeed.tech/tags/migration.md>), [private-key](<https://devfeed.tech/tags/private-key.md>), [script](<https://devfeed.tech/tags/script.md>), [secrets](<https://devfeed.tech/tags/secrets.md>), [sonatype](<https://devfeed.tech/tags/sonatype.md>)

### AI overview

A tutorial for migrating existing library artifacts from JCenter to Maven Central. It covers enumerating versions, configuring GPG signing, setting up Sonatype credentials, downloading artifacts, adding missing metadata, and signing and uploading each version.

### Source excerpt

With JCenter shutting down, many are migrating to Maven Central. And while there are many posts on how to publish new artifacts, also all existing artifacts should be migrated away from JCenter.

[Next page](<https://devfeed.tech/tags/maven.md?cursor=WyIyMDIxLTAzLTI0VDAwOjAwOjAwKzAwOjAwIiwgImE1MDlkODk0LWRjZDEtNDIwMi05OWE3LTRiN2E3N2ZkNzgyNiJd>)