diff --git a/release/1.0.rst b/release/1.0.rst
index 3d319ad..49cc66a 100644
--- a/release/1.0.rst
+++ b/release/1.0.rst
@@ -1,36 +1,148 @@
 SD-Fabric 1.0
 =============
 
-Highlights
+This is the first release of SD-Fabric.
+
+SD-Fabric is an open source, full stack, deeply programmable network fabric optimized for edge cloud,
+5G, and Industry 4.0 applications.
+It builds on SDN and cloud native principles to create a disruptive platform that for the first time
+empowers the network with modern cloud development principles.
+
+- **Right-sized Topology**: Scale from a single Top-of-Rack (ToR) switch, to an
+  Highly-Available (HA) setup with paired ToRs, to a full leaf-spine fabric
+  for multi-rack deployments.
+- **API Driven**: Well-defined APIs provide the ability to drop or reroute traffic,
+  create slices with configurable QoS, obtain telemetry, and more.
+- **Cloud Managed**: Fully integrated and configured by Aether™ Management Platform.
+- **5G as a Workload**: Reduce CPU load and increase performance by terminating GTP-U tunnels
+  directly in the fabric switches, with QoS and slicing support.
+- **End-to-End Visibility**: With Inband Network Telemetry (INT) on switches and end hosts,
+  enabling closed loop control applications.
+
+Feature Highlights
+-------------------
+- **Fabric connectivity**
+
+  - Support single switch, paired-leaves with dual-homing, and leaf-spine topology
+  - Bridging, IPv4 routing, ECMP, DHCP relay
+  - Redundancy on both control and data plane
+
+- **P4-UPF**
+
+  - 4G/5G UPF implemented with P4 programmable switches
+  - Support downlink buffering for UE idle-mode and handover via microservice
+  - Integration with PFCP standard interface
+
+- **Network slicing and QoS**
+
+  - Data plane support for fabric-wide slicing and QoS using dedicated hardware queues
+  - Control plane integration with SD-Core for UPF QoS with single slice (multiple slices in the next release)
+  - REST APIs for classification of non-mobile traffic
+
+- **Inband Network Telemetry**
+
+  - INT-XD mode compliant with Telemetry Report Specification v0.5
+  - Integrated with Intel DeepInsight
+  - Switch INT
+
+    - Support for flow, drop, and queue congestion reports
+    - Watchlist and smart filters to reduce the volume of reports
+    - UPF-specific drop reasons
+
+  - Host INT
+
+    - Experimental implementation based on eBPF
+    - Kubernetes CNI-independent, tested with Cilium and Calico
+    - Support for flow and drop reports
+
+- **API**
+
+  - Drop traffic
+  - Pin traffic to specific spine (in a leaf-spine setup)
+  - Slicing and QoS for non-mobile traffic
+
+- **Scalability**
+
+  - 5K UEs, 10 calls per second with 1 CPU core and 4G RAM per ONOS instance
+
+
+Deployment
 ----------
-
-The focus of this release is support for...
-
-New Features and Improvements
------------------------------
+- Support Kubernetes deployments with Helm charts
+- Logging integration via EFK
+- Monitoring integration via Prometheus/Grafana
+- Alarm integration via Kibana
 
 
-Development and Deployment Changes
-----------------------------------
+Testing
+-------
+- **Data plane tests**
 
-Support for ...
+  - Unary tests based on PTF framework (running pre-merge on Tofino model)
+  - Line rate test based on PTF framework and TRex traffic generator for INT and QoS features
+    (running nightly on hardware switch)
 
+- **Control plane tests**
 
-Testing Improvements
---------------------
+  - UP4 integration with PFCP Agent based on ONOS STC framework for 2x2 and paired-leaves topologies
+    (running pre-merge)
 
+- **System tests**
 
-Certification Program
----------------------
+  - Based on TestON framework
+  - Running nightly on paired-leaves and 2x2 topology with 3 ONOS instances
+  - Features covered:
 
+      - Bridging
+      - Paired-leaves
+      - UP4
+      - INT with DeepInsight integration
+      - QoS (both mobile and non-mobile traffic)
+
+  - Jenkins dashboard showing nightly results
 
 Known Issues and Limitations
 ----------------------------
+- `SDFAB-653 <https://jira.opennetworking.org/browse/SDFAB-653>`_
 
+   ArpHandler is unable to handle ARP requests for device loopback address
+- `SDFAB-655 <https://jira.opennetworking.org/browse/SDFAB-655>`_
 
-Component Versions in the 1.0 Release
--------------------------------------
+   UP4 reconciliation cycle can leave switch flow state inconsistent causing UE
+   data traffic to be dropped. Requires to detach and re-attach UEs.
+- Host INT features assumes the fabric interface on each K8s worker node uses the same name
 
+Component Versions in the Release
+---------------------------------
+
+SD-Fabric ONOS image
+^^^^^^^^^^^^^^^^^^^^
+- `tost <https://registry.aetherproject.org/harbor/projects/4/repositories/tost>`_: ``registry.aetherproject.org/tost/tost:1.0.0``
+
+  - `onos <https://github.com/opennetworkinglab/onos>`_: ``2.5.5-rc1``
+  - `trellis-control <https://github.com/opennetworkinglab/trellis-control>`_: ``3.1.0``
+  - `trellis-t3 <https://github.com/opennetworkinglab/trellis-t3>`_: ``4.0.0``
+  - `fabric-tna <https://github.com/stratum/fabric-tna>`_: ``1.0.0``
+  - `up4 <https://github.com/omec-project/up4>`_: ``1.0.0``
+
+Stratum image
+^^^^^^^^^^^^^
+- `stratum-bfrt <https://hub.docker.com/r/stratumproject/stratum-bfrt>`_: ``stratumproject/stratum-bfrt:21.10-9.5.0``
+
+DBUF image
+^^^^^^^^^^
+- `dbuf <https://github.com/omec-project/dbuf>`_: ``1.0.0``
+
+PFCP Agent image
+^^^^^^^^^^^^^^^^
+- `pfcp-agent <https://github.com/omec-project/upf-epc/tree/master/pfcpiface>`_: ``fcdbc95`` (haven't done official release yet)
 
 Helm Chart Versions
 -------------------
+- `sdfabric <https://gerrit.opencord.org/plugins/gitiles/sdfabric-helm-charts/+/refs/heads/master/sdfabric>`_: ``1.0.5``
+
+  - `onos-classic chart <https://github.com/onosproject/onos-helm-charts/tree/master/onos-classic>`_: ``0.1.24``
+  - `stratum chart <https://github.com/stratum/stratum-helm-charts/tree/master/stratum>`_: ``0.1.13``
+  - `pfcp-agent chart <https://gerrit.opencord.org/plugins/gitiles/sdfabric-helm-charts/+/refs/heads/master/pfcp-agent>`_: ``0.0.1``
+  - `dbuf chart <https://gerrit.opencord.org/plugins/gitiles/sdfabric-helm-charts/+/refs/heads/master/dbuf/>`_: ``0.0.1``
+  - `int-host-reporter chart <https://gerrit.opencord.org/plugins/gitiles/sdfabric-helm-charts/+/refs/heads/master/int-host-reporter>`_: ``0.0.1``
