diff --git a/include/caosdb/logging.h b/include/caosdb/logging.h
index 94c78ed3d6c303149e755c4aa83e757a04500724..50e61ee9560f885a05b997b16366ff9618eff5fc 100644
--- a/include/caosdb/logging.h
+++ b/include/caosdb/logging.h
@@ -27,7 +27,6 @@
 #include <cstdint>            // for uint64_t
 #include <iosfwd>             // for streamsize
 #include <memory>             // for shared_ptr
-#include <ostream>            // for ostream
 #include <string>             // for string
 #include <vector>             // for vector
 
diff --git a/requirements.txt b/requirements.txt
index d8e16e03704114a053931a52d0a1456f823131ce..2ef354530924d65208089d8825e3a9876f638775 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -2,7 +2,7 @@ bottle==0.12.21
 certifi==2022.6.15
 charset-normalizer==2.1.0
 colorama==0.4.5
-conan==1.51.3
+conan==1.52.0
 distro==1.6.0
 fasteners==0.17.3
 future==0.18.2
diff --git a/src/caosdb/connection.cpp b/src/caosdb/connection.cpp
index abc87dacb054a570540eff7e896eb1058b7b267b..b5219d926cdf609fc10bae4d1225d187b28a5a95 100644
--- a/src/caosdb/connection.cpp
+++ b/src/caosdb/connection.cpp
@@ -25,18 +25,17 @@
 #include "caosdb/acm/v1alpha1/main.grpc.pb.h" // for AccessControlMan...
 #include "caosdb/acm/v1alpha1/main.pb.h"      // for CreateSingleUser...
 #endif
