A collaboration with Proof · 1 public repo per week

Are you an open source maintainer? We can help your project.

Completely free for open source repositories.

Proof turns your repository into a graph of requirements that humans and agents can both use. It finds as many bugs as it can, and gives you the tools to triage GitHub issues and pull requests from contributors — including community bug reports and security reports.

Java good first issues

30 open Java issues currently match the default 10+ star filter. This hub uses the same feed as the homepage, limited to repositories whose GitHub language is Java.

All languages · Browse projects · How to find good first issues

Active filters:Language: Java • Stars: 10+ Stars
Filters trigger API requests for better performance

Showing 30 of 30 opportunities to contribute from the last 1 days

AI Summary: This issue proposes removing a specific build step in the Quarkus Flow project once a related pull request in the `sdk-java` project is merged. The build step involves `NativeImageBuildItem` for `ProcessResult` records, and its removal is contingent on a new release of the `sdk-java` library.

Complexity:2/5
good first issuearea/core

Workflow Runtime Engine based on the Serverless Workflow Specification (CNCF Sandbox project) for Agentic Workflows

Java
#agentic-workflows#ai#cncf#langchain4j#quarkus-extension#specification#workflows

AI Summary: This issue proposes to automatically generate Git commit messages in JabRef based on the actual changes made to the library. Instead of a static message, the system should analyze added, modified, and deleted entries, providing a summary like 'Add 3 entries, modify 2 entries'. A bonus feature suggests more specific messages for single-field changes within an entry.

Complexity:3/5
good first issue📍 Assignedcomponent: git

Desktop app for managing BibTeX and BibLaTeX (.bib) libraries

Java
#academia#academic-publications#ai#biblatex#bibliography#bibtex#citation#citation-generator#citation-style-language#citation-styles#hacktoberfest#jabref#java#javafx#javafx-application#javafx-desktop-apps#latex#ocr#reference-manager#research-tool

AI Summary: This issue proposes to replace the current method of downloading the DB2 JDBC driver using `wget` within E2E containers with a more integrated approach. The goal is to leverage the existing test dependency management, eliminating redundant downloads and potential network-related test failures.

Complexity:2/5
good first issuefeature

SeaTunnel is a multimodal, high-performance, distributed, massive data integration tool.

Java
#apache#batch#cdc#change-data-capture#data-ingestion#data-integration#elt#embeddings#high-performance#llm#multimodal#offline#real-time#streaming

AI Summary: This issue proposes migrating the HugeGraph Sink's periodic flushing mechanism from a connector-owned scheduled executor to the engine-level timer flush provided by Zeta. This change aims to resolve issues related to background thread management, concurrent execution conflicts, and hidden flush failures, aligning the implementation with the documented timer-flush feature.

Complexity:3/5
help wantedfeature

SeaTunnel is a multimodal, high-performance, distributed, massive data integration tool.

Java
#apache#batch#cdc#change-data-capture#data-ingestion#data-integration#elt#embeddings#high-performance#llm#multimodal#offline#real-time#streaming

AI Summary: This feature request proposes migrating the CouchbaseWriter's internal timer-based flushing mechanism to use the engine-level timer flush provided by Zeta. This change aims to simplify the connector by removing its own background thread and scheduler, and to improve failure propagation by integrating flushes into the normal Sink execution path. The connector-level `buffer-flush.interval` option will likely be deprecated in favor of the engine-level `sink.flush.interval`.

Complexity:3/5
help wantedfeature

SeaTunnel is a multimodal, high-performance, distributed, massive data integration tool.

Java
#apache#batch#cdc#change-data-capture#data-ingestion#data-integration#elt#embeddings#high-performance#llm#multimodal#offline#real-time#streaming

AI Summary: The "New Entry" dialog in JabRef lacks a visual loading indicator when searching for metadata by DOI or arXiv ID. This can make the application appear unresponsive to users during network requests. The proposed solution is to add a spinner or status message to provide feedback during the search process.

Complexity:2/5
component: uicomponent: import-loadgood first issue

Desktop app for managing BibTeX and BibLaTeX (.bib) libraries

Java
#academia#academic-publications#ai#biblatex#bibliography#bibtex#citation#citation-generator#citation-style-language#citation-styles#hacktoberfest#jabref#java#javafx#javafx-application#javafx-desktop-apps#latex#ocr#reference-manager#research-tool

