[Checkins] [zopefoundation/ZODB] 89db8a: Connection.new_oid delegates to its storage, not t...

GitHub noreply at github.com
Sat Oct 13 19:09:10 CEST 2018


  Branch: refs/heads/z-object-database
  Home:   https://github.com/zopefoundation/ZODB
  Commit: 89db8a28ca0cb445c4619dad58f88ba90a629f49
      https://github.com/zopefoundation/ZODB/commit/89db8a28ca0cb445c4619dad58f88ba90a629f49
  Author: Jason Madden <jamadden at gmail.com>
  Date:   2017-01-28 (Sat, 28 Jan 2017)

  Changed paths:
    M CHANGES.rst
    M src/ZODB/Connection.py

  Log Message:
  -----------
  Connection.new_oid delegates to its storage, not the DB.

Fixes #139


  Commit: d4d7438358ee49152565fcd1bdfe952ca325b80d
      https://github.com/zopefoundation/ZODB/commit/d4d7438358ee49152565fcd1bdfe952ca325b80d
  Author: Jason Madden <jamadden at gmail.com>
  Date:   2017-01-28 (Sat, 28 Jan 2017)

  Changed paths:
    M .travis.yml
    M src/ZODB/tests/TransactionalUndoStorage.py

  Log Message:
  -----------
  TransactionUndoStorage tests close the conn and db

This fixes leaking connections (relying on the GC to close them).

Tested with RelStorage.

Fixes #138


  Commit: 177cfabee2ecd64ab37f53f108a9dddc40534b54
      https://github.com/zopefoundation/ZODB/commit/177cfabee2ecd64ab37f53f108a9dddc40534b54
  Author: Jason Madden <jamadden at gmail.com>
  Date:   2017-01-28 (Sat, 28 Jan 2017)

  Changed paths:
    M .coveragerc
    M src/ZODB/DB.py

  Log Message:
  -----------
  Mark DB.new_oid as deprecated.


  Commit: 42532c51f5508a6c87675b456d6a8c8f4f7c6864
      https://github.com/zopefoundation/ZODB/commit/42532c51f5508a6c87675b456d6a8c8f4f7c6864
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-01-28 (Sat, 28 Jan 2017)

  Changed paths:
    M .coveragerc
    M CHANGES.rst
    M src/ZODB/Connection.py
    M src/ZODB/DB.py

  Log Message:
  -----------
  Merge pull request #140 from zopefoundation/issue-139

Connection.new_oid delegates to its storage, not the DB.


  Commit: d7dae8b1882ab5f4cdf1fab34af7c6d24a157bbb
      https://github.com/zopefoundation/ZODB/commit/d7dae8b1882ab5f4cdf1fab34af7c6d24a157bbb
  Author: Jason Madden <jamadden at gmail.com>
  Date:   2017-01-28 (Sat, 28 Jan 2017)

  Changed paths:
    M CHANGES.rst
    M setup.py

  Log Message:
  -----------
  Don't require persistent at setup time. We don't build native code that needs those headers anymore. Fixes #119.


  Commit: f3b2350ab738ec33d10c19472c50f3dc85dfc487
      https://github.com/zopefoundation/ZODB/commit/f3b2350ab738ec33d10c19472c50f3dc85dfc487
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-01-28 (Sat, 28 Jan 2017)

  Changed paths:
    M CHANGES.rst
    M setup.py

  Log Message:
  -----------
  Merge pull request #142 from zopefoundation/issue-119

Don't require persistent at setup time. We don't build native code th…


  Commit: f8cf23ecd4604740b4389b6f2d2392804b083fb7
      https://github.com/zopefoundation/ZODB/commit/f8cf23ecd4604740b4389b6f2d2392804b083fb7
  Author: Jason Madden <jamadden at gmail.com>
  Date:   2017-02-01 (Wed, 01 Feb 2017)

  Changed paths:
    M CHANGES.rst
    M src/ZODB/Connection.py

  Log Message:
  -----------
  Don't manipulate Connection state after it has been returned to the pool.

Doing so leads to race conditions.

In particular, there can be an AttributeError.

See https://github.com/zodb/zodbshootout/issues/26 for details.


  Commit: 739761cfd7e77f3afcc6fa8ecd9aea23e35a53de
      https://github.com/zopefoundation/ZODB/commit/739761cfd7e77f3afcc6fa8ecd9aea23e35a53de
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-02-01 (Wed, 01 Feb 2017)

  Changed paths:
    M CHANGES.rst
    M src/ZODB/Connection.py

  Log Message:
  -----------
  Merge pull request #143 from zopefoundation/jam-zodbshootout-26

Don't manipulate Connection state after it has been returned to the pool.

Good catch. Thanks.


  Commit: 24c61eaec9f65ae79d1f5b7ee827b00c8fe0fe77
      https://github.com/zopefoundation/ZODB/commit/24c61eaec9f65ae79d1f5b7ee827b00c8fe0fe77
  Author: Jim Fulton <jim at zope.com>
  Date:   2017-02-08 (Wed, 08 Feb 2017)

  Changed paths:
    M CHANGES.rst
    M src/ZODB/Connection.py
    M src/ZODB/interfaces.py
    M src/ZODB/tests/testConnection.py

  Log Message:
  -----------
  - Call new afterCompletion API on storages to allow them to free
  resources after transaction complete.  See:
  https://github.com/zodb/relstorage/issues/147

- Take advantage of the new transaction-manager explicit mode to avoid
  starting transactions unnecessarily when transactions end.


  Commit: 48d96cc9a6a575f757fb306b0fd753e4ce3a3340
      https://github.com/zopefoundation/ZODB/commit/48d96cc9a6a575f757fb306b0fd753e4ce3a3340
  Author: Jim Fulton <jim at zope.com>
  Date:   2017-02-08 (Wed, 08 Feb 2017)

  Changed paths:
    M src/ZODB/tests/testConnection.py

  Log Message:
  -----------
  Close test connection

For safety, closing the database aborts transaction managers
associated with open connections.  In explicit mode, this can lead to
NoTransaction errors.

It's likely a bug for DB objects to abort transactons on
close.  This needs more thought.


  Commit: 8c4c5a61e2a246dc3b5ed06b11d31b0a96d11875
      https://github.com/zopefoundation/ZODB/commit/8c4c5a61e2a246dc3b5ed06b11d31b0a96d11875
  Author: Jim Fulton <jim at zope.com>
  Date:   2017-02-08 (Wed, 08 Feb 2017)

  Changed paths:
    M src/ZODB/Connection.py
    M src/ZODB/tests/testConnection.py

  Log Message:
  -----------
  Fixed: newTransaction was being called in open even in explicit-transaction mode.


  Commit: 71df526ea526ec1109ccb125faf4c24fa4f61fa9
      https://github.com/zopefoundation/ZODB/commit/71df526ea526ec1109ccb125faf4c24fa4f61fa9
  Author: Jim Fulton <jim at zope.com>
  Date:   2017-02-09 (Thu, 09 Feb 2017)

  Changed paths:
    M src/ZODB/Connection.py

  Log Message:
  -----------
  Move incrgc from newTransaction to afterCompletion

Where it makes more sense. Hysterically, it didn't matter because one
was an alias for the other.


  Commit: a97ca02f770c8a80ca58d832b113c3d612da3c0c
      https://github.com/zopefoundation/ZODB/commit/a97ca02f770c8a80ca58d832b113c3d612da3c0c
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-02-09 (Thu, 09 Feb 2017)

  Changed paths:
    M CHANGES.rst
    M src/ZODB/Connection.py
    M src/ZODB/interfaces.py
    M src/ZODB/tests/testConnection.py

  Log Message:
  -----------
  Merge pull request #146 from zopefoundation/storage-afterCompletion2

Notify storages that transactions have completed.


  Commit: a08c4728debac1eb19e8ec26759bb8e8d1aaaa1e
      https://github.com/zopefoundation/ZODB/commit/a08c4728debac1eb19e8ec26759bb8e8d1aaaa1e
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-02-09 (Thu, 09 Feb 2017)

  Changed paths:
    M .travis.yml
    M src/ZODB/tests/TransactionalUndoStorage.py

  Log Message:
  -----------
  Merge pull request #141 from zopefoundation/issue-138

