esphome
device-builder
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
Performance History
Latest Results
[pre-commit.ci] pre-commit autoupdate updates: - [github.com/astral-sh/ruff-pre-commit: v0.15.13 → v0.15.14](https://github.com/astral-sh/ruff-pre-commit/compare/v0.15.13...v0.15.14)
pre-commit-ci-update-config
3 hours ago
tests: cover body-missing branches in resolve_default_components + add_component
components-lazy-bodies
4 days ago
components: split into slim index + lazy-loaded bodies Eager-loading the full ~22MB component catalog at startup carries the per-field config_entries tree for every user session, even though list / search / filter paths don't touch it. The slim index loads at startup (~370KB); per-id body files hydrate on demand through a bounded LRU when the user opens a detail view. - definitions/components.index.json is the slim catalog; bodies live at definitions/components/<id>.json. - ComponentCatalog.load() parses the index only. get_body(id) reads the body file through asyncio.to_thread and caches up to 64 entries in an LRU. - components/get_components returns the slim ComponentCatalogIndexEntry shape; components/get_component keeps the full detail shape for the form renderer. Frontend coordination needed — companion PR drops list-view reads of config_entries. - script/sync_components.py emits the split layout; build-time files swap atomically through a sibling components.next/ dir.
components-lazy-bodies
4 days ago
Intern closed-vocabulary strings in the component catalog loader The component catalog parses ~13k ConfigEntry instances and ~900 ComponentCatalogEntry instances, each carrying duplicate copies of a handful of closed-vocabulary strings — platform_type, references_component, and supported_platforms members all draw from a few dozen unique values across the whole catalog. sys.intern collapses those duplicates onto a single PyUnicode object each, trimming several MB off the loaded catalog's resident size with no wire-shape change. Lands as part of the #934 footprint cleanup (PR 2 of the checklist).
intern-component-catalog-strings
4 days ago
Bump frontend to 0.1.87 (#936) Co-authored-by: esphome[bot] <115708604+esphome[bot]@users.noreply.github.com>
main
4 days ago
Bump frontend to 0.1.87 (#936) Co-authored-by: esphome[bot] <115708604+esphome[bot]@users.noreply.github.com>
main
4 days ago
Bump frontend to 0.1.87
auto-bump-frontend
4 days ago
debug: address review feedback on memory_snapshot - type-validate save_as / compare_with / drop_baseline before dict access — non-string values now reject with INVALID_ARGS instead of bubbling a TypeError out as INTERNAL_ERROR. - parse ESPHOME_DEBUG_MEMORY as a real on-shape boolean ("1" / "true" / "yes" / "on") so ESPHOME_DEBUG_MEMORY=0 doesn't silently enable tracking the way bool(os.environ.get(...)) would. - extract the gate into _memory_tracking_enabled_from_env() so the truthy table can be unit-tested directly. - multi-line test module docstring now starts on the line after the opening triple-quote (CLAUDE.md style).
debug-memory-snapshot
4 days ago
Latest Branches
CodSpeed Performance Gauge
0%
[pre-commit.ci] pre-commit autoupdate
#948
3 hours ago
65ba66b
pre-commit-ci-update-config
CodSpeed Performance Gauge
0%
components: slim index + lazy-loaded bodies
#939
4 days ago
5982704
components-lazy-bodies
CodSpeed Performance Gauge
0%
Intern closed-vocabulary strings in the component catalog loader
#938
4 days ago
17c47b8
intern-component-catalog-strings
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs