Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save bobmcwhirter/6621a37fc0b9bbd9424f3e0b0c27f04a to your computer and use it in GitHub Desktop.

Select an option

Save bobmcwhirter/6621a37fc0b9bbd9424f3e0b0c27f04a to your computer and use it in GitHub Desktop.
# Changelog
## Unreleased (2025-07-30)
### Features
* implement subscribe in the wasm api (#537) (0508496), closes #537
* PhysicalDevice support. (#536) (8399a0c), closes #536
* entity-activity tracking. (#522) (237f0ef), closes #522
* SE-283 -- Filtered lists __str__ should be reasonable. (#521) (8658da9),
closes #521
* extract doc:doc from ontology, emit into .py (#531) (77dae79), closes #531
* robust subscriptions in the Python API. (#530) (c16757a), closes #530
* provide __str__ for entities. (#520) (2f17a99), closes #520
* display information about the build at boot-up. (#513) (5a537e9), closes
#513
* entity-model bindgen for Python. (#505) (1dfe5aa), closes #505
* provide support for defining semantic constants in ontologies. (#502)
(c648827), closes #502
* ontology -> rust/python/etc framework, with initial Rust implementation.
(#500) (b76a8b3), closes #500
* add support for getting entities in wasm (#496) (cc74f2a), closes #496
* add wasm skill scheduled callbacks (#485) (98cea3d), closes #485
* wrap ObserverId with an ObserverHandle for easier control. (#483) (f901f91),
closes #483
* Provide Device/Cluster-based queries from a root entity-id. (#475)
(7747842), closes #475
* make simulator.conf environment a full `graph` (#469) (a63b3cd), closes
#469
* make simulator.conf environment a full `graph` (3a1b18b)
* RustPython integration to entity-model-py. (#451) (f731342), closes #451
* a pure Python expression of the entity-model. (#450) (ef969dc), closes #450
* hold the instance and store in the skill (#447) (060ecf9), closes #447
* Tests for Python tutorial, answers, API, and installation check (#438)
(6fdc705), closes #438
* expose query() fn up from Codex to AdjudicatedCodex(Handle). (#432)
(8bf128f), closes #432
* improve granularity of assertions. (#431) (d0c12dc), closes #431
* add ability to query tuples or triples from the Codex. (#417) (223db23),
closes #417
* integrate `rules` into `triples` for inferencing. (#412) (e90211c), closes
#412 #411
* add documentation support to rules. (#411) (33b90e9), closes #411
* `space.ont` Brick-esque space ontology. (#410) (bbac08c), closes #410
* beginning of an ontology for nodes/endpoints/devices/clusters. (#376)
(8437d92), closes #376
* provide a *late-resolving* adjudication hook. (#406) (29e042b), closes #406
* add participant/requestor/owner-tracking to adjudications. (#404) (1ea94b4),
closes #404
* RETE-based rule engine for inferencing & querying of triples. (#377)
(fe73eb6), closes #377
* add c-based example skill (#397) (f4c87d7), closes #397
* add example skill in rust (#396) (75f9a45), closes #396
* add filesystem loading of wasm (#398) (840b04e), closes #398
* A BACnet-esque priority-based adjudicating Codex wrapper. (#375) (5cf9d11),
closes #375
* add wit file bindings to wasm host (#366) (d2cd462), closes #366
* a simple, non-inferencing triplestore. (#362) (7d4002c), closes #362
* Added test to ensure that example skills still work after changes (#373)
(f09b2e9), closes #373
* swap wasmer for wasmtime (#364) (163e148), closes #364
* add skill-api wasm interface definition (#326) (7a1de1a), closes #326
* Added build status badge to README (#342) (a6104ed), closes #342
* Adds support for Home Assistant smart plugs (#331) (1d3f312), closes #331
* Adds support for Home Assistant motion sensors (#330) (7781c40), closes
#330
* deserialization testing (#305) (d4e9c86), closes #305
* adds light discovery to the Home Assistant connector (#304) (966be4e),
closes #304
* default port (#296) (338fd2c), closes #296
* graceful shutdown of the skills-engine upon SIGINT/^C. (#294) (ef4a08c),
closes #294
* add wasm skills feature (#275) (15f83fe), closes #275
* Hass connector starts and runs to display a message (#276) (ecd8755), closes
#276
* replace env_logger with simplelog (#270) (65c7964), closes #270 #266
* support `ctx.run_in(..)` and `ctx.run_in_ms(...)` for single-shot future
callbacks. (#260) (27711b0), closes #260 #259
* Rehydrate `ctx.run_every( cb, interval )` where `interval` can be Float or
Int seconds. (#255) (269ece1), closes #255 #70
* support semantic deadlines for schedules (sunrise/sunset+adjustment) (#252)
(e1e8453), closes #252 #251
* apply QuicksilverMQTT panel discovery continuously. (#248) (915d1d0), closes
#248 #241
* implement all supportable operations for T5 thermostats. (#242) (d327aea),
closes #242
* impl AsMapping for PyOwnedList (#245) (17bcf83), closes #245
* support lists and dicts in the store (#243) (0017b9b), closes #243
* fully support all current messages for SecurityPartition. (#240) (cc9d851),
closes #240
* added support for quicksilver PIR occupancy sensor (#239) (aaa33a5), closes
#239
* allow subscribing to a filter of entity types. (#233) (26433aa), closes
#233
* connect thermostat over quicksilver mqtt to the engine. (#220) (0298d21),
closes #220
* connect contact sensor through from MQTT to backend. (#217) (c329518),
closes #217
* add live connected entities in the quicksilver mqtt connector. (#215)
(c66f0d7), closes #215
* discover Pro Series security partitions and add to the backend. (#213)
(5d94d69), closes #213
* Quicksilver thermostat discovery (#212) (f049eb4), closes #212
* Quicksilver contact sensor discovery (#208) (c70a348), closes #208
* UX improvement for SDK experience of logging from skills. (#182) (5160b46),
closes #182 #180
* Allow scheduled tasks to be concurrent & blocking. (#179) (f9a5afe), closes
#179
* generate release notes in the release workflow (#154) (1aeb36d), closes
#154
* UX improvement of setting logging to `info` if not otherwise specified
(#146) (c7ca7e6), closes #146
* Active simulator for all current entity types. (#145) (ca562a9), closes
#145
* support ^C handling to stop the engine. (#142) (d905174), closes #142 #133
* add twin state synch command-enums for Thermostat. (#128) (657871a), closes
#128
* add release pipeline (#120) (dc8607a), closes #120
* implement change events for all entities (#96) (91c0144), closes #96
* add ToPyObject to Entity (#94) (c572c35), closes #94
* add backend-originated contact sensor events (#85) (b4f9975), closes #85
* add a prelude to python skills (#67) (239d0cc), closes #67
* parallelize callback execution (#63) (1ca120f), closes #63
* add SkillError::SymbolNotFound (#61) (656cde7), closes #61
* stop executing errored skills (#62) (b80b4ac), closes #62
* add error types to skill execution results (#60) (971b155), closes #60
* make `Store` act like a python dict (#46) (91b29dd), closes #46
* add event-based callbacks (#40) (d678813), closes #40
* enable time-based callbacks (#33) (a488e61), closes #33
* allow the Store values to cross vms (#27) (cecb9f0), closes #27
* add message for getting all entities (#23) (84d5722), closes #23
* add a simulated house (#22) (4dc558a), closes #22
* add a simulated house (#22) (76532a6), closes #22
* add start of the soft-backend (#21) (4991b2b), closes #21
* begin enforcing skills api (#12) (9bd784f), closes #12
* add on/off switch support (#8) (6e9d0da), closes #8
* create a Skill trait for encapsulating skill logic (#5) (c78b194), closes
#5
* add a filesystem loader to load skills (#4) (2303491), closes #4
* add rust python interpreter plumbing (#3) (9fefb00), closes #3
* initial commit of the skills engine (b4ab2c0)
### Fixes
* reduce memory overhead (#548) (8827029), closes #548
* adjust the wit to reflect current variants (#545) (220705e), closes #545
* connector panic on shutdown. (#516) (94bb7d5), closes #516
* SE-293 -- skills-engine-debug.log include targets. (#510) (893618d), closes
#510
* SE-208 - Document --debug flag more appropriately (#511) (cddb051), closes
#511
* replace instead of asserting for attribute updates. (#509) (bcb886c), closes
#509
* address schedule api changes in wasm (#494) (2a957a7), closes #494
* prevent attempting to randomize in a range of `0..0` (#465) (62cc559),
closes #465
* strip demo wasm binary (#444) (34c201b), closes #444
* don't enable wasm just yet (#439) (7e5c419), closes #439
* remove parameter and return type from setup (#436) (71fa7bc), closes #436
* remove run_in and run_in_ms (#418) (8481564), closes #418
* narrow wasmtime featureset (#407) (0dcc345), closes #407
* Fixed hanging issue when mDNS browsing for PROA7 panels (#357) (6755971),
closes #357
* Escaped path separation character in release workflow (#345) (5cc224f),
closes #345
* Fixed Windows release commands and macOS/Linux release structure (#344)
(43b3c5f), closes #344
* macOS release (#341) (cdcbd59), closes #341
* Fix release folder structure and add docs (#340) (fee6854), closes #340
* load house.json from directory if -p points to a single skill. (#328)
(4b01c1a), closes #328 #319
* include the source filename in errors, not just <source>. (#298) (4dfe788),
closes #298
* querying the current mode of a quicksilver thermostat (#293) (d4bd6ba),
closes #293
* contact sensor deserialization (#238) (edf7403), closes #238
* Ensure various Thermostat attributes are Option<T>. (#226) (75414d4), closes
#226 #214
* Supporting ThermostatSystemMode.OFF (#221) (d616a85), closes #221
* spelling change in log error message (#201) (c0faea3), closes #201
* correct typo in logger message (#200) (1151b63), closes #200
* Ensure one skill failing to setup() doesn't kill the engine. (#194)
(649b0ae), closes #194 #191
* remove deprecation warnings from workflows (#152) (957bd9c), closes #152
* address issues in release workflow (#150) (10b35fe), closes #150
* separate event callbacks from scheduled callbacks (#41) (1fccd3a), closes
#41
* upgrade rustpython (#11) (58b4322), closes #11
* nest the skills engine modules (#9) (0ea1fd4), closes #9
* don't even try to compile if no runtime is selected (#6) (18aeea7), closes
#6
* don't load files that don't end in .py (#7) (9f2d8d7), closes #7
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment