CHANGES¶
3.25.0¶
- Remove log translations
3.24.0¶
- Use Sphinx 1.5 warning-is-error
- Updated from global requirements
3.23.0¶
- Updated from global requirements
- [Fix gate]Update test requirement
- Add missing documentation for secretutils
- Updated from global requirements
- Updated from global requirements
- Update reno for stable/ocata
3.22.0¶
- Remove references to Python 3.4
- Added the token ‘encrypted_key’ to mask_password list
- Add Constraints support
3.21.0¶
- Allow ‘get_all_class_names’ to pass kwargs
3.20.0¶
- Add toggle ‘dashed’ to ‘generate_uuid’ function
- Show team and repo badges on README
3.19.0¶
- Updated from global requirements
- Improve eventlet check when selecting Event backend
- Updated from global requirements
3.18.0¶
- Add option to not truncate built-ins
- Create dictutils and add ‘flatten_dict_to_keypairs’
- Updated from global requirements
- Add reno for release notes management
- Allow scoped ipv6 addresses
- Trivial fixes to the usage doc
- Add threading<->eventlet compatible Event
- Updated from global requirements
- [TrivialFix] Replace ‘assertEqual(None, ...)’ with ‘assertIsNone(...)’
3.17.0¶
- Add method is_valid_mac
- Add __ne__ built-in function
- Make method import_versioned_module work
- Change assertTrue(isinstance()) by optimal assert
- doc: Fix docstring of method bool_from_string
- Change assertTrue(isinstance()) by optimal assert
- Add method is_valid_boolstr
- Add method is_valid_ipv6_cidr
- Updated from global requirements
- Updated from global requirements
- Add missing specs_matcher documentation
- Update homepage with developer documentation page
- Updated from global requirements
- Updated from global requirements
- Add utils for validating and splitting quotes
- Updated from global requirements
- Extend specs matcher to support “>” and “<”
- Remove discover from test-requirements
3.16.0¶
- Fix mask_dict_password for non string/dict type key in dict
- Restore <all-in> operator
- More unit tests for specs matcher
- Imported Translations from Zanata
- Add Python 3.5 classifier and venv
- Use an actual well defined parser for spec matching
- Remove unused LOG to keep code clean
- Updated from global requirements
3.15.0¶
- Add basic docstrings to stopwatch has_started/stopped methods
- Make mask_dict_password consistent with mask_password
- Updated from global requirements
- improve tests for mask_password and mask_dict_password
- Simplify boolean expression in executils.py
3.14.0¶
- Support json format output from qemu command
- Fix flake8 issues
- Use is_valid_ipv4 in get_ipv6_addr_by_EUI64
- Imported Translations from Zanata
3.13.0¶
- Allow assigning “0” to port
3.12.0¶
- Updated from global requirements
- Fix method split_path’s docstring ‘versionadded’
- Updated from global requirements
- Updated from global requirements
- Avoid catching generic exception
- Remove method total_seconds in timeuitls
- Fix is_valid_cidr raises TypeError
3.11.0¶
- Trivial: ignore openstack/common in flake8 exclude list
- Move method split_path into oslo.utils
3.10.0¶
- Imported Translations from Zanata
- Updated from global requirements
- Move nova extra_specs_ops to oslo.utils
3.9.0¶
- Imported Translations from Zanata
- Provide single step check if eventlet is monkey_patched
- Add method is_valid_cidr to netutils
- Updated from global requirements
- Updated from global requirements
- Add importutils.import_any method
- Add excutils.exception_filter
- Explicitly exclude tests from bandit scan
- Add CHAPPASSWORD to list of sanitize keys
- Enable bandit in gate
- Updated from global requirements
3.7.0¶
- Add method check_string_length
- Add missing versionchanged for configdrive
3.6.0¶
3.5.0¶
- Updated from global requirements
- Imported Translations from Zanata
- Remove bandit.yaml in favor of defaults
- Updated from global requirements
- Narrow mock for getfilesystemencoding
- Update translation setup
- Revert “Use assertTrue/False instead of assertEqual(T/F)”
- Updated from global requirements
- Updated from global requirements
- Add excutils.save_and_reraise_exception force_reraise + capture
- Add encodeutils.to_utf8() function
- Create secretutils and include ‘constant_time_compare’ function
- Fix coverage
- Imported Translations from Zanata
- Updated from global requirements
3.4.0¶
- Updated from global requirements
- Use assertTrue/False instead of assertEqual(T/F)
- Add a mechanism to mask passwords in dictionaries
- Add “configdrive” to the list of keys used by mask_password()
- assertIsNone(val) instead of assertEqual(None,val)
3.3.0¶
- Fix DeprecationWarning when call method delta_seconds
- fix fnmatch.filter in non-posix system
- fix fileutils ut code random failure
- Add missing doc index for imageutils and fnmatch
- re-implement thread safe fnmatch
- Fix the bug of can’t get the desired image info
3.2.0¶
- Revert “Move netifaces to extras”
- Remove Babel from requirements
3.1.0¶
- Remove duplicated profiles section from bandit.yaml
- Allow get_class_name to accept bound method and class method
- deprecate timeutils.total_seconds()
- Move imageutils from oslo-incubator to oslo.utils
- add comment explaining why we don’t want extra values passed to mask_password
- networkutils: drop python 2.6 support
- Remove ‘MANIFEST.in’
- Move netifaces to extras
3.0.0¶
- Add a bandit target to tox.ini
- Updated from global requirements
- Remove python 2.6 classifier
- Fix wrong bug tracking link
- Remove python 2.6 and cleanup tox.ini
- Refactor Port number validation
- Add useful ‘time_it’ decorator
2.8.0¶
- Fix get_class_name() on Python 3
- Added ICMP ‘type’ and ‘code’ checking capability to ‘netutils’ module
- Updated from global requirements
- Imported Translations from Zanata
- comment in write_to_tempfile
- Use versionadded and versionchanged in doc
2.7.0¶
- Expose function signature fetching function
- Allow ‘forever_retry_uncaught_exceptions’ to take in different defaults
- Write document for each unit of oslo_utils.utils
- Fix usage of “deprecated” markup in docstrings
- Just use ‘exception_to_unicode’ to handle exception to string
- Add ‘secret’ to sensitive keys
2.6.0¶
- Fix coverage configuration and execution
- Use a stopwatch in ‘forever_retry_uncaught_exceptions’
- No need for Oslo Incubator Sync
- Make forever_retry_uncaught_exceptions handle its own failures
- Ensure stopwatch __enter__, __exit__ are in docs
- Add some timeutils stop watch examples
- Imported Translations from Zanata
- Move ‘history’ -> release notes section
- Fix bad acting classes and ‘is_bound_method’ check
- Change ignore-errors to ignore_errors
- Updated from global requirements
- If ‘bool_from_string’ provided a boolean just return it
- Imported Translations from Zanata
- only capture the ImportError when importing
- Add ‘token’ to list of fields to be santized by mask_password
2.5.0¶
- Updated from global requirements
- Imported Translations from Transifex
- Updated from global requirements
- Updated from global requirements
2.4.0¶
2.3.0¶
- Updated from global requirements
- Update docstring on stop watch to reflect monotonic lib. usage
- Updated from global requirements
- flake8 - remove unused rules
- Bump monotonic to 0.3 to remove exception catching on import
- Provide a common exception caused by base class
- Imported Translations from Transifex
- Allow access to reflection ‘get_members’
- Updated from global requirements
2.2.0¶
- Imported Translations from Transifex
- Updated from global requirements
2.1.0¶
- Imported Translations from Transifex
- Updated from global requirements
- Adding checking around the monotonic import
2.0.0¶
- Updated from global requirements
- Updated from global requirements
- Add oslo.config to test requirements
- Remove oslo namespace package
- Updated from global requirements
1.9.0¶
- Updated from global requirements
- versionutils: add version convert helper methods
- Imported Translations from Transifex
- Add write_to_tempfile back to fileutils
- Use monotonic library to avoid finding monotonic time function
- Fix exception_to_unicode() for oslo_i18n Message
1.8.0¶
- Add fileutils to oslo_utils
- Updated from global requirements
- Add tox target to find missing requirements
1.7.0¶
- Updated from global requirements
- Updated from global requirements
- Switch badges from ‘pypip.in’ to ‘shields.io’
- timeutils: fix newer/older comparison with TZ aware datetime
- Replace parse_strtime with parse_isotime in older/newer
1.6.0¶
- Add pytz to requirements
- Deprecate strtime
- Imported Translations from Transifex
- timeutils: utcnow() can return a value with a timezone
- Add ‘raise_with_cause’ chaining helper to excutils
- timeutils: deprecate isotime()
- timeutils: make marshall timezone aware
- Advertise support for Python3.4 / Remove support for Python 3.3
- Updated from global requirements
- Add exception_to_unicode() function
- Remove run_cross_tests.sh
- Imported Translations from Transifex
- Move versionutils into place and remove deprecation tools
- Denote monotonic import ordering + usage
1.5.0¶
- Add liberty release name to versionutils
- Expose opts entry point for version_utils
- Switch from oslo.config to oslo_config
- Remove oslo.log code and clean up versionutils API
- Remove code that moved to oslo.i18n
- Enhance versionutils.deprecated to work with classes
- Add Kilo release name to versionutils
- Allow deprecated decorator to specify no plan for removal
- Uncap library requirements for liberty
- Add JUNO as a target to versionutils module
- Add missing reflection + uuidutils docs
- timeutils: avoid passing leap second to datetime
- Add pypi download + version badges
- Cleanup README.rst and setup.cfg
- pep8: fixed multiple violations
- Use oslotest instead of common test module
- Use hacking import_exceptions for gettextutils._
- fixed typos
- Fix violations of H302:import only modules
- Adds decorator to deprecate functions and methods
- Remove vim header
- Add versionutils for version compatibility checks
- Update hacking setting
- Updated from global requirements
- Imported Translations from Transifex
- Clean up TestIsIPv6Enabled
- Fix test_netutils: stop patches
- Add a new string to the list of masked patterns
- Provide common fetch_current_thread_functor function
- Imported Translations from Transifex
1.4.0¶
- Add a stopwatch + split for duration(s)
- Allow providing a logger to save_and_reraise_exception
- Updated from global requirements
- Utility API to generate EUI-64 IPv6 address
1.3.0¶
- Add a eventlet utils helper module
- Add microsecond support to iso8601_from_timestamp
- add dependency warning to requirements.txt
- Updated from global requirements
- Update Oslo imports to remove namespace package
- Add TimeFixture
- Add microsecond support to timeutils.utcnow_ts()
- Make setup.cfg packages include oslo.utils
1.2.1¶
- Return LOCALHOST if no default interface
- fix link to bug tracker in README
1.2.0¶
- Improve performance of strutils.mask_password
- Move files out of the namespace package
- Add method is_valid_port in netutils
- Support non-lowercase uuids in is_uuid_like
- Add ‘secret_uuid’ in _SANITIZE_KEYS for strutils
- Imported Translations from Transifex
- Workflow documentation is now in infra-manual
1.1.0¶
- Improve error reporting in _get_my_ipv4_address()
- Add get_my_ip()
- Updated from global requirements
- Add ‘auth_password’ in _SANITIZE_KEYS for strutils
- Updated from global requirements
- Activate pep8 check that _ is imported
- Add uuidutils to oslo.utils
- Add pbr to installation requirements
- Updated from global requirements
- Add is_int_like() function
- Hide auth_token and new_pass
- Imported Translations from Transifex
- Add history/changelog to docs
- Imported Translations from Transifex
- Support building wheels (PEP-427)
- Imported Translations from Transifex
- Improve docstrings for IP verification functions
- Imported Translations from Transifex
- Add ip address validation
- Fix how it appears we need to use mock_anything to avoid ‘self’ errors
- Updated from global requirements
- Move over a reflection module that taskflow uses
- Make safe_encode func case-insensitive
- Enable mask_password to handle byte code strings
- Updated from global requirements
1.0.0¶
- Imported Translations from Transifex
- Add the ability to extract the query params from a urlsplit
- Work toward Python 3.4 support and testing
- warn against sorting requirements
- Remove unused dependency on oslo.config
- Updated from global requirements
- Just use int(BOOL) to convert to 1 or 0
- Re-enable _import* hidden methods in import_utils
0.2.0¶
- Make strutils.mask_password more secure
- New public API for mask_password ported from incubator
- Imported Translations from Transifex
0.1.1¶
- Make return type from urlsplit private
- Add API docs and clean up other docs
- Make the i18n integration module private
- Cleaning up index.rst file
- export only try_import in __all__
- Switch to oslo.i18n and remove any dependency on oslo-incubator
- Move units into oslo.utils
- Switch to standard python logging
- Setup for translation
- Split strutils into 2 different modules
- Rename network_utils into netutils
- get pep8 working
- Get the tox tests working
- exported from oslo-incubator by graduate.sh
- Fixed a new pep8 error and a small typo
- Set pbr ‘warnerrors’ option for doc build
- fixed typos found by RETF rules
- Use moxstubout and mockpatch from oslotest
- Remove ValueError when accessing sys.modules
- Enable configuring tcp keepalive
- Avoid raising index error when no host
- Remove str() from LOG.* and exceptions
- Remove import workaround of SplitResult
- Use oslotest instead of common test module
- Partial fix of test_strutils.py on Python 3
- Fix safe_encode(): return bytes on Python 3
- urlsplit issues with IPv6 addresses in python26
- save_and_reraise_exception: make logging respect the reraise parameter
- strutils: Allow safe_{encode,decode} to take bytes as input
- Fix import order in test_excutils
- Update oslo log messages with translation domains
- Implements SI/IEC unit system conversion to bytes
- Add basic Python 3 tests
- py3kcompat: remove
- Deleted duplicated method in cliutils
- strutils bool_from_string, allow specified default
- Utilizes assertIsNone and assertIsNotNone
- Fix spelling errors in comments
- Use hacking import_exceptions for gettextutils._
- Correct invalid docstrings
- Fix a bug in safe_encode where it returns a bytes object in py3
- Fix typo in parameter documentation (timeutils)
- Avoid TypeError in is_older_than, is_newer_than
- Remove vim header
- Use py3kcompat urlutils functions instead of urlparse
- Add helper method total_seconds in timeutils.py
- Do not name variables as builtins
- Use six.text_type instead of unicode function in tests
- Fix typos in oslo
- Adjust import order according to PEP8 imports rule
- python3: use six.text_types for unicode()
- Don’t shadow str
- Fix timeutils.set_override_time not defaulting to current wall time
- Fix misused assertTrue in unit tests
- Optimize timeutils.utcnow_ts()
- excutils: replace unicode by six.u
- excutils: use six.reraise to re-raise
- Replace using tests.utils part2
- Bump hacking to 0.7.0
- Replace using tests.utils with openstack.common.test
- BaseException.message is deprecated since Python 2.6
- Enable H302 hacking check
- Add conditional exception reraise
- python3: Add python3 compatibility
- Make AMQP based RPC consumer threads more robust
- Add network_utils.urlsplit
- Remove useless logging in networks_utils
- python3: Fix traceback while running python3
- Refactors to_bytes
- Add slugify to strutils
- Enable hacking H404 test
- Added common code into fileutils and strutils
- Enable hacking H402 test
- Enable hacking H403 test
- Enable hacking H201 test
- Add ‘t’, ‘y’, and strict to bool_from_string
- Handle ints passed to boolean_from_string
- Removes leading zeros on integers in test_timeutils
- Convert unicode strings for python3 portability
- Do not import openstack.common.log in strutils
- Improve Python 3.x compatibility
- Replaces standard logging with common logging
- Removes unused imports in the tests module
- Fix Copyright Headers - Rename LLC to Foundation
- support ISO 8601 micro-second precision
- Decode / Encode string utils for openstack
- timeutils: considers that now is soon
- Replace direct use of testtools BaseTestCase
- Use testtools as test base class
- Import timeutils.is_soon from keystoneclient
- UTC ISO8601 from timestamp
- Implement importutils.try_import
- Use basestring instead of str for type check
- Make time comparison functions accept strings
- Fix timezone handling in timeutils tests
- Rename utils.py to strutils.py
- Provide i18n to those messages without _()
- Make project pyflakes clean
- Account for tasks duration in LoopingCall delay
- Convenience wrapper for datetime.timedelta.total_seconds()
- Added is_newer_than function
- Extracted parse_host_port into network_utils
- Normalize_time() always return naive object
- Use pep8 v1.3.3
- Don’t trap then re-raise ImportError
- Fix spelling typos
- Support for marshalling datetime while preserving microseconds
- Remove unused imports
- fix bug lp:1019348,update openstack-common to support pep8 1.3
- Use strtime() in to_primitive() for datetime objs
- Improve exception from importutils.import_class()
- Update common code to support pep 1.3. bug 1014216
- add import_object_ns function
- add more realistic unit tests for importutils
- Fix utcnow_ts to return UTC timestamp
- Add nova time util functions to timeutils
- Replace datetime.utcnow with timeutils.utcnow
- Remove common.exception from common.importutils
- Add save_and_reraise_exception()
- Update exception from importutils.import_class()
- Change behavior in utils.import_object()
- Create openstack.common.timeutils
- Initial skeleton project