Skip to content

Releases: dombyte/solis

v3.0.0

Choose a tag to compare

@github-actions github-actions released this 05 Oct 06:27
a0462e5

Changelog

Breaking changes

  • b313008 feat!: exit on fatal health escalation instead of restarting in-process
  • dc6d3a9 fix!: drop permissive CORS and harden static and error responses
  • fb4a6b7 refactor!: remove V1/V2 migrations and refuse pre-V2 databases
  • 1e1ec54 refactor!: rewrite the backend for v3

Features

  • 490340b feat(config): report every invalid setting with its field path
  • 0443819 feat(config): select the configuration file with a -config flag
  • 453b588 feat(ui): let users dismiss the update banner
  • be397d0 feat(ws): answer ping with pong
  • 58481d3 feat: add Modbus RTU transport selected by the address URL scheme
  • 64eeb91 feat: add backfill --force to override the history guards
  • dc8dddf feat: add debug logging across backend components
  • e6f2ff1 feat: add debug logs to the poll cycle
  • a99f42e feat: add energy cards and move status helpers into lib/utils
  • 4d87088 feat: add the power-flow diagram to the dashboard
  • b53b4cb feat: allow up to 256 WebSocket clients
  • 6a65bf1 feat: apply the review decisions: cutover offsets, non-root image, examples
  • e81219e feat: block pinch zoom in the installed PWA on touch devices
  • bcbfe04 feat: embed the web UI and API docs in the binary and serve the version from /api/version
  • ff77f81 feat: pin the history chart y-axis while the plot scrolls
  • e3bc9d8 feat: polish the history chart and simplify useMobile
  • 8522ed3 feat: put the flow diagram and energy cards in one dashboard grid
  • d7eb863 feat: raise the default retention to 10 years
  • 628e733 feat: rename the energy cards and make the info popovers responsive
  • a74e154 feat: replace the flow diagram circles with tiles and use lucide icons
  • 5c3eda4 feat: shorten energy labels and use one order across cards and history
  • 89ead3a feat: show the energy cards as a swipe carousel on phones

Bug fixes

  • 7250362 fix(docker): pass version build info into the dev image
  • 0ed51be fix(ui): detect dead WebSocket connections and reconnect faster
  • 7aa5096 fix(ui): keep "Last Updated" on the Info page current
  • d1ae3a7 fix(ui): keep the desktop sidebar viewport-tall and scroll only the content
  • eb743f5 fix(ui): keep the history chart scrolled to the latest entry after the y-axis renders
  • 0302382 fix(ui): label monthly and yearly history entries by their period
  • 50053d7 fix(ui): link the apple-touch-icon in index.html
  • 4280368 fix(ui): release the history chart's end pin only when the view moves left
  • 1f66408 fix(ui): size the dashboard grid by its own width and tidy card and table spacing
  • d6197d3 fix(ui): toggle away from the shown theme when the setting is "system"
  • 2bf0e27 fix(ui): track the resolved theme in the theme provider so the toggle follows OS changes
  • 22cc858 fix: apply SQLite pragmas through the DSN on every connection
  • 00f88c9 fix: audit findings across backend and frontend
  • 7f0eb17 fix: close the leftover findings
  • f08cd6c fix: close the remaining backend findings
  • 91944cd fix: double-counted energy, lost day closes and backfill overwrites
  • f8bfb4b fix: frontend accessibility and UI bugs
  • 6d6c3a5 fix: hide the page scrollbar in the installed PWA on touch devices
  • debdc65 fix: keep the dashboard reconnecting and never show frozen values
  • e90b923 fix: make backups self-contained and migrations refuse unsafe states
  • d92dd47 fix: make the light theme and small UI text meet WCAG AA contrast
  • aba91fc fix: narrow the pinned y-axis column and align its labels
  • 120a136 fix: reject config values that used to be misread silently
  • 8e24da7 fix: render the pinned history y-axis as HTML labels from the chart scale
  • 0035665 fix: run the container as root again
  • b8e2e46 fix: size the history y-axis from its measured tick labels
  • fe6ce2b fix: the remaining dashboard findings
  • c415341 fix: top-align the mobile nav and clear the iPhone home indicator
  • 505f145 fix: track internal/solis sources hidden by the binary ignore rule

Refactoring

  • 338203c refactor: bring Go code in line with Arch_Plan
  • c6d0e95 refactor: fix lint findings: complexity, line length, duplicate history methods
  • 601500c refactor: fold the status timestamp migration into V3
  • 131728c refactor: give poller and HTTP server their own settings structs
  • 1457553 refactor: give storage and database their own settings structs
  • 75a1661 refactor: inject domain config rules from app so config has no domain imports
  • 059ba29 refactor: move history data points into their own package
  • 3e5e4f3 refactor: move the frontend to WebSocket key subscriptions
  • b98ec42 refactor: remove unused ErrorMapper.With
  • b655c31 refactor: rename routes to router; fix frontend knip findings
  • bca3058 refactor: use single-letter receivers

Documentation

  • 6707459 docs: add license, checks, Go version and release badges to the README
  • b8907e1 docs: align docs with the code and tighten repo hygiene
  • 5fdb9e0 docs: bring the README up to date with the reviewed code
  • 0c02392 docs: describe the batch workflow for the migration backlog
  • 5201d73 docs: document the database upgrade path to v3 in the README
  • c71fc83 docs: follow go-project-standard v3 in AGENTS.md
  • 728c5c6 docs: follow go-project-standard v3.1 and clear the migration backlog
  • 50ac7d5 docs: follow go-project-standard v3.2
  • b170b2c docs: make AGENTS.md self-contained; retire Plan.md
  • e00b19d docs: make the agent guide self-contained
  • e578b6a docs: replace the README screenshots with one desktop and mobile mockup
  • 39aeb70 docs: shorten the README and bring AGENTS.md up to date with the code
  • 39021c7 docs: slim the readme down to what users need
  • b8f8339 docs: update AGENTS.md for history package and config rules

Dependencies

  • ead3605 chore(deps): bump the Go version to 1.26.8
  • d58e94e chore(deps): hold typescript below v7 until typescript-eslint supports it
  • 78f00b1 chore(deps): lock file maintenance
  • 8913139 chore(deps): pin golangci-lint majors and skip the solis image in renovate
  • 43112a9 chore(deps): pin loose frontend ranges to the locked versions
  • 93a32e7 chore(deps): update actions/setup-node action to v7
  • 282079d chore(deps): update dependency @types/node to ^26.6.4
  • 4e2df02 chore(deps): update dependency golangci/golangci-lint to v2.14
  • 02c2a84 chore(deps): update golang docker tag to v1.27.1
  • 7f02bdd chore(deps): update modernc.org/sqlite to v1.60.0
  • 58eadeb chore(deps): update module golang.org/x/tools to v0.51.0
  • b49446f chore(deps): update npm dependencies
  • 269d834 chore(deps): upgrade mockery to v3.8.0
  • bf8c75d fix(deps): update dependency lucide-react to ^1.51.0
  • 029a54c fix(deps): update dependency lucide-react to ^1.52.0
  • c16f422 fix(deps): update module modernc.org/sqlite to v1.60.1
  • 30ff50d fix(deps): update npm dependencies
  • 5bd1529 fix(deps): update npm dependencies
  • 056fff0 fix(deps): update npm dependencies
  • ae9de1a fix(deps): update npm dependencies
  • 994c237 fix(deps): update npm dependencies

