What's New:
- Added functionality for My Resources dynamic resources.
- Added support for custom headers for My Access, My Resources, My Secrets.
- Added support for service identity impersonation.
- Added support for AI service identity type.
- Added
python3.14support. - Dropped
python3.9support, EOL 2025-10-31.
Enhancements:
- Added
my_resources.[build|delete|list_dynamic_parameters]for dynamic resources usage. - Added
headersparam for[my_access|my_resources|my_secrets]methods. - Added
impersonationtoaccess_broker.profiles.[create|update]for service identity impersonation. - Added
identity_management.ai_identitiesfor AI service identity type.
Bug Fixes:
- Trailing slash in url affects
python3.14+. - Identity types is a requirement, updates to
identity_management.identity_attributes.[create|identity_types] - Updated
update_fields_to_keepforapplication_managment.profiles.updatedue to API error. access_broker.resources.types.updaterequiresnamein payload to avoid name update error.
Dependencies:
python3.14dependency bumps:[requests>=2.32.5, jmespath>=1.1.0]
Other:
- Updated documentation for GCP federation provider doc string.
- Various test fixes and adjustments
What's New:
- Added Manager Approval support to
[application_management|secrets_manager|system]. - Added GCP Federation Provider.
Enhancements:
- Added
manager_conditionparameter to[application_management.profiles|secrets_manager|system].policies.build. - Drop
socketusage to speed up response times in specific scenarios, e.g., Windows DNS in WSL environments.
Bug Fixes:
- None
Dependencies:
- None
Other:
- Test naming convention updates.
What's New:
- None
Enhancements:
- Added
org_scan_onlyparameter toapplication_management.[applications|scans].scanallowing organization only scans of Azure and GCP.
Bug Fixes:
- None
Dependencies:
- None
Other:
- None
What's New:
- None
Enhancements:
- None
Bug Fixes:
- Fixed unbound variable error when
check_response_for_erroris run against generic HTTP error.
Dependencies:
- None
Other:
- None
What's New:
- Added
security.active_sessionsfunctionality to allow administrative session management.
Enhancements:
- None
Bug Fixes:
- None
Dependencies:
- None
Other:
- None
What's New:
- Added
advanced_settingsfunctionality to:application_managementapplication_management.profilesaccess_broker.profiles
- Added
global_settings.itsmfunctionality.
Enhancements:
- Added missing params for
secrets_manager.[secrets|vaults]andfileupdates.
Bug Fixes:
- None
Dependencies:
- None
Other:
- Updated tests to use uniform naming convention.
- Refactored
application_management.profilesto break out classes for added clarity.
What's New:
- None
Enhancements:
- None
Bug Fixes:
- Upload
check[in|out]_filecontent foraccess_broker.resources.permissions.[create|update]to avoidrequestsinjected headers.
Dependencies:
- None
Other:
- None
What's New:
- None
Enhancements:
- None
Bug Fixes:
- Added missing
fieldsparam toaccess_broker.resources.types.[create|update] - Fixed
my_resources.listbug, whereparamsisNoneinstead of expecteddict - Fixed issue with
access_broker.resources.permissions.createuploading files when none are specified. - Correct the
membersparam example foraccess_broker.profiles.policies.[create|update]
Dependencies:
- None
Other:
- Type hint cleanup and preferential sorting for
access_broker
What's New:
- None
Enhancements:
- None
Bug Fixes:
- Added missing
409 Conflicttoexceptions.allowed_exceptions - Added missing zero in the
PP-errors inexceptions.badrequest - Raise specific
InvalidTenantErrorwhen DNS resolution fails inhelpers.utils.parse_tenant. - Updated type hint typo, from
listtodict, in[my_access|my_resources].list.
Dependencies:
jmespath >= 1.0.1
Other:
- None
What's New:
my_resources.listakin tomy_access.listallowing the use ofsize.
Enhancements:
- None
Bug Fixes:
managed_permissionsadded to theapplication_managementinit.Britive.parse_tenantstill referenced inawsfederation provider.
Dependencies:
- None
Other:
- None
What's New:
- None
Enhancements:
- None
Bug Fixes:
- Withdrawn request now returns
withdrawnstatus instead ofcancelled. - Always include ITSM
ticket_typeand/orticket_idif they are provided. - Failing
my_resources.checkoutdue to 404 after approval.
Dependencies:
- None
Other:
- None
What's New:
- Reorganized codebase to align with UI orginizational structure.
- Decoupled
my_requestsandmy_approvalsfrommy_access. - Added
brokersandpoolsfunctionality foraccess_broker. - Added
firewallsettings functionality. - Added Britive
managed_permissionsfunctionality. - Britive exceptions by type and error code.
my_resourcesimprovements.
Enhancements:
- Added
add_favoriteanddelete_favoritetomy_resources. - Added checkout approvals to
my_resources. - Added ITSM to checkout approvals.
- Added
(create|list|update|delete)_filter) tomy_access. - Added
response_templatesfunctionality foraccess_brokercredentials. - Added
request_approval[_by_name]|withdraw_approval_request[_by_name]tomy_resources. - Added
my_access.listto retrieve access details with newtype=sdkoption.
Bug Fixes:
- Fixed missing
param_valuesoption for resource creation. my_approvals.listnow includesmy_resourcesrequests.- Make
getcall in helper method insteadlist_approvals. - Catch
requests.exceptions.JSONDecodeErrorinhandle_response.
Dependencies:
requests >= 2.32.0
Other:
- Python 3.8 is EOL, so support is dropped.
- Method assignments dropped:
| Dropped | New location |
|---|---|
access_builder |
application_management.access_builder |
accounts |
application_management.accounts |
applications |
application_management.applications |
audit_logs |
audit_logs.logs |
environment_groups |
application_management.environment_groups |
environments |
application_management.environments |
groups |
application_management.groups |
identity_attributes |
identity_management.identity_attributes |
identity_providers |
identity_management.identity_providers |
notification_mediums |
global_settings.notification_mediums |
notifications |
workflows.notifications |
permissions |
application_management.permissions |
profiles |
application_management.profiles |
saml |
security.saml |
scans |
application_management.scans |
security_policies |
security.security_policies |
service_identities |
identity_management.service_identities |
service_identity_tokens |
identity_management.service_identity_tokens |
settings |
global_settings |
step_up |
security.step_up_auth |
tags |
identity_management.tags |
task_services |
workflows.task_services |
tasks |
workflows.tasks |
users |
identity_management.users |
workload |
identity_management.workload |
my_access.approval_request_status |
my_requests.approval_request_status |
my_access.approve_request |
my_approvals.approve_request |
my_access.list_approvals |
my_approvals.list |
my_access.reject_request |
my_approvals.reject_request |
What's New:
- Added
access_brokerfunctionality.
Enhancements:
- None
Bug Fixes:
- Fixed incorrect
if filterinsecrets_manager.
Dependencies:
- None
Other:
- Switched
toxto install fromrequirements.txt
What's New:
- Added
access_builderfunctionality. - Added
audit_logs.webhooksfunctionality.
Enhancements:
- Added
commentstomy-access.{approve|reject}_requestargs. - Added
filter_expressiontonotification_mediums.list. notification_mediums.createnow usesurl=...andtoken=...instead ofconnection_parameters.- Added
otpfor step up authentication tomy_secrets.{download|view}.
Bug Fixes:
- Fixed issues with some tests and added missing test deletes.
Dependencies:
- Dropped support for
python3.7. - Dropped
pkg_resourcesdependency.
Other:
- Removed deprecated
policies.py. - Removed deprecated
from_time|to_time. - Switched to
rufffor style linting and code-quality checking.
NOTE: This will be the last minor version before 3.0.0
What's New:
britive.my_resources- allow users to list, checkout, and checkin their Cloud PAM Anywhere resources.britive.step_up.authenticate- allow users to use MFA/TOTP step-up authentication withbritive.my_access.checkout
Enhancements:
- Addition of
gitlabfederation provider - Addition of
include_tagsonusers.listandservice_identities.list
Bug Fixes:
- Adding missing
otparguments tomy_access. - missing
otpdependency fortoxtesting.
Dependencies:
- None
Other:
- Added
*_CA_BUNDLEexamples to the docs. - Add
PYBRITIVE_CA_BUNDLEtorequestssession if set, introduced in pybritive (v1.8.0rc2)
What's New:
britive.my_resources- allow users to list, checkout, and checkin their Cloud PAM Anywhere resources.
Enhancements:
- None
Bug Fixes:
- missing
otpdependency fortoxtesting.
Dependencies:
- None
Other:
- None
What's New:
- None
Enhancements:
- None
Bug Fixes:
- Adding missing
otparguments tomy_access.
Dependencies:
- None
Other:
- Added
*_CA_BUNDLEexamples to the docs. - Add
PYBRITIVE_CA_BUNDLEtorequestssession if set, introduced in pybritive (v1.8.0rc2)
What's New:
britive.step_up.authenticate- allow users to use MFA/TOTP step-up authentication withbritive.my_access.checkout
Enhancements:
- None
Bug Fixes:
- None
Dependencies:
- None
Other:
- None
What's New:
- None
Enhancements:
- Addition of
include_tagsonusers.listandservice_identities.list
Bug Fixes:
- None
Dependencies:
- None
Other:
- None
What's New:
- None
Enhancements:
- Addition of
gitlabfederation provider
Bug Fixes:
- None
Dependencies:
- None
Other:
- None
What's New:
britive.settings.banner.*- administer the banner/system announcementbritive.banner- view the banner/system announcement (all end users can view the banner)
Enhancements:
- Implement logic to catch and present user-friendly error if a tenant is under maintenance
britive.users.minimized_user_detailsmethod to get a summarized set of user attributes given a list of user idsbritive.tags.minimized_tag_detailsmethod to get a summarized set of tag attributes given a list of tag idsbritive.notification.configuremethod changes to support thememberRulesattribute- Native spacelift.io OIDC workload federation support
- Add
filter_expressionto listing of system policies/roles/permissions - Add
secrets_manager.rename()method - Add
view=includePoliciesas an option to the listing of profiles
Bug Fixes:
- Fix bug related to pagination with system policies/roles/permissions (#97)
Dependencies:
- Removal of
pkg_resourcesdependency
Other:
- Remove references to version 1 of profiles as the Britive Platform no longer supports version 1 and all customers have been migrated to version 2
- Updates to the test suite
- Addition of
__version__in__init__.py
What's New:
- None
Enhancements:
- None
Bug Fixes:
- None
Dependencies:
- Removal of
pkg_resourcesdependency
Other:
- Addition of
__version__in__init__.py
What's New:
- None
Enhancements:
- None
Bug Fixes:
- None
Dependencies:
- None
Other:
- Updates to the test suite
What's New:
- None
Enhancements:
- Add
filter_expressionto listing of system policies/roles/permissions - Add
secrets_manager.rename()method - Add
view=includePoliciesas an option
Bug Fixes:
- Fix bug related to pagination with system policies/roles/permissions (#97)
Dependencies:
- None
Other:
- Updates to the test suite
What's New:
- None
Enhancements:
- Native spacelift.io OIDC workload federation support
Bug Fixes:
- None
Dependencies:
- None
Other:
- None
What's New:
britive.settings.banner.*- administer the banner/system announcementbritive.banner- view the banner/system announcement (all end users can view the banner)
Enhancements:
- Implement logic to catch and present user-friendly error if a tenant is under maintenance
britive.users.minimized_user_detailsmethod to get a summarized set of user attributes given a list of user idsbritive.tags.minimized_tag_detailsmethod to get a summarized set of tag attributes given a list of tag idsbritive.notification.configuremethod changes to support thememberRulesattribute
Bug Fixes:
- None
Dependencies:
- None
Other:
- Remove references to version 1 of profiles as the Britive Platform no longer supports version 1 and all customers have been migrated to version 2
What's New:
- None
Enhancements:
- Support for extending a checked out profile via
my_access.extend_checkoutandmy_access.extend_checkout_by_name
Bug Fixes:
- None
Dependencies:
- None
Other:
- None
What's New:
- None
Enhancements:
- Support for extending a checked out profile via
my_access.extend_checkoutandmy_access.extend_checkout_by_name
Bug Fixes:
- None
Dependencies:
- None
Other:
- None
What's New:
- None
Enhancements:
- Support additional policy condition format. Historically only "stringified" JSON was supported by the Britive backend. Now standard JSON is supported and this SDK will now optionally offer to convert the policy condition block to a python dictionary.
Bug Fixes:
- Enhanced error handling when a secret or node/path in secrets manager does not exist
- Fixed bug related to AWS federation provider when a tenant was not provided via the BRITIVE_TENANT environment variable
Dependencies:
- None
Other:
- None
What's New:
- None
Enhancements:
- Support for
environment_associationinprofiles.list - Support for
summaryparameter onprofiles.get
Bug Fixes:
- Fixes a bug that will re-request access to a secret instead of raising an exception that the secret request was denied.
- Fixes service identity tokens due to some changes in the way they are generated now that service identity workload federation is supported.
- Fixes a bug with
profiles.updatewhich was not including all the proper fields in the update request.
Dependencies:
- None
Other:
- Updates to the test suite.
What's New:
- None
Enhancements:
- None
Bug Fixes:
- Properly handle situation when a user requests approval to checkout a profile but there is already an approved request for that same profile.
Dependencies:
- None
Other:
- None
What's New:
- Support for profile permission constraints.
Enhancements:
- Support multiple notification mediums for an approval policy condition.
Bug Fixes:
- None
Dependencies:
- Resolve dependabot alert for
requests- security/dependabot/1
Other:
- None
What's New:
- Added
workload.scim_userfor managed workload identity federation for SCIM users. - Added
my_access.approve_request,my_access.reject_request, andmy_access.list_approvals.
Enhancements:
- Modified the way in which workload identity providers are associated with service identities.
- Added
date_scheduleanddays_scheduleto the various policybuildmethods.
Bug Fixes:
- Addressed race condition in
my_access.checkoutif multiple processes (running as the same user) attempt to check out the same profile for the same environment at the same time
Dependencies:
- None
Other:
- None
What's New:
- Support for tag membership rules.
Enhancements:
- Allow the creation of external tags (tags associated with an identity provider) using a non-SCIM identity.
Bug Fixes:
- None
Dependencies:
- None
Other:
- None
What's New:
- Workload API coverage (create workload federation identity providers and map to service identities)
workload - System Policies coverage
system.policies - System Roles coverage
system.roles - System Permissions coverage
system.permissions
Enhancements:
- Add custom attribute coverage to users and service identities
Bug Fixes:
- None
Dependencies:
- For dev/test removed the pin on
pytestwhich was causing issues with newer versions of python
Other:
- None
DEPRECATION NOTICE
policies.py
This python file only holds one method build. The remainder of the system policy logic has been created
in system.policies so as not to cause confusion with secrets manager and profile policies.
In the next major release, policies.py will be retired. As of release 2.17.0 the polices.build method
simply calls system.policies.build.
What's New:
- Natively support Azure Managed Identity OIDC authentication for workload federation.
Enhancements:
- None
Bug Fixes:
- None
Dependencies:
- None
Other:
- None
What's New:
- None
Enhancements:
- None
Bug Fixes:
- Added missing API call
profiles.get_scopes()
Dependencies:
- None
Other:
- None
What's New:
- Added two new APIs for managing single environment scope changes for a profile
profiles.add_single_environment_scope()profiles.remove_single_environment_scope()
Enhancements:
- None
Bug Fixes:
- None
Dependencies:
- None
Other:
- None
What's New:
- None
Enhancements:
- None
Bug Fixes:
- In
poilicies.build()properly handle when lists are empty
Dependencies:
- None
Other:
- None
What's New:
- None
Enhancements:
- None
Bug Fixes:
- In
profile.poilicies.build()support the now availablevalidForapproval parameter via method parameteraccess_validity_time.
Dependencies:
- None
Other:
- None
What's New:
- Added Bitbucket as an OIDC federation provider so that the needed logic for authenticating to Britive via Bitbucket pipelines is abstracted away from the caller.
Enhancements:
- None
Bug Fixes:
- None
Dependencies:
- None
Other:
- None
What's New:
- Ability to pass a callback function to the following
my_accessmethods which will report progress of the process.checkoutcheckout_by_namerequest_approvalrequest_approval_by_name
Enhancements:
- None
Bug Fixes:
- None
Dependencies:
- None
Other:
- None
What's New:
- None
Enhancements:
- None
Bug Fixes:
NOTE: This is a pre-release feature. It is being published in anticipation of upcoming features being released to production. This functionality will not yet work in production environments.
- Properly handle use case of long term (IAM User) vs. temporary credentials (AssumeRole/Federation) in the AWS Federation Provider
Dependencies:
- None
Other:
- None
What's New:
- None
Enhancements:
- None
Bug Fixes:
- Fix bug when catching JSON decode exceptions when decoding
requestsresponse - catching the more genericValueErrorinstead of a specific JSON decode error
NOTE: This is a pre-release feature. It is being published in anticipation of upcoming features being released to production. This functionality will not yet work in production environments.
- Remove port from tenant name in the AWS provider
Dependencies:
- None
Other:
- Allow disabling TLS/SSL verification for local development work by setting environment variable
export BRITIVE_NO_VERIFY_SSL=true
What's New:
- None
Enhancements:
- None
Bug Fixes:
NOTE: This is a pre-release feature. It is being published in anticipation of upcoming features being released to production. This functionality will not yet work in production environments.
- Fix issue with AWS provider when injecting the tenant name into the AWS sigv4 signed request
Dependencies:
- None
Other:
- None
What's New:
- None
Enhancements:
NOTE: This is a pre-release feature. It is being published in anticipation of upcoming features being released to production. This functionality will not yet work in production environments.
- Allow caller to specify duration/expiration time of tokens generated by the AWS federation provider
Bug Fixes:
- None
Dependencies:
- None
Other:
- None
What's New:
NOTE: This is a pre-release feature. It is being published in anticipation of upcoming features being released to production. This functionality will not yet work in production environments.
- Support for workload identity federation providers
Enhancements:
- None
Bug Fixes:
- None
Dependencies:
- None
Other:
- None
What's New:
- None
Enhancements:
- Reduce number of API calls required to checkout a profile
Bug Fixes:
- None
Dependencies:
- None
Other:
- None
What's New:
- None
Enhancements:
- None
Bug Fixes:
- Allow local machine DNS resolution (e.g. /etc/hosts) for tenant URL check
Dependencies:
- None
Other:
- None
What's New:
- Support for Secrets Manager APIs
- Vaults
- Password Policies
- Secrets
- Policies
- Static Secret Templates
- Resources
- Folders
- Support for Notification Medium APIs
Enhancements:
- Allow the use of a port number in a tenant URL
Bug Fixes:
- None
Dependencies:
- None
Other:
- None
What's New:
- None
Enhancements:
- Allow for non
*.britive-app.comtenants. Default tobritive-app.comif no valid URL is provided (for backwards compatibility)
Bug Fixes:
- None
Dependencies:
- None
Other:
- None
What's New:
- Exponential backoff logic added to all API calls.
Enhancements:
- Add
filter_expressiontobritive.reports.run()to allow filtering the results as required by the caller.
Bug Fixes:
- None
Dependencies:
- None
Other:
- None
What's New:
- None
Enhancements:
- None
Bug Fixes:
- Fixes an issue with
britive.audit_logs.query()pagination. The last page of results is now included. - Fixes an issue with
britive.reports.run()pagination. The last page of results is now included. - Fixes an issue with
britive.reports.run()results being truncated to a maximum of 1000 records whencsv=False. This was due to how the API handles JSON results vs. CSV results. Now the results are always obtained in CSV format from the API and then converted to a list of dictionaries ifcsv=False.
Dependencies:
- None
Other:
- None