Skip to content

Commit 977f5c1

Browse files
committed
Merge branch 'dev' into test_macos
2 parents 371dccb + 4b57def commit 977f5c1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+2129
-351
lines changed

.coveragerc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@
22
omit =
33
pymodbus/repl/*
44
pymodbus/internal/*
5-
pymodbus/server/asyncio.py
5+
pymodbus/server/asyncio.py
6+
pymodbus/server/reactive/*

.github/workflows/ci.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ jobs:
165165
pip install --upgrade tox
166166
- uses: twisted/[email protected]
167167
- name: Test
168-
continue-on-error: ${{ matrix.task.continue_on_error }}
168+
continue-on-error: ${{ matrix.task.continue_on_error == true }}
169169
run: |
170170
tox -vv -e ${{ matrix.task.tox }}
171171
coverage:
@@ -211,6 +211,7 @@ jobs:
211211
run: |
212212
pip install --upgrade pip setuptools wheel
213213
pip install --upgrade tox
214+
pip install --upgrade six
214215
- uses: twisted/[email protected]
215216
- name: Download Coverage
216217
if: matrix.task.download_coverage
@@ -219,7 +220,7 @@ jobs:
219220
name: coverage
220221
path: coverage_reports
221222
- name: Test
222-
continue-on-error: ${{ matrix.task.continue_on_error }}
223+
continue-on-error: ${{ matrix.task.continue_on_error == true }}
223224
run: |
224225
tox -vv -e ${{ matrix.task.tox }}
225226
all:

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,5 @@ test/__pycache__/
3737
/doc/_build/
3838
.pytest_cache/
3939
**/.pymodhis
40+
/build/
41+
/dist/

CHANGELOG.rst

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,46 @@
1+
version 2.5.0
2+
----------------------------------------------------------
3+
* Support response types `stray` and `empty` in repl server.
4+
* Minor updates in asyncio server.
5+
* Update reactive server to send stray response of given length.
6+
* Transaction manager updates on retries for empty and invalid packets.
7+
* Test fixes for asyncio client and transaction manager.
8+
* Fix sync client and processing of incomplete frames with rtu framers
9+
* Support synchronous diagnostic client (TCP)
10+
* Server updates (REPL and async)
11+
* Handle Memory leak in sync servers due to socketserver memory leak
12+
13+
version 2.5.0rc3
14+
----------------------------------------------------------
15+
* Minor fix in documentations
16+
* Travis fix for Mac OSX
17+
* Disable unnecessary deprecation warning while using async clients.
18+
* Use Github actions for builds in favor of travis.
19+
20+
21+
version 2.5.0rc2
22+
----------------------------------------------------------
23+
* Documentation updates
24+
* Disable `strict` mode by default.
25+
* Fix `ReportSlaveIdRequest` request
26+
* Sparse datablock initialization updates.
27+
28+
version 2.5.0rc1
29+
----------------------------------------------------------
30+
* Support REPL for modbus server (only python3 and asyncio)
31+
* Fix REPL client for write requests
32+
* Fix examples
33+
* Asyncio server
34+
* Asynchronous server (with custom datablock)
35+
* Fix version info for servers
36+
* Fix and enhancements to Tornado clients (seril and tcp)
37+
* Fix and enhancements to Asyncio client and server
38+
* Update Install instructions
39+
* Synchronous client retry on empty and error enhancments
40+
* Add new modbus state `RETRYING`
41+
* Support runtime response manipulations for Servers
42+
* Bug fixes with logging module in servers
43+
* Asyncio modbus serial server support
144

245
Version 2.4.0
346
----------------------------------------------------------