Maintenance

  • fbf6a66 build(release): ship web assets in archives and add armv7 images
  • 2def508 build(ui): use import.meta.dirname in the vite config
  • 7d78db0 chore: add a commented RTU example to the local config and dev compose
  • 04c832d chore: adopt conventional commits for changelog grouping
  • b37c786 chore: drop ignore entries for the removed ref/ folder
  • ec3b068 chore: ignore frontend node_modules in go.mod; run deadcode with -test
  • 8bb10ed chore: move pre-commit checks into golangci-lint
  • d7a8112 chore: raise local error retention and drop the dev compose command
  • 00b9d4a chore: track the example config and compose templates
  • f069432 ci(release): only run on semver tags and validate the tag format
  • 73cc56e ci: cancel superseded check runs on pull requests
  • 23d5b1f ci: drop the golangci-lint regex manager, github-actions already detects it
  • 659626f ci: let Renovate see in-range npm updates and pinned Go tools, drop Dependabot
  • cda0062 ci: pin Renovate lockfile updates to npm 11
  • 7cc87a9 ci: run go mod tidy on every Renovate Go dependency update
  • 5f76ea7 ci: run mockery as a go tool to avoid checksum-db lookups in CI
  • c1c3684 ci: skip Renovate major updates for go run tools
  • b889b7d ci: skip the checks on main for merge commits of already checked PRs
  • f1d9857 style: enable gofumpt and goimports formatters and reformat
  • 816634d test(health): wait on the snapshot, not the factory count, for the restart budget test
  • f7b8179 test: run table-driven tests in parallel

Other changes

Docker images

Platforms: linux/amd64, linux/arm64, linux/arm/v7

  • ghcr.io/dombyte/solis:v3.0.0
  • ghcr.io/dombyte/solis:v3.0
  • ghcr.io/dombyte/solis:v3
  • ghcr.io/dombyte/solis:latest

v3.0.0-rc3

v3.0.0-rc3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 30 Sep 16:21
5a125c7

Warning

This is a pre-release version. Use with caution and report any issues you encounter.

Changelog

Breaking changes

  • b313008 feat!: exit on fatal health escalation instead of restarting in-process
  • dc6d3a9 fix!: drop permissive CORS and harden static and error responses
  • fb4a6b7 refactor!: remove V1/V2 migrations and refuse pre-V2 databases
  • 1e1ec54 refactor!: rewrite the backend for v3

Features

  • 490340b feat(config): report every invalid setting with its field path
  • 0443819 feat(config): select the configuration file with a -config flag
  • be397d0 feat(ws): answer ping with pong
  • 58481d3 feat: add Modbus RTU transport selected by the address URL scheme
  • 64eeb91 feat: add backfill --force to override the history guards
  • dc8dddf feat: add debug logging across backend components
  • e6f2ff1 feat: add debug logs to the poll cycle
  • a99f42e feat: add energy cards and move status helpers into lib/utils
  • 4d87088 feat: add the power-flow diagram to the dashboard
  • b53b4cb feat: allow up to 256 WebSocket clients
  • 6a65bf1 feat: apply the review decisions: cutover offsets, non-root image, examples
  • e81219e feat: block pinch zoom in the installed PWA on touch devices
  • ff77f81 feat: pin the history chart y-axis while the plot scrolls
  • e3bc9d8 feat: polish the history chart and simplify useMobile
  • 8522ed3 feat: put the flow diagram and energy cards in one dashboard grid
  • d7eb863 feat: raise the default retention to 10 years
  • 628e733 feat: rename the energy cards and make the info popovers responsive
  • a74e154 feat: replace the flow diagram circles with tiles and use lucide icons
  • 5c3eda4 feat: shorten energy labels and use one order across cards and history
  • 89ead3a feat: show the energy cards as a swipe carousel on phones

