Skip to content

Commit 8d1bcc0

Browse files
author
Frank Delporte
committed
Prepare content for bump to Java 21
1 parent e1966b2 commit 8d1bcc0

32 files changed

+147
-103
lines changed

config.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ weight = 20
124124
[[menu.shortcuts]]
125125
name = "<i class='fab more-tag fa-github'></i> Pi4J V2 Discussions"
126126
identifier = "discussions"
127-
url = "https://github.com/Pi4J/pi4j-v2/discussions"
127+
url = "https://github.com/Pi4J/pi4j/discussions"
128128
weight = 30
129129

130130
[[menu.shortcuts]]

content/_index.md

+4-12
Original file line numberDiff line numberDiff line change
@@ -36,17 +36,9 @@ capabilities of embedded platforms such as the Raspberry Pi.
3636

3737
The Pi4j project has evolved in all these years as the whole Java eco-system and Raspberry Pi systems have been evolving.
3838

39-
This resulted in two main versions.
39+
This resulted in the following main versions:
4040

41-
#### Version 1
41+
* [V1.X.X](/about/info-v1): Deprecated, based on Java 8, later Java 11.
42+
* [V2.X.X](/about/info-v2): Completely reworked code base, based on Java 11.
43+
* [V3.X.X](/about/license): Based on latest V2, based on Java 21.
4244

43-
The original library which started in 2012 and got a last release in 2021. Up till **version 1.3 the library targets Java 8**, while **version 1.4 relies on Java 11**.
44-
45-
More info is provided on ["Previous versions (V.1)"](/about/previous-version-v1/).
46-
47-
#### Version 2
48-
49-
As of Version 2.0, Pi4J **no longer includes support for peripheral devices and
50-
add-on chipsets/boards** as part of the core project. A new plugin model has been introduced in version 2.0 that helps to enable third-party development and support third-party add-ons which can be developed and maintained independently of the core Pi4J project.
51-
52-
More info is provided on ["What's New (V.2)"](/about/new-in-v2/).

content/about/previous-version-v1.md content/about/info-v1.md

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
---
2-
title: 'Previous versions (V.1)'
2+
title: 'Info about V.1'
33
weight: 20
44
---
55

6+
The original library which started in 2012 and got a last release in 2021. Up till **version 1.3.0 the library targets Java 8**, while **version 1.4.0 relies on Java 11**.
7+
8+
More info is provided on ["Previous versions (V.1)"](/about/previous-version-v1/).
9+
10+
[The sources of V1 can be found in the read-only GitHub repository `pi4j/pi4j-v1`](https://github.com/Pi4J/pi4j-v1).
11+
612
## Documentation of the 1.X versions
713

814
### Pi4J Version 1.4

content/about/new-in-v2.md content/about/info-v2.md

+11-5
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
---
2-
title: 'What''s New (V.2)'
3-
weight: 30
2+
title: 'What''s New in V.2'
3+
weight: 21
44
---
55

6+
As of versions 2.X.X, Pi4J **no longer includes support for peripheral devices and add-on chipsets/boards** as part of the core project. A new plugin model has been introduced in version 2.0 that helps to enable third-party development and support third-party add-ons which can be developed and maintained independently of the core Pi4J project. **V2-versions of Pi4J require Java 11** or higher.
7+
8+
More info is provided on ["What's New (V.2)"](/about/new-in-v2/).
9+
10+
[The sources of V2 can be found in the GitHub repository `pi4j/pi4j`](https://github.com/Pi4J/pi4j).
11+
612
## What's New in 2.0?
713

814
Pi4J version 2.0 brings with it many new features, and an entirely new architecture that focuses on
@@ -50,12 +56,12 @@ The following features have been removed from the Pi4J library:
5056

5157
## Sources
5258

53-
The Pi4J V.2 source code is available in this GitHub repository: [Pi4J V.2 GitHub Repository](https://github.com/Pi4J/pi4j-v2)
59+
The Pi4J V.2 source code is available in this GitHub repository: [`pi4j/pi4j` GitHub Repository](https://github.com/Pi4J/pi4j)
5460

5561
```shell
56-
git clone https://github.com/Pi4J/pi4j-v2
62+
git clone https://github.com/Pi4J/pi4j
5763
```
5864

5965
Pi4J V.2 had the first release in August 2021. Rework from V.1 to V.2 took quit some time and will never be finished, but
6066
we are confident this is a great library to develop Java application on the Raspberry Pi. Any remarks and contributions
61-
are welcome as either bug reports or discussions in the [GitHub repository](https://github.com/Pi4J/pi4j-v2).
67+
are welcome as either bug reports or discussions in the [GitHub repository](https://github.com/Pi4J/pi4j).

content/about/info-v3.md

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
title: 'What''s New in V.3'
3+
weight: 22
4+
---
5+
6+
Versions 3.0.0 is based on 2.8.0 (released in January 2025), but bumps the **Java version to 21** or newer! We [asked our users](https://github.com/Pi4J/pi4j/discussions/409) which minimal Java version we should use, but there was no one clear answer, as expected ;-)
7+
8+
The current, latest, Long Term Support (LTS) version of Java is version 21. So it makes sense to jump forward from 11 to 21. This will also prepare us for a the next LTS, which will be 25 in September 2025. Bumping to the latest LTS makes it possible to make use of many newer Java language and runtime improvements, simplify some of the code, etc.
9+
10+
We would like to move to Java 22 as this would allow us to easier call C code to interact with the GPIOs, thanks to [JEP 454: Foreign Function & Memory API](https://openjdk.org/jeps/454). Unfortanelty, 22 is not a LTS, so it would force us to bump the version every six months with each new release, up till 25.
11+
12+
[The sources of V3 can be found in the GitHub repository `pi4j/pi4j`](https://github.com/Pi4J/pi4j).
13+
14+
## What's New in 3.0?
15+
16+
Pi4J version 3.0.0 is a continuation of 2.8.0, but bumps the minimal Java version to 21.
17+
18+
## Sources
19+
20+
The Pi4J V.3 source code is available in this GitHub repository: [`pi4j/pi4j` GitHub Repository](https://github.com/Pi4J/pi4j)
21+
22+
```shell
23+
git clone https://github.com/Pi4J/pi4j
24+
```
25+
26+
Pi4J V.3 is not yet released, but can already use version `3.0.0-SNAPSHOT` for testing if you add the snapshot Maven repository to your pom-file.
27+
28+
```xml
29+
<repositories>
30+
<repository>
31+
<id>oss-snapshots-repo</id>
32+
<name>Sonatype OSS Maven Repository</name>
33+
<url>https://oss.sonatype.org/content/groups/public</url>
34+
<releases>
35+
<enabled>false</enabled>
36+
</releases>
37+
<snapshots>
38+
<enabled>true</enabled>
39+
</snapshots>
40+
</repository>
41+
</repositories>
42+
```

content/about/license.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ The Pi4J Version 2.0 project is distributed and licensed under the **Apache Lice
77
(_A business-friendly OSS license_).
88

99
* [apache.org/licenses/LICENSE-2.0](https://www.apache.org/licenses/LICENSE-2.0)
10-
* [github.com/Pi4J/pi4j-v2/blob/master/LICENSE.txt](https://github.com/Pi4J/pi4j-v2/blob/master/LICENSE.txt)
10+
* [github.com/Pi4J/pi4j/blob/master/LICENSE.txt](https://github.com/Pi4J/pi4j/blob/master/LICENSE.txt)
1111

1212
<div style="max-width: 650px; margin-left: auto; margin-right: auto;" >
1313
<pre>

0 commit comments

Comments
 (0)