AI Summary: This issue proposes upgrading the `spring-boot-idempotency-starter` dependency in the Transactional Outbox Pattern demo project from version 0.3.1 to 0.3.2. The upgrade is a minor patch release with no API or schema changes and only affects the servlet and Virtual Threads modules. The task involves updating the parent POM and the README file.

Complexity:1/5
documentationenhancementhelp wantedgood first issuespring-boot

Production-ready Transactional Outbox Pattern for Spring Boot 4 with Kafka and PostgreSQL, featuring idempotency, batch publishing and an optimized low-polling architecture for high-throughput event delivery.

Java
#gatling#grafana#grafana-dashboard#grafana-prometheus#idempotency#idempotency-key#kafka#microservices#microservices-demo#microservices-example#observability#observability-dashboard#outbox#outbox-pattern#postgresql#prometheus#prometheus-metrics#spring-boot#transactional-outbox#transactional-outbox-pattern

AI Summary: This issue proposes integrating Klag's Streamable HTTP MCP endpoint with AI SRE agents to provide live consumer-group lag data. The goal is to validate compatibility with specific SRE tools like HolmesGPT and Resolve AI, publish integration guides, and potentially get Klag listed in provider catalogs. The work is divisible, allowing contributors to focus on individual provider integrations.

Complexity:3/5
enhancementhelp wanted

new kafka lag exporter: lightweight and extendable.

Java
#kafka#kafka-consumer#monitoring

AI Summary: This issue proposes designing and implementing a persistent storage solution for Klag's lag-velocity history. The goal is to prevent data loss and the need for warm-up periods after restarts, while adhering to strict operational constraints like Java 21, GraalVM, non-blocking operations, and resource limits. Several storage options are presented for comparison, with a versioned snapshot on local disk as the initial MVP candidate.

Complexity:4/5
enhancementhelp wantedquestion

new kafka lag exporter: lightweight and extendable.

Java
#kafka#kafka-consumer#monitoring

AI Summary: This feature request aims to add topic filtering capabilities to Klag, allowing users to include or exclude specific Kafka topics for monitoring. The implementation must preserve existing Kafka request batching mechanisms and collector invariants, ensuring efficient offset fetching and topic description. Filtering will occur after group offset retrieval but before topic union offset fetching, impacting topic-derived metrics and MCP output.

Complexity:4/5
enhancementhelp wanted

new kafka lag exporter: lightweight and extendable.

Java
#kafka#kafka-consumer#monitoring

AI Summary: This issue proposes adding optional configuration for PodDisruptionBudget and terminationGracePeriodSeconds to the Helm chart for Klag. The goal is to allow operators to better manage Klag's rollout and node-maintenance behavior, while ensuring the PodDisruptionBudget remains disabled by default to avoid blocking disruptions on single-replica deployments.

Complexity:3/5
enhancementgood first issue

new kafka lag exporter: lightweight and extendable.

Java
#kafka#kafka-consumer#monitoring

AI Summary: This feature request aims to extend JVM system property support to all metrics configuration settings within the Klag project. Currently, some metrics settings only respect environment variables, while others correctly prioritize JVM properties. The proposed solution involves modifying the `Env` class to handle system properties with the same precedence as environment variables, ensuring consistent configuration loading.

Complexity:2/5
enhancementgood first issue

new kafka lag exporter: lightweight and extendable.

Java
#kafka#kafka-consumer#monitoring

AI Summary: This bug report identifies that Klag's configuration parsing allows semantically invalid numeric values for settings like partition multipliers, buffer sizes, and delays. The proposed solution is to add validation to these `fromEnvironment()` methods, defaulting invalid values to their documented settings and logging a warning.

Complexity:3/5
buggood first issue

new kafka lag exporter: lightweight and extendable.

Java
#kafka#kafka-consumer#monitoring

AI Summary: This issue reports a potential crash related to datapack loading, suggesting a fix found in a fork of the mod called Modernfix-mVUS-Fix. The reporter has not personally verified the crash or the fix but wants to inform the maintainers of a possible solution involving an access modifier change in TagEntryMixin.

Complexity:2/5
good first issuepriority

Fork of ModernFix to add minor version update support.

Java

AI Summary: The `string.is-alpha` and related predicates currently return `false` for empty strings without explicitly documenting this behavior. The author argues that the current documentation implies they should return `true` for empty strings due to vacuous truth. The issue requests either documenting the `false` return or changing the behavior to return `true`.