Bug fixes

  • 7250362 fix(docker): pass version build info into the dev image
  • 0ed51be fix(ui): detect dead WebSocket connections and reconnect faster
  • 7aa5096 fix(ui): keep "Last Updated" on the Info page current
  • d1ae3a7 fix(ui): keep the desktop sidebar viewport-tall and scroll only the content
  • eb743f5 fix(ui): keep the history chart scrolled to the latest entry after the y-axis renders
  • 0302382 fix(ui): label monthly and yearly history entries by their period
  • 50053d7 fix(ui): link the apple-touch-icon in index.html
  • 4280368 fix(ui): release the history chart's end pin only when the view moves left
  • 1f66408 fix(ui): size the dashboard grid by its own width and tidy card and table spacing
  • d6197d3 fix(ui): toggle away from the shown theme when the setting is "system"
  • 2bf0e27 fix(ui): track the resolved theme in the theme provider so the toggle follows OS changes
  • 22cc858 fix: apply SQLite pragmas through the DSN on every connection
  • 00f88c9 fix: audit findings across backend and frontend
  • 7f0eb17 fix: close the leftover findings
  • f08cd6c fix: close the remaining backend findings
  • 91944cd fix: double-counted energy, lost day closes and backfill overwrites
  • f8bfb4b fix: frontend accessibility and UI bugs
  • 6d6c3a5 fix: hide the page scrollbar in the installed PWA on touch devices
  • debdc65 fix: keep the dashboard reconnecting and never show frozen values
  • e90b923 fix: make backups self-contained and migrations refuse unsafe states
  • d92dd47 fix: make the light theme and small UI text meet WCAG AA contrast
  • aba91fc fix: narrow the pinned y-axis column and align its labels
  • 120a136 fix: reject config values that used to be misread silently
  • 8e24da7 fix: render the pinned history y-axis as HTML labels from the chart scale
  • 0035665 fix: run the container as root again
  • b8e2e46 fix: size the history y-axis from its measured tick labels
  • fe6ce2b fix: the remaining dashboard findings
  • c415341 fix: top-align the mobile nav and clear the iPhone home indicator
  • 505f145 fix: track internal/solis sources hidden by the binary ignore rule

Refactoring

  • 338203c refactor: bring Go code in line with Arch_Plan
  • c6d0e95 refactor: fix lint findings: complexity, line length, duplicate history methods
  • 601500c refactor: fold the status timestamp migration into V3
  • 131728c refactor: give poller and HTTP server their own settings structs
  • 1457553 refactor: give storage and database their own settings structs
  • 75a1661 refactor: inject domain config rules from app so config has no domain imports
  • 059ba29 refactor: move history data points into their own package
  • 3e5e4f3 refactor: move the frontend to WebSocket key subscriptions
  • b98ec42 refactor: remove unused ErrorMapper.With
  • b655c31 refactor: rename routes to router; fix frontend knip findings
  • bca3058 refactor: use single-letter receivers

Documentation

  • 6707459 docs: add license, checks, Go version and release badges to the README
  • b8907e1 docs: align docs with the code and tighten repo hygiene
  • 5fdb9e0 docs: bring the README up to date with the reviewed code
  • 0c02392 docs: describe the batch workflow for the migration backlog
  • 5201d73 docs: document the database upgrade path to v3 in the README
  • c71fc83 docs: follow go-project-standard v3 in AGENTS.md
  • 728c5c6 docs: follow go-project-standard v3.1 and clear the migration backlog
  • 50ac7d5 docs: follow go-project-standard v3.2
  • b170b2c docs: make AGENTS.md self-contained; retire Plan.md
  • e578b6a docs: replace the README screenshots with one desktop and mobile mockup
  • 39aeb70 docs: shorten the README and bring AGENTS.md up to date with the code
  • b8f8339 docs: update AGENTS.md for history package and config rules

Dependencies

  • ead3605 chore(deps): bump the Go version to 1.26.8
  • d58e94e chore(deps): hold typescript below v7 until typescript-eslint supports it
  • 78f00b1 chore(deps): lock file maintenance
  • 43112a9 chore(deps): pin loose frontend ranges to the locked versions
  • 93a32e7 chore(deps): update actions/setup-node action to v7
  • 4e2df02 chore(deps): update dependency golangci/golangci-lint to v2.14
  • 02c2a84 chore(deps): update golang docker tag to v1.27.1
  • 7f02bdd chore(deps): update modernc.org/sqlite to v1.60.0
  • c16f422 fix(deps): update module modernc.org/sqlite to v1.60.1
  • 30ff50d fix(deps): update npm dependencies
  • 994c237 fix(deps): update npm dependencies
  • 056fff0 fix(deps): update npm dependencies

