Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/dependency-refresh-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: Dependency Refresh Tests
on:
push:
branches:
- feature/2-serializable-0.10.1-dependency-refresh
- feature/4-serializable-0.10.2-dependency-refresh
pull_request:
branches:
- main
Expand All @@ -29,7 +29,7 @@ jobs:
- uses: actions/checkout@v4
with:
repository: Flowduino/ESPressio-Serializable
ref: 0.10.1
ref: 0.10.2
path: project/dependencies/ESPressio-Serializable
- uses: actions/setup-python@v5
with:
Expand Down
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,26 @@ Versioning](https://semver.org/).
> had little or no release-note detail, the entry is intentionally terse
> rather than inferring unsupported intent.

## [0.2.3] - 2026-08-21

### Changed

- Updated the optional ESPressio Serializable integration baseline from
`>= 0.10.1 < 1.0.0` to `>= 0.10.2 < 1.0.0`.
- Updated PlatformIO examples and current dependency documentation to target
ESPressio Serializable 0.10.2.
- Updated release-candidate CI to compile Serializable Unit variants against
the released ESPressio Serializable 0.10.2 tag.
- Updated package metadata for ESPressio Units 0.2.3.

### Compatibility

- Ordinary Unit types remain dependency-free with respect to ESPressio
Serializable.
- Serializable Unit variants remain opt-in and source-compatible.
- No Units runtime or public API behaviour changes are introduced by this
dependency-maintenance release.

## [0.2.2] - 2026-08-20

### Changed
Expand Down
38 changes: 25 additions & 13 deletions ESPRESSIO_DEPENDENCY_CHART.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,23 @@
## Purpose

This document describes the current ESPressio dependency hierarchy relevant to
ESPressio Units 0.2.2.
ESPressio Units 0.2.3.

- **Solid arrow** — required dependency.
- **Dashed arrow** — opt-in dependency activated only when the associated
integration/header is selected.
- Arrows point from the dependent library to the library it consumes.

## ESPressio Units 0.2.2
## ESPressio Units 0.2.3

**Required ESPressio dependencies: none.**

Ordinary Unit types remain standalone. Serializable variants are explicitly
opt-in:

```text
ESPressio Units 0.2.2
- - -> ESPressio Serializable >= 0.10.1 < 1.0.0
ESPressio Units 0.2.3
- - -> ESPressio Serializable >= 0.10.2 < 1.0.0
Serializable Unit variants only
```

Expand All @@ -30,8 +30,8 @@ ESPressio Units 0.2.2
```text
FOUNDATIONAL
├── Observable 3.0.1
├── Serializable 0.10.1
├── Units 0.2.2
├── Serializable 0.10.2
├── Units 0.2.3
├── Security 0.2.0
└── Command 0.3.0

Expand All @@ -51,14 +51,14 @@ TRANSPORT / INTEGRATION
└── Event 5.8.1

DIAGNOSTICS / OPERATOR
└── Serial 0.5.1
└── Serial 0.5.1 (release candidate)
```

### Important opt-in relationships

```text
Units
- - -> Serializable >= 0.10.1 < 1.0.0
- - -> Serializable >= 0.10.2 < 1.0.0
Serializable Unit variants

Sockets
Expand Down Expand Up @@ -101,7 +101,7 @@ The intended ESPressio rule is that integration dependencies cascade only
upstream library, but an upstream library should not acquire a reverse
dependency merely to host an integration.

There is one currently known reciprocal optional relationship:
There are two currently known reciprocal optional relationships:

```text
ESP-Now - - -> Event
Expand All @@ -111,11 +111,23 @@ Event - - -> ESP-Now
ESPNowTransportEventBridge
```

Although both edges are opt-in, together they form an architectural cycle. The
and:

```text
Sockets - - -> Event
socket Event transports

Event - - -> Sockets
SocketWorkerEventBridge
SocketSecuritySessionEventBridge
```

Although these edges are opt-in, each pair forms an architectural cycle. The
preferred resolution is to keep Event transport-neutral and move the
ESP-Now-specific Observer-to-Event bridge downstream into ESP-Now's Event
integration (or a dedicated downstream integration package). No new reciprocal
dependency should be introduced while that relocation remains outstanding.
transport-specific Observer-to-Event bridges downstream alongside the concrete
transport library's Event integration (or into a dedicated downstream
integration package). No new reciprocal dependency should be introduced while
those relocations remain outstanding.

## Architectural principle

Expand Down
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ Flowduino ESPressio Development Platform.

## Current Version

**0.2.2**
**0.2.3**

Version 0.2.2 refreshes the optional Serializable Unit integration baseline to
**ESPressio Serializable >= 0.10.1 < 1.0.0**. Ordinary Unit types remain
Version 0.2.3 refreshes the optional Serializable Unit integration baseline to
**ESPressio Serializable >= 0.10.2 < 1.0.0**. Ordinary Unit types remain
independent of Serializable.

## ESPressio Development Platform
Expand Down Expand Up @@ -57,7 +57,7 @@ counterparts are exposed through separate `*_Serializable.hpp` headers
and `ESPressio_SerializableUnits.hpp`; only applications selecting those
types acquire the dependency.

Serializable Unit variants target **ESPressio Serializable >= 0.10.1 < 1.0.0**,
Serializable Unit variants target **ESPressio Serializable >= 0.10.2 < 1.0.0**,
allowing compatible later 0.x patch releases while preventing an automatic
transition to a future 1.x breaking release.

Expand All @@ -67,15 +67,15 @@ Core Units usage:

```ini
lib_deps =
https://github.com/flowduino/ESPressio-Units@^0.2.2
https://github.com/flowduino/ESPressio-Units@^0.2.3
```

When using the optional Serializable Unit variants:

```ini
lib_deps =
https://github.com/flowduino/ESPressio-Units@^0.2.2
https://github.com/flowduino/ESPressio-Serializable@^0.10.1
https://github.com/flowduino/ESPressio-Units@^0.2.3
https://github.com/flowduino/ESPressio-Serializable@^0.10.2
```

## Namespace
Expand Down Expand Up @@ -164,7 +164,7 @@ ordinary Unit

Serializable Unit
-> Units
-> Serializable >= 0.10.1 < 1.0.0
-> Serializable >= 0.10.2 < 1.0.0
```

This is particularly important to Timing: Timing can use either ordinary
Expand Down
2 changes: 1 addition & 1 deletion library.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"type": "git",
"url": "https://github.com/Flowduino/ESPressio-Units.git"
},
"version": "0.2.2",
"version": "0.2.3",
"license": "Apache-2.0",
"frameworks": "arduino",
"platforms": "*",
Expand Down
2 changes: 1 addition & 1 deletion library.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name=Flowduino ESPressio-Units
version=0.2.2
version=0.2.3
author=Simon J. Stuart
maintainer=Flowduino.com
sentence=Strongly-typed SI unit and physical quantity library intended for use with microcontrollers
Expand Down
Loading