Msl-loadlib

Latest version: v0.10.0

Safety actively analyzes 621008 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

1.0.0

==============================

0.10.0

===========================
This release will be the last to support Python 2.7, 3.5, 3.6 and 3.7

* The 32-bit server is frozen with the following versions

- ``server32-windows.exe`` -- Python 3.11.4, pythonnet 3.0.1, comtypes 1.2.0
- ``server32-linux`` -- Python 3.11.4 (built with GLIBC 2.27)

* Added

- can now specify the destination directory when freezing the 32-bit server
- the `server32_dir` keyword argument to :class:`~msl.loadlib.client64.Client64`
(fixes issue `35 <https://github.com/MSLNZ/msl-loadlib/issues/35>`_)
- Support for Python 3.10 and 3.11
- :class:`~msl.loadlib.load_library.LoadLibrary` and :class:`~msl.loadlib.client64.Client64`
can be used as a context manager (:ref:`with`)
- :meth:`LoadLibrary.cleanup() <msl.loadlib.load_library.LoadLibrary.cleanup>` method
- ``~/.local/share/py4j`` to the search paths when looking for the
``py4j<version>.jar`` file

* Changed

- :func:`~msl.loadlib.utils.is_port_in_use` only checks TCP ports and
it uses the ``ss`` command instead of ``netstat`` on linux
- the example libraries for FORTRAN now depend on `libgfortran5` on linux

* Fixed

- issue `31 <https://github.com/MSLNZ/msl-loadlib/issues/31>`_ - suppress
console popups when using ``pythonw.exe``
- issue `24 <https://github.com/MSLNZ/msl-loadlib/issues/24>`_ - starting
the 32-bit server could block forever by not honouring the timeout

0.9.0

==========================

* The 32-bit server is frozen with the following versions

- ``server32-windows.exe`` -- Python 3.7.10, pythonnet 2.5.2, comtypes 1.1.10
- ``server32-linux`` -- Python 3.7.10, pythonnet 2.4.0

* Added

- support for loading an ActiveX library
- the following static methods to `Server32`:
:meth:`~msl.loadlib.server32.Server32.remove_site_packages_64bit`,
:meth:`~msl.loadlib.server32.Server32.is_interpreter`,
:meth:`~msl.loadlib.server32.Server32.examples_dir`
- the :func:`~msl.loadlib.utils.generate_com_wrapper` function

* Changed

- the ``sys.coinit_flags`` attribute is now set to ``COINIT_MULTITHREADED``
(only if this attribute was not already defined prior to importing `msl.loadlib`)

* Fixed

- ``Client64.__del__`` could have written a warning to stderr indicating
that no ``self._conn`` attribute existed
- ``sys:1: ResourceWarning: unclosed file <_io.BufferedReader name=...>``
warnings could be written to stderr when a `Client64` object is destroyed
- issue `23 <https://github.com/MSLNZ/msl-loadlib/issues/23>`_ - the
``useLegacyV2RuntimeActivationPolicy`` property was no longer created

0.8.0

==========================

* Added

- support for Python 3.9
- the `protocol` keyword argument to :class:`~msl.loadlib.client64.Client64`
- the ability to request non-callable attributes from the 32-bit server class
(e.g., methods that use the `property` decorator and class/instance variables)

* Changed

- ``server32-windows.exe`` uses Python 3.7.10, pythonnet 2.5.2 and comtypes 1.1.8
- ``server32-linux`` uses Python 3.7.10 and pythonnet 2.4.0
(there are problems with later versions of pythonnet on 32-bit linux, see issue
`1210 <https://github.com/pythonnet/pythonnet/issues/1210>`_ for more details)
- call ``clr.AddReference`` before ``clr.System.Reflection.Assembly.LoadFile``
when loading a .NET library
- use PIPE's for `stdout` and `stderr` for the 32-bit server subprocess and
for the py4j `GatewayServer`
- :meth:`~msl.loadlib.client64.Client64.shutdown_server32` now returns the
`(stdout, stderr)` streams from the 32-bit server subprocess
- the `quiet` keyword argument for :class:`~msl.loadlib.client64.Client64` is
deprecated

* Fixed

- issue `21 <https://github.com/MSLNZ/msl-loadlib/issues/21>`_ - an
``UnsupportedOperation: fileno`` exception was raised when running within the
Spyder IDE

* Removed

- ``cygwin`` from the :obj:`~msl.loadlib.IS_WINDOWS` check

0.7.0

==========================

* Added

- support for Python 3.8
- compiled the C++ and FORTRAN examples for 64-bit macOS

* Changed

- the frozen server32 executable uses Python 3.7.7 (Windows and Linux), pythonnet 2.4.0 (Windows and Linux)
and comtypes 1.1.7 (Windows)
- use ``__package__`` as the logger name
- renamed ``port_in_use()`` to :obj:`~msl.loadlib.utils.is_port_in_use()` and added support for
checking the status of a port in macOS
- changes to how a .NET library is loaded: include the System namespace by default,
do not automatically create a class instance

* Removed

- Support for Python 3.4

0.6.0

==========================

* Added

- a `shutdown_handler()` method to `Server32` (PR `19 <https://github.com/MSLNZ/msl-loadlib/issues/19>`_)
- a section to the docs that explains how to re-freeze the 32-bit server
- a `kill_timeout` keyword argument to `Client64.shutdown_server32()`
- the `rpc_timeout` keyword argument to `Client64` (thanks to fake-name)
- search `HKEY_CLASSES_ROOT\\Wow6432Node\\CLSID` in the Windows Registry for additional COM `ProgID`'s
- `extras_require` parameter to `setup.py` with keys: `clr`, `java`, `com`, `all`

* Changed

- the frozen server32 executable (for Windows/Linux) now uses Python 3.7.3 and Python.NET 2.4.0
- rename the optional `-asp` and `-aep` command line arguments to be `-s` and `-e` respectively
- the current working directory where the 64-bit Python interpreter was executed from is now
automatically appended to ``os.environ['PATH']`` on the 32-bit server
- `freeze_server32.py` uses an `ArgumentParser` instead of directly reading from `sys.argv`

* Fixed

- use ``sys.executable -m PyInstaller`` to create the 32-bit server
(part of PR `18 <https://github.com/MSLNZ/msl-loadlib/issues/18>`_)
- the 32-bit server prints error messages to `sys.stderr` instead of `sys.stdout`
- issue `15 <https://github.com/MSLNZ/msl-loadlib/issues/15>`_ - wait for the
subprocess that starts the 32-bit server to terminate and set a value for the `returncode`
- issue `14 <https://github.com/MSLNZ/msl-loadlib/issues/14>`_ - use `os.kill`
to stop the 32-bit server if it won't stop after `kill_timeout` seconds

Page 1 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.