diff --git a/deployment/deploymentgnbsim.rst b/deployment/deploymentgnbsim.rst
new file mode 100644
index 0000000..fd04e8a
--- /dev/null
+++ b/deployment/deploymentgnbsim.rst
@@ -0,0 +1,102 @@
+..
+   SPDX-FileCopyrightText: © 2022 Open Networking Foundation <support@opennetworking.org>
+   SPDX-License-Identifier: Apache-2.0
+
+.. _deployment_gnbsim_guide:
+
+gNBSim Deployment Guide
+========================
+
+gNBSim in AIAB mode with 2 interfaces
+```````````````````````````````````````
+
+- This is default mode of deployment for gNB Simulator
+- Multus cni needs to be enabled on cluster. Required for bess-upf & gNBSim
+- `make 5gc` will by default deploy gNB Simulator in this mode
+- One interface is used for user plane traffic towards UPF
+- Second interface is used to send traffic towards control plane (i.e. AMF).
+- UPF network & default gateway is provided in the override values.
+- Route to UPF network is added when POD comes up
+- defaultAs is configured per profile. This address is used to send data traffic during test
+
+.. note::
+   Multiple gNB's in one simulator instance need more changes in helm chart. This is pending work.
+
+To add UPF routes. Following is example of override values ::
+
+  config:
+    gnbsim:
+      gnb:
+        ip: 192.168.251.5/24 #user plane IP at gnb if 2 separate interface provided
+      singleInterface: false
+      networkTopo:
+        - upfAddr: "192.168.252.3/32"
+          upfGw: "192.168.251.1"
+
+
+.. image:: ../_static/images/Single-cluster_2_interface.jpg
+  :width: 700px
+
+gNB simulator running standalone with single interface
+```````````````````````````````````````````````````````
+
+- Install gNB Simulator on any K8s cluster
+- Multus cni needs to be enabled for the K8s cluster where bess-upf runs
+- Make sure gNB Simulator can communicate with AMF & UPF
+- *TODO* - New Makefile target will deploy just 5G control plane
+- *TODO* - New Makefile target will deploy only gNB Simulator
+- Single interface is used for user plane traffic towards UPF & as well traffic towards AMF
+- defaultAs is configured per profile. This address is used to send data traffic during test
+- configure AMF address or FQDN appropriately
+
+.. note::
+  Multiple gNB's can not be simulated since only 1 gNB will be able to use 2152 port
+
+
+Following is example of override values ::
+
+  config:
+    gnbsim:
+      singleInterface: true
+      yamlCfgFiles:
+        gnb.conf:
+          configuration:
+             gnbs: # pool of gNodeBs
+               gnb1:
+                 n3IpAddr: "POD_IP" # set if singleInterface is true
+
+.. image:: ../_static/images/Separate-cluster_Single_interface.jpg
+  :width: 700px
+
+gNBSim running standalone with 2 or more interfaces
+```````````````````````````````````````````````````
+
+- Install gNB Simulator on any K8s cluster
+- Multus cni needs to be enabled on cluster. Required for bess-upf & gNB
+- Make sure gNB Simulator can communicate with AMF & UPF
+- *TODO* - New Makefile target will deploy just 5G control plane
+- *TODO* - New Makefile target will deploy only gNB Simulator
+- One interface is used for user plane traffic towards UPF
+- Second interface is used to send traffic towards control plane (i.e. AMF).
+- UPF network & default gateway is provided in the override values.
+- Route to UPF network is added when POD comes up
+- defaultAs is configured per profile. This address is used to send data traffic during test
+- configure AMF address or FQDN appropriately
+
+.. note::
+   Multiple gNB's in one simulator instance need more changes in helm chart. This is pending work.
+
+
+To add UPF routes. Following is example of override values ::
+
+  config:
+    gnbsim:
+      gnb:
+        ip: 192.168.251.5/24 #user plane IP at gnb if 2 separate interface provided
+      singleInterface: false
+      networkTopo:
+        - upfAddr: "192.168.252.3/32"
+          upfGw: "192.168.251.1"
+
+.. image:: ../_static/images/Separate-cluster_2_interface.jpg
+  :width: 700px
diff --git a/developer/gnbsim.rst b/developer/gnbsim.rst
index e09deb7..0fcf5a4 100644
--- a/developer/gnbsim.rst
+++ b/developer/gnbsim.rst
@@ -3,105 +3,8 @@
    SPDX-License-Identifier: Apache-2.0
 .. _gNB-Simulator:
 
-gNB Simulator Deployment
-========================
-
-gNB Simulator can be deployed in following modes,
-
-**gNB simulator in AIAB mode with 2 interfaces:**
--------------------------------------------------
-
-- This is default mode of deployment for gNB Simulator
-- Multus cni needs to be enabled on cluster. Required for bess-upf & gNBSim
-- `make 5gc` will by default deploy gNB Simulator in this mode
-- One interface is used for user plane traffic towards UPF
-- Second interface is used to send traffic towards control plane (i.e. AMF).
-- UPF network & default gateway is provided in the override values.
-- Route to UPF network is added when POD comes up
-- defaultAs is configured per profile. This address is used to send data traffic during test
-
-.. note::
-   Multiple gNB's in one simulator instance need more changes in helm chart. This is pending work.
-
-To add UPF routes. Following is example of override values ::
-
-  config:
-    gnbsim:
-      gnb:
-        ip: 192.168.251.5/24 #user plane IP at gnb if 2 separate interface provided
-      singleInterface: false
-      networkTopo:
-        - upfAddr: "192.168.252.3/32"
-          upfGw: "192.168.251.1"
-
-
-.. image:: ../_static/images/Single-cluster_2_interface.jpg
-  :width: 700px
-
-**gNB simulator running standalone with 2 or more interfaces**
---------------------------------------------------------------
-
-- Install gNB Simulator on any K8s cluster
-- Multus cni needs to be enabled on cluster. Required for bess-upf & gNB
-- Make sure gNB Simulator can communicate with AMF & UPF
-- *TODO* - New Makefile target will deploy just 5G control plane
-- *TODO* - New Makefile target will deploy only gNB Simulator
-- One interface is used for user plane traffic towards UPF
-- Second interface is used to send traffic towards control plane (i.e. AMF).
-- UPF network & default gateway is provided in the override values.
-- Route to UPF network is added when POD comes up
-- defaultAs is configured per profile. This address is used to send data traffic during test
-- configure AMF address or FQDN appropriately
-
-.. note::
-   Multiple gNB's in one simulator instance need more changes in helm chart. This is pending work.
-
-
-To add UPF routes. Following is example of override values ::
-
-  config:
-    gnbsim:
-      gnb:
-        ip: 192.168.251.5/24 #user plane IP at gnb if 2 separate interface provided
-      singleInterface: false
-      networkTopo:
-        - upfAddr: "192.168.252.3/32"
-          upfGw: "192.168.251.1"
-
-.. image:: ../_static/images/Separate-cluster_2_interface.jpg
-  :width: 700px
-
-
-**gNB simulator running standalone with single interface**
-----------------------------------------------------------
-
-- Install gNB Simulator on any K8s cluster
-- Multus cni needs to be enabled for the K8s cluster where bess-upf runs
-- Make sure gNB Simulator can communicate with AMF & UPF
-- *TODO* - New Makefile target will deploy just 5G control plane
-- *TODO* - New Makefile target will deploy only gNB Simulator
-- Single interface is used for user plane traffic towards UPF & as well traffic towards AMF
-- defaultAs is configured per profile. This address is used to send data traffic during test
-- configure AMF address or FQDN appropriately
-
-.. note::
-  Multiple gNB's can not be simulated since only 1 gNB will be able to use 2152 port
-
-
-Following is example of override values ::
-
-  config:
-    gnbsim:
-      singleInterface: true
-      yamlCfgFiles:
-        gnb.conf:
-          configuration:
-             gnbs: # pool of gNodeBs
-               gnb1:
-                 n3IpAddr: "POD_IP" # set if singleInterface is true
-
-.. image:: ../_static/images/Separate-cluster_Single_interface.jpg
-  :width: 700px
+gNBSim Usage
+=============
 
 Description
 -----------
@@ -114,15 +17,25 @@
 * UE Initiated De-registration.
 * AN Release
 * Ue Initiated Service Request Procedure
+* NW triggered de-registration
+* UE Requested PDU Session Release
+* NW triggered PDU Session Release
 
 It is also capable to generate and send user data packets (ICMP echo request)
 and process down-link user data (ICMP echo response) over the established data
 plane path (N3 Tunnel).
 
+gNBSim Code References
+----------------------
+
+* Code Repository: `github repository <https://github.com/omec-project/gnbsim>`_
+* Helm Chart: `gerrit repository <https://gerrit.opencord.org/plugins/gitiles/sdcore-helm-charts/+/refs/heads/master/5g-ran-sim/>`_
+* RAN SIM Helm Chart: `5g-ran-sim repository <https://charts.aetherproject.org>`_
+
 
 Configure gNBSim
------------------------
-* The config file for gNBSim can be found at *<repo dir>/config/gnbsim.yaml*
+-----------------
+* The sample config file for gNBSim can be found `here <https://github.com/omec-project/gnbsim/blob/main/config/gnbsim.yaml>`_
 
     *Note: The configuration has following major fields (Read the comments in
     the config file for more details)*
@@ -133,27 +46,17 @@
     * **profiles**:
         List of test/simulation profiles. Each item in the list holds
         configuration specific to a profile.
+    * **customProfiles**:
+        List of custom profiles. Each item in the list holds
+        configuration specific to a customProfile.
 
-* Enable or disable a specific profile using the **enable** field.
+* Enable or disable a specific profile using the `enable` field within profile block.
+    Note: Currently following profiles are supported
 
-    *Note: Currently following profiles are supported*
-
-    * **register**:
-        Registration procedure
-    * **pdusessest** (Default):
-        Registration + UE initiated PDU Session Establishment + User Data packets
-    * **deregister**:
-        Registration + UE initiated PDU Session Establishment + User Data packets
-        + Deregister
-    * **anrelease**:
-        Registration + UE initiated PDU Session Establishment + User Data packets
-        + AN Release
-    * **uetriggservicereq**:
-        Registration + UE initiated PDU Session Establishment + User Data packets
-        + AN Release + UE Initiated Service Request
 
 Run gNBSim
 -----------
+
 * To quickly launch and test AiaB with 5G SD-CORE using gNBSim:
 
     .. code-block:: bash
@@ -162,14 +65,20 @@
 
     (refer AiaB documentation :ref:`aiab5g-guide`)
 
-* Alternatively, once 5G SD-CORE is up, you can enter into the gNBSim pod by
+* Alternatively, you can do following
     running:
 
     .. code-block:: bash
 
+        $ make 5g-core
+
+* Once all PODs are up then you can enter into the gNBSim pod by running
+
+    .. code-block:: bash
+
         $ kubectl exec -it gnbsim-0 -n omec bash
 
-    Then run following command to launch gNBSim:
+* Then run following command to launch gNBSim profiles:
 
     .. code-block:: bash
 
@@ -184,7 +93,7 @@
         $ ./gnbsim --cfg <config file path>
 
 Build gNBSim
--------------------
+------------
 
 * If you find a need to change gNBSim code and use the updated image in the AIAB setup then
   follow below steps.
@@ -214,3 +123,122 @@
     (refer AiaB documentation :ref:`aiab5g-guide`)
 
 
+gNBSim System level features
+----------------------------
+
+* Logging summary result
+
+* HTTP API to create new profile. Below configuration enables http server in gNBSim.
+  Example to use gNBSim can be found `script <https://github.com/omec-project/gnbsim/blob/main/scripts/create-new-profile.sh>`_
+
+    .. code-block:: bash
+
+      config:
+        gnbsim:
+          httpServer:
+            enable: true #enable httpServer in gnbsim
+            port: 6000
+
+* Gnbsim can generate and send user data packets (ICMP echo request)
+  and process downlink user data (ICMP echo response) over the established data
+  plane path (N3 Tunnel). Configure number of data packets to be sent. Configure
+  AS (Application Server) address. This is used to send data packets.
+
+    .. code-block:: bash
+
+      - profileType: nwtriggeruedereg # profile type
+        profileName: profile6 # uniqely identifies a profile within application
+        enable: false # Set true to execute the profile, false otherwise.
+        gnbName: gnb1 # gNB to be used for this profile
+        startImsi: 208930100007497 # First IMSI. Subsequent values will be used if ueCount is more than 1
+        ueCount: 1 # Number of UEs for for which the profile will be executed
+        defaultAs: "192.168.250.1" #default icmp pkt destination
+        perUserTimeout: 10 #if no expected event received in this time then treat it as failure
+
+
+* Executing all enabled profiles in parallel or in sequential order.
+
+    .. code-block:: bash
+
+       config:
+         gnbsim:
+           yamlCfgFiles:
+             gnb.conf:
+               configuration:
+                   execInParallel: false #run all profiles in parallel
+
+.. note::
+  There is execInParallel option under each profile as well. execInParallel under profile means that all the
+  subscribers in the profile are run in parallel
+
+* Timeout for each call flow within profile
+
+    .. code-block:: bash
+
+       - profileType: nwtriggeruedereg # profile type
+         profileName: profile6 # uniqely identifies a profile within application
+         perUserTimeout: 10 #if no expected event received in this time then treat it as failure
+
+* Getting gNBSim golang profile
+
+    .. code-block:: bash
+
+       config:
+         gnbsim:
+           goProfile:
+             enable: true #enable/disable golang profile in gnbsim
+             port: 5000
+
+* Run gNBSim with single Interface or multi interface
+
+    .. code-block:: bash
+
+       config:
+         gnbsim:
+           yamlCfgFiles:
+             gnb.conf:
+               configuration:
+                   singleInterface: false #default false i.e. multiInterface. Works well for AIAB
+
+* Support of Custom Profiles: User can now define your own profile. New profile can be
+  created by using existing baseline procedure. Example of custom profile can be found here.
+  Check customProfiles in `gNBSim config <https://github.com/omec-project/gnbsim/blob/main/config/gnbsim.yaml>_`
+
+    .. code-block:: bash
+
+       customProfiles:
+         customProfiles1:
+           profileType: custom # profile type
+           profileName: custom1 # uniqely identifies a profile within application
+           enable: false # Set true to execute the profile, false otherwise.
+           execInParallel: false #run all subscribers in parallel
+           stepTrigger: true #wait for trigger to move to next step
+           gnbName: gnb1 # gNB to be used for this profile
+           startImsi: 208930100007487
+           ueCount: 5
+           defaultAs: "192.168.250.1" #default icmp pkt destination
+           opc: "981d464c7c52eb6e5036234984ad0bcf"
+           key: "5122250214c33e723a5dd523fc145fc0"
+           sequenceNumber: "16f3b3f70fc2"
+           plmnId: # Public Land Mobile Network ID, <PLMN ID> = <MCC><MNC>
+             mcc: 208 # Mobile Country Code (3 digits string, digit: 0~9)
+             mnc: 93 # Mobile Network Code (2 or 3 digits string, digit: 0~9)
+           startiteration: iteration1
+           iterations:
+             #at max 7 actions
+             - "name": "iteration1"
+               "1": "REGISTRATION-PROCEDURE 5"
+               "2": "PDU-SESSION-ESTABLISHMENT-PROCEDURE 5"  #5 second delay after this procedure
+               "3": "USER-DATA-PACKET-GENERATION-PROCEDURE 10"
+               "next":  "iteration2"
+             - "name": "iteration2"
+               "1": "AN-RELEASE-PROCEDURE 100"
+               "2": "UE-TRIGGERED-SERVICE-REQUEST-PROCEDURE 10"
+               "repeat": 5
+               "next":  "iteration3"
+             - "name": "iteration3"
+               "1": "UE-INITIATED-DEREGISTRATION-PROCEDURE 10"
+               #"repeat": 0 #default value 0 . i.e execute once
+               #"next":  "quit" #default value quit. i.e. no further iteration to run
+
+* Delay between Procedures can be added using customProfiles.
diff --git a/dict.txt b/dict.txt
index a25f90e..25782f1 100644
--- a/dict.txt
+++ b/dict.txt
@@ -34,6 +34,7 @@
 Mbps
 Minikube
 Mux
