Skip to content

Commit f45e870

Browse files
committed
Release 1.5.0
1 parent 5d2394c commit f45e870

File tree

2 files changed

+63
-1
lines changed

2 files changed

+63
-1
lines changed

CHANGELOG.md

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,65 @@
1+
# Version 1.5.0 Release Notes
2+
3+
This release is a major firmware update bringing a fully reworked RF transmitter pipeline for more reliable shocker communication, a new T330 shocker protocol, an RFC 8908-compliant captive portal, a rebuilt frontend (Svelte 5 + shadcn), and significant improvements to E-Stop handling and rate limiting.
4+
5+
***Warning: Petrainer users will need to re-pair their shockers once they update their hub due to protocol changes.***
6+
7+
### Highlights
8+
9+
- Added **T330 shocker protocol** support
10+
- Completely reworked RF behaviour for more reliable shocker control
11+
- ***WAY*** more and responsive stable captive portal (It's a night and day difference)
12+
- Rebuilt Captive Portal UI to match frontend style.
13+
- **E-Stop button** is now significantly more reliable with a re-arm grace period
14+
- **Wi-Fi RSSI telemetry** reported by the hub for connection health display in frontend
15+
16+
### Major Improvements
17+
18+
- **RMT / Radio Transmitter**
19+
- Added **T330** shocker protocol support
20+
- Fixed timing issues for **CaiXianlin** and improved **PET998DR** handling
21+
- Lots of minor optimizations, refactors and guardrails to improve radio reliability
22+
23+
- **E-Stop**
24+
- More reliable E-Stop state transitions with change detection, eliminating event spamming
25+
- Re-arm grace period after clearing prevents re-triggering from switch bounce or noise
26+
27+
- **HTTP**
28+
- Rate limiter now tracks requests more efficiently with corrected cleanup timing and more predictable blocking
29+
30+
- **Captive Portal**
31+
- Captive portal is now refactored to operate more like **RFC 8908 spec** with improved responsiveness
32+
- Migrated from Svelte 4 + Skeleton UI to **Svelte 5 + shadcn-svelte** with **Tailwind CSS v4**
33+
- UI palette synced with OpenShock website; reduced bundle size
34+
- Added unit testing and Svelte check steps; migrated from npm to **pnpm**
35+
- Removed mDNS server from captive portal
36+
- Removed the "AbsolutelySureButton" UI element, meant as a joke but it got old and obnoxious
37+
38+
- **AssignLCG & Gateway**
39+
- AssignLCG uses the new backend endpoint and reports firmware version; legacy LCG override removed
40+
- Improved HTTP error/status consistency and 401 token recovery
41+
42+
### Minor Updates / Optimizations
43+
44+
- **Wi-Fi RSSI telemetry** now reported by the hub so the OpenShock.app frontend can display connection health
45+
- Replaced all `ESP.restart()` calls with ESP-IDF native `esp_restart()`
46+
- Improved OTA update flow and crash-loop resilience
47+
- Safer integer formatting, reduced unnecessary string copying, and cleaner command/serial logic
48+
- **CA certificate bundle** updated to December 2025 Mozilla extract, this bundle is not used yet but will be once we drop Arduino for ESP-IDF
49+
- **CDN** migrated from Cloudflare R2 (rclone) to Bunny CDN (SFTP) with cache purge support
50+
- **CI/CD** updated: Actions bumped (checkout v6, codeql v4, download-artifact v7), timeout limits on all jobs, pnpm adopted, Node.js updated
51+
- Expanded and cleaned up compiler warnings; PlatformIO, espressif32, FlatBuffers, and other dependency updates
52+
53+
### Bug Fixes
54+
55+
- Addressed variable initialization and type casting correctness issues
56+
- Fixed timing issues in **CaiXianlin** and **PET998DR** shocker protocols
57+
58+
**Full Changelog: [1.4.0 -> 1.5.0](https://github.com/OpenShock/Firmware/compare/1.4.0...1.5.0)**
59+
60+
61+
62+
163
# Version 1.5.0-rc.7 Release Notes
264

365
Fix stable Semver parsing error, make beta builds more verbose, increase OTA task stack size, implement more guards in OTA code.

frontend/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "frontend",
3-
"version": "1.5.0-rc.7",
3+
"version": "1.5.0",
44
"private": true,
55
"type": "module",
66
"scripts": {

0 commit comments

Comments
 (0)