Release Notes
Version 1.0.0 (2023-06-16)
Added
a
Link
can create an exclusive or shared lock with aService
add
service_max_clients
property to aLink
andLinkedClient
the
loop_thread_id
property for aService
and aClient
the
emit_notification_threadsafe()
method for aService
ability to specify the host to use when starting a
Manager
support for Python 3.9, 3.10 and 3.11
set_logging_level()
to be able to set the logging level at runtimeability to add tasks to the event loop via the
add_tasks()
methodthe
shutdown_handler()
method is called after the connection to theManager
is lost but before the event loop stopsability to use all
Database
classes as a context manager (i.e., using a with statement)the
--log-level
flag to thestart
commandthe
delete
command-line argument to delete files that are created by MSL-NetworkJSON
,UJSON
,RAPIDJSON
andSIMPLEJSON
are aliases for the JSON backends inPackage
the
auto_save
keyword argument toconnect()
andget_ssl_context()
the
digest_size
keyword argument togenerate_certificate()
andget_fingerprint()
the
name
andextensions
keyword arguments togenerate_certificate()
,**kwargs
toget_ssl_context()
Changed
the result object that is returned by a
Service
response can implement a callableto_json()
methodthe value of the
algorithm
keyword argument inget_fingerprint()
can now also be of typestr
renamed
uuid
to beuid
in the JSON formatmaking an asynchronous request now returns a
concurrent.futures.Future
instance instead of anasyncio.Future
instancemove the
utils.localhost_aliases
function to be defined asLOCALHOST_ALIASES
renamed the
Client.manager
method toidentities()
renamed
certfile
tocert_file
inconnect()
,start()
andget_ssl_context()
can now change which JSON backend to use during runtime by calling the
use()
functionmoved the
msl.network.constants.JSONPackage
class tomsl.network.json.Package
renamed the command line arguments
--certfile
to--cert-file
,--keyfile
to--key-file
,--keyfile-password
to--key-file-password
, and--logfile
to--log-file
for thestart
commanduse
T
as the separator between the date and time in aConnectionsTable
rename the keyword arguments
timestamp1
tostart
andtimestamp2
toend
inconnections()
the default filename for the certificate and key files now use
'localhost'
instead of the value of HOSTNAME
Fixed
an
AttributeError
could be raised when generating the identity of aService
can now handle multiple requests/replies contained within the same network packet
Removed
Support for Python 3.5
the
MSLNetworkError
exception class (aRuntimeError
is raised instead)the
Service.set_debug
methodthe
termination
andencoding
class attributes ofNetwork
the
send_pending_requests
,raise_latest_error
andwait
methods of aClient
the
--debug
flag from thestart
commandthe
utils.new_selector_event_loop
functionthe
constants.JSON
attributeYAJL as a JSON backend option
Version 0.5.0 (2020-03-18)
Added
support for Python 3.8
the utils.new_selector_event_loop function to create a new asyncio.SelectorEventLoop
the
--logfile
command line argument for the start commanda Service can emit notifications to all Clients that are linked with it
a Service now accepts an ignore_attributes keyword argument when it is instantiated and also has an ignore_attributes method
a Link can unlink from a Service
the LinkedClient.client property
1.0.0.127.in-addr.arpa
as a localhost alias
Changed
use
__package__
as the logger namethe FileHandler and StreamHandler that are added to the root logger now use a decimal point instead of a comma between the seconds and milliseconds values
renamed the disconnect_service method for a Link and a Service (which was added in version 0.4.0) to be shutdown_service
Removed
the Service._shutdown method since it is no longer necessary to call this method from the Service subclass because shutting down happens automatically behind the scenes
Version 0.4.1 (2019-07-23)
Added
1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa
as a localhost alias
Changed
calling the Client.manager(as_string=True) method now prints the attributes analogous to how a Client would call the method of a Service
Fixed
the timeout value for creating a LinkedClient is now the total time that it takes to connect to the Network Manager plus the time required to link with the Service (this fixes a race condition when starting a Service on a remote computer and then trying to link to the same Service)
Version 0.4.0 (2019-04-16)
Added
the ssh module
a LinkedClient class
the run_forever (to start the Manager) and the run_services (to start the Manager and then start the Services) functions
the filter_service_start_kwargs, filter_run_forever_kwargs and filter_client_connect_kwargs functions
a disconnect_service method to Link
shorter argument name options for some CLI parameters
a Service now accepts name and max_clients as keyword arguments when it is instantiated
Changed
the following CLI changes to argument names for the certgen command
--key-path
became--keyfile
--key-password
became--keyfile-password
the following CLI changes to argument names for the keygen command
--path
became--out
the following CLI changes to argument names for the start command
--cert
became--certfile
--key
became--keyfile
--key-password
became--keyfile-password
the certificate keyword argument for the connect and get_ssl_context functions and for the Service.start method was changed to certfile
the as_yaml keyword argument for the Client.manager method was changed to as_string
a Client can no longer request a private attribute – i.e., an attribute that starts with a
_
(an underscore) – from a Servicethe default timeout value for connecting to the Manager is now 10 seconds
Fixed
Removed
the name class attribute for a Service
the send_request method for a Client (must link with a Service)
Version 0.3.0 (2019-01-06)
Added
every request from a Client can now specify a timeout value
the docs now include an example for how to send requests to the
Echo
Service
Changed
the default timeout value for connecting to the Manager is now 10 seconds
the __repr__ method for a Client no longer includes the id as a hex number
Fixed
Removed
the __repr__ method for a Service
Version 0.2.0 (2018-08-24)
Added
a
wakeup()
Task in debug mode on Windows (see: https://bugs.python.org/issue23057)the
version_info
named tuple now includes a releaselevelexample for creating a Client and a Service in LabVIEW
the ability to establish a connection to the Network Manager without using TLS
a
timeout
kwarg to Service.start()an
Echo
Service to the examples
Changed
rename ‘async’ kwarg to be ‘asynchronous’ (for Python 3.7 support)
the termination bytes were changed from
\n
to\r\n
Version 0.1.0 (2017-12-14)
Initial release