Releases: jborean93/pypsrp
Releases · jborean93/pypsrp
v1.0.0b1
1.0.0b1 - 2022-05-27
Breaking changes
- There should be no breaking changes in this release as the
pypsrp
namespace will continue to work as it had. - The
pypsrp
namespace is going to be deprecated going forward and all work moving to the stuff in thepsrp
namespace.
Features
- Added the
psrp
namespace which includes a sync and asyncio runspace pools and powershell pipelines - This also includes a new set of connection types such as:
psrp.NamedPipeInfo
- asyncio only connection for named pipes such as the management pipe pwsh createspsrp.ProcessInfo
- connection to start a new pwsh pwsh process locallypsrp.SSHInfo
- asyncio only SSH connection for remote pwsh communicationpsrp.WinPSSSHInfo
- asyncio only SSH connection for remote Windows PowerShell communicationpsrp.WSManInfo
- connection for WSMan based remote targets
- Also includes a base connection type class for Out of Process connections to help building your own
v0.8.1
v0.8.0
0.8.0 - 2022-02-01
- The
CommandParameter
class now uses named keyword arguments - The
cmd
parameter forCommand
class is now a positional argument - Ensure each
ps.streams.error
entry contains aMESSAGE_TYPE
value just like the other stream objects - Use a default of
None
if a complex custom object has noToString
property defined. - Moved back to using
setuptools
instead ofpoetry
as the build system - Added type annotations to most public classes and methods
v0.8.0rc1
v0.7.0
0.7.0 - 2021-12-13
Features
- Add
pypsrp.serializer.TaggedValue
which allows the marking of a value with a tag that controls which serialization routine to apply.- This only applys to primitive objects, like
U32
asSystem.UInt32
,SS
asSystem.Security.SecureString
, etc - For a full list of primitive tags see https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-psrp/c8c85974-ffd7-4455-84a8-e49016c20683
- This only applys to primitive objects, like
v0.6.1
v0.6.0
0.6.0 - 2021-10-21
Breaking changes
- Dropped support for Python 2.7 and Python 3.5
- Added support for Python 3.10
- Use
poetry
as the packaging and dependency management tool - Added pykrb5 as extra dependency for Kerberos auth on non-Windows due to a dependecy change on
pyspnego
Features
- Use File.Move when calling
Client.copy()
to optimistically speed up server side operations
0.5.0
0.5.0 - 2020-08-13
Breaking changes
- Dropped support for Python 2.6 and Python 3.4
- Using
Client.copy()
andClient.fetch()
doesn't expand variables in the local path by default.
Features
- Support endpoints that only have
Kerberos
enabled and not justNegotiate
. Client.copy()
andClient.fetch()
methods have newexpand_variables
parameter. This can be used to expand variables both in local and remote path.- Changed authentication library for
Kerberos
andNTLM
auth to pyspnego. - Added a context manager for
pypsrp.client.Client
andpypsrp.wsman.WSMan
. This ensures any resources that the transport utilises will be closed if possible
Bugfixes
- On Linux, use Kerberos if the
auto
auth provider is specified and no username or password is set. There is still noNTLM
fallback butKerberos
is ideal in this scenario. - Use SHA256 when calculating the channel bindings token hash if an unknown algorithm is encountered.
- Handle warning messages that are sent to the RunspacePool instead of raising an exception.
v0.5.0rc1
Release v0.4.0
- Fixed an issue when escaping string in PowerShell that start with
_X
. - Base relative paths off the PowerShell location and not the process location for file copy and fetch operations.
- Fixed problem when using
fetch()
on PowerShell v2 hosts. - Changed
Client.copy()
to use PSRP instead of WinRS to better support non-admin scenarios. - Added explicit
environment
settings forClient.execute_cmd()
andClient.execute_ps()
. - Added
configuration_name
kwargs onClient.execute_ps()
,Client.copy()
, andClient.fetch()
to configure the configuration endpoint it connects to. - Fixed up message encryption with
gss-ntlmssp
on Linux