==================
- Improve the logging of ``zodbconvert``. The regular minute logging
contains more information and takes blob sizes into account, and
debug logging is more useful, logging about four times a minute.
Some extraneous logging was bumped down to trace.
- Fix psycopg2 logging debug-level warnings from the PostgreSQL server
on transaction commit about not actually being in a transaction.
(Sadly this just squashes the warning, it doesn't eliminate the
round trip that generates it.)
- Improve the performance of packing databases, especially
history-free databases. See :issue:`275`.
- Give ``zodbpack`` the ability to check for missing references in
RelStorages with the ``--check-refs-only`` argument. This will
perform a pre-pack with GC, and then report on any objects that
would be kept and refer to an object that does not exist. This can
be much faster than external scripts such as those provided by
``zc.zodbdgc``, though it definitely only reports missing references
one level deep.
This is new functionality. Feedback, as always, is very welcome!
- Avoid extra pickling operations of transaction meta data extensions
by using the new ``extension_bytes`` property introduced in ZODB
5.6. This results in higher-fidelity copies of storages, and may
slightly improve the speed of the process too. See :issue:`424`.
- Require ZODB 5.6, up from ZODB 5.5. See :issue:`424`.
- Make ``zodbconvert`` *much faster* (around 5 times faster) when the
destination is a history-free RelStorage and the source supports
``record_iternext()`` (like RelStorage and FileStorage do). This
also applies to the ``copyTransactionsFrom`` method. This is disabled
with the ``--incremental`` option, however. Be sure to read the
updated zodbconvert documentation.