Changes#
3.1.2#
Added
FuzzyCodec
@deprecated
now works on functions, instead of just methods.
3.1.1#
Launching applications with
minimized=False
no longer usesSW_SHOWNOACTIVATE
, which no longer seems to be obeyed, and was preventing the application window position from being preserved between launches.
3.1.0#
Added
host_addresses()
,is_local_host()
, andhost_filter()
to simplify connect() functions
3.0.3#
Version
now treats ` (Beta)` as .99Reintroduce support for ‘allow_beta’ in
find_exe()
3.0.2#
unused_tcp_port()
now allows restricted port rangesAdded
LingeringCache
Live proxy objects are cached and returned where possible.
Improved IPv4/IPv6 support
3.0.1#
Fix: Cached exceptions needed to be raised, not returned.
3.0.0#
Drops support for Python 3.5 and 3.6
Add
@rmi(fallback=True)
option for remote methods.
2.5.1#
Corrected handling of exceptions in
map_call()
andmap_property()
.
2.5.0#
Added
call()
method.Added
get_prop()
method.Added
set_prop()
method.
2.4.5#
Added
server_address()
method.Added
map_call()
method.Added
map_property()
method.Fixed
argb_to_colour()
when negative value is decoded.allow_alpha
andallow_beta
are no longer supported infind_exe()
2.4.4#
When listener is bound to port 0, expose actual port number used.
2.4.3#
Replaced set[bool] with Set[bool] to restore Python 3.5 compatibility.
2.4.2#
(recalled)
2.4.1#
Added default module help command subprocessor
Only retry SystemError(‘Could not queue task’) instead of all SystemError exceptions.
2.4.0#
Add support for auto-retry of RMI requestes
Add CodecMap
2.3.11#
Version class is now hashable
py -m mhi.common.process show PIDs, etc.
Removed Thread.isAlive call (deprecated in 3.8)
2.3.10#
Version class is now hashable
2.3.9#
Added Application.is_embedded() method
Fixed crash when an uncomparible version identifier is found.
Fixed packaging module requirement
2.3.8#
Added Application.server_address() method
Added Application.secondary_connection() method
2.3.7#
Replaced deprecated distutils package.
2.3.6#
Corrected Windows pathname accidently resulting in illegal escapes.
Replaced f-strings, to restore Python 3.5 compatibility.
2.3.5#
Added requires attribute for rmi_properties.
Added shell_folder(…) function.
2.3.4#
Fix Enerplot 1.0.0 legacy communication issue.
2.3.3#
Optimized communication memory buffer usage.
2.3.2#
Python server kept awake one additional task cycle, to improve responsiveness.
2.3.1#
Removed Python 3.9 specific typehint syntax from LibraryZipper.
2.3.0#
Added mhi.common.zipper.LibraryZipper to support updating embedded libraries with versions downloaded from PyPI.
2.2.1#
Added type-hints for mypy type checking.
Allow Remotable objects to override their persistent id module name.
Clear the linecache after each program execution, to avoid tracebacks from showing old file contents.
2.2.0#
Renamed from mhi.*.common namespace submodules to mhi.common.
2.1.3#
Input to BooleanCodec restricted to booleans, integers 0 and 1, and the strings “true”, “false”, “0”, “1”, “yes”, “no”. Additionally, emits a warning if the input is not a boolean.
Update rmi_property to work with newer versions of Sphinx
2.1.2#
Added
repr
to MapCodec
2.1.1#
2.1.0#
Added
minimum
,maximum
,allow_alpha
andallow_beta
tofind_exe
.Added user configuration readers
2.0.1#
Added Application.minimum_version(version) and Application.requires(version) methods
Added @requires(version) and @deprecated decorators
Increased socket throughput (disable Nagling, use MSG_WAITALL flag with recv())