CHANGES¶
- Bump pyupgrade target to 3.10+ 
- Migrate bandit options to pyproject.toml 
- pre-commit: Bump dependencies 
- Migrate setup configuration to pyproject.toml 
- Drop Python 3.9 support 
- Update master for stable/2025.2 
7.2.0¶
- add pyproject.toml to support pip 23.1 
- Update master for stable/2025.1 
- Use releases.openstack.org instead of opendev.org 
7.1.0¶
- Skip installation to speed up pep8 
- deprecate eventlet monkey patch within lockutils 
- Remove support for running unit tests in Windows 
7.0.0¶
- reno: Update master for unmaintained/2023.1 
- Remove windows support 
- Check if subprocess module is patched directly 
6.2.0¶
- Add note about requirements lower bounds 
- Remove Python 3.8 support 
- Run pyupgrade to clean up Python 2 syntaxes 
- Fix outdated tox minversion 
- Declare Python 3.12 support 
- Remove workaround for eventlet bug #592 
- Update master for stable/2024.2 
6.1.0¶
- Remove old excludes 
- Update master for stable/2024.1 
- reno: Update master for unmaintained/victoria 
6.0.0¶
- Fix wrong stacklevel 
- Drop fallback to DEFAULT section 
- Display coverage report 
- pre-commit: Integrate bandit 
- pre-commit: Bump versions 
- Bump hacking 
- Update python classifier in setup.cfg 
5.3.0¶
- Deprecate Windows support 
- Update master for stable/2023.2 
5.2.0¶
- Bump bandit 
- Imported Translations from Zanata 
- 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 
5.1.1¶
- Fix issues related to tox4 
5.1.0¶
- Imported Translations from Zanata 
5.0.1¶
- Ignore coverage result files 
- Fix fair internal lock used from eventlet.spawn_n 
- Prove that spawn_n with fair lock is broken 
- Cleanup py27 support 
5.0.0¶
- Log when waiting to acquire lock 
- Imported Translations from Zanata 
- Fix formatting of release list 
- Drop python3.6/3.7 support in testing runtime 
4.5.1¶
- Remove unnecessary unicode prefixes 
- Fix RequiredOptError when missing lock_path 
- Update CI to use unversioned jobs template 
- Add Python3 yoga unit tests 
- Allow python_exec kwarg to be None 
- Update python testing classifier 
4.5.0¶
- Add support for non-blocking locks 
4.4.1¶
- setup.cfg: Replace dashes with underscores 
- Remove references to ‘sys.version_info’ 
- Move flake8 as a pre-commit local target 
- Remove lower-constraints remnants 
4.4.0¶
- Dropping lower constraints testing 
- Use TOX_CONSTRAINTS_FILE 
- Use py3 as the default runtime for tox 
- Monkey patch original current_thread _active in processutils 
- Add Python3 wallaby unit tests 
- Update master for stable/victoria 
- Adding pre-commit 
4.3.0¶
- Bump bandit version 
- Imported Translations from Zanata 
4.2.0¶
- Add support for timeout to processutils.execute 
- Update lower-constraints versions 
4.1.1¶
- Fix pygments style 
4.1.0¶
- Stop to use the __future__ module 
- Fix hacking min version to 3.0.1 
- Switch to newer openstackdocstheme and reno versions 
- Remove the unused coding style modules 
- Remove babel.cfg etc 
- Remove six usage 
- Monkey patch original current_thread _active 
- Align contributing doc with oslo’s policy 
- Add py38 package metadata 
- Imported Translations from Zanata 
- Bump default tox env from py37 to py38 
- Add release notes links to doc index 
- Add Python3 victoria unit tests 
- Update master for stable/ussuri 
4.0.2¶
- Use unittest.mock instead of third party mock 
- Update hacking for Python3 
- Don’t warn on lock removal if file doesn’t exist 
4.0.1¶
- trivial: Cleanup tox.ini 
- ignore reno builds artifacts 
- remove outdated header 
- Stop to build universal wheel 
4.0.0¶
- Drop python 2.7 support and testing 
- Stop configuring install_command in tox 
- tox: Trivial cleanup 
- Fix remove_lock test 
3.31.0¶
- Spiff up docs for *_with_prefix 
- Switch to Ussuri jobs 
- tox: Keeping going with docs 
- Document management and history of lock files 
- Bump the openstackdocstheme extension to 1.20 
- Blacklist sphinx 2.1.0 (autodoc bug) 
- Update the constraints url 
- Update master for stable/train 
- Add lock_with_prefix convenience utility 
- Some test cleanup 
3.30.0¶
- Add Python 3 Train unit tests 
- Cap Bandit below 1.6.0 and update Sphinx requirement 
- Replace git.openstack.org URLs with opendev.org URLs 
- OpenDev Migration Patch 
- Dropping the py35 testing 
- Follow the new PTI for document build 
- Update master for stable/stein 
3.29.1¶
- add python 3.7 unit test job 
- Change python3.5 job to python3.7 job on Stein+ 
- Update hacking version 
- Stop using setup.py build_sphinx 
- Update mailinglist from dev to discuss 
3.29.0¶
- Add support for fair locks 
- Clean up .gitignore references to personal tools 
- Don’t quote {posargs} in tox.ini 
- Always build universal wheels 
3.28.1¶
- Imported Translations from Zanata 
- Use templates for cover and lower-constraints 
- ignore warning from bandit for using shell= 
- add lib-forward-testing-python3 test job 
- add python 3.6 unit test job 
- Remove PyPI downloads 
- import zuul job settings from project-config 
- Reorganize that ‘Release Notes’ in README 
- Update reno for stable/rocky 
- Switch to stestr 
- Add release notes link to README 
- fix tox python3 overrides 
- Remove stale pip-missing-reqs tox test 
- Trivial: Update pypi url to new url 
3.27.0¶
- set default python to python3 
- Switch pep8 job to python 3 
- fix lower constraints and uncap eventlet 
- add lower-constraints job 
- Updated from global requirements 
- Updated from global requirements 
3.26.0¶
- Updated from global requirements 
- Updated from global requirements 
- Imported Translations from Zanata 
- Mask passwords only when command execution fails 
- Imported Translations from Zanata 
- Update reno for stable/queens 
- Updated from global requirements 
- Imported Translations from Zanata 
- Updated from global requirements 
- Update doc links in CONTRIBUTING.rst and README.rst 
- Updated from global requirements 
3.25.0¶
- Add python_exec kwarg to processutils.execute() 
- Updated from global requirements 
- add bandit to pep8 job 
3.24.0¶
- Remove -U from pip install 
- Avoid tox_install.sh for constraints support 
- Updated from global requirements 
- Remove setting of version/release from releasenotes 
- Updated from global requirements 
- Updated from global requirements 
- Updated from global requirements 
- Imported Translations from Zanata 
3.23.0¶
- Updated from global requirements 
- Updated from global requirements 
- Updated from global requirements 
3.22.0¶
- Minor correction to docstrings 
- Updated from global requirements 
- Updated from global requirements 
- Windows: ensure exec calls don’t block other greenthreads 
- Update reno for stable/pike 
- Updated from global requirements 
- Add debug log to indicate when external lock is taken 
3.21.0¶
- Update URLs in documents according to document migration 
- Imported Translations from Zanata 
- Updated from global requirements 
- switch from oslosphinx to openstackdocstheme 
- turn on warning-is-error for sphinx 
- rearrange existing documentation to follow the new layout standard 
- Remove log translations 
- Check reStructuredText documents for common style issues 
- Updated from global requirements 
- Check for SubprocessError by name on Python 3.x 
3.20.0¶
- Updated from global requirements 
- Using fixtures.MockPatch instead of mockpatch.Patch 
3.19.0¶
- Updated from global requirements 
- [Fix gate]Update test requirement 
- Updated from global requirements 
- Remove support for py34 
- pbr.version.VersionInfo needs package name (oslo.xyz and not oslo_xyz) 
- Update reno for stable/ocata 
3.18.0¶
- Automatically convert process_input to bytes 
- Add Constraints support 
- Show team and repo badges on README 
3.16.0¶
- Updated from global requirements 
- Updated from global requirements 
- Updated from global requirements 
- Imported Translations from Zanata 
- Remove unnecessary requirements 
- [TrivialFix] Replace ‘assertTrue(a in b)’ with ‘assertIn(a, b)’ 
3.15.0¶
- Changed the home-page link 
- Change assertTrue(isinstance()) by optimal assert 
- Enable release notes translation 
- Ignore prlimit argument on Windows 
- Updated from global requirements 
- Updated from global requirements 
- Update reno for stable/newton 
3.14.0¶
- Updated from global requirements 
- Fix external lock tests on Windows 
3.13.0¶
- Updated from global requirements 
- Fix parameters of assertEqual are misplaced 
- Add Python 3.5 classifier and venv 
3.12.0¶
- Updated from global requirements 
- Imported Translations from Zanata 
- Updated from global requirements 
3.11.0¶
- Imported Translations from Zanata 
3.10.0¶
- Imported Translations from Zanata 
- Updated from global requirements 
- Add reno for releasenotes management 
3.9.0¶
- Add doc/ to pep8 check 
- Remove unused import statement 
- Add timeout option to ssh_execute 
- Fix wrong import example in docstring 
- Trivial: ignore openstack/common in flake8 exclude list 
3.8.0¶
- Updated from global requirements 
- Imported Translations from Zanata 
- processutils: add support for missing process limits 
- Remove direct dependency on babel 
- Updated from global requirements 
- Updated from global requirements 
- Updated from global requirements 
- Add a few usage examples for lockutils 
- Revert “Use tempfile.tempdir for lock_path if OSLO_LOCK_PATH is not set” 
- Updated from global requirements 
- Use tempfile.tempdir for lock_path if OSLO_LOCK_PATH is not set 
3.6.0¶
- Updated from global requirements 
3.5.0¶
- Updated from global requirements 
- Make ProcessExecutionError picklable 
- Updated from global requirements 
3.4.0¶
- Update translation setup 
- Add prlimit parameter to execute() 
- Updated from global requirements 
- Updated from global requirements 
- Updated from global requirements 
- Updated from global requirements 
- Imported Translations from Zanata 
- Updated from global requirements 
3.3.0¶
- Remove unnecessary package in setup.cfg 
- Updated from global requirements 
- Updated from global requirements 
3.2.0¶
- Updated from global requirements 
- Updated from global requirements 
- Trival: Remove ‘MANIFEST.in’ 
- Add complementary remove lock with prefix function 
3.1.0¶
- Drop python 2.6 support 
3.0.0¶
- Updated from global requirements 
- Updated from global requirements 
- Remove python 2.6 classifier 
- Remove python 2.6 and cleanup tox.ini 
- Use versionadded and versionchanged in doc 
- Updated from global requirements 
- Imported Translations from Zanata 
- Updated from global requirements 
2.8.0¶
- Updated from global requirements 
2.7.0¶
- Fix Tests to run under OSX 
- Fix coverage configuration and execution 
- Imported Translations from Zanata 
- Move ‘history’ -> release notes section 
- add auto-generated docs for config options 
- Change ignore-errors to ignore_errors 
- Updated from global requirements 
- Imported Translations from Zanata 
- Use int enumerations for log error constants 
2.6.0¶
- Removes unused posix-ipc requirement 
- Updated from global requirements 
- Updated from global requirements 
2.5.0¶
- Updated from global requirements 
- Updated from global requirements 
- Use oslo_utils reflection to get ‘f’ callable name 
- flake8 - remove unused rules 
- Imported Translations from Transifex 
- Updated from global requirements 
2.4.0¶
- Imported Translations from Transifex 
- Updated from global requirements 
- Imported Translations from Transifex 
- Updated from global requirements 
2.3.0¶
- Imported Translations from Transifex 
- Allow preexec_fn method for processutils.execute 
- Updated from global requirements 
- Use pypi name for requirements.txt 
- processutils: ensure on_completion callback is always called 
- Updated from global requirements 
- Remove redundant fileutils 
- Add tox target to find missing requirements 
2.2.0¶
2.1.0¶
- Imported Translations from Transifex 
- Updated from global requirements 
- Ensure we ‘join’ on the timer watchdog thread 
- Use better timing mechanisms instead of time.time() 
- Updated from global requirements 
- Add 2 callbacks to processutils.execute() 
- Updated from global requirements 
- Fix LockFixture docstring 
- Updated from global requirements 
- Switch badges from ‘pypip.in’ to ‘shields.io’ 
- Updated from global requirements 
- Replace locks and replace with fasteners library provides ones 
2.0.0¶
- Remove oslo namespace package 
1.10.0¶
- Imported Translations from Transifex 
- Sync from oslo-incubator 
- Updated from global requirements 
- Advertise support for Python3.4 / Remove support for 3.3 
- Updated from global requirements 
- Imported Translations from Transifex 
- Remove run_cross_tests.sh 
- Updated from global requirements 
- Updated from global requirements 
1.9.0¶
- Add binary parameter to execute and ssh_execute 
- Port processutils to Python 3 
- Uncap library requirements for liberty 
- Move fixtures to test-requirements.txt 
- Fix test_as_root* tests to work when run as root 
- Add pypi download + version badges 
- Standardize setup.cfg summary for oslo libs 
- Imported Translations from Transifex 
- Updated from global requirements 
- Remove tools/run_cross_tests.sh from openstack-common.conf 
1.8.0¶
- Switch to non-namespaced module imports 
- Remove py33 env from default tox list 
- Add lockutils.get_lock_path() function 
1.7.0¶
- Imported Translations from Transifex 
- Updated from global requirements 
1.6.0¶
- Updated from global requirements 
- processutils: execute(): fix option incompatibility 
1.5.0¶
- Ability to set working directory 
- Add eventlet test check to new tests __init__.py 
- Drop use of namespaced oslo.i18n 
- Updated from global requirements 
- Updated from global requirements 
- Update Oslo imports to remove namespace package 
1.4.1¶
- Revert “Port processutils to Python 3” 
0.4.0¶
- Bump to hacking 0.10 
- Updated from global requirements 
- add watchdog module 
- Updated from global requirements 
- make time format for processutils match lockutils 
- Correct the translation domain for loading messages 
- Add a reader/writer lock 
- Don’t use ConfigFilter for lockutils 
- Report import warnings where the import occurs 
- Port processutils to Python 3 
- Activate pep8 check that _ is imported 
- Drop requirements-py3.txt 
- Updated from global requirements 
- Clean up API documentation 
- Workflow documentation is now in infra-manual 
- Remove noqa from test files 
- test compatibility for old imports 
- Fix bug link in README.rst 
0.3.0¶
- Add external lock fixture 
- Add a TODO for retrying pull request #20 
- Allow the lock delay to be provided 
- Allow for providing a customized semaphore container 
- Move locale files to proper place 
- Flesh out the README 
- Move out of the oslo namespace package 
- Improve testing in py3 environment 
- Only modify autoindex.rst if it exists 
- Imported Translations from Transifex 
- lockutils-wrapper cleanup 
- Don’t use variables that aren’t initialized 
0.2.0¶
- Imported Translations from Transifex 
- Use six.wraps 
- Clean up lockutils logging 
- Remove unused incubator modules 
- Improve lock_path help and documentation 
- Add pbr to installation requirements 
0.1.0¶
- Updated from global requirements 
- Imported Translations from Transifex 
- Updated from global requirements 
- Updated from global requirements 
- Remove extraneous vim editor configuration comments 
- Add deprecated name test case 
- Make lock_wrapper private 
- Support building wheels (PEP-427) 
- Handle Python 3’s O_CLOEXEC default 
- Remove hard dep on eventlet 
- Test with both vanilla and eventlet stdlib 
- Imported Translations from Transifex 
- Fix coverage testing 
- Clean up doc header 
- Use ConfigFilter for opts 
- Make lockutils main() a console entry point 
- Expose lockutils opts to config generator 
- Add hacking import exception for i18n 
- Imported Translations from Transifex 
- provide sane cmd exit reporting 
- Imported Translations from Transifex 
- Add lock_path as param to remove_external function 
- Updated from global requirements 
- Cleanup and adding timing to lockutils logging 
- Imported Translations from Transifex 
- Remove oslo-incubator fixture 
- Break up the logging around the lockfile release/unlock 
- Always log the releasing, even under failure 
- Clarify logging in lockutils 
- Imported Translations from Transifex 
- Address race in file locking tests 
- Updated from global requirements 
- Imported Translations from Transifex 
- Updated from global requirements 
- Handle a failure on communicate() 
- Imported Translations from Transifex 
- Add code/api documentation 
- Add history file to documentation 
- Update contributing instructions 
- Work toward Python 3.4 support and testing 
- warn against sorting requirements 
- Log stdout, stderr and command on execute() error 
- Mask passwords in exceptions and error messages 
- Imported Translations from Transifex 
- Address some potential security issues in lockutils 
- Use file locks by default again 
- Switch to oslo.i18n in our code 
- Imported Translations from Transifex 
- Switch to oslo.utils in our code 
- Mask passwords in exceptions and error messages 
- Initial translation setup 
- Fix docs generation 
- Make all tests pass 
- exported from oslo-incubator by graduate.sh 
- Remove oslo.log from lockutils 
- lockutils: split tests and run in Python 3 
- Fix exception message in openstack.common.processutils.execute 
- Allow test_lockutils to run in isolation 
- Remove `processutils` dependency on `log` 
- Don’t import fcntl on Windows 
- Fix broken formatting of processutils.execute log statement 
- Move nova.utils.cpu_count() to processutils module 
- pep8: fixed multiple violations 
- fixed typos found by RETF rules 
- Mask passwords that are included in commands 
- Improve help strings 
- Remove str() from LOG.* and exceptions 
- Fixed several typos 
- Emit a log statement when releasing internal lock 
- Allow passing environment variables to execute() 
- Use oslotest instead of common test module 
- Remove rendundant parentheses of cfg help strings 
- Allow external locks to work with threads 
- Re-enable file-based locking behavior 
- Use Posix IPC in lockutils 
- Update log translation domains 
- Update oslo log messages with translation domains 
- Move the released file lock to the successful path 
- Add remove external lock files API in lockutils 
- Catch OSError in processutils 
- Use threading.ThreadError instead of reraising IOError 
- Have the interprocess lock follow lock conventions 
- lockutils: move directory creation in lock class 
- lockutils: remove lock_path parameter 
- lockutils: expand add_prefix 
- lockutils: remove local usage 
- lockutils: do not grab the lock in creators 
- Remove unused variables 
- Utilizes assertIsNone and assertIsNotNone 
- Fix i18n problem in processutils module 
- lockutils: split code handling internal/external lock 
- lockutils: fix testcase wrt Semaphore 
- Use hacking import_exceptions for gettextutils._ 
- Correct invalid docstrings 
- Fix violations of H302:import only modules 
- Fixed misspellings of common words 
- Trivial: Make vertical white space after license header consistent 
- Unify different names between Python2/3 with six.moves 
- Remove vim header 
- Use six.text_type instead of unicode function in tests 
- Adjust import order according to PEP8 imports rule 
- fix lockutils.lock() to make it thread-safe 
- Add main() to lockutils that creates temp dir for locks 
- Allow lockutils to get lock_path conf from envvar 
- Correct execute() to check 0 in check_exit_code 
- Replace assertEquals with assertEqual 
- Move LockFixture into a fixtures module 
- Fix to properly log when we release a semaphore 
- Add LockFixture to lockutils 
- Modify lockutils.py due to dispose of eventlet 
- Replace using tests.utils part2 
- Fix processutils.execute errors on windows 
- Bump hacking to 0.7.0 
- Replace using tests.utils with openstack.common.test 
- Allow passing a logging level to processutils.execute 
- BaseException.message is deprecated since Python 2.6 
- Fix locking bug 
- Move synchronized body to a first-class function 
- Make lock_file_prefix optional 
- Enable H302 hacking check 
- Enable hacking H404 test 
- Use param keyword for docstrings 
- Use Python 3.x compatible octal literal notation 
- Use Python 3.x compatible except construct 
- Enable hacking H402 test 
- python3: python3 binary/text data compatbility 
- Removes len() on empty sequence evaluation 
- Added convenience APIs for lockutils 
- Import trycmd and ssh_execute from nova 
- Update processutils 
- Use print_function __future__ import 
- Improve Python 3.x compatibility 
- Replaces standard logging with common logging 
- Locking edge case when lock_path does not exist 
- lockutils: add a failing unit test 
- lockutils: improve the external locks test 
- Removes unused imports in the tests module 
- Fix locking issues in Windows 
- Fix Copyright Headers - Rename LLC to Foundation 
- Use oslo-config-2013.1b3 
- Emit a warning if RPC calls made with lock 
- Default lockutils to using a tempdir 
- Replace direct use of testtools BaseTestCase 
- Use testtools as test base class 
- Start adding reusable test fixtures 
- Fixes import order errors 
- Log when release file lock 
- Eliminate sleep in the lockutils test case (across processes) 
- Disable lockutils test_synchronized_externally 
- Fix import order in openstack/common/lockutils.py 
- Make project pyflakes clean 
- updating sphinx documentation 
- Remove unused greenthread import in lockutils 
- Move utils.execute to its own module 
- Fix missing import in lockutils 
- Move nova’s util.synchronized decorator to openstack common 
