diff --git a/util/releases/2024-08.sh b/util/releases/2024-08.sh
new file mode 100644
index 0000000..453fb9e
--- /dev/null
+++ b/util/releases/2024-08.sh
@@ -0,0 +1,34 @@
+# -*- Mode:bash; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
+#
+# Copyright (C) 2015-2024, The University of Memphis,
+#                          Arizona Board of Regents,
+#                          Regents of the University of California.
+#
+# This file is part of Mini-NDN.
+# See AUTHORS.md for a complete list of Mini-NDN authors and contributors.
+#
+# Mini-NDN is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Mini-NDN is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Mini-NDN, e.g., in COPYING.md file.
+# If not, see <http://www.gnu.org/licenses/>.
+
+# THIS FILE IS MEANT TO PROVIDE A QUICK SHORTCUT TO INSTALLING RELEASES OF NDN DEPENDENCIES
+# RELEASED IN JULY AND AUGUST OF 2024. REPOSITORIES WHICH HAVE NOT RECEIVED A MAJOR RELEASE
+# ARE INSTEAD GIVEN FIXED COMMITS.
+
+CXX_RELEASE="ndn-cxx-0.9.0"
+NFD_RELEASE="NFD-24.07"
+PSYNC_RELEASE="0.5.0"
+NLSR_RELEASE="NLSR-24.08"
+TOOLS_RELEASE="ndn-tools-24.07"
+TRAFFIC_RELEASE="9bec15ac63ae2ac225c4e514daa9fc1366889d62"
+INFOEDIT_RELEASE="cecfe583f5d2df974f5cbd50996f91b9d321be99"
\ No newline at end of file
diff --git a/util/releases/current_release.sh b/util/releases/current_release.sh
new file mode 100644
index 0000000..3f94bc3
--- /dev/null
+++ b/util/releases/current_release.sh
@@ -0,0 +1,58 @@
+# -*- Mode:bash; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
+#
+# Copyright (C) 2015-2024, The University of Memphis,
+#                          Arizona Board of Regents,
+#                          Regents of the University of California.
+#
+# This file is part of Mini-NDN.
+# See AUTHORS.md for a complete list of Mini-NDN authors and contributors.
+#
+# Mini-NDN is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Mini-NDN is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Mini-NDN, e.g., in COPYING.md file.
+# If not, see <http://www.gnu.org/licenses/>.
+
+RELEASE_FILE="util/releases/$RELEASE_VERSION.sh"
+
+
+if [[ $RELEASE_VERSION == current ]]; then
+    # THIS SHOULD BE UPDATED ON MAJOR RELEASES
+    RELEASE_FILE="util/releases/2024-08.sh"
+fi
+
+if [[ ! -e $RELEASE_FILE ]]; then
+    cat <<EOT
+No valid release version passed as argument. Please check
+documentation and your command for typos.
+
+Valid versions:
+ - current
+ - 2024-08
+
+Exiting...
+EOT
+    exit 1
+fi
+
+source "$RELEASE_FILE"
+
+# This prevents issues when manually overriden versions
+# are specified before the release by checking if these
+# vars are already set.
+
+: ${CXX_VERSION:=${CXX_RELEASE}}
+: ${NFD_VERSION:=${NFD_RELEASE}}
+: ${PSYNC_VERSION:=${PSYNC_RELEASE}}
+: ${NLSR_VERSION:=${NLSR_RELEASE}}
+: ${TOOLS_VERSION:=${TOOLS_RELEASE}}
+: ${TRAFFIC_VERSION:=${TRAFFIC_RELEASE}}
+: ${INFOEDIT_VERSION:=${INFOEDIT_RELEASE}}
\ No newline at end of file
