1.0.0 (2025-09-28)
Major migration to Apache NiFi/Registry 2.x (tested against 2.5.0). Drops 1.x support on main
IMPORTANT To continue working with NiFi-1.x you should pin your requirements to nipyapi<1.0.0
Breaking Changes - Action Required
- Function renaming: Upstream API specification changes result in operation IDs now using suffixed names (e.g.,
update_run_status1) and some other functions are also renamed - Authentication and configuration overhaul: Significant changes to align with modern API standards and upstream API changes
- Users must review and update authentication patterns - legacy configuration methods will be different
Profile Management System
- Extensible file format (YAML/JSON) with environment variable overrides and sane defaults - familiar workflow like AWS CLI
- Intelligent authentication method detection: OIDC, mTLS, and Basic authentication based on available configuration parameters
- Built-in profiles for common deployment patterns:
single-user,secure-ldap,secure-mtls,secure-oidc - 15+ configurable parameters (URLs, credentials, certificates, SSL settings) with
NIPYAPI_PROFILEenvironment variable - Profile switching with
nipyapi.profiles.switch()configures endpoints, authentication, and SSL settings in single function call
Automated Development Workflow
- Comprehensive Makefile targets for all key development and release processes
- End-to-end automation: entire client generation and testing sequence from test certificates to final integration tests
- GitHub Actions CI with full Docker NiFi integration tests and coverage reporting
- Smart certificate regeneration and optimized rebuild flows to avoid unnecessary infrastructure cycling
Quick Start and Migration Tools
- Sandbox Docker environment for testing different authentication mechanisms with
make sandboxtarget - FDLC example retained and modernized to demonstrate proper multi-environment workflows (single-user dev, secure-ldap prod)
- Comprehensive migration guide (
docs/migration.rst) for upgrading from NiPyAPI 0.x/NiFi 1.x to 1.x/2.x
Core Technical Improvements
- Documentation system rebuild: Complete Sphinx overhaul with individual pages for all Core client, NiFi APIs and Registry APIs - with a flat API structure with optimal navigation
- Test coverage expansion: Comprehensive test suite with profile-driven automation rather than manual reconfiguration
- Pre-commit checks: Automated code quality with trailing whitespace, debug statements, flake8, and pylint hooks
- Modern dependency management: Migrated to
python -m build, replaced ruamel.yaml with PyYAML, explicit urllib3/certifi/requests inclusion - Enhanced documentation: Direct GitHub source code links with line-level precision, standardized docstrings throughout generated clients
- Profile-driven testing: Deprecated complex tox regression suite in favor of spec-driven single version testing
- Legacy pruning: Removed Python 2.7 and NiFi 1.x references, deprecated template-era dependencies (lxml, xmltodict)
- Codecov migration: Switched from Coveralls with pytest-cov integration and build process automation
- Enhanced convenience functions: Improved
set_endpointand variousensure_*object functions - Certificate handling improvements: Resolved user complexity with automatic CA certificate setup and validation
- Extensive authentication documentation: OIDC setup instructions, Safari keychain guidance, development vs production practices
- API augmentation system: Client build-time patching for upstream API issues (currently: enum handling and missing security schemes)
Additional Details
- Deprecate Travis CI by @Chaffelson in #385
- Deprecate Python2 support by @Chaffelson in #386
- Fixed a camel-case typo in the name of the NifiRegistryFlowRegistryCl… by @asdaraujo in #387
- NiPyAPI 1.0 Release - Apache NiFi 2.x Compatibility by @Chaffelson in #388
- Fix Codecov action parameters in CI workflow by @Chaffelson in #390
New Contributors
- @asdaraujo made their first contribution in #387
With thanks to @ottobackwards for release testing
Full Changelog: v0.22.0...v1.0.0