New Platforms
- Optilink GOLT in #3583
- Cisco Access Points in #3584
- IPInfusion OcNOS (commit model) in #3596
- Aviat WTM in #3602
- Nokia ISAM in #3725
- Perle IOLAN Console in #3738
- Smartoptics DWDM in #3760
- APC AOS in #3768
- OpenGear in #3769
- Cisco WLC IOS in #3777
- Calix EXA in #3781
- Hioso OLT in #3799
- Huawei ONT in #3800
- Raisecom ROS in #3802
- IIJ Seilos in #3804
- Avara in #3805
- Lancom LCOSsx5 in #3806
- Fujitsu SIR in #3807
- Hirschmann HIOS in #3808
- Furukawa FITELnet in #3810
- ZPE Nodegrid in #3835
What's Changed
- Fixes 'enable' call issue when device prompt is a substring of literal 'password' string in #3708
- Fix missing flags in re.search call in enable() in #3709
- Aruba OS: Add file transfer support in #3691
- Minor updates to Aruba OS file transfer in #3711
- Ocnos commit description map to 'comment' argument in #3714
- Remove superfluous executable bits in #3722
- Fix typing hints for timeouts: change from int to float in #3720
- Add py.typed and fix include/MANIFEST.in issues in #3723
- Mikrotik space fix issue in #3739
- Use proper type hints for session_log argument of BaseConnection constructor in #3727
- Minor perle fixes in #3740
- Fix Check Point Gaia double command echo issue in #3742
- Improve Check Point Gaia in #3748
- Fix Garderos GRS alt_prompt in #3733
- GH Actions: updating Python and MacOS runner versions in #3755
- Fix error in enable_secret_handler() in #3759
- nokia_isam improvements in #3754
- Add cleanup method for graceful cleanup for Gaia in #3772
- Add save config method for Gaia in #3773
- Add additional search pattern for AOS-CX (e.g. CX 6300M) in #3774
- Adva driver fixes in #3595
- IOS-XR add 'replace' option to commit method in #3668
- Improve Paramiko Cleanup in #3675
- Improve error pattern in #3811
- Update a10 driver in #3812
- Mikrotik check file exists in #3813
- Mikrotik login in #3814
- Cisco s500 driver mapped to s300 class in #3815
- Hide empty cli results in #3816
- Fix Adva F2/F3 session_preparation enter behavior in #3789
- Add fsas_sir as alias for fujitsu_sir device_type in #3809
- Raise ValueError on trailing backslash in InLineTransfer TCL string in #3817
- Add dell_sonic to FILE_TRANSFER_MAP in ssh_dispatcher in #3821
- Fix check_serial_port to use exact match instead of regex grep in #3822
- Remove deprecated License trove classifier from pyproject.toml in #3823
- Fix broken image URLs in README for PyPI rendering in #3824
- Fix Furukawa FITELnet driver bug in #3825
- Remove strip_command() override from FurukawaFitelnet driver in #3827
- Include matched error in ConfigInvalidException for cmd_verify=False in #3828
- Fix Huawei telnet password using "\r" instead of TELNET_RETURN in #3829
- Fix Juniper commit() expect_string false positive on '>' in #3830
- Add save_config to DellSonicSSH using 'write memory' in #3831
- Fix save_config for DellDNOS6 — use short command form with confirmation in #3832
- Implement enable mode for Cisco FTD via diagnostic CLI in #3834
- Use NoEnable mixin for CiscoXrBase in #3836
- Config mode fix in A10 driver in #3840
- Fix remote space function in ZPE Nodegrid driver in #3842
- Fix session_log flush so data is written immediately on write() in #3841
- Add unit tests for SessionLog in #3843
- Fix typing import issue on PY3.13 in #3846
- Fix exit_enable_mode issue with not verifying command echo in #3847
- Update poetry lock file to pin Paramiko version <5 (paramiko5 caused significant breakage) in #3852
- Replace pylama with ruff check in #3783
- Eliminate Python 'black' and convert over to 'ruff format' in #3785
- Update core dependencies in #3782
- Remove setup.cfg in #3784
- Refactor _build_ssh_client to use _get_ssh_client_instance (also fixes SSH-agent not working for certain drivers) in #3794
New Contributors
- @FestplattenSchnitzel made their first contribution in #3691
- @pklimai made their first contribution in #3596
- @isomogyi made their first contribution in #3727
- @bewing made their first contribution in #3740
- @mpfz0r made their first contribution in #3733
- @cdtomkins made their first contribution in #3774
- @balmasea made their first contribution in #3760
- @SeiyaFunaokaJP made their first contribution in #3825
- @jamestiotio made their first contribution in #3842
Full Changelog: v4.6.0...v4.7.0