Scrapli

Latest version: v2024.1.30

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

Scan your dependencies

Page 4 of 13

2020.11.15

- Fix a regex that sometimes caused a failed functional IOSXR test
- Add `ptyprocess` transport options for system transport -- sounds like this may be needed for huawei community platform to be able to set the pty process terminal size -- also added some basic testing for this
- Update scrapli-ssh2 pin to latest version -- now supports keyboard interactive auth; also un-skipped all related EOS tests now that this works
- Fix missing acquire priv in default on_open methods for nxos and eos async version
- Fix incorrect `textfsm_platform` for iosxr (was cisco_iosxr, now is cisco_xr)
- Remove unnecessary decorator on write operations for systemssh and telnet -- this operation shouldn't block so this was unnecessary; any issue here should raise some exception from the lower level library.
- Playing around w/ adding coverage reports with Codecov

2020.11.01

- actually support nornir config file ssh config file option
- improved dry run handling (and support of global dry run) for send config(s) methods
- added dry run handling for netconf edit config
- added diff capability for netconf edit config
- diff coloring -- red for remove, green for addition (again, only netconf)
- dev pin updates

2020.10.24

- Improve the "echo" checker -- and add this for sync as well, because...
- SSH2 and Paramiko are now supported transports!
- As part of the "improved echo checker" sync channel now also overrides the read_until_input method like the async channel does -- again, for the same reasons.
- All transports minus system are now optional extras -- this means that asyncssh is no longer an install requirement
- As expected with above point -- added optional extras install options in setup.py as well as a "full" option just like scrapli core
- MAYBE BREAKING CHANGE: shouldn't be an issue for 99.9999% of people, however, the asyncssh transport is no longer imported and available in the transport package
- Add `error_messages` attribute to response object -- initialized as an empty list and the text of any `rpc-error/error-message` fields are placed into this list if there are any in the response from the server
- Improve netconf 1.1 chunk matching regex to not ignore/chop off Nokia error messages that contained `` symbols

2020.10.10

- Improve logging in helper functions - especially around resolving ssh config/known hosts
- Add `ttp_parse_output` method to Response object; add `ttp_parse` function in helper
- Load requirements from requirements files and parse them for setup.py -- stop me from forgetting to update in one place or another!
- Slacken the IOSXE configuration prompt pattern -- `hostname(ipsec-profile)` was not being caught by the pattern as it was expecting the part in parenthesis to start with "conf" - thank you Talha Javaid for bringing this up on ntc slack, and Alex Lardschneider for confirming the "fix" should be good to go!
- Add `community` pip extra to install scrapli community
- Minor README house keeping!
- Made transport `set_timeout` saner -- I genuinely don't know what I was doing with that before... this included the base class as well as updating telnet and systemssh... in theory this could be a breaking change if you were just calling `set_timeout` for some reason without passing an argument... you probably weren't doing that... because why would you? There was *some* precedent for doing it like this before but it isn't worth caring about now :)
- Did smarter things with imports in helper, added tests to make sure the warnings are correct
- Dramatically simplified session locking... this had just gotten out of hand over time... now only the channel locks. This means that basically all inputs/outputs should go through the channel and/or you should acquire the lock yourself if you wish to read/write directly to the transport. Critically this means that all the external transport plugins AND scrapli-netconf need to be updated as well -- this means that you *must* update all of these if you are using this release! (requirements are of course pinned to make sure this is the case)
- **BREAKING CHANGE:** removed **ALL** keepalive stuff... for now. This will probably get added back, but AFAIK nobody uses it right now and the implementation of it is frankly not very good... keeping it around right now added complexity for little gain. Keepalives will be back and improved hopefully in the next release. If you need them, please just pin to 2020.09.26!

2020.09.26

- Improved error handling/exceptions for scrapli `Factory`
- Fixed issue where `system` transport did not properly close/kill SSH connections
- Added 3.9-dev testing to GitHub Actions
- Added initial testing/support of `on_init` callable to base driver -- the idea for `on_init` is mostly to allow `scrapli_community` platform creators to be able to add an additional callable to be executed after initialization of the scrapli object, but before any `open` method is called
- Added initial testing/support of `scrapli_community` driver classes -- this would allow `scrapli_community` platform creators to create driver classes so that they can implement custom methods for each platform type if desired
- Minor improvements to `telnet` transport to improve logging as well as authentication validation (are we authenticated); this also makes `telnet` look/feel a lot more like `system` which is nice for consistency reasons
- Fix regression that caused scrapli to spam a bajillion log entries -- now a filter gets applied in both `Channel` and `Transport` base classes to snag the filter from the root `scrapli` logger and apply it to the base/channel loggers
- Fully give into the warm embrace of dependabot and pin all the dev requirements to specific versions... dependabot can keep us up to date and this lets us not worry about builds failing because of dev requirements getting changed around
- Fix ptyprocess file object closing issue

2020.09.23

Another little housekeeping release, but this one with some new features too. Added the `validate` and `delete-config` rpcs. 3.9 is now being tested in master actions, version bump ++ regex docs!

Page 4 of 13

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.