diff --git a/.docker/Dockerfile b/.docker/Dockerfile
index b894c62ae3953b96aca1e3a88da795d4c8f13a69..870c810c33b9182d9e2566f928f10ead44ea4d0c 100644
--- a/.docker/Dockerfile
+++ b/.docker/Dockerfile
@@ -3,7 +3,7 @@ FROM debian:buster-backports
 RUN apt-get update
 RUN apt-get install -y cmake/buster-backports
 RUN apt-get install -y lcov
-RUN apt-get install -y doxygen
+RUN apt-get install -y doxygen graphviz
 RUN apt-get install -y clang-format-11 clang-tidy-11
 RUN apt-get install -y python3-pip
 RUN apt-get install -y git
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0176a56635fbd890d3e71f8161ba2cc736aa27e9..04a8e750d568ac331d0e0b30cd180109c7bad109 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -20,7 +20,7 @@
 
 cmake_minimum_required(VERSION 3.13)
 
-set(libcaosdb_VERSION 0.0.20)
+set(libcaosdb_VERSION 0.1.0)
 set(libcaosdb_COMPATIBLE_SERVER_VERSION_MAJOR 0)
 set(libcaosdb_COMPATIBLE_SERVER_VERSION_MINOR 5)
 set(libcaosdb_COMPATIBLE_SERVER_VERSION_PATCH 0)
@@ -79,8 +79,8 @@ add_subdirectory(doc)
 
 # Protobuf/Grpc source files
 set(PROTO_FILES
-    ${PROJECT_SOURCE_DIR}/proto/proto/caosdb/info/v1alpha1/main.proto
-    ${PROJECT_SOURCE_DIR}/proto/proto/caosdb/entity/v1alpha1/main.proto
+    ${PROJECT_SOURCE_DIR}/proto/proto/caosdb/info/v1/main.proto
+    ${PROJECT_SOURCE_DIR}/proto/proto/caosdb/entity/v1/main.proto
 )
 
 set(PROTO_PATH ${PROJECT_SOURCE_DIR}/proto/proto)
diff --git a/DEPENDENCIES.md b/DEPENDENCIES.md
deleted file mode 100644
index 55949748d9d513367c2fbb98b5354bd95d97713e..0000000000000000000000000000000000000000
--- a/DEPENDENCIES.md
+++ /dev/null
@@ -1,30 +0,0 @@
-# GENERAL
-
-* >=conan-1.37.2 (e.g. with `pip install conan`)
-* >=cmake-3.13
-* >=gcc-10.2.0 | >=clang-11
-
-# OPTIONAL
-
-* For checking the schema of a json configuration file: >=jsonschema-3.2.0
-
-# BUILD DOCS
-
-* doxygen
-* >=python-3.7
-* >=pip-21.0.1
-* python packages from the `doc/requirements.txt` file.
-
-# BUILD AND RUN TESTS
-
-* >=clang-tidy-11
-* >=gtest-1.10.0
-
-# COVERAGE
-
-* >=gcc-10.2.0
-* >=lcov-1.15
-
-# FORMATTING
-
-* >=clang-formatting-11
diff --git a/DEPENDENCIES.md b/DEPENDENCIES.md
new file mode 120000
index 0000000000000000000000000000000000000000..afcb4b6000019170e46b6dde462897bacd9855e1
--- /dev/null
+++ b/DEPENDENCIES.md
@@ -0,0 +1 @@
+doc/DEPENDENCIES.md
\ No newline at end of file
diff --git a/FEATURES.md b/FEATURES.md
index 8b137891791fe96927ad78e64b0aad7bded08bdc..8ca4a13956a6ae5ea25a91c21253c4b68cc7b481 100644
--- a/FEATURES.md
+++ b/FEATURES.md
@@ -1 +1,39 @@
+# Features
 
+This library provides a client for communication with a CaosDB server over the
+CaosDB GRPC-APIs. The client supports
+
+* Transaction of entities and file transmission.
+* Authentication via Username/Password.
+* Secure communication via TLS.
+* Multiple connections with different servers.
+* Logging.
+* File-based configuration.
+
+The core is written in C++ and makes heavy use of object-oriented patterns. It
+results in a c++ library -- libcaosdb.
+
+For using the library in a plain C context, a thin wrapper is included
+-- libccaosdb. It wrapps the C++ classes into structs and the member methods
+into functions which operate on the wrapped C++ instances.
+
+Minimal testing executables in C++ and C are included as well, but they only
+serve as just that -- minimal testing.
+
+## CaosDB Entitiy API
+
+This library implements a subset of the CaosDB Entitiy API (caosdb.entity.v1) as a client.
+
+Current limitations: The implementation does not support mixing retrievals with write-transactions.
+
+## CaosDB Info API
+
+This library implements the CaosDB Info API (caosdb.info.v1) as a client without limitations.
+
+## Thread-safety and Concurrency
+
+Currently, the library should not be considered thread-safe.
+
+The `caosdb::transaction::Transaction` class is designed with an with an
+interface ready for concurrent and asyncronous transactions. However, the
+functions are actually implemented in a blocking, synchronous way.
diff --git a/conanfile.py b/conanfile.py
index 3495107311d4e0d467313dc4d8b088a508349d55..78425df0cf78e7b5d78344898b887a75c756429d 100644
--- a/conanfile.py
+++ b/conanfile.py
@@ -3,7 +3,7 @@ from conans import ConanFile, CMake, tools
 
 class CaosdbConan(ConanFile):
     name = "caosdb"
-    version = "0.0.20"
+    version = "0.1.0"
     license = "AGPL-3.0-or-later"
     author = "Timm C. Fitschen <t.fitschen@indiscale.com>"
     url = "https://gitlab.indiscale.com/caosdb/src/caosdb-cpplib.git"
@@ -15,10 +15,15 @@ class CaosdbConan(ConanFile):
     generators = "cmake"
     requires = [
         ("boost/1.77.0"),
-        ("gtest/1.11.0"),
         ("grpc/1.39.1"),
     ]
-    exports = "*.cpp", "*.h", "*.cmake", "*CMakeLists.txt", "*.in", "*.proto", "*.c"
+    build_requires = [
+        ("gtest/1.11.0"),
+    ]
+    exports = ("*.cmake", "*CMakeLists.txt", "*.in",
+               "*.h", "*.proto", "*.c", "*.cpp",
+               "*.rst", "*.md",
+               )
     exports_sources = "src", "doc", "include", "test", "cmake", "proto"
 
     def config_options(self):
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
index 4255ab7d0f5531187491de7586a8c7b6c61545f7..6c123d26653fcbabb57a0b4547b5230ef04a4936 100644
--- a/doc/CMakeLists.txt
+++ b/doc/CMakeLists.txt
@@ -89,12 +89,12 @@ if (DOXYGEN_FOUND)
             VERBATIM
             )
         # Copying files is necessary: https://stackoverflow.com/a/45808534/232888
-		# TODO fix for docs
-		#FILE(COPY
-		#Examples.rst
-		#README_SETUP.md
+        file(COPY
+            Examples.rst
+            README_SETUP.md
+            DEPENDENCIES.md
             # Tutorial.rst
-			#DESTINATION "${CMAKE_CURRENT_BINARY_DIR}")
+            DESTINATION "${CMAKE_CURRENT_BINARY_DIR}")
     else ()
         message("Sphinx need to be installed to generate the sphinx documentation")
     endif ()
diff --git a/doc/DEPENDENCIES.md b/doc/DEPENDENCIES.md
new file mode 100644
index 0000000000000000000000000000000000000000..d5a81677b32a72548176d407e7d6114b6b5ddeb5
--- /dev/null
+++ b/doc/DEPENDENCIES.md
@@ -0,0 +1,42 @@
+# Dependencies #
+
+## General ##
+
+```
+>=conan-1.37.2 (e.g. with `pip install conan`)
+>=cmake-3.13
+>=gcc-10.2.0 | >=clang-11
+```
+
+## Optional ##
+
+* For checking the schema of a json configuration file: `>=jsonschema-3.2.0`
+
+## Build docs ##
+
+```
+doxygen
+>=python-3.7
+>=pip-21.0.1
+python packages from the `doc/requirements.txt` file
+```
+
+## Build and run tests ##
+
+```
+>=clang-tidy-11
+>=gtest-1.10.0
+```
+
+## Coverage ##
+
+```
+>=gcc-10.2.0
+>=lcov-1.15
+```
+
+## Formatting ##
+
+```
+>=clang-formatting-11
+```
diff --git a/doc/Examples.rst b/doc/Examples.rst
index ddb24e0bdd6fd7a4f4881a8eb163cb63184b0bb8..eef2976aa3122edae7a5edf268075c0b93f5b5ec 100644
--- a/doc/Examples.rst
+++ b/doc/Examples.rst
@@ -5,10 +5,10 @@ Examples
 Connect to a CaosDB server
 --------------------------
 
-See also the hints on how to :doc:`get started<README_SETUP>`, and set-up of
-libcaosdb. In order to connect to a CaosDB server with libcaosdb you first have to configure the
-connection via a configuration file as explained in the :ref:`configuration section <Client Configuration>`. Once the configuration is set up, connecting to the server is
-as easy as
+See also the hints on how to :doc:`get started<README_SETUP>`, and set-up of libcaosdb. In order to
+connect to a CaosDB server with libcaosdb you first have to configure the connection via a
+configuration file as explained in the :ref:`"Client Configuration" section <Client
+Configuration>`. Once the configuration is set up, connecting to the server is as easy as
 
 .. code:: cpp
 
diff --git a/doc/README_SETUP.md b/doc/README_SETUP.md
index 0d925536a090030b266e5439569480c128897283..241ed18e84938a6402434bb8b5cc093b25352a10 100644
--- a/doc/README_SETUP.md
+++ b/doc/README_SETUP.md
@@ -2,11 +2,12 @@
 
 ## Dependencies
 
