Nipyapi Versions Save

A convenient Python wrapper for Apache NiFi

v0.20.0

1 month ago

What's Changed

New Contributors

Full Changelog: https://github.com/Chaffelson/nipyapi/compare/v0.19.1...v0.20.0

v0.19.1

1 year ago

What's Changed since 0.17

New Contributors since 0.17

v0.19.0

2 years ago
  • modify utils.check_version to accept a default version to check against, and remove nested error when version check fails as it is overzealous
  • Update test file paths in test_utils in case someone runs tests as root which actually can write to fake devices and therefore break the tests
  • Updated clients for 1.16
  • Added pylint exclusions for known but unimportant complaints
  • Added workaround for NiFi 9470 by providing default inherited_parameter_contexts per advice from Chris Sampson in NiPyAPI Issue https://github.com/Chaffelson/nipyapi/issues/305
  • Fixes https://github.com/Chaffelson/nipyapi/issues/305
  • Updated NiFi and Registry versions in Docker compose configs to use latest 1.16.1 builds

v0.18.0

2 years ago
  • Moved testing to secured single user by default for NiFi
  • Consolidated clients to the 1.15.0 release version for both NiFi and Registry
  • Updated logic to support changed working modes in tests
  • Corrected minor functional issues for 1.15 in login handling, SSL certs, Parameter Updates and Testing
  • Backwards compatibility and Regression tested as requiring no breaking changes

v0.17.1

2 years ago

Added gzip as default request header (PR from @rsaggino ) Update ruamel.yaml to 0.17.16 Update file read/write to explicitly handle encoding per best practices; default to UTF8; configurable in nipyapi.config Linting and style changes to update to Python 3.9 standards, except where it would break backwards compatibility to Python 2.7 Test support for Amazon Linux 2, mostly better error handling for filesystem responses

v0.17.0

2 years ago

Update NiFi and client to 1.13.2 Update Registry and client to 0.8.0 Minor spelling and linting fixes Removed travisCI build indicator as TravisCI itself has been broken for a while, will move to new build service Removed extraneous nifidev and registrydev containers from tox-full docker-compose definition

Note that Python 3.9 has SSL issues, but the library is testing as normal with 3.5-3.8/2.7.

v0.16.3

2 years ago
  • Bump version: 0.16.2 → 0.16.3
  • Removed force reset of configuration.password and configuration.username to empty string. This was not increasing security, and was causing unexpected errors for users connecting to multiple services in a single script.
  • Add greedy control to versioning.get_registry_bucket and versioning.get_flow_in_bucket to avoid undesirable partial string match.
  • Update readme to reflect switch from 'master' branch naming to 'main'.
  • Update tox to pin testing to Python 3.8, as Python 3.9 is producing unexpected and unrelated SSL failures
  • Minor lint formatting improvements
  • Update docs for 0.16.3 patch release
  • Correct wording in Parameter Contexts warning when version support is unknown. It may drop the details, but it might also keep them.

v0.16.2

3 years ago

NOTE: If you are using secured Registry, this release will enforce access controls for the swagger interface which is used to determine which version of Registry is connected in order to correctly provide features - you may have to update your authorizations

  • Update requirements.txt to unpin future and lxml
  • Update lxml to 4.6.2 or newer to resolve vulnerability
  • Pin watchdog to <1.0.0 per their docs to maintain Python2.7 compatibility
  • Revert 0.14.3 changes to Authentication handling which introduced basicAuth support but resulted in some NiFi connections appearing incorrectly as Anonymous
  • Added simpler basicAuth control to force it via a config switch without changing tokenAuth and other Authorization header behavior during normal usage
  • nipyapi.config.global_force_basic_auth is now available for use for this purpose
  • Secured Registry users will now require the authorization policy to retrieve the swagger so we may use it to validate which version of Registry is in use for feature enablement
  • Moved all Security controls in config.py to a common area at the foot of the file
  • Removed auth_type from security.service_login as it is now redundant
  • Added controls to handle certificate checking behavior which has become more strict in recently versions of Python3, ssl_verify and check_hostname are now handled
  • security.set_service_auth_token now has an explicit flag for ssl host checking as well
  • Fix oversight where improved model serialisation logic was not correctly applied to Registry
  • Removed unusused parameter refresh from parameters.update_parameter_context
  • Reduced unecessary complexity in utils.dump with no change in functionality
  • Updated client gen mustache templates to reflect refactored security and api client code
  • Minor linting and docstring and codestyle improvements
  • Set pyUp to ignore Watchdog as it must stay between versions to statisfy py2 and py3 compatibility
  • If Client is not instantiated, optimistically instantiate for version checking
  • add socks proxy support

v0.16.1

3 years ago

Fix issue #229 where Parameter Contexts were not being correctly handled in Versioning with NiFi Registry. Also add user warnings and version tests for when interaction between Registry and NiFi may lose data in older versions of each where Parameters are not supported.

v0.16.0

3 years ago
  • Add support for Parameter Contexts in parameters.py with appropriate tests and fixtures
  • Add greedy control support to canvas.get_processor_type
  • Improve get by ID behavior to correctly return None when an invalid ID is submitted (previously raised a 404)
  • Add utils.enforce_min_version to improve controls when a feature is not available in older versions of NiFi as Parameter Contexts were only introduced in 1.10.0

Update release process in devnotes.rst with additional checks Rework error raising to provide raise_from support inline with newer Python best practices, added future to requirements.txt in support of this for Py2 and Py3 intercompatibility Add checks to canvas.create_processor for correct user submissions Add canvas.get_controller_type to fetch a single controller type, previously only a listing option was provided Minor test case and style improvements Add refresh default to canvas.update_process_group Add convenience methods to parameters.py to assign and remove a Parameter Context to a Process Group, with appropriate tests Minor coding style improvements