+NGAPId
 NRF
 NSSF
 Namf
@@ -73,6 +74,7 @@
 aetherproject
 alloc
 amf
+anrelease
 ap
 api
 apis
@@ -89,9 +91,12 @@
 configmap
 configs
 configurability
+customProfile
+customProfiles
 dataplane
 de
 defaultAs
+deregister
 deregistration
 dev
 disaggregated
@@ -108,6 +113,7 @@
 eb
 epc
 equipments
+execInParallel
 func
 gNB
 gNBSim
@@ -118,10 +124,12 @@
 gerrit
 gnb
 gnbsim
+golang
 gpp
 grpc
 hss
 hssdb
+http
 hyperscale
 hyperscaler
 iUPF
@@ -132,6 +140,7 @@
 jitter
 json
 keepalive
+kubernetes
 latencies
 macroENB
 mbr
@@ -151,6 +160,8 @@
 ng
 nrf
 nssf
+nwreqpdusessrelease
+nwtriggeruedereg
 omec
 omecproject
 onf
@@ -165,6 +176,7 @@
 pcf
 pcrf
 pcrfdb
+pdusessest
 performant
 pfcp
 pfcpUdp
@@ -184,6 +196,7 @@
 scalability
 scalable
 sctp
+sctplb
 sd
 sdcore
 simapp