Maintenance

  • fbf6a66 build(release): ship web assets in archives and add armv7 images
  • 2def508 build(ui): use import.meta.dirname in the vite config
  • 7d78db0 chore: add a commented RTU example to the local config and dev compose
  • 04c832d chore: adopt conventional commits for changelog grouping
  • b37c786 chore: drop ignore entries for the removed ref/ folder
  • ec3b068 chore: ignore frontend node_modules in go.mod; run deadcode with -test
  • 8bb10ed chore: move pre-commit checks into golangci-lint
  • d7a8112 chore: raise local error retention and drop the dev compose command
  • 00b9d4a chore: track the example config and compose templates
  • 73cc56e ci: cancel superseded check runs on pull requests
  • 23d5b1f ci: drop the golangci-lint regex manager, github-actions already detects it
  • 659626f ci: let Renovate see in-range npm updates and pinned Go tools, drop Dependabot
  • cda0062 ci: pin Renovate lockfile updates to npm 11
  • 7cc87a9 ci: run go mod tidy on every Renovate Go dependency update
  • c1c3684 ci: skip Renovate major updates for go run tools
  • b889b7d ci: skip the checks on main for merge commits of already checked PRs
  • f1d9857 style: enable gofumpt and goimports formatters and reformat
  • 816634d test(health): wait on the snapshot, not the factory count, for the restart budget test
  • f7b8179 test: run table-driven tests in parallel

Other changes

Docker images

Platforms: linux/amd64, linux/arm64, linux/arm/v7

  • ghcr.io/dombyte/solis:v3.0.0-rc3

v3.0.0-rc2

v3.0.0-rc2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 30 Sep 12:13
6707459

Warning

This is a pre-release version. Use with caution and report any issues you encounter.

Changelog

Breaking changes

  • b313008 feat!: exit on fatal health escalation instead of restarting in-process
  • dc6d3a9 fix!: drop permissive CORS and harden static and error responses
  • fb4a6b7 refactor!: remove V1/V2 migrations and refuse pre-V2 databases
  • 1e1ec54 refactor!: rewrite the backend for v3

Features

  • 490340b feat(config): report every invalid setting with its field path
  • 0443819 feat(config): select the configuration file with a -config flag
  • be397d0 feat(ws): answer ping with pong
  • 58481d3 feat: add Modbus RTU transport selected by the address URL scheme
  • 64eeb91 feat: add backfill --force to override the history guards
  • dc8dddf feat: add debug logging across backend components
  • e6f2ff1 feat: add debug logs to the poll cycle
  • a99f42e feat: add energy cards and move status helpers into lib/utils
  • 4d87088 feat: add the power-flow diagram to the dashboard
  • b53b4cb feat: allow up to 256 WebSocket clients
  • 6a65bf1 feat: apply the review decisions: cutover offsets, non-root image, examples
  • e81219e feat: block pinch zoom in the installed PWA on touch devices
  • ff77f81 feat: pin the history chart y-axis while the plot scrolls
  • e3bc9d8 feat: polish the history chart and simplify useMobile
  • 8522ed3 feat: put the flow diagram and energy cards in one dashboard grid
  • d7eb863 feat: raise the default retention to 10 years
  • 628e733 feat: rename the energy cards and make the info popovers responsive
  • a74e154 feat: replace the flow diagram circles with tiles and use lucide icons
  • 5c3eda4 feat: shorten energy labels and use one order across cards and history
  • 89ead3a feat: show the energy cards as a swipe carousel on phones

