Skip to content

Releases: apache/plc4x

relt/0.9

26 Sep 10:08
Compare
Choose a tag to compare

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

Full Changelog: relt/0.8...relt/0.9

Apache PLC4X 0.8.0

26 Jan 08:13
Compare
Choose a tag to compare

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

relt/0.8

26 Sep 10:07
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: relt/0.7...relt/0.8

Apache PLC4X 0.7.0

26 Jan 08:08
Compare
Choose a tag to compare

This version is the first after a major refactoring of the driver
core. All previous driver versions are now considered deprecated
and have been replaced by versions using the new driver structure
and generated driver codebase.

New Features

  • Drivers now support structured types using PlcValues
  • The EIP (EtherNet/IP) driver no longer requires an external
    library and is implemented fully in the PLC4X project
  • The Modbus driver no longer requires an external library
    and is implemented fully in the PLC4X project
  • The new S7 Driver supports writing multiple entries in one
    request (The API allowed this from the beginning now not
    every item is wrapped in a single request. It should bring
    significant performance gains when writing multiple vlaues)
  • S7 Driver now supports String datatypes.
  • OSGi : Implementation of Drivers/Transports as OSGi services
    to be able to use them in an OSGi container.
  • New Firmata protocol driver

Incompatible changes

  • Due to the refactoring of the driver core there might be issues
    running drivers built against older core versions.
  • This version doesn't provide a Beckhoff AMS/ADS driver as this
    driver is still being ported to the new mspec format.
  • All drivers connection strings now follow the same pattern:
    {protocol-code:(transport-code:)?//{transport-config}(?{params})?
    Please check the drivers documentation on our website:
    https://plc4x.apache.org/users/protocols/s7.html
  • The karaf-feature modules are removed as the drivers now all
    provide both a feature.xml as well as a kar bundled archive

Bug Fixes

PLC4X-174 UDP Transport does not accept ports containing 0
PLC4X-134 S7 is terminating the connection during handshake
PLC4X-192 Support for conversion of complex connection string
parameters

relt/0.7

26 Sep 10:07
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: relt/0.6...relt/0.7

Apache PLC4X 0.6.0

26 Jan 08:09
Compare
Choose a tag to compare

This is the last release of PLC4X with the "handwritten" drivers.
This Minor release will thus receive updates and fixes until
most users have switched to 0.7 and above (with generated drivers).

If you are using the S7 Driver you should update to this Version
as the critical (memory leak) bug PLC4X-163 is fixed.

New Features

  • PLC4X-168 A shorter S7 Field Syntax is Introduced.
    This release contains no further features and mostly stabilization.

Incompatible changes

  • Moved the C++, C# and Python drivers into the sandbox

Bug Fixes

  • Fixed Promise Chain for InternalPlcWriteRequest
  • PLC4X-45 Add float support to Modbus Protocol
  • PLC4X-164 Fix wrong NOT FOUND exception in OPC UA Driver
  • PLC4X-166 Fixed Download Page
  • PLC4X-163 Fixed Netty ByteBuf Leaks for S7 Driver
  • PLC4X-158 Added Warning if no Pooled Driver is used for Scraper

relt/0.6

26 Sep 09:56
Compare
Choose a tag to compare

What's Changed

  • PLC4X-146 - Problem when using examples/hello-integration-edgent with… by @chrisdutz in #93
  • Fixed a problem causing the karaf feature module not to sign the feat… by @chrisdutz in #95
  • Fixed a problem with running the elasticsearch example as updating el… by @chrisdutz in #94
    • Moved the plc4cpp, plc4net and plc4py into the sandbox by @chrisdutz in #98
  • add iotdb integration example. for just saving one field for a PLC. by @jixuan1989 in #99
  • Feature/reproducible builds by @chrisdutz in #100
  • Bump org.eclipse.paho.client.mqttv3 from 1.2.0 to 1.2.1 in /plc4j/examples/hello-cloud-google by @dependabot in #96
  • Bump jackson.version from 2.9.9 to 2.10.0 by @dependabot in #97
  • Fix streampipes adapters by @tenthe in #101
  • Ab eth station address parameter by @vemmert in #102
  • PLC4X-160: Fix css to make links to Apache events and ASF homepage work again by @dominikriemer in #104
  • Feature/ams ads mpsec by @sruehl in #107
  • Plc4 x 157 opc ua disablediscovery by @nalim2 in #105
  • PLC4X-45 Add float support to Modbus protocol by @acs in #109
  • Fix future chain for InternalPlcWriteRequest by @amrod- in #110
  • improve comment matching by @sruehl in #111
  • PLC4X-164: Fix wrong NOT FOUND exception in OPC-UA driver by @acs in #112
  • Fixes in ADS protocol by @amrod- in #103
  • PLC4X-163 Fixed Netty Buffer Leaks for S7 Driver. by @JulianFeinauer in #116
  • [PLC4X-168] Shorter S7 Field Syntax by @JulianFeinauer in #113
  • PLC4X-158 Add Warning if Scraper is not used with Pooled Driver Manager. by @JulianFeinauer in #115
    • Introduced a new optional "slaveId" parameter to the modbus driver by @acs in #127
  • [fix] wrong Parameter handling by @nalim2 in #128
  • PLC4x-142 OPC-UA read variables by @nalim2 in #130
  • Feature/plc4 x 185 cert support opc ua by @JulianFeinauer in #132
  • Feature/port simotion by @vemmert in #197
  • Update license and notice file for derived works by @hutcheb in #224

New Contributors

Full Changelog: relt/0.5...relt/0.6

release/0.5.0

23 Sep 11:15
Compare
Choose a tag to compare

relt/0.5

26 Sep 09:55
Compare
Choose a tag to compare

What's Changed

  • PLC4X-129 Improve version detection macro. by @splatch in #71
  • fixed a typo on the plc4py/README.md by @martinLim45 in #74
  • Fixed a typo on the index page by @jbarop in #73
  • fix bug in opc ua driver response handling when fields are not found by @stefah in #75
  • PLC4X-139 close the worker thread on connection abortion to avoid thr… by @JulianFeinauer in #76
  • Feature/improve scraper tim by @JulianFeinauer in #77
  • Example MSpec for the DF1 protocol added to the website by @vemmert in #79
  • PLC4X-86 - Fix and re-enable tests that were disabled for Java 11 support by @thomasdarimont in #78
  • A few fixes required to build Elastic example in a containerized environment by @rvs in #80
  • Feature/implement logstash integration by @till1993 in #82
  • Simplifying inheritance of shade plugin configurations by @rvs in #81
  • Optimizing JRE for size and adding dynamic option setting for example jar by @rvs in #83
  • [fixed] OPC UA Subscription item name is null by @nalim2 in #84
  • Feature/logstash plugin improved fields by @stefah in #85
  • Adding OSGi processing to the pom for java modules by @cschneider in #87
  • Ab eth data types and doc by @vemmert in #86
  • Migrate README to Github flavored markdown page by @dominikriemer in #88
  • Update bit-io to newest version with OSGi support by @cschneider in #90
  • Feature/resolve split package osgi by @JulianFeinauer in #89
  • PLC4X-144 - When requesting invalid addresses, the DefaultS7MessagePr… by @chrisdutz in #91
  • Update the Thrift version to the just released 0.13.0 to make it compatible with Boost again (Also bumped the Boost version to the latest 1.71.0) by @chrisdutz in #92

New Contributors

Full Changelog: relt/0.4...relt/0.5

relt/0.4

26 Sep 09:54
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: relt/0.3...relt/0.4