Complexity:2/5
bughelp wantedgood-title

EOLANG, an Experimental Pure Object-Oriented Programming Language Based on 𝜑-Calculus

Java
#eolang#java#language#object-oriented#object-oriented-language#object-oriented-programming#oop#programming-language

AI Summary: The `string.scanf` function incorrectly handles multiple spaces in the input string when compared to the format string. Specifically, when the input has more spaces than the format expects between `%s` specifiers, it results in lost values or unexpected empty strings in the output tuple. The expected behavior is either that a space in the format should match one or more spaces in the input, or that the discrepancy should be explicitly reported.

Complexity:3/5
bughelp wantedgood-title

EOLANG, an Experimental Pure Object-Oriented Programming Language Based on 𝜑-Calculus

Java
#eolang#java#language#object-oriented#object-oriented-language#object-oriented-programming#oop#programming-language

AI Summary: This issue reports a discrepancy between the canonical error message for an empty member of a `/{…}` argument list as defined in section 9.9 of the specification and the actual error message produced by the `LnVoid.java` implementation. The implementation incorrectly includes backticks around the `/{…}` part, causing golden-file comparisons to fail. The fix involves either removing the backticks from the implementation or adding them to the canonical message in the specification.

Complexity:2/5
bughelp wantedgood-title

EOLANG, an Experimental Pure Object-Oriented Programming Language Based on 𝜑-Calculus

Java
#eolang#java#language#object-oriented#object-oriented-language#object-oriented-programming#oop#programming-language

AI Summary: The parser incorrectly accepts files with carriage-return-only line endings, contrary to the R-2.1.2 specification which defines line endings as '\n' or '\r\n'. This leads to unexpected parsing results and incorrect line numbering, as the parser treats lone '\r' characters as line separators.

Complexity:2/5
bughelp wantedgood-title

EOLANG, an Experimental Pure Object-Oriented Programming Language Based on 𝜑-Calculus

Java
#eolang#java#language#object-oriented#object-oriented-language#object-oriented-programming#oop#programming-language

AI Summary: This issue describes a bug in the `string.regex` implementation where it's impossible to distinguish between a capturing group that didn't participate in a match and one that matched an empty string. This ambiguity prevents callers from reliably determining if optional groups or specific branches of an alternation were actually used, leading to a loss of information.

Complexity:3/5
bughelp wantedgood-title

EOLANG, an Experimental Pure Object-Oriented Programming Language Based on 𝜑-Calculus

Java
#eolang#java#language#object-oriented#object-oriented-language#object-oriented-programming#oop#programming-language

AI Summary: This issue describes a bug in a map implementation where error messages for missing keys are grammatically incorrect and unhelpful. The current message displays the key's hash code, which is not directly useful to the caller, instead of the actual key that was searched for. The desired behavior is a grammatically correct message that includes the original key provided by the caller.

Complexity:2/5
bughelp wantedgood-title

EOLANG, an Experimental Pure Object-Oriented Programming Language Based on 𝜑-Calculus

Java
#eolang#java#language#object-oriented#object-oriented-language#object-oriented-programming#oop#programming-language

AI Summary: The `string.regex` object in the codebase has two functions, `matches` and `match`, which are easily confused. The documentation currently fails to clearly distinguish that `matches` performs a full string match, while `match` searches for the first occurrence. The issue requests improved documentation with explicit explanations and examples for both functions.

Complexity:2/5
bughelp wantedgood-title

EOLANG, an Experimental Pure Object-Oriented Programming Language Based on 𝜑-Calculus

Java
#eolang#java#language#object-oriented#object-oriented-language#object-oriented-programming#oop#programming-language

AI Summary: The `string.regex` feature in the `eo-runtime` incorrectly reports all regex compilation failures with a generic "regex syntax is invalid" message. This makes debugging difficult as it doesn't specify the exact error or its location within the pattern. The desired behavior is to provide more precise error messages, including the offending construct and its offset.

Complexity:3/5
bughelp wantedgood-title

EOLANG, an Experimental Pure Object-Oriented Programming Language Based on 𝜑-Calculus

Java
#eolang#java#language#object-oriented#object-oriented-language#object-oriented-programming#oop#programming-language

AI Summary: The `string.printf` function's `%b` format specifier incorrectly prints 'false' for non-boolean arguments instead of raising an error. This behavior is inconsistent with other format specifiers like `%s` and `%d`, which validate their input. The desired behavior is for `%b` to accept only `true` and `false` and reject other types with an informative error message.

