|
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 | | - |
63 | 1 | # Version 1.5.0-rc.7 Release Notes |
64 | 2 |
|
65 | 3 | Fix stable Semver parsing error, make beta builds more verbose, increase OTA task stack size, implement more guards in OTA code. |
|
0 commit comments