Releases: ev-dev-labs/teslasync
Release list
TeslaSync v2.1.0-rc.next-experiments.g438ad47ff
β οΈ Pre-release (branch: next-experiments)
π¦ Docker Images
# Backend API
docker pull ghcr.io/ev-dev-labs/teslasync-api:2.1.0-rc.next-experiments.g438ad47ff
# Web Frontend
docker pull ghcr.io/ev-dev-labs/teslasync-web:2.1.0-rc.next-experiments.g438ad47ff
# Notification Worker
docker pull ghcr.io/ev-dev-labs/teslasync-notification-worker:2.1.0-rc.next-experiments.g438ad47ff
# Export Worker
docker pull ghcr.io/ev-dev-labs/teslasync-export-worker:2.1.0-rc.next-experiments.g438ad47ff
# Automation Worker
docker pull ghcr.io/ev-dev-labs/teslasync-automation-worker:2.1.0-rc.next-experiments.g438ad47ffβ Helm Chart
helm install teslasync oci://ghcr.io/ev-dev-labs/charts/teslasync --version 2.1.0-rc.next-experiments.g438ad47ffπ Image Verification
All images are signed with cosign (keyless, via GitHub OIDC) and ship with a CycloneDX SBOM attestation:
# Verify image signature
cosign verify ghcr.io/ev-dev-labs/teslasync-api:2.1.0-rc.next-experiments.g438ad47ff \
--certificate-identity-regexp="github.com/ev-dev-labs/teslasync" \
--certificate-oidc-issuer="https://token.actions.githubusercontent.com"
# Verify + extract SBOM attestation
cosign verify-attestation \
--type cyclonedx \
--certificate-identity-regexp="github.com/ev-dev-labs/teslasync" \
--certificate-oidc-issuer="https://token.actions.githubusercontent.com" \
ghcr.io/ev-dev-labs/teslasync-api:2.1.0-rc.next-experiments.g438ad47ff \
| jq -r '.payload' | base64 -d | jq '.predicate' > sbom.cdx.jsonπ Changes
- updated (@atul Gupta)
- Added (@atul Gupta)
- Updated (@atul Gupta)
- feat(api,web): Remaining Useful Life β predictive component prognostics (@atul Gupta)
- feat(api,web): Carbon Intelligence β grid-aware CO2 accounting (@atul Gupta)
- feat(api,web): Battery Passport β verifiable SoH provenance certificate (@atul Gupta)
- feat(api,web): Vehicle Time Machine β point-in-time signal reconstruction (@atul Gupta)
- feat(web): What-If Simulator β counterfactual drive physics sandbox (@atul Gupta)
- feat(web): Drive DNA β deterministic generative telemetry art (@atul Gupta)
Full Changelog: v2.0.9...v2.1.0-rc.next-experiments.g438ad47ff
π Assets
| Asset | Tag |
|---|---|
| Backend Image | ghcr.io/ev-dev-labs/teslasync-api:2.1.0-rc.next-experiments.g438ad47ff |
| Web Image | ghcr.io/ev-dev-labs/teslasync-web:2.1.0-rc.next-experiments.g438ad47ff |
| Notification Worker | ghcr.io/ev-dev-labs/teslasync-notification-worker:2.1.0-rc.next-experiments.g438ad47ff |
| Export Worker | ghcr.io/ev-dev-labs/teslasync-export-worker:2.1.0-rc.next-experiments.g438ad47ff |
| Automation Worker | ghcr.io/ev-dev-labs/teslasync-automation-worker:2.1.0-rc.next-experiments.g438ad47ff |
| Helm Chart | oci://ghcr.io/ev-dev-labs/charts/teslasync:2.1.0-rc.next-experiments.g438ad47ff |
TeslaSync v2.0.10
π TeslaSync v2.0.10
π¦ Docker Images
# Backend API
docker pull ghcr.io/ev-dev-labs/teslasync-api:2.0.10
# Web Frontend
docker pull ghcr.io/ev-dev-labs/teslasync-web:2.0.10
# Notification Worker
docker pull ghcr.io/ev-dev-labs/teslasync-notification-worker:2.0.10
# Export Worker
docker pull ghcr.io/ev-dev-labs/teslasync-export-worker:2.0.10
# Automation Worker
docker pull ghcr.io/ev-dev-labs/teslasync-automation-worker:2.0.10β Helm Chart
helm install teslasync oci://ghcr.io/ev-dev-labs/charts/teslasync --version 2.0.10π Image Verification
All images are signed with cosign (keyless, via GitHub OIDC) and ship with a CycloneDX SBOM attestation:
# Verify image signature
cosign verify ghcr.io/ev-dev-labs/teslasync-api:2.0.10 \
--certificate-identity-regexp="github.com/ev-dev-labs/teslasync" \
--certificate-oidc-issuer="https://token.actions.githubusercontent.com"
# Verify + extract SBOM attestation
cosign verify-attestation \
--type cyclonedx \
--certificate-identity-regexp="github.com/ev-dev-labs/teslasync" \
--certificate-oidc-issuer="https://token.actions.githubusercontent.com" \
ghcr.io/ev-dev-labs/teslasync-api:2.0.10 \
| jq -r '.payload' | base64 -d | jq '.predicate' > sbom.cdx.jsonπ Changes
Full Changelog: v2.0.9...v2.0.10
π Assets
| Asset | Tag |
|---|---|
| Backend Image | ghcr.io/ev-dev-labs/teslasync-api:2.0.10 |
| Web Image | ghcr.io/ev-dev-labs/teslasync-web:2.0.10 |
| Notification Worker | ghcr.io/ev-dev-labs/teslasync-notification-worker:2.0.10 |
| Export Worker | ghcr.io/ev-dev-labs/teslasync-export-worker:2.0.10 |
| Automation Worker | ghcr.io/ev-dev-labs/teslasync-automation-worker:2.0.10 |
| Helm Chart | oci://ghcr.io/ev-dev-labs/charts/teslasync:2.0.10 |
TeslaSync v2.1.0-rc.next-experiments.g4c7777664
β οΈ Pre-release (branch: next-experiments)
π¦ Docker Images
# Backend API
docker pull ghcr.io/ev-dev-labs/teslasync-api:2.1.0-rc.next-experiments.g4c7777664
# Web Frontend
docker pull ghcr.io/ev-dev-labs/teslasync-web:2.1.0-rc.next-experiments.g4c7777664
# Notification Worker
docker pull ghcr.io/ev-dev-labs/teslasync-notification-worker:2.1.0-rc.next-experiments.g4c7777664
# Export Worker
docker pull ghcr.io/ev-dev-labs/teslasync-export-worker:2.1.0-rc.next-experiments.g4c7777664
# Automation Worker
docker pull ghcr.io/ev-dev-labs/teslasync-automation-worker:2.1.0-rc.next-experiments.g4c7777664β Helm Chart
helm install teslasync oci://ghcr.io/ev-dev-labs/charts/teslasync --version 2.1.0-rc.next-experiments.g4c7777664π Image Verification
All images are signed with cosign (keyless, via GitHub OIDC) and ship with a CycloneDX SBOM attestation:
# Verify image signature
cosign verify ghcr.io/ev-dev-labs/teslasync-api:2.1.0-rc.next-experiments.g4c7777664 \
--certificate-identity-regexp="github.com/ev-dev-labs/teslasync" \
--certificate-oidc-issuer="https://token.actions.githubusercontent.com"
# Verify + extract SBOM attestation
cosign verify-attestation \
--type cyclonedx \
--certificate-identity-regexp="github.com/ev-dev-labs/teslasync" \
--certificate-oidc-issuer="https://token.actions.githubusercontent.com" \
ghcr.io/ev-dev-labs/teslasync-api:2.1.0-rc.next-experiments.g4c7777664 \
| jq -r '.payload' | base64 -d | jq '.predicate' > sbom.cdx.jsonπ Changes
- Updated (@atul Gupta)
- feat(api,web): Remaining Useful Life β predictive component prognostics (@atul Gupta)
- feat(api,web): Carbon Intelligence β grid-aware CO2 accounting (@atul Gupta)
- feat(api,web): Battery Passport β verifiable SoH provenance certificate (@atul Gupta)
- feat(api,web): Vehicle Time Machine β point-in-time signal reconstruction (@atul Gupta)
- feat(web): What-If Simulator β counterfactual drive physics sandbox (@atul Gupta)
- feat(web): Drive DNA β deterministic generative telemetry art (@atul Gupta)
Full Changelog: v2.0.9...v2.1.0-rc.next-experiments.g4c7777664
π Assets
| Asset | Tag |
|---|---|
| Backend Image | ghcr.io/ev-dev-labs/teslasync-api:2.1.0-rc.next-experiments.g4c7777664 |
| Web Image | ghcr.io/ev-dev-labs/teslasync-web:2.1.0-rc.next-experiments.g4c7777664 |
| Notification Worker | ghcr.io/ev-dev-labs/teslasync-notification-worker:2.1.0-rc.next-experiments.g4c7777664 |
| Export Worker | ghcr.io/ev-dev-labs/teslasync-export-worker:2.1.0-rc.next-experiments.g4c7777664 |
| Automation Worker | ghcr.io/ev-dev-labs/teslasync-automation-worker:2.1.0-rc.next-experiments.g4c7777664 |
| Helm Chart | oci://ghcr.io/ev-dev-labs/charts/teslasync:2.1.0-rc.next-experiments.g4c7777664 |
TeslaSync v2.1.0-rc.next-experiments.g16027fe1f
β οΈ Pre-release (branch: next-experiments)
π¦ Docker Images
# Backend API
docker pull ghcr.io/ev-dev-labs/teslasync-api:2.1.0-rc.next-experiments.g16027fe1f
# Web Frontend
docker pull ghcr.io/ev-dev-labs/teslasync-web:2.1.0-rc.next-experiments.g16027fe1f
# Notification Worker
docker pull ghcr.io/ev-dev-labs/teslasync-notification-worker:2.1.0-rc.next-experiments.g16027fe1f
# Export Worker
docker pull ghcr.io/ev-dev-labs/teslasync-export-worker:2.1.0-rc.next-experiments.g16027fe1f
# Automation Worker
docker pull ghcr.io/ev-dev-labs/teslasync-automation-worker:2.1.0-rc.next-experiments.g16027fe1fβ Helm Chart
helm install teslasync oci://ghcr.io/ev-dev-labs/charts/teslasync --version 2.1.0-rc.next-experiments.g16027fe1fπ Image Verification
All images are signed with cosign (keyless, via GitHub OIDC) and ship with a CycloneDX SBOM attestation:
# Verify image signature
cosign verify ghcr.io/ev-dev-labs/teslasync-api:2.1.0-rc.next-experiments.g16027fe1f \
--certificate-identity-regexp="github.com/ev-dev-labs/teslasync" \
--certificate-oidc-issuer="https://token.actions.githubusercontent.com"
# Verify + extract SBOM attestation
cosign verify-attestation \
--type cyclonedx \
--certificate-identity-regexp="github.com/ev-dev-labs/teslasync" \
--certificate-oidc-issuer="https://token.actions.githubusercontent.com" \
ghcr.io/ev-dev-labs/teslasync-api:2.1.0-rc.next-experiments.g16027fe1f \
| jq -r '.payload' | base64 -d | jq '.predicate' > sbom.cdx.jsonπ Changes
- Added (@atul Gupta)
- Updated (@atul Gupta)
- feat(api,web): Remaining Useful Life β predictive component prognostics (@atul Gupta)
- feat(api,web): Carbon Intelligence β grid-aware CO2 accounting (@atul Gupta)
- feat(api,web): Battery Passport β verifiable SoH provenance certificate (@atul Gupta)
- feat(api,web): Vehicle Time Machine β point-in-time signal reconstruction (@atul Gupta)
- feat(web): What-If Simulator β counterfactual drive physics sandbox (@atul Gupta)
- feat(web): Drive DNA β deterministic generative telemetry art (@atul Gupta)
Full Changelog: v2.0.9...v2.1.0-rc.next-experiments.g16027fe1f
π Assets
| Asset | Tag |
|---|---|
| Backend Image | ghcr.io/ev-dev-labs/teslasync-api:2.1.0-rc.next-experiments.g16027fe1f |
| Web Image | ghcr.io/ev-dev-labs/teslasync-web:2.1.0-rc.next-experiments.g16027fe1f |
| Notification Worker | ghcr.io/ev-dev-labs/teslasync-notification-worker:2.1.0-rc.next-experiments.g16027fe1f |
| Export Worker | ghcr.io/ev-dev-labs/teslasync-export-worker:2.1.0-rc.next-experiments.g16027fe1f |
| Automation Worker | ghcr.io/ev-dev-labs/teslasync-automation-worker:2.1.0-rc.next-experiments.g16027fe1f |
| Helm Chart | oci://ghcr.io/ev-dev-labs/charts/teslasync:2.1.0-rc.next-experiments.g16027fe1f |
TeslaSync v2.0.9
π TeslaSync v2.0.9
π¦ Docker Images
# Backend API
docker pull ghcr.io/ev-dev-labs/teslasync-api:2.0.9
# Web Frontend
docker pull ghcr.io/ev-dev-labs/teslasync-web:2.0.9
# Notification Worker
docker pull ghcr.io/ev-dev-labs/teslasync-notification-worker:2.0.9
# Export Worker
docker pull ghcr.io/ev-dev-labs/teslasync-export-worker:2.0.9
# Automation Worker
docker pull ghcr.io/ev-dev-labs/teslasync-automation-worker:2.0.9β Helm Chart
helm install teslasync oci://ghcr.io/ev-dev-labs/charts/teslasync --version 2.0.9π Image Verification
All images are signed with cosign (keyless, via GitHub OIDC) and ship with a CycloneDX SBOM attestation:
# Verify image signature
cosign verify ghcr.io/ev-dev-labs/teslasync-api:2.0.9 \
--certificate-identity-regexp="github.com/ev-dev-labs/teslasync" \
--certificate-oidc-issuer="https://token.actions.githubusercontent.com"
# Verify + extract SBOM attestation
cosign verify-attestation \
--type cyclonedx \
--certificate-identity-regexp="github.com/ev-dev-labs/teslasync" \
--certificate-oidc-issuer="https://token.actions.githubusercontent.com" \
ghcr.io/ev-dev-labs/teslasync-api:2.0.9 \
| jq -r '.payload' | base64 -d | jq '.predicate' > sbom.cdx.jsonπ Changes
Full Changelog: v2.0.8...v2.0.9
π Assets
| Asset | Tag |
|---|---|
| Backend Image | ghcr.io/ev-dev-labs/teslasync-api:2.0.9 |
| Web Image | ghcr.io/ev-dev-labs/teslasync-web:2.0.9 |
| Notification Worker | ghcr.io/ev-dev-labs/teslasync-notification-worker:2.0.9 |
| Export Worker | ghcr.io/ev-dev-labs/teslasync-export-worker:2.0.9 |
| Automation Worker | ghcr.io/ev-dev-labs/teslasync-automation-worker:2.0.9 |
| Helm Chart | oci://ghcr.io/ev-dev-labs/charts/teslasync:2.0.9 |
TeslaSync v2.0.8-rc.experimental-touch.g10f967921
β οΈ Pre-release (branch: experimental-touch)
π¦ Docker Images
# Backend API
docker pull ghcr.io/ev-dev-labs/teslasync-api:2.0.8-rc.experimental-touch.g10f967921
# Web Frontend
docker pull ghcr.io/ev-dev-labs/teslasync-web:2.0.8-rc.experimental-touch.g10f967921
# Notification Worker
docker pull ghcr.io/ev-dev-labs/teslasync-notification-worker:2.0.8-rc.experimental-touch.g10f967921
# Export Worker
docker pull ghcr.io/ev-dev-labs/teslasync-export-worker:2.0.8-rc.experimental-touch.g10f967921
# Automation Worker
docker pull ghcr.io/ev-dev-labs/teslasync-automation-worker:2.0.8-rc.experimental-touch.g10f967921β Helm Chart
helm install teslasync oci://ghcr.io/ev-dev-labs/charts/teslasync --version 2.0.8-rc.experimental-touch.g10f967921π Image Verification
All images are signed with cosign (keyless, via GitHub OIDC) and ship with a CycloneDX SBOM attestation:
# Verify image signature
cosign verify ghcr.io/ev-dev-labs/teslasync-api:2.0.8-rc.experimental-touch.g10f967921 \
--certificate-identity-regexp="github.com/ev-dev-labs/teslasync" \
--certificate-oidc-issuer="https://token.actions.githubusercontent.com"
# Verify + extract SBOM attestation
cosign verify-attestation \
--type cyclonedx \
--certificate-identity-regexp="github.com/ev-dev-labs/teslasync" \
--certificate-oidc-issuer="https://token.actions.githubusercontent.com" \
ghcr.io/ev-dev-labs/teslasync-api:2.0.8-rc.experimental-touch.g10f967921 \
| jq -r '.payload' | base64 -d | jq '.predicate' > sbom.cdx.jsonπ Changes
- test(web): fix whole-suite vitest regressions from Apex elevation (@atul Gupta)
- fix(api,db): resolve whole-suite go validation failures from Apex elevation (@atul Gupta)
- test(web): cover + harden src/types/vehicle-systems.ts (@atul Gupta)
- test(web): cover + harden src/types/notifications.ts (@atul Gupta)
- test(web): cover + harden src/types/fsm/vehicle.ts (@atul Gupta)
- test(web): cover + harden src/types/fsm/types.ts (@atul Gupta)
- test(web): cover + harden src/types/fsm/cross-fsm.ts (@atul Gupta)
- test(web): cover + harden src/types/user.ts (@atul Gupta)
- test(web): cover + harden src/types/fsm/charge-session.ts (@atul Gupta)
- test(web): cover + harden src/types/telemetry.ts (@atul Gupta)
- test(web): cover + harden src/types/fsm/alert-cooldown.ts (@atul Gupta)
- test(web): cover + harden src/types/fsm/theme.ts (@atul Gupta)
- test(web): cover + harden src/types/automations.ts (@atul Gupta)
- test(web): cover + harden src/types/admin-operator-confidence.ts (@atul Gupta)
- test(web): cover + harden src/types/export.ts (@atul Gupta)
- test(web): cover + harden src/types/analytics.ts (@atul Gupta)
- test(web): cover + harden src/types/fsm/registry.ts (@atul Gupta)
- test(web): cover + harden src/types/sharing.ts (@atul Gupta)
- test(web): cover + harden src/types/trip.ts (@atul Gupta)
- test(web): cover + harden src/types/location.ts (@atul Gupta)
- test(web): cover + harden src/api/types.ts (@atul Gupta)
- test(web): cover + harden src/api/devtools.ts (@atul Gupta)
- test(web): cover + harden src/types/admin-diagnostics.ts (@atul Gupta)
- test(web): cover + harden src/types/driving.ts (@atul Gupta)
- test(web): cover + harden src/types/fsm/command.ts (@atul Gupta)
- test(web): cover + harden src/types/fsm/telemetry-connection.ts (@atul Gupta)
- test(web): cover + harden src/types/fsm/drive-session.ts (@atul Gupta)
- test(web): cover + harden src/api/polling.ts (@atul Gupta)
- test(web): cover + harden src/types/signals.ts (@atul Gupta)
- test(web): cover + harden src/ai/features.ts (@atul Gupta)
- test(web): cover + harden src/types/vehicle.ts (@atul Gupta)
- test(api): cover + harden cmd/pub-test-signal (@atul Gupta)
- test(web): cover + harden src/types/fsm/notification.ts (@atul Gupta)
- test(web): cover + harden src/types/energy.ts (@atul Gupta)
- test(api): cover + harden cmd/trace-coverage-audit (@atul Gupta)
- test(web): cover + harden src/api/client.ts (@atul Gupta)
- test(web): cover + harden src/types/annotations.ts (@atul Gupta)
- test(web): cover + harden src/types/charging.ts (@atul Gupta)
- test(api): cover + harden cmd/backup-verify (@atul Gupta)
- test(web): cover + harden src/test-setup.ts (@atul Gupta)
- test(web): cover + harden src/types/fsm/ui-types.ts (@atul Gupta)
- test(web): cover + harden src/types/dashboard.ts (@atul Gupta)
- test(web): cover + harden src/api/settings.ts (@atul Gupta)
- test(web): cover + harden src/lib/settingsImportSchema.ts (@atul Gupta)
- test(api): cover + harden cmd/ocpp-server (@atul Gupta)
- test(web): cover + harden src/lib/useLocalStorageSync.ts (@atul Gupta)
- test(web): cover + harden src/test/setup.ts (@atul Gupta)
- test(web): cover + harden src/api/auth.ts (@atul Gupta)
- test(api): cover + harden cmd/audit-signal-types (@atul Gupta)
- test(web): cover + harden src/api/vehicles.ts (@atul Gupta)
- test(web): cover + harden src/lib/icons.ts (@atul Gupta)
- test(web): cover + harden src/App.tsx (@atul Gupta)
- test(web): cover + harden src/types/fsm/automation.ts (@atul Gupta)
- test(web): cover + harden src/lib/queryBroadcast.ts (@atul Gupta)
- test(web): cover + harden src/tests/lazyRoutes.list.ts (@atul Gupta)
- test(api): cover + harden cmd/metric-coverage-audit (@atul Gupta)
- test(web): cover + harden src/lib/touchTargetAllowlist.ts (@atul Gupta)
- test(web): cover + harden src/ai/spaWiring.ts (@atul Gupta)
- test(web): cover + harden src/api/charging.ts (@atul Gupta)
- test(web): cover + harden src/lib/automationSSE.ts (@atul Gupta)
- test(web): cover + harden src/lib/routeRegistry.ts (@atul Gupta)
- test(web): cover + harden src/lib/errorMessage.ts (@atul Gupta)
- test(web): cover + harden src/types/admin.ts (@atul Gupta)
- test(api): cover + harden cmd/automation-worker (@atul Gupta)
- test(api): cover + harden cmd/notification-worker (@atul Gupta)
- test(web): cover + harden src/lib/preferredRange.ts (@atul Gupta)
- test(web): cover + harden src/api/analytics.ts (@atul Gupta)
- test(api): cover + harden cmd/chaos-runner (@atul Gupta)
- test(web): cover + harden src/lib/signals.ts (@atul Gupta)
- test(web): cover + harden src/features/telemetry/signalGapUtils.ts (@atul Gupta)
- test(web): cover + harden src/features/settings/searchIndex.ts (@atul Gupta)
- test(web): cover + harden src/lib/errorClassification.ts (@atul Gupta)
- test(web): cover + harden src/lib/safeArray.ts (@atul Gupta)
- test(web): cover + harden src/lib/geo.ts (@atul Gupta)
- test(web): cover + harden src/api/drives.ts (@atul Gupta)
- test(web): cover + harden src/features/telemetry/hooks/useThroughputHistory.ts (@atul Gupta)
- test(api): cover + harden cmd/export-worker (@atul Gupta)
- test(web): cover + harden src/lib/globalShortcuts.tsx (@atul Gupta)
- test(web): cover + harden src/features/onboarding/tours/mainTour.ts (@atul Gupta)
- test(web): cover + harden src/lib/sseManager.ts (@atul Gupta)
- test(web): cover + harden src/lib/signalCatalog.ts (@atul Gupta)
- test(web): cover + harden src/features/onboarding/TourLauncher.tsx (@atul Gupta)
- test(web): cover + harden src/lib/appIcon.ts (@atul Gupta)
- test(web): cover + harden src/lib/numberFormat.ts (@atul Gupta)
- test(api): cover + harden cmd/slo-coverage-audit (@atul Gupta)
- test(web): cover + harden src/lib/automations.ts (@atul Gupta)
- test(web): cover + harden src/lib/signalObservation.ts (@atul Gupta)
- test(web): cover + harden src/features/dashboard/widgets/YearReviewWidget.tsx (@atul Gupta)
- test(web): cover + harden src/features/onboarding/tours/vehiclesTour.ts (@atul Gupta)
- test(web): cover + harden src/features/onboarding/tours/drivesTour.ts (@atul Gupta)
- test(api): cover + harden cmd/ai-eval (@atul Gupta)
- test(web): cover + harden src/lib/metricSemantics.ts (@atul Gupta)
- test(web): cover + harden src/lib/inlineHelpAllowlist.ts (@atul Gupta)
- test(web): cover + harden src/features/onboarding/tourSteps.ts (@atul Gupta)
- test(web): cover + harden src/lib/cn.ts (@atul Gupta)
- test(web): cover + harden src/lib/parseSettingEnum.ts (@atul Gupta)
- test(web): cover + harden src/features/dashboard/widgets/WarrantyStatusWidget.tsx (@atul Gupta)
- test(web): cover + harden src/features/notifications/lib/recommendedTriggerMode.ts (@atul Gupta)
- test(web): cover + harden src/features/dashboard/widgets/WidgetShell.tsx (@atul Gupta)
- test(web): cover + harden src/features/notifications/schemas/alertRule.ts (@atul Gupta)
- test(web): cover + harden src/lib/chartTypography.ts (@atul Gupta)
- test(web): cover + harden src/lib/broadcastTopics.ts (@atul Gupta)
- test(web): cover + harden src/features/dashboard/widgets/VehicleSpecsWidget.tsx (@atul Gupta)
- test(web): cover + harden src/features/telemetry/hooks/useLiveSignalStream.ts (@atul Gupta)
- test(web): cover + harden src/lib/colors.ts (@atul Gupta)
- test(web): cover + harden src/lib/report.ts (@atul Gupta)
- test(web): cover + harden src/features/dashboard/widgets/VersionInfoWidget.tsx (@atul Gupta)
- test(web): cover + harden src/features/system/hooks/useStatusLiveSSE.ts (@atul Gupta)
- test(web): cover + harden src/features/dashboard/widgets/WallConnectorWidget.tsx (@atul Gupta)
- test(web): cover + harden src/features/system/commands.ts (@atul Gupta)
- test(web): cover + harden src/features/dashboard/widgets/types.ts (@atul Gupta)
- test(web): cover + harden src/features/telemetry/hooks/useSignalGapAnalysis.ts (@atul Gupta)
- test(web): cover + harden src/features/dashboard/widgets/TelemetryErrorsWidget.tsx (@atul Gupta)
- test(web): cover + harden src/features/onboarding/tours/chargingTour.ts (@atul Gupta)
- test(web): cover + harden src/features/dashboard/widgets/VehicleHeroWidget.tsx (@atul Gupta)
- test(web): cover + harden src/lib/fsm.ts (@atul Gupta)
- test(web): cover + harden src/features/onboarding/tours/automationsTour.ts (@atul Gupta)
- test(web): cover + harden src/features/dashboard/widgets/TirePressureVisualWidget.tsx (@atul Gupta)
...
TeslaSync v2.0.6
π TeslaSync v2.0.6
π¦ Docker Images
# Backend API
docker pull ghcr.io/ev-dev-labs/teslasync-api:2.0.6
# Web Frontend
docker pull ghcr.io/ev-dev-labs/teslasync-web:2.0.6
# Notification Worker
docker pull ghcr.io/ev-dev-labs/teslasync-notification-worker:2.0.6
# Export Worker
docker pull ghcr.io/ev-dev-labs/teslasync-export-worker:2.0.6
# Automation Worker
docker pull ghcr.io/ev-dev-labs/teslasync-automation-worker:2.0.6β Helm Chart
helm install teslasync oci://ghcr.io/ev-dev-labs/charts/teslasync --version 2.0.6π Image Verification
All images are signed with cosign (keyless, via GitHub OIDC) and ship with a CycloneDX SBOM attestation:
# Verify image signature
cosign verify ghcr.io/ev-dev-labs/teslasync-api:2.0.6 \
--certificate-identity-regexp="github.com/ev-dev-labs/teslasync" \
--certificate-oidc-issuer="https://token.actions.githubusercontent.com"
# Verify + extract SBOM attestation
cosign verify-attestation \
--type cyclonedx \
--certificate-identity-regexp="github.com/ev-dev-labs/teslasync" \
--certificate-oidc-issuer="https://token.actions.githubusercontent.com" \
ghcr.io/ev-dev-labs/teslasync-api:2.0.6 \
| jq -r '.payload' | base64 -d | jq '.predicate' > sbom.cdx.jsonπ Changes
Full Changelog: v2.0.5...v2.0.6
π Assets
| Asset | Tag |
|---|---|
| Backend Image | ghcr.io/ev-dev-labs/teslasync-api:2.0.6 |
| Web Image | ghcr.io/ev-dev-labs/teslasync-web:2.0.6 |
| Notification Worker | ghcr.io/ev-dev-labs/teslasync-notification-worker:2.0.6 |
| Export Worker | ghcr.io/ev-dev-labs/teslasync-export-worker:2.0.6 |
| Automation Worker | ghcr.io/ev-dev-labs/teslasync-automation-worker:2.0.6 |
| Helm Chart | oci://ghcr.io/ev-dev-labs/charts/teslasync:2.0.6 |
TeslaSync v2.1.0-rc.typography.g7676cb64d
β οΈ Pre-release (branch: typography)
π¦ Docker Images
# Backend API
docker pull ghcr.io/ev-dev-labs/teslasync-api:2.1.0-rc.typography.g7676cb64d
# Web Frontend
docker pull ghcr.io/ev-dev-labs/teslasync-web:2.1.0-rc.typography.g7676cb64d
# Notification Worker
docker pull ghcr.io/ev-dev-labs/teslasync-notification-worker:2.1.0-rc.typography.g7676cb64d
# Export Worker
docker pull ghcr.io/ev-dev-labs/teslasync-export-worker:2.1.0-rc.typography.g7676cb64d
# Automation Worker
docker pull ghcr.io/ev-dev-labs/teslasync-automation-worker:2.1.0-rc.typography.g7676cb64dβ Helm Chart
helm install teslasync oci://ghcr.io/ev-dev-labs/charts/teslasync --version 2.1.0-rc.typography.g7676cb64dπ Image Verification
All images are signed with cosign (keyless, via GitHub OIDC) and ship with a CycloneDX SBOM attestation:
# Verify image signature
cosign verify ghcr.io/ev-dev-labs/teslasync-api:2.1.0-rc.typography.g7676cb64d \
--certificate-identity-regexp="github.com/ev-dev-labs/teslasync" \
--certificate-oidc-issuer="https://token.actions.githubusercontent.com"
# Verify + extract SBOM attestation
cosign verify-attestation \
--type cyclonedx \
--certificate-identity-regexp="github.com/ev-dev-labs/teslasync" \
--certificate-oidc-issuer="https://token.actions.githubusercontent.com" \
ghcr.io/ev-dev-labs/teslasync-api:2.1.0-rc.typography.g7676cb64d \
| jq -r '.payload' | base64 -d | jq '.predicate' > sbom.cdx.jsonπ Changes
- refactor(web): typography sweep β Tesla Orders (@atul Gupta)
- refactor(web): typography sweep β Tesla Feature Flags (@atul Gupta)
- refactor(web): typography sweep β Temperature Impact (@atul Gupta)
- refactor(web): typography sweep β Tire Pressure (@atul Gupta)
- refactor(web): typography sweep β System (@atul Gupta)
- refactor(web): typography sweep β Slow Queries (@atul Gupta)
- refactor(web): typography sweep β Speed Profile (@atul Gupta)
- refactor(web): typography sweep --- Speed Profile (@atul Gupta)
- refactor(web): typography sweep β Status Api Docs (@atul Gupta)
- refactor(web): typography sweep β Tesla Account (@atul Gupta)
- refactor(web): typography sweep β Software Updates (@atul Gupta)
- refactor(web): typography sweep β Signal Explorer (@atul Gupta)
- refactor(web): typography sweep β Signals Workspace (@atul Gupta)
- refactor(web): typography sweep β Smart Charge (@atul Gupta)
- refactor(web): typography sweep β Sql Playground (@atul Gupta)
- refactor(web): typography sweep -- Signal Log Viewer (@atul Gupta)
- refactor(web): typography sweep β Signal Gap Detector (@atul Gupta)
- refactor(web): typography sweep β Sharing Trips (@atul Gupta)
- refactor(web): typography sweep β Search (@atul Gupta)
- refactor(web): typography sweep β Security Access (@atul Gupta)
- refactor(web): typography sweep β Sleep Efficiency (@atul Gupta)
- refactor(web): typography sweep β Safety Settings (@atul Gupta)
- refactor(web): typography sweep β Roadmap (@atul Gupta)
- refactor(web): typography sweep β Secret Rotation (@atul Gupta)
- refactor(web): typography sweep β Redis Signal Viewer (@atul Gupta)
- refactor(web): typography sweep β Safety (@atul Gupta)
- refactor(web): typography sweep β Signal Diff (@atul Gupta)
- refactor(web): typography sweep β Route Efficiency (@atul Gupta)
- refactor(web): typography sweep β Rbac Matrix (@atul Gupta)
- refactor(web): typography sweep β Powershare (@atul Gupta)
- refactor(web): typography sweep β Quiet Hours (@atul Gupta)
- refactor(web): typography sweep β Projected Range (@atul Gupta)
- refactor(web): typography sweep β Schema Drift (@atul Gupta)
- refactor(web): typography sweep - My Activity (@atul Gupta)
- refactor(web): typography sweep β Power Flow Dashboard (@atul Gupta)
- refactor(web): typography sweep β Onboarding (@atul Gupta)
- refactor(web): typography sweep β MQTT Inspector (@atul Gupta)
- refactor(web): typography sweep β Regen Efficiency (@atul Gupta)
- refactor(web): typography sweep β Live Signal Monitor (@atul Gupta)
- refactor(web): typography sweep β Map Overview (@atul Gupta)
- refactor(web): typography sweep β Period Compare (@atul Gupta)
- refactor(web): typography sweep β Live Signal Inspector (@atul Gupta)
- refactor(web): typography sweep β Privacy (@atul Gupta)
- refactor(web): typography sweep β Lifetime Stats (@atul Gupta)
- refactor(web): typography sweep β Incident Timeline (@atul Gupta)
- refactor(web): typography sweep β Inbox (@atul Gupta)
- refactor(web): typography sweep β Navigation Route (@atul Gupta)
- refactor(web): typography sweep β Mileage (@atul Gupta)
- refactor(web): typography sweep β Helix (@atul Gupta)
- refactor(web): typography sweep β Geofences (@atul Gupta)
- refactor(web): typography sweep β Grafana Panel (@atul Gupta)
- refactor(web): typography sweep β Live Logs (@atul Gupta)
- refactor(web): typography sweep β Locations (@atul Gupta)
- refactor(web): typography sweep β Fleet API (@atul Gupta)
- refactor(web): typography sweep β Fleet Compare (@atul Gupta)
- refactor(web): typography sweep β Gas Price Auto Poll (@atul Gupta)
- refactor(web): typography sweep β Ingest X Ray (@atul Gupta)
- refactor(web): typography sweep β Help (@atul Gupta)
- refactor(web): typography sweep β Explore (@atul Gupta)
- refactor(web): typography sweep β Energy Products (@atul Gupta)
- refactor(web): typography sweep β Feature Flags (@atul Gupta)
- refactor(web): typography sweep β Guard Mode (@atul Gupta)
- refactor(web): typography sweep β GDPR Export (@atul Gupta)
- refactor(web): typography sweep β Drivetrain Health (@atul Gupta)
- refactor(web): typography sweep β Drive Score (@atul Gupta)
- refactor(web): typography sweep β DLQ Inspector (@atul Gupta)
- refactor(web): typography sweep β Fleet Telemetry Coverage (@atul Gupta)
- refactor(web): typography sweep β Feedback Queue (@atul Gupta)
- refactor(web): typography sweep β Digital Twin (@atul Gupta)
- refactor(web): typography sweep β DB Health (@atul Gupta)
- refactor(web): typography sweep β Exports (@atul Gupta)
- refactor(web): typography sweep β Dev Tools (@atul Gupta)
- refactor(web): typography sweep β Driving Dynamics (@atul Gupta)
- refactor(web): typography sweep β Commands (@atul Gupta)
- refactor(web): typography sweep β Drives List (@atul Gupta)
- refactor(web): typography sweep β Cost Analysis (@atul Gupta)
- refactor(web): typography sweep β Data Export (@atul Gupta)
- refactor(web): typography sweep β Diagnostic (@atul Gupta)
- refactor(web): typography sweep β Disk Forecast (@atul Gupta)
- refactor(web): typography sweep β Charging Detail (@atul Gupta)
- refactor(web): typography sweep β Data Repair (@atul Gupta)
- refactor(web): typography sweep β Charging Heatmap (@atul Gupta)
- refactor(web): typography sweep β Dashboards (@atul Gupta)
- refactor(web): typography sweep β Chatbot (@atul Gupta)
- refactor(web): typography sweep β Automations List (@atul Gupta)
- refactor(web): typography sweep β Backup Restore (@atul Gupta)
- refactor(web): typography sweep β Command History (@atul Gupta)
- refactor(web): typography sweep β Charging List (@atul Gupta)
- refactor(web): typography sweep β Api Playground (@atul Gupta)
- refactor(web): typography sweep β Browser Notifications (@atul Gupta)
- refactor(web): typography sweep β Archived (@atul Gupta)
- refactor(web): typography sweep β Channels (@atul Gupta)
- refactor(web): typography sweep β Alerts List (@atul Gupta)
- refactor(web): typography sweep β Battery Cells (@atul Gupta)
- refactor(web): typography sweep β Automation List (@atul Gupta)
- refactor(web): typography sweep β Alert Studio (@atul Gupta)
- refactor(web): typography sweep β Automation Builder (@atul Gupta)
- refactor(web): typography sweep β Settings (@atul Gupta)
- refactor(web): typography sweep β Audit Log (@atul Gupta)
- refactor(web): typography sweep β Api Logs (@atul Gupta)
- refactor(web): typography sweep β API Keys (@atul Gupta)
- refactor(web): typography sweep β Anomaly Dashboard (@atul Gupta)
- chore(web): normalize CRLF->LF line endings on phantom-dirty files (@atul Gupta)
- refactor(web): typography sweep β Alert Rules (@atul Gupta)
- refactor(web): typography sweep β Media Player (@atul Gupta)
- refactor(web): typography sweep β System Status (@atul Gupta)
- refactor(web): typography sweep β Analytics (@atul Gupta)
- refactor(web): typography sweep β Active Sessions (@atul Gupta)
- refactor(web): typography sweep β Climate Control (@atul Gupta)
- refactor(web): typography sweep β Vehicle Detail (@atul Gupta)
- refactor(web): typography sweep β Maintenance (@atul Gupta)
- refactor(web): typography sweep β Battery Health (@atul Gupta)
- refactor(web): typography sweep β Energy Flow (@atul Gupta)
- refactor(web): typography sweep β Efficiency (@atul Gupta)
- refactor(web): typography sweep β Statistics (@atul Gupta)
- refactor(web): typography sweep β Energy (@atul Gupta)
- refactor(web): typography sweep β Drive Detail (@atul Gupta)
- refactor(web): typography sweep β Glance (@atul Gupta)
- refactor(web): typography sweep β Battery Degradation (@atul Gupta)
- refactor(web): typography sweep β Quick Stats (@atul Gupta)
- refactor(web): typography sweep β Charging Curve (@atul Gupta)
- refactor(web): typography sweep β Timeline (@atul Gupta)
- refactor(web): typography sweep β Tesla Charging Sessions (@atul Gupta)
- refactor(web): typography sweep β Accessibility components (@atul Gupta)
- refactor(web): typography sweep β Dashboard (@atul Gupta)
- refactor(web): typography sweep β Branding components (@atul Gupta)
- refactor(web): typography sweep β Maps components (@atul Gupta)
- refactor(web): typography sweep β Motion components (@atul Gupta)
- refactor(web): typography sweep β Layout / app shell components (@atul Gupta)
- refactor(web): typography sweep β Charts components (@atul Gupta)
- refactor(web): typography sweep β Mobile components (@atul Gupta)
- refactor(web): typography sweep --- Mobile components (@at...
TeslaSync v2.1.0-rc.chore-repo-reorganization.g248e7c34
β οΈ Pre-release (branch: chore/repo-reorganization)
π¦ Docker Images
# Backend API
docker pull ghcr.io/ev-dev-labs/teslasync-api:2.1.0-rc.chore-repo-reorganization.g248e7c34
# Web Frontend
docker pull ghcr.io/ev-dev-labs/teslasync-web:2.1.0-rc.chore-repo-reorganization.g248e7c34
# Notification Worker
docker pull ghcr.io/ev-dev-labs/teslasync-notification-worker:2.1.0-rc.chore-repo-reorganization.g248e7c34
# Export Worker
docker pull ghcr.io/ev-dev-labs/teslasync-export-worker:2.1.0-rc.chore-repo-reorganization.g248e7c34
# Automation Worker
docker pull ghcr.io/ev-dev-labs/teslasync-automation-worker:2.1.0-rc.chore-repo-reorganization.g248e7c34β Helm Chart
helm install teslasync oci://ghcr.io/ev-dev-labs/charts/teslasync --version 2.1.0-rc.chore-repo-reorganization.g248e7c34π Image Verification
All images are signed with cosign (keyless, via GitHub OIDC) and ship with a CycloneDX SBOM attestation:
# Verify image signature
cosign verify ghcr.io/ev-dev-labs/teslasync-api:2.1.0-rc.chore-repo-reorganization.g248e7c34 \
--certificate-identity-regexp="github.com/ev-dev-labs/teslasync" \
--certificate-oidc-issuer="https://token.actions.githubusercontent.com"
# Verify + extract SBOM attestation
cosign verify-attestation \
--type cyclonedx \
--certificate-identity-regexp="github.com/ev-dev-labs/teslasync" \
--certificate-oidc-issuer="https://token.actions.githubusercontent.com" \
ghcr.io/ev-dev-labs/teslasync-api:2.1.0-rc.chore-repo-reorganization.g248e7c34 \
| jq -r '.payload' | base64 -d | jq '.predicate' > sbom.cdx.jsonπ Changes
- fix(api): fall back across geocoding providers instead of failing hard (@atul Gupta)
- fix(web): correct drive-detail speed legend and histogram unit conversion (@atul Gupta)
- fix(api): repair degenerate drive start/end coordinates from GPS track (@atul Gupta)
- fix(web): reserve fixed width for freshness chip label (@atul Gupta)
- fix(web): stop freshness chip ticking every second (@atul Gupta)
- refactor: de-noise comments in tools/ and web build scripts, strip churn tags (@atul Gupta)
- refactor(web): tighten and de-noise frontend comments, strip churn tags (@atul Gupta)
- refactor: tighten and de-noise comments across internal and cmd, strip churn tags (@atul Gupta)
- refactor(ai): tighten and de-noise internal/ai comments, strip churn tags (@atul Gupta)
- refactor(api): strip internal phase/prompt churn tags from comments (@atul Gupta)
- refactor(api): tighten and de-noise internal/api comments (@atul Gupta)
- chore(R2d.178): refresh archmetrics baseline + ignore audit handler carve (@atul Gupta)
- refactor(api): move AuditHandler into internal/api/audit subpkg (R2d.178) (@atul Gupta)
- chore(R2d.177): refresh archmetrics baseline + ignore telemetry carve (@atul Gupta)
- refactor(api): carve telemetry cluster into internal/api/telemetry subpkg (R2d.177) (@atul Gupta)
- chore(R2d.176): refresh archmetrics baseline after dead-code removal (@atul Gupta)
- refactor(api): remove dead charge-planner compute/dtos leftovers (R2d.176) (@atul Gupta)
- chore(R2d.175): refresh archmetrics baseline + ignore sse carve (@atul Gupta)
- refactor(api): carve SSE EventHub + handler into sse subpackage (R2d.175) (@atul Gupta)
- chore(R2d.174): refresh archmetrics baseline + ignore vehiclefsm carve (@atul Gupta)
- refactor(api): carve FSM vehicle-state handler into vehiclefsm subpackage (R2d.174) (@atul Gupta)
- chore(R2d.173): refresh archmetrics baseline + ignore system carve (@atul Gupta)
- refactor(api): carve system diagnostics handlers into subpackage (R2d.173) (@atul Gupta)
- chore(R2d.172): refresh archmetrics baseline + ignore costforecast carve (@atul Gupta)
- refactor(api): carve costforecast handler + forecaster into subpackage (R2d.172) (@atul Gupta)
- chore(R2d.171): refresh archmetrics baseline + ignore batterydegradation carve (@atul Gupta)
- refactor(api): carve batterydegradation handler into subpackage (R2d.171) (@atul Gupta)
- chore(R2d.170): refresh archmetrics baseline + ignore aisettingsvalidate carve in git-blame (@atul Gupta)
- refactor(R2d.170): carve internal/api/aisettingsvalidate subpackage (@atul Gupta)
- chore(R2d.169): refresh archmetrics baseline + ignore aiusage carve in git-blame (@atul Gupta)
- refactor(R2d.169): carve internal/api/aiusage subpackage (ai_usage + ai_admin) (@atul Gupta)
- chore(R2d.163-168): refresh archmetrics baseline + ignore batch 12 carves in git-blame (@atul Gupta)
- fix(R2d): resolve duplicate wiring lines from batch 12 cherry-pick (chargeplanner/yearreview) (@atul Gupta)
- refactor(R2d.168): carve internal/api/tempimpact subpackage (@atul Gupta)
- refactor(R2d.167): carve internal/api/yearreview subpackage (@atul Gupta)
- refactor(R2d.166): carve internal/api/watch subpackage (@atul Gupta)
- refactor(R2d.165): carve internal/api/chargeplanner subpackage (@atul Gupta)
- refactor(R2d.164): carve internal/api/batterycells subpackage (@atul Gupta)
- refactor(R2d.163): carve internal/api/maintenance subpackage (@atul Gupta)
- chore(R2d.133-162): refresh archmetrics baseline + ignore batch 11 AI carves in git-blame (@atul Gupta)
- fix(R2d): resolve cross-carve conflicts (ainlgrafana/ainlsql, aiautoname/aisuggeo) (@atul Gupta)
- refactor(R2d.161): carve internal/api/aiwatchnl subpackage (@atul Gupta)
- refactor(R2d.162): carve internal/api/aivoice subpackage (@atul Gupta)
- refactor(R2d.158): carve internal/api/aivehpaint subpackage (@atul Gupta)
- refactor(R2d.160): carve internal/api/aitconar subpackage (@atul Gupta)
- refactor(R2d.154): carve internal/api/aiswupd subpackage (@atul Gupta)
- refactor(R2d.152): carve internal/api/aisuggeo subpackage (@atul Gupta)
- refactor(R2d.155): carve internal/api/aisignalnl subpackage (@atul Gupta)
- refactor(R2d.156): carve internal/api/aisafetyexp subpackage (@atul Gupta)
- refactor(R2d.157): carve internal/api/aiquiethrs subpackage (@atul Gupta)
- refactor(R2d.137): carve internal/api/aipredmaint subpackage (@atul Gupta)
- refactor(R2d.159): carve internal/api/aipostcard subpackage (@atul Gupta)
- refactor(R2d.138): carve internal/api/aipiiredact subpackage (@atul Gupta)
- refactor(R2d.139): carve internal/api/aiperiodcmp subpackage (@atul Gupta)
- refactor(R2d.140): carve internal/api/ainlsql subpackage (@atul Gupta)
- refactor(R2d.141): carve internal/api/ainlgrafana subpackage (@atul Gupta)
- refactor(R2d.142): carve internal/api/ainldash subpackage (@atul Gupta)
- refactor(R2d.143): carve internal/api/aimqttsse subpackage (@atul Gupta)
- refactor(R2d.144): carve internal/api/aimlrange subpackage (@atul Gupta)
- refactor(R2d.145): carve internal/api/aimlchargcv subpackage (@atul Gupta)
- refactor(R2d.146): carve internal/api/aimlanom subpackage (@atul Gupta)
- refactor(R2d.147): carve internal/api/ailogtrace subpackage (@atul Gupta)
- refactor(R2d.148): carve internal/api/ailifetime subpackage (@atul Gupta)
- refactor(R2d.150): carve internal/api/aiinboxcat subpackage (@atul Gupta)
- refactor(R2d.149): carve internal/api/aiincident subpackage (@atul Gupta)
- refactor(R2d.151): carve internal/api/aigeofautom subpackage (@atul Gupta)
- refactor(R2d.153): carve internal/api/aifsmnar subpackage (@atul Gupta)
- refactor(R2d.133): carve internal/api/aifeedtri subpackage (@atul Gupta)
- refactor(R2d.134): carve internal/api/aidatarep subpackage (@atul Gupta)
- refactor(R2d.135): carve internal/api/aicrossrule subpackage (@atul Gupta)
- refactor(R2d.136): carve internal/api/aiautoname subpackage (@atul Gupta)
- chore(R2d.108-132): refresh archmetrics baseline + ignore batch 10 AI carves in git-blame (@atul Gupta)
- refactor(R2d.129): carve internal/api/aiclimate subpackage (@atul Gupta)
- refactor(R2d.125): carve internal/api/aibatthealth subpackage (@atul Gupta)
- refactor(R2d.111): carve internal/api/aiyir subpackage (@atul Gupta)
- refactor(R2d.128): carve internal/api/aivampire subpackage (@atul Gupta)
- refactor(R2d.123): carve internal/api/aitripplanllm subpackage (@atul Gupta)
- refactor(R2d.131): carve internal/api/aitirepress subpackage (@atul Gupta)
- refactor(R2d.130): carve internal/api/aitempimpact subpackage (@atul Gupta)
- refactor(R2d.120): carve internal/api/aispeedprof subpackage (@atul Gupta)
- refactor(R2d.124): carve internal/api/aismartcharge subpackage (@atul Gupta)
- refactor(R2d.115): carve internal/api/aisearch subpackage (@atul Gupta)
- refactor(R2d.121): carve internal/api/airouteeff subpackage (@atul Gupta)
- refactor(R2d.118): carve internal/api/airaghelp subpackage (@atul Gupta)
- refactor(R2d.119): carve internal/api/aidrivesearch subpackage (@atul Gupta)
- refactor(R2d.116): carve internal/api/aidrivecoach subpackage (@atul Gupta)
- refactor(R2d.110): carve internal/api/aidigest subpackage (@atul Gupta)
- refactor(R2d.127): carve internal/api/aicostfcst subpackage (@atul Gupta)
- refactor(R2d.109): carve internal/api/aichatbot subpackage (@atul Gupta)
- refactor(R2d.117): carve internal/api/aichargdiag subpackage (@atul Gupta)
- refactor(R2d.126): carve internal/api/aichargcurve subpackage (@atul Gupta)
- refactor(R2d.122): carve internal/api/aiautotripname subpackage (@atul Gupta)
- refactor(R2d.114): carve internal/api/aiautomation subpackage (@atul Gupta)
- refactor(R2d.112): carve internal/api/aianomaly subpackage (@atul Gupta)
- refactor(R2d.132): carve internal/api/aialerttune subpackage (@atul Gupta)
- refactor(R2d.113): carve internal/api/aialert subpackage (@atul Gupta)
- refactor(R2d.108): convert mountAIRoutes to AIHandlers struct field-bag (@atul Gupta)
- chore(R2d.84-107): refresh archmetrics baseline + ignore fleet batch 9 in git-blame (@atul Gupta)
- refactor(R2d.107): carve internal/api/userpref subpackage (@atul Gupta)
- refactor(R2d.105): carve internal/api/tirepressure subpackage (@atul Gupta)
- refactor(R2d.104): carve internal/api/teslaenergyhist subpackage (@atul Gupta)
- refactor(R2d.103): carve internal/api/teslachargesess subpackage (@A...
TeslaSync v2.1.0-rc.tracing.gb1e4a060
β οΈ Pre-release (branch: tracing)
π¦ Docker Images
# Backend API
docker pull ghcr.io/ev-dev-labs/teslasync-api:2.1.0-rc.tracing.gb1e4a060
# Web Frontend
docker pull ghcr.io/ev-dev-labs/teslasync-web:2.1.0-rc.tracing.gb1e4a060
# Notification Worker
docker pull ghcr.io/ev-dev-labs/teslasync-notification-worker:2.1.0-rc.tracing.gb1e4a060
# Export Worker
docker pull ghcr.io/ev-dev-labs/teslasync-export-worker:2.1.0-rc.tracing.gb1e4a060
# Automation Worker
docker pull ghcr.io/ev-dev-labs/teslasync-automation-worker:2.1.0-rc.tracing.gb1e4a060β Helm Chart
helm install teslasync oci://ghcr.io/ev-dev-labs/charts/teslasync --version 2.1.0-rc.tracing.gb1e4a060π Image Verification
All images are signed with cosign (keyless, via GitHub OIDC) and ship with a CycloneDX SBOM attestation:
# Verify image signature
cosign verify ghcr.io/ev-dev-labs/teslasync-api:2.1.0-rc.tracing.gb1e4a060 \
--certificate-identity-regexp="github.com/ev-dev-labs/teslasync" \
--certificate-oidc-issuer="https://token.actions.githubusercontent.com"
# Verify + extract SBOM attestation
cosign verify-attestation \
--type cyclonedx \
--certificate-identity-regexp="github.com/ev-dev-labs/teslasync" \
--certificate-oidc-issuer="https://token.actions.githubusercontent.com" \
ghcr.io/ev-dev-labs/teslasync-api:2.1.0-rc.tracing.gb1e4a060 \
| jq -r '.payload' | base64 -d | jq '.predicate' > sbom.cdx.jsonπ Changes
- refactor(web): remove redundant in-sidebar filter input (@atul Gupta)
- fix(db): preload pg_stat_statements so Slow Queries page can render (@atul Gupta)
- fix(web): unwrap {data: ...} envelope in admin observability hooks (@atul Gupta)
- Add Explore hub & switchable sidebar styles (@atul Gupta)
- feat(web): Phase-45 Operator Confidence admin UI β 7 pages (@atul Gupta)
- feat(outbox,validator,loadtest,sbom): CDC outbox + fleet config validator + k6 nightly + SBOM attestation (@atul Gupta)
- feat(chaos,ocpp,v2h): Phase-49 chaos harness + Phase-50 OCPP CSMS + V2H decider (@atul Gupta)
- feat(integrations,dr): Phase-47 HomeAssistant MQTT discovery + Phase-49 backup verify drill (@atul Gupta)
- feat(observability): Phase-46 SOTA + Phase-49 profiling (@atul Gupta)
- feat(observability): Phase-45 batch β operator confidence (8 features) (@atul Gupta)
- feat(observability): Phase-44 batch β DLQ inspector + feature flags + ingest x-ray + drive-end diagnostic + 3 CI gates (@atul Gupta)
- feat(observability): full Tesla signal-ingest pipeline tracing (MQTT receive -> DB save) (@atul Gupta)
- feat(observability): full end-to-end tracing coverage across API + 4 workers (@atul Gupta)
- Add PWA manifest and basic service worker (@atul Gupta)
Full Changelog: v2.0.2...v2.1.0-rc.tracing.gb1e4a060
π Assets
| Asset | Tag |
|---|---|
| Backend Image | ghcr.io/ev-dev-labs/teslasync-api:2.1.0-rc.tracing.gb1e4a060 |
| Web Image | ghcr.io/ev-dev-labs/teslasync-web:2.1.0-rc.tracing.gb1e4a060 |
| Notification Worker | ghcr.io/ev-dev-labs/teslasync-notification-worker:2.1.0-rc.tracing.gb1e4a060 |
| Export Worker | ghcr.io/ev-dev-labs/teslasync-export-worker:2.1.0-rc.tracing.gb1e4a060 |
| Automation Worker | ghcr.io/ev-dev-labs/teslasync-automation-worker:2.1.0-rc.tracing.gb1e4a060 |
| Helm Chart | oci://ghcr.io/ev-dev-labs/charts/teslasync:2.1.0-rc.tracing.gb1e4a060 |