Skip to content

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Sep 29, 2025

Bumps com.pi4j:pi4j-core from 2.8.0 to 3.0.3.

Release notes

Sourced from com.pi4j:pi4j-core's releases.

3.0.3

Work is ongoing to extend Pi4J with a plugin based on the FFM API (Foreign Function & Memory API). To make this possible, some changes have been made to the core code in preparation for this new plugin. And of course more improvements and bug fixes...

  • Board models: Added CM5 Lite board codes.
  • Replace Nexus Staging plugin with Central Publishing plugin.
  • Refactored Registry to use IOType for managing addresses, ensuring better segregation of address spaces between IO types. Updated related methods and internal data structures accordingly.
  • Introduced the ability to shutdown and unregister IO instances using the instance itself, complementing the existing ID-based method. Updated related methods, tests, and documentation to reflect the new functionality.
  • Ensure proper removal of IO instance during shutdown in DefaultRuntimeRegistry.
  • PWM IO Change Float to Integer and remove float related conversions.
  • Gate digital output event creation on listener / binding presence.
  • Move PWM chip detection to BoardInfo to make it usable for all plugins.
  • Unit test improvements.
  • LinuxFS plugin:
    • I2C: Improvements in registerRead.
    • SPI: SPI write now supports larger buffers by creating multi ioctl spi writes.
    • PWM: When the RP1 chip is found, PWM provider will use the RP1 architected address of PWM0 to determine the correct pwmChipx to use. This change will effect Raspberry Pi 5 and Compute Module 5 using updated kernel.
  • GpioD plugin:
    • Introduced a volatile running flag to properly manage the lifecycle of the input listener thread. Enhanced shutdown logic to ensure threads are safely and consistently terminated. Fix for [Issue #478](Pi4J/pi4j#478).
    • Make GpioLine Closeable.

Thanks to contributions by @​IAmNickNack, @​stefanhaustein, @​taartspi, @​eitch, @​fdelporte.

All changes: Pi4J/pi4j@3.0.2...3.0.3

3.0.2

  • Board model can now be forced to allow the use of Pi4J on other/unrecognized boards. See Overriding the Detected Board for more info.
  • BoardInfoHelper.usesRP1() has been improved as more boards use this RP1 (5, 500, Compute 5), and even more are expected in the future.
  • [Issue #455](Pi4J/pi4j#455): GpioDDigitalInput may never start monitoring line events. Fixed by simplifying and improving the wait for the input listener loop to exit on shutdown.
  • APIdia badge and link added to README.md
  • [Pull request #461](Pi4J/pi4j#461): Removal in the core code of the SpiChipSelect to enforce a PiGpio limitation of the values 0, 1, or 2.

Thanks to contributions by @​ylexus, @​taartspi, @​eitch, @​fdelporte.

All changes: Pi4J/pi4j@3.0.1...3.0.2

3.0.1

This is the first release of Pi4J that requires Java runtime 21 or higher. Check the blog post Pi4J welcomes Java 21 to understand why we needed this change to prepare the project for the future...

Because of a last-minute change to improve the detection of Raspberry Pi 5, 500, and Compute 5, release 3.0.0 has been skipped.

  • Bump the Java version to 21 and update many dependencies, such as the Maven plugin.
  • Added JNA dependency (needed for Java 21).
  • Added Maven wrapper.
  • Improved lifecycle shutdown handling for registry elements: Updated the Lifecycle interface to clarify shutdown behavior and added tests to ensure proper element recreation after shutdown. These enhancements make the shutdown process more robust and intuitive.
  • Issue #308: Remove serial support from Pi4J. All serial methods are marked as @Deprecated(forRemoval = true). We advise using jSerialComm for all serial communication.
  • Pull request #438: Extra unit test for shutdown and re-creation of a DigitalInput.
  • Issue #439: Allow Specifying GPIO Chip for GpioDContext. For more info on how to use, see Specifying the GPIO Chip.
  • Pull request #449: Fixes a minor bug in DigitalOutput where pulseAsync ignored the given state and always pulsed high.
  • Pull request #452: PWM linuxfs failed if the first interface call was off().
  • Pull request #453 for issue #296: Generic BoardModels (with and without RP1) have been added, with a new method BoardInfoHelper.current().setBoardModel(BoardModel.GENERIC); to make it possible to use Pi4J on other types of boards, see Overriding the Detected Board. The goal of the Pi4J project is still to focus on the Raspberry Pi. However, this should allow testing the library's compatibility with other boards with similar architecture. We are excited to hear from the community about possible improvements to this approach.

... (truncated)

Commits
  • c958b7b [Project] Set new version 3.0.3
  • e33be40 [Project] Update project version to 3.0.0-SNAPSHOT in all POM files
  • da92fbe Merge branch 'develop' into release/3.0
  • cf874b7 [Project] Replace Nexus Staging plugin with Central Publishing plugin
  • 2fd7e09 Merge pull request #493 from Pi4J/BoardInfo_PWM
  • b9d9c0f the change from using ls -l provided less info to the utility. Previoulsy the...
  • 08bbaa6 Merge pull request #492 from Pi4J/feature/move_pwm_address_util
  • c20133e Move PWM chip detection to BoardInfo, pull request remarks
  • af1b9eb Move PWM chip detection to BoardInfo
  • c467cf2 Move PWM chip detection to BoardInfo
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [com.pi4j:pi4j-core](https://github.com/Pi4J/pi4j) from 2.8.0 to 3.0.3.
- [Release notes](https://github.com/Pi4J/pi4j/releases)
- [Changelog](https://github.com/Pi4J/pi4j/blob/develop/autoRelease)
- [Commits](Pi4J/pi4j@2.8.0...3.0.3)

---
updated-dependencies:
- dependency-name: com.pi4j:pi4j-core
  dependency-version: 3.0.3
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file java Pull requests that update java code labels Sep 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file java Pull requests that update java code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants