Update CHANGELOG for v0.2.0

Change-Id: Idb07afc7ae4e9c2f21980046e894b47f993f2d75
Reviewed-on: https://fuchsia-review.googlesource.com/c/antlion/+/784062
Commit-Queue: Auto-Submit <auto-submit@fuchsia-infra.iam.gserviceaccount.com>
Reviewed-by: Patrick Lu <patricklu@google.com>
Fuchsia-Auto-Submit: Sam Balana <sbalana@google.com>
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ce1cc99..a9c7f67 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -10,6 +10,24 @@
 
 ## [Unreleased]
 
+### Added
+
+### Changed
+
+### Removed
+
+### Fixed
+
+[unreleased]: https://fuchsia.googlesource.com/antlion/+/refs/tags/v0.2.0..refs/heads/main
+
+## [0.2.0] - 2022-01-03
+
+### Added
+
+- Download radvd logs from AP for debugging IPv6 address allocation
+- Optional `wlan_features` config field to `FuchsiaDevice` for declaring which
+WLAN features the device supports, such as BSS Transition Management
+
 ### Changed
 
 - All path config options in `FuchsiaDevice` expand the home directory (`~`) and
@@ -20,8 +38,12 @@
 	- Moved `tests` and `unit_tests` to the `antlion` package, enabling
 	straight-forward packaging of tests.
 	- Merged `antlion` and `antlion_contrib` packages
-- `bokeh` is now an optional dependency. If graphing is desired, install antlion
-with the bokeh option: `pip install ".[bokeh]"`
+- Converted several required dependencies to optional dependencies:
+  - `bokeh` is only needed for producing HTML graphing. If this feature is
+  desired, install antlion with the bokeh option: `pip install ".[bokeh]"`
+  - `usbinfo` and `psutil` are not needed when a static IP address is assigned
+  to the Fuchsia DUT. If assigning a static IP address is not an optional,
+  install antlion with the mdns option: `pip install ".[mdns]"`
 
 ### Removed
 
@@ -34,8 +56,15 @@
 
 - Failure to acquire IPv6 address in `WlanRebootTest` ([bug](http://b/256009189))
 - Typo in `ChannelSweepTest` preventing use of iPerf ([@patricklu])
+- "Country code never updated" error affecting all Fuchsia ToT builds
+([@karlward], [bug](https://fxbug.dev/116500))
+- Parsing new stderr format from `ffx component destroy` ([@karlward],
+[bug](https://fxbug.dev/116544))
+- "Socket operation on non-socket" error during initialization of ffx on MacOS
+([@karlward], [bug](https://fxbug.dev/116626))
+- Python 3.8 support for IPv6 scope IDs ([bug](http://b/261746355))
 
-[unreleased]: https://fuchsia.googlesource.com/antlion/+/refs/tags/v0.1.0..refs/heads/main
+[0.2.0]: https://fuchsia.googlesource.com/antlion/+/refs/tags/v0.1.0..refs/tags/v0.2.0
 
 ## [0.1.0] - 2022-11-28
 
@@ -74,3 +103,4 @@
 
 [@sakuma]: https://fuchsia-review.git.corp.google.com/q/owner:sakuma%2540google.com
 [@patricklu]: https://fuchsia-review.git.corp.google.com/q/owner:patricklu%2540google.com
+[@karlward]: https://fuchsia-review.git.corp.google.com/q/owner:karlward%2540google.com
diff --git a/README.md b/README.md
index 3efd4b5..be529cf 100644
--- a/README.md
+++ b/README.md
@@ -65,8 +65,9 @@
 request.
 
 1. Create a feature branch (`git checkout -b feature/amazing-feature`)
-2. Commit changes (`git commit -m 'Add some amazing feature'`)
-3. Upload CL (`git push origin HEAD:refs/for/main`)
+2. Document your change in `CHANGELOG.md`
+3. Commit changes (`git commit -m 'Add some amazing feature'`)
+4. Upload CL (`git push origin HEAD:refs/for/main`)
 
 > A public bug tracker is not (yet) available.
 
diff --git a/pyproject.toml b/pyproject.toml
index 32fd2af..c0fa915 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,32 +1,23 @@
 # Reference at https://peps.python.org/pep-0621/
 
 [build-system]
-requires = ["setuptools"]
+requires = ["setuptools", "setuptools-scm[toml]"]
 build-backend = "setuptools.build_meta"
 
 [project]
 name = "antlion"
-version = "0.1"
-description = "Android Comms Test Suite"
-readme = "README.md"
+description = "Host-driven, hardware-agnostic Fuchsia connectivity tests"
 requires-python = ">=3.8"
 license = {text = "Apache-2.0"}
+dynamic = ["version"]
+readme = "README.md"
 dependencies = [
     "mobly==1.12.0",
     "pyyaml>=5.1",
     "tenacity~=8.0",
-    "usbinfo", # flash
-    "zeroconf", # mdns
 ]
 
 [project.optional-dependencies]
-# Required for running unit tests
-test = [
-    "pytest",
-    # Latest version of mock (4.0.0b) causes a number of compatibility issues with ACTS unit tests
-    # b/148695846, b/148814743
-    "mock==3.0.5",
-]
 # Required to support development tools
 dev = [
     "shiv",    # packaging python
@@ -34,11 +25,11 @@
     "vulture", # finds unused code
     "yapf",    # code formatting
 ]
-digital_loggers_pdu = ['dlipower']
-bluetooth = ['soundfile']
-bokeh = [
-    "bokeh",
-]
+digital_loggers_pdu = ["dlipower"]
+bluetooth = ["soundfile"]
+html_graphing = ["bokeh"]
+flash = ["usbinfo"]
+mdns = ["psutil", "zeroconf"]
 android = [
     "Monsoon",
     "numpy",
diff --git a/setup.py b/setup.py
index 360b7b0..30f198d 100644
--- a/setup.py
+++ b/setup.py
@@ -20,25 +20,25 @@
     "mobly==1.12.0",
     "pyyaml>=5.1",
     "tenacity~=8.0",
-    "usbinfo",  # flash
-    "zeroconf",  # mdns
 ]
 
 setup(name='antlion',
-      version='0.1',
-      description='On-device Fuchsia connectivity testing',
+      version='0.2.0',
+      description = "Host-driven, hardware-agnostic Fuchsia connectivity tests",
       license='Apache-2.0',
       packages=find_packages(
           where='src',
       ),
       package_dir={"": "src"},
       include_package_data=True,
-      tests_require=['pytest'],
+      tests_require=[],
       install_requires=install_requires,
       extras_require={
+          'html_graphing': ['bokeh'],
           'dev': ['shiv', 'toml', 'yapf'],
           'digital_loggers_pdu': ['dlipower'],
-          'bokeh': ['bokeh'],
+          'flash': ['usbinfo'],
+          'mdns': ['psutil', 'zeroconf'],
           'android': [
               'Monsoon',
               'numpy',