[ANNOUNCE] Apache PLC4X 0.12.0 released
The Apache PLC4X team is pleased to announce the release of Apache PLC4X 0.12.0 PLC4X is a set of libraries for communicating with industrial programmable logic controllers (PLCs) using a variety of protocols but with a shared API. This release was mainly a release containing many bugfixes. We literally halved the number of open issues. A second major topic would have been another API streamlining in preparation for the big 1.0.0 release. The API was extended by additional features, that now allow tools to automatically provide support for tool assist when connecting to devices. Now additional information such as: - Which transports does a given driver support? - Which is the default transport for a given driver? - Which configuration-options does a driver have? - What types are these configuration options? - What are the default-values these configuration options have? - Which of these configuration options are required? - The same set of information is also available for the transports a driver is using. Especially the S7, Modbus and OPC-UA drivers received the most bugfixes and improvements. S7 now supports all supported S7 datatypes. Modbus should now also work in Serial modes. OPC-UA now supports certificate based communication. Visit the Apache PLC4X website [1] for general information or the downloads page [2] for release notes and download information. Regards, The Apache PLC4X team [1] http://plc4x.apache.org [2] http://plc4x.apache.org/users/download.html
[ANNOUNCE] Apache PLC4X 0.10.0 released
The Apache PLC4X team is pleased to announce the release of Apache PLC4X 0.11.0 PLC4X is a set of libraries for communicating with industrial programmable logic controllers (PLCs) using a variety of protocols but with a shared API. 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` and `PLC4X-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. Visit the Apache PLC4X website [1] for general information or the downloads page [2] for release notes and download information. Regards, The Apache PLC4X team [1] http://plc4x.apache.org [2] http://plc4x.apache.org/users/download.html
CVE-2021-43083: Apache PLC4X 0.9.0 Buffer overflow in PLC4C via crafted server response
Description: Apache PLC4X - PLC4C (Only the C language implementation was effected) was vulnerable to an unsigned integer underflow flaw inside the tcp transport. Users should update to 0.9.1, which addresses this issue. However, in order to exploit this vulnerability, a user would have to actively connect to a mallicious device which could send a response with invalid content. Currently we consider the probability of this being exploited as quite minimal, however this could change in the future, especially with the industrial networks growing more and more together. Credit: Apache PLC4X would like to thank Eugene Lim for reporting this issue. References: https://lists.apache.org/thread/jxx6qc84z60xbbhn6vp2s5qf09psrtc7
[ANNOUNCE] Apache PLC4X 0.9.1 released
The Apache PLC4X team is pleased to announce the release of Apache PLC4X 0.9.1 This is a bugfix release aiming at directly fixing CVE-2021-43083 as well as updating the dependency to Log4J 2.14.0 which was affected by CVE-2021-44228 Please note that CVE-2021-43083 only affects the PLC4C part of PLC4X. PLC4X is a set of libraries for communicating with industrial programmable logic controllers (PLCs) using a variety of protocols but with a shared API. The current release contains drivers able to communicate with industrial PLCs using one of the following protocols: * AB-ETH * Beckhoff ADS * CanOpen * EtherNet/IP / EIP * Firmata * KNXNet/IP * Modbus * OPC UA * Siemens S7 (0x32) Beyond that we also provide integration modules for the following Apache projects and frameworks: * Apache Calcite * Apache Camel * Apache Edgent (Incubating / Retired) * Apache Kafka (Kafka Connect) * Apache NiFi * Logstash It also provides an `OPC UA Server` which can act as a bridge between legacy systems and OPC UA. Visit the Apache PLC4X website [1] for general information or the downloads page [2] for release notes and download information. Regards, The Apache PLC4X team [1] http://plc4x.apache.org [2] http://plc4x.apache.org/users/download.html
[ANNOUNCE] Apache PLC4X 0.9.0 released
The Apache PLC4X team is pleased to announce the release of Apache PLC4X 0.9.0 PLC4X is a set of libraries for communicating with industrial programmable logic controllers (PLCs) using a variety of protocols but with a shared API. The current release contains drivers able to communicate with industrial PLCs using one of the following protocols: * AB-ETH * Beckhoff ADS * CanOpen * GenericCan * EtherNet/IP / EIP * Firmata * KNXNet/IP * Modbus * OPC UA * Siemens S7 (0x32) Beyond that we also provide integration modules for the following Apache projects and frameworks: * Apache Calcite * Apache Camel * Apache Edgent (Incubating / Retired) * Apache Kafka (Kafka Connect) * Apache NiFi Incubating elements: * CAN transport (Hardware Abstraction Layer) * Initial POC of a Profinet Master driver (With Discovery support) It also provides an `OPC UA Server` which can act as a bridge between legacy systems and OPC UA. Visit the Apache PLC4X website [1] for general information or the downloads page [2] for release notes and download information. NOTICE: In contrast to the content of the README, please be sure to build PLC4X at least with Java 11 Regards, The Apache PLC4X team [1] http://plc4x.apache.org [2] http://plc4x.apache.org/users/download.html
[ANNOUNCE] Apache PLC4X 0.8.0 released
The Apache PLC4X team is pleased to announce the release of Apache PLC4X 0.8.0 PLC4X is a set of libraries for communicating with industrial programmable logic controllers (PLCs) using a variety of protocols but with a shared API. The current release contains drivers able to communicate with industrial PLCs using one of the following protocols: * AB-ETH * Beckhoff ADS * CanOpen * EtherNet/IP / EIP * Firmata * KNXNet/IP * Modbus * OPC UA * Siemens S7 (0x32) This is the first version of PLC4X to provide working drivers for: KNX and Modbus in the programming language: go Beyond that we also provide integration modules for the following Apache projects and frameworks: * Apache Calcite * Apache Camel * Apache Edgent (Incubating / Retired) * Apache Kafka (Kafka Connect) * Apache NiFi * Logstash It also provides an `OPC UA Server` which can act as a bridge between legacy systems and OPC UA. Visit the Apache PLC4X website [1] for general information or the downloads page [2] for release notes and download information. Regards, The Apache PLC4X team [1] http://plc4x.apache.org [2] http://plc4x.apache.org/users/download.html
[ANNOUNCE] Apache PLC4X 0.7.0 released
The Apache PLC4X team is pleased to announce the release of Apache PLC4X 0.7.0 PLC4X is a set of libraries for communicating with industrial programmable logic controllers (PLCs) using a variety of protocols but with a shared API. Find more information on the project on our website https://plc4x.apache.org This release can be downloaded from here: https://plc4x.apache.org/users/download.html This is probably the biggest release we had so far. It marks a milestone in providing Driver implementations for multiple target languages, as with this release all existing drivers have been deleted and replaced by new generated drivers. We also took the opportunity to fix some of the problems we noticed on the old drivers. Please note that starting with this version the connection string syntax has changed significantly and for some drivers also the address syntax. So please be sure to double check our driver documentation here: https://plc4x.apache.org/users/protocols/index.html However we suggest to update with caution and not instantly go into production without previously testing. As with all new things, even if we did a serious amount of testing, there might be issues hidden in the details. If you should find any regression issues, please report them as we are planning on speeding up the release- train significantly with this release. For the time being the 0.6.0 branch will continue to be maintained until feedback from the community makes us feel safe with focusing solely on the new drivers. Regards, The Apache PLC4X team
[ANNOUNCE] Apache PLC4X 0.5.0 released
The Apache PLC4X team is pleased to announce the release of Apache PLC4X 0.5.0 PLC4X is a set of libraries for communicating with industrial programmable logic controllers (PLCs) using a variety of protocols but with a shared API. The current release contains drivers able to communicate with industrial PLCs using one of the following protocols: * Siemens S7-STEP7 * Beckhoff ADS * Modbus * EtherNet/IP * OPC-UA * AB-ETH Beyond that we also provide integration modules for the following Apache projects and frameworks: * Apache Calcite * Apache Camel * Apache Edgent (Incubating) * Apache Kafka (Kafka Connect) * Apache Karaf * Apache NiFi * Elastic LogStash Starting with this release, we are proud to announce the availability of all PLC4J modules as valid OSGi Bundles. The API version generally supports: * Java We are also working on versions in: * C++ * C#/.NET * Python However there are currently no driver implementations for any language other than Java yet. So please consider these technology previews. Visit the Apache PLC4X website [1] for general information or the downloads page [2] for release notes and download information. RELEASE NOTES This is the first release containing our new generated drivers (AB-ETH) New Features - Implemented a new Apache Kafka Connect integration module - Implemented a new Apache NiFi integration module - Implemented a new Logstash integration module - Implemented a driver for the AB-ETH protocol - Implemented Apache Karaf features for S7 OSGI drivers - PLC4X-121Develop Code Generation to allow Generated Drivers in multiple Languages Sandbox (Beta-Features) - Implemented a new BACnet/IP passive mode driver - Implemented a new Serial DF1 driver Incompatible changes Bug Fixes - - PLC4X-104S7 Driver Datatype TIME_OF_DAY causes ArrayOutOfBoundException - PLC4X-134S7 is terminating the connection during handshake - PLC4X-139PLC4X leaks sockets in case of connection problems - PLC4X-141String with real length of greater 127 throw an exception - PLC4X-144When requesting invalid addresses, the DefaultS7MessageProcessor produces errors Regards, The Apache PLC4X team [1] http://plc4x.apache.org [2] http://plc4x.apache.org/users/download.html
New Apache mailing-list for inter-project communication with a focus on IoT related topics
There's a lot of magic happening in the IoT sector at the moment. A lot of new projects are appearing and older projects are growing and extending their functionality. We have noticed that it's currently quite difficult to keep track who the players in this field are and what they're up to. So we decided to create a new mailing-list to help improve the communication: i...@apache.org (Archive at: https://lists.apache.org/list.html?i...@apache.org) We hope this communication-channel will help reduce unnecessary double-work and improve streamlining the projects to work together as good a possible. So if you're involved in projects in the IoT sector, if you want to be involved and haven't found the right project to contribute yet, or if you just want to know what's up, it would be great to see you on this list (Subscribe by sending an email to: iot-subscr...@apache.org) Corresponding Blog-Post: https://blogs.apache.org/comdev/entry/new-apache-mailing-list-for Chris
[ANNOUNCE] Apache PLC4X 0.4.0 released
The Apache PLC4X team is pleased to announce the release of Apache PLC4X 0.4.0 PLC4X is a set of libraries for communicating with industrial programmable logic controllers (PLCs) using a variety of protocols but with a shared API. The current release contains drivers able to communicate with industrial PLCs using one of the following protocols: * Siemens S7 (0x32) * Beckhoff ADS * Modbus * EtherNet/IP * OPC-UA Beyond that we also provide integration modules for the following Apache projects and frameworks: * Apache Calcite * Apache Camel * Apache Edgent (Incubating) * Apache Kafka (Kafka Connect) * Apache Karaf * Apache NiFi Starting with this release, we are proud to announce the availability of first API versions in: * C++ * C#/.NET * Java * Python However there are currently no driver implementations for any language other than Java yet. So please consider these technology previews. Visit the Apache PLC4X website [1] for general information or the downloads page [2] for release notes and download information. Regards, The Apache PLC4X team [1] http://plc4x.apache.org [2] http://plc4x.apache.org/users/download.html
[ANNOUNCE] Apache PLC4X (incubating) 0.2.0 released
The Apache PLC4X (Incubating) team is pleased to announce the release of Apache PLC4X (incubating) 0.2.0 PLC4X is a set of libraries for communicating with industrial programmable logic controllers (PLCs) using a variety of protocols but with a shared API. The current release contains drivers able to communicate with industrial PLCs using one of the following protocols: * Siemens S7 (0x32) * Beckhoff ADS * Modbus * EtherNet/IP Beyond that we also provide integration modules for the following Apache projects and frameworks: * Apache Edgent (Incubating) * Apache Camel * Apache Kafka (Kafka Connect) * Apache NiFi >From version 0.1.0 the most notable new features are a new PLC connection pool as well as an OPM component Object PLC Mapping (Similar to JPA) for mapping POJOs to PLC resources. Visit the Apache PLC4X website [1] for general information or the downloads page [2] for release notes and download information. Regards, The Apache PLC4X team [1] http://plc4x.apache.org [2] http://plc4x.apache.org/users/download.html = *Disclaimer* Apache Edgent is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the name of Apache Incubator PMC. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
[ANNOUNCE] Apache PLC4X (incubating) 0.1.0 released
The Apache PLC4X (Incubating) team is pleased to announce the release of Apache PLC4X (incubating) 0.1.0 This is the first official release of PLC4X. PLC4X is a set of libraries for communicating with industrial programmable logic controllers (PLCs) using a variety of protocols but with a shared API. The current release contains drivers able to communicate with industrial PLCs using one of the following protocols: * Siemens S7 (0x32) * Beckhoff ADS * Modbus * EtherNet/IP Beyond that we also provide integration modules for the following Apache projects and frameworks: * Apache Edgent (Incubating) * Apache Camel * Apache Kafka (Kafka Connect) Visit the Apache PLC4X website [1] for general information or the downloads page [2] for release notes and download information. Regards, The Apache PLC4X team [1] http://plc4x.apache.org [2] http://plc4x.apache.org/users/download.html = *Disclaimer* Apache PLC4X is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the name of Apache Incubator PMC. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
[ANNOUNCE] Apache Edgent 1.2.0-incubating release
The Apache Edgent project is pleased to announce release 1.2.0-incubating! Apache Edgent is a stream processing programming model and lightweight micro-kernel style runtime to execute analytics at devices on the edge or at the gateway. Since the release of Apache Edgent 1.1.0 we have worked greatly on improving the build. Not only in order to make it easier to release Edgent it also simplifies onboarding of new committers as well as using Apache Edgent. As an additional result of this effort now almost all artifacts are available as Java 8 but also as Java 7 and Android versions. This is the first release of Apache Edgent to be built with Maven and hereby provide all Edgent artifacts via the usual Maven distribution mechanisms. Besides the build system changes, we have added a number of bug fixes and enhancements. Starting with Apache Edgent 1.2.0 the samples have also been moved to a separate GIT repository [1] Visit the Apache Edgent website [2] for general information or the downloads page [3] for release notes and download information. Regards, The Apache Edgent team [1] https://github.com/apache/incubator-edgent-samples.git [2] https://edgent.apache.org/ [3] https://edgent.apache.org/docs/downloads.html = *Disclaimer* Apache Edgent is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the name of Apache Incubator PMC. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
[ANNOUNCE] Apache Flex BlazeDS 4.7.3
Hi all, I am pleased to announce the release of Apache Flex BlazeDS 4.7.3. Apache Flex BlazeDS 4.7.3 is an update to 4.7.2 which adds a new blazeds-spring-boot-starter module for easily setting up a BlazeDS server with Spring Boot. It also provides Maven archetypes for easily creating new spring-boot project that make use of BlazeDS. We also did quite a lot of fine-tuning of the security default settings to make BlazeDS more secure. Starting with 4.7.3 BlazeDS Deserialization of XML is disabled completely per default but can easily be enabled in your services-config.xml: http://{server.name}:{server.port}/{context.root}/messagebroker/amf " class="flex.messaging.endpoints.AMFEndpoint"/> true Also, we now enable the ClassDeserializationValidator per default to only allow deserialization of whitelisted classes. BlazeDS internally comes with the following whitelist: flex.messaging.io.amf.ASObject flex.messaging.io.amf.SerializedObject flex.messaging.io.ArrayCollection flex.messaging.io.ArrayList flex.messaging.messages.AcknowledgeMessage flex.messaging.messages.AcknowledgeMessageExt flex.messaging.messages.AsyncMessage flex.messaging.messages.AsyncMessageExt flex.messaging.messages.CommandMessage flex.messaging.messages.CommandMessageExt flex.messaging.messages.ErrorMessage flex.messaging.messages.HTTPMessage flex.messaging.messages.RemotingMessage flex.messaging.messages.SOAPMessage java.lang.Boolean java.lang.Byte java.lang.Character java.lang.Double java.lang.Float java.lang.Integer java.lang.Long java.lang.Object java.lang.Short java.lang.String java.util.ArrayList java.util.Date java.util.HashMap org.w3c.dom.Document If you need to deserialize any other classes, be sure to register them in your services-config.xml: (Beware, by manually providing a whitelist the default whitelist is disabled) Known Issues _ FLEX-34648 Memory Leak occurred in AsyncMessage when sending a lot of messages Chris
[Anounce] Apache Flex BlazeDS 4.7.0 released
The Apache Flex team is pleased to annonce the release of Apache Flex BlazeDS 4.7.0. Apache Flex BlazeDS is the server-based Java remoting and web messaging technology that enables developers to easily connect to back-end distributed data and push data in real-time to Adobe(r) Flex(r) and Adobe AIR(tm) applications for more responsive rich Internet application (RIA) experiences.. Apache Flex BlazeDS 4.7 is the initial release of BlazeDS from the Apache Software Foundation. Prior to this, releases were provided by Adobe Systems Inc. It is compatible with most code written to target Adobe Flex 4.6. The source packages can be downloaded from http://www.us.apache.org/dist/flex/BlazeDS/4.7.0/ or one of Apache's mirror sites. Maven artifacts have been published to Apaches Maven Repository (https://repository.apache.org/content/repositories/releases/org/apache/flex /blazeds/) and are available from Maven Central. For detailed information about Apache Flex please visit http://flex.apache.org/