Skip to content

Release v0.2.0

Choose a tag to compare

@github-actions github-actions released this 12 Feb 05:29
· 91 commits to master since this release

Firmware Release v0.2.0

  • Fix release tagging (607545a)
  • Fix workflow, remove latest tag move (5dd4350)
  • Fix changelog (a3b298f)
  • Merge branch 'master' of https://github.com/cbrown350/coopcontroller (5c92100)
  • ci(release): add automated changelog generation (f872ed7)
  • ci(release): add automated changelog generation (6342f4a)
  • feat(settings): add NVS backup/restore for OTA updates (8ec672f)
  • ci(release): add latest release automation and fix manifest URLs (7cf6b2c)
  • ci(release): add contents write permission (d2797b8)
  • ci(release): split tests into desktop and embedded (31f9dbe)
  • ci(release): enable manual workflow dispatch (45bf806)
  • ci(release): restrict release builds to master branch tags (9fc9255)
  • feat(ota): enhance release workflow with tag-triggered builds and chart improvements (be5c14a)
  • feat(ota): add UpdateManager with chunked response streaming and trigger source tracking (b860741)
  • feat(ota): add GitHub Actions release workflow and OTA system foundation (7d4d9a3)
  • build(ci): implement GitHub Actions semantic versioning release workflow (c9b397c)
  • refactor(history): convert to pure event-based data capture (dddb34b)
  • feat(history): add event-based data capture for state changes (e4641c0)
  • build: add build timestamp generation script for consistent UTC timestamps (345b6b3)
  • feat(ui): add ui build date and time display (2343d47)
  • fix(hal): fix json body lifetime in web requests (f9e101a)
  • feat(ui): persist auto-refresh preference in history view (09a7a56)
  • test: add HistoricalDataManager to CoopControllerWebServer tests (600743d)
  • fix(hal): add proper body handling for POST/PUT requests to fix clear faults button (3c5a8b2)
  • perf(hal): avoid blocking timeouts in getTime with NTP caching to speed up startup when wifi hasn't yet connected (40cd387)
  • feat(data): add historical data collection and visualization with CSV export (8d37836)
  • refactor(api): change broken api brightness to use JSON instead of FormData (8a9175d)
  • build(deps): disable lib_deps (6efee09)
  • build(web): add LittleFS image verification (8b9b709)
  • refactor(api): change reset and reboot to use JSON instead of FormData (44fa1fa)
  • feat(wifi, ui): add BSSID preference and web theming (936be20)
  • feat(settings): add runtime syslog and flow interval configuration (2a2145e)
  • feat(UI/wifi): add BSSID preference and enhance WiFi status display (7745284)
  • feat(door): add door lockout and timeout auto-calculation features (657de7b)
  • docs: restructure agent documentation into organized subdocuments (3aa6912)
  • feat(api): add HTTP Basic Authentication to API endpoints (326c8db)
  • docs(dev_images): clarify pillow installation instructions (3aa0c71)
  • feat(hw): add hardware factory reset on boot (5eec668)
  • feat(pump): add scheduled pump maintenance cycles, unit tests pass, not tested with hardware (c683e5e)
  • docs(agents): mark water meter calibration as implemented (513ac78)
  • docs: fix shell variable in path export (b0f63a9)
  • fix(emulator): fix Recording feature, API problem and route ordering (f125e33)
  • docs(emulator): update documentation with completed features (5e32ed2)
  • feat(emulator): add custom scenarios, signal recording, and temperature emulation, complete per the emulation plan, but not yet tested (e19456f)
  • feat(emulator): add settings import/export and backup functionality (168ed82)
  • chore(emulator): ignore emulator settings file (96384fa)
  • feat(emulator): set hostname for soft AP and improve logging (17b0594)
  • docs(emulator): add comprehensive hardware emulator documentation and fix compiler warnings, sprint 7 (f84a996)
  • feat(emulator): add scenario management system with predefined test configurations, Sprint 6 (c2d6141)
  • feat(emulator): add manual controls with pattern tracking and override mode, sprint 5 (0bf33a6)
  • feat(emulator): implement hardware emulator with web UI for ESP32 - initial code for sprint 1 from the plan, untested (d0258fa)
  • feat(build): rename test folders to add unit_ and add hardware emulator framework for using a separate ESP32 board to emulate pump, door, temp sensor and water meter. (c2894bf)
  • fix(hal-esp32): handle json body in web requests (0a4a14c)
  • fix: improve code safety and fix bugs across multiple controllers (57a624a)
  • Update DaisyUI (c1214fe)
  • Fix minor warnings related to signing (829b7fb)
  • Document classes for improved clarity and maintainability (cafa542)
  • docs: add section for PR problems found during review in Agents.md (e1cf14b)
  • Merge pull request #2 from cbrown350/refactor-for-unit-test (21f1109)
  • Merge pull request #1 from cbrown350/implement-current-unit-tests (6a629ef)
  • test: update implementation status and test coverage details in Agents.md (c6d5904)
  • fix: update Python interpreter path in VSCode settings (eddaf11)
  • Revert back uncommented code that was commented out for testing without all hardware connected (a34d877)
  • test: enhance PumpController with flow error handling and cycling state management; add unit tests for accurate cycle statistics (d59abfe)
  • test: enhance MockSensorManager for improved sensor data handling and connection states; fixed some pump controller tests, but many still failing (d293414)
  • test: enhance LightController tests with fade functionality and JSON state validation (5cbe0a2)
  • test: enhance MockBuzzerController and MockHAL for improved alert tracking and WiFi status handling (1707c98)
  • refactor: change timeout and retry settings to use unsigned int for better type safety (c1489cc)
  • test: add unit tests for WifiController functionality, but many tests still failing (9c9c5de)
  • test: add MockBuzzerController and update includes in test_DoorController (d1c1731)
  • test: add comprehensive unit tests for SunriseSunsetCalculator functionality (0788ec7)
  • fix: enhance SettingsManager for unit testing with new methods and adjustments (74db133)
  • fix: define UNIT_TEST_DESKTOP flag for desktop unit tests (67eb3d6)
  • fix: update include path for MockHAL in test_Logger_main.cpp (776b553)
  • refactor: update include paths for MockHAL in test files (1706173)
  • fix: ensure PIL is installed before modifying dev images (e0cb9b3)
  • chore: update .gitignore to include tmp/ directory (e248dc0)
  • docs: add arduinofake testing guidelines and ui specs (a444dd6)
  • refactor(hal): abstract hardware access and add comprehensive unit tests (4aaa727)
  • chore(deps): update package-lock.json (48213b0)
  • chore(ide): configure clangd for ESP32 development (a224eb5)
  • fix(web): prevent filesystem errors on SPA client-side routes (b1567b0)
  • feat: add per-pulse flow calculation and pump OFF monitoring (c21f579)
  • Merge branch 'refactor-for-unit-test' of https://github.com/cbrown350/coopcontroller into refactor-for-unit-test (47bfc24)
  • docs: add API authentication security requirements (43a5cbc)
  • refactor(sensor): use dynamic calibration from settings (4fca7db)
  • build(web): change build output to www subdirectory (0660ddf)
  • build(web): change build output to www subdirectory (d99e049)
  • refactor: remove unused esp mdns include (0833fcc)
  • docs: update project status and document HAL refactoring completion (73517e2)
  • Refactor MockHAL and related tests (16a8246)
  • refactor: add .g3 to .gitignore (0299255)
  • refactor: integrate IHAL dependency into BuzzerController, WifiController, and SettingsManager; add unit tests for BuzzerController (fails) (467e035)
  • refactor: specify platform version in platformio.ini (25b3cb2)
  • refactor: update rollup and related packages to version 4.53.5 (b2692d7)
  • refactor: correct include path for MockHAL in test_Logger_main.cpp (0ba8c3a)
  • refactor: add unit tests for Logger instance consistency (696f69a)
  • refactor: remove unused function and clean up IntelliSense path script (e67103b)
  • refactor: add IntelliSense path fixing script for desktop unit tests (f152d59)
  • Cleanup warnings and adjust structure for test (4bfa6fc)
  • refactor: update firmware installation instructions to include alternative local URL (c4012f5)
  • refactor: update README for clarity and structure, enhance firmware installation instructions (837f997)
  • refactor: update pin layout references to new documentation structure (ea9c760)
  • refactor: enhance password validation and add clear password option in Settings (0b4d695)
  • refactor: fix settings payload structure so it doesn't clear the password and password validation (ffa97e1)
  • refactor: simplify log level setting in CoopControllerWebServer (c8d41de)
  • Start refactor for better testability, abstract HAL. (0d43425)
  • chore(deps): update package-lock.json dependencies (88b6c36)
  • chore(logger): add stdarg.h include for variadic function support (bab9f9d)
  • test: configure googletest for unit testing environment (0bb03e3)
  • refactor: reorganize monolithic codebase into modular libraries with improved testing; not yet refactored src for testability (e5ebd40)
  • refactor(webserver): rename WebServer to CoopControllerWebServer (8cd99fb)
  • chore: update .gitignore with data_testbed and .rar files (821462a)
  • fix(controller): allow schedule check when door is open or closed (03d1e23)
  • chore(deps): update package-lock.json (0706f06)
  • docs: update project documentation to reflect refactoring progress (04790b7)
  • refactor(logger): make all logging methods const and update interface (f7b17e9)
  • chore(deps): update package-lock.json (7364c2b)
  • chore(config): remove hardcoded hostname from example settings (40300db)
  • fix(sunrise): increase calculation frequency to twice daily (6482d6a)
  • refactor(wifi): extract WiFi functionality into dedicated controller class (4a30470)
  • docs: update documentation with recent fixes and implementation status (342c110)
  • refactor(settings): update JSON document handling to use JsonDocument API (6bffd50)
  • feat(automation): add sunrise/sunset based scheduling with location support (66ca631)
  • feat(web): enhance light control with real-time brightness adjustment (2b55808)
  • feat(web): implement comprehensive light control UI and API (723e4fb)
  • docs: update implementation status and document light controller features (ac20502)
  • feat(light): add comprehensive light controller with PWM control and scheduling (414eeba)

Download Firmware

  • Merged Binary (recommended for OTA): firmware_merged.bin
  • Firmware Binary: firmware.bin
  • Filesystem Binary: littlefs.bin
  • Version Manifest: version_manifest.json (for OTA updates)

Checksums

Firmware SHA256: 50f38c490fe5ec1899befefd1ab7727a877fd9c5439bc08fcb896af3158174e1
Filesystem SHA256: 05f7615ea17397a499339e6a6114f0106ed55088f55aa44f47f1d0a12ea88624
Merged SHA256: adfcfbf6ad8c44426541240ef280fb3d72e4ef69f7840ce19bf17ff6722da595

Build Artifacts

  • Firmware Size: 1278688 bytes
  • Filesystem Size: 524288 bytes
  • Merged Size: 4194304 bytes
  • Git Commit: 607545a