Repository navigation
Release v0.2.0
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