Skip to content

Releases: Chaffelson/nipyapi

Minor fixes for NiFi 12.x matching release

11 Oct 13:33
v0.16.3
7c10f1a

Choose a tag to compare

  • 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.

Fix authentication and security CVEs on deps

10 Feb 17:42
v0.16.2
292aa1e

Choose a tag to compare

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

Fix Versioning with Parameters

11 Dec 10:35

Choose a tag to compare

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.

Add Parameter Context Support...

09 Dec 19:38

Choose a tag to compare

  • 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

NiFi-Registry 0.5.0 and Bugfixes

09 Oct 16:40

Choose a tag to compare

  • Updated NiFi-Registry Client to 0.5.0
  • It is now possible to have group level policies applied instead of just user
  • Corrected security.bootstrap_policies for Registry Proxy commands
  • Updated docker helper versions to latest
  • Implemented utils.rest_exceptions to wrap normal Rest exception raising
  • Modified Linting ignore list to remove noise
  • Linting fixes for relevant complaints
  • Corrected Exception testing to reflect tidied up exception raising
  • Version pegging changes to continue support for Py2 and Py3 until deprecation of Py2 in 2020

NiFi-1.8.0 NiFi-Registry-0.3.0 Controller and Connections

20 Dec 14:02

Choose a tag to compare

Updated NiFi client for 1.8.0
Updated NiFi-Registry client for 0.3.0
Added Controller Service Management (experimental)
Added Connections Management (experimental)
New Project Logo! Kindly provided by KDoran
Fixed several bugs around how the special root Process Group is handled when listing all Project Groups for various methods

  • Various backwards compatibility improvements for handling calls going back to NiFi-1.1.2
  • Various speedups for NiFi-1.7+ using descendants functionality to recurse the canvas
  • Ability for various methods to specify a Process Group to use as the parent instead of always using root
  • Better username/password handling in security.py and config.py
  • Support for global ssl_verify squashing in config.py
  • Added swagger for 1.8.0 to project resources against potential future validation requirements
  • Added versioned deployment convenience functions for finding sensitive and invalid processors, should make it easier to update properties when importing to a new canvas
  • Added summary options to several calls to return simple objects suitable for quick processing rather than full objects that need to be parsed
  • Added utils.infer_object_label_from_class to make it easier to create connections between objects
  • Updated compound methods like delete_process_group to also handle connections and controllers elegantly if requested
  • Various codestyle and testing improvements

Python3.7 support and SDLC improvements

12 Oct 10:35

Choose a tag to compare

  • Added steps to fdlc demo to show sensitive and invalid processor testing and behavior during deployment
  • Added list_sensitive_processors and list_invalid_processors to nipyapi.canvas
  • Added simple caching capability for certain calls to nipyapi.config
  • Added placeholder tests for new functionality against next refactoring and integration run
  • Missing assertion test in get_process_group_status
  • deprecated use of tests_require setup.py as current best-practice
  • Update ruamel.yaml to support Python 3.7 with passing tests
  • Added test for docker image already present to avoid excessive downloading
  • Added option to recurse from a given pg_id, rather than always from root, to several canvas functions
  • Added default verify_ssl and ssl error squashing to config for user convenience
  • Added filter option to specify whether exact or greedy matching should be used, still greedy by default
  • Added hard logout when changing endpoint to ensure tokens are refreshed
  • Updated tests
  • updating travis to build all branches
  • Fix travis for Python 3.7 testing support
  • Fix edge case in delete process group where templates stop the revision from being refreshed
  • Fixed test case to decode string correctly in old python versions
  • Fixed race condition in test where not all processors started before test executes
  • bugfix for missing status value in Processor DTO
  • Updating pylint to ignore import errors on standard packages
  • added logging to docker image control
  • Bump version: 0.10.3 → 0.11.0
  • Install requirements reset

NiFi-1.7.1 and NiFi-Registry-0.2.0 support

03 Aug 13:06

Choose a tag to compare

Key Changes

  • Reworked NiFi-Registry pytest setup to support multiple versions
  • Changed schedule_processor to use component. rather than status. tests as they are more reliable
  • Swtiched Docker configs to use explicit versions instead of latest for more consistent behavior across environents

Version Changes

  • Deprecated testing against NiFi-1.5.0 due to host headers issue - recommend users to upgrade to at least NiFi-1.6.0
  • Deprecated testing against NiFi-1.4.0 as superfluous
  • Added testing for NiFi-1.7.1 and NiFi-Registry-0.2.0

Updated NiFi client to 1.6.0 release

16 May 07:30

Choose a tag to compare

Potentially Breaking Changes

Users should check the updated documentation and ensure their tests pass as expected

  • Several NiFi client API calls were inconsistently CamelCase'd and have been renamed in the upstream NiFi release, I have honoured those changes in this release. If you use them please check your function names if you get an error

New Features

  • Added functionality to Deploy a versioned flow to the canvas. This was an oversight from the 0.8.0 release. Function is creatively named ./versioning/deploy_flow_version

Other Notes

  • Updated the Issue Template to also ask how urgent the problem is so we can priortise work
  • Where possible we have switched to using the Apache maintained Docker containers rather than our own, there should be no impact to this unless you were relying on some edge part of our test compose files

Secured environments, Versioning import/export, Fixed Templates, New Docs, Others

07 Mar 00:15

Choose a tag to compare