diff --git a/include/libcamera/deprecated.h b/include/libcamera/deprecated.h
new file mode 100644
index 000000000000..ba48d5a142dc
--- /dev/null
+++ b/include/libcamera/deprecated.h
@@ -0,0 +1,24 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+/*
+ * Copyright (C) 2023, Ideas on Board Oy.
+ *
+ * deprecated.h - Deprecated API reporting
+ *
+ * Deprecated features of the API will be exposed here for at least one release
+ * iteration to ease reporting of API adjustments for applications.
+ */
+
+#pragma once
+
+namespace libcamera {
+
+/*
+ * Deprectated following v0.0.5
+ *
+ * The use of StreamRoles indicates applications to use dynamic allocations
+ * of the StreamRole when this is not always required.
+ */
+using StreamRoles [[deprecated("Use a span, array or vector directly")]]
+	= std::vector<StreamRole>;
+
+} /* namespace libcamera */
diff --git a/include/libcamera/meson.build b/include/libcamera/meson.build
index 408b7acf152c..2f470d2ac61e 100644
--- a/include/libcamera/meson.build
+++ b/include/libcamera/meson.build
@@ -7,6 +7,7 @@ libcamera_public_headers = files([
     'camera_manager.h',
     'color_space.h',
     'controls.h',
+    'deprecated.h',
     'fence.h',
     'framebuffer.h',
     'framebuffer_allocator.h',
