Skip to content

Commit 6e937ca

Browse files
committed
release 1.4.1 status update
1 parent 462c5ad commit 6e937ca

File tree

6 files changed

+46
-4
lines changed

6 files changed

+46
-4
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Changelog
22

3+
## 1.4.1
4+
5+
- Clarified target maturity: optional network modules are now documented as stable enough for ESP32 deployments that validate against their real endpoint, while ESP8266 remains under active hardening.
6+
- Added transport readiness gating for `ZeroMqttPump`, matching the existing HTTP-side link probe and reducing futile broker connect attempts while Wi-Fi is still down.
7+
- Synced runtime metadata: runtime version is now `1.4.1` and ABI version is published consistently as `2` in the manifest.
8+
39
## Unreleased
410

511
- Added generic compare workloads for `EnvMonitor`, `TelemetryGateway`, and `IndustrialLoop`.

README.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,12 @@ The optional network helpers are currently marked **BETA**:
107107

108108
They are already useful and validated on desktop plus ESP32 hardware, but they are still under active tuning for footprint, retry behavior, and cross-board transport quirks. The core runtime is the stable layer; the network helpers should be treated as add-on modules that are ready for evaluation and controlled deployments.
109109

110+
Current target maturity:
111+
112+
- **ESP32:** stable enough for production-style evaluation and controlled deployments when validated against the real HTTP/MQTT endpoint you intend to ship with.
113+
- **ESP8266 / Wemos:** still BETA. Live delivery is real, but timing cost is still under active hardening.
114+
- **Other supported families:** compile-validated, but network helper maturity should still be treated as evaluation-grade until they receive the same live validation depth.
115+
110116
Current best module tradeoff reference (ESP32, `LEAN_NET`, manual pattern vs module pattern):
111117

112118
- RAM overhead: `+408 bytes`
@@ -117,6 +123,29 @@ Current best module tradeoff reference (ESP32, `LEAN_NET`, manual pattern vs mod
117123

118124
In other words: the modules do cost memory, but the current tuned path keeps that cost bounded and pays it back with better transport throughput and less queue buildup under the same synthetic workload window.
119125

126+
## ESP32 Network Status
127+
128+
The current network helper stack is now strong enough on ESP32 to treat as a practical deployment target, not just a lab demo, as long as you still validate it against your own endpoint, payload size, and retry policy.
129+
130+
Current accepted live compare reference on ESP32:
131+
132+
- baseline:
133+
- `sample_runs=47`
134+
- `fast_avg_lag_us=112955`
135+
- `fast_max_lag_us=1609577`
136+
- `fast_miss=12`
137+
- `http_rate=73`
138+
- `mqtt_rate=73`
139+
- modules:
140+
- `sample_runs=85`
141+
- `fast_avg_lag_us=15857`
142+
- `fast_max_lag_us=1047913`
143+
- `fast_miss=5`
144+
- `http_rate=66`
145+
- `mqtt_rate=100`
146+
147+
The important part is the shape of the tradeoff: timing improves materially, MQTT delivery becomes clean, and HTTP stays alive under the same live window. That is why the ESP32 path is now documented as stable enough, even though the global module label remains BETA until the ESP8266 path is cleaned up too.
148+
120149
## General-Purpose Validation Workloads
121150

122151
To avoid overfitting the runtime to a single project, ZeroKernel now also ships with three reusable compare workloads:

docs/wiki/Beta-Modules.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,17 @@ The following optional modules are currently marked **BETA**:
99

1010
They are already useful and validated on desktop plus ESP32 smoke tests, but they are not yet considered fully field-proven across all transport stacks and all board families.
1111

12+
## Target maturity right now
13+
14+
- **ESP32:** the current network stack is stable enough for production-style evaluation and controlled deployments when you validate against your real server or broker.
15+
- **ESP8266 / Wemos:** still BETA. Live transport works, but timing cost is still under active hardening.
16+
- **Other targets:** compile-supported, but network helpers should still be treated as validation targets until they see the same live-network coverage.
17+
1218
## What BETA Means Here
1319

1420
- API shape is usable, but may still tighten as real-world patterns accumulate.
1521
- Performance and footprint are measured and improving, but still under active tuning.
22+
- ESP32 already has the strongest live-network validation. The BETA label mainly remains because the ESP8266 path is not yet clean enough to claim cross-board stability.
1623
- The modules are suitable for evaluation, prototypes, and controlled deployments.
1724
- For production, validate them against your actual transport stack and retry policy.
1825

library.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name=ZeroKernel
2-
version=1.4.0
2+
version=1.4.1
33
author=ZeroBits
44
maintainer=ZeroBits
55
sentence=ZeroKernel by ZeroBits for deterministic embedded task orchestration.

src/core/KernelIdentity.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ const Kernel::Identity kKernelIdentity = {
99
"ZeroBits",
1010
"Small Bits. Solid Systems.",
1111
"https://kernel.zerobits.tech",
12-
"1.4.0"};
12+
"1.4.1"};
1313

1414
} // namespace
1515

zerokernel.manifest.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
"kernel": "ZeroKernel",
33
"vendor": "ZeroBits",
44
"tagline": "Small Bits. Solid Systems.",
5-
"runtime_version": "1.3.1",
6-
"abi_version": 1,
5+
"runtime_version": "1.4.1",
6+
"abi_version": 2,
77
"model": "Embedded Execution Runtime",
88
"execution": {
99
"scheduler": "cooperative",

0 commit comments

Comments
 (0)