v0.10.0

Florian Spreckelsen
2023-06-02T14:10:30Z

Merge branch 'release-0.10.0' into 'main'

DOC: Added CITATION.cff to the list of files in the release guide where the...

Closes #216 and #196

See merge request caosdb/src/caosdb-server!96

Changelog

[0.10.0] - 2023-06-02

(Florian Spreckelsen)

Changed

The default behavior of the query FIND SomeName [...] (as well as COUNT and SELECT) is being made configurable and changes:

FIND SomeName will be interpreted as FIND <FIND_QUERY_DEFAULT_ROLE> SomeName from now on where FIND_QUERY_DEFAULT_ROLE is a newly introduced server property.

The new FIND_QUERY_DEFAULT_ROLE server property defaults to RECORD which is why the behavior of the server api has a breaking change.

The semantics of FIND * are affected as well. FIND * is equivalent to FIND <FIND_QUERY_DEFAULT_ROLE>.

Of course, administrators can choose to retain the old behavior by setting FIND_QUERY_DEFAULT_ROLE=ENTITY.

CQL now treats WITH and WITH A equivalently. Issue: #192

The InsertFilesInDir FlagJob now creates File entities without a name. The previous behavior caused severe performance problems for very large numbers of files. Issue: #197

Fixed

Unexpected Server Error when inserting an Entity. #216

Bad performance due to the execution of unnecessary jobs during retrieval. #189

Query Language: Parentheses change filter to subproperty filter #203

Searching for values in scientific notation #143

Denying a role permission has no effect #196. See security notes below.

Missing RecordType leads to unexpected server error #166

Security

Fixed #196. This was an error in the authorization procedure which allowed unprivileged users execute insert, update or delete transactions on entities. However, the unprivileged users would also need the correct entity permissions to do that.

Without backup, this means possible data loss. Also there was the possibility to spam the database by creating unwanted entities.

Documentation

Nested queries.

Global entity permissions.

DOC: Data model tutorial.

Removed old documentation directory /doc/, migrated non-duplicate content to /src/doc/.