Makefile

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,20 @@ check: install
4242
test: install
4343
@pip install --upgrade --quiet --requirement=requirements-tests.txt
4444
ifeq ($(PYVER),3.6)
45+
$(info Running tests on $(PYVER))
46+
@pip install --upgrade pip --quiet
4547
@pytest --cov=pymodbus/ --cov-report term-missing test/test_server_asyncio.py test
48+
@coverage report --fail-under=85 -i
49+
else ifeq ($(PYVER),2.7)
50+
$(info Running tests on $(PYVER))
51+
@pip install pip==20.3.4 --quiet
52+
@pytest --cov-config=.coveragerc --cov=pymodbus/ --cov-report term-missing --ignore test/test_server_asyncio.py --ignore test/test_client_async_asyncio.py test
4653
@coverage report --fail-under=90 -i
4754
else
48-
@pytest --cov=pymodbus/ --cov-report term-missing
49-
@coverage report --fail-under=90 -i
55+
$(info Running tests on $(PYVER))
56+
@pip install --upgrade pip --quiet
57+
@pytest --cov=pymodbus/ --cov-report term-missing test
58+
@coverage report --fail-under=85 -i
5059
endif
5160

5261
tox: install

README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ PyModbus - A Python Modbus Stack
77
.. image:: https://badges.gitter.im/Join%20Chat.svg
88
:target: https://gitter.im/pymodbus_dev/Lobby
99
.. image:: https://readthedocs.org/projects/pymodbus/badge/?version=latest
10-
:target: http://pymodbus.readthedocs.io/en/async/?badge=latest
10+
:target: http://pymodbus.readthedocs.io/en/latest/?badge=latest
1111
:alt: Documentation Status
1212
.. image:: http://pepy.tech/badge/pymodbus
1313
:target: http://pepy.tech/project/pymodbus

doc/INSTALL

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
Requirements
22
-------------
33

4-
* Python 2.3 or later.
5-
* Python Twisted
4+
* Python 2.7 or later.
5+
* Python Twisted, Tornado or asyncio (For async client and server)
66
* Pyserial
77

88
On Windows pywin32 is recommended (this is built in to ActivePython,
@@ -35,7 +35,7 @@ much easier to run with the nose package. With that installed, you can
3535
use either of the following::
3636

3737
python setup.py test
38-
nosetests
38+
pytest
3939

4040

4141
Building Documentation

doc/source/library/REPL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ result.raw Return raw result dict.
200200
201201
```
202202

203-
Every command has auto suggetion on the arguments supported , supply arg and value are to be supplied in `arg=val` format.
203+
Every command has auto suggestion on the arguments supported, arg and value are to be supplied in `arg=val` format.
204204
```
205205
206206
> client.read_holding_registers count=4 address=9 unit=1

examples/common/README.rst

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,13 @@ the tools/nullmodem/linux directory::
9292

9393
sudo ./run
9494

95+
The third method is Generic Unix method below.
96+
9597
------------------------------------------------------------
9698
Windows
9799
------------------------------------------------------------
98100

99-
For Windows, simply use the com2com application that is in
101+
For Windows, simply use the com0com application that is in
100102
the directory tools/nullmodem/windows. Instructions are
101103
included in the Readme.txt.
102104

examples/common/asynchronous_server.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@
99
"""
1010
# --------------------------------------------------------------------------- #
1111
# import the various server implementations
12-
# --------------------------------------------------------------------------- #
12+
# --------------------------------------------------------------------------- #
13+
from pymodbus.version import version
1314
from pymodbus.server.asynchronous import StartTcpServer
1415
from pymodbus.server.asynchronous import StartUdpServer
1516
from pymodbus.server.asynchronous import StartSerialServer
@@ -105,10 +106,10 @@ def run_async_server():
105106
identity = ModbusDeviceIdentification()
106107
identity.VendorName = 'Pymodbus'
107108
identity.ProductCode = 'PM'
108-
identity.VendorUrl = 'http://github.com/bashwork/pymodbus/'
109+
identity.VendorUrl = 'http://github.com/riptideio/pymodbus/'
109110
identity.ProductName = 'Pymodbus Server'
110111
identity.ModelName = 'Pymodbus Server'
111-
identity.MajorMinorRevision = '2.3.0'
112+
identity.MajorMinorRevision = version.short()
112113

113114
# ----------------------------------------------------------------------- #
114115
# run the server you want

0 commit comments

Comments
 (0)