Releases: apache/plc4x
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.
rel/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.
rel/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)
rel/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
rel/0.9
What's Changed
- Added Pool2 (now called Connection Cache) to develop Branch by @JulianFeinauer in #217
- Some doc about the Julian plc4x-pool2 by @foxpluto in #209
- PLC4X-207 When a Handler Timeout occurs cancel the read future to not… by @JulianFeinauer in #170
- PLC4X-265 Support for hex mapping of byte/byte[] values in XML test by @splatch in #213
- added strtok_s define for windows by @thomas169 in #228
- Fix for opcua subscription by @hutcheb in #227
- Feature/string enum mspec by @hutcheb in #230
- feat: Add read/write support for string types within the Java dataio classes by @hutcheb in #235
- Update S7Field.java by @Meng5 in #239
- regress: removed string support for modbus by @hutcheb in #236
- Abstract field's getter doesn't get get declared in base type by @hutcheb in #240
- Remove merge button when merging PR's, this forces the use of squash by @hutcheb in #238
- plc4go: fixed passing parameters incorrectly, resulting in a null pointer by @hongjinlin in #243
- Address string with tokenisation, refactoring, loopback s7 c example added. s7c write variable works by @thomas169 in #233
- plc4c: memory plumbing by @thomas169 in #244
- [PLC4X-299] Fix for array handling in the Kafka source connector by @hutcheb in #255
- Fix link : plc4j getting start, graphviz by @shblue21 in #256
- Feature/native opua client by @hutcheb in #253
- PLC4X-307 Add support for custom generator options / customized packages by @splatch in #263
- fixing timer leaks by @shaunco in #267
- S7event by @glcj in #264
- changed delimiter of opc ua from : to ; by @nalim2 in #258
- plc4x: major dependency updates by @sruehl in #252
- build(deps): bump karaf-maven-plugin from 4.3.0 to 4.3.2 by @dependabot in #245
- Bump zookeeper from 3.4.13 to 3.4.14 by @dependabot in #270
- Bump milo.version from 0.6.1 to 0.6.3 by @dependabot in #269
- build(deps): bump gmavenplus-plugin from 1.6.2 to 1.12.1 by @dependabot in #246
- build(deps): bump junit.jupiter.version from 5.7.0 to 5.7.2 by @dependabot in #251
- build(deps): bump logback.version from 1.2.3 to 1.2.5 by @dependabot in #271
- Change PLC4GO docs read syntax by @NiklasMerz in #276
- PLC4X-294 / PLC4X-296 Reorganization of stack configurer / events support in public api by @splatch in #241
New Contributors
- @thomas169 made their first contribution in #228
- @Meng5 made their first contribution in #239
- @shblue21 made their first contribution in #256
- @shaunco made their first contribution in #267
- @glcj made their first contribution in #264
Full Changelog: rel/0.8...rel/0.9
Apache PLC4X 0.8.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 KNXnet/IP Driver now supports writing of values.
- The Modbus driver now supports more common notations of
Modbus addresses using a pure-numeric notation. - The ADS, KNX, Modbus, S7 and simulated drivers have been
updated to support the IEC 61131-3 data-types. - We are now including PLC4Go as PLC4X implementation in
the programming language Go(lang) - Integration with the Milo OPC UA Server is now available.
- Kafka Connect workers have been updated source and sink connectors
are now included.
Incompatible changes
-
The syntax of the S7 addresses changed slightly allowing to
provide a string length. Without this, a STRING datatype will
read 254 characters, by adding the size in round brackets to
the type name will use the specified number.Examples:
Read one String which is max 10 chars long:
%DB2:30:STRING(10)Read an array of 3 Strings where each is max 10 chars long:
%DB2:30:STRING(10)[3] -
The PLCValue types have been refactored to align with the types
defined in IEC 61131-3 (https://en.wikipedia.org/wiki/IEC_61131-3)
directly using the older Java types (PlcBoolean) is no longer
possible.
Bug Fixes
A lot of testing was done regarding the IEC 61131-3 data-types.
This resulted in numerous bugfixes in many protocols.
- PLC4X-132 [S7] Communication to S7 PLC dies in some situations
- PLC4X-206 When writing short values exceptions are thrown
while preparing the write request. - PLC4X-207 No registered handler found for message TPKTPacket[],
using default decode method - Communication with S7
and Modbus device hangs - PLC4X-209 [S7] When writing INT and DINT values the Write
operation fails with an internal error - PLC4X-210 [KNX] When running a KNX Tunneling Subscription
for a longer time there are packets that kill
the connection - PLC4X-211 PlcValues seem to always return "true" on the
isXYZ" checks. - PLC4X-212 When writing multiple values in one request the
item status is not correctly set - PLC4X-213 [Modbus] The Modbus driver doesn't handle error
responses gracefully - PLC4X-214 [Modbus] Holding register addresses have an offset
of 1 (Not reading the correct address) - PLC4X-215 Drivers using the BaseOptimizer
(SingleFieldOptimizer) don't handle error responses
gracefully - PLC4X-218 [Scraper] After stopping the scraper still the
statistics are logged and the application doesn't
terminate - PLC4X-239 Read DTL (Date and Time)
- PLC4X-240 Protocol error in reading string
- PLC4X-246 S7 driver hangs on read
- PLC4X-245 [Modbus] Apache NiFi processor throws
java.io.IOException after a while - PLC4X-255 Kafka Connector Source Task doesn't block within poll()
resulting in high CPU usage. - PLC4X-261 Pooled connection manager returns a connection that isn't
connected in some situations. - PLC4X-272 When splitting up large requests, too big sub-requests
are generated (S7) - PLC4X-256 ReadBuffer truncate last byte of even small payloads
- PLC4X-262 Error in reading Array
- PLC4X-270 Ads driver does not accept double-digit array indexes