1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125
|
# ChangeLog
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
## [Unreleased]
## [0.19]
- Add `.acquire_read_lock`, `.release_read_lock`, `.acquire_write_lock`, and
`.release_write_lock` methods to the inter thread `ReaderWriterLock` as was
promised in the README.
- Remove support for python 3.7 and pypy 3.7. It should still work, but is no
longer tested.
- Add support for pypy 3.10 and python 3.11
## [0.18]
- Reshuffle the process lock code and properly document it.
- Revamp the docs and switch from sphinx to mkdocs
- Remove difficult to use tread lock features from docs
- Bring back support for eventlet `spawn_n`
- Remove support for python3.6. It should still work, but is no longer tested.
## [0.17.3]:
- Allow writer to become a reader in thread ReaderWriter lock
## [0.17.2]:
- Remove unnecessary setuptools pin
## [0.17.1]:
- Switch to the modern python package build infrastructure
## [0.17]: [NEVER RELEASED]
- Remove support for python 3.5 and earlier, including 2.7
- Add support for python 3.9 and 3.10
- Fix a conflict with django lock
- Add `__version__` and `__all__` attributes
- Fix a failure to parse README as utf-8
- Move from nosetest to pytest and cleanup testing infrastructure
## [0.16.3]:
- Fix a failure to parse README as utf-8 on python2
## [0.16.2]:
- Fix a failure to parse README as utf-8
## [0.16.1]: [YANKED]
## [0.16]:
- Move from travis and appveyor to github actions
- Add interprocess reader writer lock
- Improve README
- remove unused eventlet import
- use stdlib monotonic instead of external for python >= 3.4
## [0.15]:
- Add testing for additional python versions
- Remove python 2.6 support
- Remove eventlet dependency and use
threading.current_thread instead
## [0.14]:
- Allow providing a custom exception logger to 'locked' decorator
- Allow providing a custom logger to process lock class
- Fix issue #12
## [0.13]:
- Fix 'ensure_tree' check on freebsd
## [0.12]:
- Use a tiny retry util helper class for performing process locking retries.
## [0.11]:
- Directly use monotonic.monotonic.
- Use BLATHER level for previously INFO/DEBUG statements.
## [0.10]:
- Add LICENSE in generated source tarballs
- Add a version.py file that can be used to extract the current version.
## [0.9]:
- Allow providing a non-standard (eventlet or other condition class) to the
r/w lock for cases where it is useful to do so.
- Instead of having the r/w lock take a find eventlet keyword argument, allow
for it to be provided a function that will be later called to get the
current thread. This allows for the current *hack* to be easily removed
by users (if they so desire).
## [0.8]:
- Add fastener logo (from openclipart).
- Ensure r/w writer -> reader -> writer lock acquisition.
- Attempt to use the monotonic pypi module if its installed for monotonically
increasing time on python versions where this is not built-in.
## [0.7]:
- Add helpful `locked` decorator that can lock a method using a found
attribute (a lock object or list of lock objects) in the instance the method
is attached to.
- Expose top level `try_lock` function.
## [0.6]:
- Allow the sleep function to be provided (so that various alternatives other
than time.sleep can be used), ie eventlet.sleep (or other).
- Remove dependency on oslo.utils (replace with small utility code that
achieves the same effect).
## [0.5]:
- Make it possible to provide an acquisition timeout to the interprocess lock
(which when acquisition can not complete in the desired time will return
false).
## [0.4]:
- Have the interprocess lock acquire take a blocking keyword argument
(defaulting to true) that can avoid blocking trying to acquire the lock
## [0.3]:
- Renamed from 'shared_lock' to 'fasteners'
## [0.2.1]
- Fix delay not working as expected
## [0.2]:
- Add a interprocess lock
## [0.1]:
- Add travis yaml file
- Initial commit/import
|