Previous version ----
Total commits ------- 9
```
+# 🎁 Release notes (`0.0.1b3`)
+
+## Changes
+- Handle exception from os when attempting to determine console sizes.
+- Fall back on os.get_terminal_size() rather than calls to tput/stty when we can't figure out how big the console is.
+- More work to improve documentation generated by sphinx. Also fixes some type hints that were confusing mypy and re-enables the doctests in collectionz/trie + collections/bst. Some improvement of the typez/centcount and typez/money that were inspired by improving their docs.
+- More work to improve the quality of sphinx autodocs.
+- More writing examples and improving documentation.
+- More documentation changes but includes a change to config.py that removes the ability to set flags via environment variables. It was hacky and I don't use it.
+- Improve documentation in bootstrap.py.
+- Improve documentation in argparse_utils.py.
+- Improve documentation in ansi.py.
+- Minor logic changes (e.g. thunk one method to another) but a lot of documentation cleanup.
+- More documentation.
+- Adds function to write out an integer longhand.
+- Cut version 0.0.1b2
+
+## Metadata
+```
+This version -------- 0.0.1b3
+Previous version ----
+Total commits ------- 13
+```
+# 🎁 Release notes (`0.0.1b4`)
+
+## Changes
+- Update sphinx links to anonymous references to work around a warning message at docs build time.
+- More documentation improvements.
+- Fix run_tests.py to detect doctest failures and tear itself down more quickly when a test has failed.
+- Update remote worker records to be more instructive.
+- Hacky code to sort the colors on the sphinx webpage. :P
+- Cut version 0.0.1b3
+
+## Metadata
+```
+This version -------- 0.0.1b4
+Previous version ----
+Total commits ------- 6
+```
+# 🎁 Release notes (`0.0.1b5`)
+
+## Changes
+- Add missing dependency on ANTLR runtime.
+- Lift easter() function from dateutils and remove that dependency from this project. Original copyright and attribution in the code and the root NOTICE file.
+- Make sure lockfile always sets locktime. Use locktime in cron.py to optionally create a record of lockfile contention for future analysis.
+- Improve cut_version.sh understanding of old versions.
+- Teach cut_version.sh about PREVIOUS_VERSION...
+- Add a blurb about fff.py in README.
+- Add fff.py as an example but it's really a devtool that I used in the pre-commit hook.
+- Clean up run_tests.py
+- More messing with the project file.
+- Update license to try to make the PyPi page look nicer...
+- Make it clear that --config_allow_dynamic_updates doesn't take any argument.
+- Add some more examples and a convenience method in config.py for terminating the program due to bad flags.
+- Reference local files in wordle example.
+- Better explain what the heck is going on in deferred_operand.py.
+- Add an overall runtime line to the final report in run_tests.py.
+- Adds timer next to progress bar in run_tests.py.
+- Remove hardcoded properties list from DeferredOperand; use a c'tor param instead.
+- Add a comment for future fields in SmartFuture.
+- Make DeferredOperand handle sets, dirs, dels transparently by passing them along to the wrapped result.
+- Make DeferredOperand work more transparently.
+- Stop calling internal method _resolve in run_tests.py.
+- Log an error message when something went wrong in run_tests.py.
+- Do not let test names in results collide when we run one to capture coverage and another instance of the same test w/o coverage to check perf.
+- Make run_tests.py keep track of test runtimes.
+- Make run_tests.py tell you what's still running.
+- Cut version 0.0.1b4
+
+## Metadata
+```
+This version -------- 0.0.1b5
+Previous version ---- 0.0.1b4
+Total commits ------- 26
+```
+# 🎁 Release notes (`0.0.1b6`)
+
+## Changes
+- Fix docs after rename
+- Rename some directories (e.g. typez -> types) since they don't collide with any stdlib names.
+- Add better docs with an example to SharedDict.
+- Add id_generator_test.
+- Add run_tests.py to the examples/README list.
+- Make run_tests_serially.sh skip zookeeper_test.py too.
+- Teach run_tests.py to abort inflight tests in case of emergency shutdown.
+- Fix wrong TimeoutError in catch.
+- Get reminder to stop leaving turds around my filesystem.
+- Docs for dataclass_utils.
+- Add dataclass_utils for some simple dataclass wrappers and annotation.
+- Improve documentation / doctests.
+- Update documentation.
+- Cut version 0.0.1b5
+
+## Metadata
+```
+This version -------- 0.0.1b6
+Previous version ---- 0.0.1b5
+Total commits ------- 14
+```
+# 🎁 Release notes (`0.0.1b6`)
+
+## Changes
+- Cut version 0.0.1b6
+- Fix dog generation after last rename change.
+- Rename some directories (e.g. typez -> types) since they don't collide with any stdlib names.
+- Add better docs with an example to SharedDict.
+- Add id_generator_test.
+- Add run_tests.py to the examples/README list.
+- Make run_tests_serially.sh skip zookeeper_test.py too.
+- Teach run_tests.py to abort inflight tests in case of emergency shutdown.
+- Fix wrong TimeoutError in catch.
+- Get reminder to stop leaving turds around my filesystem.
+- Docs for dataclass_utils.
+- Add dataclass_utils for some simple dataclass wrappers and annotation.
+- Improve documentation / doctests.
+- Update documentation.
+- Cut version 0.0.1b5
+
+## Metadata
+```
+This version -------- 0.0.1b6
+Previous version ---- 0.0.1b5
+Total commits ------- 15
+```
+# 🎁 Release notes (`0.0.1b6`)
+
+## Changes
+- Fix toml files after rename. This rename is a pain!
+- Cut version 0.0.1b6
+- Cut version 0.0.1b6
+- Fix dog generation after last rename change.
+- Rename some directories (e.g. typez -> types) since they don't collide with any stdlib names.
+- Add better docs with an example to SharedDict.
+- Add id_generator_test.
+- Add run_tests.py to the examples/README list.
+- Make run_tests_serially.sh skip zookeeper_test.py too.
+- Teach run_tests.py to abort inflight tests in case of emergency shutdown.
+- Fix wrong TimeoutError in catch.
+- Get reminder to stop leaving turds around my filesystem.
+- Docs for dataclass_utils.
+- Add dataclass_utils for some simple dataclass wrappers and annotation.
+- Improve documentation / doctests.
+- Update documentation.
+- Cut version 0.0.1b5
+
+## Metadata
+```
+This version -------- 0.0.1b6
+Previous version ---- 0.0.1b5
+Total commits ------- 17
+```
+# 🎁 Release notes (`0.0.1b7`)
+
+## Changes
+- Fix stdev.
+- Use the right greek letter for the mean of the population, not the sample.
+- Change path of remote_worker so the macbook can work too.
+- This is slightly faster...
+- Messing with config files for git presubmit check while cleaing up string_utils lint errors.
+- More tweaking of cut_version.sh.
+- Adds MD5 checksums to wheels.
+- Doc updates to argparse_utils.py.
+- More changes to cut_version.sh.
+- Update cut_version.sh.
+- Modify cut_version to check in wheel produced.
+- Update docs in parallelize again.
+- Add binary wheels.
+- Update docs.
+- Update docs around development
+- Cut version 0.0.1b6
+
+## Metadata
+```
+This version -------- 0.0.1b7
+Previous version ---- 0.0.1b6
+Total commits ------- 16
+```
+# 🎁 Release notes (`0.0.1b8`)
+
+## Changes
+- Docs for Graph.
+- Adds Graph.
+- Tiebreak ordering of ranges with the same lower bound using upper bound.
+- More docs...
+- More docs.
+- Update docs again.
+- Update docs and type hints in interval_tree. Add it to the pydocs.
+- Fix interval_tree so it actually works. Add unittests.
+- Bug and readability fix.
+- Adds IntervalTree.
+- Remove more annoying warning messages dumped to console from library code.
+- Be less annoying.
+- Make argparse utils' valid_date work with the default format of UNIX date.
+- Improve identifier for zookeeper based lockfiles.
+- Adds support for zookeeper-based lockfiles.
+- Make the processed cmdline available to callers.
+- Fixup/improve error message when giving up on lock acquisition.
+- Improve error message for logs.
+- Do not touch timestamp if cronjob failed!
+- Fix docs.
+- Only upload one wheel.
+- Update docs.
+- Update docs.
+- Tweak cut_version.sh again.
+- Cut version 0.0.1b7
+
+## Metadata
+```
+This version -------- 0.0.1b8
+Previous version ---- 0.0.1b7
+Total commits ------- 25
+```
+# 🎁 Release notes (`0.0.1b9`)
+
+## Changes
+- Fix typo in README.
+- Remove the requirement that filename is a file from is_*.
+- Typos in docs.
+- Update docs.
+- Adds remove_edge and shortest path.
+- Cut version 0.0.1b8
+
+## Metadata
+```
+This version -------- 0.0.1b9
+Previous version ---- 0.0.1b8
+Total commits ------- 6
+```
+# 🎁 Release notes (`0.0.1b10`)
+
+## Changes
+- More cleanup.
+- More spring cleaning.
+- I guess it's 2023 now...
+- Adds a new color.
+- Augment logging at startup in debug mode; fix a bug in config.
+- Fix logger.exception messages in example code.
+- Fix logger.exception() calls.
+- Use full path for grep.
+- Make logging use execute_probabilstically.
+- Improve docs and add a doctest.
+- Adds execute_probabilistically.
+- Minor tweaks.
+- Adds CreateFileWithMode helper to create a new file with a given mode more easily.
+- Cut version 0.0.1b9
+
+## Metadata
+```
+This version -------- 0.0.1b10
+Previous version ---- 0.0.1b9
+Total commits ------- 14
+```