Releases: apache/plc4x
Apache PLC4X 0.13.0
New Features
- The CachedPlcConnectionManager now has a maxIdleTimeout time
which defaults to 5 minutes. If a connection is not being
used for that amount of time, the connection is closed and
removed from the cache. - The CachedPlcConnectionManager now has a close method, which
shuts down all connections. - The CachedPlcConnection now implements the EventPlcConnection
interface which forwards listener registrations to the
connection. - The S7 driver is now able to automatically split up large
array requests into multiple ones and transparently merge
them back together. It is now possible to read arrays of
almost unlimited size. - Added an Optimizer to the Modbus driver, that improves read
performance of multi-item read requests by more than 10 times. - Added an optimizer to the Modbus protocol, that allows reading
multiple fields in one request. - Added support for Modbus encodings of BIG_ENDIAN_WORD_SWAP
and LITTLE_ENDIAN_WORD_SWAP. - Modbus tags allow specifying the unit-id in order to address
multiple devices using one serial modbus connection. - Added a new optimizer to the S7 protocol, that ready chunks
of data instead of individual fields, which allows reading
a lot more fields in one request. - Added a new variant of the S7 driver, called s7-light, which
doesn't have support for subscriptions, but is less likely
to cause connection problems. - Added auto-discovery to the KNX Driver in PLC4J.
- Added auto-discovery to EIP in PLC4J.
- Added auto-discovery to S7 in PLC4J.
- Improved some things in the SPI, that caused issues with
drivers under heavy load. - The Modbus driver uses the "Single Register Request" if a
tag fits into one register. This can help communicating with
devices that don't support "Multi Register Requests".
Incompatible changes
- When reading byte arrays with the s7 driver, now the more
efficient PlcRawByteArray type is used, that gives users
direct access to the bytes returned from the PLC instead of
a list of PlcValues. - The builders for read-, write- ans subscription.requests now
process tags and values on a per-field level. If one field
has an invalid address it will now only fail the one item
related to that. Same applies to values. Only the tag who's
value was invalid will be considered failed and no longer an
exception should be thrown. - Subscription-requests now allow registering a handler for
all fields in the subscription. - The addPreRegisteredConsumer method was removed and versions
of the "addXYZ" methods were added, that allow providing
individual consumers for each tag.
Bug Fixes
relt/0.13
What's Changed
- build(deps): bump github.com/gdamore/tcell/v2 from 2.7.0 to 2.7.1 in /plc4go by @dependabot[bot] in #1413
- build(deps): bump com.googlecode.maven-download-plugin:download-maven-plugin from 1.8.0 to 1.8.1 by @dependabot[bot] in #1409
- build(deps): bump org.asciidoctor:asciidoctor-maven-plugin from 2.2.6 to 3.0.0 by @dependabot[bot] in #1408
- build(deps): bump netty.version from 4.1.106.Final to 4.1.107.Final by @dependabot[bot] in #1405
- build(deps): bump org.apache.maven:maven-artifact from 3.6.3 to 3.9.6 by @dependabot[bot] in #1406
- build(deps): bump logback.version from 1.4.14 to 1.5.0 by @dependabot[bot] in #1418
- build(deps): bump org.codehaus.mojo:exec-maven-plugin from 3.1.1 to 3.2.0 by @dependabot[bot] in #1415
- build(deps): bump com.google.errorprone:error_prone_annotations from 2.24.1 to 2.25.0 by @dependabot[bot] in #1416
- build(deps): bump net.bytebuddy:byte-buddy from 1.14.11 to 1.14.12 by @dependabot[bot] in #1417
- build(deps-dev): bump org.apache.commons:commons-compress from 1.25.0 to 1.26.0 by @dependabot[bot] in #1422
- build(deps): bump org.springframework.boot:spring-boot-maven-plugin from 3.2.2 to 3.2.3 by @dependabot[bot] in #1421
- build(deps): bump org.springframework.boot:spring-boot-dependencies from 3.2.2 to 3.2.3 by @dependabot[bot] in #1420
- build(deps): bump github.com/schollz/progressbar/v3 from 3.14.1 to 3.14.2 in /plc4go by @dependabot[bot] in #1428
- build(deps): bump com.google.protobuf:protobuf-java from 3.25.2 to 3.25.3 by @dependabot[bot] in #1427
- build(deps): bump com.google.googlejavaformat:google-java-format from 1.19.2 to 1.20.0 by @dependabot[bot] in #1426
- build(deps): bump nl.jqno.equalsverifier:equalsverifier from 3.15.6 to 3.15.7 by @dependabot[bot] in #1425
- build(deps): bump io.nats:jnats from 2.15.3 to 2.17.3 by @dependabot[bot] in #1431
- fix(plc4py): Documentation and Write Requests by @hutcheb in #1437
- fix: added timeouts for reading data/getting connection by @geneross in #1361
- build(deps): bump github.com/stretchr/testify from 1.8.4 to 1.9.0 in /plc4go by @dependabot[bot] in #1439
- build(deps): bump golang.org/x/tools from 0.18.0 to 0.19.0 in /plc4go by @dependabot[bot] in #1440
- build(deps): bump logback.version from 1.5.0 to 1.5.1 by @dependabot[bot] in #1435
- build(deps): bump github.com/gdamore/tcell/v2 from 2.7.1 to 2.7.4 in /plc4go by @dependabot[bot] in #1438
- build(deps): bump golang.org/x/net from 0.21.0 to 0.22.0 in /plc4go by @dependabot[bot] in #1441
- build(deps): bump jakarta.activation:jakarta.activation-api from 2.1.2 to 2.1.3 by @dependabot[bot] in #1436
- CANopen driver fixes by @splatch in #1446
- Fix/s7async by @glcj in #1451
- build(deps): bump com.google.googlejavaformat:google-java-format from 1.20.0 to 1.21.0 by @dependabot[bot] in #1449
- build(deps): bump logback.version from 1.5.1 to 1.5.3 by @dependabot[bot] in #1448
- build(deps): bump com.gradle:common-custom-user-data-maven-extension from 1.12.5 to 1.13 by @dependabot[bot] in #1434
- Update PlcRawByteArray.java by @mrwhy-orig in #1453
- build(deps-dev): bump org.apache.commons:commons-compress from 1.26.0 to 1.26.1 by @dependabot[bot] in #1456
- build(deps): bump org.awaitility:awaitility from 4.2.0 to 4.2.1 by @dependabot[bot] in #1455
- build(deps): bump org.springframework.boot:spring-boot-maven-plugin from 3.2.3 to 3.2.4 by @dependabot[bot] in #1460
- build(deps): bump com.google.errorprone:error_prone_annotations from 2.25.0 to 2.26.1 by @dependabot[bot] in #1461
- build(deps): bump org.springframework.boot:spring-boot-dependencies from 3.2.3 to 3.2.4 by @dependabot[bot] in #1462
- Add support for unit-id option for modbus tags. by @splatch in #1464
- build(deps): bump nl.jqno.equalsverifier:equalsverifier from 3.15.7 to 3.16 by @dependabot[bot] in #1467
- build(deps): bump org.cyclonedx:cyclonedx-maven-plugin from 2.7.11 to 2.8.0 by @dependabot[bot] in #1466
- build(deps): bump org.apache.maven.plugins:maven-remote-resources-plugin from 3.1.0 to 3.2.0 by @dependabot[bot] in #1465
- build(deps): bump org.aspectj:aspectjweaver from 1.9.21.1 to 1.9.22 by @dependabot[bot] in #1475
- build(deps): bump jakarta.xml.bind:jakarta.xml.bind-api from 4.0.1 to 4.0.2 by @dependabot[bot] in #1474
- build(deps): bump com.google.guava:guava from 33.0.0-jre to 33.1.0-jre by @dependabot[bot] in #1473
- build(deps): bump golang.org/x/net from 0.22.0 to 0.23.0 in /plc4go by @dependabot[bot] in #1477
- build(deps): bump mockito.version from 5.10.0 to 5.11.0 by @dependabot[bot] in #1478
- build(deps): bump io.swagger:swagger-annotations from 1.6.13 to 1.6.14 by @dependabot[bot] in #1479
- build(deps): bump org.sonarsource.scanner.maven:sonar-maven-plugin from 3.10.0.2594 to 3.11.0.3922 by @dependabot[bot] in #1480
- Update PlcCHAR.java add Character type check to of method by @mrwhy-orig in #1489
- build(deps): bump golang.org/x/net from 0.23.0 to 0.24.0 in /plc4go by @dependabot[bot] in #1488
- build(deps): bump groovy.version from 4.0.18 to 4.0.20 by @dependabot[bot] in #1486
- build(deps): bump org.jacoco:jacoco-maven-plugin from 0.8.11 to 0.8.12 by @dependabot[bot] in #1485
- build(deps): bump org.apache.maven.plugins:maven-source-plugin from 3.3.0 to 3.3.1 by @dependabot[bot] in #1484
- build(deps): bump golang.org/x/tools from 0.19.0 to 0.20.0 in /plc4go by @dependabot[bot] in #1487
- refactor: Moved the examples, integrations and other extra stuff into the new plc4x-extras repository by @chrisdutz in #1483
- build(deps): bump nl.jqno.equalsverifier:equalsverifier from 3.16 to 3.16.1 by @dependabot[bot] in #1490
- build(deps): bump org.apache.maven.plugins:maven-assembly-plugin from 3.6.0 to 3.7.1 by @dependabot[bot] in #1491
- build(deps): bump jakarta.annotation:jakarta.annotation-api from 2.1.1 to 3.0.0 by @dependabot[bot] in #1494
- build(deps): bump io.netty:netty-bom from 4.1.107.Final to 4.1.108.Final by @dependabot[bot] in #1493
- build(deps): bump pytest-mock from 3.12.0 to 3.14.0 in /plc4py by @dependabot[bot] in #1501
- build(deps): bump identify from 2.5.33 to 2.5.35 in /plc4py by @dependabot[bot] in #1500
- build(deps): bump packaging from 23.2 to 24.0 in /plc4py by @dependabot[bot] in #1499
- build(deps): bump pytest-asyncio from 0.23.5 to 0.23.6 in /plc4py by @dependabot[bot] in #1498
- build(deps): bump build from 1.0.3 to 1.2.1 in /plc4py by @dependabot[bot] in #1496
- build(deps): bump com.fasterxml.jackson.datatype:jackson-datatype-jsr310 from 2.16.1 to 2.17.0 by @dependabot[bot] in #1497
- build(deps): bump com.gradle:common-custom-user-data-maven-extension from 1.13 to 2 by @dependabot[bot] in #1492
- build(deps): bump mypy from 1.8.0 to 1.9.0 in /plc4py by @dependabot[bot] in #1502
- build(deps): bump black from 24.1.1 to 24.3.0 in /plc4py by @dependabot[bot] in #1503
- build(deps): bump filelock from 3.13.1 to 3.13.4 in /plc4py by @dependabot[bot] in #1504
- build(deps): bump virtualenv from 20.25.0 to 20.25.1 in /plc4py by @dependabot[bot] in #1506
- build(deps): bump typing-extensions from 4.9.0 to 4.11.0 in /plc4py by @dependabot[bot] in #1505
- build(deps): bump org.apache.maven.plugins:maven-invoker-plugin from 3.6.0 to 3.6.1 by @dependabot[bot] in #1514
- build(deps): bump org.asciidoctor:asciidoctorj from 2.5.11 to 2.5.12 by @dependabot[bot] in #1515
- build(deps): bump com.google.googlejavaformat:g...
Apache PLC4X 0.12.0
New Features
- API: Made several bits of information available via the API
allowing tools to provide more content assist when dealing
with PLC4X connections. - S7: The S7 driver now supports reading of STRING and
WSTRING data-types without providing a maximum length. - Build: Worked on making PLC4X provide reproducible builds.
- Added "Ping" functionality to: ADS, EIP, KNX, Mock, Modbus
and Simulated drivers. - The OPC-UA Java driver now support certificate-based
authentication and encryption.
Incompatible changes
- Java 8 is no longer officially supported and Java 11 is the
new base-line. - Renamed the PlcDriverManager method
listDrivers
to
getProtocolCodes
- Renamed the PlcDriverMetadata method
canDiscover
to
isDiscoverySupported
- Renamed the PlcConnectionMetadata methods
canRead
,canWrite
canSubscribe
andcanBrowse
toisReadSupported
,
isWriteSupported
,isSubscribeSupported
andisBrowseSupported
- The configuration syntax for configuring transport-related
config options in the connection-string was updated to be
now prefixed with the transport name the option belongs to.
Bug Fixes
- S7: Several bugs and issues regarding supporting various
duration, date and time data-types. - S7: Implemented the missing 64bit (L-) types.
- KNX: Fixed an issue with decoding 16 bit floating point
numbers. - NiFi-Integration: The NiFi integration module was greatly
improved. - Core: Fixed several leaks of open threads.
relt/0.12
What's Changed
- build(deps): bump com.google.googlejavaformat:google-java-format from 1.17.0 to 1.18.0 by @dependabot in #1126
- build(deps): bump org.checkerframework:checker-qual from 3.38.0 to 3.39.0 by @dependabot in #1127
- build(deps): bump com.hivemq:hivemq-mqtt-client from 1.3.2 to 1.3.3 by @dependabot in #1129
- build(deps): bump com.google.protobuf:protobuf-java from 3.24.3 to 3.24.4 by @dependabot in #1131
- build(deps): bump github.com/spf13/viper from 1.16.0 to 1.17.0 in /plc4go by @dependabot in #1135
- build(deps): bump mockito.version from 5.5.0 to 5.6.0 by @dependabot in #1137
- fix(opcua): Attempting to fix cyclic subscriptions by @hutcheb in #1124
- build(deps): bump golang.org/x/net from 0.15.0 to 0.17.0 in /plc4go by @dependabot in #1140
- build(deps): bump net.bytebuddy:byte-buddy from 1.14.8 to 1.14.9 by @dependabot in #1143
- build(deps): bump org.eclipse.jetty:jetty-util from 12.0.1 to 12.0.2 by @dependabot in #1142
- build(deps): bump netty.version from 4.1.99.Final to 4.1.100.Final by @dependabot in #1141
- build(deps): bump io.jsonwebtoken:jjwt from 0.9.1 to 0.12.2 by @dependabot in #1132
- build(deps): bump com.google.googlejavaformat:google-java-format from 1.18.0 to 1.18.1 by @dependabot in #1133
- build(deps): bump golang.org/x/tools from 0.13.0 to 0.14.0 in /plc4go by @dependabot in #1136
- plc4j-driver-opcua: Fix keepalive threads are never shut down by @takraj in #1139
- build(deps): bump jackson.version from 2.15.2 to 2.15.3 by @dependabot in #1145
- build(deps): bump com.google.guava:guava from 32.1.2-jre to 32.1.3-jre by @dependabot in #1146
- plc4j-driver-opcua: Move back to using session lifetime * 75% as keepalive period by @takraj in #1148
- Fix race condition causing
RejectedExecutionException
onPlcConnection.close()
by @takraj in #1151 - build(deps): bump io.jsonwebtoken:jjwt-api from 0.12.2 to 0.12.3 by @dependabot in #1152
- build(deps-dev): bump org.json:json from 20230618 to 20231013 by @dependabot in #1153
- build(deps): bump io.swagger:swagger-annotations from 1.6.11 to 1.6.12 by @dependabot in #1154
- build(deps): bump org.jacoco:jacoco-maven-plugin from 0.8.10 to 0.8.11 by @dependabot in #1155
- plc4j-driver-opcua: Await
writeAndFlush(msg)
& send next msg async by @takraj in #1147 - OPC UA priority judgment using discovery parameter by @qtvbwfn in #1157
- build(deps): bump com.gradle:gradle-enterprise-maven-extension from 1.19.2 to 1.19.3 by @dependabot in #1158
- plc4j-driver-opcua: Re-enable a disabled test by @takraj in #1159
- plc4x-server: Fix logs not being written to screen by @takraj in #1161
- refactor(plc4x-server): Cleanup, add tests, and add option to specify port number by @takraj in #1162
- test(plc4j/opcua): Cleanup testcase manySubscriptionsOnSingleConnection by @takraj in #1160
- build(deps): bump com.google.errorprone:error_prone_annotations from 2.22.0 to 2.23.0 by @dependabot in #1164
- build(deps): bump org.jsoup:jsoup from 1.16.1 to 1.16.2 by @dependabot in #1169
- feat(plc4x-server): Build a standalone jar too by @takraj in #1167
- feat(plc4j/drivers): Create maven meta package to include all drivers by @takraj in #1166
- build(deps): bump org.codehaus.mojo:properties-maven-plugin from 1.2.0 to 1.2.1 by @dependabot in #1173
- build(deps): bump com.microsoft.azure.sdk.iot:iot-device-client from 2.3.0 to 2.3.1 by @dependabot in #1171
- build(deps): bump org.glassfish.jaxb:jaxb-runtime from 4.0.2 to 4.0.4 by @dependabot in #1170
- feat(plc4j/spi): Add option to synchronously await response from PLC by @takraj in #1163
- build(deps): bump github.com/google/uuid from 1.3.1 to 1.4.0 in /plc4go by @dependabot in #1176
- feat: Moved the code-generation into a separate profile by @chrisdutz in #1172
- build(deps): bump org.cyclonedx:cyclonedx-maven-plugin from 2.7.9 to 2.7.10 by @dependabot in #1178
- Feature/transport configuration rework by @chrisdutz in #1179
- build(deps): bump org.eclipse.jetty:jetty-util from 12.0.2 to 12.0.3 by @dependabot in #1180
- build(deps): bump nl.jqno.equalsverifier:equalsverifier from 3.15.2 to 3.15.3 by @dependabot in #1184
- build(deps): bump com.google.protobuf:protobuf-java from 3.24.4 to 3.25.0 by @dependabot in #1183
- build(deps): bump org.checkerframework:checker-qual from 3.39.0 to 3.40.0 by @dependabot in #1182
- build(deps): bump mockito.version from 5.6.0 to 5.7.0 by @dependabot in #1185
- build(deps): bump github.com/fatih/color from 1.15.0 to 1.16.0 in /plc4go by @dependabot in #1194
- build(deps): bump com.fazecast:jSerialComm from 2.10.3 to 2.10.4 by @dependabot in #1192
- build(deps): bump github.com/spf13/cobra from 1.7.0 to 1.8.0 in /plc4go by @dependabot in #1189
- build(deps): bump com.googlecode.cmake-maven-project:cmake-maven-plugin from 3.26.3-b1 to 3.27.7-b1 by @dependabot in #1188
- build(deps): bump github.com/schollz/progressbar/v3 from 3.13.1 to 3.14.0 in /plc4go by @dependabot in #1193
- build(deps): bump junit.jupiter.version from 5.10.0 to 5.10.1 by @dependabot in #1187
- build(deps): bump com.microsoft.azure.sdk.iot:iot-device-client from 2.3.1 to 2.4.0 by @dependabot in #1195
- build(deps): bump golang.org/x/net from 0.17.0 to 0.18.0 in /plc4go by @dependabot in #1197
- build(deps): bump netty.version from 4.1.100.Final to 4.1.101.Final by @dependabot in #1201
- build(deps): bump github.com/schollz/progressbar/v3 from 3.14.0 to 3.14.1 in /plc4go by @dependabot in #1200
- build(deps): bump golang.org/x/tools from 0.14.0 to 0.15.0 in /plc4go by @dependabot in #1196
- upgrade Felix maven-bundle-plugin by @hboutemy in #1202
- build(deps): bump actions/github-script from 6.4.1 to 7.0.0 by @dependabot in #1205
- build(deps): bump bouncycastle.version from 1.76 to 1.77 by @dependabot in #1208
- build(deps): bump com.google.protobuf:protobuf-java from 3.25.0 to 3.25.1 by @dependabot in #1210
- build(deps): bump jackson.version from 2.15.3 to 2.16.0 by @dependabot in #1209
- build(deps): bump org.codehaus.mojo:exec-maven-plugin from 3.1.0 to 3.1.1 by @dependabot in #1211
- Issue/s7h by @glcj in #1214
- build(deps): bump actions/github-script from 7.0.0 to 7.0.1 by @dependabot in #1216
- build(deps): bump net.bytebuddy:byte-buddy from 1.14.9 to 1.14.10 by @dependabot in #1218
- fix(plc4j/spi) Make sure OPC UA discover event is fired prior connected event by @splatch in #1217
- Issue/s7h v2 by @glcj in #1219
- build(deps): bump org.codehaus.mojo:build-helper-maven-plugin from 3.4.0 to 3.5.0 by @dependabot in #1222
- build(deps): bump org.jsoup:jsoup from 1.16.2 to 1.17.1 by @dependabot in #1223
- build(deps): bump github.com/gopacket/gopacket from 1.1.1 to 1.2.0 in /plc4go by @dependabot in #1224
- build(deps): bump logback.version from 1.4.11 to 1.4.12 by @dependabot in #1228
- build(deps): bump nifi.version from 1.23.2 to 1.24.0 by @dependabot in #1227
- build(deps): bump golang.org/x/net from 0.18.0 to 0.19.0 in /plc4go by @dependabot in #1226
- build(deps): bump golang.org/x/tools from 0.15.0 to 0.16.0 in /plc4go by @dependabot in #1225
- build(deps): bump logback.version from 1.4.12 to 1.4.13 by @dependabot in #1229
- build(deps): bump actions/setup-java from 3 to 4 by @depend...
Apache PLC4X 0.11.0
New Features
- IEC-60870-5-104 driver
- Completely rewritten EIP driver that should now support
Allen-Bradley controllers - Completely rewritten the ADS driver that now supports
Auto-Discovery, Browse, UDOs and auto-configuration of
remote AMS routes - Support for S7 200 subscriptions
- Added a docker-compose setup in a preparation for reproducible
builds - Added SBOM generation
- Improved Apache NiFi support
- Added support for the latest ETS version in KNX
- Started implementing the ping() method for some drivers
- Greatly updated Apache NiFi integration
Incompatible changes
- We've updated the APIs of both PLC4J and PLC4Go to be more in
sync. We also refined some of the terminology. - We've also re-written the
connection-cache
, which now replaces
both the oldconnection-pool
and the oldconnection-cache
. - The UI module has been removed as it relied on JavaFX, which is
no longer bundled with the JDK and therefore the LGPL license
renders is dad for Apache projects. - The Apache Camel integration was moved over to the Apache Camel
project. - The prototype-driver for PROFINET was completely updated
- Due to the extreme refactoring of S7, ADS and EIP, the Go versions
of these drivers are currently not going to work as well as before
(We're going to address these issues in the next phase after the
release) - Changed the return type of the PLC4J Ping method to return more
information on if the ping was successful
Bug Fixes
Fixed issues with memory leaks in the ConnectionManager
Fixed multiple issues reported for the handling of data-types in
S7, Modbus and ADS protocols when reading and writing.
relt/0.11
What's Changed
- build(deps): bump actions/github-script from 6.3.0 to 6.3.1 by @dependabot in #530
- build(deps): bump logback.version from 1.4.1 to 1.4.3 by @dependabot in #529
- build(deps): bump kotlin.version from 1.7.10 to 1.7.20 by @dependabot in #528
- build(deps): bump protobuf-java from 3.21.6 to 3.21.7 by @dependabot in #527
- build(deps): bump influxdb-client-java from 6.5.0 to 6.6.0 by @dependabot in #526
- build(deps): bump spock-bom from 2.2-groovy-4.0 to 2.3-groovy-4.0 by @dependabot in #525
- build(deps): bump nifi.version from 1.17.0 to 1.18.0 by @dependabot in #535
- build(deps): bump checker-qual from 3.25.0 to 3.26.0 by @dependabot in #532
- build(deps): bump camel.version from 3.18.2 to 3.19.0 by @dependabot in #531
- fix(plc4go): pass in the correct context by @hongjinlin in #537
- build(deps): bump logback.version from 1.4.3 to 1.4.4 by @dependabot in #539
- build(deps): bump gmavenplus-plugin from 1.13.1 to 2.0.0 by @dependabot in #536
- build(deps): bump jackson.version from 2.14.0-rc1 to 2.14.0-rc2 by @dependabot in #538
- build(deps): bump actions/github-script from 6.3.1 to 6.3.2 by @dependabot in #543
- build(deps): bump netty-bom from 4.1.82.Final to 4.1.84.Final by @dependabot in #541
- build(deps): bump byte-buddy from 1.12.17 to 1.12.18 by @dependabot in #540
- build(deps): bump error_prone_annotations from 2.15.0 to 2.16 by @dependabot in #542
- build(deps): bump github.com/spf13/cobra from 1.5.0 to 1.6.0 in /plc4go by @dependabot in #544
- build(deps): bump joda-time from 2.11.2 to 2.12.0 by @dependabot in #547
- build(deps): bump iot-device-client from 2.1.1 to 2.1.2 by @dependabot in #546
- build(deps): bump actions/github-script from 6.3.2 to 6.3.3 by @dependabot in #548
- Setup the Channel Pipeline by @hutcheb in #362
- build(deps): bump swagger-annotations from 1.6.7 to 1.6.8 by @dependabot in #549
- build(deps): bump groovy.version from 4.0.5 to 4.0.6 by @dependabot in #550
- build(deps): bump protobuf-java from 3.21.7 to 3.21.8 by @dependabot in #551
- build(deps): bump golang.org/x/tools from 0.1.12 to 0.2.0 in /plc4go by @dependabot in #553
- build(deps): bump gmavenplus-plugin from 2.0.0 to 2.1.0 by @dependabot in #552
- build(deps): bump github.com/stretchr/testify from 1.8.0 to 1.8.1 in /plc4go by @dependabot in #557
- build(deps): bump karaf-maven-plugin from 4.4.1 to 4.4.2 by @dependabot in #554
- build(deps): bump mockito.version from 4.8.0 to 4.8.1 by @dependabot in #555
- build(deps): bump asciidoctorj from 2.5.6 to 2.5.7 by @dependabot in #556
- build(deps): bump woodstox-core from 6.3.1 to 6.4.0 by @dependabot in #559
- build(deps): bump gson from 2.9.1 to 2.10 by @dependabot in #560
- build(deps): bump github.com/spf13/cobra from 1.6.0 to 1.6.1 in /plc4go by @dependabot in #561
- build(deps): bump protobuf-java from 3.21.8 to 3.21.9 by @dependabot in #562
- build(deps): bump joda-time from 2.12.0 to 2.12.1 by @dependabot in #565
- build(deps): bump jackson.version from 2.14.0-rc2 to 2.14.0-rc3 by @dependabot in #564
- build(deps-dev): bump commons-compress from 1.21 to 1.22 by @dependabot in #566
- build(deps): bump influxdb-client-java from 6.6.0 to 6.7.0 by @dependabot in #572
- build(deps): bump github.com/schollz/progressbar/v3 from 3.11.0 to 3.12.0 in /plc4go by @dependabot in #571
- build(deps): bump equalsverifier from 3.10.1 to 3.11 by @dependabot in #570
- build(deps): bump maven-release-plugin from 3.0.0-M6 to 3.0.0-M7 by @dependabot in #569
- build(deps): bump checker-qual from 3.26.0 to 3.27.0 by @dependabot in #567
- build(deps): bump crc from 1.0.3 to 1.1.0 by @dependabot in #575
- build(deps): bump jackson.version from 2.14.0-rc3 to 2.14.0 by @dependabot in #573
- build(deps): bump github.com/spf13/viper from 1.13.0 to 1.14.0 in /plc4go by @dependabot in #578
- build(deps): bump github.com/schollz/progressbar/v3 from 3.12.0 to 3.12.1 in /plc4go by @dependabot in #577
- Feature/cdutz/go ads ng (Streamlining of PLC4X API in PLC4Go and PLC4J) by @chrisdutz in #576
- build(deps): bump golang.org/x/tools from 0.2.0 to 0.3.0 in /plc4go by @dependabot in #651
- build(deps): bump netty-bom from 4.1.84.Final to 4.1.85.Final by @dependabot in #650
- build(deps): bump kotlin.version from 1.7.20 to 1.7.21 by @dependabot in #579
- build(deps): bump actions/dependency-review-action from 2 to 3 by @dependabot in #652
- build(deps): bump mockito.version from 4.8.1 to 4.9.0 by @dependabot in #654
- build(deps): bump slf4j.version from 2.0.3 to 2.0.4 by @dependabot in #657
- build(deps): bump byte-buddy from 1.12.18 to 1.12.19 by @dependabot in #658
- build(deps): bump maven-dependency-tree from 3.2.0 to 3.2.1 by @dependabot in #661
- build(deps): bump logback.version from 1.4.4 to 1.4.5 by @dependabot in #662
- build(deps): bump equalsverifier from 3.11 to 3.11.1 by @dependabot in #660
- build(deps): bump jackson.version from 2.14.0 to 2.14.1 by @dependabot in #665
- build(deps): bump apache from 27 to 28 by @dependabot in #666
- fix(plc4j/opcua): not to get String.length but to calculate length in⦠by @modraedlau in #668
- build(deps): bump BobAnkh/auto-generate-changelog from 1.2.2 to 1.2.3 by @dependabot in #676
- build(deps): bump kotlin.version from 1.7.21 to 1.7.22 by @dependabot in #674
- build(deps): bump nifi.version from 1.18.0 to 1.19.0 by @dependabot in #673
- build(deps): bump slf4j.version from 2.0.4 to 2.0.5 by @dependabot in #672
- build(deps): bump httpcore from 4.4.15 to 4.4.16 by @dependabot in #675
- build(deps): bump equalsverifier from 3.11.1 to 3.12.1 by @dependabot in #678
- build(deps): bump jSerialComm from 2.9.2 to 2.9.3 by @dependabot in #679
- build(deps): bump checker-qual from 3.27.0 to 3.28.0 by @dependabot in #677
- build(deps): bump commons-net from 3.8.0 to 3.9.0 by @dependabot in #680
- build(deps-dev): bump httpclient from 4.5.13 to 4.5.14 by @dependabot in #684
- build(deps): bump joda-time from 2.12.1 to 2.12.2 by @dependabot in #682
- build(deps): bump protobuf-java from 3.21.9 to 3.21.10 by @dependabot in #681
- build(deps): bump github.com/schollz/progressbar/v3 from 3.12.1 to 3.12.2 in /plc4go by @dependabot in #687
- build(deps): bump golang.org/x/tools from 0.3.0 to 0.4.0 in /plc4go by @dependabot in #686
- build(deps): bump protobuf-java from 3.21.10 to 3.21.11 by @dependabot in #690
- build(deps): bump equalsverifier from 3.12.1 to 3.12.2 by @dependabot in #689
- build(deps): bump slf4j.version from 2.0.5 to 2.0.6 by @dependabot in #693
- build(deps): bump jetty-util from 11.0.12 to 11.0.13 by @dependabot in #692
- build(deps): bump nifi.version from 1.19.0 to 1.19.1 by @dependabot in #688
- build(deps): bump ecj from 3.31.0 to 3.32.0 by @dependabot in #685
- build(deps): bump actions/setup-python from 3 to 4 by @dependabot in #655
- build(deps): bump swagger-annotations from 1.6.8 to 1.6.9 by @dependabot in #656
- build(deps): bump iot-device-client from 2.1.2 to 2.1.3 by @dependabot in http...
Apache PLC4X 0.10.0
A lot of the work in this version went into refactoring and
cleaning up our code generation. The code generation itself is
now a lot cleaner and simpler as well as the code generated
for Java. We also added a number of new field-types to allow
implementing more sophisticated protocols. PLC4C now should
also support all of the constructs mspec has to offer.
New Features
- Implemented a
PLC4X-Server
andPLC4X-Driver
that allows
using the server as a proxy for communicating with PLCs. - The Modbus driver is now also available in the variants:
"modbus-rtu" and "modbus-ascii" (Both using Serial
communication, which however can be tunneled through a
"tcp" and "udp" transport) - The KNX driver in Java now supports reading "knxproj" files
exported from the new ETS version 6.
Incompatible changes
- The name of the Modbus TCP driver was changed from "modbus"
to "modbus-tcp". - Removed the Apache Edgent (incubating) integration and
examples related, as Edgent is abandoned and there were
CVEs reported, which will not be fixed. - We have replaced the BitString types with BYTE, WORD, DWORD,
and LWORD which generally match their unsigned integer
counterparts. So we are no longer returning lists of boolean
values for any of these types.
Bug Fixes
- Fixed a big bug in the KNX Datapoint decoding, which caused
byte-aligned data types to parse with an offset of 8 bit.
(This bug affected both the Java and the Go driver)
relt/0.10
What's Changed
- update readme to jdk 11 by @ottobackwards in #283
- Matching Pull request from type PR from the build tools. by @hutcheb in #285
- Fix/PLC4X 303 by @hutcheb in #284
- Fix documentation for S7 short address format by @markus-franke in #288
- Fix/plc4j-protocol-ads by @rmeister in #286
- build(deps): bump groovy.version from 3.0.8 to 3.0.9 by @dependabot in #278
- build(deps): bump jaxb-runtime from 2.3.3 to 3.0.2 by @dependabot in #282
- build(deps): bump nifi.version from 1.13.2 to 1.14.0 by @dependabot in #280
- build(deps): bump jna from 5.8.0 to 5.9.0 by @dependabot in #279
- build(deps): bump scala-library from 2.13.6 to 2.13.7 by @dependabot in #289
- Subscriptions for ADS in PLC4J by @rmeister in #265
- Fix for empty Passwords by @TorstenU in #294
- Add test for syncronized TransactionHandler by @hutcheb in #299
- Updated Notice file to 2022 by @shoothzj in #306
- build(deps): bump karaf-maven-plugin from 4.3.2 to 4.3.5 by @dependabot in #302
- build(deps): bump asciidoctor-maven-plugin from 2.1.0 to 2.2.1 by @dependabot in #304
- URLDecoder.decode compatible with JDK 8 by @todoubaba in #307
- Possible fix for a race condition which lead a test to fail with some⦠by @JulianFeinauer in #309
- build(deps): bump maven-release-plugin from 3.0.0-M4 to 3.0.0-M5 by @dependabot in #310
- build(deps): bump calcite-core.version from 1.28.0 to 1.29.0 by @dependabot in #303
- build(deps): bump maven-enforcer-plugin from 3.0.0-M3 to 3.0.0 by @dependabot in #298
- build(deps): bump karaf-maven-plugin from 4.3.5 to 4.3.6 by @dependabot in #315
- build(deps): bump maven-compiler-plugin from 3.8.1 to 3.9.0 by @dependabot in #314
- build(deps): bump cmake-maven-plugin from 3.19.2-b1 to 3.22.1-b1 by @dependabot in #313
- build(deps): bump equalsverifier from 3.8.1 to 3.9 by @dependabot in #312
- build(deps): bump xmlunit.version from 2.8.4 to 2.9.0 by @dependabot in #311
- fix(docs): Updated the pcap docs for when setting up a developer env by @hutcheb in #318
- Dynamically determine ETS project number by @djexp in #321
- build(deps): bump asciidoctorj from 2.5.1 to 2.5.3 by @dependabot in #322
- feat(spi): First Draft of the encryption handler interface by @hutcheb in #319
- build(deps): bump sonar-maven-plugin from 3.9.0.2155 to 3.9.1.2184 by @dependabot in #324
- build(deps): bump animal-sniffer-maven-plugin from 1.20 to 1.21 by @dependabot in #323
- build(deps): bump httpcore from 4.4.14 to 4.4.15 by @dependabot in #320
- build(deps): bump annotations from 20.1.0 to 23.0.0 by @dependabot in #325
- build(deps): bump asciidoctorj-diagram from 2.1.2 to 2.2.1 by @dependabot in #316
- Fix typos by @cclauss in #326
- Delete .travis.yml by @cclauss in #327
- build(deps): bump guava from 31.0.1-jre to 31.1-jre by @dependabot in #329
- build(deps): bump maven-bundle-plugin from 5.1.2 to 5.1.4 by @dependabot in #330
- Fix typos by @cclauss in #328
- Upgrade Apache Camel to version 3.14.1 by @oscerd in #331
- build(deps): bump influxdb-client-java from 4.0.0 to 4.3.0 by @dependabot in #332
- build(deps): bump awaitility from 4.1.1 to 4.2.0 by @dependabot in #333
- build(deps): bump mockito.version from 4.2.0 to 4.4.0 by @dependabot in #334
- fix(plc4go/codegen): DefaultPlcWriteRequest interface conversion, cau⦠by @hongjinlin in #335
- fix(plc4go/codegen): Truly close connection by @hongjinlin in #338
- fix communication with LOGO 0AB7 and ISOonTCP tsap configuration by @sevenk in #308
- build(deps): bump slf4j.version from 1.7.32 to 1.7.36 by @dependabot in #342
- build(deps): bump spring-boot.version from 2.6.2 to 2.6.4 by @dependabot in #337
- Fix casting to byte for integer greater than 127 (byte is signed numb⦠by @alessandromnc94 in #339
- Feature/plc4py by @hutcheb in #343
- build(deps): bump zip4j from 2.9.1 to 2.10.0 by @dependabot in #345
- Feature/plc4py bh1 by @hutcheb in #341
- Bug Fix. Open too many files after complete by @Dustone-JavaWeb in #351
- Started with the PlcReadRequest by @hutcheb in #348
- build(deps): bump kotlin.version from 1.6.20 to 1.6.21 by @dependabot in #353
- Fix/plc4py venv by @hutcheb in #355
- Plc4py/plc field by @hutcheb in #358
- fix(plc4go): fix the error of value out of range when converting an i⦠by @hongjinlin in #363
- chore(deps): bump actions/cache from 2 to 3 by @dependabot in #368
- chore(deps): bump actions/checkout from 2 to 3 by @dependabot in #369
- chore(deps): bump github/codeql-action from 1 to 2 by @dependabot in #371
- chore(deps): bump actions/setup-java from 2 to 3 by @dependabot in #372
- chore(deps): bump BobAnkh/auto-generate-changelog from 1.1.0 to 1.1.1 by @dependabot in #370
- EIP adding read/write for STRINGS and LINT by @AndyGrebe in #367
- chore(deps): bump actions/github-script from 5.0.0 to 6.1.0 by @dependabot in #376
- chore(deps): bump github.com/rs/zerolog from 1.20.0 to 1.27.0 in /plc4go by @dependabot in #375
- chore(deps): bump github.com/icza/bitio from 1.0.0 to 1.1.0 in /plc4go by @dependabot in #373
- chore(deps): bump github.com/stretchr/testify from 1.7.1 to 1.7.2 in /plc4go by @dependabot in #374
- build(deps): bump jacoco-maven-plugin from 0.8.7 to 0.8.8 by @dependabot in #357
- chore(deps): bump maven-dependency-tree from 3.1.0 to 3.1.1 by @dependabot in #365
- chore(deps): bump maven-javadoc-plugin from 3.3.1 to 3.4.0 by @dependabot in #377
- chore(deps): bump download-maven-plugin from 1.6.7 to 1.6.8 by @dependabot in #379
- build(deps): bump maven-artifact from 3.6.3 to 3.8.5 by @dependabot in #359
- build(deps): bump spock-bom from 2.0-groovy-3.0 to 2.1-groovy-3.0 by @dependabot in #356
- build(deps): bump nifi.version from 1.16.1 to 1.16.2 by @dependabot in #380
- build(deps): bump actions/dependency-review-action from 1 to 2 by @dependabot in #385
- build(deps): bump nifi.version from 1.16.2 to 1.16.3 by @dependabot in #388
- build(deps): bump error_prone_annotations from 2.11.0 to 2.14.0 by @dependabot in #389
- build(deps): bump mvn-golang-wrapper from 2.3.9 to 2.3.10 by @dependabot in #390
- build(deps): bump dependency-check-maven from 7.1.0 to 7.1.1 by @dependabot in #391
- build(deps): bump maven-failsafe-plugin from 3.0.0-M5 to 3.0.0-M7 by @dependabot in #392
- build(deps): bump google-java-format from 1.11.0 to 1.15.0 by @dependabot in #395
- build(deps): bump maven-invoker-plugin from 3.2.2 to 3.3.0 by @dependabot in #394
- Update Dockerfile inline with requirments script changes by @vmpn in #387
- Updated java CIP write dataSize to match read dataSize by @AndyGrebe in #384
- fix plc4x_server build issues by @ottobackwards in #404
- Fix bug with select returning prematurely when device not sending any data by @vmpn in #386
- build(deps): bump maven-release-plugin from 3.0.0-M5 to 3.0.0-M6 by @dependabot in https:...
0.9.1
Full Changelog: v0.9.0...v0.9.1
Apache PLC4X 0.9.0
This is an ordinary PLC4X release, containing changes that accumulated
over time. It doesn't have an explicit focus on a particular topic.
New Features
- The OPC UA driver has been replaced with a native driver. Previously
Eclipse Milo was being used. - Permit customized package names for code generation
- Added an initial draft of a Discover and Browse API to PLC4J
- Replaced the OPC-UA driver using Eclipse Milo with a our own, fully
generated, version - PLC4Go now supports many more drivers
- PLC4Go received a huge internal refactoring and cleanup
- Major cleanup of PLC4C
- S7 Driver now supports event and alarm handling on some S7 models
Incompatible changes
Bug Fixes
PLC4X-200 OPC-UA Driver not connecting if params string is not provided
PLC4X-201 OPC-UA PlcList underlying type not compatible with Eclipse Milo
PLC4X-202 OPC-UA Driver cannot write Unsigned Types
PLC4X-276 [S7] The most of the supported types don't work correctly
PLC4X-278 Double Reading Error
PLC4X-279 nioEventLoopGroup thread proliferation
PLC4X-280 ADS route request swapped positions of route name and address
PLC4X-291 DefaultPlcSubscriptionField cannot be cast to class OpcuaField
PLC4X-298 [S7] When writing REAL values the Write
operation fails with an internal error
PLC4X-299 Modbus - Kafka Connect Configuration
PLC4X-312 CAN NOT READ STRING FROM S7 PLC
PLC4X-314 CAN NOT WRITING MANY DATA TO S7 ONE TIME