CHANGELOG

rel/0.10 - 2022-09-29 15:56:37

What's Changed

New Contributors

Full Changelog: https://github.com/apache/plc4x/compare/rel/0.9...rel/0.10

Feature

  • plc4go:

    • added remaining renderers for model (1a54d16)
    • implemente more serialize calls (62c8c66)
    • added plc4xgenerator to generate the serialize functions (7ae5070)
    • added GetSource to PlcSubscriptionEvent (0e01d37)
    • added fmt.Stringer to plc_message (7df4051)
    • introduce Plc4xModelLog (13809af)
    • added missing duration calls to plc_value (b7fb8cf)
    • added GetPLCValueType() PLCValueType to plc_value.go (1f14f81)
    • Treat a single element PlcValueList as PlcValue (88de075)
    • added DiscoverWithContext to driver manager (5ff39f7)
    • introduced ExecuteWithContext(ctx... calls (a21cbc6)
    • added net util for finding IPs (1a041e8)
    • exposed the SPI as it comes in handy when working with plc4x from time to time (4c916f5)
    • plc4xbrowser should now remember last host and support more drivers (54d0cf9)
    • first implementation of plc4xbrowser (027ef30)
    • output progressbar on stderr for analyzer (48a1a83)
    • add additional output for analyzer (88f255b)
    • added SO_REUSE support for udp (f219a65)
    • added protocol specific discovery options (fdb52e5)
    • expose Serializable (1422a4e)
    • expose curstom write buffer (7d0002a)
    • expose read/write buffer via new interfaces (badd0da)
    • expose selected set of utils for public usage (7e0ccdb)
    • fixes on golang (c216cbe)
    • add new factory method for write buffer (a44a252)
  • plc-simulator/cbus:

    • unified cal data handling (9878491)
    • pick one of the available units for mmi (cf1462e)
    • added support for installation mmi requests (720c603)
    • cleanup code (6ac271f)
    • implemented direct command identify (c9c9e77)
    • added application filtering (0a1817b)
    • implemented identify responses (3c7065c)
    • implement proper option support (8ddb301)
  • plc4go/connection-cache:

    • introduce connection cache options. (5751ff3)
    • hook connection cache into a own logger (b042f02)
  • cbus:

    • map sal data command type into address (28708f9)
    • report levels as percentage (virtual) (ef888b9)
    • introduced INFO_MESSAGES and NETWORK_CONTROL application ids (5e61dc8)
    • added number of arguments to sal command types (86c4620)
    • change some fields to c-bus now that they don't loose data (0e48de1)
    • handle mmi status messages (7d02a51)
    • properly parser parameter values (f44d597)
    • validate the checksum on read (cfffc80)
    • implemented proper checksum support (b0af4dc)
    • implemented audio and video application (409a709)
    • implemented heating application (4d1b020)
    • implemented error hvac actuator application (70a64ab)
    • implemented error reporting application (cc4f30d)
    • implemented measurement application (238d80b)
    • implemented pools spa ponds fountains control application (61edca4)
    • implemented measurement application (65f7595)
    • implemented irrigation control application (16590cf)
    • implemented air conditioning application (f9a1dfc)
    • implemented air conditioning application (f246821)
    • implemented telephony application (9edc926)
    • implemented clock and timekeeping application (218812e)
    • implemented media transport control application (f4b45a4)
    • access control application (819a6c4)
    • implemented ventilation application (f8dbf89)
    • implemented temperature broadcast application (0119d0a)
    • implemented enable control application (79754ba)
    • implemented trigger control application (9b9f882)
    • implemented metering application (ab42d2a)
    • implemented security application (c18171e)
    • added support for lighting label (e2f61c4)
    • add support for cal data write (a82a934)
    • mapped more identify reply commands (8a50d2a)
    • added support for deprecated binary state status request (b56ad32)
    • added IdentifyReplyCommandOutputUnitSummary (6d304e7)
    • added parameter relevant types (de2ad06)
    • added support for enum parameters (7639143)
  • plc4j/api:

    • Added a getArrayInfo() method to the PlcBrowseItem to provide information over array dimensions. (cf2f2f5)
  • plc4go/spi:

    • improved virtual output from WriteBufferBoxBased (0cfd466)
    • improved output of some types (324ef77)
    • introduced WriteBufferPlcValueBased (2a860ce)
    • added new ConnectWithContext to message codec (1f38cc9)
    • added new ConnectWithContext to transport instance (de4fab5)
    • integrate ctx into DefaultCodec (aa93c27)
    • propagate ctx down into implementations (fbe964b)
    • implemented stringer for Default driver (e8a3f67)
  • plc4go/cbus:

    • added source to events (31438eb)
    • added timeout to the read request on browse (a0b7d0b)
    • handle context in browse field (a589161)
    • map cal data using the WriteBufferPlcValueBased (08ac93c)
    • SAL are now passed using the generic WriteBufferPlcValueBased (4ca9925)
    • added some more dummy implementations for value types (6906355)
    • implemented value handler for writes (96a452e)
    • first implementation of writer support (5fd053d)
    • introduced sal field (2651c29)
    • implemented proper plc-value mapping for identify calls (8a208fa)
    • properly implemented Discoverer (87763de)
    • implemented Discovery (840b324)
    • fixed handling single confirmations (0b222b0)
    • added interceptor to browser (78cd30b)
    • added possibility to specify addresses in connection string (fe18090)
    • first draft of browse functionality (c7e1d90)
    • added new info field for browse (456ba1d)
    • first implementation of subscription for monitored SAL messages (d516baa)
    • properly map binary and level status responses to plcValue (2bd067a)
    • progress on field handling (38a8bdf)
    • initial c-bus driver implementation (6021471)
  • plc4j/ui:

    • Added a resource view for a selected PLC connection listing all resources it found using the “browse”-api in a tree-table. (a4a7573)
  • general:

    • migrate to apache groovy (36881ba)
    • added new bacnet vendor ids (a7c38fb)
    • Dynamically determine ETS project number (#321) (7a6f03c) (#321)
    • feature(plc4go): simulated driver, connection pool (c76b28e)
    • mspec extension with parameterized type refs, assert, try, const (22c9f00)
    • add more tracer calls (26bcca7)
    • inject tracer into freemarker templates (212818e)
  • plc4j:

    • added addPreRegisteredConsumer as convenience method for pre register consumers (8b8518c)
  • plc4go/bacnet:

    • update vendor ids with data from new url (d4343a2)
    • updated vendors (dd11ad3)
    • update vendors (8f8633a)
    • first draft of reading single and multiple values (6dc0a07)
    • added WhoHas and IHave to Discovery (5335f6f)
    • Discovery should now display the remote ip at least for broadcast (35d2185)
    • Discovery should now parse the iam and produce a partial correct event (2fbc348)
    • Discovery should now be able to handle broadcasts and unicasts (f362cfa)
    • small changes on discovery using reuse of sockets (1d069ad)
    • initial implementation of discovery (644d5c9)
    • fix broken static helper casts (f883cc1)
    • minor progress on bacnet (7949d53)
  • plc-simulator:

    • graduate the plc-simulator into plc4j/utils (9500fef)
    • plc-simulator send out SAL messages every 5 seconds (0e381aa)
  • plc4go/knxnetip:

    • use context for discovery (04fa66d)
  • plc4xbrowser:

    • added discover command (e94ed04)
    • added discover command (dc05bfa)
    • increase display area (ff7d444)
    • set focus on ctrl+c (1e2b13b)
    • added browse support (a3d68a2)
    • implemented write-direct (8d2e713)
    • made read produce a proper message (5af52b7)
    • hook ctrl-c onto command input clear (f2b5ec0)
    • added first iteration of read support (5faa9e1)
    • added subcommands for clear (6aa9a57)
    • auto register option for drivers (34d70f7)
    • add clear command (a1e8b24)
    • added several features (0458e79)
    • display last 10 commands and save them in config (c53f4fa)
    • added config options for logging and tracing (55ded83)
  • plc4xpcapanalyzer:

    • added frontend for interactive work with the cli (decf45e)
  • plc-simulator/s7:

    • support a alternate s7 port (7adec29)
  • codegen/plc4j:

    • fixed issue with name collision (ed60521)
    • save reserved in case they differ so they can be written out again using the same value (8baeacf)
    • add information of the type into the error message (8636f3f)
  • codegen/plc4go:

    • save reserved in case they differ so they can be written out again using the same value (a60ee58)
    • add information of the type into the error message (5dfee90)
    • when a sub-type parse match fails output the actual values (a7504a6)
    • added an indirection through the write buffer for complex types. (0801492)
    • added an indirection through the write buffer for complex types. (77ff058)
    • wrap errors and added stacks where missing (10764da)
    • log error to debug when optional is resetting for better traceability (5b71b83)
  • plc4xpcapanalyzer/cbus:

    • echo in merge requests should now be discarded so numbering won't get messed up (c8893e0)
  • plc4j/cbus:

    • added simple cbus implementation to plc-simulator (067ad4f)
  • bacnet:

    • update vendors (02f6191)
    • use typeSwitch inherit feature for tags (3694a28)
    • added missing accessors for constructed data types (ddd8beb)
    • added accessors for constructed data types (2750970)
    • renamed access credential all (10de05b)
    • added on more mapping for static helper (b227400)
    • added index 0 support for BACnetArray and validate lengths (139832b)
    • pass index parameters to constructed data (5e2003a)
    • added safeguard against wrongly implemented constructed data (d97c819)
    • added shared property mapping (b304355)
    • added shared property mapping (ef7538a)
    • added shared property mapping (b7a5c45)
    • added shared property mapping (39f0757)
    • added share property mapping (4e32eb5)
    • implemented unique properties for access zone type (168884f)
    • implemented unique properties for accumulator type (5fd804a)
    • implemented unique properties for averaging type (c4f993b)
    • implemented unique properties for calendar type (cc0fb1d)
    • implemented unique properties for channel type (c365f85)
    • implemented unique properties for command type (fa695b0)
    • implemented unique properties for credential data input type (b9c9134)
    • implemented unique properties for device type (0be992d)
    • implemented unique properties for elevator group type (c94bf66)
    • implemented unique properties for escalator type (ef8f17b)
    • implemented unique properties for event enrollment type (c2d39ad)
    • implemented unique properties for file type (c75cc7d)
    • implemented unique properties for global group type (7ed03bf)
    • implemented unique properties for group type (a8376a9)
    • implemented unique properties for lift type (9612626)
    • implemented unique properties for lightning output type (7d74e34)
    • implemented unique properties for load control type (b685af7)
    • implemented unique properties for loop type (89a1d3e)
    • implemented unique properties for network port type (3ee1ecd)
    • implemented unique properties for network security type (d39d5d0)
    • implemented unique properties for notification class type (d679430)
    • implemented unique properties for notification forwarder type (334fc21)
    • implemented unique properties for program type (c8276d5)
    • implemented unique properties for pulse converter type (0bb2918)
    • implemented unique properties for schedule object type (176fb68)
    • implemented unique properties for structured view object type (8a683e2)
    • implemented unique properties for timer object type (5994fd3)
    • implemented unique properties for binary lightning output object type (a70d1aa)
    • implemented unique properties for bit string object type (f1950f4)
    • implemented unique properties for access user object type (737d078)
    • implemented unique properties for access point object type (535da88)
    • implemented unique properties for access door object type (003ddf1)
    • implemented unique properties for access credential object type (8626057)
    • implemented several properties (e8ba250)
    • implemented some more property mappings and defaulted all properties to a validation error (f4cd2a9)
    • added first implementation of BACnetConstructedDataAnalogInputAll (4d946c0)
    • implemented all bit strings similar to enums (65f5526)
    • implemented BACnetPriorityArray (53381f1)
    • mapped units to out of service (5771964)
    • mapped controlled variable value (fc22ff5)
    • mapped units to BACnetEngineeringUnits (a64de11)
    • add unknown enums to ApduType enum (ef1e4b3)
    • introduce ApduType enum (5153cf7)
    • implement BACnetConstructedData*All for all objects as placeholder (ee9fb24)
    • implement BACnetConfirmedServiceRequestVTData (e6b90c6)
    • implement BACnetConfirmedServiceRequestVTOpen (001eedb)
    • implement BACnetConfirmedServiceRequestVTOpen (ba8b2dd)
    • implement BACnetServiceAckVTData (0003c82)
    • implement BACnetServiceAckVTOpen (b0c9709)
    • implement BACnetServiceAckGetAlarmSummary (1e5d6f5)
    • implement BACnetUnconfirmedServiceRequestWriteGroup (cbaedc9)
    • implement BACnetUnconfirmedServiceRequestWriteGroup (7d9c063)
    • implemented BACnetConfirmedServiceRequestConfirmedTextMessage (6e5cfee)
    • implemented BACnetConfirmedServiceRequestLifeSafetyOperation (9709a9c)
    • implemented BACnetServiceAckGetEnrollmentSummary (cd12935)
    • implemented BACnetConfirmedServiceRequestGetEnrollmentSummary (1af0a40)
    • implemented BACnetNotificationParametersChangeOfTimer (d8beb08)
    • implemented BACnetNotificationParametersChangeOfDiscreteValue (056a4b4)
    • implemented BACnetNotificationParametersChangeOfReliability (4a727b1)
    • implemented BACnetNotificationParametersChangeOfStatusFlags (839386e)
    • implemented BACnetNotificationParametersChangeOfCharacterString (c2d5017)
    • implemented BACnetNotificationParametersUnsignedOutOfRange (1505202)
    • implemented BACnetNotificationParametersSignedOutOfRange (996bcbc)
    • implemented BACnetNotificationParametersDoubleOutOfRange (01d0114)
    • implemented BACnetNotificationParametersAccessEvent (c964dc5)
    • implemented BACnetNotificationParametersChangeOfLifeSafety (1e97df3)
    • put basic tags in own mspec (852ed66)
    • implemented BACnetPropertyStates (0a88392)
    • added helpers for vendor id (3a188a5)
    • use vendor id enum whenever possible (337ed95)
    • implement BACnetConstructedDataSubordinateList (0f62ec0)
    • small cleanups of static helpers (6230a05)
    • added helper functions for segmentation (09c1e79)
    • added mspec-code-generation for defined enums (DRY) (115a4d7)
    • implemented remaining direct defined enums (94ca4f0)
    • split enums up into public and private enums (11ae7e0)
    • externalize enums in own mspec and add missing skeletons (02d6616)
    • pull vendor id list from the internet (3b0a651)
    • migrated BACnetAction to enum (a392d38)
    • implemented improved generic method to handle enums which can have extended values (34e26f1)
    • implemented support for BACnetConstructedDataReliability (feb585b)
    • implemented support for BACnetConstructedDataLifeSafetyStateEntry (675fb09)
    • implemented support for ACCEPTED_MODES (bc11e48)
    • implemented support for LIFE_SAFETY_ALARM_VALUES (7a75b2c)
    • added todos and validations for not yet implemented datatypes (3b5dd93)
    • implemented BACnetConfirmedServiceRequestCreateObject and BACnetConfirmedServiceRequestDeleteObject (4a78124)
    • implemented BACnetUnconfirmedServiceRequestUnconfirmedCOVNotificationMultiple (a84ba0c)
    • implemented BACnetConfirmedServiceRequestSubscribeCOVPropertyMultiple (48521c3)
    • implemented BACnetConfirmedServiceRequestSubscribeCOVProperty (9a623d1)
    • map abort and reject reason to enums (59437f7)
    • reworked error handling (78b0326)
    • implemented read range (ddfad99)
    • implemented PrivateTransfer (c75c2f0)
    • major overhaul of type mappings (b4d63f3)
    • added property mapping placeholders (e0d8f82)
    • implemented BACnetConstructedDataLifeSafetyZoneMembers and BACnetConstructedDataLifeSafetyZoneMembers (986009e)
    • implemented BACnetConfirmedServiceRequestConfirmedCOVNotificationMultiple (1d39569)
    • implemented BACnetConfirmedServiceRequestAcknowledgeAlarm (6a899a1)
    • implemented BACnetUnconfirmedServiceRequestUnconfirmedEventNotification (347196d)
    • implemented BACnetUnconfirmedServiceRequestUTCTimeSynchronization (e95d551)
    • introduced BACnetUnconfirmedServiceChoice enum (d5d7a1e)
    • introduced BACnetConfirmedServiceChoice enum (fec9e3e)
    • added support for BACnetConfirmedServiceRequestAddListElement and BACnetConfirmedServiceRequestRemoveListElement (d6e48ad)
    • minor cleanups (69c255c)
    • added support for more read replies (0f46d4d)
    • refined BDT and FDT support (5c895a3)
    • initial BDT and FDT support (261bfe7)
    • added support for BACnetReadAccessResult (ad729e2)
    • added support for BACnetConfirmedServiceRequestWritePropertyMultiple (af95da3)
    • introduce enums for MaxSegmentsAccepted and MaxApduLengthAccepted (8024e07)
    • added helper for date and time (201ded2)
    • added null context tag (1e426c2)
    • added helper for bit string data types (3cb822b)
    • added helper for string data types (b34ce11)
    • added helper for boolean point data types (d2ec227)
    • added helper for floating point data types (1c229ce)
    • added helper for opening and closing tags. (373d618)
    • fixed wrong calculations of length headers (843cd77)
    • fixed wrong calculations of length headers (bbee159)
    • added utility method for creating property identifiers (e84103b)
    • Add util methods in static helper for integer based values (ba3154d)
    • Add util methods in static helper for object identifiers (c22fedf)
    • initial support for segmented messages (e89b6f4)
    • added BACnetConstructedDataEventTimestamps (b45dbcd)
    • added support for bacnet actions (576d7ae)
    • added BACnetNotificationParametersFloatingLimit (fd417b8)
    • added more typing (a57725a)
    • support for life support zones (0806f51)
    • implemented BVLCWriteBroadcastDistributionTable (18f7ac7)
    • added missing ack (4fd5f35)
    • implementation improvements (ea77517)
    • added confirmed service request unknown (28fa90f)
    • added ADPU unknown (e208e62)
    • add missing network routing messages (43bcee8)
    • support for more object types (56d85b3)
    • worked on notifications (782518e)
    • constructed data generic parsing (aa23ae7)
    • initial support for constructed data (80307c2)
    • fix merge messup (3b0aa11)
    • small optimizations (d412f5c)
    • worked on read property (868bc10)
    • implemented BVLCResultCode (85f56d5)
    • implemented BVLCRegisterForeignDevice (52cd8ac)
    • add pcap based bacnet test (ffb68a6)
    • implement BACnetConfirmedServiceRequestReadProperty (1972700)
    • implement BACnetConfirmedServiceRequestReinitializeDevice (5204018)
    • implement BACnetConfirmedServiceRequestAtomicWriteFile (c7efc32)
    • implement BACnetConfirmedServiceRequestAtomicWriteFile (fa4c139)
    • implement BACnetTagApplicationDate and BACnetTagApplicationTime (f19d8f7)
    • implemented I-Have (7006b32)
    • work in BACnetUnconfirmedServiceRequestWhoIs (7d41e7c)
  • plc4go/plc4xpcapanalyzer:

    • introduce package mapper which is used to “fake” a healthy communication pattern. (93f523d)
    • analyzer should now be able to handle segmented messages (for c-bus) (929558b)
    • added more options to cbus (95c80a8)
  • c-bus:

  • spi:

    • changed the way a byte is rendered (a243df0)
    • First Draft of the encryption handler interface (#319) (5ef3f31) (#319)
    • Added highlight function to hex to highlight byte positions (9450441)
  • bacnet/plc4go:

  • codegen:

    • if a case name in a typeswitch start with * prefix the owner name (c764f40)
    • streamline protocol implementations by providing convenience methods (fa0ce26)
    • added possibility to split up mspecs (ae9c2e6)
    • changed validation to fail parsing conditionally (c21a184)
    • more accurate error reportings (ed71d06)
    • Fixed more issues in the C# code gent (b7dcde9)
    • Fixed more issues in the C# code gent (34d0887)
    • Fixed more issues in the C# code gent (71058d8)
    • Fixed an issue in the C# code gent (b080c87)
    • Fixed an issue in the C# code gent (83811e5)
    • Got the C code-generation working again (9777dc2)
    • Got the C code-generation working again (b2635e3)
    • Tried getting stuff working in C ;-) (efda339)
    • Removed some unreferenced code (10389a2)
    • Fixed how byte-based manualArray fields are parsed (b997544)
    • Fixed how data-io fields are referenced (9ba8cf2)
    • Kept on working on the migration (1426944)
    • Fixed go code generation after refactoring (749e034)
    • Fixed array type handling and data-io code generation (7c59bc3)
    • Started clening up the type references (8afd22e)
    • Ensured the VariableLiterals are able to provide their type. (7e21421)
    • Ensured the VariableLiterals are able to provide their type. (0a99ac6)
    • added info method to do logging during template development (aa6175a)
    • introduce TypeContext to transport more information out of code generation (e88ad99)
    • added wildcard support for type switch (30817ad)
    • add peek field (3a7b261)
    • make the reader and writers a bit more verbose (d8946d4)
    • Added new validation field (3a4d6de)
  • plc4j/eip:

    • Updated java CIP write dataSize to match read dataSize (#384) [PLC4X-341] (0489ec6) (#384)
  • protocols/eip:

    • EIP adding read/write for STRINGS and LINT (#367) (5f75bba) (#367)
  • plc4go/tools:

    • initial version of plc4xpcapanalyzer which can be applied to pcaps to check if plc4go can handle it (eda641e)
  • modbus:

    • Added some initial tests for Modbus-RTU and Modbus-ASCII (48839ac)
    • Updated the RELEASE_NOTES a bit (4f01cd9)
    • Added first working support for modbus-rtu and modbus-ascii (currently only tested with tcp transport) (9798d9b)
    • Adjusted the modbus discovery to work with the renamed modbus-tcp driver (9ae4a55)
    • Split up “modbus” into “modbus-tcp”, “modbus-rtu” and “modbus-ascii”. Renamed “modbus” into “modbus-tcp”. (e3e46f3)
  • protocol/modbus:

    • Started working on ModbusRTU/ASCII (6f38d2e)
  • protocol/c-bus:

    • Continued implementing the driver core (e6f462f)
    • Implemented the ApplicationId part (befcbd8)
    • Got more CAL Data tests working (42013eb)
    • Got more CAL Data tests working (fa465b3)
    • Got the CAL Data tests working (dcac0ea)
    • Fleshed out the CALData Header (34f5719)
    • Fleshed out the SALData Header (a55c297)
    • Got the build working again (1292be0)
    • Got the mspec a bit more compilable. (fb83aa6)
    • Some finetuning (implemented srchk) (16c3457)
    • added more types, fixed some issues (562f665)
    • added more types (a29d692)
    • added more base types (44f06b3)
    • Initial commit. (53d0aef)
  • plc4go/c-bus:

  • protocols/c-bus:

    • added NetworkProtocolControlInformation (abe3853)
    • added ExtendedFormatStatusReply (c34636c)
    • added StandardFormatStatusReply (ed223d5)
  • protocols/cbus:

  • protocol:

    • added sanity checks on protocols (8e6551d)
  • plc4j/modbus:

    • Cleaned up and added some more code comments explaining why things are done the way they are. (13d53e6)
    • Updated the discovery to also find the unit-id for a modbus device. (51657e8)
    • Made the draft threadsafe (add57e7)
    • Added a first experiment for modbus discovery (395b975)
  • bacnet/plc4go/codegen:

    • added factory methods to calculated headers (cdb1e74)
  • plc4j/knx:

    • Enabled the EST parser to process encrypted projects (And fixed a bug resulting in it not correctly assigning datatypes to group-addresses) (4d00f95)
    • Enabled the EST parser to process encrypted projects (And fixed a bug resulting in it not correctly assigning datatypes to group-addresses) (5ad93d3)
  • plc4j/codegen:

    • Store arguments as fields to make them usable by virtual fields (6807c3a)
    • add function to test if enum is mappable (907742a)
    • render virtual fields in boxes (17086bd)
    • added support for date, time, datetime (cf5a1ad)
    • use serialization based toString() (072de49)
    • re-add exception handling for expressionless optional field (346d4ab)
    • re-add exception handling for expressionless optional field (07f9f7e)
    • format java sources and optimize import after codegen (4156659)
  • plc4j/plc4x:

    • Added a skeleton for a plc4x protocol driver, which will be used to relay PLC4X API requests from one system to another (6652fa4)
  • code-generation:

    • Added the concept of a “protocol version” to the protocol modules and the code-generation plugin. (d97d76b)
  • plc4go/connection-pool:

    • Added a matching API component to make the pool usable outside the plc4go project (019018f)
    • Added a PlcConnectionPool for go (c9c0374)
  • plc4j/pcap-transport:

  • sast:

  • plc4go/knx:

  • plc4j/ads:

  • plc4go/codegen:

    • render virtual fields in boxes (13d37b4)
  • plc4go/pcap:

    • dump packages on debug for better inspection (cfcd6e3)
    • Pcap transport should work now (cdc8419)
  • plc4go/boxwriter:

    • write strings directly and omit hex values (b7bf197)
  • plc4go/try-assert:

    • try/assert is now working in golang (c076381)
  • ci:

    • add changelog action for automated changelogs (648409b)
    • add workflow which ensures plc4x builds on every platform with every version (4f7b609)
  • plc4x/codegen:

    • remove traces from single ticks on literals (9864747)
    • reorder attributes to after params (bfdb7d7)
    • remove obsolete ticks (24d3472)
    • remove traces from single ticks on literals (8580b51)
    • reorder attributes to after params (ecb4bb0)
    • remove obsolete ticks (2448eda)
    • virtual fields should now work much better (8cc4e45)
  • plc4j/codgen:

    • small code cleanup (7acc53b)
    • migrate simple type to new code generation (1fae1f0)
    • add additional optional factory method for expressionless optionals (652af39)
    • small code cleanup (75aa3cb)
    • migrate simple type to new code generation (8849b30)
    • add additional optional factory method for expressionless optionals (b71830d)
  • pl4go/codegen:

    • added more tracer-calls to codegen (9d5ade8)
  • pl4x:

    • Added actualTagNumber to bacnet for easier access to the tagnumber (d88ea3b)
    • Reworked a bit of bacnet integration (6146cd1)
  • pl4go:

    • Added initial pcap transport (580454f)

Bug Fixes

  • plc4go/cbus:

    • fixed npe while rendering fields (b318cbb)
    • don't return connection instance on connection error (b6d94c7)
    • fixed field addresses (f409645)
    • fix error message reporting the unsuccessful cast as nil (084073b)
    • try to catch installation mmi with offset 0 (de97996)
    • fix wrongfully reporting of sal to mmi subscribers (ff4c27c)
    • remove debug statements (2d9347d)
    • fix build (cbb656e)
    • change browser to not brute force all unit addresses rather use the installation mmi (4359797)
    • fix filtering (8334e20)
    • fixed cal pattern (b95a929)
    • fixed transaction not ending on reads (2deddcd)
    • fixed empty responses on read (c38f164)
    • don't misreport fields which are meant for sal or mmi (23df43e)
    • avoid channel leak by adding wait groups (ce2db6b)
    • fixed go routine leak (a641257)
    • removed connection closing on timeout (438cd42)
    • fixed issue when connection doesn't work on a power up notification (e514fe1)
    • removed wrong mapping (4925d81)
    • fix address string of cal identify field (16d5348)
    • fix address string of unit info field (2a5b518)
    • fixed write (191162d)
    • fixed unprintable event (46e4a9a)
    • fixed reader using the wrong options (1dcab3d)
    • decreased log level of static helper (7d98c6d)
    • fixed detection of server error (5fc5d28)
    • fixed handling of server errors (be71f0c)
    • removed spamming log statement (e812623)
    • change handling of error responses (aae82e9)
    • fixed vet error (758e078)
    • fix handling of “!” errors (f55a931)
    • fixed FieldHandler (55397a5)
    • added a workaround from a nasty bug in using PeekReadableBytes (548e3b4)
    • fixed c-bus reporting a request to pci falsely (8eef885)
    • fix application filters (if a1 is set to ff then a2 needs to be set too) (abef0bf)
    • display MMI's with a default incoming message handler for now (a5af69e)
    • fixed reading of mmi (9b7cee0)
    • fixed broken code (e0f86d9)
    • reworked connection to use ack (e5acb84)
    • implement connection setup (f20adc9)
    • T-0 implementation for STATUS, CAL_RECALL, CAL_IDENTIFY, CAL_GETSTATUS (8cbe0ee)
  • plc4go/asciibox:

  • plc-simulator/cbus:

    • fix missing reset echo on smart or connect (01a2ece)
    • fix status level responses with exstat off (91a9d2c)
    • partially fix the output of status requests (88b1b3f)
    • when exstat is switch restart monitors (d42ab0d)
    • fix mmi responses (e1bc7e8)
    • fix plc simulator sending out wrong installation mmis (5e4c77a)
    • avoid sending out the inner message (b7db778)
    • fixed broken outputs of text (cfecae2)
    • fixed some wrong returns (ff9fe8d)
    • fixed simulator returning wrong data (fa96517)
    • simulator should now use the right types for responses (2aa5fb0)
    • fixed NPE while stopping monitor (f8935f0)
    • fixed simulator returning wrong status (0056237)
  • plc4j/modbus:

    • PLC4X-354 - ArrayIndexOutOfBoundsException when reading a single bit via Modbus (c63919b)
  • plc4go/connection-cache:

    • guard against returning broken connections (fa18004)
    • fix panic when a initialized connection is returned (8b13c4a)
    • fix NPE on connection close (cc322f0)
    • drain lease chan on timeout (e6609cc)
  • plc-simulator:

    • added -public option to listen on all addresses (3e82df2)
    • fixed issue where the mmi monitor would reset the srchk option (43f4b87)
    • fixed some issues in the plc-simulator (cbf8325)
  • cbus:

    • correct wrong name of HVAC Actuator (9d0ba2b)
    • fixed typo in summary command (ed5297d)
    • fixed typo in network terminal levels (385f6e6)
    • fixed network voltage using the wrong bit size (21b3d63)
    • fixed handling of error responses (6b8b68e)
    • implementd InterfaceRequirementsTest and fixed bugs (4e43951)
    • repaired some byte numberings (274449d)
    • fixed identify output unit sumary (e4f60a3)
    • greatly simplified parsing by removing duplicate definition (2a132d6)
    • fixed ParameterValues respecting the additional data (86d2ee3)
    • fixed setting of c-bus options (324868e)
    • fixed power up notification (42137e4)
    • fixed detection of monitored sal (a82e700)
    • fixed level reporting for ExtendedFormatStatusReply (0b713c6)
    • fixed handling of extended status replies (52f072c)
    • fixed several smaller issues (6dfa26e)
    • fixed length calculations (30aa269)
    • fixed naming error (312705c)
    • fixed several copy paste errors (d2384a0)
    • fixed auxiliary levels on temperature and humidity (1041868)
    • fix reset and write command (de934ec)
    • fixed issue with GAVValuesCurrent, GAVValuesStored and GAVPhysicalAddress (e90fdc6)
    • fixed issue when using a ReplyNetwork (4b921f0)
    • only use request context once on cal data (d317961)
    • fixed vstrings (d607519)
    • small fixes regarding loading of dynamic icons (ac955c6)
    • relaxed the options parsing for labels (84c732d)
    • fixed smaller issues related to extended status (70ef662)
    • switch SetParameter from const to reserved till it is clear why the delimiter has strange values sometimes (14dcb25)
    • fixed CALDataReply using the wrong datatype (505eb67)
    • fixed response byte calculations (376f950)
  • plc4go:

    • use upstream version of tview again (454b053)
    • fixed code smells (0ff69c1)
    • fix plc4x_common not reacting to logger changes (9961a04)
    • fixed PlcSubscriptionHandle registering the wrong handle (e6a7255)
    • fixed subscriber trying to add to a nil map part 2 (4395053)
    • fixed subscriber trying to add to a nil map (1855082)
    • fixed NPE when trying to print the SubscriptionResponse (84fb3f2)
    • fixed some timer leaks (4d22dd1)
    • fixed issue with broken discovery (514ae51)
    • fixed close result of empty connection cache (9f941a4)
    • removed receiving trace calls as they are covered by the workerlog (DefaultCodec.go:273) (b4c7fc5)
    • fixed browse query builder (c142f78)
    • fix go install by changing to fork (b67679f)
    • fixed compile issue (a57705d)
    • fixed wrong import (5393a50)
    • fix linting errors (8035c45)
    • fixed some issues regarding custom message handlers (7341b61)
    • fix so_reuse (fd0eddd)
    • Ensured using “deploy” with the plc4go module doesn't break the build. (3719894)
    • Got the build working with the latest go version by switching from “go get” to “go install” for installing tools. (b4d01a7)
    • Got the go build working again after the plugin update. (c238fd2)
    • Got the go build working again after the plugin update. (58210de)
    • fix import (658162d)
    • renamed plc4go/pkg/plc4go to plc4go/pkg/api (d65201d)
    • fix the error of value out of range when converting an in-range number string to IEC61131 unsigned integer or WORD-related type. (#363) (773aba6) (#363)
    • adjusted xml writing (5a05613)
    • switch string reading (e9d1dcf)
    • updated PlcValueAdapter to panic instead of returning 0, updated PlcBYTE to allow returning of uint 8 (cfdf58a)
    • disable blocking test again (d10d4f8)
    • fixed leaking spi interfaces in driverManager.go (d1895d6)
    • fix segfaults on macos (a97ecaf)
    • fixed issue where ordering was changed after latest refactor (e0819a8)
    • fixed driverManager.go omitting the transport path (abcf1a5)
  • plc4j/ui:

    • Tried to get the build working on windows (ae0dccf)
    • Tried to get the build working on windows (56d0b88)
  • plc4j:

    • remove e.printStackTrace() calls (e898b7b)
    • Changed the SPI to pass along PlcAuthentication information to the ProtocolLogic (1045cf0)
    • Added some code to avoid NPEs in the OPC-UA Testsuite (5b70350)
    • Made the ParserSerializerTestsuiteGeneratorSpec.groovy check if it uses the Apple pre 1.10.0 libpcap version and skip the test, if it does (bb923af)
    • Fixed broken code for detecting parllels (0b2693e)
    • reverted kafka connect version (88ec8c4)
    • Fix bug with select returning prematurely when device not sending any data (#386) (d8fecd3) (#386)
    • Set the class loader for for the driver to be the same as the PlcDriverManager (10e942b)
    • OPCUA more fixes for optional fields (b3dcb67)
    • opcua Include Encoding Mask in NULL Extension Object (4e14bc0)
    • Kafka Connector fail to find transport fix (63db99c)
    • Updated scraper pom (e1629b9)
    • Replaced the PooledPlcDriverManger within the Scraper (5531ca8)
    • Bumped minimum java compiler version to 11 (a19ce13)
    • Made the bacnet RandomPackagesTest.java execute on Windows and updated the documentation on setting up libpcap on Windows. (0b7605e)
    • Made the bacnet RandomPackagesTest.java execute on Windows and updated the documentation on setting up libpcap on Windows. (4fc0433)
    • Hopefully fixed the code for detecting the libpcap version. (e44a84a)
    • Adjust OSGi framework versions PLC4X-336. (ec0694a)
    • Adjust endianess in ethernetip mspec. (3453b60)
    • Made the driver-testsuites run with the version 3.0.0-M5 of the failsafe plugin (b0b8605)
    • Disabled the ParserSerializerTestsuiteGeneratorSpec test as it wasn't runable on Windows (0fd5d63)
    • Made the integration tests work with failsafe 3.0.0-M5 (1cd02bf)
    • removed files in the “attic” of the raw-sockets module (37ebe6a)
  • plc4j/examples:

    • fix build part 2 (332f506)
    • fix build (326739e)
    • PLC4X-349 mqtt example config contains wrong plc protocol (2e8c6eb)
    • fixed wrong path of example parent pom (f6d146a)
  • plc4j/ads:

    • Refactored the ADS driver to support reading of complex types. (9f3cc6d)
    • Updated the ADS connect logic to be a bit more asynchronous (At least on an API level) (6fb1dea)
    • Implemented the automatic adding of AMS routes in Beckhoff PLCs (6e6507b)
  • plc4j/spi:

    • Added the missing “getObject” method to the PlcStruct (386189f)
    • Open too many files after complete (#351) (4b151e3) (#351)
    • Made it simpler to detect configuration problems (551868f)
    • fix issue when writing virtual float fields (6e56e49)
    • fixed asciibox breaking on CR/LF (6fe7535)
    • fixed write buffer json based (ada0abd)
    • implement unknown field (e882921)
    • implement reserved field (1f55c4e)
    • implement const field (4c1a1eb)
    • implement assert field (dd3cad5)
    • change string type representation to optional (c1912e0)
    • fixed write buffer json based (7be4b36)
    • implement unknown field (d109d44)
    • implement reserved field (9d0a0e4)
    • implement const field (0d697e3)
    • implement assert field (e99fbc2)
    • change string type representation to optional (58eeb0c)
  • plc4j/s7:

    • Fixed the PLC4X272 test and made it run automatically. (865d5ef)
    • Removed some silly code I addded to provoke errors. (4a771d3)
    • Fixed some issues in the freshly merged S7 PR (6ab7c40)
    • Fixed some issues in the freshly merged S7 PR (00a857a)
    • communication with LOGO 0AB7 and ISOonTCP tsap configuration (#308) (ece4af4) (#308)
  • protocols/bacnet:

    • Updated the URL for fetching the vendor ids (16c7d37)
  • build:

    • Disabled the dependency-check for now completely as there was a cascade of reporting false positives (5aaf204)
    • Got the build working on my Mac with M1 chip (5c0ab1e)
    • Tried making the Docker build successfully build plc4py (639c03a)
    • Bumped the version of the CVE checker plugin to hopefully fix issues during the build (e2ca19d)
    • Enabled the “enable-all-checks” profile on Jenkins (29f0dda)
    • Extended the prerequisite check to check for “poetry” when building with python. (c1ff8b9)
    • Removed my double poetry.lock rat exclusions again (5b837a1)
    • Added poetry.lock to the rat exclusions (92cfa9e)
    • Addressed a CVE in jackson as well as bumped the version of Netty to the latest version (49c9c48)
    • Actually ensured the cve scan and the language tests are executed on jenkins (3a11f39)
    • Moved the cve-scan to the jenkins profile (a5e3c90)
    • Streamlined the artifact names of the plc4j examples (f6b466a)
    • Set the compiler code-level to 1.8 in the entire plc4j part. (a263357)
    • Updated the maven-compiler-version to 3.10.0 (which was released today) as with the last update my build wasn't able to get 3.9.0 (e908b7c)
  • plc4j/opcua:

    • Made maven skip the dependency checker in the opc-ua module as it was ignoring all of my attempts to manage the CVEs (0ddad63)
    • More rebust MonitoredItem handling within subscription handle. (066c395)
  • plc4go/spi:

    • fix AwaitCompletion of RequestTransactionManager (10962f1)
    • fixed transaction await never ending (927baf3)
    • fixed minor issue with RequestTransaction (33fdbda)
    • disconnect message code on close (7c814cc)
    • fixed net command ip issues (e28f2de)
    • Fixed issues in the “Serialize” function of PLCValues and implemented the “GetRaw” for each of them. (d191a8e)
  • spi:

    • fixed transaction await never ending (de4d01e)
    • WriteBufferBoxBased should not switch out writer for sub (35c2e26)
    • remove beanutils (deb42b7)
  • plc4j/utils:

    • Added a check for libpcap and the version to the ArpUtils giving error messages if anything is missing. (1216bbc)
  • plc4j/opc-ua:

    • Added some exclusions to the depedency-check, as it was reporting two invalid CVEs (They were referring to an OPC-UA rust library) (07378bd)
  • asciibox:

    • ported the distortion bugfix from golang to java (b944ea1)
  • asciiBox:

    • fixed long outstanding bug which distorted boxes (24edb1e)
  • plc4xtools:

    • set shutdown flag early to avoid corrupted files (dde3b01)
  • plc4xpcapanalyzer:

    • remove ! in the middle of responses and return it as a “single” response (9a1fb1c)
    • fixed unnecessary replacing of payloads (4d379b1)
  • plc4xbrowser:

  • codegen/plc4go:

    • fix access to params (4336ebe)
    • fixed issue with unnecessary casting when using bitwise operators (514e03b)
    • guard values returned from manual fields against nil (905649e)
    • guard values returned from manual fields against nil (f956e15)
    • fixed issue when using parser argument childs (c11481f)
    • fixed issue when using vstring (50ec883)
    • fixed issue where failing enum read resulted in non error (7b590d1)
    • fixed build (9e22a44)
    • fixed issue when multiple wildcards are used (e282643)
    • enum by name should now tell if the name is unknown (0f55269)
    • fixed issue were cast was done before error check on typeswitch (cb93864)
    • fixed issue with nil type cast (150301c)
    • remove panic-ing serialize method from parent (c99352a)
    • fixed issue with complex type and length arrays (6b7628f)
    • fix broken code comments (aa0e848)
    • Fixed a problem using unary expressions in plc4go static calls (afbdbc2)
    • fix issue with broken optional fields (7df1184)
    • fix issue with broken optional fields (a3755c5)
  • docker:

  • general:

    • fix build (55807bb)
    • fix issues (43227e0)
    • fix build by switching to right test version (93a1cff)
    • fix build by switching to right test version (3e502b4)
    • Fix casting to byte for integer greater than 127 (byte is signed number and for string greater than 127 characters it result to NegativeIndexException) (#339) (6f5399e) (#339)
    • Don't make errors in the analysis fail the build, as these seem to occur randomly. (3ea3544)
    • Enabled the owasp dependency analyzer and fixed all reported CVE problems, that are not minor. (4a1e95c)
    • Bumped most dependencies and cleaned up dependency management throughout the project. (f2c0578)
    • Updated to the latest version of Apache Calcite (17ae381)
    • Updated to the latest version of Apache Kafka (b45ec67)
    • Updated to the latest version of Apache NiFi (9d0151c)
    • Fixed a potential exception if the serializer produces more bytes than the testsuite expects. (13fc3d0)
    • Updated mqtt client version (08ce994)
    • Updated list of knx manufacturers (332163e)
    • back ported the fix for a little error back to develop (45913fc)
    • bumped the version of log4j (7efe5f2)
    • Changed the log level for Go Disconnect messages to trace (9471ec7)
    • made the worker terminate gracefully. (6154562)
    • fixed the worker log. (e1c73a7)
    • Reduced the log-level of the “keep running” message to trace. (085d05a)
    • Made the knx-driver actively close the transport in case of the connection not being successful (49417d8)
    • Fixed a test to work with the new generated code (0fc7ff2)
    • bumped the version of log4j to the properly fixed one. (f00c9a2)
    • bumped the log4j version to a newer version (ad68503)
    • fix (knxnetip): Added the device-infos for replaced versions. (a1c2cdc)
    • Enabled the language tests again and fixed all the stuff that needed fixing after that. (7c7b078)
    • Updated profinet.mspec that correctly decodes the profinet connection response sent back from my device. (366a30d)
    • Made PLC4Go build again (a156df6)
    • Made PLC4C build again (b17c6b4)
    • Worked hard on getting the conditions for typeSwitches strongly typed. (WIP ... currently all Java modules work, C and Go still need some polishing) (b99a88a)
    • Changed typeSwitch to no longer use expressions as discriminators (Now variableLiterals are required) in const fields now no longer expressions can be used and instead only Literals can be used. (7e289bd)
    • Changed typeSwitch to no longer use expressions as discriminators (Now variableLiterals are required) in const fields now no longer expressions can be used and instead only Literals can be used. (a89e1bd)
    • Changed typeSwitch to no longer use expressions as discriminators (Now variableLiterals are required) in const fields now no longer expressions can be used and instead only Literals can be used. (a888473)
    • added support for typed expression handling in Java and added support for automatically adding “L” to uint expressions with 32 or more bits. (ea0127c)
    • set maven version to the previous lts to give plugins a bit time to catch up (2e7c543)
    • add float adjustment (20ea701)
    • Continued implementing the arguments in the parser fix: Set a byteOrder argument on every root-type in our mspec grammars (f2c17ff)
    • Some dusting off of the old simulator (3e9d11f)
    • fix build (457b2a6)
    • Continued implementing the arguments in the parser fix: Set a byteOrder argument on every root-type in our mspec grammars (611bed9)
    • Some dusting off of the old simulator (9e092a2)
    • fix build: replace strange call in c-generator (f902c74)
    • fix stackoverflow on type referencing each other (9470bbb)
    • set executable bits on sh script (939a4cd)
  • plc4go/s7:

    • fixed serialize of PlcStringField (01e6c6d)
    • fixed copy-paste error in s7 config options (#416) (daa2914) (#416)
  • plc4go/plc4xpcapanalyzer:

    • cbus-srchk only sets the checksum option towards the device (b184705)
    • fixed bug with payload replacement with equal length arrays (a20c3b2)
    • first version of extractor which can be used to visualize communication (useful for ascii protocol like serial ones) (67c97cd)
    • fixed log option and added parsing for missing types (f2c5674)
  • c-bus:

    • fixed cal/sal data chaining (e94abeb)
    • fixed more parsing issues (0b8d3cb)
    • add additional alpha for confirm (6cba01a)
    • fixed several issues parsing messages (5e4ac86)
    • fixed that alpha char handling on commands (3e2cd3c)
    • smaller refinements decoding the messages (62240fb)
    • fixed hex de- and encoding (512b6b0)
  • codgen/plc4go:

    • fixed wrong variable reference (d0df22b)
  • plc4c:

    • plc4x_server build issues (#404) (f8499cd) (#404)
    • fix support for aarch64 (981099d)
    • fix issues during codegen (5f195de)
    • fix ordering of const fields (6c446a1)
    • fix tracer for enums (c3e13b7)
    • include time.h so build won't fail on mac (cec2547)
  • protocol/eip:

    • Removed some single-quotes around the CIPStructTypeCode enum name (9b2ebd0)
  • bacnet:

    • fixed cov notification (9306d25)
    • ported fix regarding bit wise reading from plc4j (66bfff0)
    • fixed status of BACnetAccumulatorRecord (ea0f00d)
    • added unmapped enums to static helper (47c95bb)
    • added unmapped enums to static helper (6ffab0e)
    • fixed several outstanding issues... (85a9b48)
    • fixed memory overflow when receiving broken package (9f524b8)
    • several small fixes regarding length calculations with proprietary values on serialize (4cb82bd)
    • fix apdu unknown not consuming enough bits (1f7bed5)
    • Removed the “()” around the optional \r as this introduced a new capture group and this broke accessing them by index. (4214495)
    • Adjusted the produceTaggedPrivateEnums.groovy script to also work on windows systems. (3945014)
    • Addressed the parser errors as a first step of tracking down the build errors (1949a8e)
    • fix some open issues (6bf9513)
    • fixed production of vendor id (8d94b4c)
    • fixed several issues by adding validation to APDUConfirmedRequest and APDUComplexAck (1d943f3)
    • fixed several parsing errors (09192fe)
    • fixed several bugs (4bdd42a)
    • fix support for segmented requests (592c76d)
    • git commit didn't work properly again... (4ed746a)
    • fixed offset for service request (a2b6332)
    • fixed BACnetReadAccessProperty (97c28ee)
    • fixed length calculation for APDUComplexAck (a761949)
    • fixed string length calculation for helper (00417e4)
    • fixed boolean tag (368940d)
    • fixed opening/closing tag creation (aa14db7)
    • fixed opening/closing tag creation (67dcae9)
    • only supply proprietary value to objects if they are indeed proprietary (1947a2a)
    • fixed COV Notifications (4b02810)
    • use byte[] as base for enumerated for now (cf8ebfe)
    • several bugs fixed by enable testsuite in plc4go (63c6301)
    • fixed multiread (48b05ae)
    • fixed issue where context tags were too greedy (9304e11)
    • fixed atomic file reads (6db9132)
    • fixed BACnetConfirmedServiceRequestDeviceCommunicationControl and error codes (ce9aa60)
    • fix length calculations (f7d0770)
    • enable tag numbers > 14 (dc9b50e)
    • cleaned up and worked on COV (4d24d1c)
    • cleaned up some strange constructs (3cda25c)
    • partially fix build (4e8b274)
    • fixed typo in BACnetContextTag (8b856ea)
    • switch object type uint 10 to enum (2a6dc22)
    • fixed some issues in bacnet spec (3e966c8)
    • implement BACnetErrorPasswordFailure (457919b)
    • BACnetComplexTagPropertyIdentifier should now properly render a enum (15832cd)
    • implement BACnetUnconfirmedServiceRequestIAm (6563eb9)
    • substract encoding field from length (aa31014)
  • plc4go/codegen:

    • fixed argument handling of complex argument types (d9a1c5d)
    • fixed issue where enum dicriminators omited filed names (38b28dc)
    • removed broken code (72ee998)
    • Truly close connection (#338) (5cda65f) (#338)
    • DefaultPlcWriteRequest interface conversion, cause it not implement (#335) (cc013c6) (#335)
    • fixed issue were a discriminator field overshadows a virtual field (526bedf)
    • work on time support (0c3f74e)
    • work on time support (e91f634)
    • fixed checksum fields (67cc89c)
    • treat EOF als optional reset (908bfc7)
    • fixed broken tracer (1bcd9d5)
    • fix build (deb4a19)
    • avoid opening contexts for manual fields (7d9f7b7)
    • wrap arrays to avoid collisions (20fd472)
  • plc4cs:

  • plc4net:

    • Changed the KnxDatatypes to use BitStrings for BYTE, WORD, DWORD and LWORD (06a9b34)
  • plc4go/tools:

    • minor fixes on plc4xpcapanalyzer (fd38251)
  • opcua:

    • Fixed a few issues with the OPCUA Encryption (4951281)
  • codegen/go:

    • Undid some of my changes and fixed the tests differently. (542197b)
    • Moved the StaticHelper.go to the new position and adjusted the pom to copy stuff from new locations to new locations (6551982)
    • Made manual fields not get explicitly cast (ea6cf34)
    • Adjusted the packages of the ParserHelper and XmlParserHelper to the new structure (dbaaccb)
  • codegen/plcj4:

    • fixed missing break statement for unknown fields (e9d6c9d)
  • plc4j/opcua-server:

    • Moved pinned jaxb-runtime from parent to nifi processor. It isn't needed and causes issue with the milo stack (54c90db)
  • plc4go/bacnet:

  • plc4j/scraper:

    • Handle broken connections when an exception occurs when calling getConnection() (ec16e74)
  • plc4j/kafka:

    • revert change (5418f8e)
    • Class Loader not finding transports correctly (f68d980)
  • plc4j/bacnet:

    • only dump packages when flag is set to true (9278ac7)
    • Replaced the code for detecting libpcap with the annotation-based approach. (d2bb8e4)
    • adjust artifact id (c9a5bd5)
    • re-enabled protocol logic (9b6f7f2)
    • disable RandomPackagesTest.java (8edf938)
    • only run on systems with installed pcap (a3843b4)
  • codegen:

    • optional fields respect condition now on write (dd3b0cf)
    • switch to lookup properties in parents too (9c15f0d)
    • Ensured the codegen works when referencing subtypes (f64f02c)
    • Enabled the virtual field tests and fixed a related bug in plc4go (d573c0d)
    • Enabled the virtual field tests and fixed a related bug in plc4go (a5f8e6a)
    • Added more testcases for the new field types and added support for them in Java, C and Go (831db3e)
    • implement missing method for virtual fields (7c963a0)
    • Worked on implementing checksum fields (845953f)
    • fix issue with double scheduling by removing unused code (080a248)
    • fix lookup for variable literals by considering builtins (278598f)
    • fix lookup for variable literals by considering all fields (f18ae5c)
    • include arguments by variable context lookup (81fcbbb)
    • small typo fix (d93719a)
    • fix partial type references on variable literals (91daf10)
    • fixed remaining issues (8b58275)
    • fixed problem with complex arguments (e4be2ce)
    • fixed typo in plc4go (ddcd8a8)
    • fixed typo in plc4go (95c0d30)
    • fixed remaining helper calls (b8c1881)
    • fixed some issues in plc4c (5c89ba2)
    • fixed some issues in plc4c (27feac1)
    • fixed some complex references (d5e3848)
    • fixed small issues (d1ce919)
    • replace getComplexTypeReferences() with getNonSimpleTypeReferences() (ffc9279)
    • fixed issue with dataio in plc4cs (8de2719)
    • fixed issue with dataio in plc4j (82af78d)
    • fixed issue with dataio in plc4j (4f275db)
    • fixed issue with array in plc4j (0f2903b)
    • fixed issue with manual arrays (c84266a)
    • fixed small issues with c generation (1ddd589)
    • fixed usage of deprecated utils (e01cce8)
    • fixed data-io c (c874d78)
    • fixed issues with wrong type handling (eaa18a6)
    • fixed issues with wrong type handling (7eb4c99)
    • fixed issues with wrong type handling (aa61ce2)
    • fixed some issues in go codegen (31db05d)
    • remove temporary fix (b435e82)
    • temporary fix for duplicated parser args on dataio definition (5b01ba0)
    • fix order (00570ea)
    • put DataIo below ComplexType (2443aed)
    • fixed small issue in go tempate (9afb345)
    • fixed parent access issues (b8c0c7b)
    • fixed issue in CLanguageTemplateHelper (da3889f)
    • fix issue where we forgot to set the type definition (080fe95)
    • small improvements (d3a7113)
    • fixed some complex usages (cb2db75)
    • fixed some complex usages (498413b)
    • fixed some optional usages (dc49339)
    • fixed some issues with parent types (080640d)
    • fixed some places where Optional was ignored (16b58b4)
    • fixed problem with concurrent modification (f352cbf)
    • use bitlengths for manual fields (ae1d27a)
    • fixed issues writing float and double (42c494b)
    • assert field now should also map ArrayIndexOutOfBoundsException to a ParseAssertException (30a2cb2)
    • fix several small issues (d3d22f1)
    • fix several small issues (92e29da)
  • kafka:

    • Update Kafka Connector to use the PooledDriverManager (8af6661)
  • plc4j/codegen:

    • make writers for complex and enum null safe (6b6a8fd)
    • fixed issue were virtual fields weren't properly generated (75a57c0)
    • fixed typo in write data time (2f587a7)
    • fix issue with duplicated params (3e6de53)
    • fix overflow issues on byte[] (43baaed)
    • fix build (c9d4dd4)
    • fix extension (9179cf1)
    • treat 0xff als valid value constant for byte (5e6cc92)
    • mark more methods as deprecated (8d06fd7)
    • fix issue when bitlength is < 3 (85e65e2)
    • port ascii boxes from golang (61c487c)
    • fix issue where unboxing didn't work properly (5858893)
    • wrap manual fields with a context... (28b5bd4)
    • remove old codegen (681517e)
    • wrap manual fields with a context... (14b7737)
    • remove old codegen (7509183)
  • knx:

    • Fixed a second decoding bug in the 16bit floating point numbers of KNX (0f2533c)
    • Added the bug to the RELEASE_NOTES (f23cd21)
    • Fixed a problem in the mspec-generation which caused problems in decoding mainly floating-point values (375bff2)
  • bacnet/plc4go:

    • use platform types to create integers (82cbcfe)
    • fix static_helper proprietary write (1bf5884)
  • plc4py:

    • added PlcDriver and moved Mock Driver to plugin (ce60af0) (#358)
    • change from using poetry to setuptools (07a3903) (#355)
    • Update the PlcRequest code (1fb2d85) (#348)
    • Add a compile phase to install python dependencies (ed5047e)
  • plc4j/nifi:

    • Bumped the NiFi version to a version that is not vulnerable to CVE-2022-26850 (8b3ef69)
  • codegen/plc4c:

    • Fixed a wrong include statement (1cc51e3)
    • Fixed a wrong include statement (ebe3bfc)
    • Fixed a wrong include statement (29d8011)
  • protocol/test:

    • Changed the checksum fields to actually call checksum functions (18ea08e)
  • plc4j/driver/modbus:

    • Renamed some internal variables (previous copy-paste error) (5352166)
  • plc4/integration/calcite:

    • Managed the kotlin version up to 1.6.10 to work around CVE-2022-24329 (cb46fe2)
  • plc4go/c-bus:

    • used virtual field as discriminator (e097816)
  • protocols/c-bus:

  • codegen/plc4x:

    • fixed cases where byte and short didn't work for discriminators (fcd6c8d)
  • cbus/plc4j:

  • codgen:

    • lower log output by setting some errors on debug for now (0cd6560)
  • bacnet/plc4j:

    • enable uint64 support for virtual fields (f4901fa)
  • codegen/plc4j:

    • fix cast exception relating BitInteger (37eab1c)
    • hotfix for missing BitInteger support (54ec98f)
    • try to fix big integer conversion issues (e492df7)
  • plc4j/knx:

    • Fixed code where plc4j code was not Java 8 compatible (7707680)
  • plc4j/test-utils:

    • Made the ManualTest a bit more robust against cardinality-errors. (72a7da2)
  • protocols/modbus:

    • PLC4X-335: Using single-byte modbus types resulted in unexpected behaviour (a8ecff1)
    • PLC4X-335: Using single-byte modbus types resulted in unexpected behaviour (55044d6)
  • docs:

    • Updated the pcap docs for when setting up a developer env (#318) (d7c8599) (#318)
  • plc4j/example:

    • Changed the log level back to info so the application actually outputs something. (434c2b4)
  • plc4j/testing:

    • Fixed a bug not correctly detecting the libpcap version on Windows. (4ee0ca5)
  • plc4c/codgen:

    • fixed test utils (321da0b)
    • fix const values go missing due to equals now implemented (0485dbb)
    • fix enum handling of bool on aarch64 (f689a03)
  • plc4j/canopen:

    • Fixed a bug introduced by my recent refactoring (5b81e70)
  • plc4j/simulated:

    • Fixed the way the simulated driver outputs values on “STDOUT” (39edc4d)
  • plc4j/connection-cache:

    • Implemented Writing for the connection cache (3f92555)
  • plc4go/codgen:

    • added missing validation field (5aa4e72)
    • sync code (15524ae)
    • fixed issue with broken arrays (3aef587)
    • fix optional fields not emitting contexts (4addf5e)
    • update xml and json in s7 iotest (740ecbc)
    • migrate eip suite (e8a4de5)
    • migrate eip suite (6b8c26d)
    • migrate eip suite (d8720e6)
    • fixed array and string problems (342f3b2)
    • fix merge messup (f7df8d1)
    • progress on golang codegen (1c98edf)
    • fixed some issues in GoLanguageTemplateHelper (950b5c5)
    • fix optional fields not emitting contexts (9b31501)
    • update xml and json in s7 iotest (0b8b738)
    • migrate eip suite (b85fa34)
    • migrate eip suite (8edfa90)
    • migrate eip suite (30865e2)
    • fixed array and string problems (f919215)
    • fix merge messup (743a7b2)
    • progress on golang codegen (0c47784)
    • fixed some issues in GoLanguageTemplateHelper (c7fe9db)
  • plc4j/codgen:

    • write encoding of strings fixed (e7dcb11)
    • fixed json (9dd393c)
    • fixed assert field (19e898f)
    • fixed assert field (51fadd5)
    • avoid duplicating params (9bda71f)
    • fix bacnet spec (3e3d3da)
    • fix build (0e0fcb3)
    • fixed issue with missing type reference params (d559bfe)
    • fixed issue with missing type reference params (1329013)
    • refined error message (059ded7)
    • added error when auto-migrate won't work (d098ed2)
    • fix edge case with broken patterns. (012e319)
    • fixed s7 io test (736c0fe)
    • fixed data reader complex working with a empty logical name (9bfbdfe)
    • enum wip (f02af0a)
    • implement array type reading with new readern (1e819e6)
    • migrate the protocols (5ade100)
    • move to type ref args (cad0de6)
    • add byte order to read/writer, add enum example fixed (d8b45c3)
    • add byte order to read/writer, add enum example (c492327)
    • draft a const call adjustments (92c8551)
    • draft a const call (ee1a6d2)
    • fixed json (f124291)
    • fixed assert field (4a5f261)
    • fixed assert field (0be34a6)
    • avoid duplicating params (194cff3)
    • fix bacnet spec (8a16e46)
    • fix build (b3ad562)
    • fixed issue with missing type reference params (4a28fc0)
    • fixed issue with missing type reference params (121fc78)
    • refined error message (8f06618)
    • added error when auto-migrate won't work (65bc019)
    • fix edge case with broken patterns. (9d2956d)
    • fixed s7 io test (e786ae2)
    • fixed data reader complex working with a empty logical name (2ebc8a6)
    • enum wip (5753d78)
    • implement array type reading with new readern (90e40fd)
    • migrate the protocols (a17dda1)
    • move to type ref args (3e1e1a4)
    • add byte order to read/writer, add enum example fixed (a8d835e)
    • add byte order to read/writer, add enum example (5f268d3)
    • draft a const call adjustments (72852a0)
    • draft a const call (d9701e5)
  • plc4j/writeBufferByteBase:

    • only return data till pos (12a5c19)
  • plc4j/xmlWriter:

    • don't print invalid xml chars (2c75a95)
  • plc4go/connection-pool:

    • Tried hardening a flaky test (3d5f184)
    • Tried hardening a flaky test (01bb30a)
  • plc4j/asciibox:

    • don't count control sequences (bd66ca0)
  • ci:

    • fix prerequisite check for windows and linux (45756a4)
    • add prerequisite check for libpcap (202fb9c)
    • add prerequisite check for libpcap (1ebba46)
    • use libpcap from brew on mac as the builtin seems buggy (769ef25)
    • use libpcap from brew on mac as the builtin seems buggy (c8a4509)
    • fix build for platform specifics (685ca27)
    • cache maven .m2 for actions to speed up builds (ff3176e)
    • fix windows build (c56e8bb)
    • fix build (synchronize actions and Jenkinsfile) (754f9f1)
    • remove java 8 from platform ensurance (98ce262)
    • remove unused profiles again (f66faf2)
    • fix build for java 17 (f4c2ccf)
    • fix build for java 17 (use version ranges) (ace1c30)
    • fix build for java 17 (64a8ffa)
    • don't fail fast on platform builds. (adaabd1)
    • enable matrix build for windows (f82697c)
    • set executable bit on mvnw (e005e6e)
    • use correct mvnw call for matrix build (565fe63)
  • plc4j/netty:

    • fix NPE on failed connection (6b26af6)
    • fix NPE introduced with ec3ff0cdfda097d3ae6e9f15f041e4c5e9c05815 (42e0622)
  • ci/codegen:

    • set streamLogsOnFailures to true (5920d67)
  • .mvn:

    • upgrading mvn wrapper to 3.6.3 (previous LTS version) (d1c7c2f)
  • codegen/knx:

    • new manufacturer Can'nX breaks mspec codegen (9e3693c)
  • plc4go/knx:

    • fieldHandler nil issue fixed. (804520d)
  • ci/ensure-platforms:

    • enable batch mode for mwnv (c589ed4)
  • plc4x/codegen:

    • fix failing build (64108c0)
    • add tickles id expressions to mspec (f9d737e)
    • add missing separator call (877f1f1)
    • add possibility to extract traces (ac6841f)
    • fix failing build (3bed94d)
    • add tickles id expressions to mspec (1e1932c)
    • add missing separator call (233c1da)
    • add possibility to extract traces (2e7a347)
    • added a Tracer to enrich generated code with traces (57cfe3b)
  • plc4go/json:

    • fixed wrong string on empty byte arrays (6ca28c9)
    • fixed wrong string on empty byte arrays (d0817fc)
  • plc4go/xml:

    • fixed wrong string on empty byte arrays (d4d62fb)
    • fixed wrong string on empty byte arrays (785ba4e)
  • plc4x/eip:

  • plc4go/test:

  • java/codegen:

  • pl4go/codegen:

    • fixed broken inline if (adding neccessary function) (addon for e030d688) (22ba15b)
    • fixed broken inline if (e030d68)
  • plc4x:

Documentation

  • plc4j/ads:
    • Updated the statemachine for ADS (c0e73c9)
    • Added a comment about stuff I learned recently. (4663ff9)

Refactor

  • plc4j/ads:

    • Continued testing the new ADS drivers Write abilities. (f03243a)
  • plc-values:

    • Refactored all usages of BitString to use BYTE, WORD, DWORD or LWORD instead. (4ee794e)
  • codegen:

    • Refactored all usages of BitString to use BYTE, WORD, DWORD or LWORD instead. (7e509a6)
    • Updated how CHAR, WCHAR, STRING and WSTRING fields are handled. (fe1a2b1)
    • Updated how CHAR, WCHAR, STRING and WSTRING fields are handled. (3d79f3d)
    • move WildcardTerm to build-tools (df6aef1)
    • move WildcardTerm to build-tools (bd6f3d7)
    • change index on variable literal to make use of optional (99c274a)
    • removed inverted throwable logic (09415e0)
    • delay resolving of type reference (485dcf8)
    • added TODO: about wrongly dispatched type reference (e9aa564)
    • improve error message (d99e1e3)
    • cleanup type definitions (9ac5c0c)
    • moved default types to mspec base (6ec6837)
    • cleanup helper and move more functions to their owners (51f216f)
    • fix a bunch of deprecation warnings (69d82df)
    • add more tracing calls to CLanguageTemplateHelper (cc0d864)
    • cleanup *TemplateHelperCode (effb1c1)
  • plc4go/cbus:

    • added cleanups and logging (04ff774)
    • use fireConnectionError on message codec fail (ed401b8)
    • improved debug output (80ba5d0)
    • move MMI handling to subscription handling (6bd288c)
    • put connect parts into methods added todo about power up (633794d)
    • put connect parts into methods added todo about power up (2f58834)
  • plc4go/connection-cache:

    • small cleanups (cee041b)
    • cleanup (24e8bf9)
    • Added log statements to the connection-cache (8e1ab62)
    • Renamed the connection-pool to connection-cache and added a Close function to the cache for gracefully closing all connections it manages. (4760b5e)
  • plc4go:

    • remove unneeded methods (7ac5ab6)
    • align subscription implementation to plc4j (19f6600)
    • renamed mashed up NewBoxedWriteBufferWithOptions (0f32971)
    • streamlined plc_browse api (e0cc944)
    • added a IsAPlcMessage() bool method to plc_message (65adaaa)
    • introduced DefaultBufferedTransportInstance to consolidate common code (4479cb0)
    • reworked the GetNumReadableBytes (a5fb77a)
    • restructured package (+moved protocols to a public importable place) (adc23d2)
    • fix QA issues (49a43db)
    • add accessors for property and virtual fields (33e07bd)
  • spi:

    • optimize RequestTransactionManager (49809c5)
  • cbus:

    • small adjustments on reset and optional alpha on direct command (cbce5d2)
    • followup on improved message output (d3f7132)
    • add virtual fields for hex encoded fields (3626805)
    • removed unneeded types (6e5abeb)
    • streamline network routing (b93e7bf)
    • calculate the remaining bytes instead of supplying them via argument (37a6f63)
    • split up applications in sub mspecs (b7fb2d6)
    • small cleanups and added a test for an unknown command (3d6fbd0)
    • get rid of CALDataOrSetParameter (0304928)
    • SALData is more than Lightning so the other types received a dummy implementation (9ae9f29)
  • plc4xbrowser:

    • put ui parts into a ui package (e8ab0a7)
    • split up main into ui and actions (8b9da2a)
    • reworked the REPL command system (6858376)
  • codegen/plc4go:

    • remove unnecessary cast on - operator (7291746)
    • remove unnecessary cast on () operator (2239dba)
    • switched enum back to value with a log statement as an error break more for now... (c684d6c)
    • if an enum is unknown return a ParseAssertError instead of a generic error (2ba1332)
    • reworked enum parsing to include a flag if it is a unknown enum (2f17300)
    • initialize parent with parameter (b84e75e)
    • avoid duplicating arguments as fields when present in parent (67a1f6f)
    • set parser argument field in child which shadows parent (3fc44f9)
    • set arrays to nil if the result in an empty one (3f0ae43)
    • ${type.name}Exactly interface extends now the type interfaces for ease of use (5b372b0)
    • introduced a ${type.name}Exactly interface for exact type matches (58f08fc)
    • moved getLength methods in own interfaces and inherit Serialize from Serializable (73baa76)
    • major refactoring how types are handled in plc4go (e7fb792)
  • plc4j/spi:

    • small optimization using the right datatype (3a131f2)
    • minor cleanup (5aca709)
    • use woodstox as stax (4404a90)
  • plc4go/s7:

  • plc4j/codegen:

    • moved logging from generated enums to DataReaderEnumDefault (9b0eb6e)
    • remove unused generic qualifier (5d082a5)
    • remove IO classes (be88a5e)
    • move parser to model classes (b08eb50)
    • cleanup field reader/writer (93af95a)
  • bacnet:

    • DRY removed owner names from type switched (31b5c38)
    • fix who-has (a746de1)
    • rename BACnetConstructedDataSecurityPduTimeout to BACnetConstructedDataSecurityPDUTimeout (e611fd1)
    • relax useage of BACnetPriorityArray (0d1ace4)
    • switch BACnetTagPayloadOctetString to byte[] (12a3a23)
    • externalized opening and closing tag (080e2b9)
    • major rework the way enums are handled (d0255f4)
    • moved duplicate implementations into payload (ffd996b)
    • moved catch all data block into BACnetConstructedDataUnspecified (bddf87d)
    • removed unused virtual field (a488906)
    • move bac net header parsing to a common BACnetTagHeader type (f6b5502)
    • small optimizations (bd71859)
    • small improvements (deb58b3)
    • re-arrange some value (e5aef05)
  • plc4go/bacnet:

    • refined logging for Discoverer (e016585)
  • plc4go/spi:

    • use spi.Message instead of interface{} to clean up intention (bed9aa6)
    • Added a GetString implementation for RawPlcValue types (835136a)
  • ab-eth:

    • don't use len as field name (d45cbf3)
  • eip:

    • don't use len as field name (b2b8feb)
  • protocols/knx:

    • Changed the KnxDatatypes to use BitStrings for BYTE, WORD, DWORD and LWORD (57d5c1e)
  • plc4go/codegen:

    • flipped new functions of child to return the actual child (2b61308)
    • flipped parse functions of child to return the actual child (ca65d6c)
    • add GetParent() retriever method (1a234ed)
    • optimized code sections (9d38eaf)
    • removed superfluous methods (e413f26)
    • added string rendering error handling (36942cf)
    • simplified cast function (fd8c81c)
    • add parent interface to child interface (42b529f)
    • fixed virtual field implementation (e02e64d)
  • general:

    • slightly adjust kotlin example (fix) (394d759)
    • slightly adjust kotlin example (2d3fd7c)
    • Changed the artifact-id of the test-generator (77408e6)
    • refactoring(plc4j): split up the raw socket transport into a “raw” and “raw-passive” transport, where the raw-passive is equivalent to the previous raw transport. (27442e6)
    • refactoring: Moved the plc4net module outside of the sandbox (e8f89cb)
    • refactoring: Updated the plc4net branch to the latest changes on develop. new feature: Now the DataIo generation is almost finished. (2775ec9)
    • refactoring(documentation): Started updating the mspec documentation (1a0e3e9)
    • refactor (documentation): Started updating the code-generation documentation. (ec3fc42)
  • test-utils:

    • Made the ParserSerializerTestsuiteRunner play a bit more nicely with not fully implemented tests. (f170c59)
  • code-generation:

    • Changed the implementation of getSizeInBytes to be a bit more correct. (2ce32ef)
    • Finished migrating the code to using the static getSizeInBits method of DataIo types (447ef68)
    • Made the code generation work with DataIo types referenced from normal model types. (68a9627)
    • Made the code generation work with DataIo types referenced from normal model types. (9ef24e1)
  • plc4j/profinet:

    • Refactored the profinet discovery to the latest changes in the protocol spec and added some more features. (ae9bb4a)
    • Disabled the parser serializer test for now (as it's not yet supposed to work) (083dce1)
  • profinet:

    • Continued refactoring the PNIO Messages (c3b1c0c)
  • plc4x-protocol:

    • Added a length field to the plc4x protocol messages (d871063)
  • plc4c:

    • Changed the size calculation of manual fields from bytes to bits (2057eb8)
  • plc4j:

    • Changed the code-generation to generate the dataIo types into the same directory as the other types and removed the “IO” suffix to match the rest. (af79344)
  • plc4go/drivers:

    • Made all driver's Connections implement the spi.PlcConnection interface (so we can use them in the connection pool). (20be7b2)
  • plc4j/writeBufferByteBase:

    • deprecate getData() method (b753e27)
  • plc4j/codgen:

    • cleanup list handling/revert list entries to anonymous logical name (a2b36a4)
    • small cleanups (e1266ae)
    • cleanup list handling/revert list entries to anonymous logical name (02e102c)
    • small cleanups (ad6fe78)
  • code-gen:

rel/0.9 - 2021-09-17 09:25:12

What's Changed

New Contributors

Full Changelog: https://github.com/apache/plc4x/compare/rel/0.8...rel/0.9

Bug Fixes

  • general:
    • Updated junit.platform.version to match the updated jupiter version (d767dc9)
    • PLC4X-312 - CAN NOT READ STRING FROM S7 PLC (0e57493) (#264)
    • fixing timer leaks (#267) (d059709) (#267)
    • fix build: (24e739e)
    • fix build: (2ab5472)
    • fixed memory leaks on read and write. added a callback to clear io request (like we had for responces) renamed request destoy function to be in style with destory execution and responce added lots of small delelte functions into s7_packets big refactor of sm_read and sm_write no leaks on IO now I think (20ac37a) (#244)
    • fix build (557122b)
    • Update the itemCount variable form uint 8 to uint 16 (ef83443)
    • Commented out the call to “install” which I incorrectly commented out fix: Cleaned up in the pom structures (868ef40)
    • reverted ComplexTypeDefinition change on tmeplate (568a8fc) (#240)
    • Made the NiFi modules use the PooledDriverManager more correctly. (036a157)
    • fix for 32bit int writes, now works too (c02a2d3) (#233)
    • fix to offsetting of var paload and some exra fetures on loopback tests (6d9c705) (#233)
    • fix download link 0.7 (fd4a8e4)
    • fix logback dependency (7cbd42b) (#217)

rel/0.8 - 2021-01-25 11:31:05

What's Changed

New Contributors

Full Changelog: https://github.com/apache/plc4x/compare/rel/0.7...rel/0.8

rel/0.7 - 2020-05-15 10:51:06

What's Changed

New Contributors

Full Changelog: https://github.com/apache/plc4x/compare/rel/0.5...rel/0.7

rel/0.6 - 2020-01-13 14:49:38

What's Changed

New Contributors

Full Changelog: https://github.com/apache/plc4x/compare/rel/0.5...rel/0.6

Bug Fixes

  • general:
    • fixed Release Notes (dd74b34)
    • fixed retrieval of lists (dab9308)
    • fixed wrong equal check for discriminator in ads spec (a6e4880)
    • fixed wrong expression in ams mspec (2921627)
    • fixed missing sandbox ams code (408054c)
    • fix build (a7ca2bb)
    • fixed generation for big integer (0ee09fa) (#107)

Refactor

  • general:
    • refactored ads mspec to use proper names (329b639)

rel/0.5 - 2019-10-21 15:00:13

What's Changed

New Contributors

Full Changelog: https://github.com/apache/plc4x/compare/rel/0.4...rel/0.5

Bug Fixes

  • general:
    • fixed plugin build (bf4ca89)
    • fix bug in opc ua driver response handling when fields are not found (da0b74e) (#75)
    • fixed a typo on the plc4py/README.md (efec1a9) (#74)

rel/0.4 - 2019-05-20 21:09:32

What's Changed

New Contributors

Full Changelog: https://github.com/apache/plc4x/compare/rel/0.3...rel/0.4

Bug Fixes

rel/0.3 - 2019-01-16 15:32:56

What's Changed

New Contributors

Full Changelog: https://github.com/apache/plc4x/compare/rel/0.2...rel/0.3

rel/0.2 - 2018-11-14 15:20:37

What's Changed

Full Changelog: https://github.com/apache/plc4x/compare/rel/0.1...rel/0.2

Bug Fixes

  • general:

rel/0.1 - 2018-09-17 16:31:32

What's Changed

New Contributors

Full Changelog: https://github.com/apache/plc4x/commits/rel/0.1

Bug Fixes

  • general:
    • fixed compare to messup in AdsPlcFieldHandler (4bd85c7)
    • fixed issues with site generation (2587167)
    • fixed ethernetip field handler (cb27228)
    • fixed missing methods for BigInteger Support (5c3a127)
    • fixed remaining tests in ADS. Still needs a lot of refactoring and todo tests (16fc039)
    • fix some issues with generics and build (ba34efd)
    • fix a few typos (ec261d5) (#12)
    • fixed some sonar bugs (7a38a36)
    • fixed some sonar bugs (4f38a3f)
    • fixed double implementation in S7 (810d649)
    • fixed upper bounds for registers. (dbc6812)
    • fixed documentation of test class javadoc (9efd47c)
    • fixed calender tests and simplified assertions while at it (6adebdf)
    • fixed build problems (036e394)
    • fixed produce coil value method. Added a basic test (cdddd19)
    • fixed small typo (4fe91d0)
    • fix build (e2e735e)
    • fix build (948bbba)
    • fix dependency problems (0db64c8)
    • fixed small warning (ffc1680)
    • fixed serial driver regex to match the serial port the right way (151a20f)
    • fix remaining sonar bug (de97867)
    • fixed some bugs while working on coverage (8b8a938)
    • fixed sonar warning about not serializable fields (96eaca6)
    • fixed some sonar bugs (equals, hashcode, serializable) (864bd96)
    • fixed build (89c034c)
    • fixed tests (b0fad96)
    • fixed device name handling (20090bb)
    • fixed wrong padding of strings. (4b7fc7e)
    • fixed failing test on travis (976464d)
    • fixed wrong log category (db58135)
    • fixed wrong constant for calendar (238a2b0)
    • fix build (bca6a0e)
    • fixed bug where we remove a mapping too early (4f1b37c)
    • fixed sonar bugs (4aa6e87)
    • fix build (da40d74)
    • fixed handling of variable response lengths. (010c5cb)
    • fix failing tests due to fix (b0a0abd)
    • fix failing build by adding netty-common dependency (b5795a7)
    • fixed inverted ads pipeline (d4868e2)
    • fixed remaining Tests after refactoring (3c0c4c9)
    • fixed DigestUtil under the assumption the crc16 is LittleEndian (df13820)
    • fix DigestUtil by using unsigned int conversion (1ba0e8b)
    • fixed crc left-overs (9a2c27e)
    • fixed Benchmark (f79137e)
    • fixed digest calculation due to short overflow (933adbe)
    • fixed broken benchmark code (a994a4e)
    • fix build (39fb481)
    • fix build (13932e9)
    • fixed renaming messup (ab1a277)
    • fix leftover from refactoring (1a3cfe6)
    • fix speling (bd61054)
    • fixed remaining float todo. (bd1c69f)
    • fix sonarqube warnings (e88e8d3)
    • fixed problem with missing variable (8360582)
    • fixed missing MAX_VALUE support (183b51d)
    • fixed build as the toString() from Device.java would include non printable chars into <testcase name= in surefire plugin. This could be a bug with surefire because it should escape non-printable chars here too (might be the problem of junit4-parameterized too). (0a4ed92)
    • fixed a bunch of sonar warnings. (976d15f)
    • fixed typo paket -> packet (4e904ba)
    • fixed test by letting the TcpHexDumper perform a gentle shutdown (e01a7b5)
    • fixed state mask and simplified generated requests. (2cd0c2c)
    • fix build (b4f5570)
    • fixed usage of wrong Type (f609240)
    • fixed remaining implementations and added tests for it (8e0e8e6)
    • fixed failing build (7805d0c)
    • fixed ReadLength implementation (d0e3445)
    • fixed wrong implementation of Length (46fa650)
    • fixed wrong implementation of AMSPort (5d3ecb8)
    • fixed wrong masking of integer as we masked to much (013421c)
    • fix logging so no side effects (1c831ad)
    • fix logging so no side effects (716ac61)
    • fix logging so no side effects (c6c50b1)
    • fix missing coverage by switching to junit5 and make test compatible (38e344e)
    • fixed wrong default reporting path as this variable already contains target (e596961)
    • fix wrong scope. Meant to be optional true (b8c0b06)
    • fixed timing issues on get responseItem by signaling after item has been set not before. (5886538)
    • fixed edgent test (3ce27ea)
    • fixed test by cleaning up the generics. (675a108)
    • fixed one more builder bug (b86dc42)
    • fixed firstType builder bug; added getValue to bulk; added getValue tests (b3869eb)
    • fix tests (80fa0ae)
    • fix up switch and endless loops (ff882df)
    • fix build by adding missing apache headers (ce7eaee)
    • fix version and add tests and coverage (6b64873)
    • fix failing test (ad6bf6f)
    • fixed site generation (d0254d0)
    • fixed failing build due to missing documentation. (a1b365b)
    • fix pom for plx4x -> plc4x rename (b1a2a92)

Refactor

  • general:
    • refactoring (28a70be)
    • refactored common used test code into driver-bases-test (234c121)
    • refactored protocol tests (bf6bac3)
    • refactor to make simplier (a0a4ef6)
    • refactored common code (444e16a)
    • refactor to reduce complexity (d88234a)
    • refactored much common code to a abstract class (9f6fc95)
    • refactored common code of request and responses into abstract classes (af2ca39)
    • refactor to reduce complexity and fix endless loops (04245aa)
    • refactor and clean up switches (641c99f)

* This CHANGELOG was automatically generated by auto-generate-changelog