Merge "docs: Add CHANGELOG for v49" into main
diff --git a/include/perfetto/tracing/track.h b/include/perfetto/tracing/track.h
index 43a8de1..2a85729 100644
--- a/include/perfetto/tracing/track.h
+++ b/include/perfetto/tracing/track.h
@@ -39,6 +39,7 @@
 #include <stdint.h>
 #include <map>
 #include <mutex>
+#include <optional>
 
 namespace perfetto {
 namespace internal {
diff --git a/src/profiling/common/producer_support.cc b/src/profiling/common/producer_support.cc
index 5303658..e9e193d 100644
--- a/src/profiling/common/producer_support.cc
+++ b/src/profiling/common/producer_support.cc
@@ -16,6 +16,7 @@
 
 #include "src/profiling/common/producer_support.h"
 
+#include <algorithm>
 #include <optional>
 
 #include "perfetto/ext/base/android_utils.h"
diff --git a/src/trace_processor/importers/common/tracks.h b/src/trace_processor/importers/common/tracks.h
index 22f0297..aeda1bb 100644
--- a/src/trace_processor/importers/common/tracks.h
+++ b/src/trace_processor/importers/common/tracks.h
@@ -158,7 +158,7 @@
 }
 
 // Indicates that the name of the track was provided in the blueprint.
-constexpr nullptr_t BlueprintName() {
+constexpr std::nullptr_t BlueprintName() {
   return nullptr;
 }
 
@@ -169,7 +169,7 @@
 }
 
 // Indicates that the unit of the track was provided in the blueprint.
-constexpr nullptr_t BlueprintUnit() {
+constexpr std::nullptr_t BlueprintUnit() {
   return nullptr;
 }
 
diff --git a/src/trace_processor/importers/common/tracks_internal.h b/src/trace_processor/importers/common/tracks_internal.h
index 5cc0fa1..680cdfb 100644
--- a/src/trace_processor/importers/common/tracks_internal.h
+++ b/src/trace_processor/importers/common/tracks_internal.h
@@ -42,17 +42,17 @@
 
 struct NameBlueprintT {
   struct Auto {
-    using name_t = nullptr_t;
+    using name_t = std::nullptr_t;
   };
   struct Static {
-    using name_t = nullptr_t;
+    using name_t = std::nullptr_t;
     const char* name;
   };
   struct Dynamic {
     using name_t = StringPool::Id;
   };
   struct FnBase {
-    using name_t = nullptr_t;
+    using name_t = std::nullptr_t;
   };
   template <typename F>
   struct Fn : FnBase {
@@ -84,7 +84,7 @@
 
 struct UnitBlueprintT {
   struct Unknown {
-    using unit_t = nullptr_t;
+    using unit_t = std::nullptr_t;
   };
   struct Static {
     using unit_t = const char*;
diff --git a/src/trace_processor/perfetto_sql/engine/created_function.cc b/src/trace_processor/perfetto_sql/engine/created_function.cc
index 1c01c17..e6cef14 100644
--- a/src/trace_processor/perfetto_sql/engine/created_function.cc
+++ b/src/trace_processor/perfetto_sql/engine/created_function.cc
@@ -109,7 +109,7 @@
   // the destructors run correctly for non-trivial members of the
   // union.
   using Data =
-      std::variant<int64_t, double, OwnedString, OwnedBytes, nullptr_t>;
+      std::variant<int64_t, double, OwnedString, OwnedBytes, std::nullptr_t>;
 
   StoredSqlValue(SqlValue value) {
     switch (value.type) {
@@ -134,7 +134,7 @@
   }
 
   SqlValue AsSqlValue() {
-    if (std::holds_alternative<nullptr_t>(data)) {
+    if (std::holds_alternative<std::nullptr_t>(data)) {
       return SqlValue();
     } else if (std::holds_alternative<int64_t>(data)) {
       return SqlValue::Long(std::get<int64_t>(data));
diff --git a/src/trace_processor/util/regex.h b/src/trace_processor/util/regex.h
index 120e4c9..167af55 100644
--- a/src/trace_processor/util/regex.h
+++ b/src/trace_processor/util/regex.h
@@ -48,7 +48,7 @@
       regfree(&regex_.value());
     }
   }
-  Regex(Regex&) = delete;
+  Regex(const Regex&) = delete;
   Regex(Regex&& other) {
     regex_ = std::move(other.regex_);
     other.regex_ = std::nullopt;
diff --git a/src/traceconv/pprof_reader.cc b/src/traceconv/pprof_reader.cc
index f14cca7..612b7c7 100644
--- a/src/traceconv/pprof_reader.cc
+++ b/src/traceconv/pprof_reader.cc
@@ -16,8 +16,8 @@
 
 #include "src/traceconv/pprof_reader.h"
 
+#include <algorithm>
 #include <cinttypes>
-#include <fstream>
 
 #include "perfetto/ext/base/file_utils.h"
 
diff --git a/ui/release/channels.json b/ui/release/channels.json
index d3093a8..a700e33 100644
--- a/ui/release/channels.json
+++ b/ui/release/channels.json
@@ -6,7 +6,7 @@
     },
     {
       "name": "canary",
-      "rev": "94595b08a72b0338c55d947271a37829a0271729"
+      "rev": "1518c509ea7828e6c3ac8d586fbddf846393bc12"
     },
     {
       "name": "autopush",