Bug fixes

  • 7250362 fix(docker): pass version build info into the dev image
  • 0ed51be fix(ui): detect dead WebSocket connections and reconnect faster
  • 50053d7 fix(ui): link the apple-touch-icon in index.html
  • 22cc858 fix: apply SQLite pragmas through the DSN on every connection
  • 00f88c9 fix: audit findings across backend and frontend
  • 7f0eb17 fix: close the leftover findings
  • f08cd6c fix: close the remaining backend findings
  • 91944cd fix: double-counted energy, lost day closes and backfill overwrites
  • f8bfb4b fix: frontend accessibility and UI bugs
  • 6d6c3a5 fix: hide the page scrollbar in the installed PWA on touch devices
  • debdc65 fix: keep the dashboard reconnecting and never show frozen values
  • e90b923 fix: make backups self-contained and migrations refuse unsafe states
  • d92dd47 fix: make the light theme and small UI text meet WCAG AA contrast
  • aba91fc fix: narrow the pinned y-axis column and align its labels
  • 120a136 fix: reject config values that used to be misread silently
  • 8e24da7 fix: render the pinned history y-axis as HTML labels from the chart scale
  • 0035665 fix: run the container as root again
  • b8e2e46 fix: size the history y-axis from its measured tick labels
  • fe6ce2b fix: the remaining dashboard findings
  • c415341 fix: top-align the mobile nav and clear the iPhone home indicator
  • 505f145 fix: track internal/solis sources hidden by the binary ignore rule

Refactoring

  • 338203c refactor: bring Go code in line with Arch_Plan
  • c6d0e95 refactor: fix lint findings: complexity, line length, duplicate history methods
  • 601500c refactor: fold the status timestamp migration into V3
  • 131728c refactor: give poller and HTTP server their own settings structs
  • 1457553 refactor: give storage and database their own settings structs
  • 75a1661 refactor: inject domain config rules from app so config has no domain imports
  • 059ba29 refactor: move history data points into their own package
  • 3e5e4f3 refactor: move the frontend to WebSocket key subscriptions
  • b98ec42 refactor: remove unused ErrorMapper.With
  • b655c31 refactor: rename routes to router; fix frontend knip findings
  • bca3058 refactor: use single-letter receivers

Documentation

  • 6707459 docs: add license, checks, Go version and release badges to the README
  • b8907e1 docs: align docs with the code and tighten repo hygiene
  • 5fdb9e0 docs: bring the README up to date with the reviewed code
  • 0c02392 docs: describe the batch workflow for the migration backlog
  • 5201d73 docs: document the database upgrade path to v3 in the README
  • c71fc83 docs: follow go-project-standard v3 in AGENTS.md
  • 728c5c6 docs: follow go-project-standard v3.1 and clear the migration backlog
  • 50ac7d5 docs: follow go-project-standard v3.2
  • b170b2c docs: make AGENTS.md self-contained; retire Plan.md
  • 39aeb70 docs: shorten the README and bring AGENTS.md up to date with the code
  • b8f8339 docs: update AGENTS.md for history package and config rules

Dependencies

  • ead3605 chore(deps): bump the Go version to 1.26.8
  • d58e94e chore(deps): hold typescript below v7 until typescript-eslint supports it
  • 78f00b1 chore(deps): lock file maintenance
  • 43112a9 chore(deps): pin loose frontend ranges to the locked versions
  • 93a32e7 chore(deps): update actions/setup-node action to v7
  • 4e2df02 chore(deps): update dependency golangci/golangci-lint to v2.14
  • 02c2a84 chore(deps): update golang docker tag to v1.27.1
  • 7f02bdd chore(deps): update modernc.org/sqlite to v1.60.0
  • c16f422 fix(deps): update module modernc.org/sqlite to v1.60.1
  • 056fff0 fix(deps): update npm dependencies
  • 994c237 fix(deps): update npm dependencies

