Changelog History
Page 4
-
v15.1.0 Changes
(September 23, 2015)
๐ Reached the first release version of โ [iterutils.remap]iterutils.remap, fully tested and documented. Also a couple of tweaks to expose the ๐ [iterutils.unique][iterutils.unique] docs.
-
v15.0.2 Changes
(September 9, 2015)
๐ a couple [dictutils.OMD][dictutils.OMD] fixes to [dictutils.OMD.pop][dictutils.OMD.pop] and [dictutils.OMD.popall][dictutils.OMD.popall] to make them consistent โ with the docstrings. and the accompanying tests of course.
- ๐ fix [dictutils.OMD.setdefault][dictutils.OMD.setdefault] to default ๐ to None and not empty list, per documentation (and add a test to the same effect)
-
v15.0.1 Changes
(August 27, 2015)
- โ Added [OrderedMultiDict.sortedvalues()][OrderedMultiDict.sortedvalues], which returns a copy of the OMD with sublists within a keyspace sorted.
- ๐ Fixing a bug in [dictutils.OrderedMultiDict][dictutils.OrderedMultiDict]'s addlist method that caused values to be added multiple times.
- ๐ Fixing a [iterutils.backoff][iterutils.backoff] string identity check
โ [OrderedMultiDict.sortedvalues]: http://boltons.readthedocs.org/en/latest/dictutils.html#boltons.dictutils.OrderedMultiDict.sortedvalues
-
v15.0.0 Changes
(August 19, 2015)
๐ Finally the 15.0 major release. All passing PRs and feature requests ๐ from the first wave addressed and closed. tzutils merged into timeutils. AtomicSaver approach and API much improved. Several other ๐ features added:
- [iterutils.backoff][iterutils.backoff] and [iterutils.backoff_iter][iterutils.backoff_iter] for exponential backoff
- [iterutils.frange][iterutils.frange] and [iterutils.xfrange][iterutils.xfrange] for floating point range generation
- Slightly more permissive [jsonutils.JSONLIterator][jsonutils.JSONLIterator] blank line ignoring
- [strutils.iter_splitlines][strutils.iter_splitlines] for lazily getting lines from a larger string
- [timeutils.dt_to_timestamp][timeutils.dt_to_timestamp], per the long-lived PR [#13][i13].
- Merged tzutils into timeutils
- [fileutils.AtomicSaver][fileutils.AtomicSaver] rewrite and redoc
- -teens support for [strutils.ordinalize][strutils.ordinalize]
- made [iterutils.one][iterutils.one] consistent with [iterutils.first][iterutils.first]
-
v0.6.6 Changes
(July 31, 2015)
๐ Fix atomic saving open-file issue for Windows.
- Patch for AtomicSaver on Windows. Full rewrite comes in 15.0.0.
- [strutils.gunzip_bytes][strutils.gunzip_bytes] for decompressing a gzip bytestring
-
v0.6.5 Changes
(July 30, 2015)
BufferedSocket work, html2text, pairwise shortcut, is_container, plural ๐ typo fix, [timeutils.isoparse][timeutils.isoparse], [cacheutils.ThresholdCounter][cacheutils.ThresholdCounter], and lots of โ testing
- Add [iterutils.first][iterutils.first] function
- Add [cacheutils.ThresholdCounter][cacheutils.ThresholdCounter]
- Add JSONL verification to jsonutils
- Add [timeutils.isoparse][timeutils.isoparse]
- Add [strutils.html2text][strutils.html2text] and [strutils.HTMLTextExtractor][strutils.HTMLTextExtractor]
- Fix [strutils.pluralize][strutils.pluralize] (indeces -> indices, per [#41][i41])
- Add [iterutils.is_container][iterutils.is_container] function
- Fixed a small formatting bug in [tbutils.ExceptionInfo][tbutils.ExceptionInfo] that added an extra 'builtins.' for builtin exceptions under python 3
- Added tests for many modules
- Create [iterutils.pairwise][iterutils.pairwise] shortcuts for pairwise chunks since pairs (key/val) are common
- Additional 2.6 compatibility and tests
- Fixed CachedInstancePartial to be Python 3 friendly without breaking PyPy.
- Made formatutils Python 3 compatible
- Rename sockutils to socketutils and other changes
-
v0.6.4 Changes
(May 10, 2015)
๐ Fixed multiline exception message handling in ParsedException. added mathutils. adding a tentative version of socketutils. fix LRU.popitem. fix OMD.eq.
- Fix a bug where [dictutils.OrderedMultiDict][dictutils.OrderedMultiDict]'s eq would fail with non-iterable objects of comparison
- Fixed
LRU.popitem
to return a key value pair - Added mathutils with [mathutils.ceil][mathutils.ceil] and [mathutils.floor][mathutils.floor] implementations that can search a fixed set of choices using the bisect module.
- Fix [excutils.ParsedException][excutils.ParsedException] so exception message would not start with whitespace
- Fix multiline exception messages
- Adding [socketutils.BufferedSocket][socketutils.BufferedSocket] and [socketutils.NetstringSocket][socketutils.NetstringSocket]
-
v0.6.3 Changes
(April 20, 2015)
โ Add typeutils, remove compat.py, make ParsedException work with eval()ed code
- Properly parse tracebacks with missing source. Resolves [#30][i30]
- Tweak the docs for [typeutils.get_all_subclasses][typeutils.get_all_subclasses]
- Moved [typeutils.make_sentinel][typeutils.make_sentinel] into typeutils and removed the confusing compat module
- Add in typeutils with modifications per the caveats of [#15][i15]
- Added function [iterutils.one][iterutils.one]
-
v0.6.2 Changes
(April 11, 2015)
โ Add partial_ordering, fix LRU repr and addition behavior
- Add [funcutils.partial_ordering]funcutils.partial_ordering, decorator similar to functools.total_ordering()
- Fixed [cacheutils.LRU][cacheutils.LRU]'s behavior per [#21][i21]
- Fix [cacheutils.LRU][cacheutils.LRU] repr reversal, fixes [#20][i20]
-
v0.6.0 Changes
(April 10, 2015)
๐ Python 3 support and several community bugfixes. Docs clarifications, too.
- Make boltons Python 3 compatible without any external dependencies. All modules are independent and work in Python 2.6, 2.7, 3.4, and PyPy.
- clarify TracebackInfo.from_current() method gap, per user 'dl__' here: http://www.reddit.com/r/Python/comments/321d3o/boltons_over_100_python_utilities/
- Fix the [cacheutils.cached][cacheutils.cached] decorator, adding a sanity test, fixes [#12][i12]
- Fix bytes2human when builtin zip returns iterators
- Simplified logic of [iterutils.chunked][iterutils.chunked]