diff --git a/bigtable/CHANGELOG.md b/bigtable/CHANGELOG.md
index 13dd117a2882..791610fa2ac7 100644
--- a/bigtable/CHANGELOG.md
+++ b/bigtable/CHANGELOG.md
@@ -4,6 +4,15 @@
[1]: https://pypi.org/project/google-cloud-bigtable/#history
+## 0.28.1
+
+### Implementation Changes
+
+- Bugfix: Distinguish between an unset column qualifier and an empty string
+ column qualifier while parsing a `ReadRows` response (#4252)
+
+PyPI: https://pypi.org/project/google-cloud-bigtable/0.28.1/
+
## 0.28.0
### Documentation
diff --git a/bigtable/setup.py b/bigtable/setup.py
index f399492c5156..dc4a29e9e51a 100644
--- a/bigtable/setup.py
+++ b/bigtable/setup.py
@@ -58,7 +58,7 @@
setup(
name='google-cloud-bigtable',
- version='0.28.1.dev1',
+ version='0.28.1',
description='Python Client for Google Cloud Bigtable',
long_description=README,
namespace_packages=[
diff --git a/docs/bigtable/releases.rst b/docs/bigtable/releases.rst
index d16f481d13cd..726307539810 100644
--- a/docs/bigtable/releases.rst
+++ b/docs/bigtable/releases.rst
@@ -12,6 +12,7 @@
* ``0.26.0`` (`PyPI `__, `Release Notes `__)
* ``0.27.0`` (`PyPI `__, `Release Notes `__)
* ``0.28.0`` (`PyPI `__, `Release Notes `__)
+* ``0.28.1`` (`PyPI `__, `Release Notes `__)
***********************************
``google-cloud-happybase`` Releases