Release Notes

All releases of Pi4J V.2 are listed on

2023-10-24 - V2.4.0

Thanks to @GeVanCo, @MMMMMNG, @IAmNickNack, @savageautomate, @eitch, @taartspi, @FDelporte.

All changes:

2023-02-06 - V2.3.0

  • Improvements for PIGPIO.gpioCfgInterfaces by @bwaldvogel.
  • New i2c interface to support multibyte register address by @taartspi.
  • Fix in LinuxFsI2C byte array offset by @harlanhu.
  • Remove unused JNA references by @taartspi.

All changes:

2022-10-17 - V2.2.1

Multiple fixes by @taartspi:

  • Better error message when mixing 32- and 64-bit artifacts
  • SPI improvements:
    • Add missing initialization in constructor
    • Track weather the user set the mode or bus config values to improve the use of SPI flags

All changes:

2022-08-30 - V2.2.0

What an amazing achievement! No major issues were found in the previous release, but several small fixes were added by more people than ever before in the Pi4J-history. This is a real confirmation of the openness of this project and how a community can work together to further improve a project.

A big thank you to everyone who experimented with Pi4J, took part in the discussions, filed an issue, created a merge request, added examples,…!

New example implementations

Thanks to the work of FHNW students and @taartspi, the list of available example implementations has become larger and larger. We even moved them to their own section of this documentation website! Take a look at Example implementations if you need a quick-start to use a buzzer, camera, LED strip, TCA9548, MCP4725,… or any of the other examples.

Changes in V2.2.0

Multiple improvements were added in this release (and others are already in progress for the next one!):

  • by @taartspi to improve SPI initialization, see #229
  • by @haumacher regarding the use of ByteBuffers, see #185
  • by @savageautomate regarding the polarity of digital output, see #93
  • by @gugrim to ensure positive values are returned from reading unless at end of file, see #164
  • by @eitch to also export LinuxFS I2C in
  • by @eitch to also copy native libs to distribution zip
  • by @hagen to be able to configure sample rate and peripheral in PiGpio
  • by Saskia Bikle to add an implementation of deregistration/shutdown for IO’s
  • by @savageautomate to add a new value “flags” too SPI implementation

All the differences can be checked by comparing with the previous release 2.1.1 via this link.

Earlier release notes

Release notes of the previous releases of Pi4J V.2 are available on