From ae415ad0ae128f661b2d4ea1a674a38bc21d769c Mon Sep 17 00:00:00 2001 From: jan iversen Date: Thu, 27 Jun 2024 11:58:25 +0200 Subject: [PATCH] Merge v3.6.9 back to dev. (#2226) * add _legacy_decoder to message rtu (#2119) * Add generate_ssl() to TLS client as helper. (#2120) * ASCII framer using message decode() (#2128) * SOCKET/TLS framer using message decode(). (#2129) * Fix decode for wrong mdap len. * Streamline message class. (#2133) * modbus_server: call execute in a way that those can be either coroutines or normal methods (#2139) * Clean datastore setValues. (#2145) * fixed kwargs not being expanded for actions on bit registers, adjusted tests to catch this issue (#2161) * datastore: add async_setValues/getValues methods (#2165) Co-authored-by: Ilkka Ollakka * Request/Response: change execute to be async method (#2142) * Bump actions CI. (#2166) * Fix usage of AsyncModbusTcpClient in client docs page (#2169) * Sphinx: do not turn warnings into errors. * Add minimal devcontainer. (#2172) * Transaction id overrun. * call async datastore from modbus server (#2144) * Datastore will not return ExceptionResponse. (#2175) * Describe zero_mode in ModbusSlaveContext.__init__ (#2187) * Solve pylint error. * Show error if example is run without support files. (#2189) * Fix usage file names (#2194) * Update client.rst (#2199) * Transaction_id for serial == 0. (#2208) * Remember to remove serial writer. (#2209) * Fix writing to serial (rs485) on windows os. (#2191) Co-authored-by: jan iversen * test convert registers with 1234.... (#2217) * Solve serial unrequested frame. (#2219) * Log comm retries. (#2220) * prepare v3.6.9. * pylint. * Remove python 3.8 from CI. --------- Co-authored-by: Ilkka Ollakka <14361597+ilkka-ollakka@users.noreply.github.com> Co-authored-by: sumguytho <48988983+sumguytho@users.noreply.github.com> Co-authored-by: Ilkka Ollakka Co-authored-by: Yohrog <69543220+Yohrog@users.noreply.github.com> Co-authored-by: James Cameron <90580716+jcameron-sso@users.noreply.github.com> Co-authored-by: Qi Li <160646648+qili-eaton@users.noreply.github.com> Co-authored-by: andrew-harness <75149647+andrew-harness@users.noreply.github.com> --- AUTHORS.rst | 5 +++ CHANGELOG.rst | 34 +++++++++++++++++++ README.rst | 2 +- pymodbus/__init__.py | 2 +- pymodbus/transaction.py | 2 +- ...c_multidrop.py => server_multidrop_tbd.py} | 0 test/test_file_message.py | 3 +- v3.6.9..dev | 20 +++++++++++ 8 files changed, 63 insertions(+), 5 deletions(-) rename test/framers/{test_tbc_multidrop.py => server_multidrop_tbd.py} (100%) create mode 100644 v3.6.9..dev diff --git a/AUTHORS.rst b/AUTHORS.rst index 713a481dc..6d015f1e9 100644 --- a/AUTHORS.rst +++ b/AUTHORS.rst @@ -18,6 +18,7 @@ Thanks to - Alois Hockenschlohe - Arjan - André Srinivasan +- andrew-harness - banana-sun - Blaise Thompson - CapraTheBest @@ -43,6 +44,7 @@ Thanks to - Jakob Ruhe - Jakob Schlyter - James Braza +- James Cameron - James Hilliard - jan iversen - Jerome Velociter @@ -63,13 +65,16 @@ Thanks to - Pavel Kostromitinov - peufeu2 - Philip Couling +- Qi Li - Sebastian Machuca - Sefa Keleş - Steffen Beyer +- sumguytho - Thijs W - Totally a booplicate - WouterTuinstra - wriswith +- Yohrog - yyokusa diff --git a/CHANGELOG.rst b/CHANGELOG.rst index f5a45789c..2c3347d78 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -7,6 +7,40 @@ helps make pymodbus a better product. :ref:`Authors`: contains a complete list of volunteers have contributed to each major version. + +Version 3.6.9 +------------- +* Remove python 3.8 from CI +* Log comm retries. (#2220) +* Solve serial unrequested frame. (#2219) +* test convert registers with 1234.... (#2217) +* Fix writing to serial (rs485) on windows os. (#2191) +* Remember to remove serial writer. (#2209) +* Update client.rst (#2199) +* Fix usage file names (#2194) +* Show error if example is run without support files. (#2189) +* Solve pylint error. +* Describe zero_mode in ModbusSlaveContext.__init__ (#2187) +* Datastore will not return ExceptionResponse. (#2175) +* call async datastore from modbus server (#2144) +* Transaction id overrun. +* Add minimal devcontainer. (#2172) +* Sphinx: do not turn warnings into errors. +* Fix usage of AsyncModbusTcpClient in client docs page (#2169) +* Bump actions CI. (#2166) +* Request/Response: change execute to be async method (#2142) +* datastore: add async_setValues/getValues methods (#2165) +* fixed kwargs not being expanded for actions on bit registers, adjusted tests to catch this issue (#2161) +* Clean datastore setValues. (#2145) +* modbus_server: call execute in a way that those can be either coroutines or normal methods (#2139) +* Streamline message class. (#2133) +* Fix decode for wrong mdap len. +* SOCKET/TLS framer using message decode(). (#2129) +* ASCII framer using message decode() (#2128) +* Add generate_ssl() to TLS client as helper. (#2120) +* add _legacy_decoder to message rtu (#2119) + + Version 3.6.8 ------------- * Allow socket exception response with wrong length diff --git a/README.rst b/README.rst index bb9cb3316..f78889652 100644 --- a/README.rst +++ b/README.rst @@ -11,7 +11,7 @@ PyModbus - A Python Modbus Stack Pymodbus is a full Modbus protocol implementation offering client/server with synchronous/asynchronous API a well as simulators. -Current release is `3.6.8 `_. +Current release is `3.6.9 `_. Bleeding edge (not released) is `dev `_. diff --git a/pymodbus/__init__.py b/pymodbus/__init__.py index 920380d17..3a67cada4 100644 --- a/pymodbus/__init__.py +++ b/pymodbus/__init__.py @@ -18,5 +18,5 @@ from pymodbus.pdu import ExceptionResponse -__version__ = "3.7.0dev2" +__version__ = "3.6.9" __version_full__ = f"[pymodbus, version {__version__}]" diff --git a/pymodbus/transaction.py b/pymodbus/transaction.py index a537f120b..09f648270 100644 --- a/pymodbus/transaction.py +++ b/pymodbus/transaction.py @@ -454,7 +454,7 @@ def getTransaction(self, tid): Log.debug("Getting transaction {}", tid) if not tid: if self.transactions: - ret = self.transactions.popitem()[1] + ret = self.transactions.popitem()[1] self.transactions.clear() return ret return None diff --git a/test/framers/test_tbc_multidrop.py b/test/framers/server_multidrop_tbd.py similarity index 100% rename from test/framers/test_tbc_multidrop.py rename to test/framers/server_multidrop_tbd.py diff --git a/test/test_file_message.py b/test/test_file_message.py index 6882c6b89..36ef6ee0e 100644 --- a/test/test_file_message.py +++ b/test/test_file_message.py @@ -16,8 +16,7 @@ WriteFileRecordRequest, WriteFileRecordResponse, ) - -from .conftest import MockContext +from test.conftest import MockContext # pylint: disable=wrong-import-order TEST_MESSAGE = b"\x00\n\x00\x08\x00\x01\x00\x02\x00\x03\x00\x04" diff --git a/v3.6.9..dev b/v3.6.9..dev new file mode 100644 index 000000000..befbfe6df --- /dev/null +++ b/v3.6.9..dev @@ -0,0 +1,20 @@ + +V3.7.0 (NOT INCLUDED in 3.6.7-8-9) +14ec87e3 Solve serial unrequested frame. (#2219) +5bddf9e8 Update third party versions. (#2216) +45c5116e Transaction_id for serial == 0. (#2208) +c91b2182 Sync TLS needs time before reading frame (#2186) +a48aeeb4 Update transaction.py (#2174) +e9c187e9 Merge 3.6.8 effects. +681fd2c8 Merge master v3.6.8 into dev +8a836b20 PDU classes --> pymodbus/pdu. (#2160) +e8063fa5 Merge 3.6.7 back into dev. (#2156) +a6b43dd7 Speed up no data detection. (#2150) +c4c14cab RTU decode hunt part. (#2138) +9e9e50e2 Dislodge client classes from modbusProtocol. (#2137) +9f736dfe Merge new message layer and old framer directory. (#2135) +331dc636 Coverage == 91%. (#2132) +86d5afe2 Remove binary_framer. (#2130) +0803ff70 on_reconnect_callback --> on_connect_callback. (#2122) +2c36fd3f Remove certfile,keyfile,password from TLS client. (#2121) +58a1c37d Drop support for python 3.8 (#2112)