Maintenance

  • fbf6a66 build(release): ship web assets in archives and add armv7 images
  • 7d78db0 chore: add a commented RTU example to the local config and dev compose
  • 04c832d chore: adopt conventional commits for changelog grouping
  • b37c786 chore: drop ignore entries for the removed ref/ folder
  • ec3b068 chore: ignore frontend node_modules in go.mod; run deadcode with -test
  • 8bb10ed chore: move pre-commit checks into golangci-lint
  • d7a8112 chore: raise local error retention and drop the dev compose command
  • 00b9d4a chore: track the example config and compose templates
  • 73cc56e ci: cancel superseded check runs on pull requests
  • 23d5b1f ci: drop the golangci-lint regex manager, github-actions already detects it
  • 659626f ci: let Renovate see in-range npm updates and pinned Go tools, drop Dependabot
  • cda0062 ci: pin Renovate lockfile updates to npm 11
  • 7cc87a9 ci: run go mod tidy on every Renovate Go dependency update
  • c1c3684 ci: skip Renovate major updates for go run tools
  • b889b7d ci: skip the checks on main for merge commits of already checked PRs
  • f1d9857 style: enable gofumpt and goimports formatters and reformat
  • 816634d test(health): wait on the snapshot, not the factory count, for the restart budget test
  • f7b8179 test: run table-driven tests in parallel

Other changes

Docker images

Platforms: linux/amd64, linux/arm64, linux/arm/v7

  • ghcr.io/dombyte/solis:v3.0.0-rc2

v3.0.0-rc1

v3.0.0-rc1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 29 Sep 14:08
e88ed3a

Warning

This is a pre-release version. Use with caution and report any issues you encounter.

Changelog

Breaking changes

  • b313008 feat!: exit on fatal health escalation instead of restarting in-process
  • dc6d3a9 fix!: drop permissive CORS and harden static and error responses
  • fb4a6b7 refactor!: remove V1/V2 migrations and refuse pre-V2 databases
  • 1e1ec54 refactor!: rewrite the backend for v3

Features

  • 58481d3 feat: add Modbus RTU transport selected by the address URL scheme
  • 64eeb91 feat: add backfill --force to override the history guards
  • dc8dddf feat: add debug logging across backend components
  • e6f2ff1 feat: add debug logs to the poll cycle
  • a99f42e feat: add energy cards and move status helpers into lib/utils
  • 4d87088 feat: add the power-flow diagram to the dashboard
  • b53b4cb feat: allow up to 256 WebSocket clients
  • 6a65bf1 feat: apply the review decisions: cutover offsets, non-root image, examples
  • e81219e feat: block pinch zoom in the installed PWA on touch devices
  • ff77f81 feat: pin the history chart y-axis while the plot scrolls
  • e3bc9d8 feat: polish the history chart and simplify useMobile
  • 8522ed3 feat: put the flow diagram and energy cards in one dashboard grid
  • d7eb863 feat: raise the default retention to 10 years
  • 628e733 feat: rename the energy cards and make the info popovers responsive
  • a74e154 feat: replace the flow diagram circles with tiles and use lucide icons
  • 5c3eda4 feat: shorten energy labels and use one order across cards and history
  • 89ead3a feat: show the energy cards as a swipe carousel on phones

Bug fixes

  • 22cc858 fix: apply SQLite pragmas through the DSN on every connection
  • 00f88c9 fix: audit findings across backend and frontend
  • 7f0eb17 fix: close the leftover findings
  • f08cd6c fix: close the remaining backend findings
  • 91944cd fix: double-counted energy, lost day closes and backfill overwrites
  • f8bfb4b fix: frontend accessibility and UI bugs
  • 6d6c3a5 fix: hide the page scrollbar in the installed PWA on touch devices
  • debdc65 fix: keep the dashboard reconnecting and never show frozen values
  • e90b923 fix: make backups self-contained and migrations refuse unsafe states
  • d92dd47 fix: make the light theme and small UI text meet WCAG AA contrast
  • aba91fc fix: narrow the pinned y-axis column and align its labels
  • 120a136 fix: reject config values that used to be misread silently
  • 8e24da7 fix: render the pinned history y-axis as HTML labels from the chart scale
  • 0035665 fix: run the container as root again
  • b8e2e46 fix: size the history y-axis from its measured tick labels
  • fe6ce2b fix: the remaining dashboard findings
  • c415341 fix: top-align the mobile nav and clear the iPhone home indicator
  • 505f145 fix: track internal/solis sources hidden by the binary ignore rule

Refactoring

  • 338203c refactor: bring Go code in line with Arch_Plan
  • c6d0e95 refactor: fix lint findings: complexity, line length, duplicate history methods
  • 601500c refactor: fold the status timestamp migration into V3
  • 131728c refactor: give poller and HTTP server their own settings structs
  • 1457553 refactor: give storage and database their own settings structs
  • 75a1661 refactor: inject domain config rules from app so config has no domain imports
  • 059ba29 refactor: move history data points into their own package
  • 3e5e4f3 refactor: move the frontend to WebSocket key subscriptions
  • b98ec42 refactor: remove unused ErrorMapper.With
  • b655c31 refactor: rename routes to router; fix frontend knip findings
  • bca3058 refactor: use single-letter receivers

Documentation

  • b8907e1 docs: align docs with the code and tighten repo hygiene
  • 5fdb9e0 docs: bring the README up to date with the reviewed code
  • 5201d73 docs: document the database upgrade path to v3 in the README
  • b170b2c docs: make AGENTS.md self-contained; retire Plan.md
  • 39aeb70 docs: shorten the README and bring AGENTS.md up to date with the code
  • b8f8339 docs: update AGENTS.md for history package and config rules

Dependencies

  • ead3605 chore(deps): bump the Go version to 1.26.8
  • 7f02bdd chore(deps): update modernc.org/sqlite to v1.60.0

Maintenance

  • fbf6a66 build(release): ship web assets in archives and add armv7 images
  • 7d78db0 chore: add a commented RTU example to the local config and dev compose
  • 04c832d chore: adopt conventional commits for changelog grouping
  • ec3b068 chore: ignore frontend node_modules in go.mod; run deadcode with -test
  • 8bb10ed chore: move pre-commit checks into golangci-lint
  • d7a8112 chore: raise local error retention and drop the dev compose command
  • 00b9d4a chore: track the example config and compose templates
  • f1d9857 style: enable gofumpt and goimports formatters and reformat

Other changes

Docker images

Platforms: linux/amd64, linux/arm64, linux/arm/v7

  • ghcr.io/dombyte/solis:v3.0.0-rc1

v2.1.0

Choose a tag to compare

@github-actions github-actions released this 01 Sep 09:37
193b0ff

solis v2.1.0 is available!

Changelog

Full Changelog: v2.0.0...v2.1.0

Docker Images

  • ghcr.io/dombyte/solis:v2.1.0

  • ghcr.io/dombyte/solis:latest

v2.0.0

Choose a tag to compare

@github-actions github-actions released this 30 Aug 15:06
2a9f656

solis v2.0.0 is available!

Changelog

Full Changelog: v1.4.0...v2.0.0

Docker Images

  • ghcr.io/dombyte/solis:v2.0.0

  • ghcr.io/dombyte/solis:latest

v1.4.0

Choose a tag to compare

@github-actions github-actions released this 28 Jul 07:25
79383ad

solis v1.4.0 is available!

Changelog

Full Changelog: v1.3.0...v1.4.0

Docker Images

  • ghcr.io/dombyte/solis:v1.4.0

  • ghcr.io/dombyte/solis:latest

v1.3.0

Choose a tag to compare

@github-actions github-actions released this 04 Jul 12:12
b531284

solis v1.3.0 is available!

Changelog

Full Changelog: v1.2.2...v1.3.0

Docker Images

  • ghcr.io/dombyte/solis:v1.3.0

  • ghcr.io/dombyte/solis:latest

v1.2.2

Choose a tag to compare

@github-actions github-actions released this 24 Jun 07:14
7ec9d96

solis v1.2.2 is available!

Changelog

Full Changelog: v1.2.1...v1.2.2

Docker Images

  • ghcr.io/dombyte/solis:v1.2.2

  • ghcr.io/dombyte/solis:latest

v1.2.1

Choose a tag to compare

@github-actions github-actions released this 12 Jun 06:02
e3ac1e1

solis v1.2.1 is available!

Changelog

Full Changelog: v1.2.0...v1.2.1

Docker Images

  • ghcr.io/dombyte/solis:v1.2.1

  • ghcr.io/dombyte/solis:latest