@@ -206,10 +219,13 @@
 ue
 ue-dnn-qos
 ueId
+uereqpdusessrelease
 uerouting
+uetriggservicereq
 ul
 unsuffixed
 upf
+upfadapter
 uplink
 verifiably
 virtualenv
diff --git a/index.rst b/index.rst
index 4fe50e4..20fec6b 100644
--- a/index.rst
+++ b/index.rst
@@ -82,6 +82,7 @@
    deployment/deployment4G.rst
    deployment/deployment5G.rst
    deployment/deploymentupf.rst
+   deployment/deploymentgnbsim.rst
 
 .. toctree::
    :maxdepth: 2
@@ -93,25 +94,6 @@
    design/design-amf.rst
 
 .. toctree::
-   :maxdepth: 3
-   :caption: Test Automation
-   :hidden:
-   :glob:
-
-   testing/about_system_tests
-   testing/sdcore_testing
-   testing/acceptance_specification
-
-
-.. toctree::
-   :maxdepth: 2
-   :caption: Troubleshooting Guide
-   :hidden:
-   :glob:
-
-   troubleshooting/flowchart.rst
-
-.. toctree::
    :maxdepth: 2
    :caption: Developer Guide
    :hidden:
@@ -122,6 +104,23 @@
    developer/gnbsim.rst
    developer/testpod.rst
 
+.. toctree::
+   :maxdepth: 2
+   :caption: Troubleshooting Guide
+   :hidden:
+   :glob:
+
+   troubleshooting/flowchart.rst
+
+.. toctree::
+   :maxdepth: 3
+   :caption: Test Automation
+   :hidden:
+   :glob:
+
+   testing/about_system_tests
+   testing/sdcore_testing
+   testing/acceptance_specification
 
 .. toctree::
    :maxdepth: 2
@@ -130,5 +129,4 @@
    :glob:
 
    release/1*
-   release/upcoming.rst
    release/process.rst
