You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fixed the log level mapping to cover the entire libssh range -- by @Jakuje and @webknjaz.
Previously it was not possible to set the most verbose libssh log
level SSH_LOG_TRACE to get the most verbose log messages useful for
debugging connection issues.
Made libssh use the Python logging system -- by @Jakuje and @webknjaz.
Previously the underlying libssh library was writing its logs
directly from the C-level into stderr, which caused inconsistent
behavior.
The default log level is now set to ANSIBLE_PYLIBSSH_TRACE and the
downstream loggers are able to trim the verbosity down. If you need
performance, it is possible to disable logging on the libssh side at
the source by setting a lower logging value, for example:
ssh_session.set_log_level(ANSIBLE_PYLIBSSH_NOLOG)
Additionally, the log level can be now be set also through the session
initializer:
ssh=Session(log_verbosity=ANSIBLE_PYLIBSSH_TRACE)
or the connect() method arguments:
ssh.connect(log_verbosity=ANSIBLE_PYLIBSSH_TRACE)
Setting any levels imported from !logging is also supported.
The CI/CD/packaging infrastructure has been updated to produce source distribution <Source Distribution (or "sdist")> file names
consistent with the requirement of uploading artifacts compliant with
the core packaging metadata 2.2 or newer to PyPI and TestPyPI -- by @webknjaz.
Along with that, the infrastructure has been adjusted to expect 625-conforming names in its guard rails checks -- with some
@cidrblocks help.
While upgrading cibuildwheel to v3.1.4, its defaults changed to
attempt building wheels for the RISC-V architecture. This target is
now disabled explicitly due to the lack of infrastructure -- by @webknjaz.
We may enable it at a later time as a separate dedicated effort.
Due to cibuildwheel to v3 bundling delocate 0.13.0 that enforces
deployment-target consistency with the brew-installed copy of the libssh in the build jobs, the macOS wheels we build now require
macOS version 15.0 or newer.
The pre-cached armv7l images we build for the packaging
infrastructure are now correctly tagged with the linux/arm/v7 OCI
platform tag -- by @webknjaz.
The SSHD start probe client command is now shielded from external
environmnent and will no longer attempt using an SSH agent on the
machine where the tests are involved, nor will it use alternative
authentication methods -- by @webknjaz.
The pre-commit framework configuration has been updated to be in
sync with awx-plugins and other projects. It now has a few
additional linters and a workaround for the outdated ones.
The CI/CD/packaging infrastructure has been updated to produce source distribution <Source Distribution (or "sdist")> file names
consistent with the requirement of uploading artifacts compliant with
the core packaging metadata 2.2 or newer to PyPI and TestPyPI -- by @webknjaz.
Along with that, the infrastructure has been adjusted to expect 625-conforming names in its guard rails checks -- with some
@cidrblocks help.
The coverage measurement infrastructure now uses the ctrace measurement core <config_run_core> across all the Python versions
consistently -- by @webknjaz.
The pre-cached armv7l images we build for the packaging
infrastructure are now correctly tagged with the linux/arm/v7 OCI
platform tag -- by @webknjaz.
The CI/CD infrastructure has been set up to avoid parts of the
template injection problem in GitHub Actions workflow definitions. The
shell entry point has been set to bash for any scripts with extra
strictness enabled.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
📝 Release notes
📦 PyPI page: https://pypi.org/project/ansible-pylibssh/1.4.0
🌱 v1.4.0 is marked as a stable release.
🔗 This release has been produced by the following workflow run: https://github.com/ansible/pylibssh/actions/runs/23120213721
v1.4.0
(2026-03-15)
Bug fixes
Fixed the log level mapping to cover the entire
libsshrange -- by@Jakuje and @webknjaz.
Previously it was not possible to set the most verbose
libsshloglevel
SSH_LOG_TRACEto get the most verbose log messages useful fordebugging connection issues.
Related issues and pull requests on GitHub: Fix the log levels mapping #597.
Features
Made
libsshuse the Pythonloggingsystem -- by @Jakuje and@webknjaz.
Previously the underlying
libsshlibrary was writing its logsdirectly from the C-level into
stderr, which caused inconsistentbehavior.
The default log level is now set to
ANSIBLE_PYLIBSSH_TRACEand thedownstream loggers are able to trim the verbosity down. If you need
performance, it is possible to disable logging on the
libsshside atthe source by setting a lower logging value, for example:
Additionally, the log level can be now be set also through the session
initializer:
or the
connect()method arguments:Setting any levels imported from
!loggingis also supported.Related issues and pull requests on GitHub: Fix the log levels mapping #597.
Packaging updates and notes for downstreams
Started shipping binary
armv7lwheels -- by @webknjaz.Related issues and pull requests on GitHub: Bump pypa/cibuildwheel from 2.17.0 to 2.22.0 #648.
Upgrading
cibuildwheelto v2.22.0 also picked up Python 3.13 andenabled respective wheels to be built -- by @webknjaz.
Related issues and pull requests on GitHub: Bump pypa/cibuildwheel from 2.17.0 to 2.22.0 #648.
The CI/CD/packaging infrastructure has been updated to produce
source distribution <Source Distribution (or "sdist")>file namesconsistent with the requirement of uploading artifacts compliant with
the core packaging metadata 2.2 or newer to PyPI and TestPyPI -- by
@webknjaz.
Along with that, the infrastructure has been adjusted to expect
625-conforming names in its guard rails checks -- with some@cidrblocks help.
Related issues and pull requests on GitHub: 📦 Bump build env pins to their last versions #808, Add Python 3.13 and 3.14 wheel builds #809.
Upgrading
cibuildwheelto v3.1.0 also picked up Python 3.14 andenabled respective wheels to be built -- by @webknjaz.
Building the free-threaded wheels remains disabled, though.
Related issues and pull requests on GitHub: Add Python 3.13 and 3.14 wheel builds #809, 🧪📦 Bump cibuildwheel to v3.1.0 #823.
While upgrading
cibuildwheelto v3.1.4, its defaults changed toattempt building wheels for the RISC-V architecture. This target is
now disabled explicitly due to the lack of infrastructure -- by
@webknjaz.
We may enable it at a later time as a separate dedicated effort.
Related issues and pull requests on GitHub: Add Python 3.13 and 3.14 wheel builds #809, 🧪📦 Bump
cibuildwheelto v3.1.4 #824.Due to
cibuildwheelto v3 bundlingdelocate0.13.0 that enforcesdeployment-target consistency with the brew-installed copy of the
libsshin the build jobs, the macOS wheels we build now requiremacOS version 15.0 or newer.
-- by @cidrblock and @webknjaz
Related issues and pull requests on GitHub: Add Python 3.13 and 3.14 wheel builds #809, 🧪📦 Bump
cibuildwheelto v3.1.4 #824.The core packaging metadata now reflects that we test the project
under Python 3.13 and 3.14 (with GIL enabled) -- by @cidrblock and
@webknjaz.
Related issues and pull requests on GitHub: Add Python 3.13 and 3.14 wheel builds #809, 🧪 Make Python 3.13 and 3.14 supported officially #825.
The pre-cached
armv7limages we build for the packaginginfrastructure are now correctly tagged with the
linux/arm/v7OCIplatform tag -- by @webknjaz.
Related issues and pull requests on GitHub: 🧪 Mark armv7l images w/
armOCI platform tag #810.The build backend configuration no longer sets the deprecated
bdist_wheel.universalsetting -- by @webknjaz.This does not influence the packaging artifacts in any way.
Related issues and pull requests on GitHub: Address
setuptools(+-scm) build backend warnings #811.The build backend has been configured to exclude
.git_archival.txtfrom source distributions built from Git -- by @webknjaz.
This reduces the number of false positive warning the backend outputs.
Related issues and pull requests on GitHub: Address
setuptools(+-scm) build backend warnings #811.Contributor-facing changes
The repository is now set up to auto-format Python files with Ruff.
Cython keeps being formatted by
cython-lint.-- by @webknjaz
Related commits on GitHub:
234a2d34,
a63b6028,
0e385696.
The linting configuration now uses Ruff to run additional checks on
pure Python modules -- by @webknjaz.
Related commits on GitHub:
8170954.
cibuildwheelstarted making use of thearmv7lcontainer imagefollowing its upgrade to v2.22.0 -- by @webknjaz.
Related issues and pull requests on GitHub: Bump pypa/cibuildwheel from 2.17.0 to 2.22.0 #648.
Increased the amount of retries in test to avoid possible timeouts on
slower systems -- by @Jakuje.
Related issues and pull requests on GitHub: tests: Increase retries to avoid timeouts on slower systems #777.
The SSHD start probe client command is now shielded from external
environmnent and will no longer attempt using an SSH agent on the
machine where the tests are involved, nor will it use alternative
authentication methods -- by @webknjaz.
Related issues and pull requests on GitHub: 🧪 Narrow SSH command in test helpers to one key #782.
Now that the
macos-13runner VM image has been decommissioned, theCI and CD jobs have been migrated to use
macos-15-intel-- by@komaldesai13.
This includes giving the macOS build job more time to complete as the
new version is a little slower.
Related issues and pull requests on GitHub: Update macOS VMs in CI/CD to v15 on Intel arch #791.
Updated the version of
libsshto the latest release v0.12.0 in thecached
manylinuxbuild environment container images -- by @Jakuje.Related issues and pull requests on GitHub: Update libssh to 0.12.0 #797.
Updated the bundled version of libssh to 0.12.0 in platform-specific
wheels published on PyPI -- by @Jakuje.
Related issues and pull requests on GitHub: Update to libssh 0.12.0 in platform-specific wheels #798.
Added Fedora and ubi9 images to CI/CD pipeline that are relevant in
2026 and removed EOL Fedora versions -- by @Jakuje.
Related issues and pull requests on GitHub: Update build images to include recent ubi9 and current Fedora versions #801.
The
pre-commitframework configuration has been updated to be insync with
awx-pluginsand other projects. It now has a fewadditional linters and a workaround for the outdated ones.
-- by @webknjaz
Related issues and pull requests on GitHub: 🧪 Sync the pre-commit framework setup w/ other projects #803.
The standalone mentions of
pylibsshhave been replaced withansible-pylibsshin file license headers -- by @Jakuje.Related issues and pull requests on GitHub: Replace remaining uses of pylibssh in headers #804.
The CI/CD/packaging infrastructure has been updated to produce
source distribution <Source Distribution (or "sdist")>file namesconsistent with the requirement of uploading artifacts compliant with
the core packaging metadata 2.2 or newer to PyPI and TestPyPI -- by
@webknjaz.
Along with that, the infrastructure has been adjusted to expect
625-conforming names in its guard rails checks -- with some@cidrblocks help.
Related issues and pull requests on GitHub: 📦 Bump build env pins to their last versions #808, Add Python 3.13 and 3.14 wheel builds #809.
cibuildwheelhas been upgraded to v3.1.4 -- by @webknjaz.Related issues and pull requests on GitHub: Add Python 3.13 and 3.14 wheel builds #809, 🧪📦 Bump
cibuildwheelto v2.23.3 in CI #820, 🧪📦 Bumpcibuildwheelto v3.0.1 #821,🧪📦 Bump cibuildwheel to v3.1.0 #823, 🧪📦 Bump
cibuildwheelto v3.1.4 #824.The coverage measurement infrastructure now uses the
ctracemeasurement core <config_run_core>across all the Python versionsconsistently -- by @webknjaz.
Related issues and pull requests on GitHub: Add Python 3.13 and 3.14 wheel builds #809, 🧪 Make Python 3.13 and 3.14 supported officially #825.
The CI now tests wheels built for Python 3.13 and 3.14 -- by
@cidrblock and @webknjaz.
Related issues and pull requests on GitHub: Add Python 3.13 and 3.14 wheel builds #809, 🧪 Make Python 3.13 and 3.14 supported officially #825.
The pre-cached
armv7limages we build for the packaginginfrastructure are now correctly tagged with the
linux/arm/v7OCIplatform tag -- by @webknjaz.
Related issues and pull requests on GitHub: 🧪 Mark armv7l images w/
armOCI platform tag #810.The build backend configuration no longer sets the deprecated
bdist_wheel.universalsetting -- by @webknjaz.This does not influence the packaging artifacts in any way.
Related issues and pull requests on GitHub: Address
setuptools(+-scm) build backend warnings #811.The CI/CD infrastructure has been set up to avoid parts of the
template injection problem in GitHub Actions workflow definitions. The
shell entry point has been set to bash for any scripts with extra
strictness enabled.
-- by @webknjaz
Related issues and pull requests on GitHub: Harden the CI/CD infra in GHA workflows #816.
The CI/CD and packaging infrastructure now sources the PyPI project
name from
setup.cfgrather than hardcoding it -- by @webknjaz.Related issues and pull requests on GitHub: 🧪 Get project name from
setup.cfgin infra #817.The documentation building infrastructure now integrates
GitHub-related RST roles using the
sphinx-issuesextension -- by@webknjaz.
Related issues and pull requests on GitHub: 📝Replace Sphinx's
extlinksw/sphinx-issues#818.This discussion was created from the release v1.4.0.
Beta Was this translation helpful? Give feedback.
All reactions