Files
balena-supervisor/CHANGELOG.md
flowzone-app[bot] 14d4b13bbf v17.1.1
2025-06-09 13:58:37 +00:00

162 KiB

Changelog for balena-supervisor

All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to Semantic Versioning.

v17.1.1

(2025-06-09)

  • Remove memory healthcheck [Christina Ying Wang]

v17.1.0

(2025-05-28)

  • Support target state apply cancellation [Christina Ying Wang]

v17.0.5

(2025-05-27)

  • Exclude reclaimable slab memory from used memory metric [Ken Bannister]

v17.0.4

(2025-05-22)

  • Remove unsupported fields from contract requirements [Felipe Lalanne]

v17.0.3

(2025-05-13)

  • Simplify contract validation module [Felipe Lalanne]

v17.0.2

(2025-04-02)

  • Fix search for app leftover locks [Felipe Lalanne]

v17.0.1

(2025-03-25)

  • Clarify firewall docs on behavior with host network containers [Christina Ying Wang]

v17.0.0

(2025-03-24)

  • Add Docker network label if custom ipam config [Christina Ying Wang]

v16.12.9

(2025-03-20)

  • Start a dependent if all dependencies are started [Felipe Lalanne]

v16.12.8

(2025-03-12)

  • Remove GOT retries on state poll [Felipe Lalanne]
  • Ensure poll socket timeout is defined early [Felipe Lalanne]

v16.12.7

(2025-03-06)

  • Release locks when removing apps [Felipe Lalanne]

v16.12.6

(2025-03-04)

  • Log non-API errors during state poll [Felipe Lalanne]
  • Fix target poll healthcheck [Felipe Lalanne]

v16.12.5

(2025-03-04)

  • Decrease balenaCloud api request timeout from 15m to 59s [Pagan Gazzard]

v16.12.4

(2025-03-03)

  • Don't revert to regular pull if delta server 401 [Christina Ying Wang]

v16.12.3

(2025-02-19)

  • Retry DELTA_APPLY_RETRY_COUNT (3) times during delta apply fail before reverting to regular pull [Christina Ying Wang]
  • Revert to regular pull immediately on delta server failure (code 400s) [Christina Ying Wang]

v16.12.2

(2025-02-11)

  • Update balena-io/deploy-to-balena-action action to v2.0.92 [balena-renovate[bot]]

v16.12.1

(2025-02-10)

  • Pin io-ts version to v2.2.20 [Felipe Lalanne]
  • Update network-manager to v1 [Felipe Lalanne]
  • Update balena-request and balena-register-device [Felipe Lalanne]
  • Update pinejs-client-request to v8 [Felipe Lalanne]
  • Update chai utility modules [Felipe Lalanne]

v16.12.0

(2025-01-20)

  • Update contrato to v0.12.0 [Felipe Lalanne]
  • Update alpine base image to 3.21 [Felipe Lalanne]
  • Update Node support to v22 [Felipe Lalanne]

v16.11.0

(2025-01-14)

  • Add support for io.balena.update.requires-reboot [Felipe Lalanne]
  • Move reboot breadcrumb check to device-state [Felipe Lalanne]
  • Refactor device-config as part of device-state [Felipe Lalanne]

v16.10.3

(2024-12-20)

  • Update systeminformation to v5.23.8 [SECURITY] [balena-renovate[bot]]

v16.10.2

(2024-12-18)

  • Wait for service dependencies to be running [Felipe Lalanne]

v16.10.1

(2024-12-11)

  • Specify /tmp/balena|resin directories as necessary [Christina Ying Wang]

v16.10.0

(2024-12-10)

  • Add PowerFanConfig config backend [Christina Ying Wang]

v16.9.0

(2024-12-06)

  • Add ability to stream logs from host services to cloud [Christina Ying Wang]

v16.8.0

(2024-12-05)

  • Take update locks for host-config changes [Felipe Lalanne]

v16.7.8

(2024-11-28)

  • Clean up remaining locks on state settle [Felipe Lalanne]
  • Refactor update-locks implementation [Felipe Lalanne]
  • Refactor lockfile module [Felipe Lalanne]

v16.7.7

(2024-11-11)

  • Firewall: allow DNS requests from custom Docker bridge networks [Christina Ying Wang]

v16.7.6

(2024-11-07)

  • Update firewall documentation [Felipe Lalanne]

v16.7.5

(2024-11-07)

  • Delete apps not in target from db by appUuid instead of appId [Christina Ying Wang]

v16.7.4

(2024-10-28)

  • Update express to v4.20.0 [SECURITY] [balena-renovate[bot]]

v16.7.3

(2024-10-28)

  • Add NXP support to balenaOS secure boot [Alex Gonzalez]

v16.7.2

(2024-10-18)

  • Use bookworm image to source journalctl binaries [Felipe Lalanne]

v16.7.1

(2024-09-26)

  • Add support for init field from compose [Christina Ying Wang]

v16.7.0

(2024-09-02)

  • Store rejected apps in the database [Felipe Lalanne]
  • Set the app update status when reporting state [Felipe Lalanne]
  • Add update status to types [Felipe Lalanne]

v16.6.1

(2024-08-29)

  • Remove unused patchDevice function [Felipe Lalanne]

v16.6.0

(2024-08-28)

  • Add support for redsocks dnsu2t config [Christina Ying Wang]

v16.5.8

(2024-08-27)

  • Update webpack to v5.94.0 [SECURITY] [balena-renovate[bot]]

v16.5.7

(2024-08-27)

  • Add unit test for usingInferStepsLock [Christina Ying Wang]

v16.5.6

(2024-08-23)

  • Revert PR #2364 [Christina Ying Wang]

v16.5.5

(2024-08-21)

  • Avoid unnecessary config calls during Supervisor init [Christina Ying Wang]

v16.5.4

(2024-08-16)

  • Add kmod to runtime-base [Joseph Kogut]

v16.5.3

(2024-08-08)

  • Do not write noProxy to redsocks.conf [Felipe Lalanne]

v16.5.2

(2024-08-07)

  • Verify that LED_FILE exists on blinking setup [Felipe Lalanne]

v16.5.1

(2024-08-05)

  • Avoid leaking memory on deep promise recursions [Felipe Lalanne]

v16.5.0

(2024-07-30)

  • Use promises for setup/writing for logging backend [Felipe Lalanne]
  • Improve the LogBackend interface [Felipe Lalanne]
  • Use stream pipeline instead of pipe [Felipe Lalanne]
  • Do not use DB to store container logs info [Felipe Lalanne]

v16.4.6

(2024-07-30)

  • Update semver to v7.6.3 [Self-hosted Renovate Bot]

v16.4.5

(2024-07-25)

  • Update balena-io/deploy-to-balena-action action to v2.0.74 [Self-hosted Renovate Bot]

v16.4.4

(2024-07-17)

  • Improve log message typing [Pagan Gazzard]

v16.4.3

(2024-07-16)

  • Logs: only truncate the message if it's possible it will need it [Pagan Gazzard]
  • Logs: skip setting default values if we're dropping as an invalid log [Pagan Gazzard]
  • Logs: only call Date.now() if a timestamp is not already present [Pagan Gazzard]

v16.4.2

(2024-07-16)

  • Cleanup images after state-engine tests [Felipe Lalanne]

v16.4.1

(2024-07-05)

  • Remove custom typings for docker-delta [Felipe Lalanne]

v16.4.0

(2024-07-04)

  • Refactor host-config to be its own module [Christina Ying Wang]
  • Add HostConfig.parse method [Christina Ying Wang]

v16.3.17

(2024-06-25)

  • Fix engine deadlock on network+service change [Felipe Lalanne]

v16.3.16

(2024-06-17)

  • Update balena-io/deploy-to-balena-action action to v2.0.72 [Self-hosted Renovate Bot]

v16.3.15

(2024-06-10)

  • Update balena-io/deploy-to-balena-action action to v2.0.71 [Self-hosted Renovate Bot]

v16.3.14

(2024-06-09)

  • Update got to v14.4.1 [Self-hosted Renovate Bot]

v16.3.13

(2024-06-05)

  • Split target state set/get into separate module [Felipe Lalanne]
  • Move device-state.ts into the device-state/index.ts [Felipe Lalanne]
  • Move device-state/target state to api-binder/poll [Felipe Lalanne]

v16.3.12

(2024-06-03)

  • Update balena-io/deploy-to-balena-action action to v2.0.70 [Self-hosted Renovate Bot]

v16.3.11

(2024-05-27)

  • Move OS variant retrieval to config module [Felipe Lalanne]
  • Do not export balenaApi on api-binder [Felipe Lalanne]
  • Move api-keys module to src/lib [Felipe Lalanne]
  • Do not re-export ContractObject on lib/contracts [Felipe Lalanne]
  • Move Compose(Network|Volume)Config to top level types [Felipe Lalanne]
  • Move composition types to compose/types [Felipe Lalanne]
  • Split compose types into interface and implementation [Felipe Lalanne]

v16.3.10

(2024-05-27)

  • Update got to v14.3.0 [Self-hosted Renovate Bot]

v16.3.9

(2024-05-27)

  • Update balena-io/deploy-to-balena-action action to v2.0.69 [Self-hosted Renovate Bot]

v16.3.8

(2024-05-24)

  • Update balena-io/deploy-to-balena-action action to v2.0.68 [Self-hosted Renovate Bot]

v16.3.7

(2024-05-24)

  • Update sinon to v18 [Self-hosted Renovate Bot]

v16.3.6

(2024-05-20)

  • Update balena-io/deploy-to-balena-action action to v2.0.67 [Self-hosted Renovate Bot]

v16.3.5

(2024-05-13)

  • Update balena-io/deploy-to-balena-action action to v2.0.66 [Self-hosted Renovate Bot]

v16.3.4

(2024-05-12)

  • Update semver to v7.6.2 [Self-hosted Renovate Bot]

v16.3.3

(2024-05-10)

  • Update semver to v7.6.1 [Self-hosted Renovate Bot]

v16.3.2

(2024-05-06)

  • Update balena-io/deploy-to-balena-action action to v2.0.65 [Self-hosted Renovate Bot]

v16.3.1

(2024-05-01)

  • Update @balena/contrato to 0.9.4 [Christina Ying Wang]

v16.3.0

(2024-04-30)

  • Add rpi support to balenaOS secure boot [Christina Ying Wang]

v16.2.37

(2024-04-29)

  • Update balena-io/deploy-to-balena-action action to v2.0.63 [Self-hosted Renovate Bot]

v16.2.36

(2024-04-29)

  • Remove unused event-stream dependency [Christina Ying Wang]
  • Update io-ts to 2.2.20, io-ts-reporters to 2.0.1, fp-ts to 2.16.5 [Christina Ying Wang]

v16.2.35

(2024-04-29)

  • Update @types dependencies [Pagan Gazzard]

v16.2.34

(2024-04-29)

  • Dev: update husky to v9 [Pagan Gazzard]

v16.2.33

(2024-04-26)

  • Update docker related dependencies [Felipe Lalanne]

v16.2.32

(2024-04-26)

  • Update balena-io/deploy-to-balena-action action to v2.0.62 [Self-hosted Renovate Bot]

v16.2.31

(2024-04-26)

  • Move lib/fs-utils tests to testfs [Christina Ying Wang]

v16.2.30

(2024-04-24)

  • Update supertest to v7 [Christina Ying Wang]
  • Update fork-ts-checker-webpack-plugin to v9 [Christina Ying Wang]
  • Update yargs to v17, tar-stream to v3 [Christina Ying Wang]

v16.2.29

(2024-04-24)

  • Refactor MDNS resolver into a module [Felipe Lalanne]
  • Fix mdnsResolver import [Felipe Lalanne]

v16.2.28

(2024-04-23)

  • Gracefully handle multiple reboot/shutdown requests [Christina Ying Wang]

v16.2.27

(2024-04-23)

  • Update ts-node to v10 [Self-hosted Renovate Bot]

v16.2.26

(2024-04-23)

  • Remove unnecessary @types packages [Christina Ying Wang]
  • Update knex to 3.1.0 [Christina Ying Wang]
  • Update json-mask to 2.0.0 [Christina Ying Wang]
  • Update lint-staged to 15.2.2 [Christina Ying Wang]
  • Update mocha-pod to 2.0.5 [Christina Ying Wang]
  • Update mocha to 10.4.0 [Christina Ying Wang]
  • Update rewire to 7, @balena/lint to 8 [Christina Ying Wang]
  • Update nodemon to 3.1.0 [Christina Ying Wang]
  • Update sinon to 17 [Christina Ying Wang]
  • Update systeminformation to 5.22.7 [Christina Ying Wang]

v16.2.25

(2024-04-19)

  • Update copy-webpack-plugin to v12 [Self-hosted Renovate Bot]

v16.2.24

(2024-04-19)

  • Update webpack-cli to v5 [Self-hosted Renovate Bot]

v16.2.23

(2024-04-19)

  • Update got to v14 [Self-hosted Renovate Bot]

v16.2.22

(2024-04-19)

  • Update @types/supertest to v6 [Self-hosted Renovate Bot]

v16.2.21

(2024-04-18)

  • Remove unused tmp dependency [Pagan Gazzard]

v16.2.20

(2024-04-17)

  • Update rimraf [Self-hosted Renovate Bot]

v16.2.19

(2024-04-17)

  • Update semver to v7.6.0 [Self-hosted Renovate Bot]

v16.2.18

(2024-04-15)

  • Update event-stream to v3.3.5 [Self-hosted Renovate Bot]

v16.2.17

(2024-04-15)

  • Add additional update lock tests for lockOverride & force [Christina Ying Wang]

v16.2.16

(2024-04-15)

  • Update @types/chai-things to v0.0.38 [Self-hosted Renovate Bot]

v16.2.15

(2024-04-15)

  • Update webpack to v5.76.0 [SECURITY] [Self-hosted Renovate Bot]

v16.2.14

(2024-04-15)

  • Disable automerge for major npm devDependencies [Kyle Harding]

v16.2.13

(2024-04-15)

  • Update shell-quote to v1.7.3 [SECURITY] [Self-hosted Renovate Bot]

v16.2.12

(2024-04-15)

  • Update express to v4.19.2 [SECURITY] [Self-hosted Renovate Bot]

v16.2.11

(2024-04-15)

  • Enable npm package management via Renovate [Kyle Harding]

v16.2.10

(2024-04-15)

  • Update balena-io/deploy-to-balena-action action to v2.0.58 [Self-hosted Renovate Bot]

v16.2.9

(2024-04-12)

  • Don't follow symlinks when checking for lockfiles [Christina Ying Wang]

v16.2.8

(2024-04-12)

  • Update balena-io/deploy-to-balena-action action to v2.0.57 [Self-hosted Renovate Bot]

v16.2.7

(2024-04-12)

  • Add memory usage healthcheck [Christina Ying Wang]

v16.2.6

(2024-04-10)

  • Update balena-io/deploy-to-balena-action action to v2.0.55 [Self-hosted Renovate Bot]

v16.2.5

(2024-04-09)

  • Update balena-io/deploy-to-balena-action action to v2.0.54 [Self-hosted Renovate Bot]

v16.2.4

(2024-04-09)

  • Update balena-io/deploy-to-balena-action action to v2.0.53 [Self-hosted Renovate Bot]

v16.2.3

(2024-04-09)

  • Update balena-io/deploy-to-balena-action action to v2.0.52 [Self-hosted Renovate Bot]

v16.2.2

(2024-04-08)

  • Inherit Renovate settings from balena-io [Kyle Harding]

v16.2.1

(2024-04-06)

  • Fix some RegEx io-ts types [Christina Ying Wang]

v16.2.0

(2024-04-05)

  • Take lock before updating service metadata [Christina Ying Wang]

v16.1.10

(2024-03-28)

  • Add revpi-connect-4 to RPi variants We need the supervisor to be able to manage config.txt changes for the RevPi Connect 4. [Shreya Patel]

v16.1.9

(2024-03-25)

  • Log the full error on device state report failure as it is more useful [Pagan Gazzard]

v16.1.8

(2024-03-25)

  • Set @balena/es-version to es2022 to match tsconfig.json [Pagan Gazzard]

v16.1.7

(2024-03-25)

  • Increase the timeout for auto select family to 5000ms to avoid issues [Pagan Gazzard]

v16.1.6

(2024-03-18)

  • Pin iptables to 1.8.9 (legacy) [Christina Ying Wang]

v16.1.5

(2024-03-12)

  • Update fatrw to v0.2.21 [Felipe Lalanne]

v16.1.4

(2024-03-08)

  • Update balena-register-device and its deps [Felipe Lalanne]

v16.1.3

(2024-03-07)

  • Remove dependency on @balena/happy-eyeballs [Felipe Lalanne]
  • Update Node to v20 [Felipe Lalanne]

v16.1.2

(2024-03-06)

  • Update typescript to v5 [Felipe Lalanne]

v16.1.1

(2024-03-04)

  • Update @balena/lint to v7 [Felipe Lalanne]

v16.1.0

(2024-02-27)

  • Add support for repeated overlays [Felipe Lalanne]

v16.0.4

(2024-02-27)

  • Fix support for rsync deltas [Felipe Lalanne]

v16.0.3

(2024-02-21)

  • Patch default dtparam handling in config.txt [Christina Ying Wang]

v16.0.2

(2024-02-17)

  • Patch config.txt backend to return array configs correctly [Christina Ying Wang]

v16.0.1

(2024-02-12)

  • Update balena-io/deploy-to-balena-action to v2.0.27 [Self-hosted Renovate Bot]

v16.0.0

(2024-02-08)

  • Add special case for base DTO params on RPI config [Felipe Lalanne]
  • Fix processing of dtoverlay/dtparams on config.txt [Felipe Lalanne]

v15.3.1

(2024-02-01)

  • Respect update strategies app-wide instead of at the service level [Christina Ying Wang]

v15.3.0

(2024-01-26)

  • Pin docker version to v24 for tests [Felipe Lalanne]
  • Fix docker utils tests for docker v25 [Felipe Lalanne]
  • Enable nodemon when using test:env [Felipe Lalanne]
  • Improve test:compose and test:env commands [Felipe Lalanne]
  • Add prettierrc for editor compatibility [Felipe Lalanne]

v15.2.0

(2024-01-08)

  • Try MDNS lookup only if regular DNS lookup fails [Felipe Lalanne]
  • Refactor mdns lookup code in app entry [Felipe Lalanne]

v15.1.1

(2024-01-02)

  • docs: api: start-service: specify this endpoint affects the device [Alex Gonzalez]

v15.1.0

(2023-11-22)

  • Force remove container if updateMetadata fails [Felipe Lalanne]

v15.0.4

(2023-11-22)

  • Only build sqlite3 from source [Felipe Lalanne]
  • Update @balena/systemd to 0.5.0 [Christina Ying Wang]

v15.0.3

(2023-11-22)

  • Cache last reported current state to /mnt/root/tmp [Christina Ying Wang]

v15.0.2

(2023-11-01)

  • Set applyInProgress to true while applying intermediate state [Christina Ying Wang]

v15.0.1

(2023-10-25)

  • Expose ports from port mappings on services [Felipe Lalanne]

v15.0.0

(2023-10-23)

  • Ignore expose service compose configuration [Felipe Lalanne]

v14.13.14

(2023-10-23)

  • Add note regading API jitter on target state poll [Felipe Lalanne]

v14.13.13

(2023-10-16)

  • Switch some _.includes usage to native versions [Pagan Gazzard]
  • Switch _.assign usage to native versions [Pagan Gazzard]
  • Switch _.isNaN usage to native versions [Pagan Gazzard]
  • Switch _.isFunction usage to native versions [Pagan Gazzard]
  • Switch _.isUndefined usage to native versions [Pagan Gazzard]
  • Switch _.isNull usage to native versions [Pagan Gazzard]
  • Switch _.isNumber usage to native versions [Pagan Gazzard]
  • Switch _.isArray usage to native versions [Pagan Gazzard]
  • Switch _.isString usage to native versions [Pagan Gazzard]

v14.13.12

(2023-10-16)

  • Revert "Do not expose ports from image if service network mode" [Felipe Lalanne]

v14.13.11

(2023-10-16)

  • Fix husky config for automatic linting on commit [Pagan Gazzard]

v14.13.10

(2023-10-16)

  • Convert multiple bluebird uses to native promises [Pagan Gazzard]

v14.13.9

(2023-10-16)

  • Do not expose ports from image if service network mode [Felipe Lalanne]

v14.13.8

(2023-10-12)

  • Move mdns-resolver to devDependencies [Felipe Lalanne]
  • Move got to devDependencies [Felipe Lalanne]
  • Move semver to dev-dependencies [Felipe Lalanne]
  • Move happy-eyeballs to dev-dependencies [Felipe Lalanne]
  • Move systeminformation to devDependencies [Felipe Lalanne]

v14.13.7

(2023-10-12)

  • Use mutation for adding service/image ids to logs to reduce allocations [Pagan Gazzard]
  • Keep the container lock for the entire duration of attaching logs [Pagan Gazzard]
  • Remove unnecessary async on handling journald stderr entries [Pagan Gazzard]
  • Avoid unnecessary work in systemd log row handling for invalid logs [Pagan Gazzard]

v14.13.6

(2023-10-11)

  • Remove unused docker logs logging code [Pagan Gazzard]

v14.13.5

(2023-10-10)

  • Revert os-release path to /mnt/root [Christina Ying Wang]

v14.13.4

(2023-10-02)

  • Add tmpfs for /mnt/root/tmp in test env [Christina Ying Wang]

v14.13.3

(2023-10-02)

  • Use ~= to specify alpine package versions [Felipe Lalanne]

v14.13.2

(2023-09-30)

  • Use native structuredClone instead of _.cloneDeep [Christina Ying Wang]

v14.13.1

(2023-09-28)

  • Update balena-io/deploy-to-balena-action to v1.0.3 [Self-hosted Renovate Bot]

v14.13.0

(2023-09-28)

  • Update runtime-base image to alpine:3.18 [Christina Ying Wang]

v14.12.2

(2023-09-15)

  • Dump target-state to hostOS tmp dir [jaomaloy]

v14.12.1

(2023-08-21)

  • Bump sqlite3 to 5.1.6 [Felipe Lalanne]
  • Bump knex to v2.5.1 [Felipe Lalanne]

v14.12.0

(2023-08-17)

  • Update README [Felipe Lalanne]
  • Replace node-dbus with @balena/systemd [Felipe Lalanne]
  • Replace dbus test service with mock-systemd-bus [Felipe Lalanne]
  • Update to nodejs 18 [Pagan Gazzard]

v14.11.14

(2023-08-14)

  • Update balena-io/deploy-to-balena-action to v0.28.0 [Self-hosted Renovate Bot]

v14.11.13

(2023-08-10)

  • patch: Remove reference of override_lock variable [Vipul Gupta]

v14.11.12

(2023-07-19)

  • mount-partitions: do not hardcode partition types [Alex Gonzalez]

v14.11.11

(2023-07-12)

  • backends: Add Jetson Orin NANO custom device-tree support [Alexandru Costache]

v14.11.10

(2023-07-05)

  • Add revpi-connect-s to Raspberry Pi variants [Florin Sarbu]