TransactionUndoStorage tests close the conn and db


  Commit: 23fe21d93a6b64925c914ed5dc2f0c6fe68e253e
      https://github.com/zopefoundation/ZODB/commit/23fe21d93a6b64925c914ed5dc2f0c6fe68e253e
  Author: Jim Fulton <jim at zope.com>
  Date:   2017-02-09 (Thu, 09 Feb 2017)

  Changed paths:
    M .gitignore

  Log Message:
  -----------
  Try to make releaser less unhappy


  Commit: 6a5341d74f209b4007aead6a4a2f5507f016c4aa
      https://github.com/zopefoundation/ZODB/commit/6a5341d74f209b4007aead6a4a2f5507f016c4aa
  Author: Jim Fulton <jim at zope.com>
  Date:   2017-02-09 (Thu, 09 Feb 2017)

  Changed paths:
    M CHANGES.rst
    M setup.py

  Log Message:
  -----------
  Preparing release 5.2.0


  Commit: ba0f9d2c9d8a5fae230e949858c451b1c0a6a255
      https://github.com/zopefoundation/ZODB/commit/ba0f9d2c9d8a5fae230e949858c451b1c0a6a255
  Author: Jim Fulton <jim at zope.com>
  Date:   2017-02-09 (Thu, 09 Feb 2017)

  Changed paths:
    M CHANGES.rst
    M setup.py

  Log Message:
  -----------
  Back to development: 5.2.1


  Commit: 56e37d67b9233c53116b469b70f67bd75997b9ea
      https://github.com/zopefoundation/ZODB/commit/56e37d67b9233c53116b469b70f67bd75997b9ea
  Author: Godefroid Chapelle <gotcha at bubblenet.be>
  Date:   2017-02-19 (Sun, 19 Feb 2017)

  Changed paths:
    M CHANGES.rst

  Log Message:
  -----------
  Fix Rest

For the record, I udes `zest.releaser` `longtest` script to debug...


  Commit: 2490ae096005e044cf8a6d50f849515d0e1ac957
      https://github.com/zopefoundation/ZODB/commit/2490ae096005e044cf8a6d50f849515d0e1ac957
  Author: Godefroid Chapelle <gotcha at bubblenet.be>
  Date:   2017-02-19 (Sun, 19 Feb 2017)

  Changed paths:
    M CHANGES.rst

  Log Message:
  -----------
  Same format


  Commit: bfb7881f724fbd814084691190b522217ca74623
      https://github.com/zopefoundation/ZODB/commit/bfb7881f724fbd814084691190b522217ca74623
  Author: Jason Madden <jason+github at nextthought.com>
  Date:   2017-03-09 (Thu, 09 Mar 2017)

  Changed paths:
    M doc/articles/multi-zodb-gc.rst

  Log Message:
  -----------
  Update RelStorage information in multi-zodb-gc document

RelStorage 2.0 can and should use zc.zodbdgc for reference collecting and packing in a multi-db, so long as its history free.


  Commit: a79514aaa0d879b5a6285c01e6440e42b826e96e
      https://github.com/zopefoundation/ZODB/commit/a79514aaa0d879b5a6285c01e6440e42b826e96e
  Author: Maik Röder <maikroeder at gmail.com>
  Date:   2017-03-21 (Tue, 21 Mar 2017)

  Changed paths:
    M doc/tutorial.rst

  Log Message:
  -----------
  Add info on Newt DB


  Commit: 6047e2fae23fd9ba30ab6c55ba0b034ef9d6fa3a
      https://github.com/zopefoundation/ZODB/commit/6047e2fae23fd9ba30ab6c55ba0b034ef9d6fa3a
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-03-21 (Tue, 21 Mar 2017)

  Changed paths:
    M doc/tutorial.rst

  Log Message:
  -----------
  Merge pull request #151 from maikroeder/patch-1

Add info on Newt DB


  Commit: 3a8efe47f9dc123d152ff8e4c9e6232703379986
      https://github.com/zopefoundation/ZODB/commit/3a8efe47f9dc123d152ff8e4c9e6232703379986
  Author: Adam Groszer <agroszer at gmail.com>
  Date:   2017-03-27 (Mon, 27 Mar 2017)

  Changed paths:
    M CHANGES.rst

  Log Message:
  -----------
  typo


  Commit: 30bbabf19e837b4ca9e35fab5d5c1278b078fe45
      https://github.com/zopefoundation/ZODB/commit/30bbabf19e837b4ca9e35fab5d5c1278b078fe45
  Author: Kirill Smelkov <kirr at nexedi.com>
  Date:   2017-04-02 (Sun, 02 Apr 2017)

  Changed paths:
    M src/ZODB/FileStorage/FileStorage.py
    M src/ZODB/tests/testConfig.py
    M src/ZODB/tests/testFileStorage.py

  Log Message:
  -----------
  FileStorage: Report problem on read-only open of non-existent file

... instead of silently creating empty database on such opens.

Use-case for this are utilities like e.g. zodbdump and zodbcmp which
expect such storage opens to fail so that the tool can know there is no
such storage and report it to user.

In contrast current state is: read-only opens get created-on-the-fly
empty storage with no content, but which can be iterated over without
getting any error.

This way e.g. `zodbdump non-existent.fs` produces empty output _and_
exit code 0 which is not what caller expects.


  Commit: 4fa93367e2efd55a82f83252fd9fb87f42c12e1d
      https://github.com/zopefoundation/ZODB/commit/4fa93367e2efd55a82f83252fd9fb87f42c12e1d
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-04-02 (Sun, 02 Apr 2017)

  Changed paths:
    M src/ZODB/FileStorage/FileStorage.py
    M src/ZODB/tests/testConfig.py
    M src/ZODB/tests/testFileStorage.py

  Log Message:
  -----------
  Merge pull request #153 from navytux/y/fs-ro

FileStorage: Report problem on read-only open of non-existent file


  Commit: 4b44267723bb2ba8f173f22a6f7feb0f35fa3227
      https://github.com/zopefoundation/ZODB/commit/4b44267723bb2ba8f173f22a6f7feb0f35fa3227
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-04-07 (Fri, 07 Apr 2017)

  Changed paths:
    M doc/articles/multi-zodb-gc.rst

  Log Message:
  -----------
  Merge pull request #150 from zopefoundation/jamadden-patch-1

