# Pi4J V2.2.0 Released

> Pi4J provides friendly object-oriented I/O API and libraries for Java devs to access the full I/O capabilities of the Raspberry Pi platform.

- URL: https://foojay.io/today/pi4j-v2-2-0-released/
- Published: 2022-08-31
- Authors: Frank Delporte
- Categories: Embedded, Pi4J, Raspberry Pi, Release Notes


One year after [the first release of V.2 of Pi4J](https://foojay.io/today/pi4j-v-2-released/), a new release was published. Pi4J provides**friendly object-oriented I/O API and implementation libraries for Java Programmers** to access the **full I/O capabilities of the Raspberry Pi platform**.

And what an amazing achievement with this new release! 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 University students and [@taartspi](https://github.com/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](https://pi4j.com/examples/) 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](https://github.com/taartspi) to improve SPI initialization, see [#229](https://github.com/Pi4J/pi4j-v2/discussions/229)
* by [@haumacher](https://github.com/haumacher) regarding the use of ByteBuffers, see [#185](https://github.com/Pi4J/pi4j-v2/issues/185)
* by [@savageautomate](https://github.com/savageautomate) regarding the polarity of digital output, see [#93](https://github.com/Pi4J/pi4j-v2/issues/93)
* by [@gugrim](https://github.com/gugrim) to ensure positive values are returned from reading unless at end of file, see [#164](https://github.com/Pi4J/pi4j-v2/issues/164)
* by [@eitch](https://github.com/eitch) to also export LinuxFS I2C in module-info.java
* by [@eitch](https://github.com/eitch) to also copy native libs to distribution zip
* by [@hagen](https://github.com/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](https://github.com/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](https://github.com/Pi4J/pi4j-v2/compare/2.1.1...2.2.0).

The new version is available in the [Maven repository](https://mvnrepository.com/artifact/com.pi4j/pi4j-core/2.2.0) and via <https://pi4j.com/download/>.

## Earlier release notes

Release notes of the previous releases of Pi4J V.2 are available on [github.com/Pi4J/pi4j-v2/releases](https://github.com/Pi4J/pi4j-v2/releases).

