- Add preliminary support for Python3 (commit 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22). Full py3 support depends on the completion of bstr work in Pygolang.
- Add new zodb restore command to restore database from zodb dump output (commit 1, 2, 3, 4, 5, 6, 7).
- zodb dump now supports --pretty option with a format to show pickles disassembly (commit).
- Drop support for ZODB 3 (commit). Only ZODB 4 and ZODB 5 remain to be supported.
- zodb info: Provide "head" as subcommand to query last transaction of the database; Turn "last_tid" into deprecated alias for "head" (commit).
- Robustify zodb commit when handling object copies and reporting errors (commit 1, 2).
- Add support to run tests under Nexedi testing infrastructure (commit).
- Support using absolute and relative time in tidrange. One example usage is:
zodb analyze data.fs 2018-01-01T10:30:00Z..yesterday
(commit). - Python3 support progressed (commit 1, 2, 3), but zodbtools does not support python3 yet. The test suite was extended to run on python3 (commit) and also was extended to also run on ZODB with raw extensions from ongoing pull request #183 (commit).
- Fix zodbtools to work with all ZODB3, ZODB4 and ZODB5 (commit 1, 2, 3, 4).
- Fix zodb analyze for the case when history range is empty (commit 1, 2, 3).
- Zodbtools is not yet Python3-ready (commit), but we started to fix it step-by-step (commit 1, 2, 3, 4).
- zodb analyze can now work with any ZODB storage and supports analyzing a particular range of history (commit 1, 2).
- Add help for specifying TID ranges (commit).
- Always close opened storages (commit).
- Start to stabilize zodb dump format. The format is close to be stable now and will likely be changed, if at all, only in minor ways (commit 1, 2, 3, 4).
- Add DumpReader - class to read/parse input in zodbdump format (commit).
- Add zodb commit subcommand to commit new transaction into ZODB (commit).
- Clarify licensing (commit 1, 2).
- Add zodb tool to drive all subcommands (commit).
- Add zodb info subcommand to print general information about a ZODB database (commit).
- Switch to open ZODB storages by URL, not only via ZConfig files. URL support comes from zodburi (commit 1, 2).
Move Nexedi version of zodbanalyze from ERP5 into zodbtools.
Compared to original zodbanalyze Nexedi version is faster, prints not only total, but also current sizes, and supports running on bigger databases where keeping all working set to analyze in RAM is not feasible. It also supports analyzing a Repozo deltafs file directly. (commit 1, 2, 3, 4, 5, 6, 7, 8, 9)