Update RelStorage information in multi-zodb-gc document


  Commit: 6d6730574934d4ffa08b6afccb4d3bde6cf46194
      https://github.com/zopefoundation/ZODB/commit/6d6730574934d4ffa08b6afccb4d3bde6cf46194
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-04-07 (Fri, 07 Apr 2017)

  Changed paths:
    M CHANGES.rst

  Log Message:
  -----------
  Added missing change log.


  Commit: 12681840c4f462e9f799bb6a94f9320f5b56d8da
      https://github.com/zopefoundation/ZODB/commit/12681840c4f462e9f799bb6a94f9320f5b56d8da
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-04-07 (Fri, 07 Apr 2017)

  Changed paths:
    A DEVELOPERS.rst
    M README.rst
    M setup.py

  Log Message:
  -----------
  PyPI improvements


  Commit: 7ce9f576d91d4ffb1737485d5773a1ea7121ff38
      https://github.com/zopefoundation/ZODB/commit/7ce9f576d91d4ffb1737485d5773a1ea7121ff38
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-04-08 (Sat, 08 Apr 2017)

  Changed paths:
    M DEVELOPERS.rst

  Log Message:
  -----------
  be ReST pedantic


  Commit: 002daea4677fb2a951d6c58855246f8fda75979e
      https://github.com/zopefoundation/ZODB/commit/002daea4677fb2a951d6c58855246f8fda75979e
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-04-08 (Sat, 08 Apr 2017)

  Changed paths:
    M README.rst

  Log Message:
  -----------
  link to github repo and developer notes.


  Commit: 57153785cb459a44ec65d1a014cb6d4ebb245f4d
      https://github.com/zopefoundation/ZODB/commit/57153785cb459a44ec65d1a014cb6d4ebb245f4d
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-04-08 (Sat, 08 Apr 2017)

  Changed paths:
    M README.rst

  Log Message:
  -----------
  make title more descriptive


  Commit: 42ea2925d08e3e112a9c1c80faa7ee2c878f19fe
      https://github.com/zopefoundation/ZODB/commit/42ea2925d08e3e112a9c1c80faa7ee2c878f19fe
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-04-08 (Sat, 08 Apr 2017)

  Changed paths:
    M setup.py

  Log Message:
  -----------
  fix description


  Commit: 244bb92b06770da76805696a6c0ebd815bf67bc9
      https://github.com/zopefoundation/ZODB/commit/244bb92b06770da76805696a6c0ebd815bf67bc9
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-04-08 (Sat, 08 Apr 2017)

  Changed paths:
    M CHANGES.rst

  Log Message:
  -----------
  fixed wording


  Commit: d50e57f466f520eb76c19b3eded2b5acde3d1942
      https://github.com/zopefoundation/ZODB/commit/d50e57f466f520eb76c19b3eded2b5acde3d1942
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-04-08 (Sat, 08 Apr 2017)

  Changed paths:
    M README.rst

  Log Message:
  -----------
  Fixed typo and developers link


  Commit: 2bdf5ac8ca6e1d8d025d6d8092ad49c89d6c0205
      https://github.com/zopefoundation/ZODB/commit/2bdf5ac8ca6e1d8d025d6d8092ad49c89d6c0205
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-04-08 (Sat, 08 Apr 2017)

  Changed paths:
    M CHANGES.rst
    A DEVELOPERS.rst
    M README.rst
    M setup.py

  Log Message:
  -----------
  Merge pull request #154 from zopefoundation/pypi

Fix PyPI page


  Commit: 438d40313474e866879deca183e28dfebcc7718f
      https://github.com/zopefoundation/ZODB/commit/438d40313474e866879deca183e28dfebcc7718f
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-04-08 (Sat, 08 Apr 2017)

  Changed paths:
    M CHANGES.rst
    M setup.py

  Log Message:
  -----------
  Preparing release 5.2.1


  Commit: e40c85352274826aae83e095c24444b1ab50f1cf
      https://github.com/zopefoundation/ZODB/commit/e40c85352274826aae83e095c24444b1ab50f1cf
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-04-08 (Sat, 08 Apr 2017)

  Changed paths:
    M CHANGES.rst
    M setup.py

  Log Message:
  -----------
  Back to development: 5.2.2


  Commit: bd544349095bc30c1ed3f98b62fa5732cca74d17
      https://github.com/zopefoundation/ZODB/commit/bd544349095bc30c1ed3f98b62fa5732cca74d17
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-04-08 (Sat, 08 Apr 2017)

  Changed paths:
    M HISTORY.rst
    R HISTORY.txt

  Log Message:
  -----------
  Merge HISTORY.txt into HISTORY.rst


  Commit: 87fd29eb83512c177854d9aab3d998478192797c
      https://github.com/zopefoundation/ZODB/commit/87fd29eb83512c177854d9aab3d998478192797c
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-04-09 (Sun, 09 Apr 2017)

  Changed paths:
    A appveyor.yml
    M src/ZODB/tests/testConfig.py
    M src/ZODB/tests/testSerialize.py
    M src/ZODB/tests/test_fsdump.py

  Log Message:
  -----------
  Appveyor (#157)

Tests running and passing on windows.


  Commit: 12eaf5cbc379257ed4b1ed7eece386329796b560
      https://github.com/zopefoundation/ZODB/commit/12eaf5cbc379257ed4b1ed7eece386329796b560
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-04-11 (Tue, 11 Apr 2017)

  Changed paths:
    M CHANGES.rst
    M src/ZODB/Connection.py
    M src/ZODB/FileStorage/FileStorage.py
    M src/ZODB/blob.py
    M src/ZODB/tests/testblob.py

  Log Message:
  -----------
  Blob default permissions (#156)

* Fixed: A blob misfeature set blob permissions so that blobs and blob
  directories were only readable by the database process owner, rather
  than honoring user-controlled permissions (e.g. umask).


  Commit: 17b1dfa21ef2f9eb7b326a16a8d82752e95f12df
      https://github.com/zopefoundation/ZODB/commit/17b1dfa21ef2f9eb7b326a16a8d82752e95f12df
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-04-11 (Tue, 11 Apr 2017)

  Changed paths:
    M MANIFEST.in

  Log Message:
  -----------
  Exclude some development files

And emacs backups. :) Because of the way zest.releaser works, this
isn't strictly necessary, but it makes the manifest checker shut up.


  Commit: 290d71998b9087c1a368282262aedb6078e1fe59
      https://github.com/zopefoundation/ZODB/commit/290d71998b9087c1a368282262aedb6078e1fe59
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-04-11 (Tue, 11 Apr 2017)

  Changed paths:
    M CHANGES.rst
    M setup.py

  Log Message:
  -----------
  Preparing release 5.2.2


  Commit: b92969b7cd1875a777009fd522df663e3510a3e8
      https://github.com/zopefoundation/ZODB/commit/b92969b7cd1875a777009fd522df663e3510a3e8
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-04-11 (Tue, 11 Apr 2017)

  Changed paths:
    M CHANGES.rst
    M setup.py

  Log Message:
  -----------
  Back to development: 5.2.3


  Commit: b6a9fb41a2c6a40f28c72f5f8de6648cee5b315a
      https://github.com/zopefoundation/ZODB/commit/b6a9fb41a2c6a40f28c72f5f8de6648cee5b315a
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-04-11 (Tue, 11 Apr 2017)

  Changed paths:
    M CHANGES.rst

  Log Message:
  -----------
  fix HISTORY reference


  Commit: e68ca5aec5ee95b45dcaf3c636cbb93d5afee755
      https://github.com/zopefoundation/ZODB/commit/e68ca5aec5ee95b45dcaf3c636cbb93d5afee755
  Author: Jason Madden <jason+github at nextthought.com>
  Date:   2017-04-11 (Tue, 11 Apr 2017)

  Changed paths:
    M CHANGES.rst
    M src/ZODB/blob.py

  Log Message:
  -----------
  Import warnings on demand. (#159)

Fixes #158.


  Commit: 5059fddbcbc751cd6c34bded68830de2c7ad4b61
      https://github.com/zopefoundation/ZODB/commit/5059fddbcbc751cd6c34bded68830de2c7ad4b61
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-04-11 (Tue, 11 Apr 2017)

  Changed paths:
    M CHANGES.rst
    M setup.py

  Log Message:
  -----------
  Preparing release 5.2.3


  Commit: 4b500e78f857b2aa15f53af870f1a4c20b27012f
      https://github.com/zopefoundation/ZODB/commit/4b500e78f857b2aa15f53af870f1a4c20b27012f
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-04-11 (Tue, 11 Apr 2017)

  Changed paths:
    M CHANGES.rst
    M setup.py

  Log Message:
  -----------
  Back to development: 5.2.4


  Commit: 3580ddd815d7c068d09a7e6d5024f6c7d8aa8a52
      https://github.com/zopefoundation/ZODB/commit/3580ddd815d7c068d09a7e6d5024f6c7d8aa8a52
  Author: Jason Madden <jason+github at nextthought.com>
  Date:   2017-04-14 (Fri, 14 Apr 2017)

  Changed paths:
    M CHANGES.rst
    M src/ZODB/blob.py

  Log Message:
  -----------
  Speed up ZODB.blob.BushyLayout.oid_to_path on Python 3 (#161)

Profiling (https://github.com/zodb/zodbshootout/pull/32/) showed that
this method was the only blob-related method that showed up in a test
of creating blobs, other than those that actually performed IO.

With this change its total and cumulative time drops from 0.003/0.004
to 0.001/0.002 in a small benchmark. Blobs created per second shows a
small but consistent improvement.

Before:

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
      100    0.005    0.000    0.005    0.000 {built-in method rename}
      100    0.004    0.000    0.004    0.000 {function BlobFile.close at 0x1080d3a60}
      200    0.003    0.000    0.004    0.000 blob.py:576(oid_to_path)
      101    0.003    0.000    0.003    0.000 {built-in method mkdir}
      100    0.002    0.000    0.002    0.000 blob.py:333(__init__)
      402    0.002    0.000    0.005    0.000 {method 'dump' of '_pickle.Pickler' objects}
  1    0.002    0.002    0.034    0.034 Connection.py:553(_store_objects)
      201    0.002    0.000    0.002    0.000 {built-in method stat}
     5633    0.001    0.000    0.002    0.000 {built-in method isinstance}

After:

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
      100    0.005    0.000    0.005    0.000 {built-in method rename}
      101    0.005    0.000    0.005    0.000 {built-in method mkdir}
      100    0.004    0.000    0.004    0.000 {function BlobFile.close at 0x10636aa60}
      402    0.002    0.000    0.005    0.000 {method 'dump' of '_pickle.Pickler' objects}
      100    0.002    0.000    0.002    0.000 blob.py:333(__init__)
  1    0.002    0.002    0.035    0.035 Connection.py:553(_store_objects)
      201    0.002    0.000    0.002    0.000 {built-in method stat}
     4033    0.001    0.000    0.001    0.000 {built-in method isinstance}
   ....
      200    0.001    0.000    0.002    0.000 blob.py:576(oid_to_path)


  Commit: e714f515bb33792859d3960afa0ea98a443d6a88
      https://github.com/zopefoundation/ZODB/commit/e714f515bb33792859d3960afa0ea98a443d6a88
  Author: Jason Madden <jason+github at nextthought.com>
  Date:   2017-04-17 (Mon, 17 Apr 2017)

  Changed paths:
    M CHANGES.rst
    M src/ZODB/ActivityMonitor.py
    M src/ZODB/ConflictResolution.py
    M src/ZODB/Connection.py
    M src/ZODB/DB.py
    M src/ZODB/ExportImport.py
    M src/ZODB/FileStorage/FileStorage.py
    M src/ZODB/FileStorage/fsdump.py
    M src/ZODB/MappingStorage.py
    M src/ZODB/UndoLogCompatible.py
    M src/ZODB/blob.py
    M src/ZODB/broken.py
    M src/ZODB/config.py
    M src/ZODB/conversionhack.py
    M src/ZODB/fstools.py
    M src/ZODB/scripts/analyze.py
    M src/ZODB/scripts/fstest.py
    M src/ZODB/scripts/migrate.py
    M src/ZODB/scripts/repozo.py
    M src/ZODB/scripts/tests/test_repozo.py
    M src/ZODB/scripts/zodbload.py
    M src/ZODB/serialize.py
    M src/ZODB/tests/BasicStorage.py
    M src/ZODB/tests/ConflictResolution.py
    M src/ZODB/tests/HistoryStorage.py
    M src/ZODB/tests/IteratorStorage.py
    M src/ZODB/tests/MTStorage.py
    M src/ZODB/tests/PackableStorage.py
    M src/ZODB/tests/PersistentStorage.py
    M src/ZODB/tests/ReadOnlyStorage.py
    M src/ZODB/tests/RevisionStorage.py
    M src/ZODB/tests/Synchronization.py
    M src/ZODB/tests/TransactionalUndoStorage.py
    M src/ZODB/tests/hexstorage.py
    M src/ZODB/tests/testActivityMonitor.py
    M src/ZODB/tests/testBroken.py
    M src/ZODB/tests/testCache.py
    M src/ZODB/tests/testConnection.py
    M src/ZODB/tests/testDemoStorage.py
    M src/ZODB/tests/testMVCCMappingStorage.py
    M src/ZODB/tests/testPersistentList.py
    M src/ZODB/tests/testSerialize.py
    M src/ZODB/tests/testZODB.py
    M src/ZODB/tests/test_cache.py
    M src/ZODB/tests/testconflictresolution.py
    M src/ZODB/tests/testpersistentclass.py
    M src/ZODB/tests/util.py
    M src/ZODB/tests/warnhook.py
    M src/ZODB/utils.py
    M src/ZODB/valuedoc.py

  Log Message:
  -----------
  Make all classes new-style. (#160)

* Make all classes new-style.

On PyPy, it's documented (http://pypy.org/performance.html#id3) that
old-style classes are slow, and classes that derive from both old and
new are especially slow. I checked with the PyPy devs on IRC today and
they confirmed that's still true with the latest PyPy2 releases.

Unfortunately, FileStorage was one such mixed class, as was Connection.

Moving to new-style classes seems to have a positive impact in the
benchmarks. Here's zodbshootout on PyPy2 5.7.1 against a
FileStorage (running in --threads and with 5 reps to be sure we get
warmed up). First, current ZODB:

"Transaction",                fs
"Add 1000 Objects",            31,738
"Update 1000 Objects",         42,444
"Read 1000 Cold Objects",      51,894
"Read 1000 Hot Objects",       53,187
"Read 1000 Steamin' Objects", 835,877

And with this PR:

"Transaction",                fs
"Add 1000 Objects",             35,651
"Update 1000 Objects",          54,906
"Read 1000 Cold Objects",      103,484
"Read 1000 Hot Objects",        84,721
"Read 1000 Steamin' Objects", 2,112,095

The tests that hit the storage extensively are notably faster, as are
steamin and hot, Connection having been a mixed class.

I ran all tests multiple times. The data files were removed between
runs. There's some variation, but the new-style classes always seem
better.

For comparison, here's CPython 2.7.13:

"Transaction",                fs
"Add 1000 Objects",            19,531
"Update 1000 Objects",         16,201
"Read 1000 Cold Objects",      22,111
"Read 1000 Hot Objects",       21,851
"Read 1000 Steamin' Objects", 880,582

Locally I've run the tests under 2.7 and they all passed.


  Commit: e9c7492ab1fc429b65fc143879aedd50faac0b1a
      https://github.com/zopefoundation/ZODB/commit/e9c7492ab1fc429b65fc143879aedd50faac0b1a
  Author: Adam Groszer <agroszer at gmail.com>
  Date:   2017-05-17 (Wed, 17 May 2017)

  Changed paths:
    M src/ZODB/DB.py
    M src/ZODB/tests/multidb.txt
    M src/ZODB/tests/testDB.py

  Log Message:
  -----------
  Clean DB properties on close (#123)

* clean up references to DBs and Connections in pools
* Implement an explicit clear() method for clearing all the items in the pool.


  Commit: e2ffc03e2e32c36a9a7a844dd8e28aa1b842f153
      https://github.com/zopefoundation/ZODB/commit/e2ffc03e2e32c36a9a7a844dd8e28aa1b842f153
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-05-17 (Wed, 17 May 2017)

  Changed paths:
    M CHANGES.rst

  Log Message:
  -----------
  added missing change log.


  Commit: 2e75672f44e000754a1ecdf88d49c7c06d50bcac
      https://github.com/zopefoundation/ZODB/commit/2e75672f44e000754a1ecdf88d49c7c06d50bcac
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-05-17 (Wed, 17 May 2017)

  Changed paths:
    M CHANGES.rst

  Log Message:
  -----------
  ReST fix


  Commit: ac46b2279149dca1825ffeadd3f941c45a0158e5
      https://github.com/zopefoundation/ZODB/commit/ac46b2279149dca1825ffeadd3f941c45a0158e5
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-05-17 (Wed, 17 May 2017)

  Changed paths:
    M CHANGES.rst
    M setup.py

  Log Message:
  -----------
  Preparing release 5.2.4


  Commit: a89485c118aa0cefcb45e72e052404d5a3d16414
      https://github.com/zopefoundation/ZODB/commit/a89485c118aa0cefcb45e72e052404d5a3d16414
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-05-17 (Wed, 17 May 2017)

  Changed paths:
    M CHANGES.rst
    M setup.py

  Log Message:
  -----------
  Back to development: 5.2.5


  Commit: 7fb15fe5803746ef16878a01cca4c164f36a1ee8
      https://github.com/zopefoundation/ZODB/commit/7fb15fe5803746ef16878a01cca4c164f36a1ee8
  Author: Jason Madden <jamadden at gmail.com>
  Date:   2017-07-24 (Mon, 24 Jul 2017)

  Changed paths:
    M .travis.yml
    M README.rst
    M doc/index.rst
    M setup.py
    M src/ZODB/tests/testdocumentation.py
    M tox.ini

  Log Message:
  -----------
  Add Python 3.6 support.

Also add note on supported versions to the docs and readme.
Fixes #168.

Update tox.ini to correctly run testdocumentation and DRY with test deps.


  Commit: fe2502505f306d19f50570db952327d8b05c3fbf
      https://github.com/zopefoundation/ZODB/commit/fe2502505f306d19f50570db952327d8b05c3fbf
  Author: Jason Madden <jamadden at gmail.com>
  Date:   2017-07-24 (Mon, 24 Jul 2017)

  Changed paths:
    M setup.py

  Log Message:
  -----------
  Cleanup whitespace in setup.py


  Commit: d7b5f03c5ba565cd13dec551b03af833a5cb116b
      https://github.com/zopefoundation/ZODB/commit/d7b5f03c5ba565cd13dec551b03af833a5cb116b
  Author: Jason Madden <jamadden at gmail.com>
  Date:   2017-07-24 (Mon, 24 Jul 2017)

  Changed paths:
    M setup.py

  Log Message:
  -----------
  Add python_requires to setup.py


  Commit: db98fdf48af719ed3229a0da274d5d09ad9a15a9
      https://github.com/zopefoundation/ZODB/commit/db98fdf48af719ed3229a0da274d5d09ad9a15a9
  Author: Jason Madden <jamadden at gmail.com>
  Date:   2017-07-24 (Mon, 24 Jul 2017)

  Changed paths:
    M .travis.yml
    M CHANGES.rst
    A setup.cfg
    M setup.py
    M tox.ini

  Log Message:
  -----------
  Drop support for Python 3.3


  Commit: 64854267ae74f8f573c492997abdd51916ef3405
      https://github.com/zopefoundation/ZODB/commit/64854267ae74f8f573c492997abdd51916ef3405
  Author: Jason Madden <jamadden at gmail.com>
  Date:   2017-07-24 (Mon, 24 Jul 2017)

  Changed paths:
    M .travis.yml
    M README.rst
    M doc/index.rst

  Log Message:
  -----------
  We need a newer setuptools on older versions of Python to be able to install recent Sphinx because of its use of environment markers.


  Commit: 609d8f5b08d65bf4f1abdc9db5342dfbb71c6a74
      https://github.com/zopefoundation/ZODB/commit/609d8f5b08d65bf4f1abdc9db5342dfbb71c6a74
  Author: Jason Madden <jamadden at gmail.com>
  Date:   2017-07-24 (Mon, 24 Jul 2017)

  Changed paths:
    M tox.ini

  Log Message:
  -----------
  Restore missing --test-path to [coverage] tox env

Remove outdated comment.

Remove redundant usedevelop.

[skip ci]


  Commit: 8ecd9634d841febb4c07ae42a62485b23085cdd1
      https://github.com/zopefoundation/ZODB/commit/8ecd9634d841febb4c07ae42a62485b23085cdd1
  Author: Jason Madden <jamadden at gmail.com>
  Date:   2017-07-24 (Mon, 24 Jul 2017)

  Changed paths:
    M .travis.yml

  Log Message:
  -----------
  Simplify making the docs on travis with make -C

[skip appveyor]


  Commit: 5056d49e79bc06f6d343973d71c3c3185e18975e
      https://github.com/zopefoundation/ZODB/commit/5056d49e79bc06f6d343973d71c3c3185e18975e
  Author: Jason Madden <jason+github at nextthought.com>
  Date:   2017-07-24 (Mon, 24 Jul 2017)

  Changed paths:
    M .travis.yml
    M CHANGES.rst
    M README.rst
    M doc/index.rst
    A setup.cfg
    M setup.py
    M src/ZODB/tests/testdocumentation.py
    M tox.ini

  Log Message:
  -----------
  Merge pull request #169 from zopefoundation/python36

Add support for 3.6, drop 3.3


  Commit: 6741dcfc03dbb50616b8e55cb50a26a8b18d9ee4
      https://github.com/zopefoundation/ZODB/commit/6741dcfc03dbb50616b8e55cb50a26a8b18d9ee4
  Author: Jason Madden <jamadden at gmail.com>
  Date:   2017-07-24 (Mon, 24 Jul 2017)

  Changed paths:
    M CHANGES.rst
    M src/ZODB/mvccadapter.py
    A src/ZODB/tests/test_mvccadapter.py

  Log Message:
  -----------
  HistoricalStorageAdapter forwards release() to its instance

Fixes #78.

Also adjust the base wrapper's __getattr__ to be faster (500 vs 711ns
in a benchmark of the common case) and behave the same on Python 2 vs
Python 3 with regards to exceptions, should a method be implemented as
an descriptor. In practice this probably makes no difference
whatsoever, it's just the same pattern used for forwarding
release.


  Commit: c2f9eb70d67977d821d819b1d153e94d742d2d9b
      https://github.com/zopefoundation/ZODB/commit/c2f9eb70d67977d821d819b1d153e94d742d2d9b
  Author: Jason Madden <jamadden at gmail.com>
  Date:   2017-07-24 (Mon, 24 Jul 2017)

  Changed paths:
    M CHANGES.rst

  Log Message:
  -----------
  Imperative voice
[skip ci]


  Commit: a3f435290bca748dff7252085a87a0a4f14f0ae3
      https://github.com/zopefoundation/ZODB/commit/a3f435290bca748dff7252085a87a0a4f14f0ae3
  Author: Jason Madden <jason+github at nextthought.com>
  Date:   2017-07-24 (Mon, 24 Jul 2017)

  Changed paths:
    M CHANGES.rst
    M src/ZODB/mvccadapter.py
    A src/ZODB/tests/test_mvccadapter.py

  Log Message:
  -----------
  Merge pull request #170 from zopefoundation/issue78

HistoricalStorageAdapter forwards release() to its instance


  Commit: 2f21b2f03cc4d7b12064974cad18768515d7b0af
      https://github.com/zopefoundation/ZODB/commit/2f21b2f03cc4d7b12064974cad18768515d7b0af
  Author: Tres Seaver <tseaver at palladion.com>
  Date:   2017-07-25 (Tue, 25 Jul 2017)

  Changed paths:
    M README.rst

  Log Message:
  -----------
  Add badges to README.

[ci skip]


  Commit: 3dfcbde85750802bf050aa554b714ea87ccc6dae
      https://github.com/zopefoundation/ZODB/commit/3dfcbde85750802bf050aa554b714ea87ccc6dae
  Author: Tres Seaver <tseaver at palladion.com>
  Date:   2017-07-25 (Tue, 25 Jul 2017)

  Changed paths:
    M README.rst

  Log Message:
  -----------
  Merge pull request #171 from zopefoundation/readme-badges

Add badges to README.


  Commit: 694baa6e20bc480cd516efc5da7a9aef0a775487
      https://github.com/zopefoundation/ZODB/commit/694baa6e20bc480cd516efc5da7a9aef0a775487
  Author: Tres Seaver <tseaver at palladion.com>
  Date:   2017-07-25 (Tue, 25 Jul 2017)

  Changed paths:
    M README.rst

  Log Message:
  -----------
  Add coverage padge.


  Commit: 3b700be9bd292f502286028799930dba26b6ab43
      https://github.com/zopefoundation/ZODB/commit/3b700be9bd292f502286028799930dba26b6ab43
  Author: Tres Seaver <tseaver at palladion.com>
  Date:   2017-07-25 (Tue, 25 Jul 2017)

  Changed paths:
    R ez_setup.py

  Log Message:
  -----------
  Remove fossilized 'ez_setup.py'.

[ci skip]


  Commit: b340b651c19fa00480aa27d7bdea372d2863cc90
      https://github.com/zopefoundation/ZODB/commit/b340b651c19fa00480aa27d7bdea372d2863cc90
  Author: XeL64 <guillaume.cas at gmail.com>
  Date:   2017-08-29 (Tue, 29 Aug 2017)

  Changed paths:
    M doc/articles/ZODB1.rst

  Log Message:
  -----------
  fix typo (#180)


  Commit: be5a9d5414e523aecee915fd615f6f59207bbec0
      https://github.com/zopefoundation/ZODB/commit/be5a9d5414e523aecee915fd615f6f59207bbec0
  Author: Jason Madden <jason+github at nextthought.com>
  Date:   2017-08-29 (Tue, 29 Aug 2017)

  Changed paths:
    M CHANGES.rst
    M src/ZODB/_compat.py
    M src/ZODB/blob.py

  Log Message:
  -----------
  Use a higher pickle protocol for serializing objects on Python 2 (#179)

* Use a higher pickle protocol (2) for serializing objects on Python 2

Previously protocol 1 was used. This is more efficient for new-style
classes (all persistent objects are new-style), according to the docs,
at the cost of being very slightly less space efficient for old-style
classes.

In tests of a persistent object with two trivial numeric attributes,
the higher protocol was 12 bytes smaller, and serialized and
deserialized 1us faster. Introducing a reference to another new-style
class for a more realistic test made the higher protocol twice as fast
to serialize (20.5 vs 10.3us), almost half the size (215 vs 142
bytes), and it deserialized 30% faster (6.5 vs 4.6us).

On Python 2, this will now allow open ``file`` objects to be
pickled (loading the object will result in a closed file); previously
this would result in a ``TypeError`` (as does under Python 3). We had
tests that you couldn't do that with a BlobFile so I had to update it
to still make that true.

I wouldn't recommend serializing arbitrary open files under Python
2 (for one thing, they can't trivially be deserialized in Python 3),
but I didn't take any steps to prevent it either. Since this hasn't
been possible, there shouldn't be code in the wild that is trying to
do it---and it wouldn't be forward compatible with Python 3 either.


  Commit: 92c1b4ea54754a24d94500192ff74249df42d6b5
      https://github.com/zopefoundation/ZODB/commit/92c1b4ea54754a24d94500192ff74249df42d6b5
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-08-30 (Wed, 30 Aug 2017)

  Changed paths:
    M CHANGES.rst
    M setup.py

  Log Message:
  -----------
  Preparing release 5.3.0


  Commit: 0442e15ec60fbdeff758f187b90a9118f9d85d32
      https://github.com/zopefoundation/ZODB/commit/0442e15ec60fbdeff758f187b90a9118f9d85d32
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-08-30 (Wed, 30 Aug 2017)

  Changed paths:
    M CHANGES.rst
    M setup.py

  Log Message:
  -----------
  Back to development: 5.3.1


  Commit: 98c6cc30af92717e2e8596eb43449f16ef9f1aa2
      https://github.com/zopefoundation/ZODB/commit/98c6cc30af92717e2e8596eb43449f16ef9f1aa2
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2017-10-05 (Thu, 05 Oct 2017)

  Changed paths:
    M README.rst

  Log Message:
  -----------
  Use SVG icon for Travis


  Commit: 541f107a462d80707540d891948f8398902ebf64
      https://github.com/zopefoundation/ZODB/commit/541f107a462d80707540d891948f8398902ebf64
  Author: Joni Orponen <joni.orponen at gmail.com>
  Date:   2017-10-27 (Fri, 27 Oct 2017)

  Changed paths:
    M .travis.yml

  Log Message:
  -----------
  Unpin specific PyPy versions.


  Commit: 307fa5ac7a4dcf31c52dfe8a904312ddfec19bd8
      https://github.com/zopefoundation/ZODB/commit/307fa5ac7a4dcf31c52dfe8a904312ddfec19bd8
  Author: Joni Orponen <joni.orponen at gmail.com>
  Date:   2017-10-27 (Fri, 27 Oct 2017)

  Changed paths:
    M setup.py

  Log Message:
  -----------
  Blacklist Python 3.3 in setup.py as we can now use a newer PyPy.


  Commit: cb928231e58928b6272acd494badb77764057fe4
      https://github.com/zopefoundation/ZODB/commit/cb928231e58928b6272acd494badb77764057fe4
  Author: Joni Orponen <Rotonen at users.noreply.github.com>
  Date:   2017-10-30 (Mon, 30 Oct 2017)

  Changed paths:
    M .travis.yml
    M setup.py

  Log Message:
  -----------
  Merge pull request #182 from zopefoundation/rotonen-bump-pypy

Unpin specific PyPy versions, blacklist 3.3 in `setup.py`


  Commit: 9ddfb58dc7c47a9f4204ba98a29651081550639e
      https://github.com/zopefoundation/ZODB/commit/9ddfb58dc7c47a9f4204ba98a29651081550639e
  Author: David Glick <david at glicksoftware.com>
  Date:   2017-11-07 (Tue, 07 Nov 2017)

  Changed paths:
    M CHANGES.rst
    M src/ZODB/FileStorage/fspack.py

  Log Message:
  -----------
  Report full oid of missing object during pack


  Commit: 1b9475d413705e510ff2f19ee6449688ffb04d46
      https://github.com/zopefoundation/ZODB/commit/1b9475d413705e510ff2f19ee6449688ffb04d46
  Author: Julien Muchembled <jm at nexedi.com>
  Date:   2017-11-08 (Wed, 08 Nov 2017)

  Changed paths:
    M src/ZODB/Connection.py
    M src/ZODB/DB.py

  Log Message:
  -----------
  Review Connection/DB closure

In addition to some micro-optimisation, this fixes the following minor issues:
- Closing a DB left Connections registered to the global transaction manager.
  Which broke at least multi-db because only such primary connections were
  ignored with monkey-patches.
- Stop calling the real newTransaction when aborting an existing transaction.
  This was not the case if explicit_transactions=0.


  Commit: d71f76d8b55b8ada49616b40bcb5e0830d3110b2
      https://github.com/zopefoundation/ZODB/commit/d71f76d8b55b8ada49616b40bcb5e0830d3110b2
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-11-12 (Sun, 12 Nov 2017)

  Changed paths:
    M src/ZODB/DB.py

  Log Message:
  -----------
  Add a comment to explain a slight hack.


  Commit: 87b2654996bd7c92594343e31333868684484ea7
      https://github.com/zopefoundation/ZODB/commit/87b2654996bd7c92594343e31333868684484ea7
  Author: Julien Muchembled <jm at jmuchemb.eu>
  Date:   2017-11-13 (Mon, 13 Nov 2017)

  Changed paths:
    M src/ZODB/Connection.py
    M src/ZODB/DB.py

  Log Message:
  -----------
  Merge pull request #181 from zopefoundation/closure

Review Connection/DB closure


  Commit: 8a1646c379e1c3bacda59d52e50281ae4ba9d76f
      https://github.com/zopefoundation/ZODB/commit/8a1646c379e1c3bacda59d52e50281ae4ba9d76f
  Author: Julien Muchembled <jm at jmuchemb.eu>
  Date:   2017-11-13 (Mon, 13 Nov 2017)

  Changed paths:
    M CHANGES.rst
    M src/ZODB/FileStorage/fspack.py

  Log Message:
  -----------
  Merge pull request #184 from zopefoundation/davisagli-pack-error-oid

Report full oid of missing object during pack


  Commit: de1f24ca0eb6ae250d16d91d5d6a13c60238a6f3
      https://github.com/zopefoundation/ZODB/commit/de1f24ca0eb6ae250d16d91d5d6a13c60238a6f3
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2017-11-14 (Tue, 14 Nov 2017)

  Changed paths:
    M doc/index.rst

  Log Message:
  -----------
  Update the front page to be a little less negative. (#186)

Especially with regard to write capacity and search.

This hasn't been updated in a while and I feel that it is out of date.

I feel that this could use more work, but I'm anxious to do an
incremental improvement given the screencast I just released. :)


  Commit: 2115c90aa09844554dc90ed468d35fce1121be9e
      https://github.com/zopefoundation/ZODB/commit/2115c90aa09844554dc90ed468d35fce1121be9e
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2018-02-15 (Thu, 15 Feb 2018)

  Changed paths:
    M src/ZODB/ExportImport.py
    M src/ZODB/utils.py

  Log Message:
  -----------
  Avoid seeking on import (#188)

* Don't seek on imports

(other than the possible seek for custom importers)

We were seeking to handle blob markers. This has two major drawbacks:

1. It wasn't possible to use a non-seekable file.  A use case for
   export/import is to copy database data.  An intermediate file, and
   associated I/O, could be avoided using a pipe, but pipes aren't
   seekable.

2. Seeks cause file-buffer data to be discarded, making IO far more
   expensive.

We didn't really need blob markers, because the preceeding blob data
records serve as markers.  (Now we're stuck with them for backward
compatibility.)

* Make cp's buffer size larger and configurable.

* Use the storage temprary directory when importing blobs

To avoid an extra copy.

Also, allow the copy (cp) buffer sie to be overridden on export.

(I see no obvious way to plumb it on import. :( )

* Oops, need to use a binary literal (Python 3)

* Respond to PR comments


  Commit: 22aa9e127c4bd2c4d58e87e78dc8e4da1484a511
      https://github.com/zopefoundation/ZODB/commit/22aa9e127c4bd2c4d58e87e78dc8e4da1484a511
  Author: Harun Yasar <harunyasar at mail.com>
  Date:   2018-03-09 (Fri, 09 Mar 2018)

  Changed paths:
    M src/ZODB/broken.py

  Log Message:
  -----------
  Fix typo in doctest documentation of find_global method


  Commit: b7656787e745a88d0c1240c8e85fc6b2bcadd35b
      https://github.com/zopefoundation/ZODB/commit/b7656787e745a88d0c1240c8e85fc6b2bcadd35b
  Author: Marius Gedminas <marius at gedmin.as>
  Date:   2018-03-10 (Sat, 10 Mar 2018)

  Changed paths:
    M src/ZODB/broken.py

  Log Message:
  -----------
  Merge pull request #192 from harunyasar/master

Fix typo in doctest documentation of find_global method


  Commit: dba374d4c421acad4f70f9b718276b5a0feb39e0
      https://github.com/zopefoundation/ZODB/commit/dba374d4c421acad4f70f9b718276b5a0feb39e0
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2018-03-25 (Sun, 25 Mar 2018)

  Changed paths:
    M CHANGES.rst

  Log Message:
  -----------
  Added missing change log


  Commit: 12ee41c47310156027a674932df34b60de86ba36
      https://github.com/zopefoundation/ZODB/commit/12ee41c47310156027a674932df34b60de86ba36
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2018-03-26 (Mon, 26 Mar 2018)

  Changed paths:
    M CHANGES.rst
    M src/ZODB/_compat.py
    M src/ZODB/serialize.py
    M src/ZODB/tests/testSerialize.py

  Log Message:
  -----------
  - ZODB now uses pickle protocol 3 for both Python 2 and Python 3. (#194)

(Previously, protocol 2 was used for Python 2.)

  The zodbpickle package provides a `zodbpickle.binary` string type
  that should be used in Python 2 to cause binary strings to be saved
  in a pickle binary format, so they can be loaded correctly in
  Python 3.  Pickle protocol 3 is needed for this to work correctly.

- Object identifiers in persistent references are saved as
  `zodbpickle.binary` strings in Python 2, so that they are loaded
  correctly in Python 3.


  Commit: 9b0b72081e4074519c9c874b6a5de57fb707d1db
      https://github.com/zopefoundation/ZODB/commit/9b0b72081e4074519c9c874b6a5de57fb707d1db
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2018-03-26 (Mon, 26 Mar 2018)

  Changed paths:
    M CHANGES.rst
    M setup.py

  Log Message:
  -----------
  Preparing release 5.4.0


  Commit: e8f18cb37be3a52048f8fc24b504b6b17693a057
      https://github.com/zopefoundation/ZODB/commit/e8f18cb37be3a52048f8fc24b504b6b17693a057
  Author: Jim Fulton <jim at jimfulton.info>
  Date:   2018-03-26 (Mon, 26 Mar 2018)

  Changed paths:
    M CHANGES.rst
    M setup.py

  Log Message:
  -----------
  Back to development: 5.4.1


  Commit: a6bedf8d35eae7be3ca85c6b535ee61e60f7fb32
      https://github.com/zopefoundation/ZODB/commit/a6bedf8d35eae7be3ca85c6b535ee61e60f7fb32
  Author: sblondon <sblondon at users.noreply.github.com>
  Date:   2018-03-27 (Tue, 27 Mar 2018)

  Changed paths:
    M CHANGES.rst

  Log Message:
  -----------
  Fix a spelling error (#198)

prefect -> prefetch


  Commit: c75a197deebc3a65aa521bda11bdaa83dadd8b48
      https://github.com/zopefoundation/ZODB/commit/c75a197deebc3a65aa521bda11bdaa83dadd8b48
  Author: Matthew Wilkes <git at matthewwilkes.name>
  Date:   2018-04-02 (Mon, 02 Apr 2018)

  Changed paths:
    M src/ZODB/MappingStorage.py
    M src/ZODB/tests/testMappingStorage.py

  Log Message:
  -----------
  Fix infinite recursion when copying from a MappingStorage to a FileStorage (#199)


  Commit: 9a7ddcbec646c827fbc76e2a2285496f2ed7892e
      https://github.com/zopefoundation/ZODB/commit/9a7ddcbec646c827fbc76e2a2285496f2ed7892e
  Author: Julien Muchembled <jm at nexedi.com>
  Date:   2018-05-09 (Wed, 09 May 2018)

  Changed paths:
    M src/ZODB/tests/synchronizers.txt

  Log Message:
  -----------
  Fix typos in 'synchronizers' tests


  Commit: 8f5ac63a3d8b4611bcbcaa68f30b48e2c8389fd2
      https://github.com/zopefoundation/ZODB/commit/8f5ac63a3d8b4611bcbcaa68f30b48e2c8389fd2
  Author: Jason Madden <jason+github at nextthought.com>
  Date:   2018-05-16 (Wed, 16 May 2018)

  Changed paths:
    M CHANGES.rst
    M setup.py

  Log Message:
  -----------
  Bump dependency on zodbpickle to at least 1.0.1 (#205)

This is required to avoid a memory leak on Python 2.7.

See #203.


  Commit: 2d0ae7199501795617a82a32bafe19b4b5ae89c3
      https://github.com/zopefoundation/ZODB/commit/2d0ae7199501795617a82a32bafe19b4b5ae89c3
  Author: Jason Madden <jamadden at gmail.com>
  Date:   2018-08-22 (Wed, 22 Aug 2018)

  Changed paths:
    M CHANGES.rst
    M setup.py
    M src/ZODB/tests/util.py

  Log Message:
  -----------
  Fix tests with, and depend on, persistent 4.4.

Fixes #213.


  Commit: 3577a9c4c71b1cb0d0276a4ff1ff5d458a58b01d
      https://github.com/zopefoundation/ZODB/commit/3577a9c4c71b1cb0d0276a4ff1ff5d458a58b01d
  Author: Jason Madden <jamadden at gmail.com>
  Date:   2018-08-22 (Wed, 22 Aug 2018)

  Changed paths:
    M CHANGES.rst
    M setup.py
    M tox.ini

  Log Message:
  -----------
  Remove support for 'python setup.py test'. [skip ci]

Skipping CI because tests will fail until #217 is merged.

Fixes #218.


  Commit: 3019c47674cd92b8ecd330be7cadb4a780a356d5
      https://github.com/zopefoundation/ZODB/commit/3019c47674cd92b8ecd330be7cadb4a780a356d5
  Author: Jason Madden <jason+github at nextthought.com>
  Date:   2018-08-22 (Wed, 22 Aug 2018)

  Changed paths:
    M CHANGES.rst
    M setup.py
    M src/ZODB/tests/util.py

  Log Message:
  -----------
  Merge pull request #217 from zopefoundation/issue213

Fix tests with, and depend on, persistent 4.4.


  Commit: 1c9a55d40edcef6c8d413e048f72b38c8846a3be
      https://github.com/zopefoundation/ZODB/commit/1c9a55d40edcef6c8d413e048f72b38c8846a3be
  Author: Jason Madden <jason+github at nextthought.com>
  Date:   2018-08-22 (Wed, 22 Aug 2018)

  Changed paths:
    M CHANGES.rst
    M setup.py
    M tox.ini

  Log Message:
  -----------
  Merge pull request #219 from zopefoundation/issue218

Remove support for 'python setup.py test'. [skip ci]


  Commit: 196295a6a9665ef4085afe0f1ca98d3159f351c1
      https://github.com/zopefoundation/ZODB/commit/196295a6a9665ef4085afe0f1ca98d3159f351c1
  Author: Jason Madden <jamadden at gmail.com>
  Date:   2018-08-22 (Wed, 22 Aug 2018)

  Changed paths:
    M .travis.yml
    M CHANGES.rst
    M appveyor.yml
    M setup.py
    M src/ZODB/Connection.py
    M src/ZODB/scripts/tests/test_doc.py
    M src/ZODB/tests/testConnection.py
    M src/ZODB/tests/test_TransactionMetaData.py
    M tox.ini

  Log Message:
  -----------
  Add Python 3.7 support.

And fix all the deprecations it reports.

Fixes #214 and fixes #215 (well there's one remaining deprecation in 'manuel')

Based on #217 so that all tests pass.


  Commit: 6abde06a07f6447e8cbd3389b5fabf1bb009b5e7
      https://github.com/zopefoundation/ZODB/commit/6abde06a07f6447e8cbd3389b5fabf1bb009b5e7
  Author: Jason Madden <jason+github at nextthought.com>
  Date:   2018-08-22 (Wed, 22 Aug 2018)

  Changed paths:
    M .travis.yml
    M CHANGES.rst
    M appveyor.yml
    M setup.py
    M src/ZODB/Connection.py
    M src/ZODB/scripts/tests/test_doc.py
    M src/ZODB/tests/testConnection.py
    M src/ZODB/tests/test_TransactionMetaData.py
    M tox.ini

  Log Message:
  -----------
  Merge pull request #220 from zopefoundation/issue214

Add Python 3.7 support.


  Commit: 1b1025cad7929af879e658f9d71304c763b6a259
      https://github.com/zopefoundation/ZODB/commit/1b1025cad7929af879e658f9d71304c763b6a259
  Author: Jason Madden <jamadden at gmail.com>
  Date:   2018-08-22 (Wed, 22 Aug 2018)

  Changed paths:
    M CHANGES.rst
    M src/ZODB/tests/testUtils.py
    M src/ZODB/utils.py

  Log Message:
  -----------
  p64 and p64 are faster and create more informative exceptions.

Fixes #216.


  Commit: b2b6f2c1d0a2d4fd99846a9d70d111d3f0b7b3af
      https://github.com/zopefoundation/ZODB/commit/b2b6f2c1d0a2d4fd99846a9d70d111d3f0b7b3af
  Author: Tres Seaver <tseaver at palladion.com>
  Date:   2018-08-31 (Fri, 31 Aug 2018)

  Changed paths:
    M src/ZODB/scripts/analyze.py

  Log Message:
  -----------
  Py3k compatibility.

Lifted from PR #164.


  Commit: 6c9748dd811670dac6e66b0fe7a717a58e6d0f01
      https://github.com/zopefoundation/ZODB/commit/6c9748dd811670dac6e66b0fe7a717a58e6d0f01
  Author: James Bradshaw <james.g.bradshaw at gmail.com>
  Date:   2018-09-21 (Fri, 21 Sep 2018)

  Changed paths:
    M doc/index.rst

  Log Message:
  -----------
  Update index.rst

grammar (typo)


  Commit: 6302cc5c264ef2dc719e141c43ee4eb627263daa
      https://github.com/zopefoundation/ZODB/commit/6302cc5c264ef2dc719e141c43ee4eb627263daa
  Author: Tres Seaver <tseaver at palladion.com>
  Date:   2018-10-13 (Sat, 13 Oct 2018)

  Changed paths:
    M .coveragerc
    M .gitignore
    M .travis.yml
    M CHANGES.rst
    A DEVELOPERS.rst
    M HISTORY.rst
    R HISTORY.txt
    M MANIFEST.in
    M README.rst
    A appveyor.yml
    M doc/articles/ZODB1.rst
    M doc/articles/multi-zodb-gc.rst
    M doc/index.rst
    M doc/tutorial.rst
    R ez_setup.py
    A setup.cfg
    M setup.py
    M src/ZODB/ActivityMonitor.py
    M src/ZODB/ConflictResolution.py
    M src/ZODB/Connection.py
    M src/ZODB/DB.py
    M src/ZODB/ExportImport.py
    M src/ZODB/FileStorage/FileStorage.py
    M src/ZODB/FileStorage/fsdump.py
    M src/ZODB/FileStorage/fspack.py
    M src/ZODB/MappingStorage.py
    M src/ZODB/UndoLogCompatible.py
    M src/ZODB/_compat.py
    M src/ZODB/blob.py
    M src/ZODB/broken.py
    M src/ZODB/config.py
    M src/ZODB/conversionhack.py
    M src/ZODB/fstools.py
    M src/ZODB/interfaces.py
    M src/ZODB/mvccadapter.py
    M src/ZODB/scripts/analyze.py
    M src/ZODB/scripts/fstest.py
    M src/ZODB/scripts/migrate.py
    M src/ZODB/scripts/repozo.py
    M src/ZODB/scripts/tests/test_doc.py
    M src/ZODB/scripts/tests/test_repozo.py
    M src/ZODB/scripts/zodbload.py
    M src/ZODB/serialize.py
    M src/ZODB/tests/BasicStorage.py
    M src/ZODB/tests/ConflictResolution.py
    M src/ZODB/tests/HistoryStorage.py
    M src/ZODB/tests/IteratorStorage.py
    M src/ZODB/tests/MTStorage.py
    M src/ZODB/tests/PackableStorage.py
    M src/ZODB/tests/PersistentStorage.py
    M src/ZODB/tests/ReadOnlyStorage.py
    M src/ZODB/tests/RevisionStorage.py
    M src/ZODB/tests/Synchronization.py
    M src/ZODB/tests/TransactionalUndoStorage.py
    M src/ZODB/tests/hexstorage.py
    M src/ZODB/tests/multidb.txt
    M src/ZODB/tests/synchronizers.txt
    M src/ZODB/tests/testActivityMonitor.py
    M src/ZODB/tests/testBroken.py
    M src/ZODB/tests/testCache.py
    M src/ZODB/tests/testConfig.py
    M src/ZODB/tests/testConnection.py
    M src/ZODB/tests/testDB.py
    M src/ZODB/tests/testDemoStorage.py
    M src/ZODB/tests/testFileStorage.py
    M src/ZODB/tests/testMVCCMappingStorage.py
    M src/ZODB/tests/testMappingStorage.py
    M src/ZODB/tests/testPersistentList.py
    M src/ZODB/tests/testSerialize.py
    M src/ZODB/tests/testUtils.py
    M src/ZODB/tests/testZODB.py
    M src/ZODB/tests/test_TransactionMetaData.py
    M src/ZODB/tests/test_cache.py
    M src/ZODB/tests/test_fsdump.py
    A src/ZODB/tests/test_mvccadapter.py
    M src/ZODB/tests/testblob.py
    M src/ZODB/tests/testconflictresolution.py
    M src/ZODB/tests/testdocumentation.py
    M src/ZODB/tests/testpersistentclass.py
    M src/ZODB/tests/util.py
    M src/ZODB/tests/warnhook.py
    M src/ZODB/utils.py
    M src/ZODB/valuedoc.py
    M tox.ini

  Log Message:
  -----------
  Merge branch 'master' into z-object-database


Compare: https://github.com/zopefoundation/ZODB/compare/b791f66e2f7a...6302cc5c264e
      **NOTE:** This service has been marked for deprecation: https://developer.github.com/changes/2018-04-25-github-services-deprecation/

      Functionality will be removed from GitHub.com on January 31st, 2019.


More information about the checkins mailing list