diff -pruN 5.2.1-2/.gitignore 5.4.0-0ubuntu1/.gitignore
--- 5.2.1-2/.gitignore	2025-02-15 06:32:57.000000000 +0000
+++ 5.4.0-0ubuntu1/.gitignore	1970-01-01 00:00:00.000000000 +0000
@@ -1,64 +0,0 @@
-*.py[cod]
-
-# C extensions
-*.so
-
-# Packages
-*.egg
-.eggs
-*.egg-info
-dist
-build
-eggs
-parts
-bin
-var
-sdist
-develop-eggs
-.installed.cfg
-lib
-lib64
-
-# Installer logs
-pip-log.txt
-
-# Unit test / coverage reports
-.coverage
-.tox
-.stestr/
-.venv
-cover
-/vault_*
-
-# Translations
-*.mo
-
-# Mr Developer
-.mr.developer.cfg
-.project
-.pydevproject
-
-# Pycharm
-.idea
-*.iml
-
-# Complexity
-output/*.html
-output/*/index.html
-
-# Sphinx
-doc/build
-releasenotes/build
-
-# pbr generates these
-AUTHORS
-ChangeLog
-
-# Editors
-*~
-.*.swp
-.*sw?
-
-# generated configuration files
-etc/castellan/castellan.conf.sample
-etc/castellan/castellan-functional.conf.sample
diff -pruN 5.2.1-2/.gitreview 5.4.0-0ubuntu1/.gitreview
--- 5.2.1-2/.gitreview	2025-02-15 06:32:57.000000000 +0000
+++ 5.4.0-0ubuntu1/.gitreview	1970-01-01 00:00:00.000000000 +0000
@@ -1,4 +0,0 @@
-[gerrit]
-host=review.opendev.org
-port=29418
-project=openstack/castellan.git
diff -pruN 5.2.1-2/AUTHORS 5.4.0-0ubuntu1/AUTHORS
--- 5.2.1-2/AUTHORS	1970-01-01 00:00:00.000000000 +0000
+++ 5.4.0-0ubuntu1/AUTHORS	2025-07-10 09:25:43.000000000 +0000
@@ -0,0 +1,100 @@
+Ade Lee <alee@redhat.com>
+Akihiro Motoki <amotoki@gmail.com>
+Alan Bishop <abishop@redhat.com>
+Alexandra Settle <asettle@suse.com>
+Andreas Jaeger <aj@suse.com>
+Anusree <anusree.a04@gmail.com>
+Ben Nemec <bnemec@redhat.com>
+Brianna Poulos <Brianna.Poulos@jhuapl.edu>
+Brianna Poulos <brianna.poulos@jhuapl.edu>
+Chris Solis <cnsolis@us.ibm.com>
+Christopher Solis <cnsolis@us.ibm.com>
+Corey Bryant <corey.bryant@canonical.com>
+Dai Dang Van <daidv@vn.fujitsu.com>
+Daniel Bengtsson <dbengt@redhat.com>
+Davanum Srinivas <davanum@gmail.com>
+Dave McCowan <dmccowan@cisco.com>
+Dmitry Novikov <avigmati@gmail.com>
+Doug Hellmann <doug@doughellmann.com>
+Douglas Mendizábal <dmendiza@redhat.com>
+Douglas Mendizábal <mail@doug.gt>
+Dung Ha <dunght@vn.fujitsu.com>
+Ellen Batbouta <ellen.batbouta@oracle.com>
+Elod Illes <elod.illes@est.tech>
+Eric Harney <eharney@redhat.com>
+Fernando Diaz <diazjf@us.ibm.com>
+Flavio Percoco <flaper87@gmail.com>
+Ghanshyam <gmann@ghanshyammann.com>
+Ghanshyam Mann <gmann@ghanshyammann.com>
+Grzegorz Grasza <xek@redhat.com>
+Hervé Beraud <hberaud@redhat.com>
+Ian Wienand <iwienand@redhat.com>
+Ivan Kolodyazhny <e0ne@e0ne.info>
+James E. Blair <jeblair@redhat.com>
+James Page <james.page@ubuntu.com>
+Jamie Lennox <jamielennox@gmail.com>
+Jeremy Liu <liujiong@gohighsec.com>
+Jeremy Stanley <fungi@yuggoth.org>
+Jiong Liu <liujiong@gohighsec.com>
+Joel Capitao <jcapitao@redhat.com>
+Joel Coffman <joel.coffman@jhuapl.edu>
+Juan Antonio Osorio Robles <jaosorior@redhat.com>
+Juan Antonio Osorio Robles <juan.osorio.robles@ericsson.com>
+Kaitlin Farr <kaitlin.farr@jhuapl.edu>
+Kiran_totad <kiran.totad@nectechnologies.in>
+Le Hou <houl7@chinaunicom.cn>
+LiZekun <2954674728@qq.com>
+Lingxian Kong <anlin.kong@gmail.com>
+Luigi Toscano <ltoscano@redhat.com>
+Mark Goddard <mark@stackhpc.com>
+Mauricio Harley <mharley@redhat.com>
+Michael McCune <msm@redhat.com>
+Mitya_Eremeev <mitossvyaz@mail.ru>
+Moises Guimaraes de Medeiros <moguimar@redhat.com>
+Moisés Guimarães de Medeiros <moguimar@redhat.com>
+Monty Taylor <mordred@inaugust.com>
+Nguyen Van Trung <trungnv@vn.fujitsu.com>
+Niall Bunting <niall.bunting@hpe.com>
+OpenStack Release Bot <infra-root@openstack.org>
+Paul Bourke <paul.bourke@oracle.com>
+Pavlo Shchelokovskyy <shchelokovskyy@gmail.com>
+Robert Clark <hyakuhei@gmail.com>
+Sam Morrison <sorrison@gmail.com>
+Scott Solkhon <scottsolkhon@gmail.com>
+Sean McGinnis <sean.mcginnis@gmail.com>
+Stephen Finucane <stephenfin@redhat.com>
+Steve Martinelli <s.martinelli@gmail.com>
+Sungjin Yook <sungyook@us.ibm.com>
+Swapnil Kulkarni (coolsvap) <me@coolsvap.net>
+Takashi Kajinami <kajinamit@oss.nttdata.com>
+Takashi Kajinami <tkajinam@redhat.com>
+Tim Kelsey <tim.kelsey@hp.com>
+Tom Cocozzello <tjcocozz@us.ibm.com>
+Van Hung Pham <hungpv@vn.fujitsu.com>
+Vladislav Kuzmin <vkuzmin@mirantis.com>
+Vu Cong Tuan <tuanvc@vn.fujitsu.com>
+Yandong Xuan <xuanyandong@inspur.com>
+Yushiro FURUKAWA <y.furukawa_2@jp.fujitsu.com>
+Zhao Lei <zhaolei@cn.fujitsu.com>
+bhavani.cr <bhavani.r@nectechnologies.in>
+dane-fichter <dane.fichter@jhuapl.edu>
+gaofei <gao.fei@inspur.com>
+gecong1973 <ge.cong@zte.com.cn>
+gengchc2 <geng.changcai2@zte.com.cn>
+kuangcx <kuangcx@inspur.com>
+lioplhp <hpliu5898@fiberhome.com>
+liujiong <liujiong@gohighsec.com>
+melanie witt <melwittt@gmail.com>
+melissaml <ma.lei@99cloud.net>
+rajat29 <rajat.sharma@nectechnologies.in>
+ramboman <lijie@unitedstack.com>
+sonu.kumar <sonu.kumar@nectechnologies.in>
+ting.wang <ting.wang@easystack.cn>
+wu.chunyang <wu.chunyang@99cloud.net>
+wu.shiming <wushiming@yovole.com>
+xhzhf <guoyongxhzhf@163.com>
+xuanyandong <xuanyandong@inspur.com>
+yushangbin <yushb@gohighsec.com>
+zhangboye <zhangboye@inspur.com>
+zhangzs <zhangzhaoshan@inspur.com>
+“Fernando <diazjf@us.ibm.com>
diff -pruN 5.2.1-2/ChangeLog 5.4.0-0ubuntu1/ChangeLog
--- 5.2.1-2/ChangeLog	1970-01-01 00:00:00.000000000 +0000
+++ 5.4.0-0ubuntu1/ChangeLog	2025-07-10 09:25:43.000000000 +0000
@@ -0,0 +1,601 @@
+CHANGES
+=======
+
+5.4.0
+-----
+
+* Drop redundant import check
+* Drop explicit dependency on python-subunit
+* add pyproject.toml to support pip 23.1
+* Fix AttributeError caused by mocked RequestContext
+
+5.3.0
+-----
+
+* Drop redundant injection of VIRTUAL\_ENV
+* Update master for stable/2025.1
+* Make log levels more adequate
+
+5.2.1
+-----
+
+* Skip installation to speed up pep8
+* Drop ceilometer service overrides
+* reno: Update master for unmaintained/2023.1
+
+5.2.0
+-----
+
+* Add note about requirements lower bounds
+* Remove Python 3.8 support
+* Declare Python 3.12 support
+* Update master for stable/2024.2
+* Account for secret.created possibly being None
+
+5.1.1
+-----
+
+* Fix vault key managed fixed broken by a typo
+* Replace use of testtools.testcase.TestSkipped
+
+5.1.0
+-----
+
+* Remove unused test hook scripts
+* reno: Update master for unmaintained/zed
+* Remove old excludes
+* Drop wrong documented choices for barbican\_endpoint\_type
+* vault: Hide values used for authentication
+* Use upper-constraint in doc generation
+* vault: Add timeout option
+* Update master for stable/2024.1
+* reno: Update master for unmaintained/xena
+* reno: Update master for unmaintained/wallaby
+* reno: Update master for unmaintained/victoria
+
+5.0.0
+-----
+
+* Add release note about new consumer interfaces
+
+4.4.0
+-----
+
+* Raise ManagedObjectNotFoundError in MockKeyManager
+* reno: Update master for unmaintained/yoga
+* tox: Drop envdir
+* pre-commit: Integrate bandit
+* pre-commit: Bump versions
+* Bump hacking
+* Update python classifier in setup.cfg
+* Update master for stable/2023.2
+
+4.2.0
+-----
+
+* Revert "Moves supported python runtimes from version 3.8 to 3.10"
+* Moves supported python runtimes from version 3.8 to 3.10
+* Update master for stable/2023.1
+* Add secret consumers documentation and release note
+* Add force parameter functional tests
+* Add secret consumers functional tests
+* Implement force parameter
+* Add secret consumers
+
+4.1.0
+-----
+
+* Initial change to add secret consumers
+* Add support for specifying Vault KV path
+* Fix tox4 error
+* Make tests more consistent
+* Add Python3 antelope unit tests
+* Update master for stable/zed
+
+4.0.0
+-----
+
+* Drop python3.6/3.7 support in testing runtime
+
+3.11.0
+------
+
+* Remove redundant override of logging\_context\_format\_string
+* Replace the deprecated argument tenant
+* Add Python3 zed unit tests
+* Update master for stable/yoga
+* Updating python testing classifier as per Yoga testing runtime
+
+3.10.1
+------
+
+* remove unicode from code
+
+3.10.0
+------
+
+* Support setting Vault kv version config
+* Add support for Vault Namespaces
+* Fix gitignore pattern for vault related files
+* Add Python3 yoga unit tests
+* Update master for stable/xena
+
+3.9.1
+-----
+
+* Moving IRC network reference to OFTC
+
+3.9.0
+-----
+
+* barbican key manager: Add support for service user
+* Changed minversion in tox to 3.18.0
+* Add missing font for PDF doc generation
+
+3.8.0
+-----
+
+* setup.cfg: Replace dashes with underscores
+* Move flake8 as a pre-commit local target
+* Add Python3 xena unit tests
+* Update master for stable/wallaby
+* Remove lower-constraints remnants
+* Simplify the reference to barbican parameters
+* Allow specifying region of barbican endpoint
+
+3.7.1
+-----
+
+* Fix assertion typo in barbican key manager unit test
+* Dropping lower constraints testing
+* Don't expect barbican service name to be barbican
+* Use py3 as the default runtime for tox
+
+3.7.0
+-----
+
+* Remove six
+* Adding pre-commit
+* Add Python3 wallaby unit tests
+* Update master for stable/victoria
+
+3.6.0
+-----
+
+* [goal] Migrate testing to ubuntu focal
+
+3.5.0
+-----
+
+* zuul: use the new barbican simple-crypto job
+* Use 'barbican\_endpoint\_type'config option to get endpoint from catalog
+* Bump bandit version
+
+3.4.0
+-----
+
+* migrate testing to ubuntu focal
+* Add to\_dict and from\_dict conversions to managed objects
+
+3.3.0
+-----
+
+* Bump vault version
+
+3.2.0
+-----
+
+* Replaces \_get\_api\_version with config option
+
+3.1.1
+-----
+
+* Add handler for Bad Request error during Vault authentication
+* drop mock from lower-constraints
+* Some Cleanups
+* Update lower-constraints versions
+
+3.1.0
+-----
+
+* Fix hacking min version to 3.0.1
+* Switch to newer openstackdocstheme and reno versions
+* Remove translation sections from setup.cfg
+* add "verify\_ssl\_path" config for barbican key manager
+* Bump default tox env from py37 to py38
+* Add py38 package metadata
+* Use unittest.mock instead of third party mock
+* Add Python3 victoria unit tests
+* Update master for stable/ussuri
+
+3.0.1
+-----
+
+* Fix stale references to renamed constant
+* Update hacking for Python3
+
+3.0.0
+-----
+
+* Removes context "validation"
+* Moving common objects under KeyManager
+* Drop use of six
+* Implements KeyManager's option discovery
+* Fix coverage tests
+
+2.0.0
+-----
+
+* [ussuri][goal] Drop python 2.7 support and testing
+* Add Wiki links to readme
+
+1.4.0
+-----
+
+* Fix "is" usage with literals
+* Switch to Ussuri jobs
+* PDF Documentation Build tox target
+* Update master for stable/train
+
+1.3.1
+-----
+
+* Add bindep.txt
+* Add Python 3 Train unit tests
+* Reuse existing token from RequestContext
+
+1.3.0
+-----
+
+* Cap Bandit below 1.6.0 and update Sphinx requirement
+* List requests as explicit dependency
+* Use opendev repository
+* OpenDev Migration Patch
+* Dropping the py35 testing
+* Replace openstack.org git:// URLs with https://
+* Update master for stable/stein
+
+1.2.2
+-----
+
+* Set py3 tests according to Stein runtimes
+
+1.2.1
+-----
+
+* Fix length usage in VaultKeyManager.create\_key
+* add python 3.7 unit test job
+
+1.2.0
+-----
+
+* Change openstack-dev to openstack-discuss
+
+1.1.0
+-----
+
+* Add Castellan Oslo Config Driver
+* Use template for lower-constraints
+* Update min tox version to 2.0
+* vault: support configuration of KV mountpoint
+* vault: add AppRole support
+* Don't quote {posargs} in tox.ini
+
+1.0.0
+-----
+
+* Add method to wrap HashiCorp Vault HTTP API calls
+
+0.20.1
+------
+
+* Bump HashiCorp Vault version for tests
+* Fix Vault K/V API compatibility
+* add python 3.6 unit test job
+* import zuul job settings from project-config
+* Update reno for stable/rocky
+* Switch to stestr
+* Add release note link in README
+* Add code to generate private keys
+* fix tox python3 overrides
+
+0.18.0
+------
+
+* Add config option for Barbican endpoint type
+* Promote castellan's barbican-tempest-plugin job
+* pypy is not checked at gate
+* fix list of default virtualenvs
+* set default python to python3
+* Updated from global requirements
+* Add barbican-tempest experimental job
+* add lower-constraints job
+* Updated from global requirements
+* Update links in README
+* Updated from global requirements
+* Updated from global requirements
+* Update unreachable links in contributor document
+* Zuul: Remove project name
+* Update reno for stable/queens
+* Updated from global requirements
+* Updated from global requirements
+* Use Zuul v3 fetch-subunit-output
+
+0.17.0
+------
+
+* Updated from global requirements
+* Updated from global requirements
+
+0.16.0
+------
+
+* Avoid tox\_install.sh for constraints support
+* Remove use of tox-siblings role
+* Updated from global requirements
+
+0.15.1
+------
+
+* Include domain info when creating identity token
+* Support handling legacy all-zeros key ID
+
+0.15.0
+------
+
+* Remove setting of version/release from releasenotes
+* Updated from global requirements
+* Add a functional vault job
+* Migrate to zuulv3
+* Updated from global requirements
+* Vault based key manager
+* Updated from global requirements
+* Use generic user for both zuul v2 and v3
+* Updated from global requirements
+
+0.14.1
+------
+
+* Remove genconfig from functional tests
+
+0.14.0
+------
+
+* Updated from global requirements
+* Makes list method not abstract
+* Updated from global requirements
+* Updated from global requirements
+* Add releasenotes for castellan
+* Add ID to managed objects
+* Append a forward slash to the base\_url
+
+0.13.0
+------
+
+* Updated from global requirements
+* allow redirects in .htaccess files on the static web servers
+* Use Stevedore for better extensions
+* Updated from global requirements
+* Rename barbican client import
+* Updated from global requirements
+* Updated from global requirements
+* Fix retrieving barbican endpoint from service catalog
+* Replace LOG.warn with LOG.warning
+* Add list capability
+* Improve docs around configuring Castellan
+
+0.12.0
+------
+
+* Update the doc URL in the documents
+
+0.11.1
+------
+
+* rearrange existing documentation to fit the new standard layout
+* Enable warning-is-error in doc build
+* Remove log translations
+
+0.11.0
+------
+
+* Switch from oslosphinx to openstackdocstheme
+* Updated from global requirements
+* Replaces uuid.uuid4 with uuidutils.generate\_uuid()
+* Enable some off-by-default checks
+* Update docs on config generation
+
+0.10.0
+------
+
+* Updated from global requirements
+* Optimize the link address
+* Updated from global requirements
+* Correct config path in functional test
+* Fix error in credential\_factory
+
+0.9.0
+-----
+
+* Fix incorrect config in usage doc
+* Updated from global requirements
+* Updated from global requirements
+* Updated from global requirements
+
+0.8.0
+-----
+
+* MockKeyManager should return a copy of the object instead of actual object
+* Replacing six.iteritems() with .items()
+* Updated from global requirements
+* Updated from global requirements
+* Updated from global requirements
+
+0.7.0
+-----
+
+* Updated from global requirements
+* Change keystone endpoint
+* Updated from global requirements
+
+0.6.0
+-----
+
+* Updated from global requirements
+* Updated from global requirements
+* Updated from global requirements
+* removed the older version of python
+* Updated from global requirements
+* Fix gate failure on pep8
+* Removes unnecessary utf-8 encoding
+* Update .gitignore
+* Updated from global requirements
+* Add ability to get only metadata
+* Remove outdated comment
+* Updated from global requirements
+* Fixes all current typo errors on Castellan project
+
+0.5.0
+-----
+
+* Add option for verifying TLS (https) requests
+* Updated from global requirements
+* Update doc
+* Enable coverage report in console output
+* H803 hacking has been removed
+* Use generic keystoneauth plugin identity interfaces
+* Remove tempest plugin from Castellan
+* Show team and repo badges on README
+* Add keystoneauth to requirements.txt
+* Updated from global requirements
+* Cookiecutter commit for Security Tempest plugin
+* remove obsolete oslo incubator code
+* Cleanup created secrets after functional test
+* Updated from global requirements
+* Updated from global requirements
+* Updated from global requirements
+* Update .gitignore
+* Updated from global requirements
+* Support upper-constraints in tox.ini
+* Update .gitignore
+* Remove default=None when set value in Config
+* Add prefix "$" for command examples
+* Update flake8 ignore list
+* Remove discover from test-requirements
+* Use international logging message
+* Add Python 3.5 classifier and venv for castellan
+* Correct castellan reraising of exception
+* Remove unused requirements
+* Modify the home-page info
+* Use international logging message
+* Add Barbicanclient dependancy
+* Updated from global requirements
+* Remove discover from test-requirements
+* Updated from global requirements
+* Use keystoneauth1 instead of keystoneclient
+* Updated from global requirements
+* Add a bandit environment to tox
+* Making sensitive parameters secret to avoid logging
+* Updated from global requirements
+* Updated from global requirements
+* Updated from global requirements
+* MockKeyManager create\_key change key\_length to length
+* Refactor Barbican Key Manager Tests
+* Update docs for reading conf files
+
+0.4.0
+-----
+
+* Add Credential Authentication Usage Documentation
+* Allow Barbican Key Manager to accept different auth credentials
+* Updated from global requirements
+* Add help to Castellan Credential Factory Opts
+* Updated from global requirements
+* Introduce Castellan Credential Factory
+* Updated from global requirements
+* Introduce Castellan Credential Objects
+* Add created property to Managed Objects
+* Update MockKeyManager to use given algorithm
+* Remove functional test dependency on config file
+* Mock key manager takes configuration as an arg
+* Updated from global requirements
+* Clean up removed hacking rule from [flake8] ignore lists
+* Use Keystone V3 Identity Plugins for Functional Tests
+* Updated from global requirements
+* Add logic to error out of key creation if order errors out
+* Update docs with parsing config files
+* Removes MANIFEST.in as it is not needed explicitely by PBR
+* Remove py26 support from castellan
+* Updated from global requirements
+* Move line of code to ensure context and client stay in sync
+
+0.3.1
+-----
+
+* Add some documentation on enabling logging
+* Allow for default logging configuration to be user enabled
+* Mark castellan as being a universal wheel
+* Add gate hooks for Castellan functional tests
+* Update managed object \_\_eq\_\_ and \_\_ne\_\_
+
+0.3.0
+-----
+
+* Updated from global requirements
+* Add the debug flag to tox.ini
+* Can not set auth\_endpoint in runtime
+* Updated from global requirements
+* Allow log statements to be printed out in stdout
+* Add documentation links and fixup README.rst
+* Updated from global requirements
+* Add testing documentation to Castellan
+* Add contributing documentation to Castellan
+* Fix typo and add name to not\_implemented and mock key\_manager
+* Adds documentation on creating Oslo RequestContext in Castellan
+* Updated from global requirements
+* Add name to Castellan Objects and Barbican Key Manager
+* Fix some spelling typo in manual
+* Updated from global requirements
+* Update Barbican functional tests
+* Add ManagedObjectNotFoundError
+* Change ignore-errors to ignore\_errors
+* Standardize Barbican error messages
+
+0.2.1
+-----
+
+* Updated from global requirements
+
+0.2.0
+-----
+
+* Update Barbican wrapper
+* Fixing error in documentation example
+* Adding documentation for basic usage
+* Add unit tests for managed objects
+* Remove copy\_key operation
+* refactoring castellan configuration
+* Update mock key manager
+* Update the key manager API
+* Add managed objects hierarchy
+* Activate pep8 check that \_ is imported
+* Add functional tests for Barbican key manager wrapper
+* Move unit tests to unit test folder
+* Add Barbican key manager
+* Migrate to oslo\_context
+* Removing SymmetricKey docs from key module
+* Drop use of 'oslo' namespace package
+
+0.1.0
+-----
+
+* Start using oslo.policy
+* Remove Python 3.3 from setup.cfg and tox.ini
+* Renames for consistent namespaces
+* Fixing some warning about oslo namespace
+* Remove placeholder test
+* Copy cinder.keymgr to castellan
+* Updating HACKING.rst
+* Add openstack/common log and policy modules
+* Workflow documentation is now in infra-manual
+* Initial Cookiecutter Commit
diff -pruN 5.2.1-2/PKG-INFO 5.4.0-0ubuntu1/PKG-INFO
--- 5.2.1-2/PKG-INFO	1970-01-01 00:00:00.000000000 +0000
+++ 5.4.0-0ubuntu1/PKG-INFO	2025-07-10 09:25:44.067343700 +0000
@@ -0,0 +1,53 @@
+Metadata-Version: 2.1
+Name: castellan
+Version: 5.4.0
+Summary: Generic Key Manager interface for OpenStack
+Home-page: https://docs.openstack.org/castellan/latest/
+Author: OpenStack
+Author-email: openstack-discuss@lists.openstack.org
+Classifier: Environment :: OpenStack
+Classifier: Intended Audience :: Information Technology
+Classifier: Intended Audience :: System Administrators
+Classifier: License :: OSI Approved :: Apache Software License
+Classifier: Operating System :: POSIX :: Linux
+Classifier: Programming Language :: Python
+Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3.9
+Classifier: Programming Language :: Python :: 3.10
+Classifier: Programming Language :: Python :: 3.11
+Classifier: Programming Language :: Python :: 3.12
+Classifier: Programming Language :: Python :: 3 :: Only
+Classifier: Programming Language :: Python :: Implementation :: CPython
+Requires-Python: >=3.9
+License-File: LICENSE
+Requires-Dist: pbr>=2.0.0
+Requires-Dist: cryptography>=2.7
+Requires-Dist: python-barbicanclient>=5.5.0
+Requires-Dist: oslo.config>=6.4.0
+Requires-Dist: oslo.context>=2.19.2
+Requires-Dist: oslo.i18n>=3.15.3
+Requires-Dist: oslo.log>=3.36.0
+Requires-Dist: oslo.utils>=3.33.0
+Requires-Dist: stevedore>=1.20.0
+Requires-Dist: keystoneauth1>=3.4.0
+Requires-Dist: requests>=2.18.0
+
+=========
+Castellan
+=========
+
+Generic Key Manager interface for OpenStack.
+
+* License: Apache License, Version 2.0
+* Documentation: https://docs.openstack.org/castellan/latest
+* Source: https://opendev.org/openstack/castellan
+* Bugs: https://bugs.launchpad.net/castellan
+* Release notes: https://docs.openstack.org/releasenotes/castellan
+* Wiki: https://wiki.openstack.org/wiki/Castellan
+
+Team and repository tags
+========================
+
+.. image:: https://governance.openstack.org/tc/badges/castellan.svg
+    :target: https://governance.openstack.org/tc/reference/tags/index.html
+
diff -pruN 5.2.1-2/castellan/_config_driver.py 5.4.0-0ubuntu1/castellan/_config_driver.py
--- 5.2.1-2/castellan/_config_driver.py	2025-02-15 06:32:57.000000000 +0000
+++ 5.4.0-0ubuntu1/castellan/_config_driver.py	2025-07-10 09:24:15.000000000 +0000
@@ -123,19 +123,19 @@ class CastellanConfigurationSource(sourc
 
         except KeyError:
             # no mapping 'option = castellan_id'
-            LOG.info("option '[%s] %s' not present in '[%s] mapping_file'",
-                     group_name, option_name, self._name)
+            LOG.debug("option '[%s] %s' not present in '[%s] mapping_file'",
+                      group_name, option_name, self._name)
 
         except KeyManagerError:
             # bad mapping 'option =' without a castellan_id
-            LOG.warning("missing castellan_id for option "
-                        "'[%s] %s' in '[%s] mapping_file'",
-                        group_name, option_name, self._name)
+            LOG.error("missing castellan_id for option '[%s] %s' in '[%s] "
+                      "mapping_file'",
+                      group_name, option_name, self._name)
 
         except ManagedObjectNotFoundError:
             # good mapping, but unknown castellan_id by secret manager
-            LOG.warning("invalid castellan_id for option "
-                        "'[%s] %s' in '[%s] mapping_file'",
-                        group_name, option_name, self._name)
+            LOG.error("invalid castellan_id for option '[%s] %s' in '[%s] "
+                      "mapping_file'",
+                      group_name, option_name, self._name)
 
         return (sources._NoValue, None)
diff -pruN 5.2.1-2/castellan/options.py 5.4.0-0ubuntu1/castellan/options.py
--- 5.2.1-2/castellan/options.py	2025-02-15 06:32:57.000000000 +0000
+++ 5.4.0-0ubuntu1/castellan/options.py	2025-07-10 09:24:15.000000000 +0000
@@ -18,15 +18,8 @@ from oslo_config import cfg
 from oslo_log import log
 
 from castellan import key_manager
-try:
-    from castellan.key_manager import barbican_key_manager as bkm
-except ImportError:
-    bkm = None
-
-try:
-    from castellan.key_manager import vault_key_manager as vkm
-except ImportError:
-    vkm = None
+from castellan.key_manager import barbican_key_manager as bkm
+from castellan.key_manager import vault_key_manager as vkm
 
 from castellan.common import utils
 
@@ -86,63 +79,61 @@ def set_defaults(conf, backend=None, bar
     if default_backend is not None:
         conf.set_default('backend', default_backend, group='key_manager')
 
-    if bkm is not None:
-        if barbican_endpoint is not None:
-            conf.set_default('barbican_endpoint', barbican_endpoint,
-                             group=bkm._BARBICAN_OPT_GROUP)
-        if barbican_api_version is not None:
-            conf.set_default('barbican_api_version', barbican_api_version,
-                             group=bkm._BARBICAN_OPT_GROUP)
-        if auth_endpoint is not None:
-            conf.set_default('auth_endpoint', auth_endpoint,
-                             group=bkm._BARBICAN_OPT_GROUP)
-        if retry_delay is not None:
-            conf.set_default('retry_delay', retry_delay,
-                             group=bkm._BARBICAN_OPT_GROUP)
-        if number_of_retries is not None:
-            conf.set_default('number_of_retries', number_of_retries,
-                             group=bkm._BARBICAN_OPT_GROUP)
-        if verify_ssl is not None:
-            conf.set_default('verify_ssl', verify_ssl,
-                             group=bkm._BARBICAN_OPT_GROUP)
-        if verify_ssl_path is not None:
-            conf.set_default('verify_ssl_path', verify_ssl_path,
-                             group=bkm._BARBICAN_OPT_GROUP)
-        if barbican_endpoint_type is not None:
-            conf.set_default('barbican_endpoint_type', barbican_endpoint_type,
-                             group=bkm._BARBICAN_OPT_GROUP)
-
-    if vkm is not None:
-        if vault_root_token_id is not None:
-            conf.set_default('root_token_id', vault_root_token_id,
-                             group=vkm._VAULT_OPT_GROUP)
-        if vault_approle_role_id is not None:
-            conf.set_default('approle_role_id', vault_approle_role_id,
-                             group=vkm._VAULT_OPT_GROUP)
-        if vault_approle_secret_id is not None:
-            conf.set_default('approle_secret_id', vault_approle_secret_id,
-                             group=vkm._VAULT_OPT_GROUP)
-        if vault_kv_mountpoint is not None:
-            conf.set_default('kv_mountpoint', vault_kv_mountpoint,
-                             group=vkm._VAULT_OPT_GROUP)
-        if vault_kv_path is not None:
-            conf.set_default('kv_path', vault_kv_path,
-                             group=vkm._VAULT_OPT_GROUP)
-        if vault_url is not None:
-            conf.set_default('vault_url', vault_url,
-                             group=vkm._VAULT_OPT_GROUP)
-        if vault_ssl_ca_crt_file is not None:
-            conf.set_default('ssl_ca_crt_file', vault_ssl_ca_crt_file,
-                             group=vkm._VAULT_OPT_GROUP)
-        if vault_use_ssl is not None:
-            conf.set_default('use_ssl', vault_use_ssl,
-                             group=vkm._VAULT_OPT_GROUP)
-        if vault_namespace is not None:
-            conf.set_default('namespace', vault_namespace,
-                             group=vkm._VAULT_OPT_GROUP)
-        if vault_kv_version is not None:
-            conf.set_default('kv_version', vault_kv_version,
-                             group=vkm._VAULT_OPT_GROUP)
+    if barbican_endpoint is not None:
+        conf.set_default('barbican_endpoint', barbican_endpoint,
+                         group=bkm._BARBICAN_OPT_GROUP)
+    if barbican_api_version is not None:
+        conf.set_default('barbican_api_version', barbican_api_version,
+                         group=bkm._BARBICAN_OPT_GROUP)
+    if auth_endpoint is not None:
+        conf.set_default('auth_endpoint', auth_endpoint,
+                         group=bkm._BARBICAN_OPT_GROUP)
+    if retry_delay is not None:
+        conf.set_default('retry_delay', retry_delay,
+                         group=bkm._BARBICAN_OPT_GROUP)
+    if number_of_retries is not None:
+        conf.set_default('number_of_retries', number_of_retries,
+                         group=bkm._BARBICAN_OPT_GROUP)
+    if verify_ssl is not None:
+        conf.set_default('verify_ssl', verify_ssl,
+                         group=bkm._BARBICAN_OPT_GROUP)
+    if verify_ssl_path is not None:
+        conf.set_default('verify_ssl_path', verify_ssl_path,
+                         group=bkm._BARBICAN_OPT_GROUP)
+    if barbican_endpoint_type is not None:
+        conf.set_default('barbican_endpoint_type', barbican_endpoint_type,
+                         group=bkm._BARBICAN_OPT_GROUP)
+
+    if vault_root_token_id is not None:
+        conf.set_default('root_token_id', vault_root_token_id,
+                         group=vkm._VAULT_OPT_GROUP)
+    if vault_approle_role_id is not None:
+        conf.set_default('approle_role_id', vault_approle_role_id,
+                         group=vkm._VAULT_OPT_GROUP)
+    if vault_approle_secret_id is not None:
+        conf.set_default('approle_secret_id', vault_approle_secret_id,
+                         group=vkm._VAULT_OPT_GROUP)
+    if vault_kv_mountpoint is not None:
+        conf.set_default('kv_mountpoint', vault_kv_mountpoint,
+                         group=vkm._VAULT_OPT_GROUP)
+    if vault_kv_path is not None:
+        conf.set_default('kv_path', vault_kv_path,
+                         group=vkm._VAULT_OPT_GROUP)
+    if vault_url is not None:
+        conf.set_default('vault_url', vault_url,
+                         group=vkm._VAULT_OPT_GROUP)
+    if vault_ssl_ca_crt_file is not None:
+        conf.set_default('ssl_ca_crt_file', vault_ssl_ca_crt_file,
+                         group=vkm._VAULT_OPT_GROUP)
+    if vault_use_ssl is not None:
+        conf.set_default('use_ssl', vault_use_ssl,
+                         group=vkm._VAULT_OPT_GROUP)
+    if vault_namespace is not None:
+        conf.set_default('namespace', vault_namespace,
+                         group=vkm._VAULT_OPT_GROUP)
+    if vault_kv_version is not None:
+        conf.set_default('kv_version', vault_kv_version,
+                         group=vkm._VAULT_OPT_GROUP)
 
 
 def enable_logging(conf=None, app_name='castellan'):
diff -pruN 5.2.1-2/castellan/tests/unit/key_manager/test_barbican_key_manager.py 5.4.0-0ubuntu1/castellan/tests/unit/key_manager/test_barbican_key_manager.py
--- 5.2.1-2/castellan/tests/unit/key_manager/test_barbican_key_manager.py	2025-02-15 06:32:57.000000000 +0000
+++ 5.4.0-0ubuntu1/castellan/tests/unit/key_manager/test_barbican_key_manager.py	2025-07-10 09:24:15.000000000 +0000
@@ -18,6 +18,7 @@ Test cases for the barbican key manager.
 """
 import calendar
 from unittest import mock
+import uuid
 
 from barbicanclient import exceptions as barbican_exceptions
 from keystoneauth1 import identity
@@ -44,7 +45,9 @@ class BarbicanKeyManagerTestCase(test_ke
         self.ctxt = mock.Mock(spec=context.RequestContext)
         self.ctxt.auth_token = "fake_token"
         self.ctxt.project_name = "foo"
+        self.ctxt.project_id = str(uuid.uuid4()).replace('-', '')
         self.ctxt.project_domain_name = "foo"
+        self.ctxt.project_domain_id = str(uuid.uuid4()).replace('-', '')
 
         # Create mock barbican client
         self._build_mock_barbican()
diff -pruN 5.2.1-2/castellan.egg-info/PKG-INFO 5.4.0-0ubuntu1/castellan.egg-info/PKG-INFO
--- 5.2.1-2/castellan.egg-info/PKG-INFO	1970-01-01 00:00:00.000000000 +0000
+++ 5.4.0-0ubuntu1/castellan.egg-info/PKG-INFO	2025-07-10 09:25:43.000000000 +0000
@@ -0,0 +1,53 @@
+Metadata-Version: 2.1
+Name: castellan
+Version: 5.4.0
+Summary: Generic Key Manager interface for OpenStack
+Home-page: https://docs.openstack.org/castellan/latest/
+Author: OpenStack
+Author-email: openstack-discuss@lists.openstack.org
+Classifier: Environment :: OpenStack
+Classifier: Intended Audience :: Information Technology
+Classifier: Intended Audience :: System Administrators
+Classifier: License :: OSI Approved :: Apache Software License
+Classifier: Operating System :: POSIX :: Linux
+Classifier: Programming Language :: Python
+Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3.9
+Classifier: Programming Language :: Python :: 3.10
+Classifier: Programming Language :: Python :: 3.11
+Classifier: Programming Language :: Python :: 3.12
+Classifier: Programming Language :: Python :: 3 :: Only
+Classifier: Programming Language :: Python :: Implementation :: CPython
+Requires-Python: >=3.9
+License-File: LICENSE
+Requires-Dist: pbr>=2.0.0
+Requires-Dist: cryptography>=2.7
+Requires-Dist: python-barbicanclient>=5.5.0
+Requires-Dist: oslo.config>=6.4.0
+Requires-Dist: oslo.context>=2.19.2
+Requires-Dist: oslo.i18n>=3.15.3
+Requires-Dist: oslo.log>=3.36.0
+Requires-Dist: oslo.utils>=3.33.0
+Requires-Dist: stevedore>=1.20.0
+Requires-Dist: keystoneauth1>=3.4.0
+Requires-Dist: requests>=2.18.0
+
+=========
+Castellan
+=========
+
+Generic Key Manager interface for OpenStack.
+
+* License: Apache License, Version 2.0
+* Documentation: https://docs.openstack.org/castellan/latest
+* Source: https://opendev.org/openstack/castellan
+* Bugs: https://bugs.launchpad.net/castellan
+* Release notes: https://docs.openstack.org/releasenotes/castellan
+* Wiki: https://wiki.openstack.org/wiki/Castellan
+
+Team and repository tags
+========================
+
+.. image:: https://governance.openstack.org/tc/badges/castellan.svg
+    :target: https://governance.openstack.org/tc/reference/tags/index.html
+
diff -pruN 5.2.1-2/castellan.egg-info/SOURCES.txt 5.4.0-0ubuntu1/castellan.egg-info/SOURCES.txt
--- 5.2.1-2/castellan.egg-info/SOURCES.txt	1970-01-01 00:00:00.000000000 +0000
+++ 5.4.0-0ubuntu1/castellan.egg-info/SOURCES.txt	2025-07-10 09:25:44.000000000 +0000
@@ -0,0 +1,144 @@
+.coveragerc
+.mailmap
+.pre-commit-config.yaml
+.stestr.conf
+.zuul.yaml
+AUTHORS
+CONTRIBUTING.rst
+ChangeLog
+HACKING.rst
+LICENSE
+README.rst
+bindep.txt
+pyproject.toml
+requirements.txt
+setup.cfg
+setup.py
+test-requirements.txt
+tox.ini
+castellan/__init__.py
+castellan/_config_driver.py
+castellan/i18n.py
+castellan/options.py
+castellan.egg-info/PKG-INFO
+castellan.egg-info/SOURCES.txt
+castellan.egg-info/dependency_links.txt
+castellan.egg-info/entry_points.txt
+castellan.egg-info/not-zip-safe
+castellan.egg-info/pbr.json
+castellan.egg-info/requires.txt
+castellan.egg-info/top_level.txt
+castellan/common/__init__.py
+castellan/common/exception.py
+castellan/common/utils.py
+castellan/common/credentials/__init__.py
+castellan/common/credentials/credential.py
+castellan/common/credentials/keystone_password.py
+castellan/common/credentials/keystone_token.py
+castellan/common/credentials/password.py
+castellan/common/credentials/token.py
+castellan/common/objects/__init__.py
+castellan/common/objects/certificate.py
+castellan/common/objects/key.py
+castellan/common/objects/managed_object.py
+castellan/common/objects/opaque_data.py
+castellan/common/objects/passphrase.py
+castellan/common/objects/private_key.py
+castellan/common/objects/public_key.py
+castellan/common/objects/symmetric_key.py
+castellan/common/objects/x_509.py
+castellan/key_manager/__init__.py
+castellan/key_manager/barbican_key_manager.py
+castellan/key_manager/key_manager.py
+castellan/key_manager/migration.py
+castellan/key_manager/not_implemented_key_manager.py
+castellan/key_manager/vault_key_manager.py
+castellan/tests/__init__.py
+castellan/tests/base.py
+castellan/tests/utils.py
+castellan/tests/functional/__init__.py
+castellan/tests/functional/config.py
+castellan/tests/functional/key_manager/__init__.py
+castellan/tests/functional/key_manager/test_barbican_key_manager.py
+castellan/tests/functional/key_manager/test_key_manager.py
+castellan/tests/functional/key_manager/test_vault_key_manager.py
+castellan/tests/unit/__init__.py
+castellan/tests/unit/test_config_driver.py
+castellan/tests/unit/test_options.py
+castellan/tests/unit/test_utils.py
+castellan/tests/unit/credentials/__init__.py
+castellan/tests/unit/credentials/test_keystone_password.py
+castellan/tests/unit/credentials/test_keystone_token.py
+castellan/tests/unit/credentials/test_password.py
+castellan/tests/unit/credentials/test_token.py
+castellan/tests/unit/key_manager/__init__.py
+castellan/tests/unit/key_manager/fake.py
+castellan/tests/unit/key_manager/mock_key_manager.py
+castellan/tests/unit/key_manager/test_barbican_key_manager.py
+castellan/tests/unit/key_manager/test_key_manager.py
+castellan/tests/unit/key_manager/test_migration_key_manager.py
+castellan/tests/unit/key_manager/test_mock_key_manager.py
+castellan/tests/unit/key_manager/test_not_implemented_key_manager.py
+castellan/tests/unit/key_manager/test_vault_key_manager.py
+castellan/tests/unit/objects/__init__.py
+castellan/tests/unit/objects/test_opaque.py
+castellan/tests/unit/objects/test_passphrase.py
+castellan/tests/unit/objects/test_private_key.py
+castellan/tests/unit/objects/test_public_key.py
+castellan/tests/unit/objects/test_symmetric_key.py
+castellan/tests/unit/objects/test_x_509.py
+doc/requirements.txt
+doc/source/conf.py
+doc/source/index.rst
+doc/source/_extra/.htaccess
+doc/source/contributor/contributing.rst
+doc/source/contributor/index.rst
+doc/source/contributor/testing.rst
+doc/source/install/index.rst
+doc/source/user/index.rst
+etc/castellan/functional-config-generator.conf
+etc/castellan/sample-config-generator.conf
+playbooks/devstack/post.yaml
+playbooks/devstack/pre.yaml
+playbooks/devstack/run.yaml
+releasenotes/notes/add-to-dict-and-from-dict-conversions-to-managed-objects-95a9f0fdbd371a87.yaml
+releasenotes/notes/add-vault-provider-29a4c19fe67ab51f.yaml
+releasenotes/notes/barbican-service-user-11ebbfcd33dace9d.yaml
+releasenotes/notes/bug-1876102-7c7288fb6e90b11d.yaml
+releasenotes/notes/deprecate-auth-endpoint-b91a3e67b5c7263f.yaml
+releasenotes/notes/drop-python-2-7-73d3113c69d724d6.yaml
+releasenotes/notes/fix-vault-create-key-b4340a3067cbd93c.yaml
+releasenotes/notes/fix-vault-flaky-kv-api-version-b0cd9d62a39d2907.yaml
+releasenotes/notes/implements-keymanager-option-discovery-13a46c1dfc036a3f.yaml
+releasenotes/notes/remove-py38-61e67d0181db1aaf.yaml
+releasenotes/notes/secret-consumers-0253330a65b6638b.yaml
+releasenotes/notes/secret-consumers-e047d1c6f1a20e47.yaml
+releasenotes/notes/support-legacy-fixed-key-id-9fa897b547111610.yaml
+releasenotes/notes/use-barbican-endpoint-type-config-option-e583d30930cc22ba.yaml
+releasenotes/notes/use-barbican-region-name-config-option-31bec809292302b8.yaml
+releasenotes/notes/vault-approle-support-5ea04daea07a152f.yaml
+releasenotes/notes/vault-kv-mountpoint-919eb547764a0c74.yaml
+releasenotes/notes/vault-namespaces-7d334e7407396df9.yaml
+releasenotes/notes/vault-timeout-5eebb432e0943f74.yaml
+releasenotes/source/2023.1.rst
+releasenotes/source/2023.2.rst
+releasenotes/source/2024.1.rst
+releasenotes/source/2024.2.rst
+releasenotes/source/2025.1.rst
+releasenotes/source/conf.py
+releasenotes/source/index.rst
+releasenotes/source/pike.rst
+releasenotes/source/queens.rst
+releasenotes/source/rocky.rst
+releasenotes/source/stein.rst
+releasenotes/source/train.rst
+releasenotes/source/unreleased.rst
+releasenotes/source/ussuri.rst
+releasenotes/source/victoria.rst
+releasenotes/source/wallaby.rst
+releasenotes/source/xena.rst
+releasenotes/source/yoga.rst
+releasenotes/source/zed.rst
+releasenotes/source/_static/.placeholder
+releasenotes/source/_templates/.placeholder
+tools/setup-vault-env.sh
\ No newline at end of file
diff -pruN 5.2.1-2/castellan.egg-info/dependency_links.txt 5.4.0-0ubuntu1/castellan.egg-info/dependency_links.txt
--- 5.2.1-2/castellan.egg-info/dependency_links.txt	1970-01-01 00:00:00.000000000 +0000
+++ 5.4.0-0ubuntu1/castellan.egg-info/dependency_links.txt	2025-07-10 09:25:43.000000000 +0000
@@ -0,0 +1 @@
+
diff -pruN 5.2.1-2/castellan.egg-info/entry_points.txt 5.4.0-0ubuntu1/castellan.egg-info/entry_points.txt
--- 5.2.1-2/castellan.egg-info/entry_points.txt	1970-01-01 00:00:00.000000000 +0000
+++ 5.4.0-0ubuntu1/castellan.egg-info/entry_points.txt	2025-07-10 09:25:43.000000000 +0000
@@ -0,0 +1,10 @@
+[castellan.drivers]
+barbican = castellan.key_manager.barbican_key_manager:BarbicanKeyManager
+vault = castellan.key_manager.vault_key_manager:VaultKeyManager
+
+[oslo.config.driver]
+castellan = castellan._config_driver:CastellanConfigurationSourceDriver
+
+[oslo.config.opts]
+castellan.config = castellan.options:list_opts
+castellan.tests.functional.config = castellan.tests.functional.config:list_opts
diff -pruN 5.2.1-2/castellan.egg-info/not-zip-safe 5.4.0-0ubuntu1/castellan.egg-info/not-zip-safe
--- 5.2.1-2/castellan.egg-info/not-zip-safe	1970-01-01 00:00:00.000000000 +0000
+++ 5.4.0-0ubuntu1/castellan.egg-info/not-zip-safe	2025-07-10 09:25:43.000000000 +0000
@@ -0,0 +1 @@
+
diff -pruN 5.2.1-2/castellan.egg-info/pbr.json 5.4.0-0ubuntu1/castellan.egg-info/pbr.json
--- 5.2.1-2/castellan.egg-info/pbr.json	1970-01-01 00:00:00.000000000 +0000
+++ 5.4.0-0ubuntu1/castellan.egg-info/pbr.json	2025-07-10 09:25:43.000000000 +0000
@@ -0,0 +1 @@
+{"git_version": "534e1c0", "is_release": true}
\ No newline at end of file
diff -pruN 5.2.1-2/castellan.egg-info/requires.txt 5.4.0-0ubuntu1/castellan.egg-info/requires.txt
--- 5.2.1-2/castellan.egg-info/requires.txt	1970-01-01 00:00:00.000000000 +0000
+++ 5.4.0-0ubuntu1/castellan.egg-info/requires.txt	2025-07-10 09:25:43.000000000 +0000
@@ -0,0 +1,11 @@
+pbr>=2.0.0
+cryptography>=2.7
+python-barbicanclient>=5.5.0
+oslo.config>=6.4.0
+oslo.context>=2.19.2
+oslo.i18n>=3.15.3
+oslo.log>=3.36.0
+oslo.utils>=3.33.0
+stevedore>=1.20.0
+keystoneauth1>=3.4.0
+requests>=2.18.0
diff -pruN 5.2.1-2/castellan.egg-info/top_level.txt 5.4.0-0ubuntu1/castellan.egg-info/top_level.txt
--- 5.2.1-2/castellan.egg-info/top_level.txt	1970-01-01 00:00:00.000000000 +0000
+++ 5.4.0-0ubuntu1/castellan.egg-info/top_level.txt	2025-07-10 09:25:43.000000000 +0000
@@ -0,0 +1 @@
+castellan
diff -pruN 5.2.1-2/debian/changelog 5.4.0-0ubuntu1/debian/changelog
--- 5.2.1-2/debian/changelog	2025-03-28 06:53:20.000000000 +0000
+++ 5.4.0-0ubuntu1/debian/changelog	2025-07-15 15:50:43.000000000 +0000
@@ -1,202 +1,198 @@
-python-castellan (5.2.1-2) unstable; urgency=medium
+python-castellan (5.4.0-0ubuntu1) questing; urgency=medium
 
-  * Uploading to unstable.
+  [ Guillaume Boutry ]
+  * d/gbp.conf, .launchpad.yaml: Sync from cloud-archive-tools for
+    flamingo.
 
- -- Thomas Goirand <zigo@debian.org>  Fri, 28 Mar 2025 07:53:20 +0100
+  [ Myles Penner ]
+  * New upstream release for OpenStack Flamingo. (LP: #2116155)
+  * d/p/sphinxcontrib-rsvgconverter.patch: Refresh.
+  * d/watch: Add Flamingo key verification.
+  * d/u/signing-key.asc: Add Flamingo public key.
 
-python-castellan (5.2.1-1) experimental; urgency=medium
+ -- Myles Penner <myles.penner@canonical.com>  Tue, 15 Jul 2025 08:50:43 -0700
 
-  * New upstream release.
-  * d/watch: switch to version=4 and mode=git.
+python-castellan (5.2.1-0ubuntu1) plucky; urgency=medium
 
- -- Thomas Goirand <zigo@debian.org>  Tue, 25 Feb 2025 15:28:57 +0100
+  * New upstream release for OpenStack Epoxy.
 
-python-castellan (5.1.1-3) unstable; urgency=medium
+ -- James Page <james.page@ubuntu.com>  Thu, 27 Feb 2025 12:45:16 +0000
 
-  * Switch to pybuild (Closes: #1090472).
+python-castellan (5.2.0-0ubuntu1) plucky; urgency=medium
 
- -- Thomas Goirand <zigo@debian.org>  Thu, 19 Dec 2024 11:39:50 +0100
+  * d/gbp.conf, .launchpad.yaml: Sync from cloud-archive-tools for
+    epoxy.
+  * New upstream release for OpenStack Epoxy.
 
-python-castellan (5.1.1-2) unstable; urgency=medium
+ -- James Page <james.page@ubuntu.com>  Wed, 15 Jan 2025 14:32:25 +0000
 
-  * Uploading to unstable.
+python-castellan (5.1.1-0ubuntu1) oracular; urgency=medium
 
- -- Thomas Goirand <zigo@debian.org>  Thu, 19 Sep 2024 16:41:44 +0200
+  * d/gbp.conf: upstream-branch -> upstream-dalmatian.
+  * New upstream release for OpenStack Dalmatian.
 
-python-castellan (5.1.1-1) experimental; urgency=medium
+ -- James Page <james.page@ubuntu.com>  Wed, 25 Sep 2024 09:55:19 +0100
 
-  * New upstream release.
+python-castellan (5.1.0-0ubuntu1) oracular; urgency=medium
 
- -- Thomas Goirand <zigo@debian.org>  Mon, 26 Aug 2024 10:27:09 +0200
+  * New upstream release. 
 
-python-castellan (5.0.0-2) unstable; urgency=medium
+ -- James Page <james.page@ubuntu.com>  Wed, 07 Aug 2024 08:04:35 +0100
 
-  * Uploading to unstable.
+python-castellan (5.0.0-0ubuntu1) noble; urgency=medium
 
- -- Thomas Goirand <zigo@debian.org>  Wed, 03 Apr 2024 16:05:08 +0200
+  [ Corey Bryant ]
+  * d/gbp.conf, .launchpad.yaml: Sync from cloud-archive-tools for
+    caracal.
 
-python-castellan (5.0.0-1) experimental; urgency=medium
+  [ James Page ]
+  * New upstream release for OpenStack Caracal. 
+  * d/control: Align (Build-)Depends with upstream.
 
-  * New upstream release.
+ -- James Page <james.page@canonical.com>  Fri, 08 Mar 2024 09:59:44 +0000
 
- -- Thomas Goirand <zigo@debian.org>  Tue, 05 Mar 2024 13:39:14 +0100
+python-castellan (4.3.0-0ubuntu1) mantic; urgency=medium
 
-python-castellan (4.4.0-1) experimental; urgency=medium
+  * d/gbp.conf, .launchpad.yaml: Sync from cloud-archive-tools for
+    bobcat.
+  * New upstream release for OpenStack Bobcat.
 
-  * New upstream release.
+ -- Corey Bryant <corey.bryant@canonical.com>  Thu, 28 Sep 2023 09:38:27 -0400
 
- -- Thomas Goirand <zigo@debian.org>  Mon, 26 Feb 2024 13:22:43 +0100
+python-castellan (4.1.0-0ubuntu1) lunar; urgency=medium
 
-python-castellan (4.3.0-2) unstable; urgency=medium
+  * New upstream release for OpenStack Antelope.
 
-  * Uploading to unstable.
+ -- Corey Bryant <corey.bryant@canonical.com>  Wed, 22 Feb 2023 13:08:42 -0500
 
- -- Thomas Goirand <zigo@debian.org>  Thu, 28 Sep 2023 17:02:50 +0200
+python-castellan (4.0.0-0ubuntu3) kinetic; urgency=medium
 
-python-castellan (4.3.0-1) experimental; urgency=medium
+  * d/python3-castellan.install: Ensure castellan.conf is installed.
 
-  * New upstream release.
-  * Fix long description.
+ -- Corey Bryant <corey.bryant@canonical.com>  Wed, 13 Jul 2022 17:06:59 -0400
 
- -- Thomas Goirand <zigo@debian.org>  Sat, 23 Sep 2023 17:07:02 +0200
+python-castellan (4.0.0-0ubuntu2) kinetic; urgency=medium
 
-python-castellan (4.2.0-1) experimental; urgency=medium
+  * d/control: Switch to debhelper compat 13.
+  * d/control: Update standards version to 4.6.1.
 
-  * New upstream release.
+ -- Corey Bryant <corey.bryant@canonical.com>  Wed, 13 Jul 2022 15:52:14 -0400
 
- -- Thomas Goirand <zigo@debian.org>  Thu, 31 Aug 2023 10:51:18 +0200
+python-castellan (4.0.0-0ubuntu1) kinetic; urgency=medium
 
-python-castellan (4.1.0-3) unstable; urgency=medium
+  * New upstream release for OpenStack Zed.
 
-  * Cleans better (Closes: #1049009).
+ -- Corey Bryant <corey.bryant@canonical.com>  Wed, 13 Jul 2022 15:26:48 -0400
 
- -- Thomas Goirand <zigo@debian.org>  Tue, 22 Aug 2023 13:54:29 +0200
+python-castellan (3.11.0-0ubuntu1) kinetic; urgency=medium
 
-python-castellan (4.1.0-2) unstable; urgency=medium
+  * New upstream release for OpenStack Zed.
 
-  * Uploading to unstable.
+ -- Corey Bryant <corey.bryant@canonical.com>  Fri, 27 May 2022 12:35:47 -0400
 
- -- Thomas Goirand <zigo@debian.org>  Mon, 19 Jun 2023 10:25:03 +0200
+python-castellan (3.10.0-0ubuntu1) jammy; urgency=medium
 
-python-castellan (4.1.0-1) experimental; urgency=medium
+  * New upstream release for OpenStack Yoga.
+  * d/control: Align (Build-)Depends with upstream.
 
-  * New upstream release.
+ -- Corey Bryant <corey.bryant@canonical.com>  Tue, 16 Nov 2021 16:04:29 -0500
 
- -- Thomas Goirand <zigo@debian.org>  Tue, 21 Feb 2023 14:22:09 +0100
+python-castellan (3.9.1-0ubuntu1) impish; urgency=medium
 
-python-castellan (4.0.0-2) unstable; urgency=medium
+  * New upstream release for OpenStack Xena.
 
-  * Uploading to unstable.
+ -- Chris MacNaughton <chris.macnaughton@ubuntu.com>  Wed, 06 Oct 2021 12:33:44 +0000
 
- -- Thomas Goirand <zigo@debian.org>  Thu, 22 Sep 2022 22:06:20 +0200
+python-castellan (3.9.0-0ubuntu1) impish; urgency=medium
 
-python-castellan (4.0.0-1) experimental; urgency=medium
+  * New upstream release for OpenStack Xena.
 
-  * New upstream release.
-  * Add autopkgtest.
+ -- Corey Bryant <corey.bryant@canonical.com>  Wed, 21 Jul 2021 09:34:31 -0400
 
- -- Thomas Goirand <zigo@debian.org>  Mon, 29 Aug 2022 17:15:14 +0200
+python-castellan (3.8.0-0ubuntu1) impish; urgency=medium
 
-python-castellan (3.10.2-1) unstable; urgency=medium
+  * d/watch: Update URL to OpenDev.org.
+  * New upstream release for OpenStack Xena.
 
-  * New upstream release.
-  * Removed Replace_the_deprecated_argument_tenant.patch.
+ -- Chris MacNaughton <chris.macnaughton@ubuntu.com>  Mon, 07 Jun 2021 07:21:34 +0000
 
- -- Thomas Goirand <zigo@debian.org>  Fri, 13 May 2022 11:11:19 +0200
+python-castellan (3.7.1-0ubuntu1) hirsute; urgency=medium
 
-python-castellan (3.10.1-3) unstable; urgency=medium
+  * New upstream release for OpenStack Wallaby.
 
-  * Add Replace_the_deprecated_argument_tenant.patch (Closes: #1009455).
+ -- Chris MacNaughton <chris.macnaughton@ubuntu.com>  Wed, 17 Mar 2021 11:37:04 +0000
 
- -- Thomas Goirand <zigo@debian.org>  Thu, 14 Apr 2022 12:00:38 +0200
+python-castellan (3.7.0-0ubuntu1) hirsute; urgency=medium
 
-python-castellan (3.10.1-2) unstable; urgency=medium
+  * d/control: Update VCS paths for move to lp:~ubuntu-openstack-dev.
+  * New upstream release for OpenStack Wallaby.
+  * d/p/debian/patches/sphinxcontrib-rsvgconverter.patch: Refreshed.
 
-  * Uploading to unstable.
-
- -- Thomas Goirand <zigo@debian.org>  Thu, 24 Mar 2022 12:04:19 +0100
-
-python-castellan (3.10.1-1) experimental; urgency=medium
-
-  * New upstream release.
-  * Add python3-requests-mock to build-depends.
-
- -- Thomas Goirand <zigo@debian.org>  Fri, 18 Feb 2022 16:42:33 +0100
-
-python-castellan (3.9.1-2) unstable; urgency=medium
+ -- Chris MacNaughton <chris.macnaughton@ubuntu.com>  Fri, 04 Dec 2020 12:10:23 +0000
 
-  * Uploading to unstable.
+python-castellan (3.6.0-0ubuntu1) groovy; urgency=medium
 
- -- Thomas Goirand <zigo@debian.org>  Wed, 29 Sep 2021 10:04:05 +0200
+  * New upstream release for OpenStack Victoria.
+  * d/control: Align (Build-)Depends with upstream.
 
-python-castellan (3.9.1-1) experimental; urgency=medium
+ -- Corey Bryant <corey.bryant@canonical.com>  Fri, 18 Sep 2020 12:23:35 -0400
 
-  * New upstream release.
+python-castellan (3.5.0-0ubuntu1) groovy; urgency=medium
 
- -- Thomas Goirand <zigo@debian.org>  Mon, 23 Aug 2021 16:19:25 +0200
+  * New upstream release for OpenStack Victoria.
 
-python-castellan (3.7.1-2) unstable; urgency=medium
+ -- Chris MacNaughton <chris.macnaughton@canonical.com>  Thu, 03 Sep 2020 06:51:01 +0000
 
-  * Upload to unstable
+python-castellan (3.4.0-0ubuntu1) groovy; urgency=medium
 
- -- Thomas Goirand <zigo@debian.org>  Mon, 16 Aug 2021 08:17:31 +0200
+  * New upstream release for OpenStack Victoria.
+  * d/control: Align (Build-)Depends with upstream.
 
-python-castellan (3.7.1-1) experimental; urgency=medium
+ -- Chris MacNaughton <chris.macnaughton@canonical.com>  Fri, 24 Jul 2020 09:12:05 +0000
 
-  * New upstream release.
-  * Removed versions from (build-)depends when satisfied in Bullseye.
+python-castellan (3.1.0-0ubuntu1) groovy; urgency=medium
 
- -- Thomas Goirand <zigo@debian.org>  Mon, 08 Mar 2021 09:59:21 +0100
+  * New upstream release for OpenStack Victoria.
+  * d/control: Align (Build-)Depends with upstream.
+  * d/rules: Switch to pybuild.
+  * d/control: Switch to debhelper compat 12.
+  * d/control: Update Standards-Version to 4.5.0.
+  * d/control: Restrict python3-hacking to 1.1.0 (Groovy).
 
-python-castellan (3.6.0-2) unstable; urgency=medium
+ -- Chris MacNaughton <chris.macnaughton@canonical.com>  Fri, 12 Jun 2020 06:57:40 +0000
 
-  * Uploading to unstable.
-  * Fixed debian/watch.
-  * Add a debian/salsa-ci.yml.
+python-castellan (3.0.1-0ubuntu1) focal; urgency=medium
 
- -- Thomas Goirand <zigo@debian.org>  Wed, 14 Oct 2020 22:44:08 +0200
+  * New upstream release for OpenStack Ussuri.
 
-python-castellan (3.6.0-1) experimental; urgency=medium
+ -- Corey Bryant <corey.bryant@canonical.com>  Thu, 16 Apr 2020 10:42:44 -0400
 
-  * New upstream release.
-  * Fixed min version of python3-cryptography.
+python-castellan (3.0.0-0ubuntu1) focal; urgency=medium
 
- -- Thomas Goirand <zigo@debian.org>  Sun, 13 Sep 2020 15:50:56 +0200
+  * New upstream release for OpenStack Ussuri.
 
-python-castellan (3.5.0-1) experimental; urgency=medium
+ -- Corey Bryant <corey.bryant@canonical.com>  Thu, 09 Apr 2020 10:16:58 -0400
 
-  * New upstream release.
-  * Removed python3-babel from (build-)depends.
+python-castellan (2.0.0-0ubuntu1) focal; urgency=medium
 
- -- Thomas Goirand <zigo@debian.org>  Tue, 08 Sep 2020 09:15:12 +0200
+  * New upstream release for OpenStack Ussuri.
+  * d/control: Align (Build-)Depends with upstream.
 
-python-castellan (3.0.2-1) unstable; urgency=medium
+ -- Corey Bryant <corey.bryant@canonical.com>  Thu, 12 Mar 2020 16:16:08 -0400
 
-  * New upstream point release.
+python-castellan (1.4.0-0ubuntu1) focal; urgency=low
 
- -- Thomas Goirand <zigo@debian.org>  Wed, 15 Jul 2020 15:43:54 +0200
+  * Merge from Debian unstable.  Remaining changes:
+    - d/gbp.conf: Retain for pristine-tar.
+    - d/watch: Get tarball from openstack.org.
+    - d/control: Enable autopkgtest-pkg-python testsuite.
+    - d/control: Stay at debhelper compat level 10.
+    - d/control: Keep breaks/replaces of python-castellan.
+  * New upstream release for OpenStack Ussuri.
+  * d/control: Align (Build-)Depends with upstream
+  * d/p/sphinxcontrib-rsvgconverter.patch: Patch-out sphinxcontrib-rsvgconverter.
 
-python-castellan (3.0.1-2) unstable; urgency=medium
-
-  * Uploading to unstable.
-
- -- Thomas Goirand <zigo@debian.org>  Fri, 08 May 2020 12:17:06 +0200
-
-python-castellan (3.0.1-1) experimental; urgency=medium
-
-  * New upstream release.
-
- -- Thomas Goirand <zigo@debian.org>  Mon, 13 Apr 2020 22:48:24 +0200
-
-python-castellan (3.0.0-1) experimental; urgency=medium
-
-  * Fix upstream URL in d/rules, d/control and d/copyright.
-  * New upstream release.
-  * Add python3-sphinxcontrib.svg2pdfconverter as build-depends.
-  * Add remove-privacy-breach-from-doc.patch.
-  * Switch to debhelper-compat 11.
-
- -- Thomas Goirand <zigo@debian.org>  Mon, 06 Apr 2020 16:52:06 +0200
+ -- Sahid Orentino Ferdjaoui <sahid.ferdjaoui@canonical.com>  Mon, 09 Dec 2019 11:06:59 +0100
 
 python-castellan (1.3.1-4) unstable; urgency=medium
 
@@ -214,6 +210,12 @@ python-castellan (1.3.1-2) experimental;
 
  -- Thomas Goirand <zigo@debian.org>  Tue, 24 Sep 2019 15:37:15 +0200
 
+python-castellan (1.3.1-0ubuntu1) eoan; urgency=medium
+
+  * New upstream release for OpenStack Train.
+
+ -- Corey Bryant <corey.bryant@canonical.com>  Wed, 25 Sep 2019 14:06:50 -0400
+
 python-castellan (1.3.0-1) experimental; urgency=medium
 
   [ Ondřej Nový ]
@@ -226,6 +228,13 @@ python-castellan (1.3.0-1) experimental;
 
  -- Thomas Goirand <zigo@debian.org>  Tue, 17 Sep 2019 16:40:38 +0200
 
+python-castellan (1.3.0-0ubuntu1) eoan; urgency=medium
+
+  * New upstream release for OpenStack Train.
+  * d/control: Align (Build-)Depends with upstream.
+
+ -- Corey Bryant <corey.bryant@canonical.com>  Tue, 30 Jul 2019 15:26:47 -0400
+
 python-castellan (1.2.2-2) unstable; urgency=medium
 
   * Uploading to unstable.
@@ -240,12 +249,74 @@ python-castellan (1.2.2-1) experimental;
 
  -- Thomas Goirand <zigo@debian.org>  Tue, 26 Mar 2019 17:50:55 +0100
 
+python-castellan (1.2.2-0ubuntu2) eoan; urgency=medium
+
+  * Drop Python 2 support:
+    - d/control: Drop python-castellan binary package.
+    - d/control: Drop BDI's on python-*.
+    - d/rules: Don't install and test with Python 2.
+    - d/rules: Generate configuration file into python3-castellan
+      package.
+    - d/control: Add Breaks/Replaces python3-castellan->python-castellan
+      to deal with move of configuration file.
+
+ -- James Page <james.page@ubuntu.com>  Thu, 11 Jul 2019 05:53:00 +0100
+
+python-castellan (1.2.2-0ubuntu1) disco; urgency=medium
+
+  * New upstream release for OpenStack Stein.
+
+ -- Corey Bryant <corey.bryant@canonical.com>  Mon, 11 Mar 2019 14:08:16 -0400
+
+python-castellan (1.2.0-0ubuntu1) disco; urgency=medium
+
+  * New upstream release for OpenStack Stein.
+  * d/p/*: Drop, all included in upstream release.
+
+ -- James Page <james.page@ubuntu.com>  Thu, 21 Feb 2019 09:59:00 +0000
+
+python-castellan (1.1.0-0ubuntu1) disco; urgency=medium
+
+  * New upstream release for OpenStack Stein.
+  * d/control: Align (Build-)Depends with upstream.
+
+ -- Corey Bryant <corey.bryant@canonical.com>  Wed, 30 Jan 2019 13:49:15 -0500
+
+python-castellan (1.0.0-0ubuntu1) disco; urgency=medium
+
+  * New upstream release for OpenStack Stein.
+  * d/p/0001-Fix-Vault-K-V-API-compatibility.patch,
+        0002-Add-method-to-wrap-HashiCorp-Vault-HTTP-API-calls.patch:
+    Drop, included in release.
+  * d/control: Switch to using python3-sphinx.
+
+ -- James Page <james.page@ubuntu.com>  Mon, 26 Nov 2018 13:28:36 +0000
+
 python-castellan (0.19.0-1) unstable; urgency=medium
 
   * New upstream release.
 
  -- Thomas Goirand <zigo@debian.org>  Wed, 16 Jan 2019 23:14:43 +0100
 
+python-castellan (0.19.0-0ubuntu2) cosmic; urgency=medium
+
+  * d/p/0001-Fix-Vault-K-V-API-compatibility.patchi,
+        0002-Add-method-to-wrap-HashiCorp-Vault-HTTP-API-calls.patch:
+    Resolve issues with compatibility with Vault 0.10.0 where the KV engine
+    is versioned by default (LP: #1788375).
+  * d/p/0003-vault-add-AppRole-support.patch: Add support for Vault
+    AppRole authentication (LP: #1796851).
+  * d/p/0004-vault-support-configuration-of-KV-mountpoint.patch: Add support
+    for configuration of the KV mountpoint to use in Vault (LP: #1797148).
+
+ -- James Page <james.page@ubuntu.com>  Thu, 11 Oct 2018 12:21:17 +0100
+
+python-castellan (0.19.0-0ubuntu1) cosmic; urgency=medium
+
+  * New upstream release.
+
+ -- Corey Bryant <corey.bryant@canonical.com>  Wed, 29 Aug 2018 16:16:14 -0400
+
 python-castellan (0.18.0-2) unstable; urgency=medium
 
   * Uploading to unstable.
@@ -264,6 +335,18 @@ python-castellan (0.18.0-1) experimental
 
  -- Thomas Goirand <zigo@debian.org>  Wed, 22 Aug 2018 15:54:50 +0200
 
+python-castellan (0.18.0-0ubuntu1) cosmic; urgency=low
+
+  * Merge from Debian unstable.  Remaining changes:
+    - d/gbp.conf: Retain for gbp and pristine-tar config.
+    - d/control: Enable autopkgtest-pkg-python testsuite.
+    - d/control, d/compat: Bump debhelper compat to 10.
+    - d/watch: Get tarball from tarballs.openstack.org.
+  * New upstream release.
+  * d/control: Align (Build-)Depends with upstream.
+
+ -- Corey Bryant <corey.bryant@canonical.com>  Tue, 12 Jun 2018 16:17:13 -0400
+
 python-castellan (0.17.0-2) unstable; urgency=medium
 
   * Uploading to unstable.
@@ -283,6 +366,31 @@ python-castellan (0.17.0-1) experimental
 
  -- Thomas Goirand <zigo@debian.org>  Wed, 14 Feb 2018 08:03:40 +0000
 
+python-castellan (0.17.0-0ubuntu1) bionic; urgency=medium
+
+  * New upstream release.
+  * d/control: Align (Build-)Depends with upstream.
+  * d/*: wrap-and-sort -bast.
+  * d/control: Bump debhelper compat to 10.
+
+ -- Corey Bryant <corey.bryant@canonical.com>  Tue, 23 Jan 2018 12:15:01 -0500
+
+python-castellan (0.16.0-0ubuntu1) bionic; urgency=medium
+
+  * New upstream release.
+  * d/control: Align (Build-)Depends with upstream.
+  * d/control: Update Standards-Version to 4.1.2.
+
+ -- Corey Bryant <corey.bryant@canonical.com>  Fri, 08 Dec 2017 09:06:41 -0500
+
+python-castellan (0.14.1-0ubuntu1) bionic; urgency=medium
+
+  * New upstream release.
+  * d/control: Align (Build-)Depends with upstream.
+  * d/p/*: Dropped, no longer required.
+
+ -- James Page <james.page@ubuntu.com>  Tue, 14 Nov 2017 10:20:07 +0000
+
 python-castellan (0.12.0-2) unstable; urgency=medium
 
   * Uploading to unstable.
@@ -313,6 +421,64 @@ python-castellan (0.12.0-1) experimental
 
  -- Thomas Goirand <zigo@debian.org>  Sun, 08 Oct 2017 23:07:03 +0200
 
+python-castellan (0.12.0-0ubuntu1) artful; urgency=medium
+
+  * New upstream release.
+  * d/control: Align (Build-)Depends with upstream.
+  * d/p/drop-openstackdoctheme.patch: Temporarily drop openstackdocstheme
+    sphinx extension until sphinx>=1.6.2 is available.
+
+ -- Corey Bryant <corey.bryant@canonical.com>  Wed, 09 Aug 2017 13:52:02 -0400
+
+python-castellan (0.9.0-0ubuntu1) artful; urgency=medium
+
+  * New upstream release for OpenStack Pike.
+  * d/control: Align (Build-)Depends with upstream.
+
+ -- James Page <james.page@ubuntu.com>  Fri, 09 Jun 2017 09:09:11 +0100
+
+python-castellan (0.6.0-0ubuntu1) artful; urgency=medium
+
+  * d/watch: Use tarballs.openstack.org.
+  * New upstream release.
+  * Align (Build-)Depends with upstream milestone.
+
+ -- James Page <james.page@ubuntu.com>  Fri, 21 Apr 2017 09:52:50 +0100
+
+python-castellan (0.5.0-0ubuntu1) zesty; urgency=medium
+
+  * d/gbp.conf: Update gbp configuration file.
+  * d/control: Update Vcs-* links and maintainers.
+  * New upstream release.
+  * d/control: Align (Build-)Depends with upstream.
+
+ -- Corey Bryant <corey.bryant@canonical.com>  Tue, 24 Jan 2017 15:01:20 -0500
+
+python-castellan (0.4.0-3) unstable; urgency=medium
+
+  [ Ondřej Nový ]
+  * d/s/options: extend-diff-ignore of .gitreview
+  * d/control: Use correct branch in Vcs-* fields
+
+  [ Thomas Goirand ]
+  * Uploading to unstable.
+  * Fixed oslotest EPOCH.
+
+ -- Thomas Goirand <zigo@debian.org>  Wed, 28 Sep 2016 10:08:26 +0200
+
+python-castellan (0.4.0-2) experimental; urgency=medium
+
+  [ Ondřej Nový ]
+  * Standards-Version is 3.9.8 now (no change)
+  * d/rules: Changed UPSTREAM_GIT protocol to https
+
+  [ Thomas Goirand ]
+  * Using OpenStack's Gerrit as VCS URLs.
+  * Add a .gitreview file pointing to packaging-deb Gerrit.
+  * Using pkgos-dh_auto_{install,test} from openstack-pkg-tools >= 52~.
+
+ -- Thomas Goirand <zigo@debian.org>  Tue, 13 Sep 2016 21:17:22 +0200
+
 python-castellan (0.4.0-1) experimental; urgency=medium
 
   [ Ondřej Nový ]
@@ -344,3 +510,4 @@ python-castellan (0.2.1-1) experimental;
   * Initial release. (Closes: #799622)
 
  -- Thomas Goirand <zigo@debian.org>  Tue, 08 Sep 2015 22:29:18 +0200
+
diff -pruN 5.2.1-2/debian/control 5.4.0-0ubuntu1/debian/control
--- 5.2.1-2/debian/control	2025-03-28 06:53:20.000000000 +0000
+++ 5.4.0-0ubuntu1/debian/control	2025-07-15 15:50:43.000000000 +0000
@@ -1,43 +1,44 @@
 Source: python-castellan
 Section: python
 Priority: optional
-Maintainer: Debian OpenStack <team+openstack@tracker.debian.org>
+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
+XSBC-Original-Maintainer: Debian OpenStack <openstack-devel@lists.alioth.debian.org>
 Uploaders:
  Thomas Goirand <zigo@debian.org>,
 Build-Depends:
- debhelper-compat (= 11),
+ debhelper-compat (= 13),
  dh-python,
  openstack-pkg-tools,
  python3-all,
- python3-pbr,
+ python3-pbr (>= 2.0.0),
  python3-setuptools,
- python3-sphinx,
+ python3-sphinx (>= 2.0.0),
 Build-Depends-Indep:
- python3-barbicanclient,
- python3-cryptography,
- python3-fixtures,
+ python3-barbicanclient (>= 5.5.0),
+ python3-cryptography (>= 2.7),
+ python3-fixtures (>= 3.0.0),
  python3-hacking,
- python3-keystoneauth1,
- python3-openstackdocstheme,
- python3-oslo.config,
- python3-oslo.context,
- python3-oslo.i18n,
- python3-oslo.log,
- python3-oslo.utils,
- python3-oslotest,
- python3-requests,
- python3-requests-mock,
- python3-sphinxcontrib.svg2pdfconverter,
- python3-stestr,
- python3-stevedore,
- python3-subunit,
- python3-testscenarios,
- python3-testtools,
+ python3-keystoneauth1 (>= 3.4.0),
+ python3-openstackdocstheme (>= 2.2.1),
+ python3-oslo.config (>= 1:6.4.0),
+ python3-oslo.context (>= 1:2.19.2),
+ python3-oslo.i18n (>= 3.15.3),
+ python3-oslo.log (>= 3.36.0),
+ python3-oslo.utils (>= 3.33.0),
+ python3-oslotest (>= 1:3.2.0),
+ python3-requests (>= 2.18.0),
+ python3-requests-mock (>= 1.2.0),
+ python3-sphinxcontrib.svg2pdfconverter (>= 0.1.0),
+ python3-stestr (>= 2.0.0),
+ python3-stevedore (>= 1:1.20.0),
+ python3-subunit (>= 1.0.0),
+ python3-testscenarios (>= 0.4),
+ python3-testtools (>= 2.2.0),
  subunit,
-Standards-Version: 4.4.1
-Vcs-Browser: https://salsa.debian.org/openstack-team/libs/python-castellan
-Vcs-Git: https://salsa.debian.org/openstack-team/libs/python-castellan.git
-Homepage: https://opendev.org/openstack/castellan
+Standards-Version: 4.6.1
+Vcs-Git: https://git.launchpad.net/~ubuntu-openstack-dev/ubuntu/+source/python-castellan
+Homepage: https://github.com/openstack/castellan
+Testsuite: autopkgtest-pkg-python
 
 Package: python-castellan-doc
 Section: doc
@@ -57,24 +58,28 @@ Description: generic key manager interfa
 Package: python3-castellan
 Architecture: all
 Depends:
- python3-barbicanclient,
- python3-cryptography,
- python3-keystoneauth1,
- python3-oslo.config,
- python3-oslo.context,
- python3-oslo.i18n,
- python3-oslo.log,
- python3-oslo.utils,
- python3-pbr,
- python3-requests,
- python3-stevedore,
+ python3-barbicanclient (>= 5.5.0),
+ python3-cryptography (>= 2.7),
+ python3-keystoneauth1 (>= 3.4.0),
+ python3-oslo.config (>= 1:6.4.0),
+ python3-oslo.context (>= 1:2.19.2),
+ python3-oslo.i18n (>= 3.15.3),
+ python3-oslo.log (>= 3.36.0),
+ python3-oslo.utils (>= 3.33.0),
+ python3-pbr (>= 2.0.0),
+ python3-requests (>= 2.18.0),
+ python3-stevedore (>= 1:1.20.0),
  ${misc:Depends},
  ${python3:Depends},
 Suggests:
  python-castellan-doc,
-Description: generic key manager interface for OpenStack
+Breaks: python-castellan (<< 1.2.2-0ubuntu2~)
+Replaces: python-castellan (<< 1.2.2-0ubuntu2~)
+Description: generic key manager interface for OpenStack - Python 3.x
  The Castellan module provides a generic key manager interface so that
  OpenStack projects can use Barbican, but also have the flexibilty to choose an
  alternative Key Manager as needed. This is helpful during development, for
  example, where a simple implementation of the Key Manager Interface can be
  used instead of having to spin up a Barbican instance.
+ .
+ This package contains the Python 3.x module.
diff -pruN 5.2.1-2/debian/copyright 5.4.0-0ubuntu1/debian/copyright
--- 5.2.1-2/debian/copyright	2025-03-28 06:53:20.000000000 +0000
+++ 5.4.0-0ubuntu1/debian/copyright	2025-07-15 15:50:43.000000000 +0000
@@ -1,6 +1,6 @@
 Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
 Upstream-Name: castellan
-Source: https://opendev.org/openstack/castellan
+Source: http://www.openstack.org/
 
 Files: *
 Copyright: (c) 2015, OpenStack Foundation <openstack-dev@lists.openstack.org>
diff -pruN 5.2.1-2/debian/gbp.conf 5.4.0-0ubuntu1/debian/gbp.conf
--- 5.2.1-2/debian/gbp.conf	1970-01-01 00:00:00.000000000 +0000
+++ 5.4.0-0ubuntu1/debian/gbp.conf	2025-07-15 15:50:43.000000000 +0000
@@ -0,0 +1,9 @@
+[DEFAULT]
+debian-branch = master
+upstream-tag = %(version)s
+pristine-tar = True
+upstream-branch = upstream-flamingo
+
+[buildpackage]
+export-dir = ../build-area
+prebuild = [ ! -f .launchpad.yaml ] || rm .launchpad.yaml
diff -pruN 5.2.1-2/debian/patches/remove-privacy-breach-from-doc.patch 5.4.0-0ubuntu1/debian/patches/remove-privacy-breach-from-doc.patch
--- 5.2.1-2/debian/patches/remove-privacy-breach-from-doc.patch	2025-03-28 06:53:20.000000000 +0000
+++ 5.4.0-0ubuntu1/debian/patches/remove-privacy-breach-from-doc.patch	1970-01-01 00:00:00.000000000 +0000
@@ -1,13 +0,0 @@
-Description: Doc privacy breach
-Author: Thomas Goirand <zigo@debian.org>
-Forwarded: no
-Last-Update: 2020-04-06
-
---- python-castellan-3.0.0.orig/README.rst
-+++ python-castellan-3.0.0/README.rst
-@@ -14,5 +14,3 @@ Generic Key Manager interface for OpenSt
- Team and repository tags
- ========================
- 
--.. image:: https://governance.openstack.org/tc/badges/castellan.svg
--    :target: https://governance.openstack.org/tc/reference/tags/index.html
diff -pruN 5.2.1-2/debian/patches/series 5.4.0-0ubuntu1/debian/patches/series
--- 5.2.1-2/debian/patches/series	2025-03-28 06:53:20.000000000 +0000
+++ 5.4.0-0ubuntu1/debian/patches/series	2025-07-15 15:50:43.000000000 +0000
@@ -1 +1 @@
-remove-privacy-breach-from-doc.patch
+sphinxcontrib-rsvgconverter.patch
diff -pruN 5.2.1-2/debian/patches/sphinxcontrib-rsvgconverter.patch 5.4.0-0ubuntu1/debian/patches/sphinxcontrib-rsvgconverter.patch
--- 5.2.1-2/debian/patches/sphinxcontrib-rsvgconverter.patch	1970-01-01 00:00:00.000000000 +0000
+++ 5.4.0-0ubuntu1/debian/patches/sphinxcontrib-rsvgconverter.patch	2025-07-15 15:50:43.000000000 +0000
@@ -0,0 +1,13 @@
+Index: python-castellan/doc/source/conf.py
+===================================================================
+--- python-castellan.orig/doc/source/conf.py
++++ python-castellan/doc/source/conf.py
+@@ -24,7 +24,7 @@ sys.path.insert(0, os.path.abspath('../.
+ extensions = [
+     'sphinx.ext.autodoc',
+     'openstackdocstheme',
+-    'sphinxcontrib.rsvgconverter',
++    #'sphinxcontrib.rsvgconverter',
+ ]
+ 
+ # autodoc generation is a bit aggressive and a nuisance when doing heavy
diff -pruN 5.2.1-2/debian/python3-castellan.install 5.4.0-0ubuntu1/debian/python3-castellan.install
--- 5.2.1-2/debian/python3-castellan.install	2025-03-28 06:53:20.000000000 +0000
+++ 5.4.0-0ubuntu1/debian/python3-castellan.install	2025-07-15 15:50:43.000000000 +0000
@@ -1,2 +1,3 @@
 /etc
 /usr
+etc/castellan/castellan.conf etc/castellan
diff -pruN 5.2.1-2/debian/rules 5.4.0-0ubuntu1/debian/rules
--- 5.2.1-2/debian/rules	2025-03-28 06:53:20.000000000 +0000
+++ 5.4.0-0ubuntu1/debian/rules	2025-07-15 15:50:43.000000000 +0000
@@ -1,15 +1,14 @@
 #!/usr/bin/make -f
 
-UPSTREAM_GIT := https://opendev.org/openstack/castellan
+export PYBUILD_NAME=castellan
+UPSTREAM_GIT := https://github.com/openstack/castellan.git
 include /usr/share/openstack-pkg-tools/pkgos.make
 
 %:
 	dh $@ --buildsystem=pybuild --with python3,sphinxdoc
 
 override_dh_auto_clean:
-	rm -rf build .stestr *.egg-info
-	find . -iname '*.pyc' -delete
-	for i in $$(find . -type d -iname __pycache__) ; do rm -rf $$i ; done
+	rm -rf build
 
 override_dh_auto_build:
 	echo "Do nothing..."
diff -pruN 5.2.1-2/debian/salsa-ci.yml 5.4.0-0ubuntu1/debian/salsa-ci.yml
--- 5.2.1-2/debian/salsa-ci.yml	2025-03-28 06:53:20.000000000 +0000
+++ 5.4.0-0ubuntu1/debian/salsa-ci.yml	1970-01-01 00:00:00.000000000 +0000
@@ -1,3 +0,0 @@
-include:
-  - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml
-  - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml
diff -pruN 5.2.1-2/debian/source/options 5.4.0-0ubuntu1/debian/source/options
--- 5.2.1-2/debian/source/options	2025-03-28 06:53:20.000000000 +0000
+++ 5.4.0-0ubuntu1/debian/source/options	2025-07-15 15:50:43.000000000 +0000
@@ -1 +1,2 @@
 extend-diff-ignore = "^[^/]*[.]egg-info/"
+extend-diff-ignore = "^.launchpad.yaml"
diff -pruN 5.2.1-2/debian/tests/control 5.4.0-0ubuntu1/debian/tests/control
--- 5.2.1-2/debian/tests/control	2025-03-28 06:53:20.000000000 +0000
+++ 5.4.0-0ubuntu1/debian/tests/control	1970-01-01 00:00:00.000000000 +0000
@@ -1,5 +0,0 @@
-Tests: unittests
-Depends:
- @,
- @builddeps@,
-Restrictions: allow-stderr needs-root
diff -pruN 5.2.1-2/debian/tests/unittests 5.4.0-0ubuntu1/debian/tests/unittests
--- 5.2.1-2/debian/tests/unittests	2025-03-28 06:53:20.000000000 +0000
+++ 5.4.0-0ubuntu1/debian/tests/unittests	1970-01-01 00:00:00.000000000 +0000
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-set -e
-
-pkgos-dh_auto_test --no-py2 'castellan\.tests\.unit.*'
diff -pruN 5.2.1-2/debian/upstream/signing-key.asc 5.4.0-0ubuntu1/debian/upstream/signing-key.asc
--- 5.2.1-2/debian/upstream/signing-key.asc	1970-01-01 00:00:00.000000000 +0000
+++ 5.4.0-0ubuntu1/debian/upstream/signing-key.asc	2025-07-15 15:50:43.000000000 +0000
@@ -0,0 +1,34 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mDMEZ92jlhYJKwYBBAHaRw8BAQdAnSMr01EpuQHlcTQ8c0ENVDFs9mi/TdWB0IlG
+ZF1eC2S0Qk9wZW5TdGFjayBJbmZyYSAoMjAyNS4yL0ZsYW1pbmdvIEN5Y2xlKSA8
+aW5mcmEtcm9vdEBvcGVuc3RhY2sub3JnPoiWBBMWCAA+FiEExxsAfvl4h/2PtjZc
+60/W1hjmIYEFAmfdo5YCGwMFCQFj9QAFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AA
+CgkQ60/W1hjmIYElLAEAkMjANVr+kVjZGp8KtliT+ySFAqoCQceuscYt7WmeD4wA
+/2gHNfFDJwkWn9JY9mCR2y7gwf6skTWl3ssPogTa84wDiHUEEBYIAB0WIQQiKE9p
+2ezN8994GXkccRrxk/+OVAUCZ92k6wAKCRAccRrxk/+OVMQGAQD0X/Eow2mK/YzZ
+rMO60g2KI767/rnKJWKFUTCZCfswxwD/WxuGjGRB98RZ9IbCcmaUvRqHf9812h60
+/RCoB4AtiwSJAjMEEAEKAB0WIQSXrklvwC3sn8NTsudI+ZYRQ0lYKQUCZ92vKwAK
+CRBI+ZYRQ0lYKdthD/wJh0uxw05WsmFwjuds82JdnH9ow3OdG/0bhds8eEvgYuQe
+ZEQ9/RC5hJ+SiV+/zclIaG+xYHW3VkZUgOmmLxRzmqFbWbDm5yKp7jTqM2zYB4Jx
+EiLB4dWHZFmrcqfkJ06nXVMjGkj73N+DqHWQ6hleaiE7tcbI++w1AN7niL0rW008
+iP8IHoWLh2dJxQlcheVdjCe0jEU3qO8KxhUTeARPD/Vp1CpJWlq9vWs9/bweMrtj
+FsQwxBiZcQ/0zXDnQFUKpbNDFjQZnjmmwTqhopquL5e5mZWr0NussI20JXyZHj7T
+N5ikDAFPf9iM1Apb+/g9njGUgYFEOgEJuDr1oLolZ+9+7uZrKGD1gmdY7pVG12Xn
+2QJ3rft/Wy8Obac+TdA+UoEYQu4LOUpUOmPOcXE/8/fTxybkQGOZm1Ufaddz+6ee
+uHBbIaxI1kh5MrxH5cIaEkvdjOGg+bMyq7C8CE8WgSEN/JiupEZYgDduOSuqGHDp
++9ydEkanNjGN+K4rXJ7ABBv9freINx5kmCAaDzXeIAL8n1/Rzd6Z/acOlC9omDM0
+mYKKIfLMp6Rp7SKnB37Tp0dKGP4r/SJsx5Sxn7XrktVJ1ht5ByipDD6VBN3+OQPx
+56pRLDCk9EFDjbOW0iKzyPx+Nya5G9CN9AqQXe1MlHsFn+q7DEUSmlGZfvtjN7g4
+BGfdo5YSCisGAQQBl1UBBQEBB0DHSvmmZUEZ94olzKZSHa2HBCWhrhOVNFn/0ag8
+KyY5fQMBCAeIfgQYFggAJhYhBMcbAH75eIf9j7Y2XOtP1tYY5iGBBQJn3aOWAhsM
+BQkBY/UAAAoJEOtP1tYY5iGB6XcA+wY0JUi2ZUqH0CRs4EfS6VML/7u08g8ZByN4
+DZ2htqOGAQDmGHHjpMhKz04eDXLpNO6UZ/Q6LnqEXztW8eBXVtiZALgzBGfdpHYW
+CSsGAQQB2kcPAQEHQKH/4Td8MRK/9UxGyPqWWaZl88m4xE48XM4kP6w3asRViO8E
+GBYIACAWIQTHGwB++XiH/Y+2NlzrT9bWGOYhgQUCZ92kdgIbAgCBCRDrT9bWGOYh
+gXYgBBkWCAAdFiEE3cFPzrMpT3Q4I7HG9zFcLOa3NF0FAmfdpHYACgkQ9zFcLOa3
+NF1xqwEA3muioM6tJtSbiCUCDau2QnalBkfov/A2FFIxvnyHbH0A/051M0O09Tcl
+E7tAieH8W63Jhg3n/GzKl36hXqh3ANML8kIA/0eu6JgK+F0s8iiy+sQecTD7W38B
+A8CSZ29ANdlMwzf7AP9araqMvKRpTMAzhQ+1Eluh8FmXQhzeZDhlIZ8DQDQ/CQ==
+=FVKc
+-----END PGP PUBLIC KEY BLOCK-----
diff -pruN 5.2.1-2/debian/watch 5.4.0-0ubuntu1/debian/watch
--- 5.2.1-2/debian/watch	2025-03-28 06:53:20.000000000 +0000
+++ 5.4.0-0ubuntu1/debian/watch	2025-07-15 15:50:43.000000000 +0000
@@ -1,3 +1,3 @@
-version=4
-opts="mode=git,uversionmangle=s/\.0rc/~rc/;s/\.0b1/~b1/;s/\.0b2/~b2/;s/\.0b3/~b3/" \
-https://github.com/openstack/castellan refs/tags/(\d[brc\d\.]+)
+version=3
+opts=uversionmangle=s/\.(b|rc)/~$1/,pgpsigurlmangle=s/$/.asc/ \
+    https://tarballs.opendev.org/openstack/castellan/ castellan-(\d.*)\.tar\.gz
diff -pruN 5.2.1-2/pyproject.toml 5.4.0-0ubuntu1/pyproject.toml
--- 5.2.1-2/pyproject.toml	1970-01-01 00:00:00.000000000 +0000
+++ 5.4.0-0ubuntu1/pyproject.toml	2025-07-10 09:24:15.000000000 +0000
@@ -0,0 +1,3 @@
+[build-system]
+requires = ["pbr>=6.1.1"]
+build-backend = "pbr.build"
diff -pruN 5.2.1-2/releasenotes/source/2025.1.rst 5.4.0-0ubuntu1/releasenotes/source/2025.1.rst
--- 5.2.1-2/releasenotes/source/2025.1.rst	1970-01-01 00:00:00.000000000 +0000
+++ 5.4.0-0ubuntu1/releasenotes/source/2025.1.rst	2025-07-10 09:24:15.000000000 +0000
@@ -0,0 +1,6 @@
+===========================
+2025.1 Series Release Notes
+===========================
+
+.. release-notes::
+   :branch: stable/2025.1
diff -pruN 5.2.1-2/releasenotes/source/index.rst 5.4.0-0ubuntu1/releasenotes/source/index.rst
--- 5.2.1-2/releasenotes/source/index.rst	2025-02-15 06:32:57.000000000 +0000
+++ 5.4.0-0ubuntu1/releasenotes/source/index.rst	2025-07-10 09:24:15.000000000 +0000
@@ -6,6 +6,7 @@
    :maxdepth: 1
 
    unreleased
+   2025.1
    2024.2
    2024.1
    2023.2
diff -pruN 5.2.1-2/setup.cfg 5.4.0-0ubuntu1/setup.cfg
--- 5.2.1-2/setup.cfg	2025-02-15 06:32:57.000000000 +0000
+++ 5.4.0-0ubuntu1/setup.cfg	2025-07-10 09:25:44.071343400 +0000
@@ -1,39 +1,42 @@
 [metadata]
 name = castellan
 summary = Generic Key Manager interface for OpenStack
-description_file =
-    README.rst
+description_file = 
+	README.rst
 author = OpenStack
 author_email = openstack-discuss@lists.openstack.org
 home_page = https://docs.openstack.org/castellan/latest/
 python_requires = >=3.9
-classifier =
-    Environment :: OpenStack
-    Intended Audience :: Information Technology
-    Intended Audience :: System Administrators
-    License :: OSI Approved :: Apache Software License
-    Operating System :: POSIX :: Linux
-    Programming Language :: Python
-    Programming Language :: Python :: 3
-    Programming Language :: Python :: 3.9
-    Programming Language :: Python :: 3.10
-    Programming Language :: Python :: 3.11
-    Programming Language :: Python :: 3.12
-    Programming Language :: Python :: 3 :: Only
-    Programming Language :: Python :: Implementation :: CPython
+classifier = 
+	Environment :: OpenStack
+	Intended Audience :: Information Technology
+	Intended Audience :: System Administrators
+	License :: OSI Approved :: Apache Software License
+	Operating System :: POSIX :: Linux
+	Programming Language :: Python
+	Programming Language :: Python :: 3
+	Programming Language :: Python :: 3.9
+	Programming Language :: Python :: 3.10
+	Programming Language :: Python :: 3.11
+	Programming Language :: Python :: 3.12
+	Programming Language :: Python :: 3 :: Only
+	Programming Language :: Python :: Implementation :: CPython
 
 [files]
-packages =
-    castellan
+packages = 
+	castellan
 
 [entry_points]
-oslo.config.opts =
-    castellan.tests.functional.config = castellan.tests.functional.config:list_opts
-    castellan.config = castellan.options:list_opts
+oslo.config.opts = 
+	castellan.tests.functional.config = castellan.tests.functional.config:list_opts
+	castellan.config = castellan.options:list_opts
+oslo.config.driver = 
+	castellan = castellan._config_driver:CastellanConfigurationSourceDriver
+castellan.drivers = 
+	barbican = castellan.key_manager.barbican_key_manager:BarbicanKeyManager
+	vault = castellan.key_manager.vault_key_manager:VaultKeyManager
 
-oslo.config.driver =
-    castellan = castellan._config_driver:CastellanConfigurationSourceDriver
+[egg_info]
+tag_build = 
+tag_date = 0
 
-castellan.drivers =
-    barbican = castellan.key_manager.barbican_key_manager:BarbicanKeyManager
-    vault = castellan.key_manager.vault_key_manager:VaultKeyManager
diff -pruN 5.2.1-2/test-requirements.txt 5.4.0-0ubuntu1/test-requirements.txt
--- 5.2.1-2/test-requirements.txt	2025-02-15 06:32:57.000000000 +0000
+++ 5.4.0-0ubuntu1/test-requirements.txt	2025-07-10 09:24:15.000000000 +0000
@@ -1,7 +1,6 @@
 coverage>=4.0 # Apache-2.0
 python-barbicanclient>=4.5.2 # Apache-2.0
 requests-mock>=1.2.0 # Apache-2.0
-python-subunit>=1.0.0 # Apache-2.0/BSD
 oslotest>=3.2.0 # Apache-2.0
 stestr>=2.0.0 # Apache-2.0
 fixtures>=3.0.0 # Apache-2.0/BSD
diff -pruN 5.2.1-2/tox.ini 5.4.0-0ubuntu1/tox.ini
--- 5.2.1-2/tox.ini	2025-02-15 06:32:57.000000000 +0000
+++ 5.4.0-0ubuntu1/tox.ini	2025-07-10 09:24:15.000000000 +0000
@@ -1,13 +1,10 @@
 [tox]
-minversion = 3.18.0
+minversion = 4.0.0
 envlist = py3,pep8
-ignore_basepython_conflict = True
 
 [testenv]
 usedevelop = True
-basepython = python3
 setenv =
-  VIRTUAL_ENV={envdir}
   OS_TEST_PATH=./castellan/tests/unit
 deps =
   -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master}
@@ -30,14 +27,14 @@ commands = oslo_debug_helper {posargs}
 
 [testenv:cover]
 setenv =
-    PYTHON=coverage run --source castellan --parallel-mode
+  PYTHON=coverage run --source castellan --parallel-mode
 commands =
-    coverage erase
-    {[testenv]commands}
-    coverage combine
-    coverage html -d cover
-    coverage xml -o cover/coverage.xml
-    coverage report --show-missing
+  coverage erase
+  {[testenv]commands}
+  coverage combine
+  coverage html -d cover
+  coverage xml -o cover/coverage.xml
+  coverage report --show-missing
 
 [testenv:docs]
 # This environment is called from CI scripts to test and publish
@@ -68,25 +65,23 @@ commands = sphinx-build -a -E -W -d rele
 [testenv:functional]
 usedevelop = True
 setenv =
-    VIRTUAL_ENV={envdir}
-    OS_TEST_PATH=./castellan/tests/functional
+  OS_TEST_PATH=./castellan/tests/functional
 commands = stestr run --slowest --concurrency=1 {posargs}
 
 [testenv:functional-vault]
 passenv = HOME
 usedevelop = True
 setenv =
-    VIRTUAL_ENV={envdir}
-    OS_TEST_PATH=./castellan/tests/functional
+  OS_TEST_PATH=./castellan/tests/functional
 commands =
-    {toxinidir}/tools/setup-vault-env.sh pifpaf -e VAULT_TEST run vault -- stestr run --concurrency=1 --slowest {posargs}
+  {toxinidir}/tools/setup-vault-env.sh pifpaf -e VAULT_TEST run vault -- stestr run --concurrency=1 --slowest {posargs}
 allowlist_externals =
   {toxinidir}/tools/setup-vault-env.sh
 
 [testenv:genconfig]
 commands =
-    oslo-config-generator --config-file=etc/castellan/functional-config-generator.conf
-    oslo-config-generator --config-file=etc/castellan/sample-config-generator.conf
+  oslo-config-generator --config-file=etc/castellan/functional-config-generator.conf
+  oslo-config-generator --config-file=etc/castellan/sample-config-generator.conf
 
 [flake8]
 # [H106] Don't put vim configuration in source files.
