diff --git a/Software/Software.cpp b/Software/Software.cpp
index 9e627b51..955ea3d0 100644
--- a/Software/Software.cpp
+++ b/Software/Software.cpp
@@ -34,7 +34,7 @@
#endif
// The current software version, shown on webserver
-const char* version_number = "9.1.2";
+const char* version_number = "9.2.dev";
// Interval timers
volatile unsigned long currentMillis = 0;
diff --git a/Software/src/devboard/hal/hw_stark.h b/Software/src/devboard/hal/hw_stark.h
index 718eb04d..4f6989f4 100644
--- a/Software/src/devboard/hal/hw_stark.h
+++ b/Software/src/devboard/hal/hw_stark.h
@@ -21,6 +21,9 @@ class StarkHal : public Esp32Hal {
public:
const char* name() { return "Stark CMR Module"; }
+ //Always enable BMS power on Stark CMR, it does not collide with any pin definitions
+ virtual bool always_enable_bms_power() { return true; }
+
// Not needed, GPIO 16 has hardware pullup for PSRAM compatibility
virtual gpio_num_t PIN_5V_EN() { return GPIO_NUM_NC; }
diff --git a/Software/src/devboard/webserver/settings_html.cpp b/Software/src/devboard/webserver/settings_html.cpp
index 5ebcc558..08ca1929 100644
--- a/Software/src/devboard/webserver/settings_html.cpp
+++ b/Software/src/devboard/webserver/settings_html.cpp
@@ -1249,14 +1249,14 @@ const char* getCANInterfaceName(CAN_Interface interface) {
@@ -1266,8 +1266,8 @@ const char* getCANInterfaceName(CAN_Interface interface) {
+ pattern="[A-Za-z0-9!#*-]+"
+ title="Optional: Hostname may only contain letters, numbers and some special characters: !#*-" />
@@ -1312,11 +1312,11 @@ const char* getCANInterfaceName(CAN_Interface interface) {
min="1" max="65535" step="1"
title="Port number (1-65535)" />
+ pattern="[A-Za-z0-9!#*-]+"
+ title="MQTT username can only contain letters, numbers and some special characters: !#*-" />
+ pattern="[A-Za-z0-9!#*-]+"
+ title="MQTT password can only contain letters, numbers and some special characters: !#*-" />