diff --git a/CHANGELOG.md b/CHANGELOG.md
index f2b8332c400ccf323d39cc55dd00c700b62afd36..fcc9cee1453a24426a80605f01f54008c88032f4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,10 +4,20 @@ All notable changes to this project will be documented in this file.
 
 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
 
+## [Unreleased]
+
+### Added
+
+### Changed
+
+### Fixed
+- updat3r: Improved version comparison logic, making the "you are up to date :)" logic work
+
 ## [1.3.0] - 2023-11-26
 ### Summary
 - Wifi connection UI
 - Media framework
+- SD card works reliably
 - Performance improvements
 - Backend improvements
 - Wider micropython API
diff --git a/python_payload/apps/updat3r/__init__.py b/python_payload/apps/updat3r/__init__.py
index fe5a95464e5a5632b1a0489efa6618a5e4dbbf74..cb60e00499ddf6a940e96060d6f8e032847f92e7 100644
--- a/python_payload/apps/updat3r/__init__.py
+++ b/python_payload/apps/updat3r/__init__.py
@@ -7,6 +7,7 @@ import sys_kernel
 import urequests
 import math
 import sys
+import re
 from st3m.ui.view import ViewManager
 import st3m.wifi
 
@@ -62,11 +63,15 @@ class UpdaterApp(Application):
             ctx.move_to(0, 55)
             ctx.text("enter Wi-Fi settings")
 
-    def version_to_number(self, version: str):
-        if "dev" in version:
+    def version_to_number(self, version_raw: str):
+        if "dev" in version_raw:
             return 0
 
-        major, minor, patch = version.split(".")
+        version_re = re.search("[0-9]+.[0-9]+.[0-9]+", version_raw)
+        if not version_re:
+            return 0
+
+        major, minor, patch = version_re.group(0).split(".")
 
         try:
             version_number = (int(major) * 1000000) + (int(major) * 1000) + int(patch)
@@ -151,9 +156,7 @@ class UpdaterApp(Application):
             self._state_text = "latest dev build\n\npress app shoulder button\nto start downloading\n\n(tilt shoulder left to\nswitch to latest version)"
         elif self.fetched_version:
             self.selected_version = self.fetched_version[0]
-            latest_version_number = self.version_to_number(
-                self.selected_version["tag"].replace("v", "")
-            )
+            latest_version_number = self.version_to_number(self.selected_version["tag"])
             self._state_text = f"latest version: \n{self.selected_version['name']}"
             if latest_version_number > self._firmware_version_number:
                 self._state_text += (
@@ -168,7 +171,6 @@ class UpdaterApp(Application):
         super().think(ins, delta_ms)
 
         # TODO: verify hash
-        # TODO: download percentage
 
         if self.input.buttons.app.right.pressed:
             self.use_dev_version = True