diff --git a/release/1.2.rst b/release/1.2.rst
new file mode 100644
index 0000000..7612988
--- /dev/null
+++ b/release/1.2.rst
@@ -0,0 +1,134 @@
+..
+   SPDX-FileCopyrightText: © 2020 Open Networking Foundation <support@opennetworking.org>
+   SPDX-License-Identifier: Apache-2.0
+
+SD-Core 1.2 Release
+===================
+
+1.2.0 Release Details
+---------------------
+
+SD-Core supports 4G & 5G network functions. SD-Core provides APIs for configuration, telemetry,
+policy management. Access networks can connect to AMF or MME depending on the type of access used.
+Below is the summary of the features delivered in SD-Core 1.2 Release.
+
+
+Highlights
+----------
+Release 1.2.0 is focused towards releasing the first version of Cloud Native 5G Network Functions.
+All development done in this release is around 5G Network functions. Below is highlighted features
+of this release,
+
+
+**NRF Keepalive**: All 5G network functions now register with NRF and enable the keep alive feature.
+Each network function periodically updates its subscriptions towards NRF. NRF now removes the
+Network Function which fails to send keepalive for a configured number of seconds. This is one of
+the foundation features for running multiple instances of Network functions.
+
+**Multiple SMF Instances**: Aether can be deployed with multiple instances of SMF. If required manually
+SMF deployment can be scaled out to add more instances or deployment can be scaled in to reduce the
+number of SMF instances. A new kubernetes POD UPF Adapter pod  is deployed as an anchor POD. UPF adapter
+POD talks to UPF NF. All SMF instances share the resources like SEID, IP address, TEID. SMF now stores
+subscriber states in MongoDB.
+
+**Multiple AMF Instances**: Aether can be deployed with multiple AMF instances of AMF. If required
+manually AMF deployment can be scaled out to add more instances or AMF deployment can be scaled in
+to reduce the number of AMF instances. A new kubernetes POD SCTP-LB is added to terminate sctp
+connections from gNB.  All AMF instances share the resources pool like TMSI, AMF-NGAPId. SMF now
+stores subscriber states in MongoDB.
+
+**gNBSim Improvements**: Couple of exciting changes are available in gNBSim now. Notable changes
+include following features,
+
+         - gNBSim now supports custom profiles. User can define set of procedures to be executed
+           for given use
+         - All the subscribers within a profile can run in parallel. Same way if multiple profiles
+           are configured then all profiles can run in parallel. These features are important to
+           make multiple parallel transactions in the core network.
+         - User defined delay between the procedures of the custom profile.
+         - Step profile is introduced which helps execute one procedure at a time and wait for
+           users to call APIs to trigger the next procedure for the Users. This is a really
+           interesting feature for the developers who want more control on their test case execution.
+
+**Documentation improvements**: SD-Core documentation is updated with clear separation of 4G/5G
+documentation wherever it was needed. Also updated documentation around deployment of 5G,
+new PODs and their resource requirements. Some of the new sections have been added to explain
+QoS support, application filtering and upf configuration. Also a process has started to move
+most of the internal design documents to the google drive which can be accessed by any community
+member. Link for the SD-Core public document can be found here.
+
+**Minor Improvements**: There are couple of enhancements which were done in multiple network functions
+
+        - SMF supports UPF based UE address allocation: SMF need not manage UE address pool now, if
+          UPF supports UE address allocation.
+        - Helm Chart changes to run MongoDB in the cluster mode to give database redundancy in the
+          5G Core Network.
+        - Image size reduction- gNBSim, simapp now has a small container image size.
+        - Dockerfile cleanup - Multiple Dockerfile are cleaned to follow best practices and to
+          update the base images of compile time & run time images.
+        - Subscriber config & slice config APIs in the simapp now supports http2.
+        - Network Functions now handle error in grpc connection towards webconsole
+        - SMF now sends correct QFI towards UPF instead of 5QI
+        - Dockerfile improvements to use recent golang version and latest runtime alpine image
+        - Purge UE api now available in the AMF
+        - Fixing QoS issues by sending correct AMBR rates towards UE
+
+Known Issues and Limitations
+----------------------------
+
+    - Only one instance of UPF-adapter pod should be deployed
+    - Only one instance of SCTP-Lb pod should be deployed
+    - If webui pod is restarted and if callback configuration is not provided in webui pod
+      then simapp does not download the config again to webui. Restarting the simapp pod
+      solves the problem most of the time.
+    - UPF Pod needs to have UE pool configuration and UPF does not use UE IP Pool
+      configuration from Slice APIs
+    - The same IMSI cannot part of multiple device groups
+    - At most 5 application filtering rules can be added per Slice
+    - If a subscriber is attached to a Network Slice then subsequent application filter rules modify/deletion is
+      not notified towards UE & UPF. If UE disconnects and reconnects back to Network Slice then updated
+      application filters are applied to UE.
+    - If No Filtering Rules are configured then only Default(Allow-All) Filter rule is added implicitly.
+    - PLMN update for Slice does not work. It is recommended to delete the slice and recreate it again with
+      correct PLMN.
+
+.. note::
+    For any 3gpp release compliance refer - (:ref:`4g-compliance`) and (:ref:`5g-compliance`)
+
+Component Versions in the 1.2.0 Release
+---------------------------------------
+
+Helm Chart Versions and their component charts and containers:
+
+* sdcore-helm-chart: ``0.11.14``
+    * omec-control-plane: ``0.11.1``
+        * hssdb: ``omecproject/c3po-hssdb:master-df54425``
+        * hss  : ``omecproject/c3po-hss:master-df54425``
+        * pcrf  : ``omecproject/c3po-pcrf:pcrf-d58dd1c``
+        * pcrfdb  : ``omecproject/c3po-pcrf:pcrf-d58dd1c``
+        * config4g  : ``omecproject/5gc-webui:master-87adbcc``
+        * spgwc  : ``omecproject/spgw:master-e419062``
+        * mme  : ``omecproject/nucleus:master-a8002eb``
+
+    * omec-sub-provision: ``0.5.3``
+        * simapp: ``omecproject/simapp:main-a4f741a``
+
+    * 5g-control-plane: ``0.7.15``
+        * amf: ``romecproject/5gc-amf:master-af1c9f1``
+        * nrf: ``omecproject/5gc-nrf:master-4313faa``
+        * smf: ``omecproject/5gc-smf:master-d94b123``
+        * ausf: ``omecproject/5gc-ausf:master-c84dff4``
+        * nssf: ``omecproject/5gc-nssf:master-4e5aef3``
+        * pcf: ``omecproject/5gc-pcf:master-bcbdeb0``
+        * udr: ``omecproject/5gc-udr:master-35eb7b7``
+        * udm: ``omecproject/5gc-udm:master-a0f0671``
+        * webui: ``omecproject/5gc-webui:master-fec9bfc``
+        * sctplb: ``omecproject/sctplb:master-bf081d5``
+        * upfadapter: ``omecproject/5gc-smf:master-d7c32f2``
+
+   * bess-upf ``0.1.0``
+        * bess: ``omecproject/upf-epc-bess:master-5786085``
+        * pfcpiface: ``omecproject/upf-epc-pfcpiface:master-5786085``
+
+    * 5g-ran-sim ``0.5.9``
+        * gnbsim: ``omecproject/5gc-gnbsim:main-0e4b557``
diff --git a/release/upcoming.rst b/release/upcoming.rst
deleted file mode 100644
index 7c2766d..0000000
--- a/release/upcoming.rst
+++ /dev/null
@@ -1,51 +0,0 @@
-..
-   SPDX-FileCopyrightText: 2022-present Intel Corporation
-   SPDX-License-Identifier: Apache-2.0
-
-SD-Core Upcoming Release
-========================
-
-Currently SD-Core has high level focus of making AMF & SMF cloud native. Also
-adding some new features in the gNBSim to give more flexibility to user.
-
-Work Items
-----------
-
-**Documentation update** : Update SD-Core document and Aether document
-to answer frequently asked questions.
-
-**Cloud Native Control Plane**
-
-- NRF Keepalive : Each Network Function does periodic registration towards NRF.
-  NRF removes the network function from the NRF database if keepalive missed for configured number of seconds.
-
-- Saving Subscriber States : Enable subscriber state storage in database.
-  Upcoming release is planned to have support for AMF & SMF.
-
-- Multiple Instance of AMF : Support running multiple instances of AMF
-
-- Multiple Instance of SMF : Support running multiple instances of SMF
-
-- SCTPLB : SctpLb is new component to terminate SCTP connection from gNodeB.
-
-- UPF-Adapter : Upf-adapter is a new component used by multiple SMF instances to communicate with UPF
-
-**Common Features**
-
-- SMF supports - UE address allocation from UPF. This feature was already supported in 4G (SPGW). Now
-  with new release, this feature will be part of 5G Core.
-- AMF API to de-register subscriber
-
-**gNBSim improvements to support**
-
-- REST Interface to start profile
-
-- Custom profile to run arbitrary procedures for subscribers
-
-- Adding Custom Delay between execution of the subscribers profiles
-
-- GTPU Echo Request/Response Support in gNBSim
-
-- Making gNBSim configurable to send user defined slice Ids & DNN
-
-- Sending correct TAC information in the ULI IE
