From fcaf07e3e35dfdb93d54862053aa8f7dd6350b1c Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sat, 10 Jan 2026 14:08:02 +0400 Subject: [PATCH 01/16] Add workflow --- .github/workflows/update-readme.yml | 66 +++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 .github/workflows/update-readme.yml diff --git a/.github/workflows/update-readme.yml b/.github/workflows/update-readme.yml new file mode 100644 index 00000000..fcedcdf4 --- /dev/null +++ b/.github/workflows/update-readme.yml @@ -0,0 +1,66 @@ +name: Update README + +on: + schedule: + # Run once a week on Monday at 00:00 UTC + - cron: "0 0 * * 1" + workflow_dispatch: # Allow manual triggering + push: + branches: + - test + paths: + - "CONTRIBUTE_README.md" + - "scripts/**" + +jobs: + update-readme: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 # Fetch all history for git operations + + - name: Set up Java + uses: actions/setup-java@v4 + with: + distribution: "temurin" + java-version: "25" + + - name: Restore stats cache + run: | + mkdir -p .tmp + # On scheduled runs, refresh all stats by not restoring cache + # On manual/push runs, use cache to avoid unnecessary API calls + if [ "${{ github.event_name }}" == "schedule" ]; then + echo "Scheduled run detected - will fetch fresh data for all repositories" + # Don't restore cache, let script fetch everything fresh + else + # Try to restore stats cache from previous run + if git show HEAD:.tmp/github-stats.txt > .tmp/github-stats.txt 2>/dev/null; then + echo "Restored existing stats cache from previous commit" + else + echo "No existing stats cache found, will fetch all data" + fi + fi + + - name: Run README generation workflow + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + java --enable-preview --source 25 scripts/run_workflow.java + + - name: Commit updated README and stats cache + run: | + git config --local user.email "action@github.com" + git config --local user.name "GitHub Action" + git add README.md + # Always commit the stats cache so it persists for next run + git add .tmp/github-stats.txt || true + if git diff --staged --quiet; then + echo "No changes to commit" + else + git commit -m "Update README with latest GitHub stats [skip ci]" + git push + fi From ccb6ede127574a2985d62e47fa09ebd6ba1f3bc1 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sun, 11 Jan 2026 12:07:46 +0400 Subject: [PATCH 02/16] Update --- .github/workflows/update-readme.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/update-readme.yml b/.github/workflows/update-readme.yml index fcedcdf4..b02700e7 100644 --- a/.github/workflows/update-readme.yml +++ b/.github/workflows/update-readme.yml @@ -7,6 +7,7 @@ on: workflow_dispatch: # Allow manual triggering push: branches: + - master - test paths: - "CONTRIBUTE_README.md" @@ -47,7 +48,7 @@ jobs: - name: Run README generation workflow env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + PAT: ${{ secrets.PAT }} run: | java --enable-preview --source 25 scripts/run_workflow.java @@ -55,9 +56,9 @@ jobs: run: | git config --local user.email "action@github.com" git config --local user.name "GitHub Action" - git add README.md + git add -f README.md # Always commit the stats cache so it persists for next run - git add .tmp/github-stats.txt || true + git add -f .tmp/github-stats.txt || true if git diff --staged --quiet; then echo "No changes to commit" else From 2ad94c828bd426c4926b9563322aa50899a92f87 Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sun, 11 Jan 2026 12:10:45 +0400 Subject: [PATCH 03/16] Update --- README.md | 182 +++++++++++++++++++++++++++++------------------------- 1 file changed, 99 insertions(+), 83 deletions(-) diff --git a/README.md b/README.md index a87f7897..14cb44c2 100644 --- a/README.md +++ b/README.md @@ -2,90 +2,106 @@ A curated list of awesome Java frameworks, libraries and software. +[Please find a different kind of layout here](https://github.com/akullpp/awesome-java/tree/test). We are evaluating to make this the default, you can provide feedback here in [#1171](https://github.com/akullpp/awesome-java/issues/1171). + ## Contents -- [Projects](#projects) - - [Architecture](#architecture) - - [Artificial Intelligence](#artificial-intelligence) - - [Bean Mapping](#bean-mapping) - - [Build](#build) - - [Bytecode Manipulation](#bytecode-manipulation) - - [Caching](#caching) - - [CLI](#cli) - - [Cloud](#cloud) - - [Code Analysis](#code-analysis) - - [Code Coverage](#code-coverage) - - [Code Generators](#code-generators) - - [Compiler-compiler](#compiler-compiler) - - [Computer Vision](#computer-vision) - - [Configuration](#configuration) - - [Constraint Satisfaction Problem Solver](#constraint-satisfaction-problem-solver) - - [CSV](#csv) - - [Data Structures](#data-structures) - - [Database](#database) - - [Date and Time](#date-and-time) - - [Decentralization](#decentraliation) - - [Dependency Injection](#dependency-injection) - - [Development](#development) - - [Distributed Applications](#distributed-applications) - - [Distributed Transactions](#distributed-transactions) - - [Distribution](#distribution) - - [Document Processing](#document-processing) - - [Financial](#financial) - - [Formal Verification](#formal-verification) - - [Functional Programming](#functional-programming) - - [Game Development](#game-development) - - [Geospatial](#geospatial) - - [GUI](#gui) - - [High Performance](#high-performance) - - [HTTP Clients](#http-clients) - - [Hypermedia Types](#hypermedia-types) - - [IDE](#ide) - - [Imagery](#imagery) - - [Introspection](#introspection) - - [Job Scheduling](#job-scheduling) - - [JSON](#json) - - [JVM and JDK](#jvm-and-jdk) - - [Logging](#logging) - - [Machine Learning](#machine-learning) - - [Messaging](#messaging) - - [Microservice](#microservice) - - [Miscellaneous](#miscellaneous) - - [Mobile Development](#mobile-development) - - [Monitoring](#monitoring) - - [Native](#native) - - [Natural Language Processing](#natural-language-processing) - - [Networking](#networking) - - [ORM](#orm) - - [PaaS](#paas) - - [Pathfinding](#pathfinding) - - [PDF](#pdf) - - [Performance analysis](#performance-analysis) - - [Platform](#platform) - - [Processes](#processes) - - [Reactive libraries](#reactive-libraries) - - [REST Frameworks](#rest-frameworks) - - [Science](#science) - - [Search](#search) - - [Security](#security) - - [Serialization](#serialization) - - [Server](#server) - - [Template Engine](#template-engine) - - [Testing](#testing) - - [Utility](#utility) - - [Version Managers](#version-managers) - - [Web Crawling](#web-crawling) - - [Web Frameworks](#web-frameworks) - - [Workflow Orchestration Engines](#workflow-orchestration-engines) -- [Resources](#resources) - - [Related Awesome Lists](#related-awesome-lists) - - [Communities](#communities) - - [Frontends](#frontends) - - [Influential Books](#influential-books) - - [Podcasts and Screencasts](#podcasts-and-screencasts) - - [People](#people) - - [Websites](#websites) -- [Contributing](#contributing) +- [Awesome Java](#awesome-java-) + - [Contents](#contents) + - [Projects](#projects) + - [Architecture](#architecture) + - [Artificial Intelligence](#artificial-intelligence) + - [Bean Mapping](#bean-mapping) + - [Build](#build) + - [Bytecode Manipulation](#bytecode-manipulation) + - [Caching](#caching) + - [CLI](#cli) + - [Argument Parsing](#argument-parsing) + - [Text-Based User Interfaces](#text-based-user-interfaces) + - [Cloud](#cloud) + - [Code Analysis](#code-analysis) + - [Code Coverage](#code-coverage) + - [Code Generators](#code-generators) + - [Compiler-compiler](#compiler-compiler) + - [Computer Vision](#computer-vision) + - [Configuration](#configuration) + - [Constraint Satisfaction Problem Solver](#constraint-satisfaction-problem-solver) + - [CSV](#csv) + - [Data Structures](#data-structures) + - [Database](#database) + - [Date and Time](#date-and-time) + - [Decentralization](#decentralization) + - [Dependency Injection](#dependency-injection) + - [Development](#development) + - [Distributed Applications](#distributed-applications) + - [Distributed Transactions](#distributed-transactions) + - [Distribution](#distribution) + - [Document Processing](#document-processing) + - [Financial](#financial) + - [Formal Verification](#formal-verification) + - [Functional Programming](#functional-programming) + - [Game Development](#game-development) + - [Geospatial](#geospatial) + - [GUI](#gui) + - [High Performance](#high-performance) + - [HTTP Clients](#http-clients) + - [Hypermedia Types](#hypermedia-types) + - [IDE](#ide) + - [Imagery](#imagery) + - [Introspection](#introspection) + - [Job Scheduling](#job-scheduling) + - [JSON](#json) + - [JVM and JDK](#jvm-and-jdk) + - [Logging](#logging) + - [Machine Learning](#machine-learning) + - [Messaging](#messaging) + - [Microservice](#microservice) + - [Miscellaneous](#miscellaneous) + - [Mobile Development](#mobile-development) + - [Monitoring](#monitoring) + - [Native](#native) + - [Natural Language Processing](#natural-language-processing) + - [Networking](#networking) + - [ORM](#orm) + - [PaaS](#paas) + - [Pathfinding](#pathfinding) + - [PDF](#pdf) + - [Performance analysis](#performance-analysis) + - [Platform](#platform) + - [Apache Commons](#apache-commons) + - [Other](#other) + - [Processes](#processes) + - [Reactive libraries](#reactive-libraries) + - [REST Frameworks](#rest-frameworks) + - [Science](#science) + - [Search](#search) + - [Security](#security) + - [Serialization](#serialization) + - [Server](#server) + - [Template Engine](#template-engine) + - [Testing](#testing) + - [Asynchronous](#asynchronous) + - [BDD](#bdd) + - [Fixtures](#fixtures) + - [Frameworks](#frameworks) + - [Matchers](#matchers) + - [Miscellaneous](#miscellaneous-1) + - [Mocking](#mocking) + - [Utility](#utility) + - [Version Managers](#version-managers) + - [Web Crawling](#web-crawling) + - [Web Frameworks](#web-frameworks) + - [Workflow Orchestration Engines](#workflow-orchestration-engines) + - [Resources](#resources) + - [Related Awesome Lists](#related-awesome-lists) + - [Communities](#communities) + - [Frontends](#frontends) + - [Influential Books](#influential-books) + - [Podcasts and Screencasts](#podcasts-and-screencasts) + - [People](#people) + - [Socials](#socials) + - [Websites](#websites) + - [Contributing](#contributing) ## Projects @@ -864,7 +880,7 @@ _Java platform as a service._ _Algorithms and libraries for finding routes in graphs and spatial environments._ -- [Pathetic](https://github.com/bsommerfeld/pathetic) - A highly configurable 3D A* pathfinding library that uses specific optimizations for high performance. +- [Pathetic](https://github.com/bsommerfeld/pathetic) - A highly configurable 3D A\* pathfinding library that uses specific optimizations for high performance. ### PDF From 01efdf3150af3ee6e0860ffb731933f4a3f3baca Mon Sep 17 00:00:00 2001 From: Andreas Kull Date: Sun, 11 Jan 2026 12:11:31 +0400 Subject: [PATCH 04/16] Update --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 14cb44c2..f16ed01f 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,9 @@ A curated list of awesome Java frameworks, libraries and software. -[Please find a different kind of layout here](https://github.com/akullpp/awesome-java/tree/test). We are evaluating to make this the default, you can provide feedback here in [#1171](https://github.com/akullpp/awesome-java/issues/1171). +[Please find a different kind of layout here](https://github.com/akullpp/awesome-java/tree/test). + +We are evaluating to make this the default, you can provide feedback here in [#1171](https://github.com/akullpp/awesome-java/issues/1171). ## Contents From 839ee95126c34121d8fe276ab4f9394610caea67 Mon Sep 17 00:00:00 2001 From: YuePeng Date: Sun, 11 Jan 2026 17:00:32 +0800 Subject: [PATCH 05/16] Add Erupt Low-code (#1168) * Add Erupt framework to the README * Fix Erupt framework description in README Updated Erupt framework link description for clarity. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f16ed01f..8bf3a000 100644 --- a/README.md +++ b/README.md @@ -1274,6 +1274,7 @@ _Frameworks that handle the communication between the layers of a web applicatio - [Takes](https://github.com/yegor256/takes) - Opinionated web framework which is built around the concepts of True Object-Oriented Programming and immutability. - [Vaadin](https://vaadin.com) - Full-stack open-source Java framework that simplifies web app development. Build complex, interactive applications with Java alone, and enhance with TypeScript and React components, without needing deep JavaScript, CSS, or HTML expertise. - [WebForms Core](https://github.com/webforms-core) - A technology for managing HTML tags from the server. +- [Erupt](https://github.com/erupts/erupt) - Annotation-Driven Low-Code & JPA Visualization ### Workflow Orchestration Engines From c014dc831fb01a047b7acf37a8b516772169e022 Mon Sep 17 00:00:00 2001 From: Dmitry Turmyshev <49456100+turmyshevd@users.noreply.github.com> Date: Sun, 11 Jan 2026 09:01:06 +0000 Subject: [PATCH 06/16] Add BitDive to Testing > Frameworks section (#1167) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8bf3a000..5eb80415 100644 --- a/README.md +++ b/README.md @@ -1161,6 +1161,7 @@ _Provide environments to run tests for a specific use case._ - [Apache JMeter](http://jmeter.apache.org) - Functional testing and performance measurements. - [JMeter DSL.java](https://abstracta.github.io/jmeter-java-dsl/) - Load tests with JMeter as simple as a JUnit test. - [Arquillian](http://arquillian.org) - Integration and functional testing platform for Java EE containers. +- [BitDive ![c]](https://bitdive.io) - Zero-code integration testing platform that generates tests from runtime application behavior. - [cdi-test](https://github.com/guhilling/cdi-test) - JUnit extension for easy and efficient testing of CDI components. - [Citrus](https://citrusframework.org) - Integration testing framework that focuses on both client- and server-side messaging. - [Gatling](https://gatling.io) - Load testing tool designed for ease of use, maintainability and high performance. From da9ec00612dd2686c4035d5fb2ac3318658bffc7 Mon Sep 17 00:00:00 2001 From: Richard Lawson Date: Sun, 11 Jan 2026 04:01:31 -0500 Subject: [PATCH 07/16] Add Sierra Swing DSL (#1166) Sierra is a lightweight declarative XML DSL for Swing. Comes with a live previewer and dtd support. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5eb80415..bd92060f 100644 --- a/README.md +++ b/README.md @@ -528,6 +528,7 @@ _Libraries to create modern graphical user interfaces._ - [JavaFX](https://wiki.openjdk.java.net/display/OpenJFX/Main) - Successor of Swing. - [Scene Builder](https://gluonhq.com/products/scene-builder/) - Visual layout tool for JavaFX applications. - [SnapKit](https://github.com/reportmill/SnapKit) - Modern Java UI library for both desktop and web. +- [Sierra](https://github.com/HTTP-RPC/Sierra) - Lightwieght declarative DSL for rapid development of Swing applications. - [SWT](https://www.eclipse.org/swt/) - Graphical widget toolkit. ### High Performance From 8c6a53c28b36a2e9b65138aaae5d1a8eef634cad Mon Sep 17 00:00:00 2001 From: "Md. Sazzad Hissain Khan" Date: Sun, 11 Jan 2026 15:02:00 +0600 Subject: [PATCH 08/16] Add jSciPy library to scientific computing section (#1165) jSciPy is a Java library designed for scientific computing, offering functionalities inspired by popular scientific computing libraries. It currently provides modules for signal processing, including Butterworth filters, peak finding algorithms, and an RK4 solver for ordinary differential equations. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index bd92060f..b9b98ef0 100644 --- a/README.md +++ b/README.md @@ -1030,6 +1030,7 @@ _Libraries for scientific computing, analysis and visualization._ - [JFreeChart](http://www.jfree.org/jfreechart/) - 2D chart library for Swing, JavaFX and server-side applications. (LGPL-2.1-only) - [JGraphT](https://github.com/jgrapht/jgrapht) - Graph library that provides mathematical graph-theory objects and algorithms. - [JGraphX](https://github.com/jgraph/jgraphx) - Library for visualizing (mainly Swing) and interacting with node-edge graphs. +- [jSciPy](https://github.com/hissain/jscipy) - jSciPy is a Java library designed for scientific computing, offering functionalities inspired by popular scientific computing libraries. It currently provides modules for signal processing, including Butterworth filters, peak finding algorithms, and an RK4 solver for ordinary differential equations. - [LogicNG](https://github.com/logic-ng/LogicNG) - Library for creating, manipulating and solving Boolean and Pseudo-Boolean formulas. - [Mines Java Toolkit](https://github.com/MinesJTK/jtk) - Library for geophysical scientific computation, visualization and digital signal analysis. - [Morpheus](https://github.com/zavtech/morpheus-core) - Provides a versatile two-dimensional memory efficient tabular data structure called a DataFrame to enable efficient in-memory analytics for scientific computing on the JVM. From dd9b554867038f27acd8137337c9862ff108ef3f Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Sun, 11 Jan 2026 10:02:14 +0100 Subject: [PATCH 09/16] Fix JBang link (#1164) * Fix JBang link * Fix alphabetical sorting --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index b9b98ef0..d733963f 100644 --- a/README.md +++ b/README.md @@ -744,6 +744,7 @@ _Everything else._ - [ISBN core](https://github.com/ladutsko/isbn-core) - A small library that contains a representation object of ISBN-10 and ISBN-13 and tools to parse, validate and format one. - [J2ObjC](https://github.com/google/j2objc) - Java-to-Objective-C translator for porting Android libraries to iOS. - [JBake](https://jbake.org) - Static website generator. +- [JBang](https://www.jbang.dev/) - JBang makes it easy to use Java for scripting. It lets you use a single file for code and dependency management and allows you to run it directly. - [JBot](https://github.com/rampatra/jbot) - Framework for building chatbots. (GPL-3.0-only) - [JCuda](http://jcuda.org) - JCuda offers Java bindings for CUDA and CUDA-related libraries. - [JEmoji](https://github.com/felldo/JEmoji) - An auto-generated emoji library that provides type-safe direct access to emojis and alias support for Discord, Slack, GitHub and many more features. @@ -772,8 +773,6 @@ _Everything else._ - [webcam-capture](https://github.com/sarxos/webcam-capture) - Library for using built-in and external webcams directly in Java. - [XMLBeam](https://github.com/SvenEwald/xmlbeam) - Processes XML by using annotations or XPath within code. - [yGuard](https://github.com/yWorks/yGuard) - Obfuscation via renaming and shrinking. -- [JBang](https://github.com/maxandersen/jbang/) - JBang makes it easy to use Java for scripting. It lets you use a single file for - code and dependency management and allows you to run it directly. ### Mobile Development From fc6a681459c63349d2e9eec25022fc030f6f0b78 Mon Sep 17 00:00:00 2001 From: Talha Dilber Date: Sun, 11 Jan 2026 12:02:41 +0300 Subject: [PATCH 10/16] Add Spring Data Dynamic Query (#1163) Added a new entry for Spring Data Dynamic Query to the list. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d733963f..0dbc46c4 100644 --- a/README.md +++ b/README.md @@ -350,6 +350,7 @@ _Everything that simplifies interactions with the database._ - [Redisson](https://github.com/redisson/redisson) - Allows for distributed and scalable data structures on top of a Redis server. - [requery](https://github.com/requery/requery) - Modern, lightweight but powerful object mapping and SQL generator. Easily map to or create databases, or perform queries and updates from any Java-using platform. - [Speedment](https://github.com/speedment/speedment) - Database access library that utilizes Java 8's Stream API for querying. +- [Spring Data Dynamic Query](https://github.com/tdilber/spring-data-dynamic-query) - Unified dynamic query interface for Spring Data JPA, MongoDB, and Elasticsearch, enabling advanced JOIN(s), OR logic, scoped conditions, powerful projections and advanced features with zero boilerplate. - [Spring Data JPA MongoDB Expressions](https://github.com/mhewedy/spring-data-jpa-mongodb-expressions) - Allows you to use MongoDB query language to query your relational database. - [Trino](https://trino.io) - Distributed SQL query engine for big data. - [Vibur DBCP](https://www.vibur.org) - JDBC connection pool library with advanced performance monitoring capabilities. From f44fe0210e0a7a892e9b16d02aafa31c06c17f24 Mon Sep 17 00:00:00 2001 From: k_sasaki Date: Sun, 11 Jan 2026 18:03:16 +0900 Subject: [PATCH 11/16] update openhtmltopdf url (#1162) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0dbc46c4..d6b8e4de 100644 --- a/README.md +++ b/README.md @@ -897,7 +897,7 @@ _Tools to help with PDF files._ - [flyingsaucer](https://github.com/flyingsaucerproject/flyingsaucer) - XML/XHTML and CSS 2.1 renderer. (LGPL-2.1-or-later) - [iText ![c]](https://itextpdf.com/en) - Creates PDF files programmatically. - [JasperReports](https://community.jaspersoft.com/project/jasperreports-library) - Complex reporting engine. (LGPL-3.0-only) -- [Open HTML to PDF](https://github.com/danfickle/openhtmltopdf) - Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. +- [Open HTML to PDF](https://github.com/openhtmltopdf/openhtmltopdf) - Properly supports modern PDF standards based on flyingsaucer and Apache PDFBox. - [OpenPDF](https://github.com/LibrePDF/OpenPDF) - Open-source iText fork. (LGPL-3.0-only & MPL-2.0) - [Tabula](https://github.com/tabulapdf/tabula-java) - Extracts tables from PDF files. From 35b9dd8a8289d27e05b6b0dae7b76174f9f5c33f Mon Sep 17 00:00:00 2001 From: John DeRegnaucourt Date: Thu, 29 Jan 2026 10:52:16 -0500 Subject: [PATCH 12/16] Update json-io description to include TOON format support (#1174) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d6b8e4de..0be95c25 100644 --- a/README.md +++ b/README.md @@ -628,7 +628,7 @@ _Libraries for serializing and deserializing JSON to and from Java objects._ - [jackson-modules-java8](https://github.com/FasterXML/jackson-modules-java8) - Set of Jackson modules for Java 8 datatypes and features. - [Jackson-datatype-money](https://github.com/zalando/jackson-datatype-money) - Open-source Jackson module to support JSON serialization and deserialization of JavaMoney data types. - [Jackson](https://github.com/FasterXML/jackson) - Similar to GSON, but offers performance gains if you need to instantiate the library more often. -- [JSON-io](https://github.com/jdereg/json-io) - Convert Java to JSON. Convert JSON to Java. Pretty print JSON. Java JSON serializer. +- [JSON-io](https://github.com/jdereg/json-io) - Convert Java to JSON/TOON and back. Supports complex object graphs, cyclic references, and TOON format for 40-50% LLM token savings. - [jsoniter](http://jsoniter.com) - Fast and flexible library with iterator and lazy parsing API. - [LoganSquare](https://github.com/bluelinelabs/LoganSquare) - JSON parsing and serializing library based on Jackson's streaming API. Outperforms GSON & Jackson's library. - [Moshi](https://github.com/square/moshi) - Modern JSON library, less opinionated and uses built-in types like List and Map. @@ -1413,4 +1413,4 @@ Contributions are very welcome! Please have a look at the [CONTRIBUTING](https://github.com/akullpp/awesome-java/blob/master/CONTRIBUTING.md) guidelines and [the validation tools](https://github.com/akullpp/awesome-java-lint). -[c]: https://cdn.rawgit.com/akullpp/23246ca832bda82bb505230bf3538e2a/raw/d9bcdb769bf025292f9c6bc1290f01f1fcd1f864/commercial.svg +[c]: https://cdn.rawgit.com/akullpp/23246ca832bda82bb505230bf3538e2a/raw/d9bcdb769bf025292f9c6bc1290f01f1fcd1f864/commercial.svg \ No newline at end of file From 99495eead2f00560dff064469b564bdc1ff7de5e Mon Sep 17 00:00:00 2001 From: Dhruv Rastogi Date: Thu, 29 Jan 2026 21:23:18 +0530 Subject: [PATCH 13/16] Add boot-usage-spring-boot-starter (#1173) * Add boot-usage-spring-boot-starter to README Added boot-usage-spring-boot-starter to monitoring tools list. * Update README.md Co-authored-by: andrzejsydor --------- Co-authored-by: andrzejsydor --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0be95c25..2aa06d60 100644 --- a/README.md +++ b/README.md @@ -789,6 +789,7 @@ _Tools that observe/monitor applications in production by providing telemetry._ - [Apitally](https://github.com/apitally/apitally-java) - Simple, privacy-focused API monitoring, analytics and request logging for Spring Boot apps. - [Automon](https://github.com/stevensouza/automon) - Combines the power of AOP with monitoring and/or logging tools. +- [Boot Usage Spring Boot Starter](https://github.com/dhruv-15-03/boot-usage) - Spring Boot Actuator extension providing application startup and runtime metrics including JVM uptime, memory usage, and CPU load. - [Datadog ![c]](https://github.com/DataDog/dd-trace-java) - Modern monitoring & analytics. - [Dropwizard Metrics](https://github.com/dropwizard/metrics) - Expose metrics via JMX or HTTP and send them to a database. - [Failsafe Actuator](https://github.com/zalando/failsafe-actuator) - Out of the box monitoring of Failsafe Circuit Breaker in Spring-Boot environment. From 3bb7b495385d64fa3e0b86d7edf21b080fdcb1c7 Mon Sep 17 00:00:00 2001 From: Joel Jeremy Marquez Date: Thu, 29 Jan 2026 07:53:34 -0800 Subject: [PATCH 14/16] Update Deezpatch project to new name: Emissary (#1172) * Fix username * Minor description update * Update configuration libraries and messaging tools descriptions Updated the description for 'Externalized Properties' and changed 'Deezpatch' to 'Emissary' with a new description. * Refine descriptions of Externalized Properties and Emissary --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2aa06d60..fad96fab 100644 --- a/README.md +++ b/README.md @@ -270,7 +270,7 @@ _Libraries that provide external configuration._ - [Configurate](https://github.com/SpongePowered/Configurate) - Configuration library with support for various configuration formats and transformations. - [Curator Framework](https://curator.apache.org/) - High-level API for Apache ZooKeeper. - [dotenv](https://github.com/shyiko/dotenv) - Twelve-factor configuration library which uses environment-specific files. -- [Externalized Properties](https://github.com/joel-jeremy/externalized-properties) - Lightweight yet powerful configuration library which supports resolution of properties from external sources and an extensible post-processing/conversion mechanism. +- [Externalized Properties](https://github.com/joel-jeremy/externalized-properties) - Simple, lightweight, yet powerful configuration library which supports resolution of properties from external sources such as files, databases, git repositories, and any custom sources, plus an extensible post-processing/conversion mechanism. - [Gestalt](https://github.com/gestalt-config/gestalt) - Gestalt offers a comprehensive solution to the challenges of configuration management. It allows you to source configuration data from multiple inputs, merge them intelligently, and present them in a structured, type-safe manner. - [ini4j](http://ini4j.sourceforge.net) - Provides an API for handling Windows' INI files. - [KAConf](https://github.com/mariomac/kaconf) - Annotation-based configuration system for Java and Kotlin. @@ -706,7 +706,7 @@ _Tools that help send messages between clients to ensure protocol independency._ - [Apache RocketMQ](https://rocketmq.apache.org) - Fast, reliable, and scalable distributed messaging platform. - [Apache Qpid](https://qpid.apache.org) - Apache Qpid makes messaging tools that speak AMQP and support many languages and platforms. - [AutoMQ](https://github.com/AutoMQ/automq-for-kafka) - AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective. -- [Deezpatch](https://github.com/joel-jeremy/deezpatch) - Simple, lightweight, and performant dispatch library for decoupling messages (requests and events) and message handlers. +- [Emissary](https://github.com/joel-jeremy/emissary) - Simple, lightweight, yet FAST messaging library for decoupling messages (requests and events) and message handlers. - [EventBus](https://github.com/greenrobot/EventBus) - Simple publish/subscribe event bus. - [Hermes](http://hermes.allegro.tech) - Fast and reliable message broker built on top of Kafka. - [JeroMQ](https://github.com/zeromq/jeromq) - Implementation of ZeroMQ. From da77846869d5ee448e90cd1f80f7939edcc807eb Mon Sep 17 00:00:00 2001 From: Sam Date: Thu, 29 Jan 2026 21:24:12 +0530 Subject: [PATCH 15/16] Update README.md (#1169) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fad96fab..e9b442ce 100644 --- a/README.md +++ b/README.md @@ -214,6 +214,7 @@ _Tools that provide metrics and quality measurements._ - [SonarJava](https://github.com/SonarSource/sonar-java) - Static analyzer for SonarQube & SonarLint. (LGPL-3.0-only) - [Spoon](https://github.com/INRIA/spoon) - Library for analyzing and transforming Java source code. - [Spotbugs](https://github.com/spotbugs/spotbugs) - Static analysis of bytecode to find potential bugs. (LGPL-2.1-only) +- [ToolsHref](https://toolshref.com) - Online Java code analyzer and JSON-to-Mermaid visualization tool. ### Code Coverage From 6806bf4d47274aae79fddbe9a93eb3f9ec1c1224 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A1draic=20Slattery?= Date: Sat, 7 Feb 2026 11:45:56 +0100 Subject: [PATCH 16/16] chore: Update outdated GitHub Actions versions (#1177) --- .github/workflows/update-readme.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/update-readme.yml b/.github/workflows/update-readme.yml index b02700e7..c2c948d6 100644 --- a/.github/workflows/update-readme.yml +++ b/.github/workflows/update-readme.yml @@ -19,12 +19,12 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: fetch-depth: 0 # Fetch all history for git operations - name: Set up Java - uses: actions/setup-java@v4 + uses: actions/setup-java@v5 with: distribution: "temurin" java-version: "25"