Add RELEASES.md document.

Change-Id: I059426ed09a4d57806e96e24e6e9ec12c53c2db5
diff --git a/RELEASES.md b/RELEASES.md
new file mode 100644
index 0000000..22045d7
--- /dev/null
+++ b/RELEASES.md
@@ -0,0 +1,168 @@
+# ONOS Release Notes
+This documents provides a running log describing high-level features
+introduced in each recent ONOS release. Developers are encouraged to describe
+their changes to keep the ONOS community up-to-date with the recent developments.
+
+## 2.3 - January 2020
+#### Platform
+* Upgraded to build via Bazel 1.0 - backported to 2.2 LTS and 1.15 LTS
+* Publishing dependencies pom.xml for use by archetypes and 3rd party apps
+* Updated 3rd party dependencies
+* Fixed and updated ONOS Helm charts
+
+#### GUI 2
+* Upgrade to Angular 9 and NodeJS 12
+* Native Bazel build of NPM modules; no more genrules and scripts
+* Additional views to close the GUI/GUI2 gap
+...
+
+#### Stratum Support
+* Southbound improvements and bug fixes in P4Runtime, fabric.p4, gNMI, gNOI
+* Support Trellis and SEBA/BNG offloading use cases
+...
+
+
+## 2.2 (LTS) - September 2019
+#### Platform
+* Upgraded to build and run with JDK 11
+* Upgraded to build with Bazel 0.27
+* Upgraded to run Apache Karaf to 4.2.6
+* Packet processing priority queues added by Nikolayi Merinov from Inango Systems
+
+#### GUI 2
+* ROADM GUI extended with editable fields for power settings
+* GUI2 Framework library reused in µONOS
+
+#### Stratum Support
+* `fabric.p4` improvements
+  * Initial support for PPPoE-based BNG offloading (bng.p4) (demo at Connect ‘19)
+  * Support for ACL clone to CPU (i.e. packet-in) actions via P4Runtime Clone Sessions
+  * Enabled Travis CI on fabric-p4test, run PTF-based tests on BMv2
+* Added stratum-fpm driver
+* Stratum+ONOS interoperability demo (Connect ‘19)
+* Transitioned dev environment from VM to Docker
+
+
+## 2.1 - April 2019
+#### Platform
+* Upgraded Apache Karaf to 4.2.3
+* Upgraded to build with Bazel 0.25
+
+#### GUI 2
+* Big focus on Topology View
+* Background maps
+* Absolute locations
+* Grid view
+* Multiple node selections
+* Display of intents
+* Display of mastership
+* Dynamic updates to topology
+* Moved topology to its own library gui2-topo-lib
+
+#### Stratum Support
+* P4Runtime improvements
+  * Bumped to P4Runtime v1.0.0
+  * New lock-free P4Runtime client implementation (i.e. allow concurrent RPCs) with support for batched write/read requests and detailed error reporting (tested with 100K routes on Trellis)
+  * Improved mastership handling (use same backup node preference as in the mastership service)
+  * Write P4Runtime Clone Sessions via ONOS Group API
+  * Initial support for in-service device pipeline upgrades
+* Set port oper status via gNMI
+  * Via ONOS CLI command portstate (based on OpenConfig Interfaces model)
+* Initial gNOI support (contribution from PLVision)
+  * Via ONOS CLI command device-reboot
+* Major refactoring of connection handling for all gRPC-based southbounds
+  * Use one gRPC channel with multiple clients, allow providers to subscribe to gRPC channel events
+* Support building third-party pipeconf-based apps with Maven
+* New ONOS+P4 tutorial “Build an SRv6-enabled fabric with ONOS and P4”
+  * https://github.com/opennetworkinglab/onos-p4-tutorial
+* New drivers
+  * stratum-bmv2, stratum-tofino (replaces private Barefoot driver)
+  * gnmi-standalone (Allow using gNMI as standalone protocol)
+
+#### SONA - CNI
+* Supported PODs communication
+* Supported Service IP communication
+* Supported NodePort based service exposure (inter-node only for now)
+* Implemented IPAM CNI extension by leveraging Atomix store
+* Implemented k8s node bootstrapping (kbr-int, kbr-ex bridge and tunnel port provisioning)
+* Cached k8s resource to Atomix by implementing k8s watcher (relies on fabric8 dependency)
+* Implemented CLIs for querying k8s resources (POD, service, endpoints, ingress, etc.)
+
+
+## 2.0 - January 2019
+#### Platform
+* Upgraded Apache Karaf to 4.2.2
+* Build with Bazel 0.21.0 and JDK 8 or OpenJDK 8 - JDK 11 build pushed out
+* Upgraded to Atomix 3.1
+
+#### GUI 2
+* Topology View migration continued
+  * Hosts icon implemented
+  * Icons enhanced
+  * Details view - driven by context and linking
+  * Toolbar - keyboard shortcuts and icons
+  * Traffic monitoring
+  * Localization support
+
+#### Stratum Support
+* Upgraded P4Runtime version to 1.0.0-rc3
+* Initial support for gNMI and OpenConfig Interfaces model
+  * Port discovery, stats polling, subscription to port up/down events
+* Added Stratum driver (extends P4Runtime and gNMI drivers)
+* Various improvements to fabric.p4
+  * Added support for Double-VLAN cross-connect
+  * Major refactoring of fabric.p4 to optimize HW pipeline stage utilization (went from 10 to 6 stages)
+  * Refactoring of pipeliner implementation
+* Various bugfixes for gRPC client handling
+* Initial support for gRPC secure channels via SSL/TLS (Brian)
+
+#### ODTN
+* Phase 1.0 expand/refactor support for TX discovery and programming
+  * Cassini
+  * Infinera XT-3300
+  * FlowRuleProgrammable OpenConfig for phase 1.5
+* Updated TAPI to 2.1.1 version
+* Updated OpenConfig Models to Reference Design Spec
+* DCS 2.6 release with bugfixes
+* Various RESTCONF/Netconf bugfixes
+
+
+## 1.15 (LTS) - December 2018
+#### Platform
+* Upgraded build of ONOS code-base to use Bazel rather than Buck
+* Removed vestigal pom.xml and BUCK files
+* Atomix / ONOS Cluster enhancements
+  * Migrated distributed primitives, cluster management, and intra-cluster communication to Atomix
+  * Re-architected ONOS cluster to store consistent, persistent state externally and tolerate n-1 failures
+* ISSU
+  * Support rolling upgrades of Atomix clusters for introducing bug fixes and new features
+  * Created a test framework for validating backwards compatibility for upgrades
+
+#### GUI 2
+* Rebuilt GUI application on Angular v6 - major upgrade from 1.3.x
+* Angular CLI Build, Test and Lint added to BUCK build and test
+* Framework code mostly ported to Angular 6
+  * Some refactoring to align with Angular 6 philosophy i.e. no d3 element manipulations
+  * LION, WebSockets, Menu, Navigation all ported
+* Views ported:
+  * Devices, Apps, Flows, Ports, Links, Group, Meter, Tunnel, Hosts, Settings, Clusters, Partitions
+* Replaced Table Builder and Table Details Builder with base classes made possible in ES6
+* Enhancements - Lazy loading - load view only when necessary
+* Very little changes to backend Java code
+
+#### P4 / P4Runtime
+* In-band Network Telemetry (INT) ONOS service and reference int.p4 implementation
+* Added new features to fabric.p4
+  * VLAN tagged ports, ARP request broadcast, IPv4 multicast, “clone to controller” behavior in ACL table (for cloning ARP requests), initial INT support
+* Created PTF-based fabric.p4 data plane tests
+  * https://github.com/opennetworkinglab/fabric-p4test
+  * Test cases for forwarding, GTP termination, and INT
+* Created STC scenario to deploy fabric.p4
+* P4Runtime southbound improvements
+  * Changes to improve scalability (tested up to 200 BMv2 instances on 3-node ONOS cluster)
+  * Support re-connection to lost devices
+  * Support for multicast APIs (via packet replication engine)
+* P4Runtime-based driver for Mellanox Spectrum-based switches
+* Improved learning material: ONOS+P4 tutorial
+  * Includes hands-on exercises and new “MyTunnel” ONOS app (apps/p4-tutorial)
+