👀 Summary
NetDaemon V3
First alpha release of the new NetDaemon runtime version 3.
What is NetDaemon V3?
This is the future of NetDaemon that are built from scratch with a totally new design. It only supports HassModel as the API accessing Home Assistant features. This means that applications that use the baseclass NetDaemonRxApp
So If you already adopted to HassModel it should not be a hard migration.
Why did we redesign NetDaemon?
NetDaemon was built with the Python “AppDaemon” as a template from the start. What we found out that C# developers wanted a product that was great for C# development with modern dotnet design using DI etc. By the introduction of HassModel we took a big step towards a more “C# friendly” API model. NetDaemon 3 takes this design for the whole product.
We strongly believe this change is making NetDaemon easier to maintain and easier for new developers to contribute to the project moving forward.
Is the new NetDaemon breaking changes even if I use HassModel today?
Yes, we now using constructor injection for everything using the capabilities of .NET dependency injection. This means that the yaml configuration is also injected instead of being applied to the application class itself. There also needs to be updating the namespaces and service initialization. The HassModel is still compatible so all automations should work the same.
Will the V2 still be supported?
Yes! We will continue fixing bugs and maintain new versions of components but no new features will be added to the V2 runtime. At some point the V2 will be deprecated so we strongly recommend you starting to move your applications. We are committed to support V2 at least a year from the official release (non alpha/beta).
Can I run both V2 and V3 apps on the same time?
Yes you can if you separate the application folders. If you are using add-on we will provide two versions that looks in netdaemon
and netdaemo3
folders for apps. If you are using docker containers just use different folders and run them.
More information will be provided as the V3 progress.
✨ New features
- #588 Adding docker images for the V3 @helto4real
- #556 Adds future new AppModel to the NetDaemon project @helto4real
⚡ Enhancements
- #577 Fix so Entities are resolved in config @helto4real
- #579 Added state management to appmodel @helto4real
- #580 Add runtime parts for app state management @helto4real
- #581 Add tests and cleanup @helto4real
- #582 Remove all V2 projects from repo @helto4real
- #572 Added HassModel CacheManager @FrankBakkerNl
- #584 Re-add the developmen apps project @helto4real
- #585 Fix docker image creation @helto4real
- #589 Adds concurrency between apps @helto4real
- #590 Flush channel in QueuedObservable.DisposeAsync() @FrankBakkerNl
- #591 Add app from type @FrankBakkerNl
- #592 Merge queued tests and fix AddAppFromType @helto4real
- #594 Adds [Focus] attribute support @helto4real
- #595 Adds default logging to new AppModel @helto4real
🐛 Bug Fixes
- #583 Avoid DisposeAsync from being called multiple times. @FrankBakkerNl
- #592 Merge queued tests and fix AddAppFromType @helto4real