-#include "caosdb/configuration.h"            // for ConnectionConfigur...
-#include "caosdb/exceptions.h"               // for ConfigurationError
-#include "caosdb/info.h"                     // for VersionInfo
-#include "caosdb/info/v1/main.grpc.pb.h"     // for GeneralInfoService
-#include "caosdb/info/v1/main.pb.h"          // for GetVersionInfoRequest
-#include "caosdb/transaction.h"              // for Transaction
-#include "caosdb/transaction_status.h"       // for TransactionStatus
-#include <grpcpp/client_context.h>           // for ClientContext
-#include <grpcpp/create_channel.h>           // for CreateChannel
-#include <grpcpp/support/status.h>           // for Status
-#include <grpcpp/support/status_code_enum.h> // for StatusCode, UNAUTHENTIC...
-#include <string>                            // for string, operator+
+#include "caosdb/configuration.h"        // for ConnectionConfigur...
+#include "caosdb/exceptions.h"           // for ConfigurationError
+#include "caosdb/info.h"                 // for VersionInfo
+#include "caosdb/info/v1/main.grpc.pb.h" // for GeneralInfoService
+#include "caosdb/info/v1/main.pb.h"      // for GetVersionInfoRequest
+#include "caosdb/transaction.h"          // for Transaction
+#include "caosdb/transaction_status.h"   // for TransactionStatus
+#include <grpcpp/client_context.h>       // for ClientContext
+#include <grpcpp/create_channel.h>       // for CreateChannel
+#include <grpcpp/support/status.h>       // for Status
+#include <string>                        // for string, operator+
 // IWYU pragma: no_include "net/proto2/public/repeated_field.h"
 
 namespace caosdb::connection {
diff --git a/src/caosdb/file_transmission/download_request_handler.cpp b/src/caosdb/file_transmission/download_request_handler.cpp
index 821ed79477045f4e3bf49c061cfac622b814700d..2415a143fb514e8ab5dfb81e2de9c9ebadc1c704 100644
--- a/src/caosdb/file_transmission/download_request_handler.cpp
+++ b/src/caosdb/file_transmission/download_request_handler.cpp
@@ -47,21 +47,20 @@
  * > DEALINGS IN THE SOFTWARE.
  */
 #include "caosdb/file_transmission/download_request_handler.h"
-#include "caosdb/logging.h"                  // for CAOSDB_LOG_TRACE
-#include "caosdb/protobuf_helper.h"          // for get_arena
-#include "caosdb/status_code.h"              // for GENERIC_RPC_E...
-#include "caosdb/transaction_status.h"       // for TransactionStatus
-#include <exception>                         // IWYU pragma: keep
-#include <filesystem>                        // for operator<<, path
-#include <google/protobuf/arena.h>           // for Arena
-#include <grpcpp/client_context.h>           // for ClientContext
-#include <grpcpp/completion_queue.h>         // for CompletionQueue
-#include <grpcpp/support/async_stream.h>     // for ClientAsyncReader
-#include <grpcpp/support/status.h>           // for Status
-#include <grpcpp/support/status_code_enum.h> // for OK
-#include <stdexcept>                         // for runtime_error
-#include <string>                            // for string, opera...
-#include <utility>                           // for move
+#include "caosdb/logging.h"              // for CAOSDB_LOG_TRACE
+#include "caosdb/protobuf_helper.h"      // for get_arena
+#include "caosdb/status_code.h"          // for GENERIC_RPC_E...
+#include "caosdb/transaction_status.h"   // for TransactionStatus
+#include <exception>                     // IWYU pragma: keep
+#include <filesystem>                    // for operator<<, path
+#include <google/protobuf/arena.h>       // for Arena
+#include <grpcpp/client_context.h>       // for ClientContext
+#include <grpcpp/completion_queue.h>     // for CompletionQueue
+#include <grpcpp/support/async_stream.h> // for ClientAsyncReader
+#include <grpcpp/support/status.h>       // for Status
+#include <stdexcept>                     // for runtime_error
+#include <string>                        // for string, opera...
+#include <utility>                       // for move
 // IWYU pragma: no_include <bits/exception.h>
 //
 namespace caosdb::transaction {
diff --git a/src/caosdb/file_transmission/upload_request_handler.cpp b/src/caosdb/file_transmission/upload_request_handler.cpp
index 32bb8132e0b4a966774c5f8111800151895b6ced..d307e8e872ab7bf49a375915f755f2e1a6b100b0 100644
--- a/src/caosdb/file_transmission/upload_request_handler.cpp
+++ b/src/caosdb/file_transmission/upload_request_handler.cpp
@@ -57,7 +57,6 @@
 #include <filesystem>                        // for operator<<, path
 #include <google/protobuf/arena.h>           // for Arena
 #include <grpcpp/impl/codegen/call_op_set.h> // for WriteOptions
-#include <grpcpp/support/status_code_enum.h> // for OK
 #include <string>                            // for basic_string
 #include <utility>                           // for move
 // IWYU pragma: no_include <bits/exception.h>
diff --git a/src/caosdb/transaction.cpp b/src/caosdb/transaction.cpp
index c75fdeb7fcf5b1a5854464dcabf76c11bb5a4262..9da3716ab3995e6fcb08c93f95ea1b2cfa1e438c 100644
--- a/src/caosdb/transaction.cpp
+++ b/src/caosdb/transaction.cpp
@@ -32,7 +32,7 @@
 #include <filesystem>                                              // for operator<<, path
 #include <future>                                                  // for async, future
 #include <google/protobuf/arena.h>                                 // for Arena
-#include <grpc/impl/codegen/gpr_types.h>                           // for gpr_timespec
+#include <grpc/grpc.h>                                             // for gpr_timespec
 #include <map>                                                     // for map, operator!=
 #include <memory>                                                  // for unique_ptr
 #include <random>                                                  // for mt19937, rand...
diff --git a/src/caosdb/unary_rpc_handler.cpp b/src/caosdb/unary_rpc_handler.cpp
index 06afc127cecea22b1b805d20a68eab177841e981..e68afc89eb193f21a05f16b992e75f9d538915d5 100644
--- a/src/caosdb/unary_rpc_handler.cpp
+++ b/src/caosdb/unary_rpc_handler.cpp
@@ -47,11 +47,10 @@
  * > DEALINGS IN THE SOFTWARE.
  */
 #include "caosdb/unary_rpc_handler.h"
-#include "caosdb/logging.h"                  // for CAOSDB_LOG_TRACE
-#include "caosdb/status_code.h"              // for GENERIC_RPC_E...
-#include <exception>                         // IWYU pragma: keep
-#include <grpcpp/support/status_code_enum.h> // for OK
-#include <string>                            // for string, opera...
+#include "caosdb/logging.h"     // for CAOSDB_LOG_TRACE
+#include "caosdb/status_code.h" // for GENERIC_RPC_E...
+#include <exception>            // IWYU pragma: keep
+#include <string>               // for string, opera...
 // IWYU pragma: no_include <bits/exception.h>
 
 namespace caosdb::transaction {
diff --git a/test/test_transaction.cpp b/test/test_transaction.cpp
index e710b6c775615968b567b6efa64ba76e56717c69..63d9cde77026fb00c9fcbdc5fae52a1676ef9cb9 100644
--- a/test/test_transaction.cpp
+++ b/test/test_transaction.cpp
@@ -55,7 +55,7 @@ TEST(test_transaction, create_transaction) {
   auto transaction = connection.CreateTransaction();
 
   ASSERT_EQ(StatusCode::GO_ON, transaction->RetrieveById("100"));
-  EXPECT_THROW_MESSAGE(transaction->Execute(), ConnectionError,
+  EXPECT_THROW_STARTS_WITH(transaction->Execute(), ConnectionError,
                        "The attempt to execute this transaction was not successful because the "
                        "connection to the server could not be established. "
                        "Original message: failed to connect to all addresses");