Release Overview for 1.0.10
This page contains a high level description of the more notable changes made for release 1.0.10. For full details of user-visible changes, see the NEWS files in each module:
- If the disk became full while flushing database changes to disk, the WritableDatabase object would throw a DatabaseError exception but be left in an inconsistent state such that further use could lead to the database on disk ending up in a "corrupt" state (theoretically fixable, but no tool to fix such a database exists). Now we try to ensure that the object is left in a consistent state, but if doing so throws a further exception, we put the WritableDatabase object in a "closed" state such that further attempts to use it throw an exception.
- Create the lockfile "flintlock" with permissions
0666so that the umask is honoured, just like we do for the other files (previously we used
0600). Previously it wasn't possible to open a database for update if it was owned by another user, even if you otherwise had sufficient permissions via "group" or "other".
- Composing an
OP_NEARquery with two non-term subqueries now throws UnimplementedError instead of AssertionError (in an
--enable-assertionsbuild) or leading to unexpected results (otherwise). This partly addresses bug#201.