Releases: SignalK/SensESP
Version 3.0.0
A major new release of SensESP, including a complete rewrite of the web frontend and major restructuring of the internal class structure. Finally!
What's Changed
- Bump version: 2.7.2 → 2.7.3-alpha by @mairas in #674
- Fix constant sensor configuration schema typing by @mairas in #684
- Remove the obsolete and broken typescript sample plugin code by @mairas in #685
- Add thermocouple_max6675 example by @zschramm in #687
- Breaking change: rename WSClient to SKWSClient by @mairas in #690
- Pass received Json objects always by value by @mairas in #691
- Improved curve interpolator by @rszemeti in #689
- Add a build script by @mairas in #695
- Patch 2 - Add NMEA2000 Output of Exhaust Gas Temperature by @zschramm in #693
- Compile css files automatically as part of "run build-frontend" by @mairas in #696
- Rename ConstantSensor getters and setters by @mairas in #694
- Use native ESP-IDF logging by @mairas in #699
- Fix empty config list by @mairas in #701
- Implement new ExpiringValue container class by @mairas in #702
- Implement new merging and repeating transforms by @mairas in #703
- Async Configurables by @mairas in #705
- Remove input_channel argument from ValueConsumer by @mairas in #707
- Async config handlers by @mairas in #710
- Make ValueConsumer::set argument a const ref by @mairas in #711
- Set up hostname earlier in WiFi initialization by @mairas in #712
- Stream producers by @mairas in #714
- Implement a filter transform by @mairas in #715
- Support more complex lists of configurables by @mairas in #716
- to avoid using namespace at global scope by @offspring in #717
- Implement a dynamic restart button by @mairas in #718
- Use toasts instead of modals for user feedback by @mairas in #719
- Use ESP-IDF native logging functions by @mairas in #720
- Rename web(UI) to frontend by @mairas in #721
- Update the README by @mairas in #722
- Curve interpolator fix v3 by @mairas in #723
- Merge dev-3 to main by @mairas in #724
- Release 3.0.0 beta.1 by @mairas in #726
- Replace mentions of Slack with Discord by @mairas in #732
- Fix restartRequired context handling by @mairas in #734
- Lint and Reformat frontend files by @mairas in #735
- Bump vite from 5.0.0 to 5.0.13 in /frontend-plugins/sample-plugin-js by @dependabot in #725
- Restore prematurely removed file by @mairas in #736
- Fix clang-tidy warnings by @mairas in #737
- Rename ReactESP classes by @mairas in #739
- Improve Json serialization by @mairas in #744
- Fix ArduinoJson deprecations by @mairas in #746
- Fix TimeCounter logic by @mairas in #747
- Invert displayMultiplier and displayOffset semantics by @mairas in #748
- Release 3.0.0 beta.3 by @mairas in #749
- Release 3.0.0 beta.3 (for reals) by @mairas in #750
- Fix Repeat template classes by @mairas in #751
- Add an event_loop() convenience function by @mairas in #753
- Implement a task synchronization consumable by @mairas in #754
- Fix event loop calls by @mairas in #760
- Bump vite from 5.0.13 to 5.1.8 in /frontend-plugins/sample-plugin-js by @dependabot in #756
- Bump rollup from 4.5.0 to 4.24.0 in /frontend-plugins/sample-plugin-js by @dependabot in #757
- Bump micromatch from 4.0.7 to 4.0.8 in /frontend by @dependabot in #758
- Bump rollup from 4.20.0 to 4.24.0 in /frontend by @dependabot in #759
- Web UI class cleanups by @mairas in #755
- Refactor web UI config item C++ implementation by @mairas in #761
- Rename ValueProducer::output by @mairas in #763
- Refactor TaskQueueProducer by @mairas in #764
- Unit tests and memory safety by @mairas in #765
- SKMetadata fix by @mairas in #766
- Networking compile-time configuration by @mairas in #767
- More smart pointers by @mairas in #769
- Release 3.0.0 beta.4 by @mairas in #770
- Improve instrumentation by @mairas in #772
- Release 3.0.0 beta.5 by @mairas in #773
- Provide correct ConfigSchema for template classes by @mairas in #774
- Release 3.0.0 beta.6 by @mairas in #775
- Introduce v3 concepts in the documentation by @mairas in #777
- Release v3.0.0 by @mairas in #778
New Contributors
- @zschramm made their first contribution in #687
- @rszemeti made their first contribution in #689
- @offspring made their first contribution in #717
- @dependabot made their first contribution in #725
Full Changelog: v2.7.2...v3.0.0
Version 3.0.0-beta.6
A bugfix release: ConfigItems should now work properly for template classes.
What's Changed
- Provide correct ConfigSchema for template classes by @mairas in #774
- Release 3.0.0 beta.6 by @mairas in #775
Full Changelog: v3.0.0-beta.5...v3.0.0-beta.6
Version 3.0.0-beta.5
A small new release, with improved instrumentation.
What's Changed
Full Changelog: v3.0.0-beta.4...v3.0.0-beta.5
Version 3.0.0-beta.4
Lots of changes in this one; also some breaking ones.
What's Changed
- Fix Repeat template classes by @mairas in #751
- Add an event_loop() convenience function by @mairas in #753
- Implement a task synchronization consumable by @mairas in #754
- Fix event loop calls by @mairas in #760
- Bump vite from 5.0.13 to 5.1.8 in /frontend-plugins/sample-plugin-js by @dependabot in #756
- Bump rollup from 4.5.0 to 4.24.0 in /frontend-plugins/sample-plugin-js by @dependabot in #757
- Bump micromatch from 4.0.7 to 4.0.8 in /frontend by @dependabot in #758
- Bump rollup from 4.20.0 to 4.24.0 in /frontend by @dependabot in #759
- Web UI class cleanups by @mairas in #755
- Refactor web UI config item C++ implementation by @mairas in #761
- Rename ValueProducer::output by @mairas in #763
- Refactor TaskQueueProducer by @mairas in #764
- Unit tests and memory safety by @mairas in #765
- SKMetadata fix by @mairas in #766
- Networking compile-time configuration by @mairas in #767
- More smart pointers by @mairas in #769
- Release 3.0.0 beta.4 by @mairas in #770
Full Changelog: v3.0.0-beta.3...v3.0.0-beta.4
Version 3.0.0-beta.3
Version 3.0.0-beta.2
ReactESP namespace is no longer imported, meaning that whenever ReactESP classes are used, reactesp::
namespace needs to be explicitly defined.
ReactESP is no longer a singleton class. Instead, An object is maintained in SensESPBaseApp.
ReactESP classes have been renamed to better convey their meaning.
Lots of linter issue fixed.
What's Changed
- Replace mentions of Slack with Discord by @mairas in #732
- Fix restartRequired context handling by @mairas in #734
- Lint and Reformat frontend files by @mairas in #735
- Bump vite from 5.0.0 to 5.0.13 in /frontend-plugins/sample-plugin-js by @dependabot in #725
- Restore prematurely removed file by @mairas in #736
- Fix clang-tidy warnings by @mairas in #737
- Rename ReactESP classes by @mairas in #739
New Contributors
- @dependabot made their first contribution in #725
Full Changelog: v3.0.0-beta.1...v3.0.0-beta.2
Version 3.0.0-beta.1
-
WiFiManager replaced with built-in implementation
- Supports simultaneous client and AP
- Same frontend used as captive portal
- Support for multiple alternative WiFi networks
-
Web server replaced with ESP-IDF standard implementation
-
Websockets replaced with ESP-IDF standard implementation
-
AsyncTCP dependencies removed
-
RemoteDebug replaced with ESP-IDF debugging macros
-
Web Frontend rewritten from scratch with Preact and Bootstrap
- JSONEditor no longer used
- More flexible and user-friendly UI
- Support for authentication
- Support for frontend plugins (app-defined React pages)
- Indicate when a ocnfiguration change requires a restart
-
Remove Startable class
-
Rename classes:
SensorT
->Sensor
IntegratorT
->Integrator
DebounceTemplate
->Debounce
WSClient
->SKWSClient
-
Add a run script to help with SensESP development
-
Function signature changes:
- Pass received JSON objects
- Rename
ValueConsumer::set_input
toValueConsumer::set
. The value parameter
is now passed as a const reference. The input_channel parameter is removed.
-
Add new transforms:
ExpiringValue
: output value expires after a given time unless updatedRepeat
: repeats the input value at a given intervalRepeatStopping
: repeats the input value at a given interval, stopping after a given timeRepeatExpiring
: repeats the input value at a given interval, expiring after a given timeRepeatConstantRate
: repeats the input value at a constant rate, regardless of input rateJoin
: joins multiple input values into a single output tuple that is emitted when any inputs are updatedZip
: joins multiple input values into a single output tuple that is emitted when all inputs are updatedThrottle
: limits the rate of output updatesFilter
: emits the input value only if it passes a given test
-
Support asynchronous configurables for setting remote device configuration
using the web interface -
Implement stream producers that emit characters or lines from a stream
(e.g., a serial port)
Version 2.7.2
What's Changed
This release only includes on change which was omitted from the previous one. The fix resolves compilation issues of the SensESP/NMEA0183
repository.
Full Changelog: v2.7.1...v2.7.2
Version 2.7.1
What's Changed
- List SensESP-BN-880 project by @mairas in #662
- 645 showLoader function restored to sensesp.js by @moorcoder in #646
- Fixed error when saving configuration for FloatThreshold by @rogerlittin in #649
- added signalk_listener config option by @mestafin in #660
- added constant_sensor class by @mestafin in #661
- Implement a time counter transform for measuring engine hours by @mairas in #667
- Peg ArduinoJson version to 6.x.y by @mairas in #669
- Release 2.7.1 by @mairas in #670
New Contributors
- @moorcoder made their first contribution in #646
- @rogerlittin made their first contribution in #649
- @mestafin made their first contribution in #660
Full Changelog: v2.7.0...v2.7.1
Version 2.7.0
What's Changed
- WiFi State output split away from Networking by @mairas in #635
- Correction to the calculation per issue #638 by @Techstyleuk in #639
- Use mDNS always unless a server has been configured by @mairas in #636
- Arduino style fix by @mairas in #652
- Button Handler by @mairas in #655
- Release 2.7.0 by @mairas in #657
New Contributors
- @ESchlotfeldt made their first contribution in #631
- @Techstyleuk made their first contribution in #639
- @tkurki made their first contribution in #641
Full Changelog: v2.6.0...v2.7.0