|
2 | 2 | History |
3 | 3 | ======= |
4 | 4 |
|
| 5 | +1.1.0 (2025-12-XX) |
| 6 | +------------------- |
| 7 | + |
| 8 | +| GitHub CI/CD Integration - Native support for NiFi's GitHub Flow Registry Client |
| 9 | +
|
| 10 | +**GitHub Flow Registry Support** |
| 11 | + |
| 12 | +- **Git-specific versioning helpers**: New functions to work with NiFi's native GitHub Flow Registry Client |
| 13 | + - ``list_git_registry_buckets``: List buckets (folders) in a Git-backed registry |
| 14 | + - ``get_git_registry_bucket``: Get a specific bucket by name |
| 15 | + - ``list_git_registry_flows``: List flows in a bucket |
| 16 | + - ``get_git_registry_flow``: Get a specific flow by name |
| 17 | + - ``list_git_registry_flow_versions``: List all versions (commits) of a flow |
| 18 | + - ``deploy_git_registry_flow``: Deploy a versioned flow from GitHub to the NiFi canvas |
| 19 | +- **Registry client management**: ``ensure_registry_client`` and ``update_registry_client`` for idempotent registry configuration |
| 20 | + |
| 21 | +**Profile System Enhancements** |
| 22 | + |
| 23 | +- **"env" profile for CI/CD**: New special profile name that configures nipyapi entirely from environment variables |
| 24 | + - No profiles file required - ideal for GitHub Actions, containers, and CI/CD pipelines |
| 25 | + - Uses ``nipyapi.profiles.switch('env')`` to activate |
| 26 | + - All standard environment variable mappings (``NIFI_API_ENDPOINT``, ``NIFI_USERNAME``, etc.) apply |
| 27 | +- **Documentation**: Added "env" profile usage guide to profiles documentation |
| 28 | + |
| 29 | +**Controller Service Management** |
| 30 | + |
| 31 | +- **Bulk controller service operations**: ``schedule_all_controllers(pg_id, scheduled)`` to enable/disable all controller services in a process group |
| 32 | + - Uses NiFi's native bulk activation API |
| 33 | + - Handles all descendant controller services automatically |
| 34 | + - Simplifies flow start/stop operations in CI/CD workflows |
| 35 | + |
| 36 | +**Bug Fixes** |
| 37 | + |
| 38 | +- Fixed ``test_create_controller`` leaving orphaned ADLS controller services after test runs |
| 39 | +- Improved test cleanup fixtures for better isolation |
| 40 | + |
| 41 | +**Related Projects** |
| 42 | + |
| 43 | +- **nipyapi-actions**: Companion GitHub Action for NiFi CI/CD workflows (separate repository) |
| 44 | +- **nipyapi-workflow**: Demo repository showing PR-based flow testing patterns |
| 45 | + |
5 | 46 | 1.0.1 (2025-11-10) |
6 | 47 | ------------------- |
7 | 48 |
|
@@ -195,41 +236,6 @@ History |
195 | 236 | * If Client is not instantiated, optimistically instantiate for version checking |
196 | 237 | * add socks proxy support |
197 | 238 |
|
198 | | -0.16.3 (2021-10-11) |
199 | | -------------------- |
200 | | - |
201 | | -| 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. |
202 | | -| Add greedy control to versioning.get_registry_bucket and versioning.get_flow_in_bucket to avoid undesirable partial string match. |
203 | | -
|
204 | | -* Update readme to reflect switch from 'master' branch naming to 'main'. |
205 | | -* Update tox to pin testing to Python 3.8, as Python 3.9 is producing unexpected and unrelated SSL failures |
206 | | -* Minor lint formatting improvements |
207 | | - |
208 | | -0.16.2 (2021-02-10) |
209 | | -------------------- |
210 | | - |
211 | | -| 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 |
212 | | -
|
213 | | -* Update requirements.txt to unpin future and lxml |
214 | | -* Update lxml to 4.6.2 or newer to resolve vulnerability |
215 | | -* Pin watchdog to <1.0.0 per their docs to maintain Python2.7 compatibility |
216 | | -* Revert 0.14.3 changes to Authentication handling which introduced basicAuth support but resulted in some NiFi connections appearing incorrectly as Anonymous |
217 | | -* Added simpler basicAuth control to force it via a config switch without changing tokenAuth and other Authorization header behavior during normal usage |
218 | | -* nipyapi.config.global_force_basic_auth is now available for use for this purpose |
219 | | -* Secured Registry users will now require the authorization policy to retrieve the swagger so we may use it to validate which version of |
220 | | -* Registry is in use for feature enablement |
221 | | -* Moved all Security controls in config.py to a common area at the foot of the file |
222 | | -* Removed auth_type from security.service_login as it is now redundant |
223 | | -* 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 |
224 | | -* security.set_service_auth_token now has an explicit flag for ssl host checking as well |
225 | | -* Fix oversight where improved model serialisation logic was not correctly applied to Registry |
226 | | -* Removed unusused parameter refresh from parameters.update_parameter_context |
227 | | -* Reduced unecessary complexity in utils.dump with no change in functionality |
228 | | -* Updated client gen mustache templates to reflect refactored security and api client code |
229 | | -* Minor linting and docstring and codestyle improvements |
230 | | -* Set pyUp to ignore Watchdog as it must stay between versions to statisfy py2 and py3 compatibility |
231 | | -* If Client is not instantiated, optimistically instantiate for version checking |
232 | | -* add socks proxy support |
233 | 239 |
|
234 | 240 | 0.15.0 (2020-11-06) |
235 | 241 | ------------------- |
|
0 commit comments