Skip to content

Bump pi4j.version from 2.8.0 to 4.0.2#183

Open
dependabot[bot] wants to merge 1 commit into
developmentfrom
dependabot/maven/development/pi4j.version-4.0.2
Open

Bump pi4j.version from 2.8.0 to 4.0.2#183
dependabot[bot] wants to merge 1 commit into
developmentfrom
dependabot/maven/development/pi4j.version-4.0.2

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 8, 2026

Copy link
Copy Markdown
Contributor

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

Release notes

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

4.0.2

  • Pull request #630, issue #628: Fix OutOfMemory in FFM: use per-call Arena.ofConfined() instead of global Arena.ofAuto().
  • Add @deprecated(since, forRemoval) to allocateCapturedState().

Detailed list of all the changes: Pi4J/pi4j@4.0.1...4.0.2

4.0.1 FFM plugin bug fix release

This is a bug fix release, mainly related to the new FFM plugin introduced in V4.0.0.

  • Add FFM to the distribution module.
  • Improvements in the one-time generation of BuildInfo within ContextBuilder.
  • Wiring and README updates related to the smoke tests in the pi4j-test module.
  • @​DigitalSmile added as author in the parent pom.xml.
  • Fix for [issue #620](Pi4J/pi4j#620): shutdown sequence to close the file descriptor as the last step.
  • Fix for [issue #622](Pi4J/pi4j#622): 5th and following inputs don't trigger event listeners in ffm-plugin.
  • Fix GPIO listener missing RISING events when timestamp LSB is zero.
  • Shell script added to run the smoketest in pi4j-test/assets/runSmoketest.sh.

Thanks to contributions by @​DigitalSmile, @​taartspi, @​eitch, @​fdelporte, detailed bug investigations by @​relaxmax01 and @​DieterHolz, and assistance from Copilot.

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

4.0.0 FFM plugin and Java 25

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.4: Backports into V3

  • Backport of the fix for #527 to the 3.x branch: Fix SPI send loop bounds
  • Remove unused Arrays import in LinuxFsSpi.

Thanks to contributions by @​mpilone, @​eitch.

... (truncated)

Changelog

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

Releasing Pi4J

Create a new release

To release pi4j use the following:

MVN_PROFILES=-P\!default ./autoReleaseBranch minor develop release/<version>

this merges the develop branch into release/<version>, increments the current tag on the release/<version> branch and then builds it locally. It uses mvn versions:set to set the version, and after the version is set, does a test build to make sure all dependencies are really there.

The tag is signed by the configured git signing key. The key used can be checked with:

git config --get user.signingkey

Deploy to Maven central

To deploy to maven, use the following commands:

MVN_PROFILES=-P\!default ./deployToMavenCentral.sh <version>

This checks out the given tag and used the deploy profile to build and push the artifacts to maven central.

Now don't forget to publish the release on Maven central: https://central.sonatype.com/publishing/deployments

Update snapshot version

To create a new snapshot version on develop branch, use the following two commands:

mvn versions:set -DgenerateBackupPoms=false -DnewVersion="${newVersion}"
mvn clean install

Then commit and push the changed pom.xml files.

Commits
  • faa2712 [Project] Set new version 4.0.2
  • 6d05045 [Project] Add reminder to publish release on Maven Central
  • 6940d05 Add @​Deprecated(since, forRemoval) to allocateCapturedState()
  • 886fb5b Fix OutOfMemory in FFM: use per-call Arena.ofConfined() instead of global Are...
  • 66bdb7b [Project] Set release SNAPSHOT version 4.0.1
  • 8a8c3fa [Project] Set new version 4.0.1
  • 273b388 Merge branch 'develop' into release/4.0
  • 4eb9953 [Project] Set new version 4.0.0-SNAPSHOT
  • e2a526e Merge pull request #627 from Pi4J/smoketest_as_shell_script
  • 834265b Create a shell script to run the smoketest. pi4j-test/assets/runSmoketest.sh
  • Additional commits viewable in compare view

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

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

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

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

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.2.

Updates `com.pi4j:pi4j-core` from 2.8.0 to 4.0.2
- [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.2)

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

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

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

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

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