diff --git a/core/api/src/main/java/org/onosproject/store/service/MapEvent.java b/core/api/src/main/java/org/onosproject/store/service/MapEvent.java
index 3462e21..fbd43b2 100644
--- a/core/api/src/main/java/org/onosproject/store/service/MapEvent.java
+++ b/core/api/src/main/java/org/onosproject/store/service/MapEvent.java
@@ -103,7 +103,7 @@
      * the new value.
      *
      * @return the value
-     * @deprecated use {@link #newValue()} or {@link #oldValue()} instead.
+     * @deprecated 1.5.0 Falcon release. Use {@link #newValue()} or {@link #oldValue()} instead.
      */
     @Deprecated
     public Versioned<V> value() {
diff --git a/core/api/src/main/java/org/onosproject/store/service/StorageAdminService.java b/core/api/src/main/java/org/onosproject/store/service/StorageAdminService.java
index 4718bb8..4d94cec 100644
--- a/core/api/src/main/java/org/onosproject/store/service/StorageAdminService.java
+++ b/core/api/src/main/java/org/onosproject/store/service/StorageAdminService.java
@@ -30,6 +30,7 @@
      * Returns information about all partitions in the system.
      *
      * @return list of partition information
+     * @deprecated 1.5.0 Falcon Release
      */
     @Deprecated
     List<PartitionInfo> getPartitionInfo();
@@ -38,6 +39,7 @@
      * Returns information about all the consistent maps in the system.
      *
      * @return list of map information
+     * @deprecated 1.5.0 Falcon Release
      */
     @Deprecated
     List<MapInfo> getMapInfo();
@@ -48,6 +50,7 @@
      * then only one counter from one database is returned.
      *
      * @return mapping from counter name to that counter's next value
+     * @deprecated 1.5.0 Falcon Release
      */
     @Deprecated
     Map<String, Long> getCounters();
@@ -56,6 +59,7 @@
      * Returns information about all the atomic partitioned database counters in the system.
      *
      * @return mapping from counter name to that counter's next value
+     * @deprecated 1.5.0 Falcon Release
      */
     @Deprecated
     Map<String, Long> getPartitionedDatabaseCounters();
@@ -64,6 +68,7 @@
      * Returns information about all the atomic in-memory database counters in the system.
      *
      * @return mapping from counter name to that counter's next value
+     * @deprecated 1.5.0 Falcon Release
      */
     @Deprecated
     Map<String, Long> getInMemoryDatabaseCounters();
