diff --git a/ndn-cxx/mgmt/nfd/status-dataset.hpp b/ndn-cxx/mgmt/nfd/status-dataset.hpp
index 8bddf15..5e0d987 100644
--- a/ndn-cxx/mgmt/nfd/status-dataset.hpp
+++ b/ndn-cxx/mgmt/nfd/status-dataset.hpp
@@ -89,8 +89,6 @@
   PartialName m_datasetName;
 };
 
-using StatusDataset [[deprecated("use StatusDatasetBase")]] = StatusDatasetBase;
-
 /**
  * \ingroup management
  * \brief Represents a `status/general` dataset.
diff --git a/ndn-cxx/util/dummy-client-face.hpp b/ndn-cxx/util/dummy-client-face.hpp
index 6583e36..35c9acd 100644
--- a/ndn-cxx/util/dummy-client-face.hpp
+++ b/ndn-cxx/util/dummy-client-face.hpp
@@ -199,11 +199,6 @@
   std::function<void(time::milliseconds)> m_processEventsOverride;
 };
 
-namespace util {
-/// \deprecated Use ndn::DummyClientFace
-using DummyClientFace [[deprecated("use ndn::DummyClientFace")]] = ::ndn::DummyClientFace;
-} // namespace util
-
 } // namespace ndn
 
 #endif // NDN_CXX_UTIL_DUMMY_CLIENT_FACE_HPP
diff --git a/ndn-cxx/util/segment-fetcher.hpp b/ndn-cxx/util/segment-fetcher.hpp
index ce61d9c..6ddf6fe 100644
--- a/ndn-cxx/util/segment-fetcher.hpp
+++ b/ndn-cxx/util/segment-fetcher.hpp
@@ -319,11 +319,6 @@
   std::set<uint64_t> m_receivedSegments;
 };
 
-namespace util {
-/// \deprecated Use ndn::SegmentFetcher
-using SegmentFetcher [[deprecated("use ndn::SegmentFetcher")]] = ::ndn::SegmentFetcher;
-} // namespace util
-
 } // namespace ndn
 
 #endif // NDN_CXX_UTIL_SEGMENT_FETCHER_HPP
diff --git a/ndn-cxx/util/segmenter.hpp b/ndn-cxx/util/segmenter.hpp
index 3f7a6dd..56b9b66 100644
--- a/ndn-cxx/util/segmenter.hpp
+++ b/ndn-cxx/util/segmenter.hpp
@@ -77,11 +77,6 @@
   security::SigningInfo m_signingInfo;
 };
 
-namespace util {
-/// \deprecated Use ndn::Segmenter
-using Segmenter [[deprecated("use ndn::Segmenter")]] = ::ndn::Segmenter;
-} // namespace util
-
 } // namespace ndn
 
 #endif // NDN_CXX_UTIL_SEGMENTER_HPP
diff --git a/ndn-cxx/util/signal/connection.hpp b/ndn-cxx/util/signal/connection.hpp
index d27dcb2..c8afa0f 100644
--- a/ndn-cxx/util/signal/connection.hpp
+++ b/ndn-cxx/util/signal/connection.hpp
@@ -98,9 +98,4 @@
 
 } // namespace ndn::signal
 
-namespace ndn::util::signal {
-/// \deprecated Use ndn::signal::Connection
-using Connection [[deprecated("use ndn::signal::Connection")]] = ::ndn::signal::Connection;
-} // namespace ndn::util::signal
-
 #endif // NDN_CXX_UTIL_SIGNAL_CONNECTION_HPP
diff --git a/ndn-cxx/util/signal/scoped-connection.hpp b/ndn-cxx/util/signal/scoped-connection.hpp
index 450ddf1..bbc6088 100644
--- a/ndn-cxx/util/signal/scoped-connection.hpp
+++ b/ndn-cxx/util/signal/scoped-connection.hpp
@@ -96,9 +96,4 @@
 
 } // namespace ndn::signal
 
-namespace ndn::util::signal {
-/// \deprecated Use ndn::signal::ScopedConnection
-using ScopedConnection [[deprecated("use ndn::signal::ScopedConnection")]] = ::ndn::signal::ScopedConnection;
-} // namespace ndn::util::signal
-
 #endif // NDN_CXX_UTIL_SIGNAL_SCOPED_CONNECTION_HPP
diff --git a/ndn-cxx/util/signal/signal.hpp b/ndn-cxx/util/signal/signal.hpp
index e168c69..513398e 100644
--- a/ndn-cxx/util/signal/signal.hpp
+++ b/ndn-cxx/util/signal/signal.hpp
@@ -238,10 +238,4 @@
 
 } // namespace ndn::signal
 
-namespace ndn::util {
-/// \deprecated Use ndn::signal::Signal
-template<typename Owner, typename... TArgs>
-using Signal [[deprecated("use ndn::signal::Signal")]] = ::ndn::signal::Signal<Owner, TArgs...>;
-} // namespace ndn::util
-
 #endif // NDN_CXX_UTIL_SIGNAL_SIGNAL_HPP
diff --git a/ndn-cxx/util/time.hpp b/ndn-cxx/util/time.hpp
index 60971cd..373bc36 100644
--- a/ndn-cxx/util/time.hpp
+++ b/ndn-cxx/util/time.hpp
@@ -203,11 +203,6 @@
   using time_point = ::boost::chrono::time_point<system_clock>;
   static constexpr bool is_steady = ::boost::chrono::system_clock::is_steady;
 
-  /// \deprecated Use time_point
-  using TimePoint [[deprecated("use system_clock::time_point")]] = time_point;
-  /// \deprecated Use duration
-  using Duration [[deprecated("use system_clock::duration")]] = duration;
-
   static time_point
   now() noexcept;
 
@@ -235,11 +230,6 @@
   using time_point = ::boost::chrono::time_point<steady_clock>;
   static constexpr bool is_steady = true;
 
-  /// \deprecated Use time_point
-  using TimePoint [[deprecated("use steady_clock::time_point")]] = time_point;
-  /// \deprecated Use duration
-  using Duration [[deprecated("use steady_clock::duration")]] = duration;
-
   static time_point
   now() noexcept;
 
