Skip to content

Update Gradle dependency : Bump com.pi4j:pi4j-core from 1.4 to 4.0.1#256

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/gradle/com.pi4j-pi4j-core-4.0.1
Open

Update Gradle dependency : Bump com.pi4j:pi4j-core from 1.4 to 4.0.1#256
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/gradle/com.pi4j-pi4j-core-4.0.1

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github May 26, 2026

Bumps com.pi4j:pi4j-core from 1.4 to 4.0.1.

Release notes

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

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.

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

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.

... (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,native,docker ./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,native,docker ./deployToMavenCentral.sh <version>

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

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 -Pnative,docker

Then commit and push the changed pom.xml files.

Commits

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 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 1.4 to 4.0.1.
- [Release notes](https://github.com/Pi4J/pi4j/releases)
- [Changelog](https://github.com/Pi4J/pi4j/blob/develop/RELEASE.md)
- [Commits](https://github.com/Pi4J/pi4j/commits/4.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added this to the Eurobot 2021 milestone May 26, 2026
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file java Pull requests that update java code labels May 26, 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.

1 participant