Complexity:2/5
bughelp wanted

EOLANG, an Experimental Pure Object-Oriented Programming Language Based on 𝜑-Calculus

Java
#eolang#java#language#object-oriented#object-oriented-language#object-oriented-programming#oop#programming-language

AI Summary: The `bytes.xor` function incorrectly reports a `bytes.and` error when given operands of different lengths. This occurs because `bytes.xor` is derived from `bytes.and` and `bytes.or`, and the underlying `bytes.and` atom enforces equal operand lengths. The fix involves adding a guard to `bytes.xor` to check for length mismatches before the derivation, ensuring the error message correctly identifies `bytes.xor` as the source of the problem.

Complexity:2/5
bughelp wanted

EOLANG, an Experimental Pure Object-Oriented Programming Language Based on 𝜑-Calculus

Java
#eolang#java#language#object-oriented#object-oriented-language#object-oriented-programming#oop#programming-language

AI Summary: The `MjPenalties` class in the EO language formatter only exposes four of the ten available `PenaltyKey` weights, preventing users from configuring all formatting options via build parameters. Additionally, the `width` parameter has an inconsistent alias. The issue proposes either exposing all weights or clearly documenting which are intentionally fixed, and standardizing the `width` alias.

Complexity:2/5
bughelp wanted

EOLANG, an Experimental Pure Object-Oriented Programming Language Based on 𝜑-Calculus

Java
#eolang#java#language#object-oriented#object-oriented-language#object-oriented-programming#oop#programming-language

AI Summary: The `PARSER_SPEC.md` documentation contains a contradiction: a table entry describes an error message for a 'compact-tuple' construct involving 'reversed-dispatch' with `*0`, but another section of the same document explicitly states this syntax is illegal and cannot be formed. The parser also produces a different error message than what is documented for this supposed construct.

Complexity:2/5
bughelp wanted

EOLANG, an Experimental Pure Object-Oriented Programming Language Based on 𝜑-Calculus

Java
#eolang#java#language#object-oriented#object-oriented-language#object-oriented-programming#oop#programming-language

AI Summary: The parser for the Eolang language is failing to emit the correct error message when an inline binding is used on a method that is not the last in a chain. Instead, it displays an unrelated error message, misleading developers. The fix involves ensuring the canonical error message is used and adding a test case to cover this scenario.

Complexity:2/5
bughelp wanted

EOLANG, an Experimental Pure Object-Oriented Programming Language Based on 𝜑-Calculus

Java
#eolang#java#language#object-oriented#object-oriented-language#object-oriented-programming#oop#programming-language

AI Summary: The `validate-before-stars.xsl` stylesheet is never triggered because the parser rejects invalid compact tuple syntax earlier. This means the intended validation logic within the stylesheet is redundant and its error messages are never seen. The issue proposes either removing the stylesheet or ensuring the parser allows the condition to reach the stylesheet for proper validation.

Complexity:2/5
bughelp wanted

EOLANG, an Experimental Pure Object-Oriented Programming Language Based on 𝜑-Calculus

Java
#eolang#java#language#object-oriented#object-oriented-language#object-oriented-programming#oop#programming-language

AI Summary: The parser is generating an unhelpful error message, "line shape not yet implemented in spec parser," for several types of malformed input lines. Instead of indicating the specific syntax error, it reveals an internal parser state. The desired behavior is to provide user-friendly error messages that guide the programmer on how to fix the code, falling back to a general "unrecognized line" message for other cases.

Complexity:2/5
bughelp wanted

EOLANG, an Experimental Pure Object-Oriented Programming Language Based on 𝜑-Calculus

Java
#eolang#java#language#object-oriented#object-oriented-language#object-oriented-programming#oop#programming-language

AI Summary: The `Eo.finish` method in the EO parser has an unreachable error condition for "more than one trailing blank line". This is because the `LnBlank.into` method already prevents more than one consecutive blank line earlier in the parsing process. The issue proposes either removing the redundant check or adjusting the blank line counting to correctly report this specific end-of-file scenario.

Complexity:2/5
bughelp wanted

EOLANG, an Experimental Pure Object-Oriented Programming Language Based on 𝜑-Calculus

Java
#eolang#java#language#object-oriented#object-oriented-language#object-oriented-programming#oop#programming-language