You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 54f9a31
Browse filesBrowse the repository at this point in the historyBrowse files
feat(config)!: drop legacy layouts and support marshmallow 3 (#132)
Dropping the legacy microgrid config layouts (breaking) and fixing
config loading under marshmallow 3.
## Breaking change
The top-level microgrid-ID and `meta`-nested layouts are no longer
migrated on load. A file with no `assets` table now loads as empty and
contributes nothing to a merge, instead of having its top-level keys
read as microgrid IDs. This lets a mixed list of files (some carrying an
`[app]` table for their own config, some an `assets` table) be passed to
`AssetsConfig.load_from_files` / `load_configs`, which reads only the
`assets`-bearing ones. Rebuild any legacy-layout files with
`generate-config`. `_STEPS` is now empty; `assets.version` validation
and stamping remain.
## Bug fix
`tomllib` parses TOML datetimes to native `datetime` objects, which
marshmallow 3's `DateTime` field rejected (marshmallow 4 accepts them).
A `TomlAwareDateTime` field passes an already-parsed `datetime` through
and otherwise defers to the parent for ISO strings, applied to every
bare datetime config field sourced from TOML.
## Build
Now declares `marshmallow` as a direct dependency. It was already used
transitively via `marshmallow-dataclass` but never declared, so the
minimum-version job left it free to resolve to marshmallow 4. Declaring
it pins the lower bound so the marshmallow-3 path is tested.
0 commit comments