-* See [DEPENDENCIES.md](Dependencies.md)
+* See the [dependencies](DEPENDENCIES.md) file.
 
 ## Build
 
-We use [cmake](https://cmake.org) as build tool.
+We use [cmake](https://cmake.org) as build tool, with Conan as package manager.  The compiler must support the C++17
+standard.
 
 0. clone/update the subrepo `git submodule update --init proto`
 1. `mkdir build && cd build`
@@ -23,6 +24,10 @@ The default install prefix is `~/.local`. It can be set by adding
 `-DCMAKE_INSTALL_PREFIX=/path/to/install/prefix` to the first cmake
 command (3.).
 
+If you want to build or install libcaosdb without the use of Conan, feel free to rewrite the
+CMakeLists.txt as needed.  The CaosDB project is open to merge requests which support multiple ways
+of installation.
+
 ### How to build on MacOS
 
 Instead of the above conan command (2.) use
@@ -36,7 +41,7 @@ variable.
 
 #### Problems and solutions ####
 
-- Make sure that your conan version supports your XCode version.  A typical symptom of version
+- Make sure that your Conan version supports your XCode version.  A typical symptom of version
   mismatch is for example conan complaining about incompatible `compiler.version` settings.  You may
   need to rerun any conan and cmake commands (and delete cache files first) after compiler updates.
 
@@ -48,13 +53,18 @@ as compiler. We use [cmake](https://cmake.org/download/) as build tool.
 0. clone/update the subrepo `git submodule update --init proto`
 1. `mkdir build`
 2. `cd build`
-3. `conan install .. -g visual_studio -s arch=x86_64 -s build_type=Release -s compiler.toolset=v142 -s compiler.version=16 -s compiler.runtime=MD  --build=missing --update`
+3. `conan install .. -g visual_studio -s arch=x86_64 -s build_type=Release -s compiler.toolset=v142 -s compiler.version=16 -s compiler.runtime=MD --build=missing --update`
 4. `cmake -B . ..`
 5. open ` libcaosdb.sln` with Visual Studio, change the buildtype to `Release`
    and build the project. (You can open Tools/Command Line/Developer Command
    Prompt and execute `msbuild libcaosdb.sln /property:Configuration=Release`)
 
-### Creating a Local Conan Package ##
+#### Known problems ####
+
+- Linking dynamic libraries currently fails on Windows.  So probably other CaosDB libraries which
+  make use of libcaosdb also will not build.
+
+### Creating a local Conan package ##
 
 Building and installing libcaosdb with Conan is just a single command: `make conan`
 
@@ -62,7 +72,7 @@ For MacOS, you probably should adjust the option as mentioned above.
 
 ### Troubleshooting
 
-#### `conan install` Fails Due to Missing Prebuilts
+#### `conan install` fails due to missing prebuilts
 
 When `conan install` fails during the installation of the dependencies because
 a precompiled package is not available for your specific settings, try adding
@@ -70,8 +80,8 @@ the `--build=missing` option: `conan install .. [ other options
 ] --build=missing`. This should download and compile the sources of the
 dependencies.
 
-#### cmake fails when using the Debug flag
-Depending on the clang version it might be necessary to use additionally the following flag:
+#### cmake fails when using the debug flag
+Depending on the clang version it might be necessary to additionally use the following flag:
 `-DCMAKE_CXX_FLAGS="-Wno-unused-parameter"`
 
 #### conan uses outdated cppstd during install
@@ -81,9 +91,32 @@ to, e.g., `std::string_view` being unavailable, try specifying the cpp
 standard manually by `conan install .. [other options] -s
 "compiler.cppstd=17"`.
 
-## Unit Tests
+## Client Configuration ##
+
+You can use a json file for the configuration of the client. See
+`test/test_data/test_caosdb_client.json` for an example. You may use
+`caosdb-client-configuration-schema.json` to validate your schema.
+Typically, you will need to provide the path to your SSL certificate.
+
+The client will load the configuration file from the first existing
+file in the following locations (precedence from highest to lowest):
+
+1. A file specified by the environment variable
+   `$CAOSDB_CLIENT_CONFIGURATION`.
+2. `$PWD/caosdb_client.json`
+3. `$PWD/caosdb-client.json`
+4. `$PWD/.caosdb_client.json`
+5. `$PWD/.caosdb-client.json`
+6. `$HOME/caosdb_client.json`
+7. `$HOME/caosdb-client.json`
+8. `$HOME/.caosdb_client.json`
+9. `$HOME/.caosdb-client.json`
+
+## Develop ##
+
+### Unit tests ###
 
-### Build
+#### Build ####
 
 For the tests there is a slightly different setup required (with option `-D CMAKE_BUILD_TYPE=Debug`)
 
@@ -96,15 +129,15 @@ For the tests there is a slightly different setup required (with option `-D CMAK
 	 `-DCMAKE_CXX_FLAGS="-Wno-unused-parameter"`
 5. `cmake --build .`
 
-### Run
+#### Run ####
 
 In the build directory, run `ctest`
 
-### Framework
+#### Framework ####
 
 We use [GoogleTest](https://google.github.io/googletest/) for unit testing.
 
-### Coverage
+#### Test coverage ####
 
 We use [gcov](https://gcc.gnu.org/onlinedocs/gcc/Gcov.html) and
 [lcov](https://github.com/linux-test-project/lcov) for generating test coverage
@@ -119,39 +152,18 @@ necessary to run `ctest` prior to this target.
 The coverage report can be viewed in a browser by opening
 `<build_directory>/unit_test_coverage/index.html`.
 
-## Code Formatting
+### Code formatting ###
 
 * install clang-format on your system.
 * `clang-format -i --verbose $(find test/ src/ include/ -type f -iname "*.cpp" -o -iname "*.h" -o -iname "*.h.in")`
 
-## Naming Convention
+### Naming conventions ###
 
 Please adhere to [Google's C++ naming conventions](https://google.github.io/styleguide/cppguide.html#Naming).
 
-## Client Configuration
-
-You can use a json file for the configuration of the client. See
-`test/test_data/test_caosdb_client.json` for an example. You may use
-`caosdb-client-configuration-schema.json` to validate your schema.
-Typically, you will need to provide the path to your SSL certificate.
-
-The client will load the configuration file from the first existing
-file in the following locations (precedence from highest to lowest):
-
-1. A file specified by the environment variable
-   `$CAOSDB_CLIENT_CONFIGURATION`.
-2. `$PWD/caosdb_client.json`
-3. `$PWD/caosdb-client.json`
-4. `$PWD/.caosdb_client.json`
-5. `$PWD/.caosdb-client.json`
-6. `$HOME/caosdb_client.json`
-7. `$HOME/caosdb-client.json`
-8. `$HOME/.caosdb_client.json`
-9. `$HOME/.caosdb-client.json`
-
-## Documentation
+### Documentation ###
 
-In the build directory, run
+To build the documentation, run in the build directory
 
 * `cmake --build . --target doc-doxygen` (generate Doxygen)
 * `cmake --build . --target doc-sphinx` (generate Sphinx)
diff --git a/doc/capi/index.rst.in b/doc/capi/index.rst.in
index dad5482336472aa01355467687b2441b0a282a7b..71c78372ceebba9d03d77fcefe2d33b01ae1d757 100644
--- a/doc/capi/index.rst.in
+++ b/doc/capi/index.rst.in
@@ -21,19 +21,25 @@
 
 .. _capi_root:
 
-C API
-=====
+=======
+ C API
+=======
+
+.. warning::
+
+   The C API is intended for developers of other libraries.  Special carre needs to be taken for
+   correct memory management.
 
 .. note::
 
-   When working with libcaosdb's C API keep the following in
-   mind. Delete all objects (transactions, entities, properties,
-   parents, ...) that you created using a `caosdb_..._create_...`
-   function or released using a `caosdb_..._release_...` and only
-   those. This means, that any objects set by a `caosdb_..._get_...`
-   function, are managed by another owning object (e.g., a connection
-   object managed by the connection manager) should not be deleted
-   manually.
+   When working with libcaosdb's C API keep the following in mind:
+
+   Delete all objects (transactions, entities, properties, parents, ...) that you created using a
+   call to ``caosdb_..._create_...`` or released using ``caosdb_..._release_...`` and only those.
+
+   Specifically, any objects set by a ``caosdb_..._get_...`` function are managed by another owning
+   object (e.g., a connection object is managed by the connection manager) and thus should not be
+   deleted manually.
 
    The underlying reason is that all C++ objects are realized in the
    Extern C interface as mutable structs containing a void pointer to
diff --git a/doc/cppapi/index.rst.in b/doc/cppapi/index.rst.in
index c9780a92355ab99e7bbdb9cfc1c405c33c3efd30..97a36582e8993b6e31a72117e0fa48db09cc15f8 100644
--- a/doc/cppapi/index.rst.in
+++ b/doc/cppapi/index.rst.in
@@ -21,8 +21,27 @@
 
 .. _cppapi_root:
 
-C++ API
-=======
+=========
+ C++ API
+=========
+
+This is the C++ library for connecting to CaosDB.  If you are interested in code examples, please
+refer to the corresponding :doc:`documentation section<examples.rst>`.
+
+
+A note on thread safety
+^^^^^^^^^^^^^^^^^^^^^^^
+
+Only the components which handle GRPC and server connections are thread-safe, Entity and Transaction
+objects are not thread-safe.  Therefore derived client libraries, such as those for `Julia
+<https://gitlab.indiscale.com/caosdb/src/caosdb-julialib>`_ and `Octave
+<https://gitlab.indiscale.com/caosdb/src/caosdb-octavelib>`_ probably are not thread-safe either.
+
+There is a `known bug <https://gitlab.indiscale.com/caosdb/src/caosdb-cpplib/-/issues/17>`_ which
+may cause a segmentation fault upon program termination, after leaving the ``main`` function, when
+logging is enabled and multiple threads or processes were started.  If this bothers you, turn the
+logging off in the configuration.
+
 
 .. toctree::
     :glob:
diff --git a/include/caosdb/connection.h b/include/caosdb/connection.h
index 4eadde0ac281fb61bb5eca49b5b64cb8baedeccb..c11eaa1d6863f9f256164e0897463ff1afb720ad 100644
--- a/include/caosdb/connection.h
+++ b/include/caosdb/connection.h
@@ -29,9 +29,9 @@
  */
 #include "caosdb/authentication.h"               // for Authenticator
 #include "caosdb/configuration.h"                // for ConnectionConfigura...
-#include "caosdb/entity/v1alpha1/main.grpc.pb.h" // for EntityTransactionSe...
+#include "caosdb/entity/v1/main.grpc.pb.h" // for EntityTransactionSe...
 #include "caosdb/info.h"                         // for VersionInfo
-#include "caosdb/info/v1alpha1/main.grpc.pb.h"   // for GeneralInfoService:...
+#include "caosdb/info/v1/main.grpc.pb.h"   // for GeneralInfoService:...
 #include "caosdb/transaction.h"                  // for Transaction
 #include "caosdb/transaction_status.h"           // for TransactionStatus
 #include <boost/filesystem/path.hpp>             // for path
@@ -44,10 +44,10 @@ namespace caosdb::connection {
 using boost::filesystem::path;
 using caosdb::authentication::Authenticator;
 using caosdb::configuration::ConnectionConfiguration;
-using caosdb::entity::v1alpha1::EntityTransactionService;
-using caosdb::entity::v1alpha1::FileTransmissionService;
+using caosdb::entity::v1::EntityTransactionService;
+using caosdb::entity::v1::FileTransmissionService;
 using caosdb::info::VersionInfo;
-using caosdb::info::v1alpha1::GeneralInfoService;
+using caosdb::info::v1::GeneralInfoService;
 using caosdb::transaction::Transaction;
 using caosdb::transaction::TransactionStatus;
 
diff --git a/include/caosdb/data_type.h b/include/caosdb/data_type.h
index 771ca8c0859c3b462d5fbf6575e2e2569af2d61f..11909c012e3105ed29185637b3f32801f1613ccf 100644
--- a/include/caosdb/data_type.h
+++ b/include/caosdb/data_type.h
@@ -28,17 +28,17 @@
 
 #ifndef CAOSDB_DATA_TYPE_H
 #define CAOSDB_DATA_TYPE_H
-#include "caosdb/protobuf_helper.h"         // for ProtoMessageWrapper
-#include "caosdb/entity/v1alpha1/main.pb.h" // for RepeatedPtrField, Message
-#include <memory>                           // for unique_ptr
-#include <string>                           // for string
+#include "caosdb/protobuf_helper.h"   // for ProtoMessageWrapper
+#include "caosdb/entity/v1/main.pb.h" // for RepeatedPtrField, Message
+#include <memory>                     // for unique_ptr
+#include <string>                     // for string
 namespace caosdb::entity {
-using ProtoAtomicDataType = caosdb::entity::v1alpha1::AtomicDataType;
-using ProtoDataType = caosdb::entity::v1alpha1::DataType;
-using ProtoListDataType = caosdb::entity::v1alpha1::ListDataType;
-using ProtoReferenceDataType = caosdb::entity::v1alpha1::ReferenceDataType;
-using DataTypeCase = caosdb::entity::v1alpha1::DataType::DataTypeCase;
-using ListDataTypeCase = caosdb::entity::v1alpha1::ListDataType::ListDataTypeCase;
+using ProtoAtomicDataType = caosdb::entity::v1::AtomicDataType;
+using ProtoDataType = caosdb::entity::v1::DataType;
+using ProtoListDataType = caosdb::entity::v1::ListDataType;
+using ProtoReferenceDataType = caosdb::entity::v1::ReferenceDataType;
+using DataTypeCase = caosdb::entity::v1::DataType::DataTypeCase;
+using ListDataTypeCase = caosdb::entity::v1::ListDataType::ListDataTypeCase;
 using caosdb::utility::ProtoMessageWrapper;
 using caosdb::utility::ScalarProtoMessageWrapper;
 
diff --git a/include/caosdb/entity.h b/include/caosdb/entity.h
index 300de9abfed136f41ec2898b132509f759e03375..a46c01616a737a6aec114d94fdb76e3c902f62e9 100644
--- a/include/caosdb/entity.h
+++ b/include/caosdb/entity.h
@@ -30,7 +30,7 @@
 #define CAOSDB_ENTITY_H
 
 #include "caosdb/data_type.h"                          // for DataType
-#include "caosdb/entity/v1alpha1/main.pb.h"            // for RepeatedPtrField
+#include "caosdb/entity/v1/main.pb.h"                  // for RepeatedPtrField
 #include "caosdb/logging.h"                            // for CAOSDB_LOG_WARN
 #include "caosdb/message_code.h"                       // for get_message_code
 #include "caosdb/protobuf_helper.h"                    // for get_arena
@@ -58,20 +58,19 @@
 namespace caosdb::entity {
 using boost::filesystem::exists;
 using boost::filesystem::is_directory;
-using caosdb::entity::v1alpha1::IdResponse;
-using google::protobuf::Arena;
-using ProtoParent = caosdb::entity::v1alpha1::Parent;
-using ProtoProperty = caosdb::entity::v1alpha1::Property;
-using ProtoEntity = caosdb::entity::v1alpha1::Entity;
-using ProtoFileDescriptor = caosdb::entity::v1alpha1::FileDescriptor;
-using ProtoMessage = caosdb::entity::v1alpha1::Message;
-using ProtoValue = caosdb::entity::v1alpha1::Value;
-using ProtoDataType = caosdb::entity::v1alpha1::DataType;
-using caosdb::entity::v1alpha1::EntityRole;
-using ProtoImportance = caosdb::entity::v1alpha1::Importance;
+using caosdb::entity::v1::IdResponse;
+using ProtoParent = caosdb::entity::v1::Parent;
+using ProtoProperty = caosdb::entity::v1::Property;
+using ProtoEntity = caosdb::entity::v1::Entity;
+using ProtoFileDescriptor = caosdb::entity::v1::FileDescriptor;
+using ProtoMessage = caosdb::entity::v1::Message;
+using ProtoValue = caosdb::entity::v1::Value;
+using ProtoDataType = caosdb::entity::v1::DataType;
+using caosdb::entity::v1::EntityRole;
+using ProtoImportance = caosdb::entity::v1::Importance;
 using caosdb::StatusCode;
-using caosdb::entity::v1alpha1::EntityResponse;
-using caosdb::entity::v1alpha1::FileTransmissionId;
+using caosdb::entity::v1::EntityResponse;
+using caosdb::entity::v1::FileTransmissionId;
 using caosdb::utility::get_arena;
 using caosdb::utility::ProtoMessageWrapper;
 using ::google::protobuf::RepeatedPtrField;
@@ -487,8 +486,7 @@ public:
 
 private:
   inline Parents() : RepeatedPtrFieldWrapper<Parent, ProtoParent>(){};
-  explicit inline Parents(
-    ::google::protobuf::RepeatedPtrField<caosdb::entity::v1alpha1::Parent> *wrapped)
+  explicit inline Parents(::google::protobuf::RepeatedPtrField<caosdb::entity::v1::Parent> *wrapped)
     : RepeatedPtrFieldWrapper<Parent, ProtoParent>(wrapped){};
 };
 
diff --git a/include/caosdb/file_transmission/download_request_handler.h b/include/caosdb/file_transmission/download_request_handler.h
index 3af72cc5939ced7a2f6c2edf86981cc8ef62cbb0..0a8e13aac4237b2a9c5e1262dd8fdd0b742a0f29 100644
--- a/include/caosdb/file_transmission/download_request_handler.h
+++ b/include/caosdb/file_transmission/download_request_handler.h
@@ -50,8 +50,8 @@
 #define CAOSDB_FILE_TRANSMISSION_DOWNLOAD_REQUEST_HANDLER_H
 
 #include "caosdb/entity.h"                        // for FileDescriptor
-#include "caosdb/entity/v1alpha1/main.grpc.pb.h"  // for FileTransmissionS...
-#include "caosdb/entity/v1alpha1/main.pb.h"       // for FileDownloadResponse
+#include "caosdb/entity/v1/main.grpc.pb.h"        // for FileTransmissionS...
+#include "caosdb/entity/v1/main.pb.h"             // for FileDownloadResponse
 #include "caosdb/file_transmission/file_writer.h" // for FileWriter
 #include "caosdb/handler_interface.h"             // for HandlerTag, Handl...
 #include <grpcpp/impl/codegen/async_stream.h>     // for ClientAsyncReader
@@ -62,9 +62,9 @@
 
 namespace caosdb::transaction {
 using caosdb::entity::FileDescriptor;
-using caosdb::entity::v1alpha1::FileDownloadRequest;
-using caosdb::entity::v1alpha1::FileDownloadResponse;
-using caosdb::entity::v1alpha1::FileTransmissionService;
+using caosdb::entity::v1::FileDownloadRequest;
+using caosdb::entity::v1::FileDownloadResponse;
+using caosdb::entity::v1::FileTransmissionService;
 using caosdb::transaction::HandlerInterface;
 using caosdb::transaction::HandlerTag;
 
diff --git a/include/caosdb/file_transmission/register_file_upload_handler.h b/include/caosdb/file_transmission/register_file_upload_handler.h
index f4586220980b056891effb142c4d736efc809fcf..37df2dbf0fb895cd77f63bab2596a0b124c48b9c 100644
--- a/include/caosdb/file_transmission/register_file_upload_handler.h
+++ b/include/caosdb/file_transmission/register_file_upload_handler.h
@@ -49,9 +49,9 @@
 #ifndef CAOSDB_FILE_TRANSMISSION_REGISTER_FILE_UPLOAD_H
 #define CAOSDB_FILE_TRANSMISSION_REGISTER_FILE_UPLOAD_H
 
-#include "caosdb/entity/v1alpha1/main.grpc.pb.h" // for FileTransmissionS...
-#include "caosdb/entity/v1alpha1/main.pb.h"      // for FileDownloadResponse
-#include "caosdb/handler_interface.h"            // for HandlerTag, Handl...
+#include "caosdb/entity/v1/main.grpc.pb.h" // for FileTransmissionS...
+#include "caosdb/entity/v1/main.pb.h"      // for FileDownloadResponse
+#include "caosdb/handler_interface.h"      // for HandlerTag, Handl...
 #include "caosdb/unary_rpc_handler.h"
 #include <grpcpp/impl/codegen/async_unary_call.h> // for ClientAsyncRespons...
 #include <grpcpp/impl/codegen/completion_queue.h> // for CompletionQueue
@@ -59,9 +59,9 @@
 
 namespace caosdb::transaction {
 
-using caosdb::entity::v1alpha1::FileTransmissionService;
-using caosdb::entity::v1alpha1::RegisterFileUploadRequest;
-using caosdb::entity::v1alpha1::RegisterFileUploadResponse;
+using caosdb::entity::v1::FileTransmissionService;
+using caosdb::entity::v1::RegisterFileUploadRequest;
+using caosdb::entity::v1::RegisterFileUploadResponse;
 
 class RegisterFileUploadHandler final : public UnaryRpcHandler {
 public:
diff --git a/include/caosdb/file_transmission/upload_request_handler.h b/include/caosdb/file_transmission/upload_request_handler.h
index 9965d54ef870c0ab0ae21b65e456859fb1ef34a3..cb9748f868290d362bb21bb66eaacb0267c14eed 100644
--- a/include/caosdb/file_transmission/upload_request_handler.h
+++ b/include/caosdb/file_transmission/upload_request_handler.h
@@ -50,8 +50,8 @@
 #define CAOSDB_FILE_TRANSMISSION_UPLOAD_REQUEST_HANDLER_H
 
 #include "caosdb/entity.h"                        // for FileDescriptor
-#include "caosdb/entity/v1alpha1/main.grpc.pb.h"  // for FileTransmissionS...
-#include "caosdb/entity/v1alpha1/main.pb.h"       // for FileUploadRequest
+#include "caosdb/entity/v1/main.grpc.pb.h"        // for FileTransmissionS...
+#include "caosdb/entity/v1/main.pb.h"             // for FileUploadRequest
 #include "caosdb/file_transmission/file_reader.h" // for FileReader
 #include "caosdb/handler_interface.h"             // for HandlerTag, Handl...
 #include <cstdint>                                // for uint64_t
@@ -63,9 +63,9 @@
 
 namespace caosdb::transaction {
 using caosdb::entity::FileDescriptor;
-using caosdb::entity::v1alpha1::FileTransmissionService;
-using caosdb::entity::v1alpha1::FileUploadRequest;
-using caosdb::entity::v1alpha1::FileUploadResponse;
+using caosdb::entity::v1::FileTransmissionService;
+using caosdb::entity::v1::FileUploadRequest;
+using caosdb::entity::v1::FileUploadResponse;
 using caosdb::transaction::HandlerInterface;
 using caosdb::transaction::HandlerTag;
 
diff --git a/include/caosdb/info.h b/include/caosdb/info.h
index e9e7e1773ab81a4676e5be65e904a8026a22d60a..4aa538bf9434a360687b4b66d3c16485f85c78d8 100644
--- a/include/caosdb/info.h
+++ b/include/caosdb/info.h
@@ -27,14 +27,13 @@
  * @date 2021-07-02
  * @brief General information about the CaosDBServer.
  */
-#include "caosdb/info/v1alpha1/main.pb.h" // for VersionInfo
-#include "caosdb/protobuf_helper.h"       // for get_arena
-#include <cstdint>                        // for uint32_t
-#include <string>                         // for string
+#include "caosdb/info/v1/main.pb.h" // for VersionInfo
+#include <cstdint>                  // for uint32_t
+#include <string>                   // for string
 
 namespace caosdb::info {
 
-using ProtoVersionInfo = caosdb::info::v1alpha1::VersionInfo;
+using ProtoVersionInfo = caosdb::info::v1::VersionInfo;
 
 /**
  * A read-only version object which represents the version of the server.
diff --git a/include/caosdb/message_code.h b/include/caosdb/message_code.h
index a277656cd3848931bdc6dff6d3a802dab8da3282..ce539c188eabfa0d20762eac9fbe1083185286ea 100644
--- a/include/caosdb/message_code.h
+++ b/include/caosdb/message_code.h
@@ -22,7 +22,7 @@
 #ifndef CAOSDB_MESSAGE_CODE_H
 #define CAOSDB_MESSAGE_CODE_H
 
-#include "caosdb/entity/v1alpha1/main.pb.h" // for Entity, RepeatedField
+#include "caosdb/entity/v1/main.pb.h" // for Entity, RepeatedField
 
 /**
  * MessageCodes for entity messages.
@@ -38,16 +38,68 @@
 
 namespace caosdb::entity {
 
+#define _MAP_MESSAGE_CODE(name) name = caosdb::entity::v1::MessageCode::MESSAGE_CODE_##name
+
 enum MessageCode {
-  UNSPECIFIED = caosdb::entity::v1alpha1::MessageCode::MESSAGE_CODE_UNSPECIFIED,
-  UNKNOWN = caosdb::entity::v1alpha1::MessageCode::MESSAGE_CODE_UNKNOWN,
-  ENTITY_DOES_NOT_EXIST = caosdb::entity::v1alpha1::MessageCode::MESSAGE_CODE_ENTITY_DOES_NOT_EXIST,
-  ENTITY_HAS_NO_PROPERTIES =
-    caosdb::entity::v1alpha1::MessageCode::MESSAGE_CODE_ENTITY_HAS_NO_PROPERTIES,
-  INTEGER_VALUE_OUT_OF_RANGE =
-    caosdb::entity::v1alpha1::MessageCode::MESSAGE_CODE_INTEGER_VALUE_OUT_OF_RANGE,
-  ENTITY_HAS_BEEN_DELETED_SUCCESSFULLY =
-    caosdb::entity::v1alpha1::MessageCode::MESSAGE_CODE_ENTITY_HAS_BEEN_DELETED_SUCCESSFULLY,
+  _MAP_MESSAGE_CODE(UNSPECIFIED),
+  _MAP_MESSAGE_CODE(UNKNOWN),
+  _MAP_MESSAGE_CODE(ENTITY_DOES_NOT_EXIST),
+  _MAP_MESSAGE_CODE(ENTITY_HAS_NO_PROPERTIES),
+  _MAP_MESSAGE_CODE(ENTITY_HAS_BEEN_DELETED_SUCCESSFULLY),
+  _MAP_MESSAGE_CODE(ENTITY_HAS_UNQUALIFIED_PROPERTIES),
+  _MAP_MESSAGE_CODE(ENTITY_HAS_UNQUALIFIED_PARENTS),
+  _MAP_MESSAGE_CODE(ENTITY_HAS_NO_ID),
+  _MAP_MESSAGE_CODE(REQUIRED_BY_PERSISTENT_ENTITY),
+  _MAP_MESSAGE_CODE(PROPERTY_HAS_NO_DATA_TYPE),
+  _MAP_MESSAGE_CODE(ENTITY_HAS_NO_DESCRIPTION),
+  _MAP_MESSAGE_CODE(ENTITY_HAS_NO_NAME),
+  _MAP_MESSAGE_CODE(OBLIGATORY_PROPERTY_MISSING),
+  _MAP_MESSAGE_CODE(ENTITY_HAS_NO_PARENTS),
+  _MAP_MESSAGE_CODE(FILE_HAS_NO_TARGET_PATH),
+  _MAP_MESSAGE_CODE(TARGET_PATH_NOT_ALLOWED),
+  _MAP_MESSAGE_CODE(TARGET_PATH_EXISTS),
+  _MAP_MESSAGE_CODE(PROPERTY_HAS_NO_UNIT),
+  _MAP_MESSAGE_CODE(CANNOT_PARSE_VALUE),
+  _MAP_MESSAGE_CODE(CHECKSUM_TEST_FAILED),
+  _MAP_MESSAGE_CODE(SIZE_TEST_FAILED),
+  _MAP_MESSAGE_CODE(CANNOT_CREATE_PARENT_FOLDER),
+  _MAP_MESSAGE_CODE(FILE_HAS_NOT_BEEN_UPLOAED),
+  _MAP_MESSAGE_CODE(CANNOT_MOVE_FILE_TO_TARGET_PATH),
+  _MAP_MESSAGE_CODE(CANNOT_PARSE_DATETIME_VALUE),
+  _MAP_MESSAGE_CODE(CANNOT_PARSE_DOUBLE_VALUE),
+  _MAP_MESSAGE_CODE(CANNOT_PARSE_INT_VALUE),
+  _MAP_MESSAGE_CODE(CANNOT_PARSE_BOOL_VALUE),
+  _MAP_MESSAGE_CODE(FILE_NOT_FOUND),
+  _MAP_MESSAGE_CODE(WARNING_OCCURED),
+  _MAP_MESSAGE_CODE(ENTITY_NAME_IS_NOT_UNIQUE),
+  _MAP_MESSAGE_CODE(QUERY_EXCEPTION),
+  _MAP_MESSAGE_CODE(TRANSACTION_ROLL_BACK),
+  _MAP_MESSAGE_CODE(UNKNOWN_UNIT),
+  _MAP_MESSAGE_CODE(AUTHORIZATION_ERROR),
+  _MAP_MESSAGE_CODE(REFERENCE_IS_NOT_ALLOWED_BY_DATA_TYPE),
+  _MAP_MESSAGE_CODE(ENTITY_NAME_DUPLICATES),
+  _MAP_MESSAGE_CODE(DATA_TYPE_NAME_DUPLICATES),
+  _MAP_MESSAGE_CODE(ENTITY_HAS_NO_NAME_OR_ID),
+  _MAP_MESSAGE_CODE(AFFILIATION_ERROR),
+  _MAP_MESSAGE_CODE(QUERY_PARSING_ERROR),
+  _MAP_MESSAGE_CODE(NAME_PROPERTIES_MUST_BE_TEXT),
+  _MAP_MESSAGE_CODE(PARENT_DUPLICATES_WARNING),
+  _MAP_MESSAGE_CODE(PARENT_DUPLICATES_ERROR),
+  _MAP_MESSAGE_CODE(ATOMICITY_ERROR),
+  _MAP_MESSAGE_CODE(NO_SUCH_ENTITY_ROLE),
+  _MAP_MESSAGE_CODE(REQUIRED_BY_UNQUALIFIED),
+  _MAP_MESSAGE_CODE(ENTITY_HAS_UNQUALIFIED_REFERENCE),
+  _MAP_MESSAGE_CODE(REFERENCED_ENTITY_DOES_NOT_EXIST),
+  _MAP_MESSAGE_CODE(REFERENCE_NAME_DUPLICATES),
+  _MAP_MESSAGE_CODE(DATA_TYPE_INHERITANCE_AMBIGUOUS),
+  _MAP_MESSAGE_CODE(DATA_TYPE_DOES_NOT_ACCEPT_COLLECTION_VALUES),
+  _MAP_MESSAGE_CODE(CANNOT_PARSE_UNIT),
+  _MAP_MESSAGE_CODE(ADDITIONAL_PROPERTY),
+  _MAP_MESSAGE_CODE(PROPERTY_WITH_DATA_TYPE_OVERRIDE),
+  _MAP_MESSAGE_CODE(PROPERTY_WITH_DESCRIPTION_OVERRIDE),
+  _MAP_MESSAGE_CODE(PROPERTY_WITH_NAME_OVERRIDE),
+  _MAP_MESSAGE_CODE(INTEGER_VALUE_OUT_OF_RANGE),
+  _MAP_MESSAGE_CODE(INTEGRITY_VIOLATION),
 };
 
 [[nodiscard]] inline auto get_message_code(int code) noexcept -> MessageCode {
@@ -57,12 +109,65 @@ enum MessageCode {
     MessageCode::UNKNOWN,
     MessageCode::ENTITY_DOES_NOT_EXIST,
     MessageCode::ENTITY_HAS_NO_PROPERTIES,
-    MessageCode::INTEGER_VALUE_OUT_OF_RANGE,
     MessageCode::ENTITY_HAS_BEEN_DELETED_SUCCESSFULLY,
+    MessageCode::ENTITY_HAS_UNQUALIFIED_PROPERTIES,
+    MessageCode::ENTITY_HAS_UNQUALIFIED_PARENTS,
+    MessageCode::ENTITY_HAS_NO_ID,
+    MessageCode::REQUIRED_BY_PERSISTENT_ENTITY,
+    MessageCode::PROPERTY_HAS_NO_DATA_TYPE,
+    MessageCode::ENTITY_HAS_NO_DESCRIPTION,
+    MessageCode::ENTITY_HAS_NO_NAME,
+    MessageCode::OBLIGATORY_PROPERTY_MISSING,
+    MessageCode::ENTITY_HAS_NO_PARENTS,
+    MessageCode::FILE_HAS_NO_TARGET_PATH,
+    MessageCode::TARGET_PATH_NOT_ALLOWED,
+    MessageCode::TARGET_PATH_EXISTS,
+    MessageCode::PROPERTY_HAS_NO_UNIT,
+    MessageCode::CANNOT_PARSE_VALUE,
+    MessageCode::CHECKSUM_TEST_FAILED,
+    MessageCode::SIZE_TEST_FAILED,
+    MessageCode::CANNOT_CREATE_PARENT_FOLDER,
+    MessageCode::FILE_HAS_NOT_BEEN_UPLOAED,
+    MessageCode::CANNOT_MOVE_FILE_TO_TARGET_PATH,
+    MessageCode::CANNOT_PARSE_DATETIME_VALUE,
+    MessageCode::CANNOT_PARSE_DOUBLE_VALUE,
+    MessageCode::CANNOT_PARSE_INT_VALUE,
+    MessageCode::CANNOT_PARSE_BOOL_VALUE,
+    MessageCode::FILE_NOT_FOUND,
+    MessageCode::WARNING_OCCURED,
+    MessageCode::ENTITY_NAME_IS_NOT_UNIQUE,
+    MessageCode::QUERY_EXCEPTION,
+    MessageCode::TRANSACTION_ROLL_BACK,
+    MessageCode::UNKNOWN_UNIT,
+    MessageCode::AUTHORIZATION_ERROR,
+    MessageCode::REFERENCE_IS_NOT_ALLOWED_BY_DATA_TYPE,
+    MessageCode::ENTITY_NAME_DUPLICATES,
+    MessageCode::DATA_TYPE_NAME_DUPLICATES,
+    MessageCode::ENTITY_HAS_NO_NAME_OR_ID,
+    MessageCode::AFFILIATION_ERROR,
+    MessageCode::QUERY_PARSING_ERROR,
+    MessageCode::NAME_PROPERTIES_MUST_BE_TEXT,
+    MessageCode::PARENT_DUPLICATES_WARNING,
+    MessageCode::PARENT_DUPLICATES_ERROR,
+    MessageCode::ATOMICITY_ERROR,
+    MessageCode::NO_SUCH_ENTITY_ROLE,
+    MessageCode::REQUIRED_BY_UNQUALIFIED,
+    MessageCode::ENTITY_HAS_UNQUALIFIED_REFERENCE,
+    MessageCode::REFERENCED_ENTITY_DOES_NOT_EXIST,
+    MessageCode::REFERENCE_NAME_DUPLICATES,
+    MessageCode::DATA_TYPE_INHERITANCE_AMBIGUOUS,
+    MessageCode::DATA_TYPE_DOES_NOT_ACCEPT_COLLECTION_VALUES,
+    MessageCode::CANNOT_PARSE_UNIT,
+    MessageCode::ADDITIONAL_PROPERTY,
+    MessageCode::PROPERTY_WITH_DATA_TYPE_OVERRIDE,
+    MessageCode::PROPERTY_WITH_DESCRIPTION_OVERRIDE,
+    MessageCode::PROPERTY_WITH_NAME_OVERRIDE,
+    MessageCode::INTEGER_VALUE_OUT_OF_RANGE,
+    MessageCode::INTEGRITY_VIOLATION,
   };
 
   for (MessageCode known_code : all_codes) {
-    if (known_code == code) {
+    if (static_cast<int>(known_code) == code) {
       return known_code;
     }
   }
diff --git a/include/caosdb/transaction.h b/include/caosdb/transaction.h
index 634c7a0d01b613e4fb6ad4d56e037693d9abc2c2..b93be12f37e2e43a395de6c376b13d61f4195cff 100644
--- a/include/caosdb/transaction.h
+++ b/include/caosdb/transaction.h
@@ -22,8 +22,8 @@
 #define CAOSDB_TRANSACTION_H
 
 #include "caosdb/entity.h"                            // for Entity, FileDe...
-#include "caosdb/entity/v1alpha1/main.grpc.pb.h"      // for EntityTransact...
-#include "caosdb/entity/v1alpha1/main.pb.h"           // for MultiTransacti...
+#include "caosdb/entity/v1/main.grpc.pb.h"            // for EntityTransact...
+#include "caosdb/entity/v1/main.pb.h"                 // for MultiTransacti...
 #include "caosdb/handler_interface.h"                 // for HandlerInterface
 #include "caosdb/transaction_handler.h"               // for EntityTransactionHandler
 #include "caosdb/logging.h"                           // for CAOSDB_LOG_ERR...
@@ -163,22 +163,21 @@
 namespace caosdb::transaction {
 using caosdb::entity::Entity;
 using caosdb::entity::FileDescriptor;
-using caosdb::entity::v1alpha1::EntityResponse;
-using caosdb::entity::v1alpha1::EntityTransactionService;
-using caosdb::entity::v1alpha1::FileDownloadRequest;
-using caosdb::entity::v1alpha1::FileDownloadResponse;
-using caosdb::entity::v1alpha1::FileTransmissionId;
-using caosdb::entity::v1alpha1::FileTransmissionService;
-using caosdb::entity::v1alpha1::FileUploadRequest;
-using caosdb::entity::v1alpha1::FileUploadResponse;
-using caosdb::entity::v1alpha1::IdResponse;
-using caosdb::entity::v1alpha1::MultiTransactionRequest;
-using caosdb::entity::v1alpha1::MultiTransactionResponse;
-using caosdb::entity::v1alpha1::RegisterFileUploadRequest;
-using caosdb::entity::v1alpha1::RegisterFileUploadResponse;
+using caosdb::entity::v1::EntityResponse;
+using caosdb::entity::v1::EntityTransactionService;
+using caosdb::entity::v1::FileDownloadRequest;
+using caosdb::entity::v1::FileDownloadResponse;
+using caosdb::entity::v1::FileTransmissionId;
+using caosdb::entity::v1::FileTransmissionService;
+using caosdb::entity::v1::FileUploadRequest;
+using caosdb::entity::v1::FileUploadResponse;
+using caosdb::entity::v1::IdResponse;
+using caosdb::entity::v1::MultiTransactionRequest;
+using caosdb::entity::v1::MultiTransactionResponse;
+using caosdb::entity::v1::RegisterFileUploadRequest;
+using caosdb::entity::v1::RegisterFileUploadResponse;
 using caosdb::transaction::TransactionStatus;
-using TransactionResponseCase =
-  caosdb::entity::v1alpha1::TransactionResponse::TransactionResponseCase;
+using TransactionResponseCase = caosdb::entity::v1::TransactionResponse::TransactionResponseCase;
 using caosdb::utility::get_arena;
 using google::protobuf::Arena;
 
diff --git a/include/caosdb/transaction_handler.h b/include/caosdb/transaction_handler.h
index 18cb5fcfcaa87a924ff0f36b0c5356d10fc9f70b..6fa386be32628d5d0ae80a90dda1e1293d1eae70 100644
--- a/include/caosdb/transaction_handler.h
+++ b/include/caosdb/transaction_handler.h
@@ -1,6 +1,6 @@
 #pragma once
-#include "caosdb/entity/v1alpha1/main.grpc.pb.h"  // for FileTransmissionS...
-#include "caosdb/entity/v1alpha1/main.pb.h"       // for FileDownloadResponse
+#include "caosdb/entity/v1/main.grpc.pb.h"        // for FileTransmissionS...
+#include "caosdb/entity/v1/main.pb.h"             // for FileDownloadResponse
 #include "caosdb/handler_interface.h"             // for HandlerTag
 #include "caosdb/unary_rpc_handler.h"             // for HandlerTag, Handl...
 #include <grpcpp/impl/codegen/async_unary_call.h> // for ClientAsyncRespons...
@@ -9,9 +9,9 @@
 
 namespace caosdb::transaction {
 
-using caosdb::entity::v1alpha1::EntityTransactionService;
-using caosdb::entity::v1alpha1::MultiTransactionRequest;
-using caosdb::entity::v1alpha1::MultiTransactionResponse;
+using caosdb::entity::v1::EntityTransactionService;
+using caosdb::entity::v1::MultiTransactionRequest;
+using caosdb::entity::v1::MultiTransactionResponse;
 
 class EntityTransactionHandler final : public UnaryRpcHandler {
 public:
diff --git a/include/caosdb/value.h b/include/caosdb/value.h
index 8296be311a8262339b58de06d49940100fc183f3..a92847a82d3cd15ad2dda61e64c6843b99ac6d75 100644
--- a/include/caosdb/value.h
+++ b/include/caosdb/value.h
@@ -21,14 +21,14 @@
 
 #ifndef CAOSDB_VALUE_H
 #define CAOSDB_VALUE_H
-#include "caosdb/protobuf_helper.h"         // for ProtoMessageWrapper
-#include "caosdb/entity/v1alpha1/main.pb.h" // for RepeatedPtrField, Message
-#include <cstdint>                          // for int64_t
-#include <google/protobuf/arena.h>          // for Arena
-#include <memory>                           // for unique_ptr
-#include <string>                           // for string, operator==
-#include <utility>                          // for move
-#include <vector>                           // for vector
+#include "caosdb/protobuf_helper.h"   // for ProtoMessageWrapper
+#include "caosdb/entity/v1/main.pb.h" // for RepeatedPtrField, Message
+#include <cstdint>                    // for int64_t
+#include <google/protobuf/arena.h>    // for Arena
+#include <memory>                     // for unique_ptr
+#include <string>                     // for string, operator==
+#include <utility>                    // for move
+#include <vector>                     // for vector
 
 #define LIST_VALUE_CONSTRUCTOR(TYPE, SETTER)                                                       \
   explicit inline Value(const std::vector<TYPE> &values)                                           \
@@ -43,11 +43,11 @@ using caosdb::utility::get_arena;
 using caosdb::utility::ProtoMessageWrapper;
 using caosdb::utility::ScalarProtoMessageWrapper;
 using google::protobuf::Arena;
-using ProtoSpecialValue = caosdb::entity::v1alpha1::SpecialValue;
-using ProtoValue = caosdb::entity::v1alpha1::Value;
-using ProtoScalarValue = caosdb::entity::v1alpha1::ScalarValue;
-using ValueCase = caosdb::entity::v1alpha1::Value::ValueCase;
-using ScalarValueCase = caosdb::entity::v1alpha1::ScalarValue::ScalarValueCase;
+using ProtoSpecialValue = caosdb::entity::v1::SpecialValue;
+using ProtoValue = caosdb::entity::v1::Value;
+using ProtoScalarValue = caosdb::entity::v1::ScalarValue;
+using ValueCase = caosdb::entity::v1::Value::ValueCase;
+using ScalarValueCase = caosdb::entity::v1::ScalarValue::ScalarValueCase;
 
 class ScalarValue;
 class Value;
diff --git a/proto b/proto
index 73d85fb20bb16902c0a89dda697eed17994712bc..533c8e7341d0659e3cc43d834793a7a965703f55 160000
--- a/proto
+++ b/proto
@@ -1 +1 @@
-Subproject commit 73d85fb20bb16902c0a89dda697eed17994712bc
+Subproject commit 533c8e7341d0659e3cc43d834793a7a965703f55
diff --git a/src/caosdb/connection.cpp b/src/caosdb/connection.cpp
index fcf4b119f5dcf4dacf268fd3d6c19f9b036b93fe..28a8a125ab887ca3e8b26105f59b63e8b4932811 100644
--- a/src/caosdb/connection.cpp
+++ b/src/caosdb/connection.cpp
@@ -23,8 +23,8 @@
 #include "caosdb/configuration.h"                 // for ConnectionConfigur...
 #include "caosdb/exceptions.h"                    // for ConfigurationError
 #include "caosdb/info.h"                          // for VersionInfo
-#include "caosdb/info/v1alpha1/main.grpc.pb.h"    // for GeneralInfoService
-#include "caosdb/info/v1alpha1/main.pb.h"         // for GetVersionInfoRequest
+#include "caosdb/info/v1/main.grpc.pb.h"          // for GeneralInfoService
+#include "caosdb/info/v1/main.pb.h"               // for GetVersionInfoRequest
 #include "caosdb/protobuf_helper.h"               // for get_arena
 #include "caosdb/transaction.h"                   // for Transaction
 #include "caosdb/transaction_status.h"            // for TransactionStatus
@@ -38,12 +38,12 @@
 namespace caosdb::connection {
 using caosdb::configuration::ConfigurationManager;
 using caosdb::configuration::ConnectionConfiguration;
-using caosdb::entity::v1alpha1::EntityTransactionService;
-using caosdb::entity::v1alpha1::FileTransmissionService;
+using caosdb::entity::v1::EntityTransactionService;
+using caosdb::entity::v1::FileTransmissionService;
 using caosdb::info::VersionInfo;
-using caosdb::info::v1alpha1::GeneralInfoService;
-using caosdb::info::v1alpha1::GetVersionInfoRequest;
-using caosdb::info::v1alpha1::GetVersionInfoResponse;
+using caosdb::info::v1::GeneralInfoService;
+using caosdb::info::v1::GetVersionInfoRequest;
+using caosdb::info::v1::GetVersionInfoResponse;
 using caosdb::transaction::Transaction;
 using caosdb::transaction::TransactionStatus;
 using caosdb::utility::get_arena;
diff --git a/src/caosdb/entity.cpp b/src/caosdb/entity.cpp
index a3872e4cb2be380adca644b7c7a109c0fec2b3c2..127d5b4e41ef5b859bbb17d5ebcec1b2c678fa43 100644
--- a/src/caosdb/entity.cpp
+++ b/src/caosdb/entity.cpp
@@ -20,21 +20,21 @@
  *
  */
 #include "caosdb/entity.h"
-#include "caosdb/data_type.h"               // for DataType
-#include "caosdb/entity/v1alpha1/main.pb.h" // for Messages
-#include "caosdb/protobuf_helper.h"         // for get_arena
-#include "caosdb/value.h"                   // for Value
-#include <google/protobuf/arena.h>          // for Arena
-#include <new>                              // for operator new
+#include "caosdb/data_type.h"         // for DataType
+#include "caosdb/entity/v1/main.pb.h" // for Messages
+#include "caosdb/protobuf_helper.h"   // for get_arena
+#include "caosdb/value.h"             // for Value
+#include <google/protobuf/arena.h>    // for Arena
+#include <new>                        // for operator new
 
 namespace caosdb::entity {
-using ProtoParent = caosdb::entity::v1alpha1::Parent;
-using ProtoProperty = caosdb::entity::v1alpha1::Property;
-using ProtoEntity = caosdb::entity::v1alpha1::Entity;
-using ProtoImportance = caosdb::entity::v1alpha1::Importance;
-using caosdb::entity::v1alpha1::EntityRole;
-using ProtoMessage = caosdb::entity::v1alpha1::Message;
-using ProtoFileDescriptor = caosdb::entity::v1alpha1::FileDescriptor;
+using ProtoParent = caosdb::entity::v1::Parent;
+using ProtoProperty = caosdb::entity::v1::Property;
+using ProtoEntity = caosdb::entity::v1::Entity;
+using ProtoImportance = caosdb::entity::v1::Importance;
+using caosdb::entity::v1::EntityRole;
+using ProtoMessage = caosdb::entity::v1::Message;
+using ProtoFileDescriptor = caosdb::entity::v1::FileDescriptor;
 using caosdb::utility::get_arena;
 using google::protobuf::Arena;
 
diff --git a/src/caosdb/logging.cpp b/src/caosdb/logging.cpp
index c684862d17291c328e3a8d7856b82df1eb507001..9eebf8be70e02357e49aaa2cd18e65136a2c589d 100644
--- a/src/caosdb/logging.cpp
+++ b/src/caosdb/logging.cpp
@@ -44,9 +44,7 @@
 #include <utility> // for move
 #include <vector>
 
-void __attribute__((constructor)) startup() {
-  std::cout << "LOADING CAOSDB" << std::endl;
-}
+void __attribute__((constructor)) startup() { std::cout << "LOADING CAOSDB" << std::endl; }
 void __attribute__((destructor)) shutdown() {
   std::cout << "UNLOADING CAOSDB" << std::endl;
   caosdb::logging::logger::destroy();
diff --git a/src/caosdb/transaction.cpp b/src/caosdb/transaction.cpp
index d315bf890fdaf5d2382f4fe2b3d2e57ba3a57bc2..ba17a05bc0f71bdc810fbbe7179a116c30ff3a81 100644
--- a/src/caosdb/transaction.cpp
+++ b/src/caosdb/transaction.cpp
@@ -18,8 +18,8 @@
  *
  */
 #include "caosdb/transaction.h"
-#include "caosdb/entity/v1alpha1/main.grpc.pb.h"                   // for EntityTransac...
-#include "caosdb/entity/v1alpha1/main.pb.h"                        // for TransactionRe...
+#include "caosdb/entity/v1/main.grpc.pb.h"                         // for EntityTransac...
+#include "caosdb/entity/v1/main.pb.h"                              // for TransactionRe...
 #include "caosdb/file_transmission/download_request_handler.h"     // Download...
 #include "caosdb/file_transmission/file_reader.h"                  // for path
 #include "caosdb/file_transmission/register_file_upload_handler.h" // for RegisterFileUploadHandler
@@ -45,17 +45,16 @@
 #include <utility>                                // for move, pair
 
 namespace caosdb::transaction {
-using caosdb::entity::v1alpha1::EntityTransactionService;
-using caosdb::entity::v1alpha1::FileTransmissionService;
-using caosdb::entity::v1alpha1::MultiTransactionRequest;
-using caosdb::entity::v1alpha1::MultiTransactionResponse;
-using TransactionResponseCase =
-  caosdb::entity::v1alpha1::TransactionResponse::TransactionResponseCase;
-using RetrieveResponseCase = caosdb::entity::v1alpha1::RetrieveResponse::RetrieveResponseCase;
-using ProtoEntity = caosdb::entity::v1alpha1::Entity;
+using caosdb::entity::v1::EntityTransactionService;
+using caosdb::entity::v1::FileTransmissionService;
+using caosdb::entity::v1::MultiTransactionRequest;
+using caosdb::entity::v1::MultiTransactionResponse;
+using TransactionResponseCase = caosdb::entity::v1::TransactionResponse::TransactionResponseCase;
+using RetrieveResponseCase = caosdb::entity::v1::RetrieveResponse::RetrieveResponseCase;
+using ProtoEntity = caosdb::entity::v1::Entity;
 using google::protobuf::Arena;
 using NextStatus = grpc::CompletionQueue::NextStatus;
-using RegistrationStatus = caosdb::entity::v1alpha1::RegistrationStatus;
+using RegistrationStatus = caosdb::entity::v1::RegistrationStatus;
 
 ResultSet::iterator::iterator(const ResultSet *result_set_param, int index)
   : current_index(index), result_set(result_set_param) {}
diff --git a/test/test_data_type.cpp b/test/test_data_type.cpp
index b1e714d705b23dcaef6354e17cf94e411f1d8335..c846dceb5ca196db3b58a5aae901f735ee9dc3f2 100644
--- a/test/test_data_type.cpp
+++ b/test/test_data_type.cpp
@@ -22,7 +22,7 @@
 
 #include "caosdb/data_type.h"                          // for DataType, AtomicDataType
 #include "caosdb/entity.h"                             // for Entity
-#include "caosdb/entity/v1alpha1/main.pb.h"            // for DataType, Ato...
+#include "caosdb/entity/v1/main.pb.h"                  // for DataType, Ato...
 #include "caosdb/logging.h"                            // for CAOSDB_LOG_DEBUG
 #include "caosdb/protobuf_helper.h"                    // for CAOSDB_DEBUG_...
 #include <boost/log/core/record.hpp>                   // for record
@@ -39,10 +39,10 @@
 #include <utility>                                     // for pair
 
 namespace caosdb::entity {
-using ProtoEntity = caosdb::entity::v1alpha1::Entity;
-using ProtoParent = caosdb::entity::v1alpha1::Parent;
-using ProtoDataType = caosdb::entity::v1alpha1::DataType;
-using ProtoAtomicDataType = caosdb::entity::v1alpha1::AtomicDataType;
+using ProtoEntity = caosdb::entity::v1::Entity;
+using ProtoParent = caosdb::entity::v1::Parent;
+using ProtoDataType = caosdb::entity::v1::DataType;
+using ProtoAtomicDataType = caosdb::entity::v1::AtomicDataType;
 
 TEST(test_data_type, test_atomic) {
   ProtoDataType proto_data_type;
diff --git a/test/test_entity.cpp b/test/test_entity.cpp
index 27b6025b6e9534850daea9e01ea58977d6235ba2..8937d19e9a2cc5ba95165aaf404e0c225ee522bf 100644
--- a/test/test_entity.cpp
+++ b/test/test_entity.cpp
@@ -20,35 +20,35 @@
  * along with this program. If not, see <https://www.gnu.org/licenses/>.
  *
  */
-#include "caosdb/data_type.h"                    // for DataType, AtomicDat...
-#include "caosdb/entity.h"                       // for Entity, Property
-#include "caosdb/entity/v1alpha1/main.grpc.pb.h" // for EntityTransactionSe...
-#include "caosdb/entity/v1alpha1/main.pb.h"      // for IdResponse, Message
-#include "caosdb/message_code.h"                 // for MessageCode, ENTITY...
-#include "caosdb/protobuf_helper.h"              // for get_arena
-#include "caosdb/status_code.h"                  // for StatusCode, FILE_DO...
-#include "caosdb/transaction.h"                  // for Transaction
-#include "caosdb/value.h"                        // for Value
-#include "caosdb_test_utility.h"                 // for TEST_DATA_DIR
-#include <google/protobuf/arena.h>               // for Arena
-#include <gtest/gtest-message.h>                 // for Message
-#include <gtest/gtest-test-part.h>               // for TestPartResult, Sui...
-#include <gtest/gtest_pred_impl.h>               // for Test, EXPECT_EQ
-#include <iostream>                              // for operator<<, basic_o...
-#include <memory>                                // for allocator, shared_ptr
-#include <stdexcept>                             // for out_of_range
-#include <string>                                // for operator+, to_string
-#include <utility>                               // for move
+#include "caosdb/data_type.h"              // for DataType, AtomicDat...
+#include "caosdb/entity.h"                 // for Entity, Property
+#include "caosdb/entity/v1/main.grpc.pb.h" // for EntityTransactionSe...
+#include "caosdb/entity/v1/main.pb.h"      // for IdResponse, Message
+#include "caosdb/message_code.h"           // for MessageCode, ENTITY...
+#include "caosdb/protobuf_helper.h"        // for get_arena
+#include "caosdb/status_code.h"            // for StatusCode, FILE_DO...
+#include "caosdb/transaction.h"            // for Transaction
+#include "caosdb/value.h"                  // for Value
+#include "caosdb_test_utility.h"           // for TEST_DATA_DIR
+#include <google/protobuf/arena.h>         // for Arena
+#include <gtest/gtest-message.h>           // for Message
+#include <gtest/gtest-test-part.h>         // for TestPartResult, Sui...
+#include <gtest/gtest_pred_impl.h>         // for Test, EXPECT_EQ
+#include <iostream>                        // for operator<<, basic_o...
+#include <memory>                          // for allocator, shared_ptr
+#include <stdexcept>                       // for out_of_range
+#include <string>                          // for operator+, to_string
+#include <utility>                         // for move
 
 namespace caosdb::entity {
-using caosdb::entity::v1alpha1::IdResponse;
-using ProtoEntity = caosdb::entity::v1alpha1::Entity;
-using ProtoParent = caosdb::entity::v1alpha1::Parent;
-using ProtoProperty = caosdb::entity::v1alpha1::Property;
-using ProtoAtomicDataType = caosdb::entity::v1alpha1::AtomicDataType;
-using caosdb::entity::v1alpha1::EntityResponse;
+using caosdb::entity::v1::IdResponse;
+using ProtoEntity = caosdb::entity::v1::Entity;
+using ProtoParent = caosdb::entity::v1::Parent;
+using ProtoProperty = caosdb::entity::v1::Property;
+using ProtoAtomicDataType = caosdb::entity::v1::AtomicDataType;
+using caosdb::entity::v1::EntityResponse;
 using caosdb::utility::get_arena;
-using ProtoEntityRole = caosdb::entity::v1alpha1::EntityRole;
+using ProtoEntityRole = caosdb::entity::v1::EntityRole;
 
 TEST(test_entity, test_parent_setters) {
   auto parent = Parent();
diff --git a/test/test_info.cpp b/test/test_info.cpp
index a95870200ac51343f86b7bb5ff4c0c433d692f0c..4331219ab02ae5c60e165bee7992c6466d4889f2 100644
--- a/test/test_info.cpp
+++ b/test/test_info.cpp
@@ -20,15 +20,15 @@
  *
  */
 
-#include "caosdb/info.h"                  // for VersionInfo
-#include "caosdb/info/v1alpha1/main.pb.h" // for VersionInfo
-#include <gtest/gtest-message.h>          // for Message
-#include <gtest/gtest-test-part.h>        // for TestPartResult, SuiteApiRe...
-#include "gtest/gtest_pred_impl.h"        // for Test, EXPECT_EQ, TEST
-#include <memory>                         // for allocator
+#include "caosdb/info.h"            // for VersionInfo
+#include "caosdb/info/v1/main.pb.h" // for VersionInfo
+#include <gtest/gtest-message.h>    // for Message
+#include <gtest/gtest-test-part.h>  // for TestPartResult, SuiteApiRe...
+#include "gtest/gtest_pred_impl.h"  // for Test, EXPECT_EQ, TEST
+#include <memory>                   // for allocator
 
 namespace caosdb::info {
-using ProtoVersionInfo = caosdb::info::v1alpha1::VersionInfo;
+using ProtoVersionInfo = caosdb::info::v1::VersionInfo;
 
 TEST(test_info, create_info_from_proto_info) {
   auto *origial = new ProtoVersionInfo();
diff --git a/test/test_list_properties.cpp b/test/test_list_properties.cpp
index bc82896f5e7623643cb249979f381f3a7097d40d..8e69ba381c20808fa4112eca06270c8bda5fa351 100644
--- a/test/test_list_properties.cpp
+++ b/test/test_list_properties.cpp
@@ -20,23 +20,23 @@
  *
  */
 
-#include "caosdb/data_type.h"               // for DataType, AtomicDataType
-#include "caosdb/entity.h"                  // for Entity
-#include "caosdb/entity/v1alpha1/main.pb.h" // for AtomicDataType, DataType
-#include "caosdb/value.h"                   // for Value
-#include <cstdint>                          // for int64_t
-#include <gtest/gtest-message.h>            // for Message
-#include <gtest/gtest-test-part.h>          // for TestPartResult, SuiteApi...
-#include <gtest/gtest_pred_impl.h>          // for AssertionResult, Test
-#include <memory>                           // for allocator_traits<>::valu...
-#include <string>                           // for string
-#include <vector>                           // for vector
+#include "caosdb/data_type.h"         // for DataType, AtomicDataType
+#include "caosdb/entity.h"            // for Entity
+#include "caosdb/entity/v1/main.pb.h" // for AtomicDataType, DataType
+#include "caosdb/value.h"             // for Value
+#include <cstdint>                    // for int64_t
+#include <gtest/gtest-message.h>      // for Message
+#include <gtest/gtest-test-part.h>    // for TestPartResult, SuiteApi...
+#include <gtest/gtest_pred_impl.h>    // for AssertionResult, Test
+#include <memory>                     // for allocator_traits<>::valu...
+#include <string>                     // for string
+#include <vector>                     // for vector
 
 namespace caosdb::entity {
-using ProtoEntity = caosdb::entity::v1alpha1::Entity;
-using ProtoParent = caosdb::entity::v1alpha1::Parent;
-using ProtoDataType = caosdb::entity::v1alpha1::DataType;
-using ProtoAtomicDataType = caosdb::entity::v1alpha1::AtomicDataType;
+using ProtoEntity = caosdb::entity::v1::Entity;
+using ProtoParent = caosdb::entity::v1::Parent;
+using ProtoDataType = caosdb::entity::v1::DataType;
+using ProtoAtomicDataType = caosdb::entity::v1::AtomicDataType;
 
 TEST(test_list_property, test_list_of_text) {
   Property list_property;
diff --git a/test/test_protobuf.cpp b/test/test_protobuf.cpp
index 8dde7fe056048f9f91d0c9a7a9d209af3263ae32..42e1e574437e47f0129cb30b336ab336613daede 100644
--- a/test/test_protobuf.cpp
+++ b/test/test_protobuf.cpp
@@ -19,20 +19,20 @@
  * along with this program. If not, see <https://www.gnu.org/licenses/>.
  *
  */
-#include "caosdb/data_type.h"               // for DataType, ReferenceDataType
-#include "caosdb/entity.h"                  // for Entity
-#include "caosdb/entity/v1alpha1/main.pb.h" // for RepeatedPtrField, Message
-#include <google/protobuf/arena.h>          // for Arena
-#include <gtest/gtest-message.h>            // for Message
-#include <gtest/gtest-test-part.h>          // for SuiteApiResolver, TestPa...
-#include <gtest/gtest_pred_impl.h>          // for Test, TestInfo, TEST
-#include <memory>                           // for allocator
+#include "caosdb/data_type.h"         // for DataType, ReferenceDataType
+#include "caosdb/entity.h"            // for Entity
+#include "caosdb/entity/v1/main.pb.h" // for RepeatedPtrField, Message
+#include <google/protobuf/arena.h>    // for Arena
+#include <gtest/gtest-message.h>      // for Message
+#include <gtest/gtest-test-part.h>    // for SuiteApiResolver, TestPa...
+#include <gtest/gtest_pred_impl.h>    // for Test, TestInfo, TEST
+#include <memory>                     // for allocator
 
 namespace caosdb {
-using google::protobuf::Arena;
-using ProtoEntity = caosdb::entity::v1alpha1::Entity;
+using ProtoEntity = caosdb::entity::v1::Entity;
 using caosdb::entity::Entity;
-using caosdb::entity::v1alpha1::Message;
+using caosdb::entity::v1::Message;
+using google::protobuf::Arena;
 
 TEST(test_protobuf, test_swap_trivial) {
   Arena arena;
diff --git a/test/test_transaction.cpp b/test/test_transaction.cpp
index 34c33d6560bfa68c5510055b23f7daedb29e734a..ac0934f10563f0fdb2c5145fe88ab6c2fdb0c5ca 100644
--- a/test/test_transaction.cpp
+++ b/test/test_transaction.cpp
@@ -17,11 +17,11 @@
  * You should have received a copy of the GNU Affero General Public License
  * along with this program. If not, see <https://www.gnu.org/licenses/>.
  */
-#include "caosdb/configuration.h"           // for InsecureConnectionConfig...
-#include "caosdb/connection.h"              // for Connection
-#include "caosdb/entity.h"                  // for Entity
-#include "caosdb/entity/v1alpha1/main.pb.h" // for Entity
-#include "caosdb/exceptions.h"              // for ConnectionError
+#include "caosdb/configuration.h"     // for InsecureConnectionConfig...
+#include "caosdb/connection.h"        // for Connection
+#include "caosdb/entity.h"            // for Entity
+#include "caosdb/entity/v1/main.pb.h" // for Entity
+#include "caosdb/exceptions.h"        // for ConnectionError
 #include "caosdb/status_code.h"
 #include "caosdb/transaction.h"         // for Transaction
 #include "caosdb/transaction_handler.h" // for MultiTransactionResponse
@@ -41,9 +41,10 @@ namespace caosdb::transaction {
 using caosdb::configuration::InsecureConnectionConfiguration;
 using caosdb::connection::Connection;
 using caosdb::entity::Entity;
-using caosdb::entity::Role;
-using caosdb::entity::v1alpha1::RetrieveResponse;
 using caosdb::exceptions::ConnectionError;
+using ProtoEntity = caosdb::entity::v1::Entity;
+using caosdb::entity::Role;
+using caosdb::entity::v1::RetrieveResponse;
 
 TEST(test_transaction, create_transaction) {
   const auto *host = "localhost";
diff --git a/test/test_value.cpp b/test/test_value.cpp
index ecf87d01f816048ebce95a0f63262a38fe8c8244..8de10b9051c5ded66f8ea3b4a23581f861a75b8d 100644
--- a/test/test_value.cpp
+++ b/test/test_value.cpp
@@ -20,24 +20,24 @@
  *
  */
 
-#include "caosdb/value.h"                   // for Value
-#include "caosdb/entity/v1alpha1/main.pb.h" // for AtomicDataType, DataType
-#include "caosdb/protobuf_helper.h"         // for ProtoMessageWrapper
-#include <algorithm>                        // for max
-#include <cmath>                            // for isnan
-#include <gtest/gtest-message.h>            // for Message
-#include <gtest/gtest-test-part.h>          // for TestPartResult, SuiteApi...
-#include <gtest/gtest_pred_impl.h>          // for AssertionResult, Test
-#include <initializer_list>                 // for initializer_list
-#include <string>                           // for string, basic_string
-#include <vector>                           // for vector
+#include "caosdb/value.h"             // for Value
+#include "caosdb/entity/v1/main.pb.h" // for AtomicDataType, DataType
+#include "caosdb/protobuf_helper.h"   // for ProtoMessageWrapper
+#include <algorithm>                  // for max
+#include <cmath>                      // for isnan
+#include <gtest/gtest-message.h>      // for Message
+#include <gtest/gtest-test-part.h>    // for TestPartResult, SuiteApi...
+#include <gtest/gtest_pred_impl.h>    // for AssertionResult, Test
+#include <initializer_list>           // for initializer_list
+#include <string>                     // for string, basic_string
+#include <vector>                     // for vector
 
 namespace caosdb::entity {
-using ProtoValue = caosdb::entity::v1alpha1::Value;
-using ProtoEntity = caosdb::entity::v1alpha1::Entity;
-using ProtoParent = caosdb::entity::v1alpha1::Parent;
-using ProtoDataType = caosdb::entity::v1alpha1::DataType;
-using ProtoAtomicDataType = caosdb::entity::v1alpha1::AtomicDataType;
+using ProtoValue = caosdb::entity::v1::Value;
+using ProtoEntity = caosdb::entity::v1::Entity;
+using ProtoParent = caosdb::entity::v1::Parent;
+using ProtoDataType = caosdb::entity::v1::DataType;
+using ProtoAtomicDataType = caosdb::entity::v1::AtomicDataType;
 
 TEST(test_value, test_null) {
   Value value;