v14.11.9

(2023-06-28)

  • Remove the 'Stopped' status for services [Christina Ying Wang]

v14.11.8

(2023-06-23)

  • Parse container exit error message instead of status [Christina W]

v14.11.7

(2023-06-19)

  • Fix /v2/applications/state endpoint [Felipe Lalanne]

v14.11.6

(2023-06-19)

  • Add fail-safe to test the image architecture [Felipe Lalanne]
  • Use multi-arch in dockerfile [Felipe Lalanne]

v14.11.5

(2023-06-19)

  • Improve tests surrounding Engine-host race patch [Christina Ying Wang]

v14.11.4

(2023-06-19)

  • Specify fs type when mounting partitions to prevent "Can't open blockdev" warnings [Christina Ying Wang]

v14.11.3

(2023-06-15)

  • Update balena-io/deploy-to-balena-action to v0.27.0 [Self-hosted Renovate Bot]

v14.11.2

(2023-06-05)

  • Handle Engine-host race condition for "always" and "unless-stopped" restart policy [Christina Ying Wang]

v14.11.1

(2023-05-11)

  • Fix sw.arch typo when testing contracts [Felipe Lalanne]

v14.11.0

(2023-05-10)

  • Add arch.sw to the valid container requirements [Felipe Lalanne]
  • Allow using slug to validate hw.device-type contract [Felipe Lalanne]
  • Simplify and move lib/contract.spec.ts to tests/unit [Felipe Lalanne]

v14.10.11

(2023-05-08)

  • Add information about hdmi port 2 config vars [Felipe Lalanne]
  • Update table formatting on configurations.md [Felipe Lalanne]

v14.10.10

(2023-05-03)

  • mount-partitions.sh: Add support for encrypted partitions [Michal Toman]

v14.10.9

(2023-05-03)

  • Run test supervisor under a different service name [Kyle Harding]

v14.10.8

(2023-04-26)

  • Fix service comparison when creating component steps [Felipe Lalanne]
  • Create tests with recovery from #1576 [Felipe Lalanne]
  • Skip updateMetadata step if there are network changes [Felipe Lalanne]
  • Add replication of issue using unit tests [Felipe Lalanne]
  • Add integration tests for state-engine [Felipe Lalanne]
  • Do not pass auth to images with no registry [Felipe Lalanne]

v14.10.7

(2023-04-21)

  • Remove safeStateClone function [Felipe Lalanne]
  • Get rid of targetVolatile in app manager [Felipe Lalanne]
  • Make pausingApply a private member of device-state [Felipe Lalanne]
  • Simplify doRestart and doPurge actions [Felipe Lalanne]
  • Fix network appUuid inference in local mode [Felipe Lalanne]
  • Get image name from DB when getting the app current state [Felipe Lalanne]
  • Improve net alias comparison to prevent unwanted restarts [Felipe Lalanne]
  • Exclude containerId from service network aliases [Felipe Lalanne]
  • Skip image delete when applying intermediate state [Felipe Lalanne]
  • Make local mode image management work as in cloud mode [Felipe Lalanne]
  • Remove ignoreImages argument from getRequiredSteps [Felipe Lalanne]

v14.10.6

(2023-04-20)

  • Do not restart balena-hostname on rename [Felipe Lalanne]

v14.10.5

(2023-04-13)

  • Remove anonymous build volume from Dockerfile [Christina Ying Wang]

v14.10.4

(2023-04-10)

  • Log uncaught promise exceptions on the app entry [Felipe Lalanne]

v14.10.3

(2023-04-10)

  • Fix assertion error in restart-service [Christina Ying Wang]

v14.10.2

(2023-04-07)

  • backends: Add Jetson Orin NX custom device-tree support [Alexandru Costache]

v14.10.1

(2023-04-07)

  • Use dbus-send to get current boot block device instead of fdisk [Christina Ying Wang]

v14.10.0

(2023-03-28)

  • Mount boot partition into container on Supervisor start [Christina Ying Wang]

v14.9.8

(2023-03-27)

  • Revert "Use multi-arch in dockerfile" [Felipe Lalanne]

v14.9.7

(2023-03-23)

  • Add missing log backend field assignment in logger init [Christina Ying Wang]

v14.9.6

(2023-03-23)

  • Update deploy-to-balena action to 0.26.2 [Felipe Lalanne]
  • Use multi-arch in dockerfile [Felipe Lalanne]

v14.9.5

(2023-03-20)

  • Use log endpoint subdomain if it exists in config.json [Christina Ying Wang]

v14.9.4

(2023-03-13)

  • Skip pin device step if release was deleted [Felipe Lalanne]

v14.9.3

(2023-03-10)

  • Use single-arch in dockerfile [Felipe Lalanne]

v14.9.2

(2023-03-02)

  • Replace BALENA-FIREWALL rule in INPUT chain instead of flushing [Christina Ying Wang]

v14.9.1

(2023-02-15)

  • Always lower case the cpu id to avoid bouncing between casing when reporting [Pagan Gazzard]

v14.9.0

(2023-02-14)

  • Find and remove duplicate networks [Felipe Lalanne]
  • Reference networks by Id instead of by name [Felipe Lalanne]

v14.8.0

(2023-02-10)

  • Remove dependent devices content in codebase [Christina Ying Wang]

v14.7.1

(2023-02-07)

  • patch: Convert internal timestamp passed to journalctl from number to string [Christina Ying Wang]

v14.7.0

(2023-02-03)

  • Support since and until in supervisor journalctl wrapper API. [Ruben Keulemans]

v14.6.4

(2023-01-31)

  • Add SIGTERM listener on application start [Felipe Lalanne]

v14.6.3

(2023-01-30)

  • Update deploy-to-balena action to 0.26.0 [Christina Ying Wang]

v14.6.2

(2023-01-26)

  • patch: Migrate Supervisor Debugging docs from masterclass [Vipul Gupta (@vipulgupta2048)]

v14.6.1

(2023-01-24)

  • Remove custom action restriction for external contributors [Christina Ying Wang]

v14.6.0

(2023-01-20)

  • Allow using colon character in config vars [Felipe Lalanne]

v14.5.2

(2023-01-19)

  • Allow external contribtions to execute checks [Kyle Harding]

v14.5.1

(2023-01-18)

  • Correctly use the extended got instance for target-state [Pagan Gazzard]

v14.5.0

(2023-01-17)

  • Update host-config, route, and action tests for host config endpoints [Christina Ying Wang]

v14.4.10

(2023-01-04)

  • Docs: clarify that Supervisor creates lockfiles as nobody UID [Christina Ying Wang]

v14.4.9

(2022-12-19)

  • Use got for fetching the target state in order to have brotli support [Pagan Gazzard]

v14.4.8

(2022-12-15)

  • Fix journalctl to work with persistent logs [Felipe Lalanne]

v14.4.7

(2022-12-15)

  • Update API.md [Christina Wang]

v14.4.6

(2022-12-08)

  • Make readFromBoot behave more like Node readFile [Felipe Lalanne]

v14.4.5

(2022-12-07)

  • Stop using host journalctl [Felipe Lalanne]

v14.4.4

(2022-11-22)

  • Enable node16 module resolution in tsconfig to ease the ESM transition [Pagan Gazzard]

v14.4.3

(2022-11-22)

  • Use timers/promises for promisified setTimeout [Pagan Gazzard]

v14.4.2

(2022-11-21)

  • Remove some unnecessary usage of .reduce [Pagan Gazzard]

v14.4.1

(2022-11-18)

  • Improve determination of when a state change may need to be reported [Ken Bannister]
  • Report must include a state change if sooner than metrics frequency [Ken Bannister]
  • Remove report frequency management from current state reporting function [Ken Bannister]
  • Move definition of maxReportFrequency to the reporting file [Ken Bannister]
  • Report metrics in target-state PATCH based on a max frequency [Ken Bannister]

v14.4.0

(2022-11-17)

  • Use fatrw utility for writes to boot partition [Felipe Lalanne]

v14.3.5

(2022-11-16)

  • Simplify getting images for cleanup [Christina Ying Wang]

v14.3.4

(2022-11-16)

  • Create default network as config-only when services have host networking [Christina Ying Wang]

v14.3.3

(2022-11-14)

  • Migrate all device config tests to integration. [pipex]

v14.3.2

(2022-11-11)

  • Fix locking stubs that were returning Bluebird rather than Promise [Pagan Gazzard]

v14.3.1

(2022-11-11)

  • Update blinking to 0.0.7 [Pagan Gazzard]

v14.3.0

(2022-11-10)

  • Convert ensureSupervisorNetwork to native Promises [Christina Ying Wang]

v14.2.21

(2022-11-07)

  • Allow local target state to be applied in unmanaged mode [Christina Ying Wang]

v14.2.20

(2022-11-03)

  • patch: Update locks behavior for config changes [Vipul Gupta (@vipulgupta2048)]

v14.2.19

(2022-11-03)

  • Run the built supervisor as part of docker-compose tests [Felipe Lalanne]

v14.2.18

(2022-11-02)

  • Update apt repositories before installing dbus [Christina Ying Wang]

v14.2.17

(2022-11-01)

  • Migrate API tests to unit/integration [Christina Ying Wang]

v14.2.16

(2022-10-27)

  • config/backends: Add Jetson AGX Orin Devkit to the list of DTs that support configurable device-tree [Alexandru Costache]

v14.2.15

(2022-10-20)

  • Migrate docker-util tests [pipex]

v14.2.14

(2022-10-19)

  • Migrate simple legacy tests to test/unit and test/integration [pipex]

v14.2.13

(2022-10-18)

  • Convert common.js to TypeScript [Christina Ying Wang]

v14.2.12

(2022-10-18)

  • Setup environment for dbus tests [Felipe Lalanne]

v14.2.11

(2022-10-17)

  • Allow most printable ASCII chars for service label key [Ken Bannister]

v14.2.10

(2022-10-13)

  • Use inherited secrets for flowzone [Pagan Gazzard]

v14.2.9

(2022-10-10)

  • Start state engine and API binder in parallel [Felipe Lalanne]

v14.2.8

(2022-10-03)

  • Update type dependencies [Pagan Gazzard]

v14.2.7

(2022-09-28)

  • Split compose/volume tests into unit/integration [Felipe Lalanne]

v14.2.6

(2022-09-28)

  • Fix migrations hardcode to work with knex 0.95.15 [Felipe Lalanne]

v14.2.5

(2022-09-27)

  • Add test troubleshooting case that appears after upgrading system [Christina Ying Wang]

v14.2.4

(2022-09-26)

  • Add custom flowzone action to finalize staging releases [Felipe Lalanne]

v14.2.3

(2022-09-26)

  • Update dependencies to fix NPM build [Felipe Lalanne]

v14.2.2

(2022-09-22)

  • Update typescript target to es2021 [Pagan Gazzard]
  • Update to webpack 5 [Pagan Gazzard]

v14.2.1

(2022-09-22)

  • Publish to staging with a custom publish composite job [Pagan Gazzard]

v14.2.0

(2022-09-20)

  • Disable event tracking [Felipe Lalanne]

v14.1.3

(2022-09-20)

  • Update webpack dependencies to latest webpack 4.x compatible versions [Pagan Gazzard]

v14.1.2

(2022-09-20)

  • Update husky/lint-staged dev dependencies [Pagan Gazzard]

v14.1.1

(2022-09-19)

Update balena-register-device to 8.0.0 [Thodoris Greasidis]

balena-register-device-8.0.0

(2022-09-06)

  • Remove the travis & appveyor configurations [Thodoris Greasidis]
  • tsconfig: Enable strict type checking [Thodoris Greasidis]
  • Update devDependencies [Thodoris Greasidis]
  • Update the uuid package to v9 [Thodoris Greasidis]
  • Prevent creating a package-lock.json [Thodoris Greasidis]
  • Drop support for node 10 in favor of 14 & 16 [Thodoris Greasidis]

v14.1.0

(2022-09-19)

  • Update to nodejs 16 [Pagan Gazzard]

v14.0.26

(2022-09-19)

  • Update @balena/lint to 6.2.0 [Pagan Gazzard]
  • Update to typescript 4.8.2 [Pagan Gazzard]

v14.0.25

(2022-09-15)

  • Update to nodejs 14 [Pagan Gazzard]

v14.0.24

(2022-09-15)

  • Split publish to balena-staging from flowzone [Pagan Gazzard]

v14.0.23

(2022-09-14)

  • Switch from balenaCI to flowzone [Pagan Gazzard]

v14.0.22

(2022-09-14)

  • Only install service if running is set to false [Felipe Lalanne]

v14.0.21

(2022-09-13)

  • Fix withDefault type helper to work with boolean [Felipe Lalanne]

v14.0.20

(2022-09-12)

  • Fix filtering of the supervisor app on the target state [Felipe Lalanne]

v14.0.19

(2022-09-12)

  • Update blinking to 0.0.5 [Pagan Gazzard]

v14.0.18

(2022-09-07)

  • Set desired es-version for downstream modules that support it [Thodoris Greasidis]

v14.0.17

(2022-09-06)

  • Remove side effects for module imports [Felipe Lalanne]

v14.0.16

(2022-09-06)

  • Add custom DTB support for imx8mm-var-som [Alexandru Costache]

v14.0.15

(2022-08-24)

  • Create test/unit and test/integration folders [Felipe Lalanne]
  • Move the current test suite under test/legacy [Felipe Lalanne]

v14.0.14

(2022-08-22)

  • Simplify test commands in package.json [Felipe Lalanne]

v14.0.13

(2022-08-02)

  • Wait for Stopping services to stop before target apply success [Christina Wang]

v14.0.12

(2022-07-18)

  • Disable healthchecks failing on report errors [Felipe Lalanne]

v14.0.11

(2022-07-18)

  • Refactor supervisor Dockerfile to remove custom dependencies [Felipe Lalanne]

v14.0.10

(2022-07-13)

  • Remove legacy build methods [Felipe Lalanne]
  • Allow directories to be used as lockfiles [Felipe Lalanne]

v14.0.9

(2022-07-06)

  • Allow host config patch regardless of running applications [Christina Wang]

v14.0.8

(2022-06-27)

  • Specify that Supervisor will not restore previous lock status from user containers [Christina Wang]

v14.0.7

(2022-06-22)

  • Add missing docs for the containerId param of the journal-logs endpoint [Thodoris Greasidis]

v14.0.6

(2022-06-15)

  • Read hostname from config.json with container /etc/hostname as backup [Christina Wang]

v14.0.5

(2022-06-14)

  • Add custom DTB support for Variscite Dart DT family [Christina Wang]

v14.0.4

(2022-06-09)

  • Better document mocked-dbus, add missing dbus interface methods [Christina Wang]

v14.0.3

(2022-06-07)

  • Do not send name as part of the current state [Felipe Lalanne]

v14.0.2

(2022-06-06)

  • Don't use config.get for appId when checking locks in host config PATCH [Christina Wang]

v14.0.1

(2022-06-02)

  • Use locks before shutdown/reboot instead of stopping containers [20k-ultra]
  • Refactor update-lock.lock to accept an array of applications to lock [20k-ultra]
  • Refactor update-lock function to avoid callback hell [20k-ultra]

v14.0.0

(2022-05-31)

  • Use Mounts API for engine socket feature label [Christina Wang]

v13.1.11

(2022-05-26)

  • Only migrate apps.json on preload after target has been set [Christina Wang]

v13.1.10

(2022-05-23)

  • Trim newlines from sysinfo files [Felipe Lalanne]

v13.1.9

(2022-05-23)

  • Fix serial number support for variscite boards [Felipe Lalanne]

v13.1.8

(2022-05-17)

  • Add compose support for volumes defined with long syntax [Christina Wang]

v13.1.7

(2022-05-16)

  • Prevent throttling reports when nothing was sent [20k-ultra]

v13.1.6

(2022-05-06)

  • Avoid splash image failures if image is corrupt [Felipe Lalanne]

v13.1.5

(2022-05-03)

  • Use write + sync when writing configs to /mnt/boot [Felipe Lalanne]

v13.1.4

(2022-04-28)

  • Use delay instead of interval to recursively report state [20k-ultra]

v13.1.3

(2022-04-20)

  • Remove in memory storage of started/stopped containers [20k-ultra]
  • Only start a container once in its lifetime This will ensure the restart policy specified is not violated [20k-ultra]

v13.1.2

(2022-04-18)

  • Explain /v2/state/status's status field in its response [Christina Wang]

v13.1.1

(2022-04-13)

  • Do not fail lockfile cleanup if files do not exist [Felipe Lalanne]

v13.1.0

(2022-04-12)

  • Add lockfile binary and internal lib for interfacing with it [Christina Wang]

v13.0.3

(2022-04-08)

  • Add system id/model support for Compulab IOT-gate [Felipe Lalanne]

v13.0.2

(2022-04-08)

  • Correctly evaluate downloadProgress when computing current state [20k-ultra]

v13.0.1

(2022-04-01)

  • Fix database migration for legacyApps [Felipe Lalanne]

v13.0.0

(2022-03-23)

  • Add support for GET v3 target state [Felipe Lalanne]

v12.11.43

(2022-03-21)

  • Always add status to image download report [Felipe Lalanne]

v12.11.42

(2022-03-18)

  • Moved test setup into file included for all tests [20k-ultra]

v12.11.41

(2022-03-16)

  • Added PR template doc [20k-ultra]

v12.11.40

(2022-03-16)

  • Only count report connectivity errors for healthcheck [Felipe Lalanne]
  • update packages for vulnerabilities [20k-ultra]

v12.11.39

(2022-03-16)

  • Move report throttle out of reporting logic [20k-ultra]
  • Update npm dep sinon to v11.1.2 [20k-ultra]

v12.11.38

(2022-03-14)

  • Apply target state if loaded from file (apps.json) [20k-ultra]

v12.11.37

(2022-02-25)

  • Fix check for supervisor0 network [Felipe Lalanne]

v12.11.36

(2022-02-23)

  • Ignore selinux security opts when comparing services [Felipe Lalanne]

v12.11.35

(2022-02-16)

  • Add troubleshooting notice for macOS [fisehara]

v12.11.34

(2022-02-15)

  • Create touch and getBootTime utility functions [Felipe Lalanne]
  • Add update lock check to PATCH /v1/device/host-config [Christina Wang]

v12.11.33

(2022-02-09)

  • Add support for local ipv6 reporting [Felipe Lalanne]

v12.11.32

(2022-02-01)

  • Use writeAndSync when writing to config.json [Felipe Lalanne]

v12.11.31

(2022-02-01)

  • Ensure the finish event is always reported when fetching images [Pagan Gazzard]

v12.11.30

(2022-01-26)

  • Throw if target states gets a 304 without an ETAG [Felipe Lalanne]

v12.11.29

(2022-01-20)

  • patch: Update fleet terminology for application update locks [Vipul Gupta]
  • patch: Update fleet terminology for the Supervisor API [Vipul Gupta (@vipulgupta2048)]

v12.11.28

(2022-01-19)

  • Use dmidecode to read cpuid in non ARM devices [Felipe Lalanne]
  • Use dmidecode to read cpuid in non ARM devices [Felipe Lalanne]

v12.11.27

(2022-01-18)

  • docs: Clarify that update locks prevent restarts from env var changes [Thodoris Greasidis]

v12.11.26

(2022-01-18)

  • Increase delta request timeout to 59s to better align with our backends [Pagan Gazzard]

v12.11.25

(2022-01-17)

  • Fix memoization of registry token request [Pagan Gazzard]

v12.11.24

(2022-01-10)

  • Remove apps.json after initial preload [Felipe Lalanne]

v12.11.23

(2021-12-28)

  • add-supervisor-update-info [fisehara]

v12.11.22

(2021-12-22)

  • Refactor SUPERVISOR_POLL_INTERVAL description to mention back off [Miguel Casqueira]

v12.11.21

(2021-12-16)

  • Fix .local dns resolution when returning multiple addresses [Felipe Lalanne]

v12.11.20

(2021-12-13)

  • Skip initial apply until a target has been set [Felipe Lalanne]

v12.11.19

(2021-12-10)

  • Fix default value for BALENA_SUPERVISOR_POLL_INTERVAL The API typically passes its own value and overrides this default. This old value was the one the API passed not what the Supervisor source code had. [Miguel Casqueira]

v12.11.18

(2021-12-10)

  • Fix the "already delayed by" calculation [Pagan Gazzard]

v12.11.17

(2021-12-09)

  • Add exponential backoff on errors for logs reporting [Pagan Gazzard]

v12.11.16

(2021-12-02)

  • Improve validation messages for env vars and labels [Felipe Lalanne]

v12.11.15

(2021-12-02)

  • Convert target state types to io-ts for better validation [Felipe Lalanne]

v12.11.14

(2021-11-30)

  • Add happy eyeballs [Zane Hitchcox]

v12.11.13

(2021-11-29)

  • Increase request timeout to 59s to better align with our backends [Pagan Gazzard]

v12.11.12

(2021-11-17)

  • Fix broken local mode after PR #1824 [Felipe Lalanne]

v12.11.11

(2021-11-17)

  • backends/extra-uEnv: Extend custom DTB support for Nano 2GB Devkit [Alexandru Costache]

v12.11.10

(2021-11-16)

  • Fix delete-then-download strategy [Felipe Lalanne]

v12.11.9

(2021-11-15)

  • Go back to docker repo type to fix versioning [Felipe Lalanne]

v12.11.8

(2021-11-12)

  • Re-add resinci config to control node checks [Felipe Lalanne]

v12.11.7

(2021-11-11)

  • Wait for images to be ready before moving between releases [Felipe Lalanne]

v12.11.6

(2021-11-11)

  • Change repo type in repo.yml to skip concourse build [Felipe Lalanne]

v12.11.5

(2021-11-10)

  • Fix livepush to work with Dockerfile.template [Felipe Lalanne]

v12.11.4

(2021-11-09)

  • Remove .resinci.yml file [Miguel Casqueira]
  • Move to balena-ci action for deployments [Miguel Casqueira]

v12.11.3

(2021-11-05)

  • Do not build for staging in circleci job [Miguel Casqueira]

v12.11.2

(2021-10-28)

  • Check config for networks and volumes inside Service [Felipe Lalanne]

v12.11.1

(2021-10-25)

  • patch: Fix relative links in docs [Kyle Harding]

v12.11.0

(2021-10-20)

  • Use balena-ci action to deploy releases [Miguel Casqueira]

v12.10.16

(2021-10-12)

  • backends/extra-uEnv: Extend custom DTB support for Jetson TX2 NX [Alexandru Costache]

v12.10.15

(2021-09-30)

  • Add supervisor docker-compose [Felipe Lalanne]

v12.10.14

(2021-09-29)

  • Only deploy on commits from balena-ci and versionbot [Felipe Lalanne]

v12.10.13

(2021-09-28)

  • Add backoff to state reporting when 503 is received [Felipe Lalanne]

v12.10.12

(2021-09-27)

  • Use balena CLI for pushing to balenaCloud [Felipe Lalanne]

v12.10.11

(2021-09-24)

  • Improve network interface filter [Felipe Lalanne]

v12.10.10

(2021-09-07)

  • api-keys: Remove os variant parameter for authentication check [Alex Gonzalez]
  • os-release: Use developmentMode to ascertain OS variant in new releases [Alex Gonzalez]
  • config: Add developmentMode to schema [Alex Gonzalez]

v12.10.9

(2021-09-02)

  • Update URL to balena-proxy-config source code [Kyle Harding]

v12.10.8

(2021-09-01)

  • Bump path-parse from 1.0.6 to 1.0.7 [dependabot[bot]]

v12.10.7

(2021-09-01)

  • Bump tar from 4.4.13 to 4.4.19 [dependabot[bot]]

v12.10.6

(2021-09-01)

  • Remove "variable list" heading in configuration doc [Miguel Casqueira]

v12.10.5

(2021-08-31)

  • Clean up configurations.md [Miguel Casqueira]

v12.10.4

(2021-08-31)

  • Include issues with downgrading versions in README [Miguel Casqueira]

v12.10.3

(2021-08-24)

  • Skip restarting services if they are part of conf targets [Kyle Harding]

v12.10.2

(2021-08-02)

  • Removed fire emoji prefix for firewall logs. [peakyDicers]

v12.10.1

(2021-08-02)

  • Fix regression with local mode push [Felipe Lalanne]

v12.10.0

(2021-07-28)

  • Remove comparison based on image, release, and service ids [Felipe Lalanne]

v12.9.6

(2021-07-26)

  • Use tags to track supervised images in docker [Felipe Lalanne]

v12.9.5

(2021-07-22)

  • Log the delta URL that will be downloaded on update [Felipe Lalanne]

v12.9.4

(2021-07-08)

  • Fix db-helper module for tests [Felipe Lalanne]

v12.9.3

(2021-07-08)

  • Allow users to override HUP lock if device is stuck in invalid state [Christina Wang]

v12.9.2

(2021-07-07)

  • Point users to the configuration page for overriding update locks [Thodoris Greasidis]

v12.9.1

(2021-07-05)

  • Clarify that /v2/applications/:appId/stop-service is temporary [Miguel Casqueira]

v12.9.0

(2021-07-05)

  • Improve testing for supervisor composition modules [Felipe Lalanne]

v12.8.12

(2021-07-01)

  • Bump color-string from 1.5.3 to 1.5.5 [dependabot[bot]]

v12.8.11

(2021-06-30)

  • Remove codeowners file [Miguel Casqueira]

v12.8.10

(2021-06-30)

  • Prevent updates/reboots with locks when HUP breadcrumbs present [Christina Wang]

v12.8.9

(2021-06-25)

  • Fix supervisor using wrong source for deltas [Felipe Lalanne]

v12.8.8

(2021-06-18)

  • Add revpi-connect, revpi-core-3 to Raspberry Pi variants [Florin Sarbu]

v12.8.7

(2021-06-14)

  • Bump normalize-url from 4.5.0 to 4.5.1 [dependabot[bot]]

v12.8.6

(2021-06-09)

  • Document the current state of HOST_FIREWALL_MODE [Christina Wang]

v12.8.5

(2021-06-08)

  • Improve target state typings [Pagan Gazzard]

v12.8.4

(2021-06-02)

  • Refactor debug log when unmanaged volume is found [Miguel Casqueira]

v12.8.3

(2021-05-28)

  • Prevent a recursive loop when reporting current state [Miguel Casqueira]

v12.8.2

(2021-05-26)

  • Revert multiline bullet points in notes [Christina Wang]

v12.8.1

(2021-05-19)

  • Specify that all restart API endpoints remove and recreate containers [Christina Wang]

v12.8.0

(2021-05-13)

  • Add toggleable SUPERVISOR_HARDWARE_METRICS config [Christina Wang]

v12.7.4

(2021-05-12)

  • Upgrade mocha to v8, use mocha fixtures for chai plugins [Christina Wang]

v12.7.3

(2021-05-12)

  • Simplify/optimize filtering non-significant sys info changes [Pagan Gazzard]
  • Avoid double omits whilst filtering current state [Pagan Gazzard]

v12.7.2

(2021-05-10)

  • Bump lodash from 4.17.20 to 4.17.21 [dependabot[bot]]

v12.7.1

(2021-05-07)

  • Bump contrato from 0.5.0 to 0.6.3 [Micah Halter]

v12.7.0

(2021-05-07)

  • Backwards compatility changes for old resin namespaces [Kyle Harding]
  • Change container name to balena_supervisor [Kyle Harding]
  • Rename resin-supervisor to balena-supervisor [Kyle Harding]

v12.6.8

(2021-05-06)

  • Show warning instead of exception for invalid network config [Felipe Lalanne]

v12.6.7

(2021-05-06)

  • Patch awaiting response when checking if supervisor0 network exists [Miguel Casqueira]

v12.6.6

(2021-05-06)

  • Fix parsing driver_opts from compose to docker network creation [quentinGllmt]

v12.6.5

(2021-05-06)

Update balena-register-device and send extra info at provision time [Pagan Gazzard]

balena-register-device-7.2.0

(2021-04-29)

  • Support supervisorVersion/osVersion/osVariant/macAddress fields [Pagan Gazzard]

balena-register-device-7.1.1

(2021-04-29)

  • Update dependencies [Pagan Gazzard]

balena-register-device-7.1.0

(2020-07-13)

  • Switch from randomstring to uuid for generating device uuids [Pagan Gazzard]

balena-register-device-7.0.1

(2020-07-13)

  • Add .versionbot/CHANGELOG.yml for nested changelogs [Pagan Gazzard]

balena-register-device-7.0.0

(2020-07-06)

  • Convert to type checked javascript [Pagan Gazzard]
  • Drop callback interface in favor of promise interface [Pagan Gazzard]
  • Switch to a named export [Pagan Gazzard]
  • Convert to typescript [Pagan Gazzard]
  • Update to typed-error 3.x [Pagan Gazzard]
  • Switch to returning native promises [Pagan Gazzard]
  • Update to balena-request 11.x [Pagan Gazzard]
  • Use typescript import helpers [Pagan Gazzard]

v12.6.4

(2021-05-05)

  • Log error responses from API when reporting state [Felipe Lalanne]

v12.6.3

(2021-05-04)

  • Added configurations.md to document all configurable vars [Miguel Casqueira]

v12.6.2

(2021-04-30)

  • Remove version tag from livepush generated image [Felipe Lalanne]

v12.6.1

(2021-04-27)

  • Remove mz, mkdirp, body-parser dependencies [Christina Wang]

v12.6.0

(2021-04-27)

  • Bump dockerode types to 2.5.34 [Felipe Lalanne]

v12.5.16

(2021-04-27)

  • Enable docker layer caching on CircleCI [Miguel Casqueira]

v12.5.15

(2021-04-26)

  • Added clean step to remove previous builds before running tests [Miguel Casqueira]

v12.5.14

(2021-04-26)

  • balena-supervisor: replace references to resin-vars [Mark Corbin]

v12.5.13

(2021-04-25)

  • Update supervisor to typescript 4 [Felipe Lalanne]

v12.5.12

(2021-04-20)

  • Bump ssri from 6.0.1 to 6.0.2 [dependabot[bot]]

v12.5.11

(2021-04-14)

  • Refactor extra_uEnv to not match with intel nuc [Miguel Casqueira]

v12.5.10

(2021-04-12)

  • patch: Fix the sysInfo.getCpuId() test [Vipul Gupta (@vipulgupta2048)]
  • patch: Fix substring end parameter for accurate CPU ID [Vipul Gupta (@vipulgupta2048)]

v12.5.9

(2021-04-09)

  • Fix broken IPAM network validation [Felipe Lalanne]

v12.5.8

(2021-04-08)

  • Improved mutable (/data) file system detection [Miguel Casqueira]

v12.5.7

(2021-04-06)

  • Add message to refer to v2 endpoints [Vipul Gupta (@vipulgupta2048)]

v12.5.6

(2021-04-05)

  • Prevent unintended image removal when calling purge endpoints to remove volumes [Christina Wang]

v12.5.5

(2021-04-05)

  • Update setup section to reflect switch to balena-os org [Christina Wang]

v12.5.4

(2021-04-02)

  • Patch list volumes to always return an array [Miguel Casqueira]

v12.5.3

(2021-04-01)

  • Bump y18n from 4.0.0 to 4.0.1 [dependabot[bot]]

v12.5.2

(2021-03-31)

  • Removed upgrades.md doc [Miguel Casqueira]

v12.5.1

(2021-03-31)

  • Disable docker layer caching on CircleCI [Felipe Lalanne]

v12.5.0

(2021-03-30)

  • Add cywang117 to CODEOWNERS [Miguel Casqueira]

v12.4.10

(2021-03-22)

  • Enable strict options by default and only disable specific ones [Pagan Gazzard]

v12.4.9

(2021-03-22)

  • Move chai-things and chai-like into dev dependencies [Pagan Gazzard]

v12.4.8

(2021-03-22)

  • Add explicit dockerode dependency [Pagan Gazzard]

v12.4.7

(2021-03-17)

  • typos: seperate -> separate [Matthew McGinn]

v12.4.6

(2021-03-15)

  • Infer legacy Volumes that do not have the supervised label [Miguel Casqueira]

v12.4.5

(2021-03-12)

  • Add nebra-hnt to raspberry pi variants [Felipe Lalanne]

v12.4.4

(2021-03-09)

  • Bump elliptic from 6.5.3 to 6.5.4 [dependabot[bot]]

v12.4.3

(2021-02-24)

  • Refactor journalctl monitor to only spawn new process on exit [Miguel Casqueira]

v12.4.2

(2021-02-19)

  • Call restore for each healthcheck stub in v1 tests [Christina Wang]

v12.4.1

(2021-02-18)

  • Refactor checkTruthy to return more predictable values [Miguel Casqueira]

v12.4.0

(2021-02-18)

  • Complete /v1/device/host-config unit tests, modify PATCH route [Christina Wang]

v12.3.7

(2021-02-16)

  • Patch killServicesUsingApi to not get stuck in noop loop [Miguel Casqueira]

v12.3.6

(2021-02-09)

  • Fix gpu label support [Robert Günzler]

v12.3.5

(2021-02-03)

  • Prevent inserting null commit during DB migration [Miguel Casqueira]

v12.3.4

(2021-01-25)

  • Removed richbayliss from CODEOWNERS [Miguel Casqueira]

v12.3.3

(2021-01-21)

  • Cancel pending apply target after /v1/update request [Miguel Casqueira]

v12.3.2

(2021-01-11)

  • patch: bump @types/yargs from 15.0.5 to 15.0.12 [dependabot[bot]]

v12.3.1

(2021-01-11)

  • patch: bump pretty-ms from 7.0.0 to 7.0.1 [dependabot[bot]]

v12.3.0

(2021-01-06)

  • Add support for BALENA_HOST_SPLASH_IMAGE config [Felipe Lalanne]

v12.2.16

(2020-12-21)

  • Bump systeminformation from 4.30.5 to 4.31.1 [dependabot[bot]]

v12.2.15

(2020-12-21)

  • Retired CameronDiver from CODEOWNERS [Miguel Casqueira]

v12.2.14

(2020-12-16)

  • Revert "Add dependabot configuration" [Felipe Lalanne]

v12.2.13

(2020-12-16)

  • Add dependabot configuration [Miguel Casqueira]

v12.2.12

(2020-12-14)

  • Bump ini from 1.3.5 to 1.3.8 [dependabot[bot]]

v12.2.11

(2020-12-14)

  • Improve supervisor API behavior when locks are set [Felipe Lalanne]

v12.2.10

(2020-12-11)

  • Add config.txt support for Alliance rpi3 [Felipe Lalanne]

v12.2.9

(2020-12-10)

  • Add config.txt support for Rocktech rpi [Cameron Diver]

v12.2.8

(2020-11-30)

  • Patched /v1/restart exception [Miguel Casqueira]
  • Added test case for /v1/restart API [Miguel Casqueira]
  • Consolidated Supervisor API tests into clearer files [Miguel Casqueira]

v12.2.7

(2020-11-30)

  • Bump systeminformation from 4.27.11 to 4.30.5 [dependabot[bot]]

v12.2.6

(2020-11-30)

  • Update npm entry in package.json to match the npm version we use [Pagan Gazzard]

v12.2.5

(2020-11-17)

  • Bump bl from 1.2.2 to 1.2.3 [dependabot[bot]]

v12.2.4

(2020-11-17)

  • Bump systeminformation from 4.27.3 to 4.27.11 [dependabot[bot]]

v12.2.3

(2020-11-17)

  • fix: Scoped keys breaking livepush with existing cloud images on the device [Rich Bayliss]

v12.2.2

(2020-11-13)

  • Ensure the first target state request is applied [Felipe Lalanne]

v12.2.1

(2020-11-11)

  • validation: Ensure commit lookup has a bound value [Rich Bayliss]
  • fix: Scoped keys not working in LocalMode [Rich Bayliss]

v12.2.0

(2020-11-10)

  • Allow storing commits against their appIds [Cameron Diver]

v12.1.5

(2020-11-03)

  • Add more test coverage for compose/images [Miguel Casqueira]

v12.1.4

(2020-10-30)

  • Clarify when update_pending in /v1/device is true [Miguel Casqueira]

v12.1.3

(2020-10-30)

  • Add pipex to codeowners [Miguel Casqueira]

v12.1.2

(2020-10-29)

  • Mount docker socket under /host/run for services [Felipe Lalanne]

v12.1.1

(2020-10-28)

  • Use root mount point to find device-type.json [Cameron Diver]

v12.1.0

(2020-10-28)

  • Change log source from docker to journalctl [Thomas Manning]

v12.0.9

(2020-10-27)

  • Change source of deviceType to device-type.json [Felipe Lalanne]

v12.0.8

(2020-10-26)

  • Fixed evaluating if updates are needed to reach target state [Miguel Casqueira]

v12.0.7

(2020-10-19)

  • Improved log message when networks do not match [Miguel Casqueira]

v12.0.6

(2020-10-16)

  • Fixes check allowing preloading in local (unmanaged) mode [ab77]
  • Handle delete of multiple images with same dockerImageId [Felipe Lalanne]

v12.0.5

(2020-10-14)

  • Improve calculation for used system memory [Felipe Lalanne]

v12.0.4

(2020-10-13)

  • Don't require an existing supervisor container to sync [Cameron Diver]

v12.0.3

(2020-10-12)

  • Refactor system information filtering [Cameron Diver]
  • tests: Clean up and consistify naming scheme [Cameron Diver]

v12.0.2

(2020-10-12)

  • Attempt a state report once every maxReportFrequency [Cameron Diver]
  • Remove superfluous current state reporting code from api-binder [Cameron Diver]

v12.0.1

(2020-10-12)

  • Add features label io.balena.features.journal-logs [Thomas Manning]

v12.0.0

(2020-09-29)

  • version: drop SUPERVISOR_VERSION env var [Matthew McGinn]

v11.14.8

(2020-09-29)

  • Fix supervisor deadlock during migration [Felipe Lalanne]

v11.14.7

(2020-09-25)

  • Correctly evaluate if scheduledApply.delay is not set [Miguel Casqueira]

v11.14.6

(2020-09-24)

  • Fix config checks for ConfigFS backend [Felipe Lalanne]

v11.14.5

(2020-09-24)

  • mixpanel: superisor_version -> supervisor_version [Matthew McGinn]

v11.14.4

(2020-09-18)

  • api: Implement scoped Supervisor API keys [Rich Bayliss]

v11.14.3

(2020-09-17)

  • Clarify docs for toggling update lock override from dashboard [M. Casqueira]

v11.14.2

(2020-09-15)

  • Refactor extra_uEnv backend to match with more devices [Miguel Casqueira]

v11.14.1

(2020-09-14)

  • application-manager: Convert to a singleton [Rich Bayliss]
  • device-state: Convert to a singleton [Rich Bayliss]
  • api-binder: Convert to a singleton [Rich Bayliss]

v11.14.0

(2020-09-03)

  • Add device system information to state endpoint patch [Cameron Diver]

v11.13.0

(2020-08-29)

  • added support for configuring ODMDATA [Miguel Casqueira]

v11.12.11

(2020-08-27)

  • bug: Resolve mDNS API URLs [Rich Bayliss]

v11.12.10

(2020-08-24)

  • Preventing removing all configurations if device has no backends [Miguel Casqueira]

v11.12.9

(2020-08-20)

  • Don't enforce the vc4-fkms-v3d dtoverlay on rpi4 [Cameron Diver]

v11.12.8

(2020-08-19)

Update dependencies [Pagan Gazzard]

node-docker-delta-2.2.11

(2020-08-19)

  • Add .versionbot/CHANGELOG.yml for nested changelogs [Pagan Gazzard]

node-docker-delta-2.2.10

(2020-08-05)

  • Removed unused dependencies [Pagan Gazzard]
  • circleci: update docker [Pagan Gazzard]

docker-progress-4.0.3

(2020-08-17)

  • Update to balena-lint 5.x [Pagan Gazzard]

docker-progress-4.0.2

(2020-08-17)

  • Add .versionbot/CHANGELOG.yml for nested changelogs [Pagan Gazzard]

docker-progress-4.0.1

(2020-03-04)

  • Update dependencies [Pagan Gazzard]

docker-progress-4.0.0

(2019-03-26)

  • Detect error events in push/pull progress streams [Paulo Castro]

docker-toolbelt-3.3.10

(2020-08-19)

  • Add .versionbot/CHANGELOG.yml for nested changelogs [Pagan Gazzard]

docker-toolbelt-3.3.9

(2020-08-17)

  • Update to balena-lint 5.x [Pagan Gazzard]

livepush-3.5.1

(2020-08-19)

  • Add .versionbot/CHANGELOG.yml for nested changelogs [Pagan Gazzard]

livepush-3.5.0

(2020-07-13)

  • Allow setting ENV variables in the live image [Roman Mazur]
  • Bump dockerode types dependency [Roman Mazur]

livepush-3.4.1

(2020-05-05)

  • Update README with information about live directives [Cameron Diver]

livepush-3.4.0

(2020-04-15)

  • 🔭 Add a file watcher which can be used by library users [Cameron Diver]

resin-docker-build-1.1.6

(2020-08-19)

  • Add .versionbot/CHANGELOG.yml for nested changelogs [Pagan Gazzard]

resin-docker-build-1.1.5

(2020-04-02)

  • Update README with correct instantiation method [CameronDiver]

v11.12.7

(2020-08-19)

Update typed-error to 3.x [Pagan Gazzard]

typed-error-3.2.1

(2020-08-05)

  • Update dependencies [Pagan Gazzard]

typed-error-3.2.0

(2019-11-20)

  • update deps and specify minimum engine requirements [Will Boyce]

typed-error-3.1.0

(2019-04-01)

  • dev: Enforce prettier coding standards [Will Boyce]
  • npm: Update dependencies and remove package-lock.json [Will Boyce]
  • codeowners: Add top contributors @wrboyce, @Page-, and @dfunckt [Will Boyce]
  • versionbot: Add CHANGELOG.yml (for nested changelogs) [Will Boyce]

typed-error-3.0.2

(2018-11-01)

  • Update README with new import style [CameronDiver]

typed-error-3.0.1

(2018-10-29)

  • Update to typescript 3 [Pagan Gazzard]
  • Update dev dependencies [Pagan Gazzard]
  • Add node-10 to the circle test suite [Pagan Gazzard]

typed-error-3.0.0

(2018-04-17)

  • Distribute generated typescript declaration [Will Boyce]
  • use circle for build/publish and add package-lock [Will Boyce]
  • add lint scripts/requirements [Will Boyce]
  • Remove BaseError class and directly subclass Error [Will Boyce]
  • Update dependencies, clean up package/tsconfig [Will Boyce]

typed-error-2.0.1

(2017-12-15)

  • Add LICENSE [Akis Kesoglou]

v11.12.6

(2020-08-18)

Update pinejs-client-request to 7.2.1 [Pagan Gazzard]

pinejs-client-request-7.2.1

(2020-08-18)

Update dependencies [Pagan Gazzard]

pinejs-client-js-6.7.1

(2020-08-12)

  • Fix prepare $count typings [Pagan Gazzard]

pinejs-client-js-6.7.0

(2020-08-12)

  • Improve typings for request/post/put/patch/delete [Pagan Gazzard]

pinejs-client-request-7.2.0

(2020-08-12)

Update pinejs-client-core to 6.6.1 [Pagan Gazzard]

typed-error-3.2.1

(2020-08-05)

  • Update dependencies [Pagan Gazzard]

pinejs-client-js-6.6.1

(2020-08-11)

  • Fix typing when id is specified to be AnyObject | undefined [Pagan Gazzard]

pinejs-client-js-6.6.0

(2020-08-11)

  • Deprecate $expand: { 'a/$count': {...} } [Pagan Gazzard]
  • Deprecate resource: 'a/$count' and update typings to reflect it [Pagan Gazzard]

pinejs-client-js-6.5.0

(2020-08-11)

  • Add options: { $count: { ... } } sugar for top level $count [Pagan Gazzard]
  • Add $expand: { a: { $count: { ... } } } sugar for $count in expands [Pagan Gazzard]

pinejs-client-js-6.4.0

(2020-08-11)

  • Improve return typing of subscribe method [Pagan Gazzard]

pinejs-client-js-6.3.0

(2020-08-11)

  • Fix Poll.on typings [Pagan Gazzard]
  • Improve return typing when id is passed to GET methods [Pagan Gazzard]
  • Remove PromiseResult type, use Promise<PromiseResultTypes> instead [Pagan Gazzard]
  • Remove PromiseObj type, use Promise<{}> instead [Pagan Gazzard]

pinejs-client-js-6.2.0

(2020-08-10)

  • Add $filter: { a: { $count: 1 } } sugar for $count in filters [Pagan Gazzard]

pinejs-client-js-6.1.2

(2020-08-10)

  • Remove redundant ParamsObj/SubscribeParamsObj types [Pagan Gazzard]

pinejs-client-js-6.1.1

(2020-08-10)

  • Make use of mapObj helper in more places [Pagan Gazzard]
  • Use Object.keys in preference to hasOwnProperty where applicable [Pagan Gazzard]

v11.12.5

(2020-08-12)

  • Refactor configurable backend class names [Miguel Casqueira]

v11.12.4

(2020-08-12)

  • bug: Firewall not blocking supervisor access from outside the device [Rich Bayliss]

v11.12.3

(2020-08-11)

  • bug: Allow DNS through firewall for local containers [Rich Bayliss]

v11.12.2

(2020-08-05)

  • Fix device-tag fetching function [Cameron Diver]

v11.12.1

(2020-08-05)

Update resumable-request [Pagan Gazzard]

resumable-request-2.0.1

(2020-08-05)

  • Add .versionbot/CHANGELOG.yml for nested changelogs [Pagan Gazzard]
  • Optimize lodash dependency [Pagan Gazzard]

v11.12.0

(2020-08-05)

Update contrato to 0.5 [Pagan Gazzard]

contrato-0.5.0

(2020-08-05)

  • Remove handlebars-helpers to shrink bundle size [Pagan Gazzard]

contrato-0.4.0

(2020-08-04)

Update skhema to 5.x [Pagan Gazzard]

skhema-5.3.2

(2020-08-04)

  • Switch to typed-error [Pagan Gazzard]

skhema-5.3.1

(2020-08-04)

  • Add .versionbot/CHANGELOG.yml for nested changelogs [Pagan Gazzard]

skhema-5.3.0

(2020-05-05)

  • filter: Throw a custom error if the schema is invalid [Juan Cruz Viotti]

skhema-5.2.9

(2019-12-12)

  • Add test to show .filter() not working correctly [StefKors]
  • When combining with baseSchema merge enum with AND operator [StefKors]

skhema-5.2.8

(2019-11-27)

  • Ensure values in "enum" are unique [Juan Cruz Viotti]

skhema-5.2.7

(2019-11-27)

  • filter: Correctly handle "enum" inside "anyOf" [Juan Cruz Viotti]

skhema-5.2.6

(2019-11-19)

  • merge: Be explicit about additionalProperties [Juan Cruz Viotti]

skhema-5.2.5

(2019-05-09)

  • Add a resolver for the const keyword [Lucian]

skhema-5.2.4

(2019-04-15)

  • Configure AJV instances with an LRU cache [Juan Cruz Viotti]

skhema-5.2.3

(2019-04-15)

  • Set addUsedSchema to false in all AJV instances [Juan Cruz Viotti]

skhema-5.2.2

(2019-03-20)

  • Fix bug in scoreMatch when handling arrays [Lucian]

skhema-5.2.1

(2019-03-19)

  • Fix bad require name and .only in tests [Lucian]

skhema-5.2.10

(Invalid date)

  • .filter(): Only match if the base schema matches [Lucian Buzzo]

skhema-5.2.0

(2019-03-19)

  • Add ability to provide custom resolvers to merge() [Lucian]

skhema-5.1.1

(2019-02-08)

  • Split up and optimize lodash dependencies [Lucian]

skhema-5.1.0

(2019-01-08)

  • feature: Implement method for restricting a schema by another schema [Lucian Buzzo]

skhema-5.0.0

(Invalid date)

  • Remove ability to add custom keywords or formats [Lucian]

skhema-4.0.4

(Invalid date)

  • Improve performance of clone operations [Lucian]

skhema-4.0.3

(2018-12-10)

  • Don't bust AJV cache [Lucian]

skhema-4.0.2

(2018-12-10)

  • Add benchmark tests [Giovanni Garufi]

skhema-4.0.1

(2018-12-04)

  • Recurse through nested anyOf statements when filtering [Lucian]

skhema-4.0.0

(2018-12-03)

  • Treat undefined additionalProperties as true instead of false [Lucian]

skhema-3.0.1

(Invalid date)

  • stryker: Increase test timeout [Juan Cruz Viotti]
  • test: Configure Stryker for mutative testing [Juan Cruz Viotti]

skhema-3.0.0

(2018-11-29)

  • Define additionalProperty inheritance in anyOf [Giovanni Garufi]
  • Formalising filtering logic [Lucian]
  • Added failing test case with mutation [Lucian]

skhema-2.5.2

(2018-11-07)

  • hotfix: Make sure things that should be filtered are filtered [Juan Cruz Viotti]

skhema-2.5.1

(2018-11-06)

  • filter: Force additionalProperties: true on match schemas [Juan Cruz Viotti]

skhema-2.5.0

(2018-10-16)

  • Validate against just the schema if options.schemaOnly is true [Lucian Buzzo]

skhema-2.4.1

(2018-10-09)

  • merge: When merging an empty array, return a wildcard schema [Lucian Buzzo]

skhema-2.4.0

(2018-10-09)

  • validate: Make object optional [Lucian Buzzo]

contrato-0.3.1

(2020-08-04)

  • Add .versionbot/CHANGELOG.yml for nested changelogs [Pagan Gazzard]

contrato-0.3.0

(2020-07-17)

  • Add logical operator support in templates [Stevche Radevski]

v11.11.7

(2020-08-04)

  • Bump elliptic from 6.5.2 to 6.5.3 [dependabot[bot]]
Update pinejs-client-request and make use of a named key [Pagan Gazzard]

pinejs-client-request-7.1.0

(2020-07-28)

Update dependencies [Pagan Gazzard]

pinejs-client-js-6.1.0

(2020-07-21)

  • Add support for using named ids [Pagan Gazzard]

pinejs-client-js-6.0.1

(2020-06-19)

  • Drop unnecessary async from request() [Thodoris Greasidis]

pinejs-client-request-7.0.1

(2020-07-28)

  • Increase default timeout to 59s [Pagan Gazzard]

v11.11.6

(2020-07-31)

  • Fixes documentation - ping doesn't need apiKey and minor documentation formatting changes. [Nitish Agarwal]

v11.11.5

(2020-07-31)

  • Fixes #1299 v1 start/stop endpoint issue with service access. [Nitish Agarwal]

v11.11.4

(2020-07-31)

  • bug: Fix undefined containerId object [Rich Bayliss]

v11.11.3

(2020-07-30)

  • fix matching extra_uEnv backend with unsupported devices [Miguel Casqueira]

v11.11.2

(2020-07-30)

  • Fix an issue with reporting initial config using a stale target state [Pagan Gazzard]

v11.11.1

(2020-07-29)

  • fix up "atleast" -> "at least" [Matthew McGinn]

v11.11.0

(2020-07-28)

  • Support setting device/fleet configuration in extra_uEnv.txt [Miguel Casqueira]

v11.10.0

(2020-07-24)

  • Extract current state reporting to its own module [Pagan Gazzard]

v11.9.10

(2020-07-23)

  • log detection of changes to VPN status [dt-rush]

v11.9.9

(2020-07-23)

  • common: Fix bug where aliases might be undefined [Rich Bayliss]

v11.9.8

(2020-07-22)

  • Bump lodash from 4.17.15 to 4.17.19 [dependabot[bot]]

v11.9.7

(2020-07-22)

  • docker-utils: Test network gateway determination logic [Rich Bayliss]
  • Fix docker-util using incorrect reference for function [Miguel Casqueira]

v11.9.6

(2020-07-20)

  • Fix purge and restart invocations by providing instanced apps [Cameron Diver]
  • Fix purge invocations of new singletons [Cameron Diver]

v11.9.5

(2020-07-14)

  • Update ESR version information [Cameron Diver]

v11.9.4

(2020-07-13)

  • bug: Fix unhandled promise rejection [Rich Bayliss]

v11.9.3

(2020-07-08)

  • Fix bug where a promise was not resolved in db-format [Cameron Diver]
  • Convert deviceConfig module to a singleton [Cameron Diver]

v11.9.2

(2020-07-06)

  • avahi: Control with HOST_DISCOVERABILITY [Cameron Diver]

v11.9.1

(2020-07-01)

  • firewall: Add Host Firewall functionality [Rich Bayliss]

v11.9.0

(2020-06-23)

  • Added support for configuring FDT directive in extlinux.conf [Miguel Casqueira]

v11.8.4

(2020-06-22)

  • state: Report device MAC address to the API [Rich Bayliss]

v11.8.3

(2020-06-18)

Update pinejs-client-request to 7.x [Pagan Gazzard]

pinejs-client-request-7.0.0

(2020-06-16)

  • Empty commit to attempt republish [Pagan Gazzard]
  • Switch from bluebird-lru-cache to lru-cache for caching [Pagan Gazzard]
  • Update target to es2018 [Pagan Gazzard]
  • Remove bluebird dependency [Pagan Gazzard]
  • Convert to async/await [Pagan Gazzard]
Update to pinejs-client-core 6.x [Pagan Gazzard]

pinejs-client-js-6.0.0

(2020-06-04)

  • Increase minimum es version to es2015 [Pagan Gazzard]
  • Convert to async/await [Pagan Gazzard]
  • Remove now unnecessary PinejsClientCoreFactory [Pagan Gazzard]
  • Switch to using native promises [Pagan Gazzard]
  • Drop support for deprecated request overrides [Pagan Gazzard]
  • Drop support for deprecated query method [Pagan Gazzard]
  • Drop support for deprecated string based requests [Pagan Gazzard]
  • Use ; for expand options instead of & [Pagan Gazzard]

pinejs-client-request-6.2.0

(2020-06-08)

  • Lazy load bluebird-lru-cache and lodash [Pagan Gazzard]

pinejs-client-request-6.1.4

(2020-06-08)

  • Convert some lodash usage to native versions [Pagan Gazzard]

pinejs-client-request-6.1.3

(2020-06-04)

  • Remove unused dependencies [Pagan Gazzard]

pinejs-client-request-6.1.2

(2020-06-02)

Update dependencies [Pagan Gazzard]

pinejs-client-js-5.8.0

(2020-05-29)

  • Generate optional builds for es2015/es2018 as well as the default es5 [Pagan Gazzard]

pinejs-client-js-5.7.1

(2020-05-25)

  • Update dependencies [Pagan Gazzard]

pinejs-client-js-5.7.0

(2020-04-15)

  • Make transformGetResult a method , to ease overriding the get method [Thodoris Greasidis]

pinejs-client-request-6.1.1

(2020-03-19)

  • Add linting [Pagan Gazzard]

pinejs-client-request-6.1.0

(2020-03-19)

  • Move require-npm4-to-publish to dev dependencies [Pagan Gazzard]
Update dependencies [Pagan Gazzard]

typed-error-3.2.0

(2019-11-20)

  • update deps and specify minimum engine requirements [Will Boyce]

pinejs-client-js-5.6.11

(2020-02-21)

  • 🐛: Fix missing deprecated.getStringParams function [Andreas Fitzek]

pinejs-client-js-5.6.10

(2020-02-14)

  • Update to resin-lint 3.x [Pagan Gazzard]

pinejs-client-js-5.6.9

(2020-02-14)

  • CircleCI: Remove deploy job as it's handled by balenaCI [Pagan Gazzard]

pinejs-client-js-5.6.8

(2020-02-14)

  • Add the missing method on the post method [Thodoris Greasidis]

pinejs-client-js-5.6.7

(2020-02-14)

  • Deprecate request overrides [Pagan Gazzard]
  • Deprecate queries using a string url [Pagan Gazzard]
  • Deprecate query in favor of get [Pagan Gazzard]

pinejs-client-js-5.6.6

(2020-02-14)

  • Allow resource/$count in $filter [Pagan Gazzard]

pinejs-client-js-5.6.5

(2020-01-30)

  • Remove defaults helper in favour of ?? [Pagan Gazzard]

pinejs-client-js-5.6.4

(2020-01-30)

  • Avoid allocations when destroying a poll [Pagan Gazzard]

pinejs-client-js-5.6.3

(2020-01-30)

  • Improve RawFilter typing [Pagan Gazzard]

pinejs-client-js-5.6.2

(2020-01-29)

  • Update dependencies [Pagan Gazzard]

pinejs-client-js-5.6.1

(2020-01-22)

  • Switch most CODEOWNERS entries to a team [Pagan Gazzard]

pinejs-client-js-5.6.0

(2019-07-12)

  • Add 'upsert' method supporting natural keys, requires Pinejs ^10.19.1 [Thodoris Greasidis]

pinejs-client-js-5.5.4

(2019-06-18)

  • Remove unnecessary string type that is handled by the Params type [Pagan Gazzard]

pinejs-client-js-5.5.3

(2019-06-18)

  • Use an .npmrc to prevent creating a package-lock on each install [Thodoris Greasidis]

pinejs-client-js-5.5.2

(2019-06-10)

  • Add some type casting so that it compiles on TypeScript 3.5 [Thodoris Greasidis]

pinejs-client-js-5.5.1

(2019-05-15)

  • Fix downstream declaration creation errors due to Dictionary [Pagan Gazzard]

pinejs-client-js-5.5.0

(2019-05-15)

  • Add a prepare method that prepares a query into a function [Pagan Gazzard]

pinejs-client-js-5.4.1

(2019-05-10)

  • Add CODEOWNERS [Gergely Imreh]

pinejs-client-js-5.4.0

(2019-05-10)

  • Add support for parameter aliases in resource ids [Pagan Gazzard]

pinejs-client-js-5.3.10

(2019-05-10)

  • Deduplicate transformation of GET results [Pagan Gazzard]

pinejs-client-js-5.3.9

(2019-05-10)

  • Simplify how we expose types, which means subscribe is now exposed [Pagan Gazzard]

pinejs-client-js-5.3.8

(2019-05-09)

  • Add automatic formatting via prettier [Pagan Gazzard]

pinejs-client-js-5.3.7

(2019-05-08)

  • Remove node 4 build, add node 12 [Pagan Gazzard]
  • Add .versionbot/CHANGELOG.yml for downstream changelogs [Pagan Gazzard]

pinejs-client-request-6.0.3

(2020-01-22)

  • Add CODEOWNERS [Pagan Gazzard]

pinejs-client-request-6.0.2

(2019-05-08)

  • Add node 12 tests [Pagan Gazzard]
  • Add upstream for pinejs-client-core [Pagan Gazzard]

pinejs-client-request-6.0.1

(2019-04-23)

  • Update target to es2016, part of/fixing the typed-error bump [Pagan Gazzard]

pinejs-client-request-6.0.0

(2019-04-17)

  • typed-error: Update to v3.1.0 [Will Boyce]

v11.8.2

(2020-06-17)

  • Make service-manager module a singleton [Cameron Diver]
  • Make volume-manager module a singleton [Cameron Diver]
  • Make network-manager module a singleton [Cameron Diver]
  • Add supervisor upgrade document [Hugh Brown]

v11.8.1

(2020-06-16)

  • Update webpack dependencies [Pagan Gazzard]

v11.8.0

(2020-06-16)

  • Use API v6 [Akis Kesoglou]

v11.7.3

(2020-06-15)

  • Db-format module code fixups [Cameron Diver]

v11.7.2

(2020-06-11)

  • Add label to expose gpu to container [Robert Günzler]

v11.7.1

(2020-06-11)

  • Move database app processing out to its own module [Cameron Diver]
  • Make target-state-cache a singleton [Cameron Diver]

v11.7.0

(2020-06-10)

  • Respect an initialDeviceName field in the config.json [Cameron Diver]

v11.6.6

(2020-06-10)

  • Make images module a singleton [Cameron Diver]

v11.6.5

(2020-06-09)

  • fix: API auth missing on state GET/PATCH [Rich Bayliss]

v11.6.4

(2020-06-08)

  • Refactored @ts-ignore to @ts-expect-error in test file [Miguel Casqueira]

v11.6.3

(2020-06-08)

  • Make logger module a singleton [Cameron Diver]
  • Fix exponential backoff for state polling [Pagan Gazzard]

v11.6.2

(2020-06-08)

  • Make the event-tracker module a singleton [Cameron Diver]

v11.6.1

(2020-06-05)

  • Convert all test files to TS and add .spec to all filenames [Miguel Casqueira]
  • fix: Pin alpine python version [Rich Bayliss]

v11.6.0

(2020-06-03)

  • Isolate target state fetching to its own module which emits on update [Pagan Gazzard]

v11.5.3

(2020-06-02)

  • Make docker module a singleton [Cameron Diver]

v11.5.2

(2020-06-02)

  • Make the config module a singleton [Cameron Diver]

v11.5.1

(2020-06-01)

  • Remove unused dependencies and dedupe [Cameron Diver]

v11.5.0

(2020-05-29)

  • Refactor device-state healthchecks to log reason for failure [Miguel Casqueira]

v11.4.17

(2020-05-29)

  • Update dependencies [Pagan Gazzard]

v11.4.16

(2020-05-29)

  • Make the db module a singleton [Cameron Diver]

v11.4.15

(2020-05-26)

  • Check for ApiError before using it as such [Cameron Diver]

v11.4.14

(2020-05-21)

  • check for 409 status code, rather than string matching uuid conflicts [Cameron Diver]

v11.4.13

(2020-05-21)

  • Use safeStateClone to avoid call-stack exceeding errors [Cameron Diver]

v11.4.12

(2020-05-19)

  • Improved handling of invalid appId in V2 state endpoint [Miguel Casqueira]

v11.4.11

(2020-05-18)

  • Switch to balenaApi for the state patch as patching cannot be cached [Pagan Gazzard]

v11.4.10

(2020-05-18)

  • Fix leftover spurious return from typescript conversion [Cameron Diver]

v11.4.9

(2020-05-18)

  • Catch errors in the target state poll so polling will always continue [Pagan Gazzard]

v11.4.8

(2020-05-18)

  • Avoid querying instantUpdates on every state poll [Pagan Gazzard]

v11.4.7

(2020-05-16)

  • Fix default request options [Pagan Gazzard]

v11.4.6

(2020-05-15)

  • Remove CoffeeScript tests and all CoffeeScript tools [Miguel Casqueira]

v11.4.5

(2020-05-15)

  • Update to @balena/lint 5.x [Pagan Gazzard]

v11.4.4

(2020-05-15)

  • Add a random offset to the poll interval with each poll [Cameron Diver]

v11.4.3

(2020-05-14)

  • Cache service names in local log backend [Cameron Diver]

v11.4.2

(2020-05-13)

  • Update engine information in package.json [Cameron Diver]

v11.4.1

(2020-05-12)

  • Correctly check if value is a valid Integer [Miguel Casqueira]

v11.4.0

(2020-05-12)

  • Added endpoint to check if VPN is connected [Miguel Casqueira]

v11.3.11

(2020-05-11)

  • Fixed stubs for test suite [Miguel Casqueira]

v11.3.10

(2020-05-11)

  • Added more documentation to help new contributors start developing [Miguel Casqueira]

v11.3.9

(2020-05-11)

  • Fix dindctl script and update balenaos-in-container [Cameron Diver]

v11.3.8

(2020-05-08)

  • Remove unnecessary config.json keys [Pagan Gazzard]

v11.3.7

(2020-05-08)

  • CI: Use node 12 for tests to match runtime version [Pagan Gazzard]
  • CI: Use docker 18 client to match remote [Pagan Gazzard]

v11.3.6

(2020-05-07)

  • Move SupervisorAPI state change logs to appropriate functions [Miguel Casqueira]

v11.3.5

(2020-05-07)

  • Add 20k-ultra to codeowners [Miguel Casqueira]

v11.3.4

(2020-05-06)

  • Don't use the openvpn alias to check VPN status [Cameron Diver]

v11.3.3

(2020-05-06)

  • Use lstat rather than stat to avoid error with symlinks in sync [Cameron Diver]

v11.3.2

(2020-05-05)

  • Move build files into build-conf and rename to build-utils [Cameron Diver]
  • Fix knex migration require translation [Cameron Diver]

v11.3.1

(2020-05-05)

  • Remove legacy fallback to DROP rule in iptables [Cameron Diver]
  • Add an ESTABLISHED flag to API iptables rules [Cameron Diver]
  • Add ESR information to repo.yml [Cameron Diver]

v11.3.0

(2020-05-04)

  • Added Bearer Authorization spec [Miguel Casqueira]

v11.2.0

(2020-04-30)

  • Added explanation README for running specific tests [Miguel Casqueira]

v11.1.11

(2020-04-28)

  • Remove coverage running and modules [Cameron Diver]

v11.1.10

(2020-04-27)

  • Update balena-register-device to fix provisioning [Cameron Diver]

v11.1.9

(2020-04-22)

  • Added protocol to semver.org link [Miguel Casqueira]

v11.1.8

(2020-04-21)

  • Actually remove dbus-native dependency [Cameron Diver]

v11.1.7

(2020-04-21)

  • Fix livepush predicate for POSIX sh in entry.sh [Cameron Diver]

v11.1.6

(2020-04-21)

  • Remove double printing of API status error [Cameron Diver]

v11.1.5

(2020-04-15)

  • ⤴️ Upgrade migrations to work with knex [Cameron Diver]
  • 📄 Upgrade knex to avoid CVE-2019-10757 [Cameron Diver]

v11.1.4

(2020-04-14)

  • 🔎 Also watch js files during livepush [Cameron Diver]
  • Clear changed files after successful livepush invocation [Cameron Diver]
  • Use livepush commands for copying and running dev specific steps [Cameron Diver]

v11.1.3

(2020-04-13)

  • 🚀 Update supervisor to node12 [Cameron Diver]

v11.1.2

(2020-04-13)

  • Move from dbus-native to dbus [Cameron Diver]

v11.1.1

(2020-04-10)

  • Update copy-webpack-plugin [Pagan Gazzard]
  • Update ts-loader to 6.x [Pagan Gazzard]
  • Update fork-ts-checker-webpack-plugin to 4.x [Pagan Gazzard]

v11.1.0

(2020-04-09)

  • Support matching on device type within contracts [Cameron Diver]

v11.0.9

(2020-04-08)

  • Workaround a circular dependency [Pagan Gazzard]

v11.0.8

(2020-04-08)

  • Link sqlite with a system sqlite for quicker builds [Cameron Diver]

v11.0.7

(2020-04-08)

  • Convert application-manager.coffee to javascript [Pagan Gazzard]

v11.0.6

(2020-04-08)

  • Don't sync test files with livepush [Cameron Diver]

v11.0.5

(2020-04-07)

  • Add newTargetState event and use it for backup loading [Cameron Diver]

v11.0.4

(2020-04-07)

  • Don't wrap UpdatesLockedErrors with a detailed error [Cameron Diver]

v11.0.3

(2020-04-07)

  • Allow spaces in volume definitions [Cameron Diver]

v11.0.2

(2020-04-06)

  • Update to balena-register-device 6.0.1 [Pagan Gazzard]

v11.0.1

(2020-04-06)

  • Don't mangle names when minimising with webpack [Cameron Diver]

v11.0.0

(2020-04-06)

  • Update synchronisation scripts for supervisor development [Cameron Diver]
  • 🔧 Move to an alpine base image and drop i386-nlp support [Cameron Diver]

v10.11.3

(2020-04-02)

  • Convert test/18-startup.coffee to typescript [Pagan Gazzard]
  • Convert test/19-compose-utils.coffee to javascript [Pagan Gazzard]
  • Convert test/18-compose-network.coffee to javascript [Pagan Gazzard]
  • Convert test/17-config-utils.spec.coffee to javascript [Pagan Gazzard]
  • Convert test/16-ports.spec.coffee to typescript [Pagan Gazzard]
  • Convert test/15-conversions.spec.coffee to javascript [Pagan Gazzard]
  • Convert test/12-logger.spec.coffee to javascript [Pagan Gazzard]

v10.11.2

(2020-03-31)

  • Pass in deviceId when fetching device tags [Cameron Diver]

v10.11.1

(2020-03-30)

  • 🔧 Update resin-lint -> balena-lint in lintstaged [Cameron Diver]

v10.11.0

(2020-03-30)

  • Add BALENA_DEVICE_ARCH environment variable for containers [Cameron Diver]

v10.10.15

(2020-03-30)

  • Don't throw an error when getting an unhealthy state [Cameron Diver]

v10.10.14

(2020-03-28)

  • Convert src/device-api/common.coffee to javascript [Pagan Gazzard]

v10.10.13

(2020-03-27)

  • Switch to mz for the proxyvisor [Pagan Gazzard]
  • Convert proxyvisor to javascript [Pagan Gazzard]

v10.10.12

(2020-03-26)

  • Remove unnecessary code from application-manager [Pagan Gazzard]
  • Switch to a named export for application-manager [Pagan Gazzard]

v10.10.11

(2020-03-25)

  • Convert device-api/v1 to javascript [Pagan Gazzard]

v10.10.10

(2020-03-24)

  • Update livepush [Cameron Diver]

v10.10.9

(2020-03-24)

  • Add type checking for javascript files [Pagan Gazzard]

v10.10.8

(2020-03-24)

  • Pin resin-cli-visuals to avoid build error of lzma-native [Cameron Diver]
  • Update dependencies [Cameron Diver]

v10.10.7

(2020-03-24)

  • Avoid any transpilation of node_modules [Pagan Gazzard]

v10.10.6

(2020-03-24)

  • Add transpilation for javascript files to ease node 6 compatibility [Pagan Gazzard]
  • Add a precheck that linting/tests work on node 10 [Pagan Gazzard]
  • Update to balena-lint and enable javascript linting [Pagan Gazzard]

v10.10.5

(2020-03-23)

  • Tests: Add missing await [Pagan Gazzard]

v10.10.4

(2020-03-16)

  • docs: Clarify update locks for multicontainer applications [Gareth Davies]

v10.10.3

(2020-03-16)

  • logging: fix up some typos [Matthew McGinn]

v10.10.2

(2020-03-16)

  • Bump acorn from 5.7.3 to 5.7.4 [dependabot[bot]]

v10.10.1

(2020-03-13)

  • Update dependencies [Pagan Gazzard]

v10.10.0

(2020-03-06)

  • Allow semver comparison on l4t versions in contracts [Cameron Diver]
  • Allow l4t versions with three numbers as well as two [Cameron Diver]

v10.9.2

(2020-03-05)

  • config: Support loading SSDT via ConfigFS [Rich Bayliss]

v10.9.1

(2020-02-25)

  • Convert device-state module to typescript [Cameron Diver]
  • Improve application-manager typings [Cameron Diver]
  • Improve and extend internal typings [Cameron Diver]

v10.9.0

(2020-02-24)

  • Add a containerId request parameter for journal-logs api endpoint, and pass it along to journalctl process options. [Ivan]

v10.8.0

(2020-02-13)

  • Add procfs label [Cameron Diver]
  • Add a sysfs feature label [Cameron Diver]
  • Clean up the feature label function [Cameron Diver]

v10.7.0

(2020-02-12)

  • Add a noinit option to sync-debug [Cameron Diver]

v10.6.37

(2020-02-10)

  • Update balenaos-in-container to pickup aufs2overlay changes [Cameron Diver]

v10.6.36

(2020-02-10)

  • Switch to using resin-lint for automatic lint fixing [Pagan Gazzard]

v10.6.35

(2020-02-10)

  • Dont error on a target state with multiple apps [Cameron Diver]

v10.6.34

(2020-02-06)

  • bug: Delay sending logs until the device is provisioned [Rich Bayliss]

v10.6.33

(2020-01-30)

  • Allow getting the target state when not in local mode [Cameron Diver]

v10.6.32

(2020-01-28)

  • Set docker type and update CHANGELOG.md to the correct format [Giovanni Garufi]

v10.6.31

(2020-01-17)

  • Update docker used for CI builds [Pagan Gazzard]
  • Update the deprecated reusable key to docker_layer_caching for CI [Pagan Gazzard]
  • Push all images in parallel for CI builds [Pagan Gazzard]

v10.6.30

(2020-01-17)

  • Update knex types [Pagan Gazzard]
  • Update lodash types [Pagan Gazzard]
  • Update types and fix issue with treating string as a number [Pagan Gazzard]

v10.6.29

(2020-01-17)

  • Increase minimum backoff delay and use poll interval as max [Cameron Diver]

v10.6.28

(2020-01-08)

  • Ensure that we always have the pi4 overlay assigned [Cameron Diver]

v10.6.27

(2019-12-19)

  • Throttle state report patches to once per 10 seconds [Cameron Diver]

v10.6.26

(2019-12-18)

  • Report the correct error when we cannot remove a network [Cameron Diver]

v10.6.25

(2019-12-18)

  • Fix healthcheck on supervisor debug builds [Cameron Diver]

v10.6.24

(2019-12-17)

  • Always do a standard docker download on first pull [Cameron Diver]

v10.6.23

(2019-12-16)

  • Don't allow cross-app delta requests [Cameron Diver]

v10.6.22

(2019-12-16)

  • Fix: ⬇️ Force a regular pull when moving from v2 to v3 deltas [Cameron Diver]

v10.6.21

(2019-12-12)

  • Add steps info to applyState error message [Roman Mazur]

v10.6.20

(2019-12-11)

  • Hide init method in configJson [Roman Mazur]

v10.6.19

(2019-12-09)

  • Always filter environment configuration [Cameron Diver]

v10.6.18

(2019-12-02)

  • Volumes: Allow the use of the 'driver' setting in volumes [Rich Bayliss]

v10.6.17

(2019-11-29)

  • Set a mock l4t version for use with optional containers [Cameron Diver]

v10.6.16

(2019-11-29)

  • Codeowners: Add richbayliss as a code owner [Rich Bayliss]

v10.6.15

(2019-11-28)

  • Handle cancelDelay not being a function [Cameron Diver]

v10.6.14

(2019-11-27)

  • Add regression test for app manager init [Roman Mazur]

v10.6.13

(2019-11-27)

  • Consider linux4tegra versions in container contracts [Cameron Diver]
  • Upgrade prettier and resin-lint [Cameron Diver]

v10.6.12

(2019-11-20)

  • Fix retrieval of container log timestamp from db [Cameron Diver]

v10.6.11

(2019-11-19)

  • Bump js-yaml from 3.12.0 to 3.13.1 [dependabot[bot]]

v10.6.10

(2019-11-19)

  • Update balenaos-in-container [Pagan Gazzard]

v10.6.9

(2019-11-19)

  • Create config.txt if there isn't one already [Theodor Gherzan]

v10.6.8

(2019-11-15)

  • Extract backup logic to migration [Theodor Gherzan]

v10.6.7

(2019-11-13)

  • Rebase start-resin-supervisor on latest meta-balena [Pagan Gazzard]

v10.6.6

(2019-11-12)

  • Switch to balenaos-in-container [Pagan Gazzard]

v10.6.5

(2019-11-12)

  • Allow specifying an absolute path for the dind config.json [Pagan Gazzard]
  • Fix dindctl when run from another dir [Pagan Gazzard]
  • Fix dindctl unknown arg error message [Pagan Gazzard]

v10.6.4

(2019-11-11)

  • Check if appId is a number before purging [Michel Wohlert]

v10.6.3

(2019-11-07)

  • Extract normaliseLegacy as normalise to migration module [Theodor Gherzan]

v10.6.2

(2019-11-07)

  • Define the database type of the application [Cameron Diver]
  • Extract loadTargetFromFile function to preload module [Cameron Diver]
  • Define TargetApplicationState in types and remove Application type [Cameron Diver]
  • Upgrade typescript to 3.7 [Cameron Diver]

v10.6.1

(2019-11-05)

  • Event-tracker: Use std mixpanel types [Roman Mazur]

v10.6.0

(2019-11-05)

  • Report any optional containers that aren't being run [Cameron Diver]
  • Support optional containers based on their contract [Cameron Diver]

v10.5.5

(2019-10-31)

  • Bump lodash from 4.17.11 to 4.17.13 [dependabot[bot]]

v10.5.4

(2019-10-30)

  • Docs: update lockfile Python snippet [Matthew McGinn]

v10.5.3

(2019-10-30)

  • Convert some coffeescript tests to typescript [Cameron Diver]
  • Bump mixin-deep from 1.3.1 to 1.3.2 [dependabot[bot]]

v10.5.2

(2019-10-29)

v10.5.1

(2019-10-28)

  • Ensure that we reset rate limits after a successful target apply [Cameron Diver]

v10.5.0

(2019-10-07)

  • Add a cache around the database application target state [Cameron Diver]

v10.4.1

(2019-10-02)

  • Correctly validate container contracts [Cameron Diver]

v10.4.0

(2019-10-01)

  • Add support for container contracts [Cameron Diver]
  • Upgrade io-ts and fp-ts to 2.0.0 [Cameron Diver]
  • Add contract resolution code, which checks release requirements [Cameron Diver]
  • Avoid synchronous file accesses for os release info [Cameron Diver]
  • Add test number to test files name [Cameron Diver]
  • Add a cache around the database application target state [Cameron Diver]

v10.3.8

(2019-09-23)

  • Unify API errors processing [Roman Mazur]

v10.3.7

(2019-09-20)

  • Ping: move /ping out from authentication [Matthew McGinn]

v10.3.6

(2019-09-18)

  • Explicitly remove volumes when purging [Cameron Diver]
  • Catch and report cloud stream writing errors [Cameron Diver]

v10.3.5

(2019-09-16)

  • Correctly handle partial IPAM configurations for networks [Cameron Diver]

v10.3.4

(2019-09-11)

  • Device-state: correctly call volume creation on backup restore step [Gergely Imreh]

v10.3.3

(2019-09-02)

  • Entry.sh: conform to shellcheck syntax [Matthew McGinn]

v10.3.2

(2019-09-02)

  • Modification to unpacking volume backup [Thomas]

v10.3.1

(2019-08-22)

  • Pin debug builds to stretch base images to match non-debug builds [Cameron Diver]

v10.3.0

(2019-08-21)

  • Add usage example repo to documentation [Cameron Diver]
  • Add journald format flag [Cameron Diver]
  • Update documentation and explicitly unpipe journald stream [Cameron Diver]

v10.2.7

(2019-08-21)

  • Correctly generate network or volume creation steps [Cameron Diver]

v10.2.6

(2019-08-19)

  • Extract composition step work out to typescript compose module [Cameron Diver]
  • Remove unused local mode parameter from images.getAvailable [Cameron Diver]

v10.2.5

(2019-08-19)

  • Only consider certain array fields without order [Cameron Diver]

v10.2.4

(2019-08-15)

  • Take order into account when comparing service config arrays [Cameron Diver]

v10.2.3

(2019-08-14)

  • Meta: remove pcarranzav as codeowner [Matthew McGinn]

v10.2.2

(2019-08-09)

  • Docs: fix up typo "sucess" -> "success" [Matthew McGinn]

v10.2.1

(2019-08-09)

  • Fix version documentation for journald endpoint [Cameron Diver]

v10.2.0

(2019-08-09)

  • Add an endpoint and module for reading journald logs [Cameron Diver]

v10.1.5

(2019-07-25)

  • Api: Avoid cloneDeep when copying target state. [Cameron Diver]

v10.1.4

(2019-07-25)

  • Filter both null and omitted values [Roman Mazur]
  • Use typed error to report inspection problems [Roman Mazur]
  • Prevent supervisor from deleting itself [Roman Mazur]

v10.1.3

(2019-07-24)

  • Docs: update APPID to BALENA_APP_ID as exposed from the env [Matthew McGinn]

v10.1.2

(2019-07-24)

  • Api: Perform network checks if device is unmanaged [Rich Bayliss]

v10.1.1

(2019-07-23)

  • Fix invocation of livepush with sync-debug [Cameron Diver]

v10.1.0

(2019-07-23)

  • Support network_modes of service: [Cameron Diver]

v10.0.5

(2019-07-22)

  • Fix: Always reboot when applying boot config [Cameron Diver]

v10.0.4

(2019-07-19)

  • Pre-emptively pull required images in parallel [Pagan Gazzard]
  • Avoid unnecessary else in Makefile [Pagan Gazzard]
  • Fix installing the specified npm version in debug builds [Pagan Gazzard]
  • Remove the dummy node-build step for debug images [Pagan Gazzard]
  • Reduce differences between the debug and standard dockerfiles [Pagan Gazzard]
  • Run image cleanup in parallel [Pagan Gazzard]
  • Do intermediate build pushing in parallel [Pagan Gazzard]
  • Minimise the amount of cache busted by a changed ARG [Pagan Gazzard]
  • Fix cache usage for builds [Pagan Gazzard]

v10.0.3

(2019-07-19)

  • Fix: Don't consider volume supervised labels when comparing [Cameron Diver]

v10.0.2

(2019-07-18)

  • Device-api: fix up small typos [Matthew McGinn]

v10.0.1

(2019-07-11)

  • Don't attempt to cleanup any target state referenced volumes [Cameron Diver]

v10.0.0

(2019-07-10)

  • Don't remove volumes when switching into local mode [Cameron Diver]
  • Add volume tests and fix test fixture setup for applications [Cameron Diver]
  • Add a supervisor endpoint to cleanup orphaned volumes [Cameron Diver]
  • Only remove volumes when we're moving between applications [Cameron Diver]
  • Reorder debug dockerfile to faster livepushes [Cameron Diver]
  • Dont try to set the commit if it's undefined [Cameron Diver]

v9.18.8

(2019-07-10)

  • Docs: fix up broken meta-balena proxy link [Matthew McGinn]

v9.18.7

(2019-07-09)

  • Don't attempt to setup a log stream to the cloud before provision [Cameron Diver]
  • Add more typescript conversions and export utilities from existing [Cameron Diver]

v9.18.6

(2019-07-09)

  • Apply targetState immediately after update request Cancel delayed promise if exists and schedule a new one without delay, when /v1/update is called [Michel Wohlert]

v9.18.5

(2019-07-08)

  • Use resin-lint for mocha tests check [Roman Mazur]

v9.18.4

(2019-07-04)

  • Fix network composition parsing, and correctly report compose config [Cameron Diver]
  • Keep the network and volume models consistent across usage [Cameron Diver]
  • Pass around instantiated Network objects when comparing state [Cameron Diver]
  • Seperate volume handling into manager and object classes [Cameron Diver]
  • Fix: When reporting initial config, avoid creating a "VPN enabled" unnecessary override [Pablo Carranza Velez]

v9.18.3

(2019-06-29)

  • Add mocha tests linter [Roman Mazur]

v9.18.2

(2019-06-27)

  • Use jessie base images for i386-nlp [Cameron Diver]
  • Ensure that all architectures use a node version that supports ci [Cameron Diver]

v9.18.1

(2019-06-27)

  • Fix tests run removing .only [Roman Mazur]

v9.18.0

(2019-06-26)

  • Ensure we get input on parsing errors [Roman Mazur]
  • Ensure local mode switch runs before target state [Roman Mazur]
  • Clean up local mode engine objects using snapshots [Roman Mazur]
  • Add sinon types [Roman Mazur]

v9.17.2

(2019-06-25)

  • Change to https for cloning resinos-in-container submodule [Pagan Gazzard]

v9.17.1

(2019-06-21)

  • Update the resinos version for the dind supervisor [Pagan Gazzard]

v9.17.0

(2019-06-20)

  • Report device state in local mode [Roman Mazur]

v9.16.7

(2019-06-20)

  • Don't drop failed api patch data [Cameron Diver]

v9.16.6

(2019-06-19)

  • Remove mochainon dependnecy [Roman Mazur]

v9.16.5

(2019-06-19)

  • Allow writing test files in typescript [Cameron Diver]

v9.16.4

(2019-06-18)

  • Make sync-debug much more reliable with logs [Cameron Diver]

v9.16.3

(2019-06-11)

  • Fix typo in image selection [Cameron Diver]

v9.16.2

(2019-06-11)

  • Re-parallelise current image retrieval code [Cameron Diver]

v9.16.1

(2019-06-10)

  • Revert "Add a controlling variable for mixpanel reporting" [Cameron Diver]

v9.16.0

(2019-06-10)

  • Upgrade typescript and fix warnings [Cameron Diver]
  • Pin prettier version to avoid changes in non-ci installs [Cameron Diver]
  • Standardise all supervisor output logging [Cameron Diver]

v9.15.9

(2019-05-29)

  • Update and improve debug and development tools [Cameron Diver]

v9.15.8

(2019-05-29)

  • Add a controlling variable for mixpanel reporting [Cameron Diver]

v9.15.7

(2019-05-29)

  • Update balena-supervisor-base to v1.4.7 [Cameron Diver]

v9.15.6

(2019-05-28)

  • Add wrapper around container logs saving, to reduce db load [Cameron Diver]

v9.15.5

(2019-05-27)

  • Docs: remove legacy waffle link & gitter chat from README [Matthew McGinn]

v9.15.4

(2019-05-27)

  • Fix regression where node_modules stayed in resulting image [Cameron Diver]

v9.15.3

(2019-05-26)

  • Move to resin-lint 3 and fix lint errors [Cameron Diver]

v9.15.2

(2019-05-17)

  • Dont check config.gz for loaded i6tables module [Cameron Diver]

v9.15.1

(2019-05-16)

  • Fix circle deploying of images [Cameron Diver]

v9.15.0

(2019-05-15)

  • Add livepush capabilities for debug builds [Cameron Diver]
  • Change install step to not mask errors [Cameron Diver]
  • Update sqlite3 to 4.0.9 to avoid arm build errors [Cameron Diver]
  • Use balenalib base image for i386 base [Cameron Diver]
  • Upgrade debug builds to node 10 for supported architectures [Cameron Diver]
  • Add debug build infrastructure and configuration [Cameron Diver]
  • Make delta application logs easier to parse for multicontainer [Cameron Diver]
  • Upgrade to node 10 for supported architectures [Cameron Diver]
  • Upgrade to node 8 for supported architectures [Cameron Diver]

v9.14.12

(2019-05-15)

  • Allow system messages to not be tracked [Cameron Diver]
  • Format update lock logs with pretty-ms [Cameron Diver]
  • Display update lock notification in dashboard logs [Cameron Diver]
  • Show better logs for UpdatesLockedError [Cameron Diver]
  • Clear backoff counter on new target state [Cameron Diver]

v9.14.11

(2019-05-10)

  • Fix supervisor tests for node v10.12.0 and above [Cameron Diver]

v9.14.10

(2019-05-10)

  • Cache delta auth token request results for 10 minutes [Cameron Diver]

v9.14.9

(2019-05-06)

  • Docs: make headers consistent [Matthew McGinn]

v9.14.8

(2019-05-03)

  • Docs: fix up some stray resin references [Matthew McGinn]

v9.14.7

(2019-05-03)

  • Perform case-insensitive checking when converting booleans from strings [Cameron Diver]

v9.14.6

(2019-04-25)

  • Fix: Run db log cleanup on init - after migrations [Cameron Diver]

v9.14.5

(2019-04-25)

  • Fix: Correctly handle multiple hosts ports pointing to a container port [Cameron Diver]

v9.14.4

(2019-04-11)

  • Compose: Remove unique expose entries after adding all entries [Cameron Diver]

v9.14.3

(2019-04-10)

  • Don't attempt to report any state during local mode [Cameron Diver]

v9.14.2

(2019-04-08)

  • Types: Upgrade dockerode types, and remove fixes which are superceded [Cameron Diver]

v9.14.1

(2019-04-05)

  • Avahi: Remove default service definitions [Heds Simons]

v9.14.0

(2019-04-05)

  • Run database cleanup on startup in addition to once a day [Cameron Diver]
  • Fix: Fix non-tty container message parsing [Cameron Diver]
  • Report all logs from a container's runtime [Cameron Diver]
  • Refactor container logging interface and rename logging-backends [Cameron Diver]
  • Ux: Show a supervisor starting log message in dashboard [Cameron Diver]
  • Ux: Remove service already running log message [Cameron Diver]

v9.13.0

(2019-04-03)

  • In /v1/update, return 202 when we're not updating immediately [Pablo Carranza Velez]
  • Add a random jitter to target state polls, and a config var to ignore update notifications and not poll immediately after startup [Pablo Carranza Velez]

v9.12.7

(2019-04-03)

  • Fix service comparison when starting a stopped service [Cameron Diver]

v9.12.6

(2019-03-29)

  • Fix migration of legacy apps when there's more than one app in the local DB [Pablo Carranza Velez]

v9.12.5

(2019-03-28)

  • Test: Add a test case for deviceConfig.getDefaults [Pablo Carranza Velez]

v9.12.4

(2019-03-28)

  • Only modprobe ip6_tables if it's necessary [Pablo Carranza Velez]

v9.12.3

(2019-03-28)

  • Parallelise cache pulling for builds [Pagan Gazzard]

v9.12.2

(2019-03-28)

  • Fix typo in delta request error message [Cameron Diver]

v9.12.1

(2019-03-28)

  • Fix: Correctly compare and generate network membership aliases [Cameron Diver]

v9.12.0

(2019-03-27)

  • Misc: Update build stages to debian stretch [Cameron Diver]
  • Device-config: Show invalid values in dashboard logs [Cameron Diver]
  • Events: Allow system messages to not be tracked [Cameron Diver]
  • Device-config: Use default values for any invalid target values [Cameron Diver]

v9.11.4

(2019-03-21)

  • Ensure the supervisor0 network uses a subnet less likely to cause conflicts [Pablo Carranza Velez]

v9.11.3

(2019-03-21)

  • Fix: When pinning a preloaded device, ensure the pinning is done when retrying after a failure [Pablo Carranza Velez]
  • Fix: Return a promise when retrying provisioning to avoid continuing after a failure [Pablo Carranza Velez]

v9.11.2

(2019-03-20)

  • Fix: Await reporting the initial config before continuing APIBinder initialization [Pablo Carranza Velez]

v9.11.1

(2019-03-19)

  • Fix typo when getting device config default values [Pablo Carranza Velez]

v9.11.0

(2019-03-18)

  • Fix: Correct use of $expand to avoid an exception when updating from a legacy OS [Pablo Carranza Velez]
  • Device-api: Add v2/device/tags api endpoint [Cameron Diver]
  • Device-api: Add v2/device/name endpoint [Cameron Diver]

v9.10.2

(2019-03-13)

  • State-engine: Return a noop when waiting for a dependency [Cameron Diver]
  • Skip dependency check on kill in local mode [Cameron Diver]

v9.10.1

(2019-03-12)

  • Pin lodash types to avoid compile error [Cameron Diver]

v9.10.0

(2019-03-11)

  • Docs: Standardise naming and json in api documentation [Cameron Diver]
  • Docs: Add documentation for v2/state/status endpoint [Cameron Diver]

v9.9.1

(2019-03-08)

  • Codeowners: Add @CameronDiver, @pcarranzav and @Page- [Heds Simons]

v9.9.0

(2019-03-07)

  • State-engine: Add an exponential backoff for device-config noops [Cameron Diver]
  • Fix: Fix connectivity active VPN check [Cameron Diver]
  • State-engine: Add rate limited steps to device-config [Cameron Diver]

v9.8.7

(2019-02-28)

  • Feature: Add BALENA_API_URL environment variable when using the balena-api feature label [Rich Bayliss]

v9.8.6

(2019-02-25)

  • Debug: Print more information about failing validations [Cameron Diver]
  • Device-config: Add migration for SUPERVISOR_DELTA_APPLY_TIMEOUT [Cameron Diver]

v9.8.5

(2019-02-25)

  • Increase max payload size in bodyparser to avoid PayloadTooLarge errors [Cameron Diver]

v9.8.4

(2019-02-25)

  • Fix provisioning workflow when UUID already exists [Cameron Diver]

v9.8.3

(2019-02-19)

  • Run iptables rules synchronous to avoid locking errors [Cameron Diver]

v9.8.2

(2019-02-19)

  • Revert "Upgrade to node 8 for supported architectures" [Cameron Diver]

v9.8.1

(2019-02-14)

  • Don't mount /lib/modules if it is already mounted [Cameron Diver]

v9.8.0

(2019-02-13)

  • Apply iptables rules to ipv6 [Cameron Diver]
  • Symlink kernel modules and modprobe ip6_tables [Cameron Diver]

v9.7.7

(2019-02-13)

  • Improve error messages, and add description to ImageAuth error [Cameron Diver]
  • Fix: Request image authentication token with explicitly as json [Cameron Diver]
  • Always back off on image fetch failure [Cameron Diver]

v9.7.6

(2019-02-12)

  • Don't treat a non-200 status response on patch as report errors [Cameron Diver]

v9.7.5

(2019-02-12)

  • Allow newlines to be part of environment variables [Cameron Diver]
  • Remove environment variable whitespace trimming [Cameron Diver]

v9.7.4

(2019-02-11)

  • Make sure to correctly convert config emit events after validation [Cameron Diver]

v9.7.3

(2019-02-11)

  • Set default delta apply timeout of 0 [Cameron Diver]

v9.7.2

(2019-02-09)

  • Fix: Normalize ports from compose file on instantiation [Cameron Diver]

v9.7.1

(2019-02-06)

  • Fix: Rework delete-then-download handling in state engine [Cameron Diver]

v9.7.0

(2019-02-05)

  • Make the failure backoff time the same as the appUpdatePollTime [Cameron Diver]
  • Backoff on image download error [Cameron Diver]
  • Add the release to the status endpoint [Cameron Diver]
  • Add application status endpoint [Cameron Diver]

v9.6.6

(2019-02-05)

  • Ensure the balena-fin always has it's overlay assigned [Cameron Diver]

v9.6.5

(2019-02-04)

  • Fix: Don't attempt a pull if the token requests fails [Cameron Diver]

v9.6.4

(2019-02-04)

  • Pin terser version to avoid breaking change in minor update [Cameron Diver]
  • Build: Respect package-lock when building [Cameron Diver]
  • Move legacy renaming to formatting function [Cameron Diver]
  • Fix typo in OVERRIDE_LOCK [Cameron Diver]

v9.6.3

(2019-01-31)

  • Wrap services.getAll in a bluebird promise [Cameron Diver]

v9.6.2

(2019-01-29)

  • Fix: Properly bind context to healthchecks [Cameron Diver]
  • Fix: Only apply supervisor api authentication after healthcheck entry [Cameron Diver]
  • Fix: Clear dbus pid file on startup [Cameron Diver]

v9.6.1

(2019-01-29)

  • Add missing ServiceManager methods [Cameron Diver]

v9.6.0

(2019-01-25)

  • Upgrade to node 8 for supported architectures [Cameron Diver]

v9.5.0

(2019-01-25)

  • Refactor: Convert ServiceManager to typescript [Cameron Diver]
  • Improve error and logger typings [Cameron Diver]
  • Refactor: Convert docker-utils module to typescript [Cameron Diver]

v9.4.2

(2019-01-23)

  • Fix: Fix intial config reporting [Cameron Diver]

v9.4.1

(2019-01-23)

  • Clear up images.ts module code for simiplicity [Cameron Diver]
  • Prefer optional type in ConfigChangeMap [Cameron Diver]
  • Use dictionary for db key [Cameron Diver]

v9.4.0

(2019-01-23)

  • Refactor: Convert volumes module to typescript [Cameron Diver]
  • Refactor: Convert compose/images module to typescript [Cameron Diver]
  • Deps: Update docker-toolbelt for typing fixes [Cameron Diver]
  • Typings: Improve database typings by allowing unknown dictionary keys [Cameron Diver]
  • Typings: Improve docker-utils typings [Cameron Diver]
  • Misc: Add Nullable helper type [Cameron Diver]
  • Config: Properly type the change events from config module [Cameron Diver]

v9.3.1

(2019-01-16)

  • Send connection message when streaming local mode logs [Cameron Diver]

v9.3.0

(2019-01-11)

  • Refactor: Remove unnecessary validations and casts [Cameron Diver]
  • Refactor: Fully type and validate config module set and get [Cameron Diver]
  • Refactor: Remove scaffolding for unused mutable config functions [Cameron Diver]
  • Fix: Use logind manager to request reboots and shutdowns [Cameron Diver]

v9.2.10

(2019-01-08)

  • Fix context bind errors by switching to async/await [Cameron Diver]

v9.2.9

(2019-01-08)

  • Refactor: Convert ApiBinder module to typescript [Cameron Diver]
  • Refactor: Only promisify read and write locks once [Cameron Diver]
  • Refactor: Convert supervisor api module to typescript [Cameron Diver]
  • Refactor: Change config modules export type to new-style [Cameron Diver]

v9.2.8

(2019-01-02)

  • Refactor: Generate and normalise PortMaps from compose ports in-class [Cameron Diver]
  • Compose: Normalise target ports for comparison with docker's output [Cameron Diver]

v9.2.7

(2018-12-21)

  • Refactor: Convert DeviceConfig module to typescript [Cameron Diver]
  • Types: Make DeviceApplicationState reflect state endpoint [Cameron Diver]
  • Refactor: Change export style of db to named [Cameron Diver]
  • Refactor: Add default export to logger module [Cameron Diver]
  • Refactor: Convert host-config module to typescript [Cameron Diver]

v9.2.6

(2018-12-21)

  • Misc: Exclude typescript files from resulting image [Cameron Diver]

v9.2.5

(2018-12-20)

  • Use webpack watching for sync.js for a faster dev cycle [Pagan Gazzard]

v9.2.4

(2018-12-20)

  • Force devtool: none to avoid issues with env.noOptimize [Pagan Gazzard]
  • Use fork-ts-checker to speed up the webpack build [Pagan Gazzard]

v9.2.3

(2018-12-20)

  • Fix: Correctly type top level network IPAM config [Cameron Diver]

v9.2.2

(2018-12-20)

  • Deps: Pin event-stream to avoid false audit warning [Cameron Diver]

v9.2.1

(2018-12-19)

  • Update pinejs-client to pinejs-client-request 5.x [Pagan Gazzard]

v9.2.0

(2018-12-19)

  • Update to webpack 4 [Pagan Gazzard]

v9.1.0

(2018-12-19)

  • Device-api: Add morgan to log api requests [Cameron Diver]

v9.0.3

(2018-12-19)

  • Refactor: Convert update-lock module to typescript [Cameron Diver]
  • Refactor: Convert systemd module to typescript [Cameron Diver]
  • Refactor: Convert request module to typescript [Cameron Diver]
  • Refactor: Convert migration module to typescript [Cameron Diver]

v9.0.2

(2018-12-18)

  • VersionBot: Fix incomplete version in CHANGELOG.yml [Giovanni Garufi]

v9.0.1

(2018-12-17)

  • Fix a race condition that could cause an unnecessary restart of a service immediately after download [Pablo Carranza Velez]

v9.0.0

(2018-12-17)

  • Unmanaged: Default to local mode in target state when unmanaged [Cameron Diver]
  • Config: Force config values to strings when storing in db [Cameron Diver]
  • Join: Disable local mode when joining a cloud [Cameron Diver]
  • Config: Replace supervisorOfflineMode and offlineMode with unmanaged [Cameron Diver]
  • Fix: Give unmanaged target states a source of 'local' [Cameron Diver]
  • Require an apikey for supervisor api in production unmanaged [Cameron Diver]
  • Switch to local mode in unmanaged mode [Cameron Diver]
  • Move config.json flag back to the database [Cameron Diver]
  • Revert "localMode: Remove local mode from device-config" [Cameron Diver]

v8.7.1

(2018-12-13)

  • Fix sync.js after move to balena-sync [Cameron Diver]

v8.7.0

(2018-12-12)

  • Dindctl: Allow mounting a backup.tgz to test migration backups [Pablo Carranza Velez]
  • Add the ability to restore volumes from a backup.tgz in the data partition [Pablo Carranza Velez]

v8.6.11

(2018-12-12)

  • Update lodash to v4.17.5 [Pablo Carranza Velez]
  • Remove the unused register-coffee-coverage [Pablo Carranza Velez]
  • Update knex to 0.15.2 and sqlite3 to 4.0.4 [Pablo Carranza Velez]
  • Sync.js: Switch from resin-sync to balena-sync [Pablo Carranza Velez]

v8.6.10

(2018-12-11)

  • Fix typo that prevented deleting old resin/ supervisor images [Pablo Carranza Velez]

v8.6.9

(2018-12-11)

  • Versionbot: Add changelog yml file [Giovanni Garufi]

v8.6.8

(2018-12-07)

  • Api: Ensure Supervisor API returns IP addresses [Heds Simons]

v8.6.7

(2018-12-04)

  • Update docker-progress to reduce memory usage when pulling images [Cameron Diver]

v8.6.6

(2018-12-04)

  • Docs: Clarify Supervisor envvars exposure via label [Heds Simons]

v8.6.5

(2018-12-04)

  • Update mixpanel node dependency, to pick up path changes [Cameron Diver]

v8.6.4

(2018-11-30)

  • Docs: Clarify that older supervisors use RESIN_ variables [Pablo Carranza Velez]

v8.6.3

(2018-11-29)

  • Unmanged: Don't require a device name when setting a target state [Cameron Diver]
  • LocalMode: Remove local mode from device-config [Cameron Diver]

v8.6.2

(2018-11-28)

  • Compose: Fix network option field names and update dockerode types [Cameron Diver]

v8.6.1

(2018-11-28)

  • Fix: When updating from a legacy supervisor, use updated resource ids and image URL from the API [Pablo Carranza Velez]

v8.6.0

(2018-11-28)

  • Device-api: Add container id endpoint [Cameron Diver]

v8.5.1

(2018-11-28)

  • Convert network module to typescript [Cameron Diver]
  • Update network-checker to pick up typings [Cameron Diver]
  • Fix return type for blinking instantiation function [Cameron Diver]

v8.5.0

(2018-11-28)

  • Config: Set default apiKey of empty string to avoid undefined keys [Cameron Diver]
  • Allow local mode to be controlled via config.json [Cameron Diver]
  • Don't start connectivity check when in offlineMode [Cameron Diver]
  • Improve UX when apps.json is not present [Cameron Diver]
  • Config: Switch default device type to unknown [Cameron Diver]
  • Handle empty apiEndpoint when detecting mixpanel host [Cameron Diver]
  • Fix: Set default apiEndpoint to empty [Cameron Diver]

v8.4.3

(2018-11-27)

  • Compose: Set default config for stopSignal to SIGTERM [Shaun Mulligan]
  • Compose: Change default stop signal from '' to SIGTERM [Shaun Mulligan]

v8.4.2

(2018-11-26)

  • Pin event-stream to avoid picking up vulnerable flatmap-stream [Cameron Diver]

v8.4.1

(2018-11-22)

  • Compose: Change default grace period to 10s [Cameron Diver]

v8.4.0

(2018-11-21)

  • Add package.lock file [Cameron Diver]
  • Events: Correctly proxy mixpanel events [Cameron Diver]
  • Fix m00001 migration by using targetValues [Cameron Diver]

v8.3.9

(2018-11-13)

  • Fix m00001 migration by using targetValues [Cameron Diver]
  • Appended API example [hippolyt]

v8.3.8

(2018-11-06)

  • Let typescript do the json resolution so we get proper types [Pagan Gazzard]

v8.3.7

(2018-11-06)

  • Update coffee-script to coffee-script 1.12 [Pagan Gazzard]

v8.3.6

(2018-11-06)

  • Tests: Increase timeout for test suites [Cameron Diver]

v8.3.5

(2018-11-06)

  • Doc: Add documentation for supervisor endpoints added after v7 [Cameron Diver]

v8.3.4

(2018-11-06)

  • Remove unused dependencies [Pagan Gazzard]

v8.3.3

(2018-11-06)

  • Remove ts-node from test process [Cameron Diver]

v8.3.2

(2018-11-06)

  • Remove node garbage collection flags [Cameron Diver]

v8.3.1

(2018-11-05)

  • Fix migrations/jsonstream custom resolvers on windows [Pagan Gazzard]

v8.3.0

(2018-11-05)

  • Device-api: Also support serviceName in v2 service endpoints [Cameron Diver]

v8.2.4 - 2018-11-05

  • Remove some type casts [Pagan Gazzard]
  • Remove versionist from package.json, it's handled by versionbot [Pagan Gazzard]

v8.2.3 - 2018-11-02

  • Update to typescript 3 [Pagan Gazzard]

v8.2.2 - 2018-11-02

  • Update to resin-lint 2 and add a precommit hook for prettier [Pagan Gazzard]
  • Run resin-lint for both coffee and typescript [Pagan Gazzard]

v8.2.1 - 2018-11-02

  • Add a .resinci.yml to disable regular docker and npm builds [Pablo Carranza Velez]

v8.2.0 - 2018-11-02

  • Remove unused codepaths that do deltas from resin/scratch [Pablo Carranza Velez]
  • Rename most of the documentation and variable names from resin to balena [Pablo Carranza Velez]

v8.1.0 - 2018-11-01

  • Remove a deprecated debian repository from the aarch64 node image (used only at build-time) [Pablo Carranza Velez]
  • When updating from resin-supervisor to balena-supervisor, try to delete old resin-supervisor images [Pablo Carranza Velez]
  • Rename package to balena-supervisor and push to balena repos in DockerHub [Pablo Carranza Velez]

v8.0.0 - 2018-11-01

  • Api-binder: Use API v5 [Akis Kesoglou]

v7.25.13 - 2018-10-31

  • Fix: When calling the /v1/update endpoint, always trigger a target state apply [Pablo Carranza Velez]

v7.25.12 - 2018-10-31

  • Fix: Properly check for the balena-api label to inject the API key env vars [Pablo Carranza Velez]

v7.25.11 - 2018-10-31

  • Fix: When setting target state, delete old apps from the same source [Pablo Carranza Velez]

v7.25.10 - 2018-10-25

  • Test: Use longer delays in logger tests [Pablo Carranza Velez]

v7.25.9 - 2018-10-25

  • Update docker-delta to v2.2.2 [Pablo Carranza Velez]

v7.25.8 - 2018-10-23

  • ApplicationManager: when comparing images to save metadata, take docker image ids into account [Pablo Carranza Velez]
  • Entry.sh: Use symbolic link to link to legacy lock path [Pablo Carranza Velez]

v7.25.7 - 2018-10-23

  • Circle.yml: Only push tagged images on tagged commits [Pablo Carranza Velez]

v7.25.6 - 2018-10-23

  • Fix: Use fat arrow for cleanup method [Cameron Diver]
  • Fix: Run checkTruthy on config values before using them [Cameron Diver]

v7.25.5 - 2018-10-22

  • Fix: Properly get the config from target state before comparing during initial config reporting [Pablo Carranza Velez]

v7.25.4 - 2018-10-20

  • Fix: When checking for legacy containers, properly get the labels from config [Pablo Carranza Velez]
  • Fix: Avoid trying to report duplicated values in initial config [Pablo Carranza Velez]

v7.25.3 - 2018-10-20

  • Fix: Store and retrieve device config without namespaces [Pablo Carranza Velez]

v7.25.2 - 2018-10-19

  • Keep defaulting tty to true to avoid accidental breakage [Pablo Carranza Velez]

v7.25.1 - 2018-10-19

  • Fix preloading in flasher images by reading apps.json if target hasn't been set [Pablo Carranza Velez]

v7.25.0 - 2018-10-18

  • DeviceConfig: allow BALENA_ config variables [Pablo Carranza Velez]

v7.24.1 - 2018-10-18

  • Fix: Add typescript cast to fix type error [Cameron Diver]
  • Fix: Remove debugging console logs [Cameron Diver]
  • Fix: Apply default config options when they're falsy [Cameron Diver]
  • Fix: Always set the container name when generating creation options [Cameron Diver]

v7.24.0 - 2018-10-18

  • Config: Allow atomic config.json writes on balenaOS [Pablo Carranza Velez]
  • Network: Ignore resin-redsocks and balena-redsocks when reporting IP addresses [Pablo Carranza Velez]
  • Use the DOCKER_SOCKET env var for the user container's balena socket mount [Pablo Carranza Velez]

v7.23.0 - 2018-10-18

  • Service: Fix device name env vars by injecting and filtering in the interface with docker [Pablo Carranza Velez]
  • ServiceManager: add BALENA_DEVICE_NAME_AT_INIT to injected env vars [Pablo Carranza Velez]
  • Replace io.resin labels (and their env vars) with io.balena equivalents [Pablo Carranza Velez]

v7.22.0 - 2018-10-17

  • Make handover-complete an alternative to the resin-kill-me file [Pablo Carranza Velez]
  • Move the handover and lock files to /tmp/balena, rename them, and add BALENA_ env vars [Pablo Carranza Velez]

v7.21.5 - 2018-10-16

  • Disable express' x-powered-by header [Pagan Gazzard]

v7.21.4 - 2018-10-16

  • Fix: overlay compose fields on image for healthcheck [Cameron Diver]
  • Fix: Remove support for broken storageOpt option [Cameron Diver]

v7.21.3 - 2018-10-15

  • Deltas: Bump docker-progress to pick up support for balena-engine [Cameron Diver]

v7.21.2 - 2018-10-15

  • Remove a few blacklisted config.txt options [Zubair Lutfullah Kakakhel]

v7.21.1 - 2018-10-15

  • Fix: Return void from config setter [Cameron Diver]
  • Fix: Don't assume config is defined for legacy images in logger [Cameron Diver]

v7.21.0 - 2018-10-13

  • Device-api: Add supervisor version endpoint [Cameron Diver]
  • State: Don't consider local mode when storing state [Cameron Diver]
  • Local mode: Add local mode manager module to handle cleanup [Cameron Diver]
  • Logger: Enforce timestamp value to avoid logging server 400 errors [Cameron Diver]
  • Add logging endpoint to supervisor [Cameron Diver]
  • Support local logging via standard logging interface [Cameron Diver]
  • Support setting target state in local mode from supervisor API [Cameron Diver]
  • Add several local mode enabling endpoints [Cameron Diver]
  • Correctly type service-manager logger and event tracker fields [Cameron Diver]
  • Don't set empty target state in local mode [Cameron Diver]

v7.20.0 - 2018-10-08

  • Fix: Correctly handle array based network definitions for service [Cameron Diver]
  • Fix: Only join the default network when creating the container [Cameron Diver]
  • Compose: Support changing the tty option for compose services [Cameron Diver]
  • Types: Remove temporary Service type in favour of actual compose class [Cameron Diver]
  • Compose/service: Convert module to typescript and add network config [Cameron Diver]
  • Compose: Support more network creation options [Cameron Diver]
  • Refactor: Split Networks class to Network and NetworkManager [Cameron Diver]

v7.19.7 - 2018-09-13

  • Logger: Fix reporting the configuration change variables [Cameron Diver]

v7.19.6 - 2018-09-13

  • Lib/errors: Improve typings by extending Error class for predicates [Cameron Diver]

v7.19.5 - 2018-09-12

  • Fix: Use throttle not debounce when ensuring we don't spam mixpanel [Cameron Diver]

v7.19.4 - 2018-09-05

  • Fix: Don't send internal state tracking information to the API [Cameron Diver]

v7.19.3 - 2018-09-04

  • Fix: Fix event-tracker being passed no options object [Cameron Diver]
  • Fix: Import logger properly and add startup test [Cameron Diver]
  • Events: Report supervisor version with any mixpanel events [Cameron Diver]
  • Events: Add rate limiting based on event name when reporting to mixpanel [Cameron Diver]
  • Memory: Reduce memory usage by applying node command line flags [Mathew Heard]

v7.19.2 - 2018-09-04

  • Fix: Add es2015 lib to tsconfig.json [Cameron Diver]
  • Refactor: Use Dictionary type in ports module [Cameron Diver]
  • Fix: Respect logging enabling on instantiation of logger [Cameron Diver]
  • Fix: Change import of ports module to be extensionless in tests [Cameron Diver]
  • Refactor: Convert logging module to typescript [Cameron Diver]
  • Types: Add global typings file containing Dictionary type [Cameron Diver]
  • Refactor: Make exported log-types implement interface [Cameron Diver]
  • Refactor: Convert event tracker module to typescript [Cameron Diver]

v7.19.1 - 2018-08-29

  • Fix: Dont bind service class methods in declaration [Cameron Diver]

v7.19.0 - 2018-08-29

  • Housekeeping: Add private:true to package.json [Cameron Diver]
  • Feature(host_config): Support gpio field as an array [Cameron Diver]

v7.18.0 - 2018-08-24

  • Network: Add MDNS support for .local domains #713 [Heds Simons]

v7.17.1 - 2018-08-17

  • Ux: Warn on invalid device name when trying to start a service #729 [Cameron Diver]

v7.17.0 - 2018-08-16

  • Fix: Fix importing of service type location #726 [Cameron Diver]
  • Dev: Add package.json tasks to aid debugging supervisor tests #726 [Cameron Diver]

v7.16.7 - 2018-08-16

  • Update docker-toolbelt to pull in typings #727 [Cameron Diver]
  • Refactor: Add docker-utils typings #727 [Cameron Diver]
  • Refactor: Convert log-types module to typescript #727 [Cameron Diver]

v7.16.6 - 2018-08-13

  • Docs: Add documentation for the v2/applications/state endpoint #722 [Cameron Diver]

v7.16.5 - 2018-08-13

  • Fix: Apply device name before generating container config #724 [Cameron Diver]

v7.16.4 - 2018-08-07

  • Fix: Restart a service when it's memory limit changes #721 [Cameron Diver]

v7.16.3 - 2018-08-01

  • Add a backoff mechanism for state reporting errors #715 [Pagan Gazzard]

v7.16.2 - 2018-07-25

  • Fix: Fix scoping issue with variables in service-manager #711 [Cameron Diver]

v7.16.1 - 2018-07-25

  • Dont restart service on device name change #704 [Cameron Diver]

v7.16.0 - 2018-07-23

  • Logger: Add unit tests #701 [Petros Angelatos]
  • Logger: Remove pubnub leftovers #701 [Petros Angelatos]
  • Logger: Only send logs produced after attaching #701 [Petros Angelatos]
  • Logger: Use the new logging backend #701 [Petros Angelatos]

v7.15.0 - 2018-07-17

  • Allow the enabling and disabling of persistent logging via env var #700 [Cameron Diver]
  • Refactor config code to be consistent in location #700 [Cameron Diver]

v7.14.1 - 2018-07-16

  • Re-enable majority of tests #699 [Cameron Diver]

v7.14.0 - 2018-07-12

  • Remove resinApiEndpoint meta-endpoint and use config.json entry instead #692 [Cameron Diver]

v7.13.3 - 2018-07-12

  • Correctly apply current commit value to applications #691 [Cameron Diver]

v7.13.2 - 2018-07-09

  • Fix typo in config method call #688 [Cameron Diver]

v7.13.1 - 2018-06-28

  • Bind db handle to fn variable #687 [Cameron Diver]

v7.13.0 - 2018-06-27

  • Change config function providers to be mutable #684 [Cameron Diver]

v7.12.0 - 2018-06-26

  • Fix /v1/device endpoint returning null for commit after an update #652 [Cameron Diver]
  • Add applications state v2 endpoint #652 [Cameron Diver]
  • Move compose types to ./types and add partial definitions for compose modules #652 [Cameron Diver]
  • Move v2 endpoints to separate module #652 [Cameron Diver]
  • Refactor v1 api into seperate modules #652 [Cameron Diver]

v7.11.3 - 2018-06-25

  • Add fromDockerOpts and normalization to PortMap class, and use in fromContainer #655 [Cameron Diver]
  • Store port ranges as ranges, to reduce memory usage #655 [Cameron Diver]

v7.11.2 - 2018-06-18

  • Convert config module to typescript #682 [Cameron Diver]
  • Convert fs-utils module to typescript #682 [Cameron Diver]
  • Convert os-release module to typescript #682 [Cameron Diver]
  • Convert supervisor_version module to typescript, and add typings for json #682 [Cameron Diver]
  • Convert db module to typescript #682 [Cameron Diver]

v7.11.1 - 2018-06-14

  • Show better UX when a delta download fails because the image is processing #680 [Cameron Diver]
  • Upgrade TypedError and move docker-utils error to error module #680 [Cameron Diver]

v7.11.0 - 2018-06-13

  • Pin a device to a commit when preload has a pinDevice field #669 [Cameron Diver]

v7.10.2 - 2018-06-11

  • Fix typo in EEXIST error predicate #677 [Cameron Diver]

v7.10.1 - 2018-06-11

  • Convert iptables module to typescript #641 [Cameron Diver]
  • Convert errors module to typescript #641 [Cameron Diver]

v7.10.0 - 2018-06-06

  • Move config backend code out to classes which implement a common base #672 [Cameron Diver]
  • Add support for extlinux configuration files #672 [Cameron Diver]
  • Move boot config related code to config-utils module #672 [Cameron Diver]
  • Add types for fs-utils module #672 [Cameron Diver]

v7.9.1 - 2018-05-29

  • Update update-locking documentation #667 [Cameron Diver]

v7.9.0 - 2018-05-23

  • Add support for Balena deltas #632 [Akis Kesoglou]
  • Log delta debugging information #632 [Akis Kesoglou]

v7.8.0 - 2018-05-23

  • Check against application source for target applications #662 [Cameron Diver]
  • Add migration for source field to be added to app table #662 [Cameron Diver]

v7.7.2 - 2018-05-22

  • Ignore leading and trailing whitespace when parsing env vars #665 [Cameron Diver]

v7.7.1 - 2018-05-21

  • Don't generate config fields in offline mode #651 [Cameron Diver]

v7.7.0 - 2018-05-18

  • Add support for changing config.txt on balena fin devices #663 [Pablo Carranza Velez]

v7.6.0 - 2018-05-16

  • Change intialConfigReported value to be an api endpoint #657 [Cameron Diver]

v7.5.6 - 2018-05-14

  • Update gitignore to ignore new test files #653 [Cameron Diver]

v7.5.5 - 2018-05-11

  • Update docs with multicontainer API breakages #654 [Tim Perry]

v7.5.4 - 2018-05-11

  • Fix handling of systemd errors when polling for log to display #612 [Cameron Diver]

v7.5.3 - 2018-05-02

  • Add typescript linting to supervisor tests #638 [Cameron Diver]
  • Convert conversions module to typescript #638 [Cameron Diver]
  • Move shared types to separate module #638 [Cameron Diver]
  • Convert blink module to typescript #638 [Cameron Diver]
  • Convert lib/constants module to typescript #638 [Cameron Diver]
  • Type parameters for validation functions better #638 [Cameron Diver]

v7.5.2 - 2018-05-01

  • Add some more unit tests to the multicontainer supervisor #519 [Pablo Carranza Velez]

v7.5.1 - 2018-04-29

  • Remove trailing slashes from working directories of services #637 [Cameron Diver]

v7.5.0 - 2018-04-27

  • Add tests for validation code #636 [Cameron Diver]
  • Start initial typescript conversion, and add validation debugging #636 [Cameron Diver]

v7.4.4 - 2018-04-23

  • Use resinos-in-container for the development dind supervisor #630 [Pablo Carranza Velez]

v7.4.3 - 2018-04-19

  • On startup, only attach to logs for running containers, and remove any containers marked as dead #625 [Pablo Carranza Velez]

v7.4.2 - 2018-04-18

  • Properly propagate delta failure #628 [Akis Kesoglou]

v7.4.1 - 2018-04-11

  • Allow services (and their images) to expose udp ports besides tcp #622 [Pablo Carranza Velez]

v7.4.0 - 2018-04-11

  • Add ability to use self-signed CAs passed via config.json. #602 [Heds Simons]

v7.3.0 - 2018-04-10

  • Move to Node 6.13.1. #624 [Heds Simons]

v7.2.0 - 2018-04-04

  • Run test suite on CI #616 [Cameron Diver]
  • Add mocha to enable unit testing #616 [Lucian Buzzo]
  • Fix regex for parsing memory numbers #616 [Cameron Diver]

v7.1.24 - 2018-03-29

  • Respond to reboot and shutdown endpoints with a success object #608 [Cameron Diver]

v7.1.23 - 2018-03-29

  • Avoid weird cwd errors when dist does not exist with sync #606 [Cameron Diver]

v7.1.22 - 2018-03-29

  • Back off fetching the target state exponentially, for faster retries when there's no connectivity #596 [Pablo Carranza Velez]

v7.1.21 - 2018-03-27

  • Handle incorrectly parsed env vars from docker inspect #605 [Cameron Diver]

v7.1.20 - 2018-03-22

  • Replace the gosuper component with a node module that handles communication with systemd, and stop using an init system in the supervisor container #592 [Pablo Carranza Velez]

v7.1.19 - 2018-03-22

  • Remove any leftover knex migrations locks before running migrations #599 [Pablo Carranza Velez]

v7.1.18 - 2018-03-19

  • Trim whitespace from the hostname file on the host before passing it as the hostname for containers with host network #595 [Pablo Carranza Velez]

v7.1.17 - 2018-03-19

  • Document that the update lock can be forced on reboots and shutdowns #591 [Pablo Carranza Velez]
  • Force reboots and shutdowns if lock override is enabled #591 [Pablo Carranza Velez]

v7.1.16 - 2018-03-16

  • In /v1/apps/:appId/stop, wait for the service to exit before responding #593 [Pablo Carranza Velez]

v7.1.15 - 2018-03-15

  • Automation: Use ssh instead of https to PR to meta-resin #572 [Pablo Carranza Velez]

v7.1.14 - 2018-03-15

  • Avoid trying to clean up the supervisor image if it has several tags (even though it would never succeed) #589 [Pablo Carranza Velez]

v7.1.13 - 2018-03-15

  • Fix typo passing apiKey to the resin API client when exchanging apikeys #588 [Pablo Carranza Velez]
  • Fix the check for whether the device is provisioned by correctly getting registered_at and deviceId from config.json into the ApiBinder #588 [Pablo Carranza Velez]

v7.1.12 - 2018-03-15

  • Compose: Use the hostname on the host as default hostname for services with host network mode #586 [Pablo Carranza Velez]
  • Pass the correct working_dir to the container config, and compare containers for working dir changes #586 [Pablo Carranza Velez]

v7.1.11 - 2018-03-14

  • DeviceConfig: avoid trying to enable or disable the VPN when in offline mode #585 [Pablo Carranza Velez]

v7.1.10 - 2018-03-14

  • ApplicationManager: try to match available images by imageId to avoid keeping around unused image entries in the db #584 [Pablo Carranza Velez]
  • Compose: Emit a change event when a container is renamed, so that the updated imageId and releaseId are reported #584 [Pablo Carranza Velez]

v7.1.9 - 2018-03-13

  • Skip taking the lock when updating the releaseId or imageId for a service that comes from a legacy supervisor #581 [Pablo Carranza Velez]
  • When migrating from legacy supervisors, mark the temporary composition as legacy #581 [Pablo Carranza Velez]

v7.1.8 - 2018-03-13

  • Avoid trying to send a response to API calls after we've already sent an error #579 [Pablo Carranza Velez]
  • Fix passing a target service to start in /v1/apps/:appId/start, and getting the containerId #579 [Pablo Carranza Velez]

v7.1.7 - 2018-03-09

  • Gosuper: Treat systemd unit states that are not "inactive" or "deactivating" as enabled states #577 [Pablo Carranza Velez]

v7.1.6 - 2018-03-09

  • Migrations: Use the correct service name for legacy apps #575 [Pablo Carranza Velez]
  • ApplicationManager: only use dockerImageId to identify images for current apps, to avoid trying to delete an image that is in use #575 [Pablo Carranza Velez]

v7.1.5 - 2018-03-09

  • Fix bug in require for migrations for legacy preload #574 [Cameron Diver]

v7.1.4 - 2018-03-09

  • Compose: fix type error, createVolume returns a promise #571 [Petros Angelatos]

v7.1.3 - 2018-03-08

  • Lib: add missing flag to openAsync() #570 [Petros Angelatos]

v7.1.2 - 2018-03-08

  • Compose: fix volume migration code #569 [Petros Angelatos]

v7.1.1 - 2018-03-08

  • Convert object to array when normalising legacy target apps #568 [Cameron Diver]

v7.1.0 - 2018-03-07

  • Introduce workaround for IPv6 DNS resolution until nodejs becomes RFC 3484 compliant #566 [Petros Angelatos]
  • Start using an externally built resin/$ARCH-supervisor-base:v1.1.0 as base image, which adds the verbatim option to dns.lookup #566 [Pablo Carranza Velez]

v7.0.0 - 2018-03-07

  • Send logs to the resin API by default #482 [Pablo Carranza Velez]
  • Implement a new logger that sends logs to the resin API, that can be used optionally instead of PubNub #482 [Pablo Carranza Velez]
  • Fix the way commands and entrypoints in string form are parsed #482 [Pablo Carranza Velez]
  • Use a supervisor0 network interface for the supervisor network API. Remove RESIN_APP_COMMIT and RESIN_APP_RELEASE env vars. #482 [Pablo Carranza Velez]
  • Supervisor API: remove the tcp-ping endpoints #482 [Pablo Carranza Velez]
  • Remove support for keeping the provisioning apiKey on Resin OS 1.X. Report initial values from config.txt and other device configuration variables to the Resin API. #482 [Pablo Carranza Velez]
  • Remove all bind mounts that were specific to 1.X devices. Move the resin-kill-me file for the handover strategy to /tmp/resin. Add environment variables for the location of resin-kill-me and the lockfile. Use running containers to determine what services are running instead of storing them in the internal database. Use named volumes for persistent data. #482 [Pablo Carranza Velez]
  • Allow running docker-compose-like multicontainer applications #482 [Pablo Carranza Velez]
  • Implement inference of device configuration. Allow array values for dtoverlay and dtparam. #482 [Pablo Carranza Velez]
  • Infer the current state of the device when applying the target state #482 [Pablo Carranza Velez]
  • Implement the multicontainer app models, and change the supervisor configuration management to avoid duplication between fields in config.json and fields in the internal database #482 [Pablo Carranza Velez]

v6.6.9 - 2018-03-05

  • Update update-locking.md #565 [zwalchuk]

v6.6.8 - 2018-02-27

  • Allow truthy values for deltas and lock override (i.e. the string 'true' besides '1') #561 [Pablo Carranza Velez]

v6.6.7 - 2018-02-27

  • Since armel builds are disabled, do not pull an armel node base image, and ensure we never deploy an armel supervisor #560 [Pablo Carranza Velez]

v6.6.6 - 2018-02-27

  • Update docker-delta to 2.0.4 #558 [Akis Kesoglou]

v6.6.5 - 2018-02-21

  • Circle.yml: escape branch name to ensure we always have a valid tag #556 [Pablo Carranza Velez]

v6.6.4 - 2018-02-20

  • Circle.yml: Do not push images to dockerhub if building without a docker password #555 [Pablo Carranza Velez]

v6.6.3 - 2018-02-06

  • Update resumable-request to v2.0 #551 [Akis Kesoglou]

v6.6.2 - 2018-01-24

  • Use i386-nlp for supervisor releases for quark boards #549 [Pablo Carranza Velez]

v6.6.1 - 2018-01-19

  • Improve caching in dindctl build and update README #526 [Pablo Carranza Velez]

v6.6.0 - 2018-01-18

  • Implement an API for proxy and hostname configuration, and centralize management of config.json #547 [Pablo Carranza Velez]

v6.5.9 - 2018-01-12

  • Fix saving deviceApiKey to the DB (to fix the RESIN_API_KEY env var) when updating from some older supervisors #544 [Pablo Carranza Velez]

v6.5.8 - 2018-01-10

  • Update docker-toolbelt to v3.2.1 to fix a bug in deltas #543 [Pablo Carranza Velez]

v6.5.7 - 2018-01-05

  • Avoid problems with null app names or invalid container names when migrating from old supervisors #541 [Pablo Carranza Velez]

v6.5.6 - 2017-12-15

  • Update-locking: updating the documentation with extra information and tools #528 [Gergely Imreh]

v6.5.5 - 2017-12-14

  • Update resin-sync to allow syncing to devices that use balena #533 [Pablo Carranza Velez]

v6.5.4 - 2017-12-14

  • Do the webpack build in an amd64 image to improve build times #539 [Pablo Carranza Velez]

v6.5.3 - 2017-12-12

  • Gosuper: When getting IP addresses, ignore balena and the resin-dns bridge #536 [Pablo Carranza Velez]

v6.5.2 - 2017-12-12

  • Dockerfile: improve caching by installing devDependencies before copying the code #535 [Pablo Carranza Velez]

v6.5.1 - 2017-12-11

  • Avoid marking the supervisor as unhealthy if update is not happening because it's in offline mode #534 [Pablo Carranza Velez]

v6.5.0 - 2017-12-11

  • Add a /v1/healthy endpoint that fails if the supervisor is unhealthy, and a HEALTHCHECK command to the Dockerfile that uses it #530 [Pablo Carranza Velez]

v6.4.9 - 2017-12-11

  • Apply config.txt changes when the new config is empty, to fix deleting config.txt values #532 [Pablo Carranza Velez]
  • Avoid stopping the VPN until a remote target state has been fetched, and retry applying config variables when they fail #532 [Pablo Carranza Velez]

v6.4.8 - 2017-12-01

  • When listenPort is not specified, use 48484 as default #529 [Pablo Carranza Velez]

v6.4.7 - 2017-11-20

  • Sync.js: Fix command to build the source code without optimizations #527 [Pablo Carranza Velez]

v6.4.6 - 2017-11-10

  • Dind: Add a .gitkeep to docker.service.d to avoid dind build errors #525 [Pablo Carranza Velez]

v6.4.5 - 2017-11-09

  • Use uglifyjs-webpack-plugin ^1.0.1 to optimize the supervisor code #524 [Pablo Carranza Velez]

v6.4.4 - 2017-11-08

  • Dindctl: Use balena to refresh the supervisor container #523 [Pablo Carranza Velez]

v6.4.3 - 2017-11-03

  • Use balena 17.06 and resin-base v2.9.2 for the docker-in-docker supervisor #518 [Pablo Carranza Velez]

v6.4.2 - 2017-11-03

  • Avoid an indefinite recursion that grows the call stack when reporting the current state fails #480 [Pablo Carranza Velez]

v6.4.1 - 2017-11-02

  • Improve caching when building gosuper #520 [Pablo Carranza Velez]
  • Automation: Always try to cache using the latest master build #520 [Pablo Carranza Velez]

v6.4.0 - 2017-11-01

  • Fixes #511, add support for new supervisor image for x86 with quark cpu boards. #512 [Trong Nghia Nguyen]

v6.3.11 - 2017-11-01

  • Add whitelist-based filtering to mixpanel events #500 [Pablo Carranza Velez]
  • Tunnel all mixpanel events through the resin API #500 [Pablo Carranza Velez]

v6.3.10 - 2017-10-31

  • Use a custom webpack loader to avoid uncaught exceptions from JSONStream #517 [Pablo Carranza Velez]

v6.3.9 - 2017-10-30

  • Avoid fetching an image when it might be available or when starting an app because it might not be necessary #507 [Pablo Carranza Velez]
  • Refactor container cleanup to remove all spurious containers #507 [Pablo Carranza Velez]
  • Use container name instead of id to identify apps, and avoid duplicated containers #507 [Pablo Carranza Velez]

v6.3.8 - 2017-10-30

  • If a device is already provisioned but the key exchange fails, retry it until it succeeds #513 [Pablo Carranza Velez]

v6.3.7 - 2017-10-25

  • Change the update retry to back off to the standard update check interval #515 [Pagan Gazzard]

v6.3.6 - 2017-10-24

  • Ensure preloaded apps are properly loaded by setting their internal markedForDeletion to false, and run apps that have it set to null #510 [Pablo Carranza Velez]
  • Improve the check for when the device has been provisioned but the supervisor doesn't have knowledge of it in its local state #510 [Pablo Carranza Velez]
  • Ensure preloaded apps get the deviceApiKey in the env vars, and apps never get the provisioning key, and improve detection of cases when the device has been pre-provisioned #510 [Pablo Carranza Velez]

v6.3.5 - 2017-10-19

  • Update docker-toolbelt to fix applying deltas on overlay2 with huge images #509 [Akis Kesoglou]

v6.3.4 - 2017-10-17

  • Delta improvements #504 [Akis Kesoglou]

v6.3.3 - 2017-10-17

  • Update docker-progress to improve identification of Balena #505 [Akis Kesoglou]

v6.3.2 - 2017-10-11

  • Allow specifying a config.json filename in dindctl #503 [Pablo Carranza Velez]
  • Allow specifying a container name for the docker-in-docker development supervisor #503 [Pablo Carranza Velez]

v6.3.1 - 2017-10-04

  • Update docker-progress #502 [Akis Kesoglou]

v6.3.0 - 2017-10-03

  • Update docker-progress #501 [Akis Kesoglou]

v6.2.9 - 2017-09-15

  • Explicitly define the source for deltas, allow cross-app deltas, and iterate serially through apps when updating #499 [Pablo Carranza Velez]

v6.2.8 - 2017-09-12

  • Fix problem catching errors when killing a container that doesn't exist #496 [Pablo Carranza Velez]

v6.2.7 - 2017-09-01

  • Prefer err.message when reporting errors from dockerode, then err.json and err.reason #490 [Pablo Carranza Velez]

v6.2.6 - 2017-08-29

  • Add a sync.js script to allow syncing a running supervisor container on a local device #494 [Pablo Carranza Velez]

v6.2.5 - 2017-08-28

  • Forward resume options #492 [Akis Kesoglou]

v6.2.4 - 2017-08-28

  • Update docker-progress to v2.6.3 #493 [Pablo Carranza Velez]

v6.2.3 - 2017-08-26

  • Deploy all archs by default to Resin #489 [Akis Kesoglou]

v6.2.2 - 2017-08-25

  • Remove an unnecessary directory from sqlite3 that took 30MB #491 [Pablo Carranza Velez]

v6.2.1 - 2017-08-18

  • Ensure /var/run/resin exists before trying to mount it as tmpfs #486 [Pablo Carranza Velez]

v6.2.0 - 2017-08-16

  • Try to resume the download of a delta if it fails due to flaky network #483 [Akis Kesoglou]

v6.1.4 - 2017-08-07

  • Fix references in deploy-to-resin.js and use github credentials when pushing in pr-to-meta-resin.sh #481 [Pablo Carranza Velez]

v6.1.3 - 2017-08-03

  • Avoid starting apps on startup if device has to reboot due to a configuration change [Pablo Carranza Velez]

v6.1.2 - 2017-07-27

  • When the device is about to reboot or shutdown, close the API server and avoid applying updates [Pablo Carranza Velez]

v6.1.1 - 2017-07-27

  • Avoid unhandled errors when in offline mode due to a missing apiEndpoint [Pablo Carranza Velez]
  • Do not persist the uuid when in offline mode, so that the supervisor tries to provision if it goes out of offline mode [Pablo Carranza Velez]

v6.1.0 - 2017-07-27

  • Update docker-delta to 1.1.1, docker-toolbelt to 3.0.1, docker-progress to 2.6.0 to add support for deltas and overlay2 [Pablo Carranza Velez]

v6.0.5 - 2017-07-27

  • Allow building the supervisor source without optimizations for easier debugging with dindctl [Pablo Carranza Velez]
  • Pull the supervisor image if it's not available when running with dindctl [Pablo Carranza Velez]
  • Fix preloading and parsing of arguments in the dind supervisor [Pablo Carranza Velez]

v6.0.4 - 2017-07-26

  • Fix the message shown when docker gives a 500 error when starting a container [Pablo Carranza Velez]

v6.0.3 - 2017-07-25

  • Use a pinned build of the debian image to build base and gosuper, to avoid unnecessary rebuilds [Pablo Carranza Velez]

v6.0.2 - 2017-07-24

  • Disable armel builds [Pablo Carranza Velez]
  • Disable pushing to registry.resinstaging.io, and use build environment to login to dockerhub [Pablo Carranza Velez]
  • Move dindctl to the base of the repository [Pablo Carranza Velez]
  • Add a script to automate the creation of meta-resin PRs [Pablo Carranza Velez]
  • Add a deploy-to-resin.js and automatically deploy to the Resin API on master builds [Pablo Carranza Velez]
  • Use a local supervisor image for the dind supervisor [Pablo Carranza Velez]
  • Replace the Jenkins build with a CircleCI build that uses the new multi-stage build [Pablo Carranza Velez]
  • Make dindctl an easier to use tool that takes options instead of using env vars [Pablo Carranza Velez]
  • Refactor the makefile to make it easier to use and make use of the multi-stage build [Pablo Carranza Velez]
  • Add a single Dockerfile to build the supervisor as a multi-stage build [Pablo Carranza Velez]

v6.0.1 - 2017-07-12

  • Use webpack to join all modules [Pablo Carranza Velez]

v6.0.0 - 2017-07-07

  • Deprecate edge device type [Joe Roberts]

v5.1.1 - 2017-07-04

  • Fix semver comparison for OS version when determining if the device has deviceApiKey support [Pablo Carranza Velez]

v5.1.0 - 2017-07-01

  • Switch to glide for Go dependencies [Pablo Carranza Velez]
  • Add support for aarch64 [Pablo Carranza Velez]

v5.0.2 - 2017-07-01

  • Dind: Set DELTA_ENDPOINT, insert variant into os-release, and fix vpn apikeys [Pablo Carranza Velez]

v5.0.1 - 2017-07-01

  • Allow registering the deviceApiKey in a non-compatible OS by making the apiKey equal the deviceApiKey, and add an fsync to all config.json writes [Pablo Carranza Velez]

v5.0.0 - 2017-06-26

  • Remove the undocumented and unused sideload and compose APIs [Pablo Carranza Velez]

v4.5.0 - 2017-06-26

  • Update docker-delta to 1.0.3 to support docker 17 [Pablo Carranza Velez]

v4.4.2 - 2017-06-26

  • Fix provisioning key exchange by passing apikey in the request [Pablo Carranza Velez]

v4.4.1 - 2017-06-24

  • Make cleanup in jenkins build less aggressive, but remove all created tags [Pablo Carranza Velez]

v4.4.0 - 2017-06-15

  • When apiEndpoint is not defined, work in offline mode [Pablo Carranza Velez]
  • Fix mixpanel initialization when not in offline mode [Pablo Carranza Velez]

v4.3.2 - 2017-06-14

  • Update dependent device DB [Joe Roberts]

v4.3.1 - 2017-06-13

  • Enable SSL when connecting to pubnub [Petros Angelatos]

v4.3.0 - 2017-06-05

  • Switch to generating the BASE_IMAGE_VERSION in the makefile, so that the makefile targets can use an accurate version by default [Pagan Gazzard]

v4.2.4 - 2017-05-12

  • Fix typo in how hostOSVersionPath was camel-cased [Pablo Carranza Velez]

v4.2.3 - 2017-05-11

  • Properly handle errors when requesting deltas [Pablo Carranza Velez]
  • Add aufs-tools to the dind supervisor for use when running on aufs [Pagan Gazzard]

v4.2.2 - 2017-04-27

  • Only delete the provisioning key if the supervisor is running on an OS that supports using the deviceApiKey [Pablo Carranza Velez]
  • Avoid writing target device config to DB if it hasn't changed [Pablo Carranza Velez]

v4.2.1 - 2017-04-26

  • Fix an infinite loop that could happen when trying to bootstrap if the key exchange fails [Pagan Gazzard]
  • Fix the case of being registered with a version of the cli/sdk that does not support device api keys. [Pagan Gazzard]

v4.2.0 - 2017-04-24

  • Add handling for duplicate UUIDs and key exchanging for old user-api-keys [Pagan Gazzard]
  • Change to the new device registration method to exchange our provisioning key with a dedicated api key for the device. [Pagan Gazzard]
  • Docs/API.md: Fix documentation command sent via the API proxy for POST /v1/update. [Horia Delicoti]

v4.1.2 - 2017-04-10

  • Issue #420: Avoid supervisor crash without connection by properly memoizing promise-returning functions [Pablo Carranza Velez]
  • Report the OS variant as a separate field and not as part of the OS version [Pablo Carranza Velez]

v4.1.1 - 2017-03-30

  • Issue #413: Fix an error applying the connectivity check config var [Pablo Carranza Velez]
  • Issue #410: Cleanup images before running an update, preserving the ones that will be used in the target state [Pablo Carranza Velez]

v4.1.0 - 2017-03-29

  • Authentication credentials for registry and delta server [Andreas Fitzek]
  • Issue #402: Ensure that app configs are non-null and valid json objects [Pablo Carranza Velez]
  • Report OS variant to the API together with the OS version [Pablo Carranza Velez]
  • Issue #230: Add a custom User-Agent header to all requests [Pablo Carranza Velez]
  • Update waffle badge [Sabith]

v4.0.0 - 2017-03-09

  • Issue #396: Log when we're rebooting due to a device config change [Pablo Carranza Velez]
  • Issue #20: Change the update lock to a temporary filesystem [Pablo Carranza Velez]
  • Make local mode only work in development OS, and make it remove app containers and allow unauthenticated API requests [Pablo Carranza Velez]
  • Restore default value when clearing a special action config variable [Pablo Carranza Velez]
  • Allow all config variables to take truthy or falsy values [Pablo Carranza Velez]
  • Allow setting the supervisor to a "local mode" which stops apps and prevents cleanup [Pablo Carranza Velez]
  • Issues #23 and #236: Use docker logs to get all logs from the container, including those before supervisor start [Pablo Carranza Velez]
  • Issues #389 and #390: Remove /host_run/dbus and /host/var/lib/connman bind mounts for non-ResinOS-1.X devices [Pablo Carranza Velez]
  • Issue #386: Allow forcing updates when an update was already scheduled [Pablo Carranza Velez]

v3.0.1 - 2017-02-15

  • Issue #381: Set target deviceConfig values from preloaded apps [Pablo Carranza Velez]

v3.0.0 - 2017-01-18

  • Issue #378: Increase delta timeouts (to avoid ESOCKETTIMEOUT errors), make them configurable, and provide nicer message when the delta server times out [Pablo Carranza Velez]
  • Update versionist to v2.8.0 [Pablo Carranza Velez]
  • Update docker-progress to v2.3.3 [Pablo Carranza Velez]
  • Switch to aufs for the docker-in-docker development supervisor [Pablo Carranza Velez]
  • Do not bind mount kmod if the host is not Resin OS 1.X [Pablo Carranza Velez]

v2.9.0 - 2016-12-20

  • Bump docker-delta to v1.0.1 to fix deltas on aufs when there's many layers [Pablo Carranza Velez]
  • Document dependent apps feature [curcuz]

v2.8.5 - 2016-12-20

  • Fix error applying device configuration because deviceConfig table is empty [Pablo Carranza Velez]
  • Make the base image hash more deterministic [Pablo Carranza Velez]

v2.8.4 - 2016-12-16

  • Use versionist's default configuration [Pablo Carranza Velez]
  • Build the base image together with the supervisor [Pablo Carranza Velez]
  • Start using versionist for versioning and changelog [Pablo Carranza Velez]
  • Bump the MAX_BASIS_DIRS limit for rsync [Michal Mazurek]

v2.8.3 - 2016-11-23

  • Fallback to DROP when iptables REJECT is not available [Pablo Carranza Velez]

v2.8.2 - 2016-11-07

  • Update the supervisor base to 20161103 to include the i386 fix [Pablo Carranza Velez]
  • Fix an error when trying to call logSystemEvent with an undefined app [Pagan Gazzard]
  • Fix nodejs for the i386 architectures [Theodor Gherzan]
  • Provide a better error message when app is not found for purging [Pablo Carranza Velez]
  • Only iterate through remote apps to set device config [Pablo Carranza Velez]

v2.8.1 - 2016-10-31

  • Properly delete dependent apps and their corresponding devices [Pablo Carranza Velez]

v2.8.0 - 2016-10-30

  • Add HostConfig in container create instead of start [Pablo Carranza Velez]
  • Make it clear in logs when container was already running [Pablo Carranza Velez]
  • Stop all apps before rebooting or shutting down [Pablo Carranza Velez]
  • Update request-progress to v2.0.1 [Pablo Carranza Velez]

v2.7.1 - 2016-10-24

  • Use multiArgs to promisify gosuper requests [Pablo Carranza Velez]
  • Also make it explicit in mixpanel events when it's a full image download [Pablo Carranza Velez]
  • Log whether deltas are being used when downloading an app [Pablo Carranza Velez]

v2.7.0 - 2016-10-23

  • Upgrade docker-progress to v2.3.1 [Pablo Carranza Velez]
  • Fixed multiple update loops appearing after a long period of updates failing. [Pagan Gazzard]
  • Avoid restarting the app if the device name changes [Pablo Carranza Velez]
  • Use appId in dependent app assets tar path, and only create the tar if it doesn't exist [Pablo Carranza Velez]
  • Support AUFS by upgrading node-docker-delta to 1.0.0 and docker-toolbelt to 1.3.0 [Pablo Carranza Velez]
  • Send the uuid as distinct_id for mixpanel events [Pablo Carranza Velez]
  • gosuper: support i386 platforms without MMX instructions [Petros Angelatos]

v2.6.3 - 2016-10-13

  • Properly set device name, and set undefined arguments to setConfig as null [Pablo Carranza Velez]

v2.6.2 - 2016-10-11

  • Updated knex to ~0.12.3

v2.6.1 - 2016-10-11

  • Do not use parsed JSON to compare dep. device state [Pablo Carranza Velez]

v2.6.0 - 2016-10-10

  • Fix docker utils getImageEnv by correctly parsing the returned array [Pablo Carranza Velez]
  • Avoid installing npm dependencies twice [Pablo Carranza Velez]
  • Updated to bluebird 3 [Pagan Gazzard]
  • Better parameter handling in PUT /v1/devices/:uuid [Pablo Carranza Velez]
  • An update hook response of 200 will cause the proxyvisor to stop pinging the hook [Pablo Carranza Velez]
  • Allow deleting dependent apps and devices [Pablo Carranza Velez]
  • Implement delete dependent device hook [Pablo Carranza Velez]
  • Omit some fields when responding with a device object [Pablo Carranza Velez]
  • Add validation to dependent device provisioning [Pablo Carranza Velez]

v2.5.2 - 2016-10-07

  • Removed obsolete resolv.conf bind-mount [Petros Angelatos]
  • Updated to pinejs-client 2 [Pagan Gazzard]

v2.5.1 - 2016-10-06

  • Store config vars when there's nothing else to update [Pablo Carranza Velez]
  • Do not mark an update as failed if the hook failed [Pablo Carranza Velez]
  • When hitting the dependent devices hook, send appId as int [Pablo Carranza Velez]
  • Updated to lodash 4 [Pagan Gazzard]
  • Updated to coffeescript 1.11 [Pagan Gazzard]
  • In delete-then-download, only delete when a download is needed [Pablo Carranza Velez]
  • Compare config vars to trigger an app restart [Pablo Carranza Velez]
  • Fix disabling logs to display on newer OS with different service name [Pablo Carranza Velez]
  • In cleanup, normalize all image tags for comparison [Pablo Carranza Velez]
  • Use getRegistryAndName from docker-toolbelt 1.2.0 [Pablo Carranza Velez]

v2.5.0 - 2016-10-01

  • Switch to v2 api to be able to set is_online [Pagan Gazzard]
  • Implement proxyvisor API with dependent device handling [Pablo Carranza Velez]
  • Use the state endpoint from the API to get the full device state [Pablo Carranza Velez]
  • Add a deviceConfig db table to store host config separately, and allow deleting config.txt entries [Pablo Carranza Velez]
  • Expose RESIN_APP_NAME, RESIN_APP_RELEASE, RESIN_DEVICE_NAME_AT_INIT, RESIN_DEVICE_TYPE and RESIN_HOST_OS_VERSION env vars [Pablo Carranza Velez]
  • Add missing error handler on a stream in docker-utils [Pablo Carranza Velez]

v2.4.0 - 2016-09-30

  • On cleanup, force removal for images and containers, and remove container volumes [Pablo Carranza Velez]
  • Add system logs for Shutdown, Reboot and Purge [Pablo Carranza Velez]

v2.3.0 - 2016-09-26

  • Implement delete-then-download update strategy [Pablo Carranza Velez]
  • Bump node-docker-delta to 0.0.12 [Pablo, Kostas]

v2.2.1 - 2016-09-26

  • Fix ENV bug in build process [Petros Angelatos]

v2.2.0 - 2016-09-23

  • Add resin-vpn interface IP filtering to gosupervisor [Praneeth]
  • Compress go binary with upx [Petros Angelatos]
  • Switch to go version 1.6 [Petros Angelatos]
  • Print all logs to stdout of container instead of file [Petros Angelatos]
  • Upgrade nodejs to version 6.5 [Petros Angelatos]
  • Switch initsystem from supervisor to busybox init [Petros Angelatos]
  • Switch build to openembedded base images [Petros Angelatos]
  • DRY up calls to gosuper API, and use empty Host header [Pablo Carranza Velez]

v2.1.1 - 2016-09-09

  • Add iptables rules to allow resin-vpn named interface to be used by VPN [Praneeth]
  • Updated to coffee-script ~1.10.0 [Pagan Gazzard]
  • Catch exec format error and provide friendlier error message [Aleksis]

v2.1.0 - 2016-09-05

  • Pick up new variable from hostOS, pointing to the mount point of the hostOS's boot partition [Theodor Gherzan]

v2.0.0 - 2016-08-31

  • [Breaking] Change the logger to send at a specific interval and with a different message format [Pablo Carranza Velez]

v1.14.0 - 2016-08-16

  • Allow using an HTTP header for auth [Pablo Carranza Velez]
  • Add iptables rules to block requests to the supervisor API from all interfaces except vpn, docker and local [Pablo Carranza Velez]

v1.13.2 - 2016-08-09

  • bootstrap: if offlineMode is enabled, persist only the uuid [Petros Angelatos]

v1.13.1 - 2016-07-28

  • Using links in compose files is now allowed [Petros Angelatos]

v1.13.0 - 2016-07-27

  • Allow the supervisor to work in offline mode [Pablo Carranza Velez]
  • Fix duplicate logs issue [Kostas Lekkas]
  • [Breaking] Do not bind mount /run/dbus to /run/dbus [Pablo Carranza Velez]
  • Default to not bind mounting kmod if container distro can't be found [Pablo Carranza Velez]
  • Use log-timestamp to add timestamps to logs [Pablo Carranza Velez]

v1.12.2 - 2016-07-15

  • Bind mount kmod if the container is debian or raspbian [Pablo Carranza Velez]

v1.12.1 - 2016-07-08

  • Fix preloaded apps by passing appId to extendEnvVars

v1.12.0 - 2016-06-28

  • Add endpoints for docker-compose up and down [Pablo Carranza Velez]

v1.11.6 - 2016-06-23

  • Fixed deltas for older docker daemon versions [Petros Angelatos]

v1.11.5 - 2016-06-23

  • Fix entry.sh when DOCKER_ROOT isn't set [Pagan Gazzard]

v1.11.4 - 2016-06-17

  • Cleanup docker images if delta failed [Petros Angelatos]
  • Make the data path configurable [Pablo Carranza Velez]

v1.11.3 - 2016-06-11

  • Add listener for container events and reattach on restart [Pablo Carranza Velez]
  • fix deltas by not using the supervisor as source [Pablo Carranza Velez]

v1.11.2 - 2016-06-10

  • fix delta error handling by listening for the 'error' event [Petros Angelatos]

v1.11.1 - 2016-06-09

  • Use sh for postinstall as alpine has no bash [Pablo Carranza Velez]
  • update docker-delta to 0.0.8 [Petros Angelatos]
  • symlink docker root to default path if not already there [Petros Angelatos]

v1.11.0 - 2016-06-07

  • Add restart policies and change default to auto-restart [Aleksis]

v1.10.1 - 2016-06-07

  • Switch to docker-delta library to use deltas v2 [Petros Angelatos]
  • Correctly compare container image name on cleanup [Pablo Carranza Velez]
  • Log useful supervisor info to stdout/stderr [Kostas Lekkas]

v1.10.0 - 2016-05-26

  • Fix progress bars on docker version 1.10 [Aleksis]

v1.9.0 - 2016-05-24

  • Fix reporting of supervisor version for alpine supervisor [Pablo Carranza Velez]
  • Use rwlock to block when pulling images [Pablo Carranza Velez]
  • Increase API timeout to 15 minutes, and make it configurable [Pablo Carranza Velez]
  • Add endpoint to load images from a docker save tar [Pablo Carranza Velez]
  • Add alpine supervisor build information [Trong]
  • Add endpoints to manage images and containers locally [Pablo Carranza Velez]
  • Only use bodyParser for endpoints that need it [Pablo Carranza Velez]
  • Add RESIN_APP_ID variable [Pablo Carranza Velez]
  • Increase delta request timeout to 15 minutes [Pablo Carranza Velez]

v1.8.0 - 2016-04-25

  • Add endpoints to start, stop and get app [Pablo, Kostas]
  • Removed a bunch ofobsolete code for the old terminal, reducing the supervisor size considerably. [Pagan Gazzard]

v1.7.0 - 2016-03-28

  • Add RESIN_HOST_LOG_TO_DISPLAY variable [Pablo Carranza Velez]
  • Add system logs for special actions and host config [Pablo Carranza Velez]
  • Fix setting config.txt for RPi 3 [Pablo Carranza Velez]
  • Fix saving config vars to DB before reboot [Pablo Carranza Velez]
  • Bind mount host /var/lib/connman to application /host_var/lib/connman [Aleksis]
  • Add RESIN_SUPERVISOR_DELTA to special list so that app is not restarted when it changes [Pablo Carranza Velez]

v1.6.1 - 2016-03-08

  • Reduce noise in logs [Kostas Lekkas]

v1.6.0 - 2016-02-22

  • Add endpoint to get device state [Pablo Carranza Velez]
  • Check for valid strings or ints in all config values [Pablo Carranza Velez]
  • Remove quotes in OS version [Pablo Carranza Velez]

v1.5.0 - 2016-02-09

  • Add support for delta image download [petrosagg and Pablo]

v1.4.0 - 2016-01-28

  • Report Host OS version to the API [Pablo Carranza Velez]
  • Use _.defaults instead of _.extend to ensure internal env vars are not overwritten [Pablo Carranza Velez]
  • Expose resin API key to apps [Pablo Carranza Velez]
  • On download start, set download_progress to 0. On finish, set state to Idle [Pablo Carranza Velez]
  • Set GOARM separately for each architecture [Pablo Carranza Velez]
  • Add armv5 (armel) build [Trong]
  • Add OOM protection for the supervisor container, openvpn and connmand [Praneeth]

v1.3.2 - 2015-12-17

  • Do not report the tun addresses to API [Praneeth]

v1.3.1 - 2015-12-07

  • Only save the app if starting the container was successful [Pablo Carranza Velez]

v1.3.0 - 2015-12-01

  • Remove volumes when removing a container [Pablo Carranza Velez]
  • Refactor the still undocumented special env vars into RESIN_SUPERVISOR_ [Pablo Carranza Velez]
  • Implement several update strategies (kill before download, 0-downtime) [Pablo Carranza Velez]
  • Fix the error that comes up when no ip addresses are returned by gosuper [Praneeth]
  • Switched to docker-progress for pull progress. [Pagan Gazzard]
  • Fix semver versioning in tcp-ping endpoint. [Praneeth]

v1.2.1 - 2015-11-04

  • Use random name for PubNub channel and report to API [Pablo Carranza Velez]

v1.2.0 - 2015-10-16

  • Don't bind mount (the sometimes non-existent) docker.sock [Pablo Carranza Velez]
  • Expose a RESIN_SUPERVISOR_VERSION env var to app [Pablo Carranza Velez]

v1.1.1 - 2015-10-15

  • Prevent non-fatal errors from causing the supervisor to exit [Lorenzo]
  • Use buildtime env vars as the default Pubnub and Mixpanel keys [Pablo Carranza Velez]

v1.1.0 - 2015-10-09

  • Switch back to using arch-based node images [Pablo Carranza Velez]
  • Don't allow bootstrap to delete apiSecret from DB [Pablo Carranza Velez]
  • Add API endpoint to expire and create new API key [Pablo Carranza Velez]
  • Enable control of API poll interval through Device Variables [Praneeth]
  • Allow control of VPN + TCP check + Pub nub logs with Device Environment variables [Praneeth]
  • Add GO api for openvpn control [Praneeth]

v1.0.2 - 2015-10-08

  • Fix getting API key from DB by returning its .value [Pablo Carranza Velez]

v1.0.1 - 2015-10-07

  • Pass supervisor API key to app, don't regenerate the key, and authenticate ALL requests [Pablo Carranza Velez]
  • Use raspberrypi2 base image for armv7hf [Pablo Carranza Velez]
  • Bugfix: wrap all errors from update as Error objects - prevents image cleanup on download failures [Pablo Carranza Velez]
  • Wait 10 seconds after sending SIGTERM and before sending SIGKILL when stopping a container [Petros Angelatos]

v1.0.0 - 2015-10-02

  • Expose supervisor API to app by allowing all requests from 127.0.0.1 and passing address and port as env vars [Pablo Carranza Velez]
  • Only apply special actions / boot config on change, and always persist to DB [Pablo Carranza Velez]

v0.0.18 - 2015-10-01

  • Fix preloaded apps so that they have the complete environment [Pablo Carranza Velez]

v0.0.17 - 2015-09-29

  • Updated bases image to board-specific, and all node versions to 0.10.40-slim [Pablo Carranza Velez]
  • Allow changing RPi config.txt with environment variables [Pablo Carranza Velez]
  • Allow special env vars with a callback which don't cause an app restart [Pablo and Praneeth]
  • Remove unused config.supervisorContainer in config.coffee [Praneeth]
  • Implement and use golang endpoint for getting IPs of the device, also fixes duplicate IP reporting in the JS implementation [Praneeth]
  • Refactor bootstrapping to run in background [Pablo Carranza Velez]
  • Run preloaded app images [Pablo Carranza Velez]
  • Add API endpoints for device reboot and shutdown [Pablo Carranza Velez]
  • Add /restart endpoint to restart container [Pablo Carranza Velez]
  • Add additional mount point for the host dbus on host_run/dbus [Praneeth]
  • Switch to golang 1.5.1 for compiling [Praneeth]
  • Allow /purge to be called with appId as string or number [Pablo Carranza Velez]
  • Fetch containerId from DB within lock [Pablo Carranza Velez]
  • Change update cycle to map by appId [Pablo Carranza Velez]
  • Allow updates to be forced via an env var or an API call [Pablo Carranza Velez]
  • Use lockfile to lock updates per app [Pablo Carranza Velez]

v0.0.16 - 2015-09-07

  • Disabled the TCP ping whilst the VPN is connected. [Praneeth]
  • Added TCP ping enable/disable endpoints. [Praneeth]
  • Added initial go supervisor, using it to purge the /data directory of apps. [Pablo Carranza Velez]
  • Mounted /lib/firmware into the user container. [Pablo Carranza Velez]
  • Fixed spaces in env vars for web terminal. [Petros]
  • Added missing return when no app id specified. [Pablo Carranza Velez]
  • Try to populate the docker cache before building. [Pagan Gazzard]

v0.0.15 - 2015-07-23

  • Make resolv.conf writable from a user container. [Praneeth]
  • Updated pubnub (3.7.13 doesn't seem to have the heartbeat unnecessarily)
  • Fixed an issue where an image would not be cleaned up if it was tagged in multiple repos. [Pagan Gazzard]
  • Use JOBS=MAX for npm install. [Pagan Gazzard]
  • Updated pinejs-client so that valid ssl certificates are enforced by default. [Pagan Gazzard]
  • Write the registered_at time to config.json as well, in case there is a failure between writing to config.json and writing to knex [Pagan Gazzard]

v0.0.14 - 2015-05-12

  • Clean up tmp files left behind by npm [Pagan Gazzard]
  • Fix an error where mixpanel events would have the wrong uuid set on first provision. [Pagan Gazzard]
  • Update knexjs to ~0.8.3, which uses lodash 3 and means it will be deduplicated (reducing image size and runtime memory usage) [Pagan Gazzard]
  • Stop caching config.json, avoids a race that could cause getting stuck repeatedly trying to register [Pagan Gazzard]

v0.0.13 - 2015-05-05

  • Bind mount /etc/resolv.conf as ro for application containers and supervisor [Praneeth]

v0.0.12 - 2015-04-15

  • Stopped displaying an error message when trying to start a container that is already started.
  • Improved error messages reported to the user in the case of finding an empty string.
  • Switched to using the dockerode pull progress mechanism.
  • Fixed trying to delete supervisor container when it reports an alternate tag instead of the primary tag.
  • Switched to using the i386-node image as a base for the i386-supervisor
  • Fixed reporting error objects to mixpanel.