Skip to content

Bump pi4j.version from 2.8.0 to 4.0.0#167

Open
dependabot[bot] wants to merge 1 commit intodevelopmentfrom
dependabot/maven/development/pi4j.version-4.0.0
Open

Bump pi4j.version from 2.8.0 to 4.0.0#167
dependabot[bot] wants to merge 1 commit intodevelopmentfrom
dependabot/maven/development/pi4j.version-4.0.0

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Feb 20, 2026

Bumps pi4j.version from 2.8.0 to 4.0.0.
Updates com.pi4j:pi4j-core from 2.8.0 to 4.0.0

Release notes

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

4.0.0

This is a big release with almost 400 commits and 300+ files added/changed...! Pi4J V4 introduces the new FFM plugin and bumps the Java version to 25. The FFM plugin uses the new Foreign Function & Memory API (FFM) to access the GPIOs. The FFM API was introduced in Java 22 with JEP 454.

This is the most tested release of Pi4J yet! The pi4j-test module has been reworked by @​taartspi to provide a smoke test approach with a fixed hardware setup that uses, for instance, input GPIOs to validate output GPIOs and PWM. Check Hardware Testing for more info and how to set up.

Some highlights of all the changes in this release:

  • [Issue #454](Pi4J/pi4j#454): Implement new FFM API approach. First big pull request by @​DigitalSmile: #458 with more to further improve, finetune, and test.
  • Consistent use of bcm, channel, bus, chip when initializing an IO instead of the sometimes confusing pinor address. With related changes in the Pi4J registry to be able to correctly remove and reuse IO instances.
  • [Issue #478](Pi4J/pi4j#478): Race condition in GpioDDigitalInput causes monitor thread to exit
  • BoardInfo: added CM5 Lite, and 500 Plus
  • Bump Docker builder to JDK 25
  • Nexus staging plugin replaced with Central Publishing plugin
  • Rework of the pi4j-test module to provide an easy SmokeTest approach with a fixed hardware test setup.
  • Various LinuxFS plugin improvements.
  • Overall code fixes, improvements, new helper methods, cleanup, etc..
  • Complete removal of serial support, use jSerialComm instead of Pi4J for serial communication, as explained here.

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

Detailed list of all the changes: Pi4J/pi4j@3.0.3...4.0.0

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.

... (truncated)

Commits

Updates com.pi4j:pi4j-plugin-raspberrypi from 2.8.0 to 4.0.0

Updates com.pi4j:pi4j-plugin-pigpio from 2.8.0 to 4.0.0

Updates com.pi4j:pi4j-plugin-gpiod from 2.8.0 to 4.0.0

Updates com.pi4j:pi4j-plugin-linuxfs from 2.8.0 to 4.0.0

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 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 `pi4j.version` from 2.8.0 to 4.0.0.

Updates `com.pi4j:pi4j-core` from 2.8.0 to 4.0.0
- [Release notes](https://github.com/Pi4J/pi4j/releases)
- [Changelog](https://github.com/Pi4J/pi4j/blob/develop/RELEASE.md)
- [Commits](Pi4J/pi4j@2.8.0...4.0.0)

Updates `com.pi4j:pi4j-plugin-raspberrypi` from 2.8.0 to 4.0.0

Updates `com.pi4j:pi4j-plugin-pigpio` from 2.8.0 to 4.0.0

Updates `com.pi4j:pi4j-plugin-gpiod` from 2.8.0 to 4.0.0

Updates `com.pi4j:pi4j-plugin-linuxfs` from 2.8.0 to 4.0.0

---
updated-dependencies:
- dependency-name: com.pi4j:pi4j-core
  dependency-version: 4.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
- dependency-name: com.pi4j:pi4j-plugin-raspberrypi
  dependency-version: 4.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
- dependency-name: com.pi4j:pi4j-plugin-pigpio
  dependency-version: 4.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
- dependency-name: com.pi4j:pi4j-plugin-gpiod
  dependency-version: 4.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
- dependency-name: com.pi4j:pi4j-plugin-linuxfs
  dependency-version: 4.0.0
  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 Feb 20, 2026
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