Skip to content
This repository was archived by the owner on Nov 11, 2026. It is now read-only.

Releases

v1.8.0

Choose a tag to compare

@github-actions github-actions released this 11 Nov 18:17
33367c9

Deprecated

  • Git Sync is now a module of System Hub, and this repository is archived: no more updates here. Turned on in System Hub, the module takes over the settings of Git Sync. While both are set up, Git Sync raises a repair in Settings → Repairs, as it would otherwise run twice and register its cards twice: remove Git Sync and its card resource once the module is on. See Migrating (juju35/ha-system-hub#49, thanks @FredM67).

v1.7.1

Choose a tag to compare

@github-actions github-actions released this 09 Nov 17:32
d4fbacc

Maintenance

  • No code change: released again to check the installation from the Marketplace.

v1.7.0

Choose a tag to compare

@github-actions github-actions released this 09 Nov 17:02
fee5447

Features

  • Commit before updates (option, off by default): when the update.install action runs — Home Assistant, an add-on, an integration, from its update entity, the Settings page, an automation or Update all — the configuration is committed and pushed first (chore: snapshot before updating Home Assistant Core to 2026.12.0), so there is a commit to go back to if the update breaks something. Updates installed together get one snapshot, from before the first. A failed snapshot is logged and never stops the update.

v1.6.1

Choose a tag to compare

@github-actions github-actions released this 09 Nov 16:57
965bb1b

Security

  • The dashboard export only writes inside the configuration folder or a folder of allowlist_external_dirs, outside hidden folders such as .storage (symlinks followed). Any other folder is refused in the options, and an entry saved earlier with such a folder gets an error instead of an export: a folder such as /media would have handed the dashboards to every user of the media browser.

Changes

  • The default export folder is dashboards_export, read from the configuration folder (still /config/dashboards_export on Home Assistant OS); a relative folder is read from there instead of the process's working directory.

v1.6.0

Choose a tag to compare

@github-actions github-actions released this 09 Nov 12:45
fac7e7e

Performance

  • Translations load on demand: in the release zip, the frontend files keep English only (git-sync-card.js 118 KB → 68 KB) and each other language is its own <file>.i18n.<lang>.js file next to them, fetched the first time a card or the panel needs it. Home Assistant loads the card on every dashboard, so each page used to download and parse all 22 languages to use one. The cards and panel are defined once the page's language has arrived (a few milliseconds), so they render translated from the start.

Maintenance

  • The repository keeps every language in the sources: the release runs scripts/split-frontend.mjs before building the zip, and the Validate workflow checks the split on a copy (every table is rebuilt from the split files and compared).

Fixes

  • Setup and reconfiguration check the target branch with git check-ref-format --branch: a name git refuses (main.., a space, a leading -) is reported on the form instead of making the first push fail after a successful setup.

v1.5.1

Choose a tag to compare

@github-actions github-actions released this 08 Nov 14:24
716337c

Security

  • The diff sent to the AI task also hides the values of authorization, bearer, api-key/apikey/x-api-key, private_key, passwd and pin keys, of YAML list items (- password: …), and any Bearer token.
  • The card and the mini card show the actions (commit, pull, export, diff, AI message) to administrators only; other users see the status.

Fixes

  • The Pull button is shown whenever the remote has new commits (also with local changes or after an error, and on a clean diverged branch), except with local changes on top of unpushed commits.
  • An automatic commit that fails to push or fetch is logged as one warning per distinct error, without a traceback, and is still retried at every interval.

v1.4.0

Choose a tag to compare

@github-actions github-actions released this 07 Nov 16:41
386bcb1

What's new

  • Diagnostics: Download diagnostics now gives the entry settings and the last status, with the SSH key path, the commit author name and email and the credentials of an HTTPS remote URL redacted.

v1.3.0

Choose a tag to compare

@github-actions github-actions released this 07 Nov 15:00
27a752f

What's new

  • Behind and diverged: the remote is now fetched during the status refresh (every 15 minutes by default, new Remote check interval option, 0 to disable) and before each commit, so the behind count is current. The status sensor and the card's status pill gain the behind and diverged states.
  • Pull before push (new option, on by default): when the remote has new commits, the commit is rebased on them (git pull --rebase --autostash) before the push. A diverged branch is neither committed nor pushed, and a rebase conflict is aborted (git rebase --abort) without pushing; both raise a clear error and a repair explaining how to resolve it, removed by the next successful push.
  • Secret guard: a commit, and the AI message generation, are refused when the changes include secrets.yaml, .storage/, .ssh/, *.pem, *.key, id_rsa*, known_devices.yaml, home-assistant_v2.db* or *.log (new Allow tracked sensitive files option for the ones already tracked). The values of password, token, api_key, secret and client_secret keys are hidden from the diff sent to the AI task.
  • New repair when .gitignore does not exclude secrets.yaml and .storage/: its fix shows the lines to add and appends them once an administrator confirms.

v1.2.1

Choose a tag to compare

@github-actions github-actions released this 07 Nov 14:31
33bdf28

Security

  • The git_sync actions (commit_push, export_dashboards, generate_message, get_diff, generate_ssh_key) now require an administrator: a non-admin user could read the diff, secrets.yaml included, or commit, push and create the SSH key. Automations, scripts and the card used by an administrator work as before.

v1.2.0

Choose a tag to compare

@github-actions github-actions released this 07 Nov 08:37
d79e7c6

What's new

  • Diff viewer in the card: the View changes button (beside Commit & push and Export dashboards, in the mini card's footer, and as a link in the commit confirmation) opens a full-screen view of what the next commit would include, file by file like an editor's source control view. The files on the left with their status letter (added, modified, deleted, renamed, mode) and their added and removed lines; the selected file on the right hunk by hunk, with the line numbers of both sides, additions in green and deletions in red, renames with their old path, binary files and cut patches flagged. Full screen on a phone, with the files as a row of chips above the diff. ↑ ↓ walk the files, Escape or a click outside closes, Commit & push goes straight to the commit confirmation. Translated in every language of the card.
  • New action git_sync.get_diff: the same changes, file by file (status, old path, binary, added and removed lines, hunks with both line numbers), computed on a copy of the Git index so nothing is staged or committed. At most 2000 lines per file and 200 files per response, the rest counted.