Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump com.pi4j:pi4j-core from 2.4.0 to 2.5.0 #1225

Merged

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Mar 21, 2024

Bumps com.pi4j:pi4j-core from 2.4.0 to 2.5.0.

Release notes

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

A lot of changes and... support for Raspberry Pi 5!

With over 100 commits from multiple branches, this is a major release with many improvements! With many thanks to the core team (Robert von Burg, Tom Aarts), and a major addition of Alexander Liggesmeyer, Pi4J is again lifted to a higher level!

Changes in 2.5.0

  • A new GpioD Provider adds support for the Raspberry Pi 5.
    • Issues #321, #320, #317
    • This new GpioD provider interfaces directly with the Raspberry Pi's gpiochip device, located at /dev/gpiochip.... It leverages the native libgpiod library, which is developed as a part of the Linux kernel. Libgpiod is currently the recommended way to control GPIO pins. Therefore, using this provider is also recommended.
    • This new provider can be used without the need to start a Pi4J application with sudo, so also fixes #212 when you only need DigitalInput and/or DigitalOutput.
  • Better handling of mock Plugins: Plugins can now define if they are mocks, and these are not auto-detected anymore. The default target for the Pi4J library is the Raspberry Pi, and thus auto-detecting mocks on the Pi, which are only for tests is counterintuitive.
  • Extended Providers with a priority: this priority helps to determine which Provider should be loaded, when multiple Providers with the same IOType are being loaded by different plugins. This change enforces that a given IOType can only have one Provider loaded at runtime preventing errors when, for instance, two I2C providers are loaded at the same time, concurrently writing to the I2C bus.
  • Fix for: LinuxFile reused scratch buffers ensuring size was usable. But the limit value cannot be modified so later usage failed as an intended overwrite. Pull request #331, commit ed208f2.
  • Fix for: I2C interface should use a restart between the write and read operation. Pull request #333.
  • Fix for: Shutting down pool executor too early. Commit 7909a2d.
  • ProviderProxyHandler got removed, simplifying provider loading, thus no more reflection on the instances.
  • You can now add and remove IO instances at runtime.
  • You can now easily switch a GPIO from output to an input and vice versa, see issue #26, extending on the work by @​MEBoo, in pull request #1.
  • A race condition got fixed in the default runtime registry.
  • Proper life cycle management got added for of all threads in Pi4J.

All changes: Pi4J/pi4j-v2@2.4.0...2.5.0

Known Issue

  • java.io.IOException: Remote I/O error java.base/java.io.RandomAccessFile.writeBytes(Native Method). Using linuxfs-i2c, dependent upon i2c operations this exception can occur: If the program initially uses read or write, and later uses readRegister or writeRegister there is no exception. However, if the program initially uses readRegister or writeRegister subsequent write or read may encounter this exception. For more info and the temporary fix, check #335.
Commits
  • 78f21e1 [Project] Set new version 2.5.0
  • f4c840f [Project] Updated pom.xml
  • 602911f [Project] Update pom.xml in auto release
  • 8119be5 Merge pull request #336 from taartspi/linuxi2c_ioexception
  • 34d854e Temporary fix for linuxfs-i2c IOException. Also fix return code for bytes re...
  • 61fb5cb Merge pull request #334 from taartspi/linuxfsi2c_writeReadRegisterWord
  • c63e681 writeReadRegisterWord. Update for Pigpio compatibility �[200~Process call. SM...
  • 9d698be Merge pull request #333 from taartspi/linuxfs_repeated_start
  • 7909a2d [Fix] Fixed shutting down pool executor too early
  • e4af636 linuxfs i2c compatibility with Pigpio and the i2c spec dictates these
  • 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-v2) from 2.4.0 to 2.5.0.
- [Release notes](https://github.com/Pi4J/pi4j-v2/releases)
- [Changelog](https://github.com/Pi4J/pi4j-v2/blob/develop/autoRelease)
- [Commits](Pi4J/pi4j-v2@2.4.0...2.5.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label Mar 21, 2024
@mbuckton mbuckton merged commit 8b985ce into development Mar 21, 2024
2 checks passed
@dependabot dependabot bot deleted the dependabot/maven/development/com.pi4j-pi4j-core-2.5.0 branch March 21, 2024 00:26
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
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant