- commits: - subject: Update @types/supertest to v6 hash: e24691fa63c1f2b6f097e0bcb510bfc9da1eda7d body: | Update @types/supertest from 2.0.12 to 6.0.2 footer: Change-type: patch change-type: patch author: Self-hosted Renovate Bot nested: [] version: 16.2.22 title: "" date: 2024-04-19T12:25:19.313Z - commits: - subject: Remove unused `tmp` dependency hash: 12cc8eb91b52545d84a22e511ddd63ad4ac677ad body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 16.2.21 title: "" date: 2024-04-18T02:44:36.677Z - commits: - subject: Update rimraf hash: 5e5a803e26ac36a3085701c3c7055553be6d2fcb body: | Update @types/rimraf from 2.0.5 to 4.0.5 footer: Change-type: patch change-type: patch author: Self-hosted Renovate Bot nested: [] version: 16.2.20 title: "" date: 2024-04-17T15:39:15.721Z - commits: - subject: Update semver to v7.6.0 hash: 52268d83fa6d8fd364e765b4c0d11128040e9410 body: | Update semver from 7.5.4 to 7.6.0 footer: Change-type: patch change-type: patch author: Self-hosted Renovate Bot nested: [] version: 16.2.19 title: "" date: 2024-04-17T14:38:48.064Z - commits: - subject: Update event-stream to v3.3.5 hash: 36e0fed219b041fa9695dd97629f710d52d76129 body: | Update event-stream from 3.3.4 to 3.3.5 footer: Change-type: patch change-type: patch author: Self-hosted Renovate Bot nested: [] version: 16.2.18 title: "" date: 2024-04-15T21:29:50.342Z - commits: - subject: Add additional update lock tests for lockOverride & force hash: 57207c35398f147205fdc25d5010ec3fb51b132e body: "" footer: Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 16.2.17 title: "" date: 2024-04-15T20:57:03.828Z - commits: - subject: Update @types/chai-things to v0.0.38 hash: 28d583067193fd0bcdb56732faf659785389f248 body: | Update @types/chai-things from 0.0.35 to 0.0.38 footer: Change-type: patch change-type: patch author: Self-hosted Renovate Bot nested: [] version: 16.2.16 title: "" date: 2024-04-15T16:33:18.061Z - commits: - subject: Update webpack to v5.76.0 [SECURITY] hash: 6517d7fdbd6185c448846f7265c411fb0a2d899c body: | Update webpack from 5.74.0 to 5.76.0 footer: Change-type: patch change-type: patch author: Self-hosted Renovate Bot nested: [] version: 16.2.15 title: "" date: 2024-04-15T15:29:42.533Z - commits: - subject: Disable automerge for major npm devDependencies hash: dfff74d21c1c05b0e9a4560db807887b079a73dc body: "" footer: Change-type: patch change-type: patch Signed-off-by: Kyle Harding signed-off-by: Kyle Harding author: Kyle Harding nested: [] version: 16.2.14 title: "" date: 2024-04-15T14:19:35.895Z - commits: - subject: Update shell-quote to v1.7.3 [SECURITY] hash: 7398e53626f90d574ea5ce9b318e518fce8d0c19 body: | Update shell-quote from 1.7.2 to 1.7.3 footer: Change-type: patch change-type: patch author: Self-hosted Renovate Bot nested: [] version: 16.2.13 title: "" date: 2024-04-15T13:53:49.933Z - commits: - subject: Update express to v4.19.2 [SECURITY] hash: 9dfb0c576429290c42754e64f27e86bbde8e23bf body: | Update express from 4.17.1 to 4.19.2 footer: Change-type: patch change-type: patch author: Self-hosted Renovate Bot nested: [] version: 16.2.12 title: "" date: 2024-04-15T11:31:06.812Z - commits: - subject: Enable npm package management via Renovate hash: 23c2f6ddf10216ad47935ff8bf894274299b0ba2 body: | Settings are inherited from balena-io/renovate-config footer: Change-type: patch change-type: patch Signed-off-by: Kyle Harding signed-off-by: Kyle Harding author: Kyle Harding nested: [] version: 16.2.11 title: "" date: 2024-04-15T10:40:13.559Z - commits: - subject: Update balena-io/deploy-to-balena-action action to v2.0.58 hash: d7c14686cf22d9b82da1e3d7c8e52efb71da6ddc body: | Update balena-io/deploy-to-balena-action from 2.0.57 to 2.0.58 footer: Change-type: patch change-type: patch author: Self-hosted Renovate Bot nested: [] version: 16.2.10 title: "" date: 2024-04-15T03:02:03.903Z - commits: - subject: Don't follow symlinks when checking for lockfiles hash: 6e185fbd447bce46179f60a9e650a3a35937d990 body: | The Supervisor should only care whether a lockfile exists or not. This also fixes an edge case where a user symlinked a lockfile to a nonexistent file, causing the Supervisor to enter an error loop as it was not able to `stat` the nonexistent file. footer: Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 16.2.9 title: "" date: 2024-04-12T16:50:06.044Z - commits: - subject: Update balena-io/deploy-to-balena-action action to v2.0.57 hash: 97633816850f0d13d70cdfa2afb8bc9652e71fa2 body: | Update balena-io/deploy-to-balena-action from 2.0.55 to 2.0.57 footer: Change-type: patch change-type: patch author: Self-hosted Renovate Bot nested: [] version: 16.2.8 title: "" date: 2024-04-12T11:30:35.445Z - commits: - subject: Add memory usage healthcheck hash: f863075bdc5714baebcce8b73ddd95240fd04583 body: | This healthcheck fails when Supervisor memory usage is above a threshold based on initial memory measurements after device state has settled. footer: Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 16.2.7 title: "" date: 2024-04-12T01:49:06.409Z - commits: - subject: Update balena-io/deploy-to-balena-action action to v2.0.55 hash: 6864ab329aa9879a2d12aa19b2e70cadfff5fb49 body: | Update balena-io/deploy-to-balena-action from 2.0.54 to 2.0.55 footer: Change-type: patch change-type: patch author: Self-hosted Renovate Bot nested: [] version: 16.2.6 title: "" date: 2024-04-10T16:30:09.955Z - commits: - subject: Update balena-io/deploy-to-balena-action action to v2.0.54 hash: 30351e5f12dbc7f0f2ea3633ad3e63c458adec4a body: | Update balena-io/deploy-to-balena-action from 2.0.53 to 2.0.54 footer: Change-type: patch change-type: patch author: Self-hosted Renovate Bot nested: [] version: 16.2.5 title: "" date: 2024-04-09T18:43:49.721Z - commits: - subject: Update balena-io/deploy-to-balena-action action to v2.0.53 hash: 7d7391194876c5593733113ee23ff28d24eb3422 body: | Update balena-io/deploy-to-balena-action from 2.0.52 to 2.0.53 footer: Change-type: patch change-type: patch author: Self-hosted Renovate Bot nested: [] version: 16.2.4 title: "" date: 2024-04-09T17:32:28.461Z - commits: - subject: Update balena-io/deploy-to-balena-action action to v2.0.52 hash: 55de8ae4300a57776e9134218937fdf732a7f17a body: | Update balena-io/deploy-to-balena-action from 2.0.27 to 2.0.52 footer: Change-type: patch change-type: patch author: Self-hosted Renovate Bot nested: [] version: 16.2.3 title: "" date: 2024-04-09T16:30:46.790Z - commits: - subject: Inherit Renovate settings from balena-io hash: 58e05d0f63a9c789c4163a678b782cb56763250f body: "" footer: Change-type: patch change-type: patch Signed-off-by: Kyle Harding signed-off-by: Kyle Harding author: Kyle Harding nested: [] version: 16.2.2 title: "" date: 2024-04-08T14:36:45.050Z - commits: - subject: Fix some RegEx io-ts types hash: b7922e687567899c668474c3ee5e6f2e89f0989d body: > io-ts types that were generated using `shortStringWithRegex` were testing against `VAR_NAME_REGEX`, instead of the Regex that was specified when generating the type. This affected `DockerName` such that service names with a dash in the middle were returning as false when passed through the `DockerName.is` type guard, affecting how `getServicesLockedByAppId` was returning a map of locked services. footer: Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 16.2.1 title: "" date: 2024-04-06T08:22:13.914Z - commits: - subject: Take lock before updating service metadata hash: af6359f7ae2db4a656598947120bb46d5d3730de body: "" footer: Change-type: minor change-type: minor Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 16.2.0 title: "" date: 2024-04-05T02:35:13.875Z - commits: - subject: Add revpi-connect-4 to RPi variants We need the supervisor to be able to manage config.txt changes for the RevPi Connect 4. hash: b5dbef82d75a701cc2accb8f52e5865641e416fc body: "" footer: Change-type: patch change-type: patch Signed-off-by: Shreya Patel signed-off-by: Shreya Patel author: Shreya Patel nested: [] version: 16.1.10 title: "" date: 2024-03-28T16:51:48.764Z - commits: - subject: Log the full error on device state report failure as it is more useful hash: 20e57f7f168884ccbc048911be15cedc91334192 body: | The message can be an empty string or similarly unhelpful, therefore logging the entire error means that we will have whatever the message may be along with the stack trace and other info that will be helpful even when the message is not footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 16.1.9 title: "" date: 2024-03-25T18:36:42.735Z - commits: - subject: Set @balena/es-version to es2022 to match tsconfig.json hash: 6b0500cdbcd24b718460f35f6f9412ba6093389c body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 16.1.8 title: "" date: 2024-03-25T18:11:08.037Z - commits: - subject: Increase the timeout for auto select family to 5000ms to avoid issues hash: 5cd37e73acb63a3bd705aea8e5edb4d255cd1c37 body: | On slower networks the default of 250ms can cause problems as all attempts will fail rather than only the ones for interfaces that do not actually work correctly. Increasing this timeout to 5000ms will help to avoid these issues footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 16.1.7 title: "" date: 2024-03-25T15:25:23.860Z - commits: - subject: Pin iptables to 1.8.9 (legacy) hash: 3d881347e7d9721b00bcc41411996bd40b48d781 body: | With Alpine 3.19, iptables gets bumped to 1.8.10 which uses nftables. The host OS still uses iptables 1.8.7 (legacy), and we should use legacy as well until the OS uses nftables. footer: See: https://balena.zulipchat.com/#narrow/stream/345889-balena-io.2Fos/topic/iptables.20host.20vs.2E.20nftables.20Supervisor see: https://balena.zulipchat.com/#narrow/stream/345889-balena-io.2Fos/topic/iptables.20host.20vs.2E.20nftables.20Supervisor Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 16.1.6 title: "" date: 2024-03-18T21:37:24.676Z - commits: - subject: Update fatrw to v0.2.21 hash: 772702793c3ebf9bf3ac8119934436f2caa44bef body: | Update fatrw from 0.2.9 to 0.2.21 footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 16.1.5 title: "" date: 2024-03-12T13:33:05.116Z - commits: - subject: Update balena-register-device and its deps hash: 790f6b71e4c127a6c6078e3f3797992e78995d3b body: | This bumps the related dependencies - balena-register-device - balena-request - balena-auth footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 16.1.4 title: "" date: 2024-03-08T14:10:19.423Z - commits: - subject: Remove dependency on @balena/happy-eyeballs hash: 08727ed2b5f67c55b2469d3ee5c5e2857119521b body: > Node 20 now implements the happy eyeballs algorithm as part of its core `net` module, with the [autoSelectFamily](https://nodejs.org/docs/latest-v20.x/api/net.html#netgetdefaultautoselectfamily) option of `socket.connect`. This option defaults to `true`, meaning that a separate implementation of happy eyeballs is no longer needed. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Update Node to v20 hash: b77dba20462df90ca720dae3fcacb84628fd5069 body: | This updates the supervisor runtime to latest Node LTS version. There are no breaking changes related to this bump. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 16.1.3 title: "" date: 2024-03-07T16:10:24.150Z - commits: - subject: Update typescript to v5 hash: 6217546894e25c8216d305f231876fc888a6e407 body: | This also updates code to use the default import syntax instead of `import * as` when the imported module exposes a default. This is needed with the latest typescript version. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 16.1.2 title: "" date: 2024-03-06T14:06:45.274Z - commits: - subject: Update @balena/lint to v7 hash: 988a1c9e9a2317a66f2be0a1dbddb89f8084014f body: | This updates balena lint to the latest version to enable eslint support and unblock Typescript updates. This is a huge number of changes as the linting rules are much more strict now, requiring modifiying most files in the codebase. This commit also bumps the test dependency `rewire` as that was interfering with the update of balena-lint footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 16.1.1 title: "" date: 2024-03-04T18:16:11.250Z - commits: - subject: Add support for repeated overlays hash: bda1bac04c708ea0c35318604f926c035ff0883b body: > RPI firmware configuration allows repeating overlays to define configurations on multiple devices. For instance, for configuring multiple `ads` devices, `config.txt` needs to be setup this way ``` dtoverlay=ads1115,addr=0x48 dtoverlay=ads1115,addr=0x49 ``` Before this change, the supervisor would interpret both lines as belonging to the same overlay, preventing users from configuring multiple devices, and leading to a loop when trying to apply configurations with repeated overlays coming from the cloud side. footer: Change-type: minor change-type: minor author: Felipe Lalanne nested: [] version: 16.1.0 title: "" date: 2024-02-27T19:30:49.055Z - commits: - subject: Fix support for rsync deltas hash: 24e222045ac511cd4fbb3be66e57eb678a29d854 body: > Rsync (v2) deltas have been broken since [Supervisor v14](https://github.com/balena-os/balena-supervisor/commit/460c3ba0aab31d18a02e3f5dda1838691768c494). While considered legacy, they are still used by a few customers with devices running OS < 2.47.1. This should fix v2 delta support for those devices until we can completely remove rsync deltas from the supervisor footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 16.0.4 title: "" date: 2024-02-27T15:06:23.251Z - commits: - subject: Patch default dtparam handling in config.txt hash: 3fd035c5bdc88993af66c5f2bc3a6300c44f4ed4 body: | This commit completes the list of default / board-wide dtparams to include some `baudrate` and `vc` i2c params. footer: Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 16.0.3 title: "" date: 2024-02-21T21:03:18.619Z - commits: - subject: Patch config.txt backend to return array configs correctly hash: e22253ce6ebc40e865b5bc26844901026f04ec4e body: | Previously, getBootConfig() of the config.txt backend was omitting array configurations such as gpio settings, thus resulting in the SV mistakenly assuming that boot config had not been applied, since gpio would not be in current config.txt config but would be in target config. This resulted in SV entering an infinite loop of attempting to apply the gpio config when it wasn't necessary. footer: Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 16.0.2 title: "" date: 2024-02-17T02:44:51.708Z - commits: - subject: Update balena-io/deploy-to-balena-action to v2.0.27 hash: ac12d9a50c1569229ff97459b7306cd5f7f4faad body: Update balena-io/deploy-to-balena-action footer: Changelog-entry: Update balena-io/deploy-to-balena-action to v2.0.27 changelog-entry: Update balena-io/deploy-to-balena-action to v2.0.27 Change-type: patch change-type: patch author: Self-hosted Renovate Bot nested: [] version: 16.0.1 title: "" date: 2024-02-12T19:56:17.362Z - commits: - subject: Add special case for base DTO params on RPI config hash: 6e6a796da5ecc846248eae4c8495bc626964c038 body: > While ordering is important in the RPI firmware configuration file (config.txt), some dt params are by default considered part of the base dt overlay if they are not used by other overlays. Unfortunately the [list of dtparams](https://github.com/raspberrypi/firmware/blob/master/boot/overlays/README#L133) is too long to add all of them as exceptions, but we can add the params used in the default config.txt provided in OS images, to avoid reboots when updating to this new supervisor and correctly parsing the provisioning config.txt as variables. While this addition handles most common scenarios, there is still a chance a user may have use other base overlay dt params in the initial config, in which case those will be interpreted according to the relative ordering footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Fix processing of dtoverlay/dtparams on config.txt hash: 9546a1a3b1b919649dc401b63f0ff0dedad918b0 body: | DT overlays and DT params need to be consumed in the order that they appear on the file. DT params apply to the last dtoverlay defined on the file, or to the base overlay. This commit updates config.txt parsing to consider this ordering, and it also ensures global dtparams are written first so they cannot be overriden by later overlays. Because of the more strict parsing method, it is possible that existing HOST_CONFIG vars do not match the interpretation of the parser. If that's the case, the supervisor will re-apply the target state which will cause the device to reboot. footer: Change-type: major change-type: major author: Felipe Lalanne nested: [] version: 16.0.0 title: "" date: 2024-02-08T21:45:41.648Z - commits: - subject: Respect update strategies app-wide instead of at the service level hash: 3afcef296914840268356f7f98bc4bd8cce9427c body: > Fixes behavior for release updates which removes a service in current state and adds a new service in target state. footer: Change-type: patch change-type: patch Closes: "#2095" closes: "#2095" Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 15.3.1 title: "" date: 2024-02-01T19:31:12.515Z - commits: - subject: Pin docker version to v24 for tests hash: 0500fe10bb1c35b01a4a46713c98165685a93433 body: > Moby v25 adds the dynamically generated MAC address to the Config field, which breaks the state engine, preventing the state from settling as the current state never matches the target state (empty mac address). This seems to be a bug in Moby that we reported in moby/moby#47228 The issue won't affect Balena devices until balenaEngine is updated, and this change fixes testing for now. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Fix docker utils tests for docker v25 hash: 6ee606806d5bb7b1805baa67051eaa4d132e5a39 body: | From docker 25, the engine will validate IPAM config. This would cause the docker utils test to fail since the network/subnet configuration was incorrect. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Enable nodemon when using test:env hash: 23fae633ca2351b37befbf1870e8749c7b03d906 body: | This avoids the need to rebuild the environment when making code changes and running integration tests footer: Change-type: minor change-type: minor author: Felipe Lalanne nested: [] - subject: Improve test:compose and test:env commands hash: 2f3e3d2e610160b7111024b597df6f2f6844ce9a body: | The commands now use docker-compose run instead of docker compose up for simplicity and also to match what flowzone does. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Add prettierrc for editor compatibility hash: e2f54e29faba4f74a59971fd66d64b7c38e9eb0f body: | The tsserver lsp doesn't seem to work well with .editorconfig. Using prettierrc will allow formatting to work correctly with editor plugins This also updates editorconfig to work well with json footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 15.3.0 title: "" date: 2024-01-26T14:51:00.446Z - commits: - subject: Try MDNS lookup only if regular DNS lookup fails hash: dec39a35d40532a82ac2f2bbcaa2c179b67d3d4a body: > This is meant to allow users to configure their device to resolve `.local` queries via dnsmasq by modifying config.json, e.g. `dnsServers": "/bob.local/172.17.0.33`. This would fail before as MDNS lookups would always come first footer: Change-type: minor change-type: minor author: Felipe Lalanne nested: [] - subject: Refactor mdns lookup code in app entry hash: 7a39da92b7bb1537a6df3dec6ad665d35e891bcc body: "" footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 15.2.0 title: "" date: 2024-01-08T13:25:37.100Z - commits: - subject: "docs: api: start-service: specify this endpoint affects the device" hash: 096fdbc74ab4ca9a58603eec5774435ff07bedb1 body: | The description incorrectly states the endpoint would start a service in the whole fleet while it only affects the device. footer: Change-type: patch change-type: patch Signed-off-by: Alex Gonzalez signed-off-by: Alex Gonzalez author: Alex Gonzalez nested: [] version: 15.1.1 title: "" date: 2024-01-02T18:35:24.583Z - commits: - subject: Force remove container if updateMetadata fails hash: 3ea8d4727a4f4b068b308d1f407b7cf0dae2733b body: | The `updateMetadata` step renames the container to match the target release when the service doesn't change between releases. We have seen this step fail because of an engine bug that seems to relate to the engine keeping stale references after container restarts. The only way around this issue is to remove the old container and create it again. This implements that workaround during the updateMetadata step to deal with that issue. footer: Change-type: minor change-type: minor Relates-to: balena-os/balena-engine#261 relates-to: balena-os/balena-engine#261 author: Felipe Lalanne nested: [] version: 15.1.0 title: "" date: 2023-11-22T20:12:13.595Z - commits: - subject: Only build sqlite3 from source hash: d18292f68e09d5846eb0fa254d5205f07052dea8 body: "" footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Update @balena/systemd to 0.5.0 hash: 7981e6becd6b6d7e5317979277ab02eb7a24840a body: "" footer: Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 15.0.4 title: "" date: 2023-11-22T17:10:54.919Z - commits: - subject: Cache last reported current state to /mnt/root/tmp hash: eb8ad11cd702e7d5ffba499c6b2d2fcadc030dd4 body: > Whenever the Supervisor reports current state, it diffs the current state with its last reported current state. However, when the Supervisor starts up, there is no last reported state, since that last report is stored in process memory. Caching the last report in a location that survives Supervisor restarts will reduce the current report bandwidth used on startup. footer: Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 15.0.3 title: "" date: 2023-11-22T00:32:48.806Z - commits: - subject: Set applyInProgress to true while applying intermediate state hash: a993b3e7af9637ac4573786aa7d31eb7a16a4dbd body: | Intermediate state is utilized when executing device actions such as a volume purge. It's a type of state apply, but despite that, applyInProgress is not true. footer: Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 15.0.2 title: "" date: 2023-11-01T22:16:57.319Z - commits: - subject: Expose ports from port mappings on services hash: 9bd216327fda4526cd60ccf98178960242383769 body: | PR #2217 removed the expose configuration but also caused a regresion where ports set via the `ports` configuration would no longer get exposed to the host, despite portmappings being set. This fixes that issue by exposing only those ports comming from port mappings. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 15.0.1 title: "" date: 2023-10-25T13:04:05.171Z - commits: - subject: Ignore `expose` service compose configuration hash: 416170bc05a9a725f5a7f8ecbab4f8b1c8da5ddf body: > The docker EXPOSE directive and corresponding docker-compose `expose` service configuration serves as documentation/metadata that a container listens on a certain port that may be used for service discovery but it doesn't have any real impact on the ability for other containers on the same network to access the exposed service via the port. In newer engine implementations, this property may conflict with other network configurations, and prevent the container from being started by the docker engine (see #2211). This PR removes code that would manage the expose property and takes the property out of the whitelist. A composition with the `expose` property will result in the log message `Ignoring unsupported or unknown compose fields: expose`. While this change should not have operational impact, it still removes a previously supported configuration and as such there is a chance of it being a breaking change for some applications. For this reason it is being published as a new major version. footer: Change-type: major change-type: major Closes: "#2211" closes: "#2211" author: Felipe Lalanne nested: [] version: 15.0.0 title: "" date: 2023-10-23T17:31:08.436Z - commits: - subject: Add note regading API jitter on target state poll hash: b107868765563e26ec04746f84d1bc15dd211723 body: "" footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.13.14 title: "" date: 2023-10-23T13:34:41.452Z - commits: - subject: Switch some _.includes usage to native versions hash: e15205301c345398873097b07869c191d1f09d08 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] - subject: Switch _.assign usage to native versions hash: a4a9a17c1aba1a7611b000b2b440600331349a07 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] - subject: Switch _.isNaN usage to native versions hash: d0cb54537f74c19f5262a6b1515e13cfb476dfd3 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] - subject: Switch _.isFunction usage to native versions hash: c9f032e13ad0f2b31b8316c8334f2175f3af4014 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] - subject: Switch _.isUndefined usage to native versions hash: 3bfdc4454e90732f17e8adaaadfe60c21a8f3748 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] - subject: Switch _.isNull usage to native versions hash: 8e23091aa9c997dbcbce8faacd34c275239a746e body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] - subject: Switch _.isNumber usage to native versions hash: ca3faebfc9ade3b720380b5f002a747ba4817b92 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] - subject: Switch _.isArray usage to native versions hash: 20df54668ce12790320ec78cbc8044a4065f6a16 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] - subject: Switch _.isString usage to native versions hash: 3fe8a22fb0158bf456bf3eba1b0a0b27ce004c8a body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 14.13.13 title: "" date: 2023-10-16T21:43:19.070Z - commits: - subject: Revert "Do not expose ports from image if service network mode" hash: 3e828dcc5262528639a7a039d62855d9607d1779 body: | This reverts commit 0c7bad779291e15e419166a2c66c2a21dd06aa83, as that change causes a service restart loop. The supervisor cannot distinguish between ports exposed via the `EXPOSE` directive and the docker-compose `expose` property. Because of this, in the case of `network-mode: service:<...>` the current state and target state never match, leading to a service restart loop. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.13.12 title: "" date: 2023-10-16T16:59:13.864Z - commits: - subject: Fix husky config for automatic linting on commit hash: 23d5311a515755ba3171fc5d26dc4c6486eff9a2 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 14.13.11 title: "" date: 2023-10-16T15:43:25.738Z - commits: - subject: Convert multiple bluebird uses to native promises hash: 766cce89c772440d86472ff0a0a0efd884261188 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 14.13.10 title: "" date: 2023-10-16T13:50:17.934Z - commits: - subject: Do not expose ports from image if service network mode hash: 0c7bad779291e15e419166a2c66c2a21dd06aa83 body: | The supervisor exposes ports configured using the `EXPOSE` directive in the dockerfile when configuring the container for runtime. This can cause issues if using `network_mode: service:` as the expose configuration is not compatible with that network mode. This fix now skips image exposed ports for that particular network mode. footer: Change-type: patch change-type: patch Relates-to: "#2211" relates-to: "#2211" author: Felipe Lalanne nested: [] version: 14.13.9 title: "" date: 2023-10-16T02:14:30.242Z - commits: - subject: Move mdns-resolver to devDependencies hash: eb485cfde4a0a2adcbe00a1e107156e0711c1c67 body: "" footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Move got to devDependencies hash: c3832cf06157eb93777a4d2c996ff8ac5dd308f9 body: "" footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Move semver to dev-dependencies hash: dcef2ec78b8556a22c076fd7550e93394b8690b0 body: "" footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Move happy-eyeballs to dev-dependencies hash: 50d2d59cd149475c9778bb8860b9988b1efe1e1a body: | This allows it to be tree-shaken footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Move systeminformation to devDependencies hash: a67a5a0f8f06856645bc54fd8c79ddc8950e75cb body: | devDependencies are tree-shaked, while dependencies are stored in the image. We reserve dependencies just for those that contain binary bindings footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.13.8 title: "" date: 2023-10-12T19:28:38.969Z - commits: - subject: Use mutation for adding service/image ids to logs to reduce allocations hash: 3d73bf3e915e9a33e7d9dbb2635d8a626df51ab3 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] - subject: Keep the container lock for the entire duration of attaching logs hash: d685ccacb245f0f0e4e2c8cd04d5c202da0d551b body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] - subject: Remove unnecessary async on handling journald stderr entries hash: 74d374b5ad974d8baf004d7378d151d226ff06a6 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] - subject: Avoid unnecessary work in systemd log row handling for invalid logs hash: e3806ec018bd7d29bec15074a5c09494fe5e9d6b body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 14.13.7 title: "" date: 2023-10-12T01:34:01.769Z - commits: - subject: Remove unused docker logs logging code hash: 894bdeeeb66ff997c7e16157d932024ece5bea09 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 14.13.6 title: "" date: 2023-10-11T14:12:02.642Z - commits: - subject: Revert os-release path to /mnt/root hash: bc1d251e66b863abbd7829fecc4b618fca71d2c3 body: > /mnt/boot/os-release isn't always accurate so /mnt/root should be the source of truth. footer: Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 14.13.5 title: "" date: 2023-10-10T18:54:18.074Z - commits: - subject: Add tmpfs for /mnt/root/tmp in test env hash: 5564a51acf4897c7981808d8bdd28e1c016caca1 body: | This is to prevent the target state cache from getting written to host during tests. footer: Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 14.13.4 title: "" date: 2023-10-02T21:38:10.350Z - commits: - subject: Use `~=` to specify alpine package versions hash: 4a4a8a59bfd664e9683f60d4681a0c6583c68dd1 body: | Alpine allows the `~=` syntax to match a part of the package version when installing. In this case we want to use it to specify node and npm major versions footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.13.3 title: "" date: 2023-10-02T14:22:18.491Z - commits: - subject: Use native structuredClone instead of _.cloneDeep hash: 06d4775178af40264d0dfe476ee11815235fc52e body: > Memory tests have shown performance improvements to using the native method. footer: Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 14.13.2 title: "" date: 2023-09-30T00:37:03.496Z - commits: - subject: Update balena-io/deploy-to-balena-action to v1.0.3 hash: aa07a160e9fb7b94576b428064ff61b6de193170 body: Update balena-io/deploy-to-balena-action footer: Changelog-entry: Update balena-io/deploy-to-balena-action to v1.0.3 changelog-entry: Update balena-io/deploy-to-balena-action to v1.0.3 Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Self-hosted Renovate Bot nested: [] version: 14.13.1 title: "" date: 2023-09-28T20:17:05.922Z - commits: - subject: Update runtime-base image to alpine:3.18 hash: 3766013cbdbb8864abf2f353332b27713c357818 body: | We were still on 3.16, where the nodejs package was pointed at Node 16. 3.18 moves the pointer to Node 18. footer: Change-type: minor change-type: minor Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 14.13.0 title: "" date: 2023-09-28T18:13:11.954Z - commits: - subject: Dump target-state to hostOS tmp dir hash: ab513cc021d90b1337bd79b58e6bb9e0c91e11d0 body: | This change is mainly for the hostOS to know if update locks should be ignored when updating to a newer version. footer: Change-type: patch change-type: patch Signed-off-by: jaomaloy signed-off-by: jaomaloy author: jaomaloy nested: [] version: 14.12.2 title: "" date: 2023-09-15T01:57:40.718Z - commits: - subject: Bump sqlite3 to 5.1.6 hash: 99962dc94f2356008c063ede08a2a71b4ef21630 body: "" footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Bump knex to v2.5.1 hash: 06e258ecad2e91f40c2b1602a59b0120bc5639c3 body: "" footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.12.1 title: "" date: 2023-08-21T16:17:32.755Z - commits: - subject: Update README hash: c88d557aafc3088e4048a8cd9b9fc5fea8a45e01 body: | Add the new dependency on RUST, reorganize the documentation footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Replace node-dbus with @balena/systemd hash: 327dc31ef02caa365e5a0c03597ba18d121c32a3 body: | The node-dbus module is unmaintained and a blocker for the update to Node 18. Switching to our own node bindings for systemd solves this issue footer: Relates-to: Shouqun/node-dbus#241 relates-to: Shouqun/node-dbus#241 Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Replace dbus test service with mock-systemd-bus hash: 8f17c30de68f62477a52dd16a268e1d003c666ea body: | This avoids unnecessary mocking and tests against the real systemd API footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Update to nodejs 18 hash: 2da691bcd5dd5ee8d8ee9460d93c895b73b4e2f4 body: "" footer: Change-type: minor change-type: minor author: Pagan Gazzard nested: [] version: 14.12.0 title: "" date: 2023-08-17T00:38:30.372Z - commits: - subject: Update balena-io/deploy-to-balena-action to v0.28.0 hash: 4f54395be2cbbb7bcd1d0c1a9acef3b707f34691 body: Update balena-io/deploy-to-balena-action footer: Changelog-entry: Update balena-io/deploy-to-balena-action to v0.28.0 changelog-entry: Update balena-io/deploy-to-balena-action to v0.28.0 Change-type: patch change-type: patch author: Self-hosted Renovate Bot nested: [] version: 14.11.14 title: "" date: 2023-08-14T23:47:06.985Z - commits: - subject: "patch: Remove reference of override_lock variable" hash: 7560c70a085d27d8b44eb0dab8b3fa40ab0c9e94 body: This is being done to keep the source of truth for this variable in one place and reduce confusion since it's better for dashboard users to reference the dashboard option rather than the actual variable name footer: {} author: Vipul Gupta nested: [] version: 14.11.13 title: "" date: 2023-08-10T16:51:23.863Z - commits: - subject: "mount-partitions: do not hardcode partition types" hash: cc2ca84448e2a3894294c39b8078c050c0237b87 body: | Query instead the device for its filesystem type before mounting. footer: Change-type: patch change-type: patch Signed-off-by: Alex Gonzalez signed-off-by: Alex Gonzalez author: Alex Gonzalez nested: [] version: 14.11.12 title: "" date: 2023-07-19T07:55:53.054Z - commits: - subject: "backends: Add Jetson Orin NANO custom device-tree support" hash: 512240c54490ccd0cb83c13f0c6e8cae43fe9a88 body: "" footer: Signed-off-by: Alexandru Costache signed-off-by: Alexandru Costache Change-type: patch change-type: patch author: Alexandru Costache nested: [] version: 14.11.11 title: "" date: 2023-07-12T08:35:23.009Z - commits: - subject: Add revpi-connect-s to Raspberry Pi variants hash: 8d2b310af840d86ed9b96ac5bb4c5bc74e52e7ff body: | We need the supervisor to be able to manage config.txt changes for the Revolution Pi Connect S. footer: Change-type: patch change-type: patch Signed-off-by: Florin Sarbu signed-off-by: Florin Sarbu author: Florin Sarbu nested: [] version: 14.11.10 title: "" date: 2023-07-05T19:00:39.117Z - commits: - subject: Remove the 'Stopped' status for services hash: 38fe8dae75cd05bf313626b968e208dcfb6f307c body: > It's not an official status from container inspects, and the Supervisor doesn't set it internally anywhere. It's better to remove it entirely as the method by which Supervisor sets internal service statuses is by using a global event emitter (reportNewStatus) which makes things difficult to test. footer: Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 14.11.9 title: "" date: 2023-06-28T21:01:03.352Z - commits: - subject: Parse container exit error message instead of status hash: 71d24d6e3366b28e1466e99322d58420b5ebbb67 body: > The previous implementation in #2170 of parsing the container status was too general, because it relied on the mistaken assumption that a container would have a status of `Stopped` if it was manually stopped. This turned out to be untrue, as manually stopped containers were also getting restarted by the Supervisor due to their inspect status of `exited`. With this, parsing the exit message became unavoidable as there are no other clear ways to discern a container that has been manually stopped and shouldn't be started from a container experiencing the Engine-host race condition issue (again, see #2170). Since we're just parsing the exit error message, we don't need to worry about different behaviors amongst restart policies, as any container with the error message on exit should be started. footer: Change-type: patch change-type: patch Closes: "#2178" closes: "#2178" Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina W nested: [] version: 14.11.8 title: "" date: 2023-06-23T18:46:22.881Z - commits: - subject: Fix /v2/applications/state endpoint hash: 12eac04484e3c0a347b6f31783ed7973991046fa body: | It was returning stale information, particularly the download progress of the target release images never got updated. footer: Change-type: patch change-type: patch Closes: "#2174" closes: "#2174" author: Felipe Lalanne nested: [] version: 14.11.7 title: "" date: 2023-06-19T21:54:56.093Z - commits: - subject: Add fail-safe to test the image architecture hash: 1cf325d5c55bfb9d2ebb4cde7b9c448a6cfb2067 body: | Verify that the target image architecture matches what is expected according to the balena app architecture. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Use multi-arch in dockerfile hash: c1b157971d5fe15f9b85cdc6f0eed90b8d2eb22f body: > This is necessary since the builder no longer passes the platform flag to the build. This would lead to dockerfiles that are mixing multi and single arch stages to pull the wrong architecture images, particularly when trying to build images in emulated builds (e.g. armv7hf built on aarch64). Moving the full build to multi-arch solves this as the docker engine is capable of chosing the right architecture from the manifest. footer: Relatest-to: balena-io/balena-builder#1010 relatest-to: balena-io/balena-builder#1010 Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.11.6 title: "" date: 2023-06-19T20:53:34.395Z - commits: - subject: Improve tests surrounding Engine-host race patch hash: 7eba48f8b832ec16465565f210e659a9f822e5b3 body: "" footer: See: "#2170" see: "#2170" Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 14.11.5 title: "" date: 2023-06-19T19:01:19.323Z - commits: - subject: Specify fs type when mounting partitions to prevent "Can't open blockdev" warnings hash: e6662f664c15a16e4f36fa128510c5367b20a09f body: "" footer: Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 14.11.4 title: "" date: 2023-06-19T07:56:33.558Z - commits: - subject: Update balena-io/deploy-to-balena-action to v0.27.0 hash: 1675c16622d861ce6e6e445400b5440a447688f7 body: | Update balena-io/deploy-to-balena-action footer: Change-type: patch change-type: patch Changelog-entry: Update balena-io/deploy-to-balena-action to v0.27.0 changelog-entry: Update balena-io/deploy-to-balena-action to v0.27.0 author: Self-hosted Renovate Bot nested: [] version: 14.11.3 title: "" date: 2023-06-15T19:49:42.493Z - commits: - subject: Handle Engine-host race condition for "always" and "unless-stopped" restart policy hash: 7f3214195838a8bf3242ef7540b4487338687e4c body: > There exists a race condition between Engine and a host resource that may not be immediately created. In this race condition, if a container's compose config depends on the existence of that host resource, such as a network interface, and the Engine tries to create & start the container before the host resource is created, the Engine will not reattempt to start the container, regardless of the restart policy. This is undesireable behavior but seems to be the behavior as implemented by Docker. To rectify this, the Supervisor state funnel noops for a grace period of 1 minute after starting a container to see that the container's status has become 'running`. If the container exits because of the race condition, the status becomes 'exited' and the Supervisor will attempt to generate another start step. This noop-wait-start step loop will repeat until the container is able to start. If the container is never able to start, there was a problem in the host in the creation of the host resource, and that should be fixed at the host level. This commit does not handle the case of services with restart policies "no" or "on-failure" which encounter this host race, as metadata from container inspects needs to be introduced during step calculation in order to figure out whether services with those restart policies need to be started. This will be fixed in a future PR. footer: Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 14.11.2 title: "" date: 2023-06-05T18:53:18.287Z - commits: - subject: Fix `sw.arch` typo when testing contracts hash: 2758e190b28ea07d5b40daaa9e59434f2bfc28e9 body: "" footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.11.1 title: "" date: 2023-05-11T22:07:32.863Z - commits: - subject: Add `arch.sw` to the valid container requirements hash: 8656bd62f705624a5cb02a0b0677888b21dd4627 body: "" footer: Change-type: minor change-type: minor author: Felipe Lalanne nested: [] - subject: Allow using slug to validate hw.device-type contract hash: f1f09e0e27b1b538d0ca806cd1bb167303d65779 body: | This also adds the hw.device-type test case to the unit tests. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Simplify and move lib/contract.spec.ts to tests/unit hash: a884a58b4cdbc9e06be01929138b4973e5e8ffd9 body: | Improve contract tests to remove dependence on stubs and unnecessary system calls. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.11.0 title: "" date: 2023-05-10T12:39:14.767Z - commits: - subject: Add information about hdmi port 2 config vars hash: d5cc8238cbe7218d318cf1ce0375ab649a4495c6 body: | Support for colon characters was added v14.6.0 which enabled configurations for HDMI port 2 (e.g on the RPi 4). These configurations are not documented anywhere else so this allows users to be able to better find the relevant information for working with HDMI. footer: Change-type: patch change-type: patch Relates-to: "#2090" relates-to: "#2090" author: Felipe Lalanne nested: [] - subject: Update table formatting on configurations.md hash: ba39cf539ef381f6cb80f81408f8e4571fd61179 body: | For better readability on text editor footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.10.11 title: "" date: 2023-05-08T20:35:26.833Z - commits: - subject: "mount-partitions.sh: Add support for encrypted partitions" hash: 004592894474676e3d024e5636b9fccce9f173f9 body: | After a recent change enforcing all the partitions to be on the same block device, encrypted partitions are no longer being detected correctly. This is because the assumption that the parent block device is a substring of the actually mounted block device does not work for LUKS devices - the mount will either be /dev/mapper/luks-XXX or /dev/dm-X while the parent device is still e.g. /dev/sda. The usual balenaOS boot partition is also split in two - boot and efi. The boot partition (mounted under /mnt/boot) is encrypted and the efi partition (mounted under /mnt/efi) is not. This patch generalizes the detection of the parent device so that it works with both encrypted and unencrypted partitions. footer: Change-type: patch change-type: patch Signed-off-by: Michal Toman signed-off-by: Michal Toman author: Michal Toman nested: [] version: 14.10.10 title: "" date: 2023-05-03T16:01:37.089Z - commits: - subject: Run test supervisor under a different service name hash: 33b29cfa225959dd0a58564128017e04d019ea5f body: | The docker compose V2 spec no longer accepts `network_mode: bridge`, which means we can no longer override the network configuration of the `balena-supervisor` service for tests. For this reason we now create a separate service to run the built supervisor `balena-supervisor-sut` and run API tests against this service instead of the default `balena-supervisor`. footer: Change-type: patch change-type: patch author: Kyle Harding nested: [] version: 14.10.9 title: "" date: 2023-05-03T14:26:36.360Z - commits: - subject: Fix service comparison when creating component steps hash: 5fdd689590d048685cc11e32a14ccf7faf3887ee body: | A bug in service comparison would make it that a device already running a service from a new release with network changes would never stop the running service so remaining services would forever get stuck in `Downloaded` state. This fixes the comparison so the service will get killed in this case, particularly allowing devices to recover from #1576 footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: "Create tests with recovery from #1576" hash: 7b8b187c749c3390243b2246ba20d60ccc40db1f body: | Devices affected by the bug described in 1576, are also stuck with some services in the `Downloaded` state, because the state engine does not detect that the running services should be killed on a network change even if they belong to a new release. This is a bug, which can be replicated by the tests in this commit footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Skip updateMetadata step if there are network changes hash: 7aecaae8b02832afca3d52d233ecf5eaa8fa9ab8 body: | Previous behavior would make it that an `updateMetadata` step would take precedence over a `kill` step when network changes are present. This would lead to an inconsistent state if an update included a network and a container change. footer: Closes: "#1576" closes: "#1576" Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Add replication of issue using unit tests hash: 0a358a4463717b53c3619432781a0ab568fb74c1 body: "" footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Add integration tests for state-engine hash: 138aec5de418c7673285303d66d35b8cea43e4a8 body: | These tests use the supervisor API to check that applying a target state allows the device to eventually get to the desired target configuration. This are high-level tests that work with real images and containers using dind. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Do not pass auth to images with no registry hash: c1207cbbff836f99fadb33dd5cf65baa2da0ecf8 body: | The supervisor allows the target image to be an image without a registry (e.g. `alpine:latest`), while this really only happens while in local mode, we don't want to pass credentials to the default registry as those credentials are meant for balena registry and will otherwise fail. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.10.8 title: "" date: 2023-04-26T18:49:41.754Z - commits: - subject: Remove safeStateClone function hash: 6c031299d686cca9bb89f950b105ab5bf62fae97 body: | This function is no longer needed with the latest changes to getCurrentState footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Get rid of targetVolatile in app manager hash: 36311ef7a1b9192879c4951fb7e4521ef3c4840b body: | Target volatile doesn't make sense now that we can use the current state as a target. It wasn't actually being used for anything anymore apparently footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Make pausingApply a private member of device-state hash: 1e0dd381f54efd31119454db592d5c047d829681 body: | This simplifies this module interface and hides implementation details from the rest of the code. The function `applyIntermediateTarget` will now call `pausingApply` before applying the target API actions no longer need to call pausing apply footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Simplify doRestart and doPurge actions hash: 3d43f7e3b367636f01ac9b6388c933bab5c896e5 body: | The actions now work by passing an intermediate state to the state engine. - doPurge first removes the user app from the target state and passes that to the state engine for purging. Since intermediate state doesn't remove images, this will have the effect of basically re-installing the app. - doRestart modifies the target state by first removing only the services from the current state but keeping volumes and networks. This has the same effect as before where services were stopped one by one footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Fix network appUuid inference in local mode hash: 43630e52674e82bf32792e2d15db35a9af332865 body: | Local mode uses a numeric `appUuid` which was messing up parsing the network name. This fixes this issue so the current state can be used as a target state footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Get image name from DB when getting the app current state hash: b1fc4e1761e02edc84c1be344a91ef29e771aa28 body: | The Service class in `compose/service.ts` cannot get the image name from the image id when building the object from the container metadata. We query the metadata in the application manager getCurrentApps method so the current state can be used as target by API methods footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Improve net alias comparison to prevent unwanted restarts hash: 27f0d2e655a5c11c89103847c485fa06babc1954 body: | Network aliases are now compared checking that the target state is a subset of the current state. This will prevent service restarts due to additional aliases created by docker in the container. footer: Closes: "#2134" closes: "#2134" Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Exclude containerId from service network aliases hash: cb98133717b1c4c8f9e46c95ec7df996deae60e6 body: | When getting the service from the docker container, remove the containerId from the list of aliases (which gets added by docker). This will make it easier to use the current service state as a target. This will help us remove the `safeStateClone` function in the API in a future commit footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Skip image delete when applying intermediate state hash: f2ca7dbb6ae465f361fc05fb42dc5ff7cfc8de4c body: > This replaces the previous flag `isApplyingIntermediate` on application manager and simplifies the interface of the state engine to make temporary changes to the general app state. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Make local mode image management work as in cloud mode hash: 967cb7747f187f70500f6393360df10b40fddebf body: | There were multiple places in the state engine that skipped some operations while in local mode. In reality, all it's needed while in local mode is to skip image and volume deletion. This commit simplifies application-manager and compose app to be more local mode agnostic and instead making the image deletion and volume deletion configurable via function arguments. This also has the benefit to make the treatment of local mode applications more similar to cloud mode applications, allowing for API endpoints to function the same way both modes. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Remove ignoreImages argument from getRequiredSteps hash: 76d5be64e56c63c01474cee2ead43d02470c1389 body: | The argument was unused and hence unnecesary. This is just a bit of cleanup footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.10.7 title: "" date: 2023-04-21T23:04:18.417Z - commits: - subject: Do not restart balena-hostname on rename hash: 7b68ee4c4f03f464c762afc0b3da06e3f4620440 body: | The OS since v2.82.6 will monitor changes to config.json and restart the relevant services to apply the changes. There is no need to trigger restart of the services via the supervisor. Users on older OS versions will need to update their OS or restart the services manually as OS loses support after 2y. footer: Change-type: patch change-type: patch Closes: "#2160" closes: "#2160" author: Felipe Lalanne nested: [] version: 14.10.6 title: "" date: 2023-04-20T18:25:01.001Z - commits: - subject: Remove anonymous build volume from Dockerfile hash: a3675651898f050eaefce0a9c4e02890ddc57b57 body: | We don't need this anonymous volume as /data is bind mounted into the container from host (legacy), and will soon be mounted by the Supervisor itself on startup. footer: Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 14.10.5 title: "" date: 2023-04-13T21:01:21.133Z - commits: - subject: Log uncaught promise exceptions on the app entry hash: 676464142690da2e36a810cb35e4ea4d0d751636 body: > Node 15 [changed the way it treats unhandled promise rejections](https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V15.md#throw-on-unhandled-rejections---33021) from a warning to a throw. For this reason errors like a corrupt migration directory, that happens when trying to roll back to a previous supervisor version were no longer showing a message but dumping the full minimized code into the journal logs. This PR adds a catchall on app.ts to log the exception and throw an exit code of 1. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.10.4 title: "" date: 2023-04-10T18:15:41.878Z - commits: - subject: Fix assertion error in restart-service hash: b9e1464d96824f5332c71324d753d94ddbdecf90 body: > From: https://github.com/balena-os/balena-supervisor/pull/2153/commits/c0b4fafe842115933b1da9b4d68e601a19c3e4eb Restart-service checks that both services have restarted in its test assertion, which is incorrect as restart-service should only restart one service. footer: Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 14.10.3 title: "" date: 2023-04-10T15:17:58.539Z - commits: - subject: "backends: Add Jetson Orin NX custom device-tree support" hash: 6b67db98e54cd7756d7e31d9676d31ab305c4d56 body: "" footer: Signed-off-by: Alexandru Costache signed-off-by: Alexandru Costache Change-type: patch change-type: patch author: Alexandru Costache nested: [] version: 14.10.2 title: "" date: 2023-04-07T18:35:17.559Z - commits: - subject: Use dbus-send to get current boot block device instead of fdisk hash: 4ab8250c971e2f05d9dbf5870f9feb8dd298bdda body: "" footer: Closes: "#2150" closes: "#2150" Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 14.10.1 title: "" date: 2023-04-07T00:15:59.534Z - commits: - subject: Mount boot partition into container on Supervisor start hash: 49ee1042a87ce0b101054e32b84afaa324a371de body: > As the Supervisor is a privileged container, it has access to host /dev, and therefore has access to boot, data, and state balenaOS partitions. This commit sets up the framework for the following: - Finds the /dev partition that corresponds to each partition based on partition label - Mounts the partitions into set mountpoints in the device - Removes reliance on env vars and mountpoints provided by host's start-balena-supervisor script - Simplifies host path querying by centralizing these queries through methods in lib/host-utils.ts This particular changes env vars for and mounts the boot partition. Since the Supervisor would no longer rely on container `run` arguments provided by a host script, this change moves Supervisor closer to being able to start itself (Supervisor-as-an-app). footer: Change-type: minor change-type: minor Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 14.10.0 title: "" date: 2023-03-28T19:13:49.886Z - commits: - subject: Revert "Use multi-arch in dockerfile" hash: 75eeac5ed4b7ec076482c0cace2d2cfca8b6b2d4 body: | This reverts commit 00e389e5f559dd10e49cfa411784b89498c3c0eb. Images generated using this dockerfile still don't have the right architecture. More testing is needed footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.9.8 title: "" date: 2023-03-27T08:05:44.148Z - commits: - subject: Add missing log backend field assignment in logger init hash: 37371d89dcea3e1d713b9bb806fc6866cdd5ae9f body: "" footer: Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 14.9.7 title: "" date: 2023-03-23T21:40:32.099Z - commits: - subject: Update deploy-to-balena action to 0.26.2 hash: 7cde98d7f7fb6a476dd14bbec5df7d45a1bfd3e8 body: "" footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Use multi-arch in dockerfile hash: 00e389e5f559dd10e49cfa411784b89498c3c0eb body: > This is necessary since the builder no longer passes the platform flag to the build. This would lead to dockerfiles that are mixing multi and single arch stages to pull the wrong architecture images, particularly when trying to build images in emulated builds (e.g. armv7hf built on aarch64). Moving the full build to multi-arch solves this as the docker engine is capable of chosing the right architecture from the manifest. footer: Relatest-to: balena-io/balena-builder#1010 relatest-to: balena-io/balena-builder#1010 Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.9.6 title: "" date: 2023-03-23T20:18:31.098Z - commits: - subject: Use log endpoint subdomain if it exists in config.json hash: 36e46d80a6f147b95664ac052fd01cd438388555 body: "" footer: See: https://github.com/balena-io/open-balena-api/pull/1288 see: https://github.com/balena-io/open-balena-api/pull/1288 Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 14.9.5 title: "" date: 2023-03-20T19:21:47.709Z - commits: - subject: Skip pin device step if release was deleted hash: f6435814cd86380dd3b02416f6f2199b483bb33c body: | Preloaded devices can require that the device is pinned to the preloaded release on provisioning. However if the provisioned release gets released in the future, that would lead to the device remaining in "VPN only" state forever as the provisioning process could not finish due to pinning failure. This commit changes the behavior so if the release does not exist, the pinning step is skipped and the device follows the fleet pinning state. footer: Closes: "#2133" closes: "#2133" Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.9.4 title: "" date: 2023-03-13T20:49:30.509Z - commits: - subject: Use single-arch in dockerfile hash: 17aa625d3b115103efa30bb98b83ee1fc54230c4 body: > This is necessary since the builder no longer passes the platform flag to the build. This would lead to dockerfiles that are mixing multi and single arch stages to pull the wrong architecture images, particularly when trying to build images in emulated builds (e.g. armv7hf built on aarch64). Moving the full build to single-arch solves this as the docker engine is capable of chosing the right architecture from the manifest. Once some of the builder issues are fixed, we should move to #2141 footer: Relates-to: balena-io/balena-builder#1010 relates-to: balena-io/balena-builder#1010 Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.9.3 title: "" date: 2023-03-10T22:26:07.185Z - commits: - subject: Replace BALENA-FIREWALL rule in INPUT chain instead of flushing hash: 84a9e7e9acd803b6b49d58ae3040694a5e2f823d body: > The issue with the original Supervisor implementation of the firewall is that on Supervisor start, the Supervisor flushes the INPUT chain of the filter table. This doesn't play well with services that add to the INPUT chain on startup that may start up before the Supervisor, such as certain NetworkManager connection profiles. This change only replaces the BALENA-FIREWALL rule in the INPUT chain, preserving the other rules as well as their order. footer: Closes: "#1482" closes: "#1482" Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 14.9.2 title: "" date: 2023-03-02T21:48:06.727Z - commits: - subject: Always lower case the cpu id to avoid bouncing between casing when reporting hash: d356f979d3addbf8b08933694b9e80f66af8d9e2 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 14.9.1 title: "" date: 2023-02-15T14:13:57.161Z - commits: - subject: Find and remove duplicate networks hash: 89175432af9beb9f9765a6cfdbc8914a8eae251e body: > We have seen a few times devices with duplicated network names for some reason. While we don't know the cause the networks get duplicates, this can be disruptive for updates as trying to create a container referencing a duplicate network results in a 400 error from the engine. This commit finds and removes duplicate networks via the state engine, this means that even if somehow a container could be referencing a network that has been duplicated later somehow, this will remove the container first. While thies doesn't solve the problem of duplicate networks being created in the first place, it will fix the state of the system to correct the inconsistency. footer: Change-type: minor change-type: minor Closes: "#590" closes: "#590" author: Felipe Lalanne nested: [] - subject: Reference networks by Id instead of by name hash: 180c4ff31ad719fb2b00217548514d42a4b5c4cf body: > We have seen a few times devices with duplicated network names for some reason. While we don't know the cause the networks get duplicates, this is disruptive of updates, as the supervisor usually queries resource by name, resulting in a 400 error from the engine because of the ambiguity. This replaces those queries by name to queries by id. This includes network removal. If a `removeNetwork` step is generated, the supervisor opts to remove all instances of the network with the same name as it cannot easily resolve the ambiguity. This doesn't solve the problem of ambiguous networks, because even if networks are referenced by id when creating a container, the engine will throw an error (see https://github.com/balena-os/balena-supervisor/issues/590#issuecomment-1423557871) footer: Change-type: patch change-type: patch Relates-to: "#590" relates-to: "#590" author: Felipe Lalanne nested: [] version: 14.9.0 title: "" date: 2023-02-14T17:10:08.122Z - commits: - subject: Remove dependent devices content in codebase hash: c4f9d72172ef678c73ee05e8766c9bcfddd47073 body: > This includes: - proxyvisor.js - references in docs - references device-state, api-binder, compose modules, API - references in tests The commit also adds a migration to remove the 4 dependent device tables from the DB. footer: Change-type: minor change-type: minor Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 14.8.0 title: "" date: 2023-02-10T23:01:03.277Z - commits: - subject: "patch: Convert internal timestamp passed to journalctl from number to string" hash: 9b26fc263a683c0d2d372b5e0b88b179cff64f88 body: "" footer: See: https://github.com/balena-os/balena-supervisor/pull/2084 see: https://github.com/balena-os/balena-supervisor/pull/2084 Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 14.7.1 title: "" date: 2023-02-07T00:59:05.179Z - commits: - subject: Support `since` and `until` in supervisor journalctl wrapper API. hash: 9a1cde7f44319940320746c6106ee965ff269459 body: "" footer: Signed-off-by: Ruben Keulemans ruben.keulemans@protonmail.com signed-off-by: Ruben Keulemans ruben.keulemans@protonmail.com Change-type: minor change-type: minor Closes: "#2083" closes: "#2083" author: Ruben Keulemans nested: [] version: 14.7.0 title: "" date: 2023-02-03T00:06:04.096Z - commits: - subject: Add SIGTERM listener on application start hash: 6683bca07da0e6b8f822dfcb22211b24a182dc16 body: > As reported by issue #2100, the supervisor was not correctly reacting to `SIGTERM` sent by the engine when terminating the process (for instance before a reboot). This would lead to the supervisor requiring an additional 10 seconds to terminate (after which the engine will send a `SIGKILL`). The reason for this is explained by the following info coming from Node > Node.js was not designed to run as PID 1 which leads to unexpected behaviour when running inside of Docker. For example, a Node.js process running as PID 1 will not respond to `SIGINT` (`CTRL-C`) and similar signals. [reference](https://github.com/nodejs/docker-node/blob/main/docs/BestPractices.md#handling-kernel-signals) On internal testing, it was discovered that simply adding a listener for the signal on the Node process was enough to handle the signal, even when the process runs as PID 1. This adds a listener for `SIGTERM` before starting the supervisor main loop. footer: Closes: "#2100" closes: "#2100" Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.6.4 title: "" date: 2023-01-31T19:43:26.722Z - commits: - subject: Update deploy-to-balena action to 0.26.0 hash: 2bd2879cc580cd5b6a7cba73bc10d8ba55a3cf4c body: "" footer: Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 14.6.3 title: "" date: 2023-01-30T18:59:37.957Z - commits: - subject: "patch: Migrate Supervisor Debugging docs from masterclass" hash: a9045d5eda25683fe24afadefe0575eef55a7de1 body: "" footer: Signed-off-by: Vipul Gupta (@vipulgupta2048) signed-off-by: Vipul Gupta (@vipulgupta2048) author: Vipul Gupta (@vipulgupta2048) nested: [] version: 14.6.2 title: "" date: 2023-01-26T20:58:34.050Z - commits: - subject: Remove custom action restriction for external contributors hash: b945142caab20771dc0060f3c4054c7b5cfbc0a4 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 14.6.1 title: "" date: 2023-01-24T20:34:00.000Z - commits: - subject: Allow using colon character in config vars hash: 67d1503b54d7ec9517441e014ca1873ee491df80 body: | The Raspberry Pi config.txt file defines the use of colon to configure variables of the same name in different ports, for instance on those devices with two hdmi ports. This syntax was previously not supported by the supervisor. This change relaxes the syntax validation on config vars to allow the use of the colon character. footer: Relates-to: "#1573, #2046" relates-to: "#1573, #2046" Change-type: minor change-type: minor author: Felipe Lalanne nested: [] version: 14.6.0 title: "" date: 2023-01-20T20:51:23.226Z - commits: - subject: Allow external contribtions to execute checks hash: b26d2e0e7c6a8a8365782fb98c312408376e01e3 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Kyle Harding signed-off-by: Kyle Harding author: Kyle Harding nested: [] version: 14.5.2 title: "" date: 2023-01-19T19:40:01.765Z - commits: - subject: Correctly use the extended got instance for target-state hash: 63cc4ad58ccce8ceba8879401be3bc0516811f45 body: | In practice this fixes the missing user-agent footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 14.5.1 title: "" date: 2023-01-18T11:58:54.402Z - commits: - subject: Update host-config, route, and action tests for host config endpoints hash: e1bacda58076ab4d76f6fbe4da986ac9b87c8e30 body: "" footer: Change-type: minor change-type: minor Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 14.5.0 title: "" date: 2023-01-17T19:28:44.795Z - commits: - subject: "Docs: clarify that Supervisor creates lockfiles as nobody UID" hash: 3a824448faec04fd139ceb9cbedc327ced117bf8 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 14.4.10 title: "" date: 2023-01-04T20:25:53.656Z - commits: - subject: Use `got` for fetching the target state in order to have brotli support hash: fd135214fe4c1c365ce8e2d67f272bd824adb1dd body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 14.4.9 title: "" date: 2022-12-19T14:25:57.684Z - commits: - subject: Fix journalctl to work with persistent logs hash: 55594274f78d20b2d86c3bc683d7c27d7cde60c2 body: > v14.4.5 introduced a new way to retrieve the host logs by symlinking the log directories into the host /run/log/journal and using a local copy of the journalctl binary instead of chrooting into the host. This failed to account for the location of persistent logs when that option is turned on (/var/log/journal instead of /run/log/journal). This fixes the checks consider this case and also makes sure to remove the original symlink to avoid having nested links `/run/log/journal/journal/journal`, which was a bug in the previous implementation. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.4.8 title: "" date: 2022-12-15T22:29:17.729Z - commits: - subject: Update API.md hash: 24e5996b56464d5476c3a3940a967c25ba3a32da body: > Clarify that only containers on a single device will be restarted following API key refresh, not the whole fleet. Each device has its own distinct API key. footer: Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Wang nested: [] version: 14.4.7 title: "" date: 2022-12-15T20:39:47.886Z - commits: - subject: Make readFromBoot behave more like Node readFile hash: 0605e996c9225380e39fd78b1c99cc7ad3c0f959 body: > The `readFromBoot` function replaced calls to readFile in the codebase when the target location is under `/mnt/boot` in order to use `fatrw` to check for corruption. Unfortunately this function behaved a little differently with regards to errors. While `readFile` returns a code `ENOENT` when the file is not found, `readFromBoot` would just throw an exception with whatever code was given by fatrw. This would cause confusion for some calls that were behaving differently with a `ENOENT`, causing some issues. footer: Closes: "#2071" closes: "#2071" Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.4.6 title: "" date: 2022-12-08T18:39:56.950Z - commits: - subject: Stop using host journalctl hash: 91b119cbaec5c8f8a58ab0e2f724641195a1d316 body: | The supervisor had to chroot into the host root in order to read the journal logs. This won't be possible anymore once the supervisor becomes an app. This commit copies the journalctl binary and necessary libraries from a debian image into the supervisor image in order to be able to use the tool on runtime. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.4.5 title: "" date: 2022-12-07T19:29:23.028Z - commits: - subject: Enable node16 module resolution in tsconfig to ease the ESM transition hash: 836f6ab7541b49776e23f143209257d9d0b18004 body: | This means that dynamic import statements will emit actual `import` statements rather than being translated to `require`, the benefit being that we can now import ES modules via dynamic imports footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 14.4.4 title: "" date: 2022-11-22T15:22:24.653Z - commits: - subject: Use timers/promises for promisified setTimeout hash: b8891ebb08361c9579cc706036edef9d80fe3445 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 14.4.3 title: "" date: 2022-11-22T02:54:20.484Z - commits: - subject: Remove some unnecessary usage of `.reduce` hash: 3dea88c74ee6233c3d8d7fa0d163ee80ba1a690d body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 14.4.2 title: "" date: 2022-11-21T20:02:26.524Z - commits: - subject: Improve determination of when a state change may need to be reported hash: 599b5cf811eaf3fbc0d52ac1ca249b58e1f5d942 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Ken Bannister signed-off-by: Ken Bannister author: Ken Bannister nested: [] - subject: Report must include a state change if sooner than metrics frequency hash: b1d4aa5159add5269999087507ef355def358f86 body: | Export list of metrics properties from device state module for this determination. footer: Change-type: patch change-type: patch Signed-off-by: Ken Bannister signed-off-by: Ken Bannister author: Ken Bannister nested: [] - subject: Remove report frequency management from current state reporting function hash: d1dd53b5b6dd4b81e634c769a59ad3cf8111d343 body: | Report frequency now managed completely by callers. footer: Change-type: patch change-type: patch Signed-off-by: Ken Bannister signed-off-by: Ken Bannister author: Ken Bannister nested: [] - subject: Move definition of maxReportFrequency to the reporting file hash: c67429f3e11158335a780778e04b2a94a5623788 body: > Narrows scope to where it is used, like the new maxMetricsFrequency value. footer: Change-type: patch change-type: patch Signed-off-by: Ken Bannister signed-off-by: Ken Bannister author: Ken Bannister nested: [] - subject: Report metrics in target-state PATCH based on a max frequency hash: 45d71fa60d8da9bbf8071b359620de43a8ca15be body: | Adds maxMetricsFrequency, separate from maxReportFrequency. Also ensures most recent state change event is reported. footer: Change-type: patch change-type: patch Signed-off-by: Ken Bannister signed-off-by: Ken Bannister author: Ken Bannister nested: [] version: 14.4.1 title: "" date: 2022-11-18T16:08:13.927Z - commits: - subject: Use fatrw utility for writes to boot partition hash: dade5987370c68d639d698cc3e4a9d6ccf4df9c5 body: > This PR changes the way the supervisor reads and writes files from /mnt/boot. Reads will now use the [fatrw utility](https://github.com/balena-os/fatrw/) as a way to minimize corruption of files in the boot partition, and thus preventing possible bricking of the device. Since this basically changes the way a lot of configurations are read, this work was being blocked because of the way tests were being done. While there still remain a couple of legacy tests to be migrated, this PR disables test:legacy tests when running npm run test, as the work on refactoring those tests is in progress (see #2048) and fatrw integration is of higher priority. footer: Change-type: minor change-type: minor author: Felipe Lalanne nested: [] version: 14.4.0 title: "" date: 2022-11-17T01:37:52.537Z - commits: - subject: Simplify getting images for cleanup hash: 8174ea9643fb1059aad6fb05c68f42ade0579475 body: | getImagesForCleanup used to query the Engine for the Supervisor image, which is unnecessary given that the Supervisor has access to constants.supervisorImage. Thus, this Engine query is removed. The method is simplified and made more clear, and imageManager.isCleanupNeeded doesn't need to be stubbed in tests. footer: Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 14.3.5 title: "" date: 2022-11-16T22:29:57.342Z - commits: - subject: Create default network as config-only when services have host networking hash: f558be0a167c679ed50eb46350d14176bc3b8d89 body: | This eliminates chances of host-Docker address collision for apps such as the Supervisor where all services have host networking. footer: Closes: "#2062" closes: "#2062" Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 14.3.4 title: "" date: 2022-11-16T18:55:00.377Z - commits: - subject: Migrate all device config tests to integration. hash: 827f892c138dd05f9402d91e43125aa3a4dc35ac body: > This means that configuration backend tests no longer use stubs and (mostly) avoid internal dependencies in the tests. Instead of stubs and mock-fs, the tests use [testfs](https://github.com/balena-io-modules/mocha-pod#working-with-the-filesystem) which allows working with a real filesystem and ensuring everything is re-set between tests. This is the last change needed in order to be able to merge #1971. Here is the list of changes - [x] Migrate splash image backend tests - [x] Migrate extlinux backend tests - [x] Migrate config.txt backend tests - [x] Migrate extra-uenv config tests - [x] Migrate odmdata config tests - [x] Migrate config utils tests - [x] Migrate device-config tests footer: Change-type: patch change-type: patch author: pipex nested: [] version: 14.3.3 title: "" date: 2022-11-14T15:28:56.604Z - commits: - subject: Fix locking stubs that were returning `Bluebird` rather than `Promise` hash: d587a323f2da396aa0f84e4720b73d61bfe5a88a body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 14.3.2 title: "" date: 2022-11-11T17:14:04.145Z - commits: - subject: Update blinking to 0.0.7 hash: 9e154da76e74638f31b212ad45e296e444e45fe4 body: | Update blinking from 0.0.5 to 0.0.7 footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 14.3.1 title: "" date: 2022-11-11T16:47:25.205Z - commits: - subject: Convert ensureSupervisorNetwork to native Promises hash: 1034aa70e6a2e425fb4b5e0fa1155eec97b21ed2 body: > Also remove system interface check from ensureSupervisorNetwork. Previously `ensure` was a Bluebird promise which wasn't awaited in its composition step. This has been here for some time and may contribute to issues with duplicate networks. The conversion to native Promises allows `ensure` to be awaited, hopefully reducing instances of duplicate networks. Removing the system interface check for /sys/class/net/supervisor0 because it's superfluous given that the Engine creates the interface with NetworkManager. It also makes testing a lot more difficult to set up as /sys/class/net isn't a directory that can be written to for emulating system interface creation / removal. footer: Relates-to: https://github.com/balena-os/balena-supervisor/issues/1110 relates-to: https://github.com/balena-os/balena-supervisor/issues/1110 Change-type: minor change-type: minor Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 14.3.0 title: "" date: 2022-11-10T01:09:38.686Z - commits: - subject: Allow local target state to be applied in unmanaged mode hash: fd320f85b53ec83f54cd6ad83cdf685dcc6e0d20 body: | An unmanaged Supervisor will not have a balenaApi defined, so any attempts to POST /v2/local/target-state will cause the Supervisor to crash loop. This fix allows for the Supervisor to apply local target state, which is useful for integration testing. footer: Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 14.2.21 title: "" date: 2022-11-07T21:19:58.463Z - commits: - subject: "patch: Update locks behavior for config changes" hash: 63bd9605cff7dc1b6656da2a71d557d44a760ceb body: "" footer: Signed-off-by: Vipul Gupta (@vipulgupta2048) signed-off-by: Vipul Gupta (@vipulgupta2048) author: Vipul Gupta (@vipulgupta2048) nested: [] version: 14.2.20 title: "" date: 2022-11-03T22:27:39.529Z - commits: - subject: Run the built supervisor as part of docker-compose tests hash: 46fa7321c0f6e5fcee1a057214fad1903afd2e02 body: > This allows to test that the supervisor build actually runs and opens up the possibility of running more exhaustive API tests against a working supervisor. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.2.19 title: "" date: 2022-11-03T21:20:50.940Z - commits: - subject: Update apt repositories before installing dbus hash: 574f2ffb14fccd0ad8965cf5304830fdbd7d2439 body: | GitHub actions are erroring due to the package not being found; Updating the repository listings shoud fix this. footer: Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 14.2.18 title: "" date: 2022-11-02T19:00:52.814Z - commits: - subject: Migrate API tests to unit/integration hash: 532e75a77eb62f9df7756a98d2740736c885411b body: | This excludes route tests or refactoring. Also, created tests for API middleware. footer: Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 14.2.17 title: "" date: 2022-11-01T21:47:54.358Z - commits: - subject: "config/backends: Add Jetson AGX Orin Devkit to the list of DTs that support configurable device-tree" hash: ea92fa916253ffd0d2d2a908698e4b6c50dd01a4 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Alexandru Costache signed-off-by: Alexandru Costache author: Alexandru Costache nested: [] version: 14.2.16 title: "" date: 2022-10-27T15:00:44.805Z - commits: - subject: Migrate docker-util tests hash: aa3002f9093ce72123022f628179c3e14f702690 body: | Merged docker-utils and delta tests into a single test suite. They are now ran as part of the integration tests using the real engine. footer: Change-type: patch change-type: patch author: pipex nested: [] version: 14.2.15 title: "" date: 2022-10-20T14:43:04.770Z - commits: - subject: Migrate simple legacy tests to test/unit and test/integration hash: 620bcae53a208069b9f314288381271804d62d27 body: "" footer: Change-type: patch change-type: patch author: pipex nested: [] version: 14.2.14 title: "" date: 2022-10-19T13:35:18.108Z - commits: - subject: Convert common.js to TypeScript hash: 966d9574656bb393031ba64dd596f933eb972947 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 14.2.13 title: "" date: 2022-10-18T22:58:18.023Z - commits: - subject: Setup environment for dbus tests hash: 819e1840956fdcc71d0bd4d7e9e5d2f7831ab29c body: "" footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.2.12 title: "" date: 2022-10-18T14:01:31.670Z - commits: - subject: Allow most printable ASCII chars for service label key hash: 91f93952db4490aa63e9dbe420983591293c5143 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Ken Bannister signed-off-by: Ken Bannister author: Ken Bannister nested: [] version: 14.2.11 title: "" date: 2022-10-17T12:08:22.596Z - commits: - subject: Use inherited secrets for flowzone hash: 080d112f3e5da540684a0c5102d47f9e899a7d11 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 14.2.10 title: "" date: 2022-10-13T16:09:15.906Z - commits: - subject: Start state engine and API binder in parallel hash: b4514631b11c24c58342021e1a5b62add5a8c476 body: | The state engine and preloading is performed before the device gets a chance to register, while this is desirable for preloaded apps, it introduces a delay on registration which is known to cause issues since the VPN is also trying to connect at the same time. This triggers a simultaneous start of the device engine, the API binder and the supevisor API to avoid delays. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.2.9 title: "" date: 2022-10-10T19:42:02.898Z - commits: - subject: Update type dependencies hash: 0237bd7cf4f5adeb3611bc155b4fe09995e8771d body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 14.2.8 title: "" date: 2022-10-03T20:37:34.074Z - commits: - subject: Split compose/volume tests into unit/integration hash: 4113dde45d870f9369139da82e533343f55fe19f body: | This also needs to modify the test environment as database migrations will look for `config.json` in the location given by the variable `CONFIG_MOUNT_POINT`. The volume tests now run against the actual docker engine setup via dind footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.2.7 title: "" date: 2022-09-28T15:37:44.538Z - commits: - subject: Fix migrations hardcode to work with knex 0.95.15 hash: bf0d9ee836cb32da89d7827771dc64b405d5b5fc body: > The latest upgrade of knex broke the webpack loader that hardcodes the migration paths in the built code, that cause supervisors 14.2.3 to 14.2.5 (inclusive) to break anytime migrations needed to be ran (see linked issue). This commit fixes the loader to work with the included knex version. footer: Relates-to: "#2032" relates-to: "#2032" Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.2.6 title: "" date: 2022-09-28T00:21:04.875Z - commits: - subject: Add test troubleshooting case that appears after upgrading system hash: c6d5ad7a89714e74c6f3280bc2ed39168f0545f4 body: > The error may be something to the effect of `failed to add the host (vethd6242de) <=> sandbox (veth8e47b1a) pair interfaces: operation not supported`. footer: Change-type: patch change-type: patch Signed-off-by: Christina Ying Wang signed-off-by: Christina Ying Wang author: Christina Ying Wang nested: [] version: 14.2.5 title: "" date: 2022-09-27T04:50:50.229Z - commits: - subject: Add custom flowzone action to finalize staging releases hash: 943004cf4339e579bd696875a2584cb098c65a65 body: "" footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.2.4 title: "" date: 2022-09-26T20:17:26.039Z - commits: - subject: Update dependencies to fix NPM build hash: 460659429d65f360b58ca0eb08ffbc8118a2a446 body: "" footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.2.3 title: "" date: 2022-09-26T19:24:13.215Z - commits: - subject: Update typescript target to es2021 hash: e8baa63fdd4afbd19cfdcdb0e6802aebdc263278 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] - subject: Update to webpack 5 hash: 47dca8604b5df1b2af559589946b2e52fc7e855d body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 14.2.2 title: "" date: 2022-09-22T21:42:15.846Z - commits: - subject: Publish to staging with a custom publish composite job hash: 29ae778e3971c2046f86f5cad3bf0ed8fd61e1d8 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 14.2.1 title: "" date: 2022-09-22T20:07:26.525Z - commits: - subject: Disable event tracking hash: e00687408ce9c1b20217f25b1c906b7855aab83f body: | The supervisor used to rely on specific event reporting for identifying issues at runtime. As the platform has grown, it has become much more difficult to get any signal from the event noise. Recently the API side for these events has been disabled, meaning these events only contribute to bandwidth consumption. This commit disables the event reporting feature of the supervisor which will be most likely replaced by something like Sentry in the near future. footer: Change-type: minor change-type: minor author: Felipe Lalanne nested: [] version: 14.2.0 title: "" date: 2022-09-20T17:55:19.399Z - commits: - subject: Update webpack dependencies to latest webpack 4.x compatible versions hash: 93893093ff75a17243b46020e836c765d634677e body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 14.1.3 title: "" date: 2022-09-20T13:49:10.018Z - commits: - subject: Update husky/lint-staged dev dependencies hash: b3d866699731eb2fe798bbf4a4aa5cc849ddece6 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 14.1.2 title: "" date: 2022-09-20T12:57:51.883Z - commits: - subject: Update balena-register-device to 8.0.0 hash: 1baf972e162cb3f9bf8904f7e734f29e2afe6b6d body: | Update balena-register-device from 7.2.0 to 8.0.0 footer: Change-type: patch change-type: patch Signed-off-by: Thodoris Greasidis signed-off-by: Thodoris Greasidis author: Thodoris Greasidis nested: - commits: - subject: Remove the travis & appveyor configurations hash: 32c19504ca79ec134b34e30a4e6a52157a7b0bd6 body: "" footer: Change-type: patch change-type: patch author: Thodoris Greasidis - subject: "tsconfig: Enable strict type checking" hash: 77b5211af6f87c364302342f24f9f95bc6c8ba35 body: "" footer: Change-type: patch change-type: patch author: Thodoris Greasidis - subject: Update devDependencies hash: 32a482be80c978b3c8f83a2335a17c70a224cb52 body: "" footer: Change-type: patch change-type: patch author: Thodoris Greasidis - subject: Update the uuid package to v9 hash: 4567f824d6f45c825594fda3ec7c4b8e5f3ea561 body: "" footer: Change-type: patch change-type: patch author: Thodoris Greasidis - subject: Prevent creating a package-lock.json hash: 3c0e432980a30a1fb0678acd8d0459bd53d69565 body: "" footer: Change-type: patch change-type: patch author: Thodoris Greasidis - subject: Drop support for node 10 in favor of 14 & 16 hash: ea7c5670950918363380cff9576a082abad6dbb9 body: | That's required in order to update uuid to v9. footer: Change-type: major change-type: major Signed-off-by: Thodoris Greasidis signed-off-by: Thodoris Greasidis author: Thodoris Greasidis version: balena-register-device-8.0.0 title: "'Drop node 10 in favor of 14 & 16 & update the uuid package to v9'" date: 2022-09-06T12:49:29.202Z version: 14.1.1 title: "" date: 2022-09-19T21:21:50.712Z - commits: - subject: Update to nodejs 16 hash: 5518eb17bd232d53d3fd73afd0cd565ad2d93ca4 body: "" footer: Change-type: minor change-type: minor author: Pagan Gazzard nested: [] version: 14.1.0 title: "" date: 2022-09-19T20:36:45.949Z - commits: - subject: Update @balena/lint to 6.2.0 hash: 96418d55b5507d8352e612d4a8074e700ea0780a body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] - subject: Update to typescript 4.8.2 hash: a4c13aa2e925934db26b175876d492995dd4a519 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 14.0.26 title: "" date: 2022-09-19T16:37:40.389Z - commits: - subject: Update to nodejs 14 hash: 65e69f3a83863af5967e2eefddbb7cafc1d601f7 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 14.0.25 title: "" date: 2022-09-15T22:32:28.588Z - commits: - subject: Split publish to balena-staging from flowzone hash: fa8f02006e19341417d5deaabe52448af0b19b79 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 14.0.24 title: "" date: 2022-09-15T20:55:22.509Z - commits: - subject: Switch from balenaCI to flowzone hash: 044fa5a0388b179e8ca02bdefb4e0a181c5684aa body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 14.0.23 title: "" date: 2022-09-14T20:28:55.724Z - commits: - subject: Only install service if running is set to false hash: c6f911c36b8f9afeff5003db44199c95f5bbd8a2 body: | The supervisor supports target state `running: false` for services. This state indicates that the service should be stopped if already running, or that the container should just be created and never started if the container does not exist. This commit fixes the latter behavior. Although nothing in our platform currently sends this target state, this enables some potential use cases, e.g. only starting some services in manufacturing and starting the rest of the services when the device actually connects. footer: Change-type: patch change-type: patch Closes: "#2014" closes: "#2014" author: Felipe Lalanne nested: [] version: 14.0.22 title: "'Only install service if running is set to false'" date: 2022-09-14T13:48:20.421Z - commits: - subject: Fix withDefault type helper to work with boolean hash: 3e45e9561e109186ea038c6d3b67f54071ee8a67 body: | `withDefault` is a type helper that allows to create a type that defaults to a default value when trying to decode a nullish value. That type was not correctly working with boolean types, causing `false` values to be replaced by true. This would specifically cause issues when parsing the target state, where a `running: false` in a service would become a `running: true` due to the type decoding. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.0.21 title: "'Fix withDefault type helper to work with boolean'" date: 2022-09-13T20:13:18.136Z - commits: - subject: Fix filtering of the supervisor app on the target state hash: 5a57647450aa594b7112da01b9d2fc89885b6fae body: > Under some conditions, an aarch64 device may get a reference to a armv7hf supervisor on the target state. One of the ways this can happen is if an aarch64 device is added to an armv7hf fleet and the target supervisor is set before the device fully provisions. If that happens, the previous filtering for the supervisor app (which relied on the architecture in device-type.json) would fail and the user would end up with two supervisor containers, one running correctly and the other crash looping. This fixes the filtering and just checks if the supervisor uuid/service name belongs to a group of known uuids. footer: Closes: "#2006" closes: "#2006" Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.0.20 title: "'Fix filtering of the supervisor app on the target state'" date: 2022-09-12T19:32:49.204Z - commits: - subject: Update blinking to 0.0.5 hash: 45f71b38d0a69419fae19e9c1a628d023653fad5 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 14.0.19 title: "'Update blinking to 0.0.5'" date: 2022-09-12T12:04:51.557Z - commits: - subject: Set desired es-version for downstream modules that support it hash: fadd51446306164b63267d2d353ae6aa00224e0c body: "" footer: Change-type: patch change-type: patch author: Thodoris Greasidis nested: [] version: 14.0.18 title: "'Set desired es-version for downstream modules that support it'" date: 2022-09-07T15:42:42.655Z - commits: - subject: Remove side effects for module imports hash: 48e0733c7e734b401f6072df5a396dfc04075d98 body: | The supervisor uses the following pattern for async module initialization ```typescript // module.ts export const initialised = (async () => { // do some async initialization })(); // somewhere else import * as module from 'module'; async function setup() { await module.initialise; } ``` The above pattern means that whenever the module is imported, the initialisation procedure will be ran, which is an anti-pattern. This converts any instance of this pattern into a function ```typescript export const initialised = _.once(async () => { // do some async initialization }); ``` And anywhere else on the code it replaces the call with a ```typescript await module.initialised(); ``` footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.0.17 title: "'Remove side effects for module imports'" date: 2022-09-06T19:50:43.463Z - commits: - subject: Add custom DTB support for imx8mm-var-som hash: 36544b7d6e53c8a501a6def40ac0370346e63b78 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Alexandru Costache signed-off-by: Alexandru Costache author: Alexandru Costache nested: [] version: 14.0.16 title: "'Add custom DTB support for imx8mm-var-som'" date: 2022-09-06T14:36:03.142Z - commits: - subject: Create `test/unit` and `test/integration` folders hash: c1e6dadeb47c3c52958383a2fc775a821362f853 body: | This sets up the new `test/unit` and `test/integration` folders and starts classification of some of the test files. Note that unit tests include, `fs-utils` and `system-info` tests. While these tests interact with the filesystem, the implementation of these modules is simple enough, and the tests are fast enough to allow these tests to fall under the `unit` test category (according to test/README) footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Move the current test suite under `test/legacy` hash: e1e35eb83b738040150ced1ee9500d780de4b632 body: | We are refactoring the supervisor test suite into unit tests (for algorithms an domain model tests) and integration tests (for interaction with out-of-process dependencies). This means the current test suite needs to be classified into these two categories, and fixed whenever possible. This commit moves the test suite under the `test/legacy` folder, this folder should be progressively migrated and eventually removed. Subsequent commits will begin to split these files into unit and integration whenever possible. footer: Depends-on: "#1996" depends-on: "#1996" Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.0.15 title: "'Split test suite into unit and integration tests'" date: 2022-08-24T20:09:59.828Z - commits: - subject: Simplify test commands in package.json hash: 274503feb3f2f9cd5a8db551fd93b9cce8ae9b39 body: | The supervisor used to perform tests both for the transpiled code (after tsc) and one for the typescript code (using ts-node/register/transpile-only). There is not really a reason for this and this added complexity to the test configuration. This used to make testing harder, as the built code didn't include source maps, meaning the tests did not point to the right code. Since we want to split tests in unit and integration tests as the next test improvement, it makes sense to simplify these commands before adding more complexity. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.0.14 title: "'Refactor test suite to use tsconfig paths instead of relative paths'" date: 2022-08-22T20:24:43.124Z - commits: - subject: Wait for Stopping services to stop before target apply success hash: 12b67742c8091280c2e74e97a7c7392021db542f body: > This mitigates an edge case bug introduced in v13.1.3 where services that are slow to exit may get stuck in a state of Downloaded if a service var is changed then reverted rapidly. More detailed description in linked issue. footer: Change-type: patch change-type: patch Closes: "#1991" closes: "#1991" Signed-off-by: Christina Wang signed-off-by: Christina Wang author: Christina Wang nested: [] version: 14.0.13 title: "'Wait for Stopping services to stop before target apply success'" date: 2022-08-02T21:43:15.897Z - commits: - subject: Disable healthchecks failing on report errors hash: 0c4e6ce4217fa17bd345483f61b27c1073327fef body: | State report errors contribute to the supervisor failing healthchecks and being restarted by the engine. There is not evidence of this improving the connectivity situation and it is likely to make things worst for the API as the first report is much more expensive than subsequent partial reports. footer: Change-type: patch change-type: patch Closes: "#1986" closes: "#1986" author: Felipe Lalanne nested: [] version: 14.0.12 title: "' Disable healthchecks failing on report errors'" date: 2022-07-18T20:28:38.790Z - commits: - subject: Refactor supervisor Dockerfile to remove custom dependencies hash: 1722286a870d53acab9e5e8cfa372e07112f89e8 body: > Restructure the supervisor image to remove the dependency on the custom `alpine-supervisor-base` image and the custom node build. The dockerfile is now a multi-stage build that splits the process into two build stages and two runtime stages. Here is the full list of changes - The node binary is now copied from `balenalib/${ARCH}-alpine-node:12-run`, the node binary now supports running with a debugger. - The runtime image now inherits from the official `alpine:3.16` image - Tests are ran within the runtime image configuration instead of the build image - Livepush is ran within the runtime image context - Unnecessary packages have been removed - Removed avahi-daemon.conf as that service is not being used - Fix livepush to work with a multi-stage image. This also deprecates the `image-tag` argument to npm run sync as `SUPERVISOR_TAG` is no longer used by new OSs - Fix livepush build on old rpi devices. Allows passing a 'PREFIX' argument to let the builder pull images directly from docker hub arch repositories. Relates to https://github.com/balena-os/balena-engine/issues/269 footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.0.11 title: "'Refactor supervisor Dockerfile to remove custom dependencies'" date: 2022-07-18T17:29:46.661Z - commits: - subject: Remove legacy build methods hash: 515b6297a089c13c80a751a303f7311b80ed15f1 body: | Removes dindctl and `tools/sync.js` in favor of balenaos-in-container and SSH tunneling respectively. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Allow directories to be used as lockfiles hash: 861e902d7f460e9ed0320ff2f808d23ec53e4e30 body: > Some libraries, like [proper-lockfile](https://www.npmjs.com/package/proper-lockfile) use directories instead of files for locking. This PR allows the supervisor to be able to work with those types of locks when lock override is requested. footer: Closes: "#1978" closes: "#1978" Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.0.10 title: "'Remove legacy build methods'" date: 2022-07-13T20:44:45.828Z - commits: - subject: Allow host config patch regardless of running applications hash: 0fc79e87d98e13c2c918ec89e28759447c51af56 body: | Host config shouldn't be tied to applications in the first place, but needs to be done so because it uses update locks to determine when it's safe to patch host config, and update locks are tied to apps. footer: Change-type: patch change-type: patch Signed-off-by: Christina Wang signed-off-by: Christina Wang author: Christina Wang nested: [] version: 14.0.9 title: "'Allow host config patch regardless of running applications'" date: 2022-07-06T20:41:30.289Z - commits: - subject: Specify that Supervisor will not restore previous lock status from user containers hash: ca140639c6a2b5f9f5a2e69b5611bb3902b78c18 body: > There is no functionality which 1) stores the filesystem lock status when toggling override to on, and 2) restore the system to that status when toggling override to off. footer: Change-type: patch change-type: patch Signed-off-by: Christina Wang signed-off-by: Christina Wang author: Christina Wang nested: [] version: 14.0.8 title: "'Specify that Supervisor will not restore previous lock status from user containers'" date: 2022-06-27T15:50:08.481Z - commits: - subject: Add missing docs for the containerId param of the journal-logs endpoint hash: ff526c18d85ad4876025692d85e343e7661a7906 body: "" footer: Resolves: "#1975" resolves: "#1975" Change-type: patch change-type: patch author: Thodoris Greasidis nested: [] version: 14.0.7 title: "'Add missing docs for the containerId param of the journal-logs endpoint'" date: 2022-06-22T18:54:09.601Z - commits: - subject: Read hostname from config.json with container /etc/hostname as backup hash: a7a0821a3e23142265904806df5d0a6ecd2ed4b5 body: > We don't need to read the host's hostname through /mnt/root/etc/hostname, because the hostname is written to config.json on a change. When the hostname has never changed, it won't be found in config.json, so we can default to the Supervisor container's /etc/hostname as it will match the host's /etc/hostname, the network mode being `host`. footer: Closes: "#1968" closes: "#1968" Change-type: patch change-type: patch Signed-off-by: Christina Wang signed-off-by: Christina Wang author: Christina Wang nested: [] version: 14.0.6 title: "'Read hostname from config.json with container /etc/hostname as backup'" date: 2022-06-15T19:19:57.666Z - commits: - subject: Add custom DTB support for Variscite Dart DT family hash: dfb6bcf0e6a5b32c2def588dde1a8849a11c683c body: "" footer: Closes: "#1963" closes: "#1963" Relates-to: https://github.com/balena-io/open-balena-api/issues/1033 relates-to: https://github.com/balena-io/open-balena-api/issues/1033 Change-type: patch change-type: patch Signed-off-by: Christina Wang signed-off-by: Christina Wang author: Christina Wang nested: [] version: 14.0.5 title: "'Add custom DTB support for Variscite Dart DT family'" date: 2022-06-14T19:29:37.702Z - commits: - subject: Better document mocked-dbus, add missing dbus interface methods hash: ffa1c734182f49fabc818c95f3a1c231bf4e05f4 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Christina Wang signed-off-by: Christina Wang author: Christina Wang nested: [] version: 14.0.4 title: "'Better document mocked-dbus, add missing test methods'" date: 2022-06-09T20:18:10.430Z - commits: - subject: Do not send name as part of the current state hash: 99efd12acd05290b5fc2ae74da3226d150dc86e6 body: | This fixes a race condition that could occur with the first current state report, where if the device managed to send the current state report first, then the device name on the cloud would be set to `local` (see #1959). footer: Closes: "#1959" closes: "#1959" Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 14.0.3 title: "'Do not send name as part of the current state'" date: 2022-06-07T19:53:30.522Z - commits: - subject: Don't use config.get for appId when checking locks in host config PATCH hash: be1c01039aea081e5beb01f72ef1c8880a736924 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Christina Wang signed-off-by: Christina Wang author: Christina Wang nested: [] version: 14.0.2 title: "'Don't use config.get for appId when checking locks in host config PATCH'" date: 2022-06-06T19:18:06.984Z - commits: - subject: Use locks before shutdown/reboot instead of stopping containers hash: aad5a9efc5da5ffcd6915ac6f395e154ee38cbf8 body: "" footer: Closes: "#1940" closes: "#1940" Change-type: patch change-type: patch Signed-off-by: 20k-ultra <3946250+20k-ultra@users.noreply.github.com> signed-off-by: 20k-ultra <3946250+20k-ultra@users.noreply.github.com> author: 20k-ultra nested: [] - subject: Refactor update-lock.lock to accept an array of applications to lock hash: 471f0f0615c7d46a182c2d396b832eb0df9ee95e body: "" footer: Change-type: patch change-type: patch Signed-off-by: 20k-ultra <3946250+20k-ultra@users.noreply.github.com> signed-off-by: 20k-ultra <3946250+20k-ultra@users.noreply.github.com> author: 20k-ultra nested: [] - subject: Refactor update-lock function to avoid callback hell hash: ef7371a7ef40f1e73bd2277bfe997c48f5e59284 body: "" footer: Change-type: patch change-type: patch Signed-off-by: 20k-ultra <3946250+20k-ultra@users.noreply.github.com> signed-off-by: 20k-ultra <3946250+20k-ultra@users.noreply.github.com> author: 20k-ultra nested: [] version: 14.0.1 title: "'Shutdown with locks'" date: 2022-06-02T04:34:24.480Z - commits: - subject: Use Mounts API for engine socket feature label hash: 6ccd2178c18acded013e888a296e265bc0315728 body: | When upgrading to this Supervisor version, containers using the engine feature label will be restarted. footer: Relates-to: https://github.com/balena-os/balena-supervisor/pull/1780 relates-to: https://github.com/balena-os/balena-supervisor/pull/1780 Closes: "#1933" closes: "#1933" Change-type: major change-type: major Signed-off-by: Christina Wang signed-off-by: Christina Wang author: Christina Wang nested: [] version: 14.0.0 title: "'Use Mounts API for engine socket feature label'" date: 2022-05-31T19:41:00.639Z - commits: - subject: Only migrate apps.json on preload after target has been set hash: 95bf4718d6717630ab0bedabfeea209ce295acb0 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Felipe Lalanne signed-off-by: Felipe Lalanne author: Christina Wang nested: [] version: 13.1.11 title: "'Do not migrate apps.json if preload v2 to v3 fails'" date: 2022-05-26T21:02:56.665Z - commits: - subject: Trim newlines from sysinfo files hash: 76553c6b4a70896482735a84d2c5ea1ca5e5b8fa body: "" footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 13.1.10 title: "'Trim newlines from sysinfo files'" date: 2022-05-23T18:46:36.830Z - commits: - subject: Fix serial number support for variscite boards hash: 29867ccf177b27f9dd27ca25c32168b4649c6d00 body: | Closes: #1950 footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 13.1.9 title: "'Fix serial number support for variscite boards'" date: 2022-05-23T14:44:28.150Z - commits: - subject: Add compose support for volumes defined with long syntax hash: 0a9c7282e8921f874315259919ba247236be5d52 body: > balena-compose already supports this, and with this PR, Supervisor can have the option of using HostConfig.Mounts for internal bind mounts such as ones added by feature labels. This will be handled in a future PR. The only blocker to having users use long syntax is adding this feature to target state. This PR does not add that feature. footer: Relates-to: "#1933" relates-to: "#1933" Change-type: patch change-type: patch Signed-off-by: Christina Wang signed-off-by: Christina Wang author: Christina Wang nested: [] version: 13.1.8 title: "'Add compose support for volumes defined with long syntax'" date: 2022-05-17T18:16:30.482Z - commits: - subject: Prevent throttling reports when nothing was sent hash: 67f9c44a6c7ccde29ee6e53442a74191b4f8eaea body: "" footer: Change-type: patch change-type: patch Signed-off-by: 20k-ultra <3946250+20k-ultra@users.noreply.github.com> signed-off-by: 20k-ultra <3946250+20k-ultra@users.noreply.github.com> author: 20k-ultra nested: [] version: 13.1.7 title: "'Prevent throttling reports when nothing was sent'" date: 2022-05-16T19:22:50.596Z - commits: - subject: Avoid splash image failures if image is corrupt hash: a5ede01b18abd5e079361d24f2f8f5368d23da6d body: | Splash image backend would throw if the image is not a valid png during the write step. This could prevent the device from provisioning if some corruption happens at some point. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 13.1.6 title: "'Avoid splash image failures if image is corrupt'" date: 2022-05-06T18:46:18.641Z - commits: - subject: Use write + sync when writing configs to /mnt/boot hash: c04955354a76ab32ab5dc52062fdf72d668f7c3b body: | This commit updates all backends that write to /mnt/boot to do it through a new `lib/host-utils` module. Writes are now done using write + sync as rename is not an atomic operation in vfat. The change also applies for writes through the `/v1/host-config` endpoint. Finally this change includes some improvements on tests. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 13.1.5 title: "'Use write+sync when writing to '" date: 2022-05-03T15:28:52.610Z - commits: - subject: Use delay instead of interval to recursively report state hash: 2e81a7328e6ff01c397bb1bced73010470520657 body: "" footer: Change-type: patch change-type: patch Signed-off-by: 20k-ultra <3946250+20k-ultra@users.noreply.github.com> signed-off-by: 20k-ultra <3946250+20k-ultra@users.noreply.github.com> author: 20k-ultra nested: [] version: 13.1.4 title: "'Use delay instead of interval to recursively report state'" date: 2022-04-28T03:19:33.567Z - commits: - subject: Remove in memory storage of started/stopped containers hash: 5437aea786e6be4a908e2cb0c24faeca3282c37e body: "" footer: Change-type: patch change-type: patch Signed-off-by: 20k-ultra <3946250+20k-ultra@users.noreply.github.com> signed-off-by: 20k-ultra <3946250+20k-ultra@users.noreply.github.com> author: 20k-ultra nested: [] - subject: Only start a container once in its lifetime This will ensure the restart policy specified is not violated hash: ca9945bdfb716e1b14b24d3f3069f48cc7aff493 body: "" footer: Change-type: patch change-type: patch Closes: "#1668" closes: "#1668" Signed-off-by: 20k-ultra <3946250+20k-ultra@users.noreply.github.com> signed-off-by: 20k-ultra <3946250+20k-ultra@users.noreply.github.com> author: 20k-ultra nested: [] version: 13.1.3 title: "'Prevent restart policy violation'" date: 2022-04-20T03:29:57.844Z - commits: - subject: Explain /v2/state/status's status field in its response hash: 27249c278555c46154d1e917e769dd3fb9d2dcfc body: > The status field does not indicate the current state of the Engine on the device. Rather, it only indicates whether the HTTP response returned successfully or not. To get the current state of the device, i.e. whether it has applied target state or not, use the `appState` field in the response. footer: Change-type: patch change-type: patch Signed-off-by: Christina Wang signed-off-by: Christina Wang author: Christina Wang nested: [] version: 13.1.2 title: "'Explain /v2/state/status's status field in its response'" date: 2022-04-18T20:20:06.946Z - commits: - subject: Do not fail lockfile cleanup if files do not exist hash: 8681d6b5808142613931b4e9fe63fa94f04c65bc body: "" footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 13.1.1 title: "'Do not fail lockfile cleanup if files do not exist'" date: 2022-04-13T17:08:20.101Z - commits: - subject: Add lockfile binary and internal lib for interfacing with it hash: 51e63ea22b876580de276808eca891ff6ab2a6c5 body: > The linked issue describes the Supervisor not cleaning up locks it creates due to crashing at just the wrong time. After internal discussion we decided to differentiate Supervisor-created lockfiles from user-created lockfiles by using the `nobody` UID (65534) for Supervisor-created lockfiles. As the existing NPM lockfile lib does not allow creating lockfiles atomically with different UIDs, we move to using the lockfile binary, which is part of the procmail package. To allow nonroot users to write to lock directories, permissions are changed to allow write access by nonroot users. footer: See: https://www.flowdock.com/app/rulemotion/r-resinos/threads/gWMgK5hmR26TzWGHux62NpgJtVl see: https://www.flowdock.com/app/rulemotion/r-resinos/threads/gWMgK5hmR26TzWGHux62NpgJtVl Change-type: minor change-type: minor Closes: "#1758" closes: "#1758" Signed-off-by: Christina Wang signed-off-by: Christina Wang author: Christina Wang nested: [] version: 13.1.0 title: "'Differentiate Supervisor-created lockfiles from userapp-created lockfiles'" date: 2022-04-12T19:07:17.817Z - commits: - subject: Add system id/model support for Compulab IOT-gate hash: e6fa22306b9e2b55480772560e62bb8e8988b529 body: | dmidecode for alpine 3.11 doesn't work in this device type. This change moves to using `/proc/device-tree/product-sn` and `/proc/device-tree/product-name` for these devices. footer: Resolves: "#1916" resolves: "#1916" Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 13.0.3 title: "'Add system id/model support for Compulab IOT-gate'" date: 2022-04-08T16:06:29.933Z - commits: - subject: Correctly evaluate downloadProgress when computing current state hash: c1b5e58ebd7a1c01c985f75c9a84ac22f7f090f0 body: "" footer: Change-type: patch change-type: patch Closes: "#1918" closes: "#1918" Signed-off-by: 20k-ultra <3946250+20k-ultra@users.noreply.github.com> signed-off-by: 20k-ultra <3946250+20k-ultra@users.noreply.github.com> author: 20k-ultra nested: [] version: 13.0.2 title: "'Correctly evaluate downloadProgress when computing current state'" date: 2022-04-08T01:24:44.461Z - commits: - subject: Fix database migration for legacyApps hash: eee24604459440569dee455db918d6901ea86645 body: > Migration `M00008` had a bug with the check for legacy apps, which resulted in devices that had at some point been updated from a single container supervisor to get the error ``` Undefined binding(s) detected when compiling UPDATE. Undefined column(s): [appUuid] query ``` This adds a new migration with the fix to ensure broken fix the inconsistent database state. footer: Change-type: patch change-type: patch Closes: "#1913" closes: "#1913" author: Felipe Lalanne nested: [] version: 13.0.1 title: "'Fix database migration for legacyApps'" date: 2022-04-01T21:09:42.303Z - commits: - subject: Add support for GET v3 target state hash: 7425d1110b719dffd132c681c6e0c28fcc218dea body: | This change updates types and database format in order to allow receiving the new format of the target state from the cloud and allow applications to keep working. This change also updates metadata in the containers, meaning services will need to be restarted on supervisor update footer: Change-type: major change-type: major author: Felipe Lalanne nested: [] version: 13.0.0 title: "'Update supervisor to use new v3 target state format'" date: 2022-03-23T18:15:27.194Z - commits: - subject: Always add status to image download report hash: 21c1c006f7b8dfcf566f3e4a8e853e5e9978edf4 body: | It seems that in some cases the supervisor can report an image without a `status` field leading to a cloud side 401 response. See #1905 for more details. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 12.11.43 title: "'Always add status to image download report'" date: 2022-03-21T17:55:39.079Z - commits: - subject: Moved test setup into file included for all tests hash: b068c209b0cd8cff4c2fb5218bd1d4c2116451e6 body: "" footer: Change-type: patch change-type: patch Signed-off-by: 20k-ultra <3946250+20k-ultra@users.noreply.github.com> signed-off-by: 20k-ultra <3946250+20k-ultra@users.noreply.github.com> author: 20k-ultra nested: [] version: 12.11.42 title: "'Moved test setup into file included for all tests'" date: 2022-03-18T22:22:27.948Z - commits: - subject: Added PR template doc hash: edcbb622d84bc1290cc5ce0ef7929a9ef9195df4 body: "" footer: Change-type: patch change-type: patch Signed-off-by: 20k-ultra <3946250+20k-ultra@users.noreply.github.com> signed-off-by: 20k-ultra <3946250+20k-ultra@users.noreply.github.com> author: 20k-ultra nested: [] version: 12.11.41 title: "'Added PR template doc'" date: 2022-03-16T20:56:50.062Z - commits: - subject: Only count report connectivity errors for healthcheck hash: e217ff9027dad3e2ab092d16290b2eca0ecf6c25 body: "" footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: update packages for vulnerabilities hash: b5a2b8b7510860ba926f2e015e9294c824c700e1 body: "" footer: Change-type: patch change-type: patch Signed-off-by: 20k-ultra <3946250+20k-ultra@users.noreply.github.com> signed-off-by: 20k-ultra <3946250+20k-ultra@users.noreply.github.com> author: 20k-ultra nested: [] version: 12.11.40 title: "'Only count report connectivity errors for healthcheck'" date: 2022-03-16T19:01:20.454Z - commits: - subject: Move report throttle out of reporting logic hash: 2fdb83839c2262b398deb77eb0fa4ae2c16c374a body: "" footer: Change-type: patch change-type: patch Signed-off-by: 20k-ultra <3946250+20k-ultra@users.noreply.github.com> signed-off-by: 20k-ultra <3946250+20k-ultra@users.noreply.github.com> author: 20k-ultra nested: [] - subject: Update npm dep sinon to v11.1.2 hash: 5e5f1fb305d06399af37f1ce490a27f6e0289140 body: "" footer: Change-type: patch change-type: patch Signed-off-by: 20k-ultra <3946250+20k-ultra@users.noreply.github.com> signed-off-by: 20k-ultra <3946250+20k-ultra@users.noreply.github.com> author: 20k-ultra nested: [] version: 12.11.39 title: "'Move report throttle out of reporting logic'" date: 2022-03-16T02:57:26.149Z - commits: - subject: Apply target state if loaded from file (apps.json) hash: b069d6b9d5ec2c9a45149e491fc49c489131e3c1 body: "" footer: Closes: "#1895" closes: "#1895" Change-type: patch change-type: patch See: https://www.flowdock.com/app/rulemotion/r-supervisor/threads/tSN9BgLxkgJKapbQHQJr-R9yLPM see: https://www.flowdock.com/app/rulemotion/r-supervisor/threads/tSN9BgLxkgJKapbQHQJr-R9yLPM Signed-off-by: 20k-ultra <3946250+20k-ultra@users.noreply.github.com> signed-off-by: 20k-ultra <3946250+20k-ultra@users.noreply.github.com> author: 20k-ultra nested: [] version: 12.11.38 title: "'Apply target state if loaded from file (apps.json)'" date: 2022-03-14T22:53:42.114Z - commits: - subject: Fix check for supervisor0 network hash: d1956b69cc67842ffd0ea1af4c7fa44aef4bfedc body: > The check for the docker network supervisor0 assumed that if the interface supervisor0 existed, then the network would exist too. However this is not true on the case of docker directory corruption, which would lead to a loop with `Error: (HTTP code 404) no such network - network supervisor0 not found`. footer: Change-type: patch change-type: patch Closes: "#1806" closes: "#1806" author: Felipe Lalanne nested: [] version: 12.11.37 title: "'Fix check for supervisor0 network'" date: 2022-02-25T22:57:01.032Z - commits: - subject: Ignore selinux security opts when comparing services hash: 1b54ce8bfd5dd3d1f14f573a0bfe17ee1dd81630 body: > The moby engine v20.x.y adds some selinux [security configurations](https://docs.docker.com/engine/reference/run/#security-configuration) depending on the [container configuration](https://github.com/moby/moby/blob/master/daemon/create.go#L214). This would cause the supervisor to enter a service restart loop as the current and target service configurations will never match. The supervisor now ignores selinux specific security options since those are not supported by balenaOS. footer: Closes: "#1890" closes: "#1890" Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 12.11.36 title: "'Ignore selinux security opts when comparing services'" date: 2022-02-23T21:15:31.484Z - commits: - subject: Add troubleshooting notice for macOS hash: 6ab314f8c0af647cdb0537b6a396ccb3d5ce060f body: | When developing on macOS (Darwin) DBus may have to be installed. footer: Change-type: patch change-type: patch Signed-off-by: fisehara signed-off-by: fisehara author: fisehara nested: [] version: 12.11.35 title: "'Add troubleshooting notice for macOS'" date: 2022-02-16T19:41:22.558Z - commits: - subject: Create `touch` and `getBootTime` utility functions hash: a4d91d381a3e2dfda182bb7809a6d78b18aafebf body: "" footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Add update lock check to PATCH /v1/device/host-config hash: 5f1a77da25b9d0bd07c2fbec85cb5deefae18884 body: > This is necessary with the changes as of balenaOS 2.82.6, which watches config.json and will restart balena-hostname and some other services automatically on file change. footer: Change-type: patch change-type: patch Relates-to: "#1876" relates-to: "#1876" Signed-off-by: Christina Wang signed-off-by: Christina Wang author: Christina Wang nested: [] version: 12.11.34 title: "'Make the supervisor more resistant to restarts during config changes'" date: 2022-02-15T15:58:42.783Z - commits: - subject: Add support for local ipv6 reporting hash: 72f6cbe4c7225623ed99083d20c4a2cb2f3b70ac body: | With more and more devices in ipv6 only networks, this ensures the local addresses are reported to the cloud as part of the state patch. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 12.11.33 title: "'Add support for local ipv6 reporting'" date: 2022-02-09T17:57:09.778Z - commits: - subject: Use `writeAndSync` when writing to config.json hash: d071cd1507b8424628afa96ea1b1ed6b19225651 body: | `/mnt/boot` is a vfat partition which does not support atomic file rename. The best course of action is to write and sync as fast as possible to prevent corruption (although it still may happen) footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 12.11.32 title: Write sync config json date: 2022-02-01T21:58:22.824Z - commits: - subject: Ensure the `finish` event is always reported when fetching images hash: ae501048f59646fc688fe0373f938096dab5bd7f body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 12.11.31 title: Ensure the `finish` event is always reported when fetching images date: 2022-02-01T21:38:21.771Z - commits: - subject: Throw if target states gets a 304 without an ETAG hash: f471ad736c40afe7e4b50cb0fc46e8894d8dcdd7 body: | The API uses 304 as a mechanism for load management on target state requests. This may cause that the supervisor receives a 304 response without having received a copy of the target state first, leading to issues. This change checks for an etag when receiving a 304, throwing an exception otherwise. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 12.11.30 date: 2022-01-26T14:30:25.966Z - commits: - subject: "patch: Update fleet terminology for application update locks" hash: 6357d3541ea726db565be947b3f9e4484707389c body: "" footer: {} author: Vipul Gupta nested: [] - subject: "patch: Update fleet terminology for the Supervisor API" hash: a631e86997624a562914e5a8c6c2c60c05470d13 body: "" footer: Signed-off-by: Vipul Gupta (@vipulgupta2048) signed-off-by: Vipul Gupta (@vipulgupta2048) author: Vipul Gupta (@vipulgupta2048) nested: [] version: 12.11.29 date: 2022-01-20T12:51:52.460Z - commits: - subject: Use dmidecode to read cpuid in non ARM devices hash: d06b8e053ea0a66ba9fba4552499c7393ceee5fc body: | Cpu id is set to null so far for non ARM devices (e.g. Intel NUC). This parses the output of dmidecode to get the cpu id and system model. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] - subject: Use dmidecode to read cpuid in non ARM devices hash: c7fc7aacf838e8867890d16e77cfaa44bb62f700 body: | Cpu id is set to null so far for non ARM devices (e.g. Intel NUC). This parses the output of dmidecode to get the cpu id and system model. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 12.11.28 date: 2022-01-19T13:35:11.021Z - commits: - subject: "docs: Clarify that update locks prevent restarts from env var changes" hash: 111db221772138048e16ba2b1a4f5d14a8a53aa0 body: "" footer: Resolves: https://github.com/balena-io/docs/issues/2175 resolves: https://github.com/balena-io/docs/issues/2175 Change-type: patch change-type: patch author: Thodoris Greasidis nested: [] version: 12.11.27 date: 2022-01-18T12:22:23.682Z - commits: - subject: Increase delta request timeout to 59s to better align with our backends hash: 157fd951960355f61f930581224bddb7828ebe37 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 12.11.26 date: 2022-01-18T10:05:28.369Z - commits: - subject: Fix memoization of registry token request hash: fd1f646073fafe8cb6e38661882c113a4c9f1a67 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 12.11.25 date: 2022-01-17T16:56:17.228Z - commits: - subject: Remove apps.json after initial preload hash: 9c6e5ee11f5014fd27c084e23b8fc2c8db7c3727 body: > This avoids the supervisor trying to get back to the preloaded target state if the database is deleted by any reason. It does this by moving the used apps.json to a backup location. footer: Change-type: patch change-type: patch Depends-on: "#1841" depends-on: "#1841" author: Felipe Lalanne nested: [] version: 12.11.24 date: 2022-01-10T19:06:59.696Z - commits: - subject: add-supervisor-update-info hash: 0c8c1864ae5e9b6dc2aaa9108d1f83bb592df1f5 body: > Adding clarity to the supervisor /v1/update endpoint that the endpoint will not trigger a supervisor update itself. footer: Change-type: patch change-type: patch Signed-off-by: fisehara signed-off-by: fisehara author: fisehara nested: [] version: 12.11.23 date: 2021-12-28T19:02:08.272Z - commits: - subject: Refactor `SUPERVISOR_POLL_INTERVAL` description to mention back off hash: 51ab2032641d07df695f4fc329cb8d9ec19b92c6 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.11.22 date: 2021-12-22T04:19:34.979Z - commits: - subject: Fix `.local` dns resolution when returning multiple addresses hash: 39c667803d93182c595870352a597b9c07e1c9d1 body: > The supervisor performs its own local resolution for `.local` addresses due to a limitation in [musl](https://wiki.musl-libc.org/future-ideas.html). The resolution function was not following exactly the nodejs [dns.lookup specification](https://nodejs.org/api/dns.html#dnslookuphostname-options-callback) which could cause certain clients to fail (in this case happy-eyeballs). This updates the function to follow the specification. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 12.11.21 date: 2021-12-16T15:03:16.595Z - commits: - subject: Skip initial apply until a target has been set hash: 9015b0e22f7edf973798d5ace3d60e32d43bb042 body: > The supervisor always applies target state on start to ensure that the device is at the correct in case of a crash or another reason. This had the side effect that if the database is deleted, the supervisor would apply target state (which is empty), stopping services and possibly causing volume data loss. This prevents that behavior and ensures that the supervisor only applies target state if a target has been set either by the cloud, preload or local mode. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 12.11.20 date: 2021-12-13T12:33:34.693Z - commits: - subject: 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. hash: 201e74280566c735b2c20fb2ca3d7f109f5c9803 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.11.19 date: 2021-12-10T21:59:53.428Z - commits: - subject: Fix the "already delayed by" calculation hash: 32e3399f7c156574e35cbd6c6ec207972c7afe69 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 12.11.18 date: 2021-12-10T15:58:06.889Z - commits: - subject: Add exponential backoff on errors for logs reporting hash: 6554ff5a64230352b4cd77249861807f02feda87 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 12.11.17 date: 2021-12-09T18:33:04.044Z - commits: - subject: Improve validation messages for env vars and labels hash: f6b2ec967788a48bd70caf39c77502407861b0ce body: "" footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 12.11.16 date: 2021-12-02T20:23:27.202Z - commits: - subject: Convert target state types to io-ts for better validation hash: f6692ab918b3d1c1e032ec31a057d745ffca94dc body: | This simplifies target state validation and improves validation messages. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 12.11.15 date: 2021-12-02T18:34:10.741Z - commits: - subject: Add happy eyeballs hash: 9ed2685f63f9070dd6491bf1acae1e239b6bd557 body: "" footer: Change-type: patch change-type: patch author: Zane Hitchcox nested: [] version: 12.11.14 date: 2021-11-30T17:47:07.133Z - commits: - subject: Increase request timeout to 59s to better align with our backends hash: 2eb00fa0da15bb6fdc40421c3cf3800ed1815437 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 12.11.13 date: 2021-11-29T17:17:29.399Z - commits: - subject: "Fix broken local mode after PR #1824" hash: 6fd516a93024d2c5c8d95a4f424f1b6f949152ba body: | PR #1824 changed app update behavior to test that all images are there before moving between releases. This check always fails in local mode since local mode images are handled differently. This PR fixes local mode again by skipping the check when `localMode` is set. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 12.11.12 date: 2021-11-17T21:00:34.142Z - commits: - subject: "backends/extra-uEnv: Extend custom DTB support for Nano 2GB Devkit" hash: 3b9c68246e984aea99d03953060c435dad59d117 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Alexandru Costache signed-off-by: Alexandru Costache author: Alexandru Costache nested: [] version: 12.11.11 date: 2021-11-17T12:51:08.705Z - commits: - subject: Fix `delete-then-download` strategy hash: 394377e0a183d5a26ae6527f5aafb1f29e7fa140 body: | The strategy has been broken for a while but it was not clear how to fix it before the changes to image management. This PR fixes application manager to remove images before downloading the new image. This will only have an effect on changing images. footer: Closes: "#1233" closes: "#1233" Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 12.11.10 date: 2021-11-16T19:43:14.531Z - commits: - subject: Go back to `docker` repo type to fix versioning hash: 47eae7200edd5ce377a5f464e80d6758bf625c8b body: | Previous commit now changed ChangeLog format and skipped update of VERSION file. This reverts config back to `docker` and fixes changelog footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 12.11.9 date: 2021-11-15T15:21:07.713Z - commits: - subject: Re-add resinci config to control node checks hash: eb09ecd3653dc3d7d3f6d24de73c73f5a1437449 body: "" footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 12.11.8 date: 2021-11-12T19:02:59.834Z - commits: - subject: Wait for images to be ready before moving between releases hash: 7aedc97ee185953a3068ce3ef9743989e32a75b2 body: > For download-then-kill strategy, this waits for all changing images on the target release to be available on device before killing the old services. This will prevent that multicontainer applications get to a state where some services of the new release start runnning much before others have been downloaded. When adding new services to a multicontainer app, the supervisor will now wait for other changing services to be downloaded before starting the new service. footer: Closes: "#1812" closes: "#1812" Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 12.11.7 date: 2021-11-11T17:12:51.738Z - commits: - subject: Change repo type in repo.yml to skip concourse build hash: a57a5b354fb724392b8242c1f190311e9561e545 body: "" footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 12.11.6 date: 2021-11-11T16:28:07.398Z - commits: - subject: Fix livepush to work with Dockerfile.template hash: 31dac598a8c86be3e2f244c90bb15051cf919384 body: "" footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 12.11.5 date: 2021-11-10T15:25:46.622Z - commits: - subject: Remove .resinci.yml file hash: 22324885ea4f4eb51015654a01aa8fc9526b0096 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] - subject: Move to balena-ci action for deployments hash: 959d425a5c8a2165057ec2b1c1b97cad96804c07 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.11.4 date: 2021-11-09T06:15:34.957Z - commits: - subject: Do not build for staging in circleci job hash: 24eea117091a95870ea8eeff885466055d45ee4d body: "" footer: Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.11.3 date: 2021-11-05T14:56:19.400Z - commits: - subject: Check config for networks and volumes inside Service hash: 969f4225e54ded644d38315289e0cc84a0f3bb51 body: | This removes the need for the app module to know about the naming conventions for networks and volumes since those exist now within the service itself. This also fixes a small bug where the volume would be removed before the service itself had been successfully stopped. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 12.11.2 date: 2021-10-28T13:46:53.613Z - commits: - subject: "patch: Fix relative links in docs" hash: 006acf1e8a2d8d4c617c1e563976dd80b5531a06 body: "" footer: {} author: Kyle Harding nested: [] version: 12.11.1 date: 2021-10-25T17:14:39.516Z - commits: - subject: Use balena-ci action to deploy releases hash: caf3c1fd5867c127346058742cfa4864e9072313 body: "" footer: Change-type: minor change-type: minor Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.11.0 date: 2021-10-20T00:02:30.030Z - commits: - subject: "backends/extra-uEnv: Extend custom DTB support for Jetson TX2 NX" hash: 7d678fa8384908d7e57cfac150f32cd2025c1bdb body: | We just added support for the TX2 NX, which supports u-boot thus allows for using custom device-trees. Let's allow for Jetson TX2 NX and future TX2 NX derived device types to have device-trees configurable from the dashboard. footer: Change-type: patch change-type: patch Signed-off-by: Alexandru Costache signed-off-by: Alexandru Costache author: Alexandru Costache nested: [] version: 12.10.16 date: 2021-10-12T10:07:12.680Z - commits: - subject: Add supervisor docker-compose hash: 68d60d8aaadf17a06c66bf4f8f1f3261a0e93ccb body: | This will allow the supervisor service to be correctly named on the API footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 12.10.15 date: 2021-09-30T01:10:09.305Z - commits: - subject: Only deploy on commits from `balena-ci` and versionbot hash: f13221bbd86e5ce9e61e9bc0697cd27e0e970b9a body: "" footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 12.10.14 date: 2021-09-29T12:45:50.373Z - commits: - subject: Add backoff to state reporting when 503 is received hash: aab000209bdf7e98175a76372660ad4089ae28ec body: | Current state reporting had a backoff when network or inconsistency errors were found, but not on API errors. This change adds a backoff using RetryAfter header if present to reduce load on API footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 12.10.13 date: 2021-09-28T18:56:07.205Z - commits: - subject: Use balena CLI for pushing to balenaCloud hash: 458e2a16cfa8e963dba0198ae79935a304895f3a body: > Updates the circle CI configuration to use the balena CLI to build the supervisor image and deploy directly to the related balenaCloud app on merge to master. This allows to build the supervisor as any other app, including the posibility of creating a contract and a docker-compose footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 12.10.12 date: 2021-09-27T15:33:52.758Z - commits: - subject: Improve network interface filter hash: 802f26fe71fe98628759a120473865d40fb9575b body: | The supervisor filters out some network interfaces for mac address reporting, to remove (balena*,lo,tun*,etc). The previous filter was matching any interface containing in one of the defined filters, making it stricter than necessary. This commit fixes the issue footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 12.10.11 date: 2021-09-24T16:07:26.813Z - commits: - subject: "api-keys: Remove os variant parameter for authentication check" hash: 9e0cbe04c6d1c533c3e66183eca1d3abfb8c381d body: | The current code authenticates unmanaged production devices which makes no sense. Unmanaged devices do not need to authenticate with the API. footer: Change-type: patch change-type: patch Signed-off-by: Alex Gonzalez signed-off-by: Alex Gonzalez author: Alex Gonzalez nested: [] - subject: "os-release: Use developmentMode to ascertain OS variant in new releases" hash: 1abd10a12947f05ae328496e98fcbcdc6a834ce1 body: | Newer BalenaOS releases have replaced OS variants for a developmentMode configuration setting. This commit uses this variable to set the OS variant in the absence of `VARIANT_ID` from the os-release file. footer: Change-type: patch change-type: patch Signed-off-by: Alex Gonzalez signed-off-by: Alex Gonzalez author: Alex Gonzalez nested: [] - subject: "config: Add developmentMode to schema" hash: 4ad7a3ae917c888f267463fd3d5b839439cf40e6 body: > Add a `developmentMode` configuration variable to the schema. Do not expose this on the device target state until local key-based authentication is sorted. footer: Relates-to: https://jel.ly.fish/e9525e9e-aa74-478c-b931-52951c679f78 relates-to: https://jel.ly.fish/e9525e9e-aa74-478c-b931-52951c679f78 Change-type: patch change-type: patch Signed-off-by: Alex Gonzalez signed-off-by: Alex Gonzalez author: Alex Gonzalez nested: [] version: 12.10.10 date: 2021-09-07T13:47:51.206Z - commits: - subject: Update URL to balena-proxy-config source code hash: 2bcc3aeb56cce11b21d411ee55492109ebaf259f body: | Use a GitHub permalink that includes the commit in case the file changes and the reference becomes out-of-date. footer: Change-type: patch change-type: patch Signed-off-by: Kyle Harding signed-off-by: Kyle Harding author: Kyle Harding nested: [] version: 12.10.9 date: 2021-09-02T12:25:21.696Z - commits: - subject: Bump path-parse from 1.0.6 to 1.0.7 hash: 2e38356bf4f5157483017ea2e6670514cbca49c1 body: > Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7. - [Release notes](https://github.com/jbgutierrez/path-parse/releases) - [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7) --- updated-dependencies: - dependency-name: path-parse dependency-type: indirect ... footer: Change-type: patch change-type: patch Signed-off-by: dependabot[bot] signed-off-by: dependabot[bot] author: dependabot[bot] nested: [] version: 12.10.8 date: 2021-09-01T20:50:51.601Z - commits: - subject: Bump tar from 4.4.13 to 4.4.19 hash: b7cb494602fbd050bb9e31b5e8293a080349562c body: | Bumps [tar](https://github.com/npm/node-tar) from 4.4.13 to 4.4.19. - [Release notes](https://github.com/npm/node-tar/releases) - [Changelog](https://github.com/npm/node-tar/blob/main/CHANGELOG.md) - [Commits](https://github.com/npm/node-tar/compare/v4.4.13...v4.4.19) --- updated-dependencies: - dependency-name: tar dependency-type: indirect ... footer: Change-type: patch change-type: patch Signed-off-by: dependabot[bot] signed-off-by: dependabot[bot] author: dependabot[bot] nested: [] version: 12.10.7 date: 2021-09-01T20:40:01.473Z - commits: - subject: Remove "variable list" heading in configuration doc hash: 5205e8ce07375a7bf9ca18f0a28bd73c275acd96 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.10.6 date: 2021-09-01T18:06:51.646Z - commits: - subject: Clean up configurations.md hash: af51ef8eb54af96cf00657576908f020ac401488 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.10.5 date: 2021-08-31T22:51:45.166Z - commits: - subject: Include issues with downgrading versions in README hash: 1280ac365618eb4106e9c20dd4e738a22958d0b7 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.10.4 date: 2021-08-31T18:51:02.478Z - commits: - subject: Skip restarting services if they are part of conf targets hash: 669866b4c296529bd5392a0c48cd389a6d1f5770 body: | Some recent changes to the OS allowed some services to restart automatically when the associated config files are changed. In these cases we want to avoid restarting the same services manually from the supervisor. footer: Change-type: patch change-type: patch Signed-off-by: Kyle Harding signed-off-by: Kyle Harding author: Kyle Harding nested: [] version: 12.10.3 date: 2021-08-24T18:07:03.099Z - commits: - subject: Removed fire emoji prefix for firewall logs. hash: 30c728fae23ee66f3c1612736bb0c300f0b0762d body: "" footer: Change-type: patch change-type: patch author: peakyDicers nested: [] version: 12.10.2 date: 2021-08-02T21:27:42.412Z - commits: - subject: Fix regression with local mode push hash: 6f5f3bc2f3aea1bf5e5772533be80c3bfbb4e3a9 body: > PR #1749 introduced a bug when pushing local target state. An update to the [image name normalization](https://github.com/balena-os/balena-supervisor/blob/f1bd4b8d9bcef29e326cbf97eaddd837c2704d19/src/lib/docker-utils.ts#L81) failed to consider the local image name format. This results in mangling of image names in the database, i.e. the image `ubuntu:latest` is stored as `/ubuntu:latest`. This causes an exception to be returned by the dockerode `getImage('/ubuntu:latest').inspect()` call. This sends the supervisor into a crash loop and is shown on the supervisor journal logs as ``` getaddrinfo ENOTFOUND images at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:64:26) ``` Unfortunately if this happens on a user device, since the mangled image name is already on the database, the easiest way to fix is to remove the supervisor database and let the supervisor recreate it. Deleting the database should be side effect free. footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 12.10.1 date: 2021-08-02T15:55:28.001Z - commits: - subject: Remove comparison based on image, release, and service ids hash: b67f94802dd8c2e890121f6ca82eda8dff2c051c body: > Preparing for the new v3 target state, where the supervisor will make environment dependent ids optional and rely on using general UUIDs and user known identifiers for comparison. This PR moves forward in that direction by removing some of those comparisons for v2 target state. - imageId to be replaced with imageName - serviceId to be replace by serviceName - releaseId to be replaced by commit (future release_uuid) This is a backwards compatible change, meaning it doesn't completely get rid of these identifiers (which are still being used by supervisor API and for state patch), but will not depend on those identifiers for calculating steps to target state. footer: Change-type: minor change-type: minor author: Felipe Lalanne nested: [] version: 12.10.0 date: 2021-07-28T14:00:22.581Z - commits: - subject: Use tags to track supervised images in docker hash: f1bd4b8d9bcef29e326cbf97eaddd837c2704d19 body: > The image manager module now uses tags instead of docker IDs as the main way to identify docker images on the engine. That is, if the target state image has a name `imageName:tag@digest`, the supervisor will always use the given `imageName` and `tag` (which may be empty) to tag the image on the engine after fetching. This PR also adds checkups to ensure consistency is maintained between the database and the engine. Using tags allows to simplify query and removal operations, since now removing the image now means removing tags matching the image name. Before this change the supervisor relied only on information in the supervisor database, and used that to remove images by docker ID. However, the docker id is not a reliable identifier, since images retain the same id between releases or between services in the same release. List of squashed commits - Remove custom type NormalizedImageInfo - Remove dependency on docker-toolbelt - Use tags to traack supervised images in docker - Ensure tag removal occurs in sequence - Only save database image after download confirmed footer: Relates-to: "#1616 #1579" relates-to: "#1616 #1579" Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 12.9.6 date: 2021-07-26T13:58:29.275Z - commits: - subject: Log the delta URL that will be downloaded on update hash: c05c5803f08ddd31eeddb2000cc5f162fb916003 body: "" footer: Change-type: patch change-type: patch Closes: "#1755" closes: "#1755" author: Felipe Lalanne nested: [] version: 12.9.5 date: 2021-07-22T15:08:58.505Z - commits: - subject: Fix db-helper module for tests hash: 357d1baf6188d89b8552fd9068dbea9ac50aa008 body: > The previous module was using `rewire` to get the knex instance from the db module but that was leading to issues when running tests using `test:fast`. This provides a fix for the test module that just removes the destroy call entirely (it turns out it is not necessary). footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 12.9.4 date: 2021-07-08T18:48:09.003Z - commits: - subject: Allow users to override HUP lock if device is stuck in invalid state hash: 17e740a4ba3ca083a43a2b27fcaed8d79d64f1bc body: | This functionality is needed when breadcrumbs aren't deleted after a HUP rollback for whatever reason. Also rename HUP lock function. footer: Change-type: patch change-type: patch Connects-to: "#1459" connects-to: "#1459" Signed-off-by: Christina Wang signed-off-by: Christina Wang author: Christina Wang nested: [] version: 12.9.3 date: 2021-07-08T03:46:52.250Z - commits: - subject: Point users to the configuration page for overriding update locks hash: 3e960f0f09267f901e10e3cbb28e167722a92756 body: "" footer: Change-type: patch change-type: patch See: https://www.flowdock.com/app/rulemotion/r-product/threads/9mk8QcdNp4UAwKeEUpXPHVxYM_c see: https://www.flowdock.com/app/rulemotion/r-product/threads/9mk8QcdNp4UAwKeEUpXPHVxYM_c Signed-off-by: Thodoris Greasidis thodoris@balena.io signed-off-by: Thodoris Greasidis thodoris@balena.io Co-authored-by: Kyle Harding co-authored-by: Kyle Harding author: Thodoris Greasidis nested: [] version: 12.9.2 date: 2021-07-07T12:52:15.919Z - commits: - subject: Clarify that /v2/applications/:appId/stop-service is temporary hash: 3bc3274001132d4e2eb9ecdda9bd6dd8b372ae4d body: "" footer: Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.9.1 date: 2021-07-05T23:53:42.210Z - commits: - subject: Improve testing for supervisor composition modules hash: e04e64763f3aeab9b5a91be8ad238ef763d82f22 body: > This PR cleans up testing for supervisor compose modules. It also fixes broken tests for application manager and removes a lot of dependencies for those tests on DB and other unnecessary mocks. There are probably a lot of cases that tests are missing but this should make writing new tests a lot easier. This PR also creates a new mock dockerode (mockerode) module that should make it easier to test operations that interact with the engine. All references to the old mock-dockerode have not yet been removed but that should come soon in another PR List of squashed commits: - Add tests for network create/remove - Move compose service tests to test/src/compose and reorganize test descriptions - Add support for image creation to mockerode - Add additional tests for compose volumes - Update mockerode so unimplemented fake methods throw. This is to ensure tests using mockerode fail if an unimplemented method is used - Update tests for volume-manager with mockerode - Update tests for compose/images - Simplify tests using mockerode - Clean up compose/app tests - Create application manager tests footer: Change-type: minor change-type: minor author: Felipe Lalanne nested: [] version: 12.9.0 date: 2021-07-05T21:54:41.727Z - commits: - subject: Bump color-string from 1.5.3 to 1.5.5 hash: 4518c93fcaf77727663e4f91ed922b51a5d2f94f body: > Bumps [color-string](https://github.com/Qix-/color-string) from 1.5.3 to 1.5.5. - [Release notes](https://github.com/Qix-/color-string/releases) - [Changelog](https://github.com/Qix-/color-string/blob/master/CHANGELOG.md) - [Commits](https://github.com/Qix-/color-string/commits/1.5.5) --- updated-dependencies: - dependency-name: color-string dependency-type: indirect ... footer: Change-type: patch change-type: patch Signed-off-by: dependabot[bot] signed-off-by: dependabot[bot] author: dependabot[bot] nested: [] version: 12.8.12 date: 2021-07-01T22:29:58.156Z - commits: - subject: Remove codeowners file hash: 3d4c720d0bbfd66b8749b993cd94c33b00363587 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.8.11 date: 2021-06-30T15:35:26.001Z - commits: - subject: Prevent updates/reboots with locks when HUP breadcrumbs present hash: a9028e58ecb097f0106e74f6c4cd1b755fa9ece5 body: | On HUP, some healthceck services need to complete before it's safe for the Supervisor to reboot the device when applying state changes. rollback-{health|altboot}-breadcrumb are the two files that Supervisor looks for and locks the device on when present in this patch. Not closing issue 1459 because there is a possible case where, on altboot rollback, the breadcrumbs are not present. 1459 may be closed when this edge case is investigated. footer: Change-type: patch change-type: patch Connects-to: "#1459" connects-to: "#1459" See: https://www.flowdock.com/app/rulemotion/r-supervisor/threads/cL7YfNOLSfTPfw05h59GEW0kfOt see: https://www.flowdock.com/app/rulemotion/r-supervisor/threads/cL7YfNOLSfTPfw05h59GEW0kfOt Signed-off-by: Christina Wang signed-off-by: Christina Wang author: Christina Wang nested: [] version: 12.8.10 date: 2021-06-30T04:30:34.845Z - commits: - subject: Fix supervisor using wrong source for deltas hash: 2fa0d3dc433aff620c28b41d05d739430c8d8922 body: | This fixes a specific issue when the supervisor cannot find the right source for deltas (e.g. after the DB gets deleted), where legacy behavior was to look for any image in the app. footer: Change-type: patch change-type: patch Relates-to: "#1729" relates-to: "#1729" author: Felipe Lalanne nested: [] version: 12.8.9 date: 2021-06-25T20:31:04.130Z - commits: - subject: Add revpi-connect, revpi-core-3 to Raspberry Pi variants hash: 7c26480ada7a413c530f076cbe2c703c28e68916 body: | We need the supervisor to be able to manage config.txt changes for these Revolution Pi boards too. footer: Change-type: patch change-type: patch Signed-off-by: Florin Sarbu signed-off-by: Florin Sarbu author: Florin Sarbu nested: [] version: 12.8.8 date: 2021-06-18T11:36:06.943Z - commits: - subject: Bump normalize-url from 4.5.0 to 4.5.1 hash: ece3be6d4503d15ffbac193479535d35bcd8030c body: > Bumps [normalize-url](https://github.com/sindresorhus/normalize-url) from 4.5.0 to 4.5.1. - [Release notes](https://github.com/sindresorhus/normalize-url/releases) - [Commits](https://github.com/sindresorhus/normalize-url/commits) --- updated-dependencies: - dependency-name: normalize-url dependency-type: indirect ... footer: Change-type: patch change-type: patch Signed-off-by: dependabot[bot] signed-off-by: dependabot[bot] author: dependabot[bot] nested: [] version: 12.8.7 date: 2021-06-14T10:27:12.523Z - commits: - subject: Document the current state of HOST_FIREWALL_MODE hash: 3961fbf1e714c594f730fe06fa3bbd3386f918bd body: | This set of docs can provide info for support agents until issue 1482 is resolved. Expect this document to change as firewall implementation is improved. footer: Connects-to: "#1525" connects-to: "#1525" Change-type: patch change-type: patch Signed-off-by: Christina Wang signed-off-by: Christina Wang author: Christina Wang nested: [] version: 12.8.6 date: 2021-06-09T08:03:27.422Z - commits: - subject: Improve target state typings hash: ee4d919fca25be550306bc00197044144555361c body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 12.8.5 date: 2021-06-08T12:49:21.878Z - commits: - subject: Refactor debug log when unmanaged volume is found hash: ab4fb454e056d3a70b4c9e1041ebdd16b0d03dca body: "" footer: Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.8.4 date: 2021-06-02T17:10:32.272Z - commits: - subject: Prevent a recursive loop when reporting current state hash: 55a344dceb826c5655067e6006e006846778b5e9 body: "" footer: Closes: "#1673" closes: "#1673" Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.8.3 date: 2021-05-28T20:23:03.757Z - commits: - subject: Revert multiline bullet points in notes hash: 5524b5e986d448110c19a226f38e984e1d699f5d body: | Docs engine cannot support > - markdown pattern. footer: Change-type: patch change-type: patch Signed-off-by: Christina Wang signed-off-by: Christina Wang author: Christina Wang nested: [] version: 12.8.2 date: 2021-05-26T08:17:22.240Z - commits: - subject: Specify that all restart API endpoints remove and recreate containers hash: 7c4d232439560d17c20584dc3b51f98944dedb37 body: > This is intended behavior. Also add quotes around UUID in examples to reduce confusion, and format responses as multiline JSON for clarity. footer: Closes: "#1681" closes: "#1681" Change-type: patch change-type: patch Signed-off-by: Christina Wang signed-off-by: Christina Wang author: Christina Wang nested: [] version: 12.8.1 date: 2021-05-19T02:40:22.974Z - commits: - subject: Add toggleable `SUPERVISOR_HARDWARE_METRICS` config hash: dcd863eed8b58cc7eae866c941597c7e0a9bfcb1 body: | On devices with bandwidth sensitivity, this config var disables sending system information such as memory usage or cpu temp as current state. footer: Closes: "#1645" closes: "#1645" Change-type: minor change-type: minor Signed-off-by: Christina Wang signed-off-by: Christina Wang author: Christina Wang nested: [] version: 12.8.0 date: 2021-05-13T05:50:32.160Z - commits: - subject: Upgrade mocha to v8, use mocha fixtures for chai plugins hash: 62375c907f2579873e590e2f05767ae6157bbc7b body: | Remove chai-events and add explicit chai devDependency footer: Change-type: patch change-type: patch Signed-off-by: Christina Wang signed-off-by: Christina Wang author: Christina Wang nested: [] version: 12.7.4 date: 2021-05-12T08:16:22.915Z - commits: - subject: Simplify/optimize filtering non-significant sys info changes hash: 74ae31fcfd392df901a12972332ecabce5ec62fd body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] - subject: Avoid double `omit`s whilst filtering current state hash: 466ff58871cba029b881eb53c4c9cf2eb842eb16 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 12.7.3 date: 2021-05-12T07:02:13.515Z - commits: - subject: Bump lodash from 4.17.20 to 4.17.21 hash: 90fe8359f10094863cf1940b591cfe46f4de1442 body: > Bumps [lodash](https://github.com/lodash/lodash) from 4.17.20 to 4.17.21. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](https://github.com/lodash/lodash/compare/4.17.20...4.17.21) footer: Change-type: patch change-type: patch Signed-off-by: dependabot[bot] signed-off-by: dependabot[bot] author: dependabot[bot] nested: [] version: 12.7.2 date: 2021-05-10T04:10:57.334Z - commits: - subject: Bump contrato from 0.5.0 to 0.6.3 hash: 19a7ccb998bc86623eca204b9c67fddb3bd0a40f body: "" footer: Change-type: patch change-type: patch Signed-off-by: Micah Halter signed-off-by: Micah Halter author: Micah Halter nested: [] version: 12.7.1 date: 2021-05-07T14:51:33.669Z - commits: - subject: Backwards compatility changes for old resin namespaces hash: 301aa52f032fecd29495894e828f21a93df60caa body: "" footer: Change-type: patch change-type: patch Signed-off-by: Kyle Harding signed-off-by: Kyle Harding author: Kyle Harding nested: [] - subject: Change container name to balena_supervisor hash: 09615c9d8254d3f62ef1088d0da35485b0c18734 body: "" footer: Change-type: minor change-type: minor Signed-off-by: Kyle Harding signed-off-by: Kyle Harding author: Kyle Harding nested: [] - subject: Rename resin-supervisor to balena-supervisor hash: 5faf9d7686d7f03b5bb73ef9a234038e7e61037c body: "" footer: Change-type: minor change-type: minor Signed-off-by: Kyle Harding signed-off-by: Kyle Harding author: Kyle Harding nested: [] version: 12.7.0 date: 2021-05-07T12:05:43.135Z - commits: - subject: Show warning instead of exception for invalid network config hash: 5197a1330d69cbff97f3c53a77f640638e074b8a body: > A previous PR (#1656) fixed validation for network ipam config, checking that both network and subnet are defined for each ipam config entry (as described in the docker documentation). After that PR, the validations throws an exception if the network target state is incorrect, but this turns out to be the wrong approach, because that exception is also triggered when querying target state. This isn't a problem in normal operation, but it is in local mode, because local mode queries the old target state before sending a new one. Since the query fails, the CLI can never push the new target state. This PR replaces the exception with a warning on the logs, since a misconfigured network won't cause any engine failures, it will just prevent containers to communicate through the provided network. A future improvement should move this validation to an earlier point in the process, so the target state can get rejected before it even gets to a point it can be used. footer: Relates-to: "#1693" relates-to: "#1693" Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 12.6.8 date: 2021-05-06T20:30:52.075Z - commits: - subject: Patch awaiting response when checking if supervisor0 network exists hash: 8b0c2347d8d04d3c7101016f6c885f31d9b3dc6a body: "" footer: Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.6.7 date: 2021-05-06T15:58:02.661Z - commits: - subject: Fix parsing driver_opts from compose to docker network creation hash: 1408fd7bcb5f25b75679b7ce0e509adc7f8f6004 body: "" footer: Change-type: patch change-type: patch Signed-off-by: quentinGllmt signed-off-by: quentinGllmt author: quentinGllmt nested: [] version: 12.6.6 date: 2021-05-06T14:52:59.431Z - commits: - subject: Update balena-register-device and send extra info at provision time hash: 9e52bb33ac931a035b4cd0fd80173bf10db771c0 body: | This extra info will mean the API is able to immediately set default config vars based on the os/supervisor version so that they are available on the first target state fetch rather than having a delay whilst waiting for the supervisor to report them as part of a state patch Update balena-register-device from 6.1.6 to 7.2.0 footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: - commits: - subject: Support `supervisorVersion`/`osVersion`/`osVariant`/`macAddress` fields hash: 6f10fe77ba11ec57bb012777975423dda498a8bd body: "" footer: Change-type: minor change-type: minor author: Pagan Gazzard version: balena-register-device-7.2.0 date: 2021-04-29T12:35:30.543Z - commits: - subject: Update dependencies hash: 8d78459d6cf6e0dcaa4721c38898eeb2d25c5674 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: balena-register-device-7.1.1 date: 2021-04-29T12:23:50.655Z - commits: - subject: Switch from randomstring to uuid for generating device uuids hash: 596a76abcf0a76aef93d191e4c59b939701c80b8 body: "" footer: Change-type: minor change-type: minor author: Pagan Gazzard version: balena-register-device-7.1.0 date: 2020-07-13T14:38:52.915Z - commits: - subject: Add .versionbot/CHANGELOG.yml for nested changelogs hash: 7444f4ba2538180a5c75fa5f62de6f395ae28ba7 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: balena-register-device-7.0.1 date: 2020-07-13T13:03:45.818Z - commits: - author: Pagan Gazzard body: "" hash: 8cfa23ebbe2915b2f37730972cf104cb47f68c65 subject: Convert to type checked javascript - author: Pagan Gazzard body: "" footers: change-type: major hash: 0f3e9d26f375554f793dd632b94f33e3ee88933b subject: Drop callback interface in favor of promise interface - author: Pagan Gazzard body: "" footers: change-type: major hash: 67d46678e910c2c8b11f417fa40d00781a1a3905 subject: Switch to a named export - author: Pagan Gazzard body: "" footers: change-type: major hash: faa9edc73cf243acd2abe1532e64aab8303031b5 subject: Convert to typescript - author: Pagan Gazzard body: "" footers: change-type: major hash: 9e5bdbeaee325c8a523c8498ef023baeb49ef7c1 subject: Update to typed-error 3.x - author: Pagan Gazzard body: "" footers: change-type: major hash: 27e78f2ea3f1a059a9fb2ba43dff55f32b0b2b4a subject: Switch to returning native promises - author: Pagan Gazzard body: "" footers: change-type: major hash: dc21eb20dba1a977e74ffadbece66720ced4c529 subject: Update to balena-request 11.x - author: Pagan Gazzard body: "" hash: f4008dad3de415cc25987268b387848fc3ed1200 subject: Use typescript import helpers date: 2020-07-06T18:11:23Z version: balena-register-device-7.0.0 version: 12.6.5 date: 2021-05-06T10:19:39.399Z - commits: - subject: Log error responses from API when reporting state hash: 2203f78d517a9edf75a261dd3c77cdf5b609548c body: | This adds the error message from the API to journal logs to better identify those cases where patching to the API fails. footer: Change-type: patch change-type: patch Relates-to: "#1680" relates-to: "#1680" author: Felipe Lalanne nested: [] version: 12.6.4 date: 2021-05-05T19:06:49.805Z - commits: - subject: Added configurations.md to document all configurable vars hash: 07a0344dc6ac15a67513080c63dffe0d6b811ebf body: "" footer: Change-type: patch change-type: patch Closes: "#1646" closes: "#1646" Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.6.3 date: 2021-05-04T02:10:52.553Z - commits: - subject: Remove version tag from livepush generated image hash: 9c1d10dc318bb7c207608ed197c5713960642af3 body: > The `start-resin-supervisor` script in newer OS version no longer uses the SUPERVISOR_TAG environment variable setup on supervisor.conf and update-supervisor.conf. This change removes the need for that variable with livepush supervisor to make it compatible with older and newer OS versions footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 12.6.2 date: 2021-04-30T19:54:33.136Z - commits: - subject: Remove mz, mkdirp, body-parser dependencies hash: 4a2ac557ef11d334154bafa0cab4e7272cbed749 body: | 'mz' can be safely replaced with fs.promises and util.promisify for faster native methods. 'mkdirp' after Node v8 uses native fs.mkdir, thus is redundant. 'body-parser' is deprecated and contained within express v4.x. footer: Closes: "#1567" closes: "#1567" Change-type: patch change-type: patch Signed-off-by: Christina Wang signed-off-by: Christina Wang author: Christina Wang nested: [] version: 12.6.1 date: 2021-04-27T22:23:07.811Z - commits: - subject: Bump dockerode types to 2.5.34 hash: 95fb568aaeb0d5a0fa8b4b88f650b51d3b96786d body: > This commit updates dockerode types to the latest 2.x version, removing the need for custom composer types for network. This commit also modifies network tests to use the new types footer: Change-type: minor change-type: minor author: Felipe Lalanne nested: [] version: 12.6.0 date: 2021-04-27T17:10:23.382Z - commits: - subject: Enable docker layer caching on CircleCI hash: dd2df215f0c62459f3e26c56efdfce26edbcc229 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.5.16 date: 2021-04-27T16:42:23.485Z - commits: - subject: Added clean step to remove previous builds before running tests hash: 6f4030634ad05f29f72cea11456a252570c470d7 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.5.15 date: 2021-04-26T19:55:49.189Z - commits: - subject: "balena-supervisor: replace references to resin-vars" hash: 6ca9507beb616c4b344e4927cb5db01534c8ae4b body: | Replace all references to the 'resin-vars' script with 'balena-config-vars' as it has been renamed. Add a conditional test for compatibility with legacy systems. footer: Change-type: patch change-type: patch Changelog-entry: "balena-supervisor: replace references to resin-vars" changelog-entry: "balena-supervisor: replace references to resin-vars" Signed-off-by: Mark Corbin signed-off-by: Mark Corbin author: Mark Corbin nested: [] version: 12.5.14 date: 2021-04-26T18:12:32.752Z - commits: - subject: Update supervisor to typescript 4 hash: fd06c06092b61d349e8b40f66f847065368810e3 body: "" footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 12.5.13 date: 2021-04-25T23:09:44.241Z - commits: - subject: Bump ssri from 6.0.1 to 6.0.2 hash: ae8dc8ff227237444ae532cf7e817bfc463fbac5 body: | Bumps [ssri](https://github.com/npm/ssri) from 6.0.1 to 6.0.2. - [Release notes](https://github.com/npm/ssri/releases) - [Changelog](https://github.com/npm/ssri/blob/v6.0.2/CHANGELOG.md) - [Commits](https://github.com/npm/ssri/compare/v6.0.1...v6.0.2) footer: Change-type: patch change-type: patch Signed-off-by: dependabot[bot] signed-off-by: dependabot[bot] author: dependabot[bot] nested: [] version: 12.5.12 date: 2021-04-20T22:52:22.531Z - commits: - subject: Refactor extra_uEnv to not match with intel nuc hash: e6eda0fca7b280aa5453972a26c36ab6895c227a body: "" footer: Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.5.11 date: 2021-04-14T05:27:23.056Z - commits: - subject: "patch: Fix the sysInfo.getCpuId() test" hash: 50a2f3d313d8883c077aea7e57188b1354942edd body: "" footer: Signed-off-by: Vipul Gupta (@vipulgupta2048) signed-off-by: Vipul Gupta (@vipulgupta2048) author: Vipul Gupta (@vipulgupta2048) nested: [] - subject: "patch: Fix substring end parameter for accurate CPU ID" hash: d058f43febe397857ddaa7e72a58310e89576e28 body: "" footer: Signed-off-by: Vipul Gupta (@vipulgupta2048) signed-off-by: Vipul Gupta (@vipulgupta2048) author: Vipul Gupta (@vipulgupta2048) nested: [] version: 12.5.10 date: 2021-04-12T21:52:54.458Z - commits: - subject: Fix broken IPAM network validation hash: fdb37191e7cd53d4731f9c75e2780959368b305c body: | Network validaton was failing to identify a bad IPAM network configuration leading to supervisor failures (see #1618) footer: Change-type: patch change-type: patch Closes: "#1618" closes: "#1618" author: Felipe Lalanne nested: [] version: 12.5.9 date: 2021-04-09T21:52:12.779Z - commits: - subject: Improved mutable (/data) file system detection hash: 204475d3dcbbb8a69b681d0348b39b5b486b628b body: "" footer: Change-type: patch change-type: patch Closes: "#1609" closes: "#1609" Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.5.8 date: 2021-04-08T21:37:33.210Z - commits: - subject: Add message to refer to v2 endpoints hash: 732950fb9e106bf0d28d9cbb84c73c80d60e533e body: "" footer: Change-type: patch change-type: patch Signed-off-by: Vipul Gupta (@vipulgupta2048) signed-off-by: Vipul Gupta (@vipulgupta2048) author: Vipul Gupta (@vipulgupta2048) nested: [] version: 12.5.7 date: 2021-04-06T14:20:11.746Z - commits: - subject: Prevent unintended image removal when calling purge endpoints to remove volumes hash: 31effed426750fabc30afb8503ec5b9feedf08b5 body: > Using safeStateClone within doPurge to applyIntermediateTarget after successful volume purge has led to various type deficiencies being revealed in common.js. Add several inline types in common.js to satisfy the type checker (credit: Page ). Delete common.d.ts since it's not required and might mistakenly mask true I/O types of functions in common.js. footer: Closes: "#1611" closes: "#1611" Change-type: patch change-type: patch Signed-off-by: Christina Wang signed-off-by: Christina Wang author: Christina Wang nested: [] version: 12.5.6 date: 2021-04-05T12:21:12.006Z - commits: - subject: Update setup section to reflect switch to balena-os org hash: dc41a7fa51725c716653e5eb7164cc73492607e5 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Christina Wang signed-off-by: Christina Wang author: Christina Wang nested: [] version: 12.5.5 date: 2021-04-05T10:09:42.521Z - commits: - subject: Patch list volumes to always return an array hash: ecbe9ee9f9f1105347dea320f5f356a956bf9395 body: "" footer: Change-type: patch change-type: patch Closes: "#1636" closes: "#1636" Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.5.4 date: 2021-04-02T00:33:39.207Z - commits: - subject: Bump y18n from 4.0.0 to 4.0.1 hash: 9dd508b94d1bcf93801c698ee1286fd217b9d366 body: | Bumps [y18n](https://github.com/yargs/y18n) from 4.0.0 to 4.0.1. - [Release notes](https://github.com/yargs/y18n/releases) - [Changelog](https://github.com/yargs/y18n/blob/master/CHANGELOG.md) - [Commits](https://github.com/yargs/y18n/commits) footer: Change-type: patch change-type: patch Signed-off-by: dependabot[bot] signed-off-by: dependabot[bot] author: dependabot[bot] nested: [] version: 12.5.3 date: 2021-04-01T06:10:19.520Z - commits: - subject: Removed upgrades.md doc hash: 711909d9155a38c52baba09ceef5fa8d12a6ed11 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.5.2 date: 2021-03-31T23:02:14.501Z - commits: - subject: Disable docker layer caching on CircleCI hash: 7a318f22274b4a72d23d743433edfc2a5d3ebd9d body: | Docker layer caching is a paid plan feature on Circle CI, it has started being enforced by Circle footer: Change-type: patch change-type: patch author: Felipe Lalanne nested: [] version: 12.5.1 date: 2021-03-31T13:47:33.254Z - commits: - subject: Add cywang117 to CODEOWNERS hash: 0f064fb84aa029e55775123a3e22a9929280a323 body: "" footer: Change-type: minor change-type: minor Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.5.0 date: 2021-03-30T14:11:50.403Z - commits: - subject: Enable strict options by default and only disable specific ones hash: 2ae22b4fbd36090e65d943ebe7e5a623d6286b8f body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 12.4.10 date: 2021-03-22T17:49:15.699Z - commits: - subject: Move chai-things and chai-like into dev dependencies hash: 18a8c1168dbb7f6154f07a76ca42f42ca2ccca1b body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 12.4.9 date: 2021-03-22T14:39:13.881Z - commits: - subject: Add explicit dockerode dependency hash: b83160ff4b16e4c432760ba88c30f3b1e4ab4318 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 12.4.8 date: 2021-03-22T13:18:12.146Z - commits: - subject: "typos: seperate -> separate" hash: f9a157c9ecfd8ea37a4ed3a5f123db9ec6828fdd body: | mainly to get the docs one, but figured i could hit them all footer: Change-type: patch change-type: patch Signed-off-by: Matthew McGinn signed-off-by: Matthew McGinn author: Matthew McGinn nested: [] version: 12.4.7 date: 2021-03-17T18:31:05.623Z - commits: - subject: Infer legacy Volumes that do not have the supervised label hash: 183ea88a2ad3bbdf18ab96505920465f1a404df0 body: "" footer: Change-type: patch change-type: patch Closes: "#1604" closes: "#1604" Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.4.6 date: 2021-03-15T23:49:25.274Z - commits: - subject: Add nebra-hnt to raspberry pi variants hash: 8f9254b6b12503573386e8fb613a5f289473f662 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Felipe Lalanne signed-off-by: Felipe Lalanne author: Felipe Lalanne nested: [] version: 12.4.5 date: 2021-03-12T15:48:22.200Z - commits: - subject: Bump elliptic from 6.5.3 to 6.5.4 hash: f013f04e4d0ab502f87bde263ce3ef6217a84640 body: > Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.3 to 6.5.4. - [Release notes](https://github.com/indutny/elliptic/releases) - [Commits](https://github.com/indutny/elliptic/compare/v6.5.3...v6.5.4) footer: Change-type: patch change-type: patch Signed-off-by: dependabot[bot] signed-off-by: dependabot[bot] author: dependabot[bot] nested: [] version: 12.4.4 date: 2021-03-09T18:05:32.658Z - commits: - subject: Refactor journalctl monitor to only spawn new process on exit hash: 898b72c7f706ef9482b76b5acfa0ecd6d3ae6c99 body: "" footer: Change-type: patch change-type: patch Closes: "#1591" closes: "#1591" Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.4.3 date: 2021-02-24T17:04:34.041Z - commits: - subject: Call restore for each healthcheck stub in v1 tests hash: 2953f313e6c83ea5a9340c6143f38bc9c7a1e699 body: "" footer: Signed-off-by: Christina Wang signed-off-by: Christina Wang Change-type: patch change-type: patch author: Christina Wang nested: [] version: 12.4.2 date: 2021-02-19T02:09:38.038Z - commits: - subject: Refactor checkTruthy to return more predictable values hash: ec23d1d37141c81379fd9af487a4b3b7c907dad1 body: "" footer: Change-type: patch change-type: patch Closes: "#1595" closes: "#1595" Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.4.1 date: 2021-02-18T17:38:51.848Z - commits: - subject: Complete /v1/device/host-config unit tests, modify PATCH route hash: b3b1d47b34e0e2109f2d0b08551415f588457480 body: "" footer: Change-type: minor change-type: minor Signed-off-by: Christina Wang signed-off-by: Christina Wang author: Christina Wang nested: [] version: 12.4.0 date: 2021-02-18T03:31:54.245Z - commits: - subject: Patch killServicesUsingApi to not get stuck in noop loop hash: c602014617704d46710fcd7b7d96961e4f60cead body: "" footer: Change-type: patch change-type: patch Closes: "#1594" closes: "#1594" Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.3.7 date: 2021-02-16T23:36:37.734Z - commits: - subject: Fix gpu label support hash: f009d3a3e99aa174b03b09eca39f9f6b773f0230 body: > The device request object was created with untouched fields left unset. When comparing state to determine if a transition is required this would result in a mismatch between: { Driver: '', Count: 1, DeviceIDs: null, Capabilities: [Array], Options: null } and { Count: 1, Capabilities: [Array], } Which in turn resulted in the target service being continously restarted. The fix is to instantiate the object in full. footer: Connects-to: ae646a07ec6a6c96f7cb91f1d37898a94dbab47a connects-to: ae646a07ec6a6c96f7cb91f1d37898a94dbab47a Change-type: patch change-type: patch Signed-off-by: Robert Günzler signed-off-by: Robert Günzler author: Robert Günzler nested: [] version: 12.3.6 date: 2021-02-09T10:30:32.911Z - commits: - subject: Prevent inserting null commit during DB migration hash: 277d984af20821cd87e3625a1c950555cbca0412 body: "" footer: Change-type: patch change-type: patch Closes: "#1581" closes: "#1581" Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.3.5 date: 2021-02-03T15:50:27.087Z - commits: - subject: Removed richbayliss from CODEOWNERS hash: 908be547e2e233acada029fcbdab8edf48c0c1cf body: "" footer: Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.3.4 date: 2021-01-25T17:54:56.728Z - commits: - subject: Cancel pending apply target after /v1/update request hash: ba1c857c4f05f527316779b909b5f0819c63b1c3 body: "" footer: Closes: "#1530" closes: "#1530" Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.3.3 date: 2021-01-21T03:23:49.379Z - commits: - subject: "patch: bump @types/yargs from 15.0.5 to 15.0.12" hash: 2c61a961c1ac2e7467ef84ac1c0896ef8c60d4be body: > Bumps [@types/yargs](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/yargs) from 15.0.5 to 15.0.12. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/yargs) footer: Change-type: patch change-type: patch Signed-off-by: dependabot[bot] signed-off-by: dependabot[bot] author: dependabot[bot] nested: [] version: 12.3.2 date: 2021-01-11T22:21:05.013Z - commits: - subject: "patch: bump pretty-ms from 7.0.0 to 7.0.1" hash: 8a4369f8dfb5d8e77a022b82f25cbeb18edbf77e body: > Bumps [pretty-ms](https://github.com/sindresorhus/pretty-ms) from 7.0.0 to 7.0.1. - [Release notes](https://github.com/sindresorhus/pretty-ms/releases) - [Commits](https://github.com/sindresorhus/pretty-ms/compare/v7.0.0...v7.0.1) footer: Change-type: patch change-type: patch Signed-off-by: dependabot[bot] signed-off-by: dependabot[bot] author: dependabot[bot] nested: [] version: 12.3.1 date: 2021-01-11T19:46:56.953Z - commits: - subject: Add support for `BALENA_HOST_SPLASH_IMAGE` config hash: 4aa8090a56f6ece4a3a0425a378ec438c38629df body: > Setting this this variable to a base64 encoded string will replace the splash image on the device by rewriting `/mnt/boot/splash/balena-logo.png`. This will also make a copy of the default balena logo so the splash can be restored if the variable is removed. footer: Change-type: minor change-type: minor Signed-off-by: Felipe Lalanne signed-off-by: Felipe Lalanne author: Felipe Lalanne nested: [] version: 12.3.0 date: 2021-01-06T18:14:19.611Z - commits: - subject: Bump systeminformation from 4.30.5 to 4.31.1 hash: 7ccbde985ee72296b189ba338bfa7ff49c3e6866 body: > Bumps [systeminformation](https://github.com/sebhildebrandt/systeminformation) from 4.30.5 to 4.31.1. - [Release notes](https://github.com/sebhildebrandt/systeminformation/releases) - [Changelog](https://github.com/sebhildebrandt/systeminformation/blob/master/CHANGELOG.md) - [Commits](https://github.com/sebhildebrandt/systeminformation/commits) footer: Change-type: patch change-type: patch Signed-off-by: dependabot[bot] signed-off-by: dependabot[bot] author: dependabot[bot] nested: [] version: 12.2.16 date: 2020-12-21T19:07:54.345Z - commits: - subject: Retired CameronDiver from CODEOWNERS hash: 98fa7509030edae46b8d46487be578f2e8c28542 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.2.15 date: 2020-12-21T17:57:16.342Z - commits: - subject: Revert "Add dependabot configuration" hash: 8767f145b228203c409d3972247f5a197c6a8e93 body: > This reverts commit 153655b523af94d8192f0e0eb5574c67fbf85008. Dependabot does not allow to limit version updates to just patches or security updates. Adding this configuration results in excess noise from major and minor versions. We are reverting this change for the moment and look for another version managment tool. footer: Change-type: patch change-type: patch Signed-off-by: Felipe Lalanne signed-off-by: Felipe Lalanne author: Felipe Lalanne nested: [] version: 12.2.14 date: 2020-12-16T18:31:21.038Z - commits: - subject: Add dependabot configuration hash: 153655b523af94d8192f0e0eb5574c67fbf85008 body: "" footer: Closes: "#1508" closes: "#1508" Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.2.13 date: 2020-12-16T00:10:43.103Z - commits: - subject: Bump ini from 1.3.5 to 1.3.8 hash: b319c678ce3793d86ebe506867b34e54f227456a body: | Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.8. - [Release notes](https://github.com/isaacs/ini/releases) - [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.8) footer: Change-type: patch change-type: patch Signed-off-by: dependabot[bot] signed-off-by: dependabot[bot] author: dependabot[bot] nested: [] version: 12.2.12 date: 2020-12-14T22:11:33.228Z - commits: - subject: Improve supervisor API behavior when locks are set hash: 4cdf26f82fd25284f7a7496fc2d91232c64a3e2e body: > This PR adds the following * Supervisor v1 API application actions now return HTTP status code 423 when locks are preventing the action to be performed. Previously this resulted in a 503 error * Supervisor API v2 service actions now returns HTTP status code 423 when locks are preventing the action to be performed. Previously, this resulted in an exception logged by the supervisor and the API query timing out * Supervisor API `/v2/applications/:appId/start-service` now does not check for a lock. Lock handling in v2 actions is now performed by each step executor * `/v1/apps/:appId/start` now queries the target state and uses that information to execute the start step (as v2 does). Previously start resulted in `cannot get appId from undefined` * Extra tests for API methods footer: Change-type: patch change-type: patch Connects-to: "#1523" connects-to: "#1523" Signed-off-by: Felipe Lalanne signed-off-by: Felipe Lalanne author: Felipe Lalanne nested: [] version: 12.2.11 date: 2020-12-14T13:50:07.081Z - commits: - subject: Add config.txt support for Alliance rpi3 hash: a8c4a6683ad07ac4d0f1f9aee28761cf2a846bdb body: "" footer: Change-type: patch change-type: patch Signed-off-by: Felipe Lalanne signed-off-by: Felipe Lalanne author: Felipe Lalanne nested: [] version: 12.2.10 date: 2020-12-11T12:54:34.175Z - commits: - subject: Add config.txt support for Rocktech rpi hash: 2c1fb7110e1f025e511d22c08f58fdaef313851d body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver nested: [] version: 12.2.9 date: 2020-12-10T11:16:16.619Z - commits: - subject: Patched /v1/restart exception hash: 8b37df492b7e418890f5c7a8ec2d7ec08cc9d142 body: "" footer: Change-type: patch change-type: patch Closes: "#1509" closes: "#1509" Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] - subject: Added test case for /v1/restart API hash: 7a4473f65bd0c556935ab005f33a158b608ecc96 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] - subject: Consolidated Supervisor API tests into clearer files hash: 733a2c5dc068f01e803505822e03d09c59a2a3b8 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.2.8 date: 2020-11-30T20:45:21.952Z - commits: - subject: Bump systeminformation from 4.27.11 to 4.30.5 hash: 8036d5147950a3dfb976aaceee46a75e0025c732 body: > Bumps [systeminformation](https://github.com/sebhildebrandt/systeminformation) from 4.27.11 to 4.30.5. - [Release notes](https://github.com/sebhildebrandt/systeminformation/releases) - [Changelog](https://github.com/sebhildebrandt/systeminformation/blob/master/CHANGELOG.md) - [Commits](https://github.com/sebhildebrandt/systeminformation/compare/v4.27.11...v4.30.5) footer: Change-type: patch change-type: patch Signed-off-by: dependabot[bot] signed-off-by: dependabot[bot] author: dependabot[bot] nested: [] version: 12.2.7 date: 2020-11-30T19:33:51.623Z - commits: - subject: Update npm entry in package.json to match the npm version we use hash: cda1e9788d8d2016863effef796c62b1f72c58b8 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 12.2.6 date: 2020-11-30T17:26:41.644Z - commits: - subject: Bump bl from 1.2.2 to 1.2.3 hash: caae8d0544245db777ee3abb31cb64873a825f11 body: | Bumps [bl](https://github.com/rvagg/bl) from 1.2.2 to 1.2.3. - [Release notes](https://github.com/rvagg/bl/releases) - [Commits](https://github.com/rvagg/bl/compare/v1.2.2...v1.2.3) footer: Change-type: patch change-type: patch Signed-off-by: dependabot[bot] signed-off-by: dependabot[bot] author: dependabot[bot] nested: [] version: 12.2.5 date: 2020-11-17T21:20:28.572Z - commits: - subject: Bump systeminformation from 4.27.3 to 4.27.11 hash: 00b1bf8a7a66d4370cf1c7128184cfc0e2808178 body: > Bumps [systeminformation](https://github.com/sebhildebrandt/systeminformation) from 4.27.3 to 4.27.11. - [Release notes](https://github.com/sebhildebrandt/systeminformation/releases) - [Changelog](https://github.com/sebhildebrandt/systeminformation/blob/master/CHANGELOG.md) - [Commits](https://github.com/sebhildebrandt/systeminformation/commits) footer: Change-type: patch change-type: patch Signed-off-by: dependabot[bot] signed-off-by: dependabot[bot] author: dependabot[bot] nested: [] version: 12.2.4 date: 2020-11-17T20:42:40.817Z - commits: - subject: "fix: Scoped keys breaking livepush with existing cloud images on the device" hash: 02aeb4fc1c5c5ba5b2e0fb19f1788edfc914d9bd body: "" footer: Closes: "#1512" closes: "#1512" Change-type: patch change-type: patch Signed-off-by: Rich Bayliss signed-off-by: Rich Bayliss author: Rich Bayliss nested: [] version: 12.2.3 date: 2020-11-17T03:09:32.058Z - commits: - subject: Ensure the first target state request is applied hash: e4e895630f53ce5f00ebc5c1486a90b0f9ca9998 body: | During first time run of the supervisor, the target state is queried by `reportInitialEnv`. Since this happens early on the initialization process, this target state report is missed by any listeners and this can lead to the initial target state not beeing applied (see #1455). This PR ensures that target state is re-emitted if there were no listeners setup on call to update. footer: Change-type: patch change-type: patch Signed-off-by: Felipe Lalanne signed-off-by: Felipe Lalanne Connects-to: "#1455" connects-to: "#1455" author: Felipe Lalanne nested: [] version: 12.2.2 date: 2020-11-13T13:28:01.378Z - commits: - subject: "validation: Ensure commit lookup has a bound value" hash: bc9bdd10948105f3e92df89ea5772428a0d5766b body: "" footer: Change-type: patch change-type: patch Signed-off-by: Rich Bayliss signed-off-by: Rich Bayliss author: Rich Bayliss nested: [] - subject: "fix: Scoped keys not working in LocalMode" hash: 591598e102599316e4c74e12e322d301073f44b5 body: | Some endpoints filter data based on the scope of the API key used to make the request. When in LocalMode the check was not being made correctly and all apps were considered out of scope. footer: Change-type: patch change-type: patch Signed-off-by: Rich Bayliss signed-off-by: Rich Bayliss author: Rich Bayliss nested: [] version: 12.2.1 date: 2020-11-11T11:05:11.060Z - commits: - subject: Allow storing commits against their appIds hash: f08316dc57aaf15300f7810bc700345534a3368b body: | This paves the way for running multiple applications and storing information related to the application against the application itself. A couple of hacks have been added to v1 and v2 endpoints to maintain compatability but these should eventually be removed with the addition of a v3 api. footer: Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver nested: [] version: 12.2.0 date: 2020-11-10T10:53:17.869Z - commits: - subject: Add more test coverage for compose/images hash: cd0d53c39da3bcd1ccefeeb6c527974825de6ac5 body: "" footer: Closes: "#1492" closes: "#1492" Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.1.5 date: 2020-11-03T18:11:27.355Z - commits: - subject: Clarify when `update_pending` in /v1/device is true hash: c64d3cb2164c356711d1722c124bd9711e18a336 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.1.4 date: 2020-10-30T22:49:20.862Z - commits: - subject: Add pipex to codeowners hash: d016f7a13cde070ce95e717e9ce8a9a356150a2f body: "" footer: Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.1.3 date: 2020-10-30T21:52:51.348Z - commits: - subject: Mount docker socket under `/host/run` for services hash: 01477e41b8d3b12aebd5460bec9ed1991fbbb270 body: | Currently, when the label `io.balena.features.balena-socket` is set, the balena engine socket is mounted under `/run/balena-engine.sock`. This causes a problem when using systemd inside the container, since this service remounts `/run` and `/run/lock` as tmpfs, causing the socket to become unavailable. Making a mount of the socket into `/host/run` solves this issue. This is the same approach taken with DBUS. footer: Change-type: patch change-type: patch Signed-off-by: Felipe Lalanne signed-off-by: Felipe Lalanne Connects-to: "#1494" connects-to: "#1494" author: Felipe Lalanne nested: [] version: 12.1.2 date: 2020-10-29T19:19:51.135Z - commits: - subject: Use root mount point to find device-type.json hash: 9d19a457017b1f696579f57569ec4cfadab3b385 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver nested: [] version: 12.1.1 date: 2020-10-28T13:03:20.901Z - commits: - subject: Change log source from docker to journalctl hash: 2c83864f22b01e7196f6ed321c96f6cb9f40593b body: "" footer: Change-type: minor change-type: minor Signed-off-by: Thomas Manning signed-off-by: Thomas Manning author: Thomas Manning nested: [] version: 12.1.0 date: 2020-10-28T06:12:20.363Z - commits: - subject: Change source of deviceType to device-type.json hash: f5183df35677f091f1374c3f6e86706b141471f3 body: | The source of truth for the device-type should be device-type.json instead of config.json footer: Change-type: patch change-type: patch Signed-off-by: Felipe Lalanne signed-off-by: Felipe Lalanne Connects-to: "#1472" connects-to: "#1472" author: Felipe Lalanne nested: [] version: 12.0.9 date: 2020-10-27T12:43:11.383Z - commits: - subject: Fixed evaluating if updates are needed to reach target state hash: 77333f1e110070f17f4bf95c1554075c94a35d63 body: "" footer: Closes: "#1476" closes: "#1476" Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.0.8 date: 2020-10-26T18:56:16.649Z - commits: - subject: Improved log message when networks do not match hash: edf23871d9a057b9bae8837f3ee39d7401247514 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 12.0.7 date: 2020-10-19T16:04:51.506Z - commits: - subject: Fixes check allowing preloading in local (unmanaged) mode hash: 0fd9b6376251c73f2adfd37ec80d2145178683d6 body: | * adds apiEndpoint empty string check footer: Change-type: patch change-type: patch author: ab77 nested: [] - subject: Handle delete of multiple images with same dockerImageId hash: 4795c336d055862706be42ebb544caef93d55e35 body: | A docker-compose.yml with the following structure ``` version: '2.1' services: app_1: build: ./noisy-1 image: noisy1 app_2: build: ./noisy-1 image: noisy1 app_3: build: ./noisy-1 image: noisy1 ``` Will lead to the supervisor creating multiple image database entries with the same dockerId (this is because of how the engine handles this particular case). This case is not handled by the removal process leading to image pile up and increased disk usage. footer: Change-type: patch change-type: patch Signed-off-by: Felipe Lalanne signed-off-by: Felipe Lalanne Connects-to: "#1434" connects-to: "#1434" author: Felipe Lalanne nested: [] version: 12.0.6 date: 2020-10-16T22:32:07.462Z - commits: - subject: Improve calculation for used system memory hash: dd5f62227a0b0d2024db924e7028c9fec8b2b1d9 body: > The memory information reported by the supervisor currently estimates the value of used memory as `MemTotal - MemFree`. However, linux systems will try to cache and buffer as much memory as possible, which will affect the output of `MemFree` (from /proc/meminfo) and in consequence the memory usage seen by the user on the dashboard, which will appear much greater than it is. The correct calculation should be `MemTotal - MemFree - Buffers - Cached`, which the calculation performed by `htop` and the `free` commands. footer: Change-type: patch change-type: patch Signed-off-by: Felipe Lalanne signed-off-by: Felipe Lalanne Connects-to: "#1471" connects-to: "#1471" author: Felipe Lalanne nested: [] version: 12.0.5 date: 2020-10-14T16:19:41.551Z - commits: - subject: Don't require an existing supervisor container to sync hash: 629b410e10fb6590806d546ff94101951ec6c9a2 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver nested: [] version: 12.0.4 date: 2020-10-13T09:49:51.370Z - commits: - subject: Refactor system information filtering hash: a2ceb5c93189704beaf8b4f5c8b71c46d8e2a966 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver nested: [] - subject: "tests: Clean up and consistify naming scheme" hash: 9e0c99e797fa379c66b7312b40a17d9d31f5ce79 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver nested: [] version: 12.0.3 date: 2020-10-12T14:46:39.730Z - commits: - subject: Attempt a state report once every maxReportFrequency hash: 0e3c0263922043b9d53a7eb3545622106f10100c body: | With the addition of the system information feature (CPU temp) etc if there wasn't any changes in the docker or config state of the device, updates in system information would not be sent to the API. Now we attempt to send data once every maxReportFrequency (although this does not mean that we will be sending data that often, we still only send the delta, if one exists) footer: Change-type: patch change-type: patch Closes: "#1481" closes: "#1481" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver nested: [] - subject: Remove superfluous current state reporting code from api-binder hash: 975129188a9fcb11a081f7ba75a1b8b973499a21 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver nested: [] version: 12.0.2 date: 2020-10-12T10:55:40.890Z - commits: - subject: Add features label `io.balena.features.journal-logs` hash: 1eeff698aca56558fa09832b9bcb02c99e275dbe body: "" footer: Change-type: patch change-type: patch Signed-off-by: Thomas Manning signed-off-by: Thomas Manning author: Thomas Manning nested: [] version: 12.0.1 date: 2020-10-12T05:41:14.895Z - commits: - subject: "version: drop SUPERVISOR_VERSION env var" hash: 8e65466f2d8540918b1fa8d8af88d0c21fcbf7f8 body: > In order to make supervisor upgrades more transparent, lets move away from this env var since it requires a container restart any time the supervisor is upgraded. We should ultimately move towards providing the supervisors set of capabilities, but that can come later footer: Connects-to: "#1447" connects-to: "#1447" Change-type: major change-type: major Signed-off-by: Matthew McGinn signed-off-by: Matthew McGinn author: Matthew McGinn nested: [] version: 12.0.0 date: 2020-09-29T15:25:15.693Z - commits: - subject: Fix supervisor deadlock during migration hash: adffde932ec28b114a5821b9ae332a42bb330be2 body: | Due to the singleton work, when performing migration M00005 and there are apps with services created in the database, a deadlock occurs during database initialization due to a circular dependency for generating scoped keys. footer: Change-type: patch change-type: patch Signed-off-by: Felipe Lalanne signed-off-by: Felipe Lalanne Connects-to: "#1468" connects-to: "#1468" author: Felipe Lalanne nested: [] version: 11.14.8 date: 2020-09-29T03:00:51.902Z - commits: - subject: Correctly evaluate if scheduledApply.delay is not set hash: 90981a00bed100e1496dc71bf0631bc0ab04ffa7 body: "" footer: Closes: "#1428" closes: "#1428" Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 11.14.7 date: 2020-09-25T17:16:42.247Z - commits: - subject: Fix config checks for ConfigFS backend hash: a5f3002e708c949b6de3c8ba495b2a89c13214fc body: | When trying to apply SSDT overlays in Up Board, the supervisor currently gets stuck in a loop trying to apply target state. See #1465 This was due to a bug in parsing the configuration, which lead to the method bootConfigChangeRequired returning true when no change was needed. footer: Change-type: patch change-type: patch Signed-off-by: Felipe Lalanne signed-off-by: Felipe Lalanne Connects-to: "#1465" connects-to: "#1465" author: Felipe Lalanne nested: [] version: 11.14.6 date: 2020-09-24T19:51:09.936Z - commits: - subject: "mixpanel: superisor_version -> supervisor_version" hash: eebadebb53af68d9b63c948e59c1c78fb38302aa body: "" footer: Change-type: patch change-type: patch Signed-off-by: Matthew McGinn signed-off-by: Matthew McGinn author: Matthew McGinn nested: [] version: 11.14.5 date: 2020-09-24T14:47:47.663Z - commits: - subject: "api: Implement scoped Supervisor API keys" hash: c08de8701e49f417d2fc5849d237b9ed69b438e2 body: | Each service, when requesting access to the Supervisor API, will now get an individual key which can be scoped to specific resources. In this iteration the default scope will be to the application that the service belongs to. We also have a `global` scope which is used by the cloud API when in managed mode. footer: Change-type: patch change-type: patch Signed-off-by: Rich Bayliss signed-off-by: Rich Bayliss author: Rich Bayliss nested: [] version: 11.14.4 date: 2020-09-18T13:02:39.469Z - commits: - subject: Clarify docs for toggling update lock override from dashboard hash: 1b51db06c118ab4c60296f394e854436584c6437 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: M. Casqueira nested: [] version: 11.14.3 date: 2020-09-17T22:25:21.020Z - commits: - subject: Refactor extra_uEnv backend to match with more devices hash: 07e644d0b69f412fb14aeaba17914b9eacd6477f body: "" footer: Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 11.14.2 date: 2020-09-15T18:25:31.240Z - commits: - subject: "application-manager: Convert to a singleton" hash: 96c68166a1e1d9b400fca84d33910d526009ecfd body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Rich Bayliss nested: [] - subject: "device-state: Convert to a singleton" hash: e3864915bcf3b8c2865f3c14d2ad85023218db3c body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Rich Bayliss nested: [] - subject: "api-binder: Convert to a singleton" hash: d50f7791e1f89750a35791c1ea3bd4a7472da9a1 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Rich Bayliss nested: [] version: 11.14.1 date: 2020-09-14T10:26:09.557Z - commits: - subject: Add device system information to state endpoint patch hash: f305a333ba70e90d098decdf81c220bfcbeec899 body: "" footer: Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver nested: [] version: 11.14.0 date: 2020-09-03T13:43:00.299Z - commits: - subject: added support for configuring ODMDATA hash: 662826d3495f551a5451395d0eb6660bfb65b599 body: "" footer: Closes: "1206" closes: "1206" Change-type: minor change-type: minor Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 11.13.0 date: 2020-08-29T13:07:31.541Z - commits: - subject: "bug: Resolve mDNS API URLs" hash: f0c2a3cba7a6879a506d9151c7c0d9ea89544dae body: | Due to switching to Alpine the ability to resolve mDNS hostnames was lost. This patch overrides the lookup and manually resolves the names. footer: Change-type: patch change-type: patch Signed-off-by: Rich Bayliss signed-off-by: Rich Bayliss author: Rich Bayliss nested: [] version: 11.12.11 date: 2020-08-27T10:36:31.040Z - commits: - subject: Preventing removing all configurations if device has no backends hash: 7ea49bf4fb317346badf141e6eea8910e599c837 body: "" footer: Closes: "#1437" closes: "#1437" Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 11.12.10 date: 2020-08-24T17:43:41.125Z - commits: - subject: Don't enforce the vc4-fkms-v3d dtoverlay on rpi4 hash: de4c1b25385630b6f9fadb7a362d5556c2cc5008 body: "" footer: Change-type: patch change-type: patch Closes: "#1404" closes: "#1404" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver nested: [] version: 11.12.9 date: 2020-08-20T09:24:11.110Z - commits: - subject: Update dependencies hash: ea34a2d10a3acd19cfefe4c847eb96579315429a body: | Update docker-delta from 2.2.9 to 2.2.11 Update docker-progress from 3.0.5 to 4.0.3 Update docker-toolbelt from 3.3.8 to 3.3.10 Update livepush from 3.3.0 to 3.5.1 Update resin-docker-build from 1.1.4 to 1.1.6 footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: - commits: - subject: Add .versionbot/CHANGELOG.yml for nested changelogs hash: b0f552f9a21d350cb9fdca77d4f7c309f88bf68b body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: node-docker-delta-2.2.11 date: 2020-08-19T11:52:46.348Z - commits: - author: Pagan Gazzard body: "" footers: change-type: patch hash: 70b5359fedc100907c0086f7d25b7ad19cc210ad subject: Removed unused dependencies - author: Pagan Gazzard body: "" hash: 8670e850ba5d97fbaecc938fc2060ea3b4f157ed subject: "circleci: update docker" date: 2020-08-05T15:20:21Z version: node-docker-delta-2.2.10 - commits: - subject: Update to balena-lint 5.x hash: 9563bf5150c39c6d6f298a9ed24f7969650273f7 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: docker-progress-4.0.3 date: 2020-08-17T12:03:45.249Z - commits: - subject: Add .versionbot/CHANGELOG.yml for nested changelogs hash: 2cec0f2ef1eb24797b650024873c91c942e74017 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: docker-progress-4.0.2 date: 2020-08-17T11:47:14.543Z - commits: - author: Pagan Gazzard body: "" footers: change-type: patch hash: 9bb049ea3be13fb1362e39b057f78b19d8e3153d subject: Update dependencies date: 2020-03-04T14:17:04Z version: docker-progress-4.0.1 - commits: - author: Paulo Castro body: >- The change type is considered 'major' because, by default, errors are now thrown for relatively common occurrences such as authentication failures when pulling from private registries, and library users may have to adapt. footers: change-type: major signed-off-by: Paulo Castro hash: 3eef3685262e6bae8de064b9c50129e5597f4318 subject: Detect error events in push/pull progress streams date: 2019-03-26T16:03:31Z version: docker-progress-4.0.0 - commits: - subject: Add .versionbot/CHANGELOG.yml for nested changelogs hash: ccd1e99c5501257f1304f4cb68dd02383411e0b8 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: docker-toolbelt-3.3.10 date: 2020-08-19T12:10:49.102Z - commits: - author: Pagan Gazzard body: "" footers: change-type: patch hash: e89aedf563c4158894265c885cb86a834b5c9c7f subject: Update to balena-lint 5.x date: 2020-08-17T12:49:42Z version: docker-toolbelt-3.3.9 - commits: - subject: Add .versionbot/CHANGELOG.yml for nested changelogs hash: 580a4229374fc96fc3f7aeb80e6b5a09aa958d7f body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: livepush-3.5.1 date: 2020-08-19T12:27:19.448Z - commits: - author: Roman Mazur body: "" footers: change-type: minor signed-off-by: Roman Mazur hash: c180b489f3a537468f3347398824ca285354caaa subject: Allow setting ENV variables in the live image - author: Roman Mazur body: "" footers: change-type: patch signed-off-by: Roman Mazur hash: 7a053dd801ee5bdc8e5b0792044be611d8981a58 subject: Bump dockerode types dependency date: 2020-07-13T11:46:04Z version: livepush-3.5.0 - commits: - author: Cameron Diver body: "" footers: change-type: patch signed-off-by: Cameron Diver hash: 68ebf4a50acb2b451770f79a44e256dc14adbde0 subject: Update README with information about live directives date: 2020-05-05T10:39:11Z version: livepush-3.4.1 - commits: - author: Cameron Diver body: "" footers: change-type: minor closes: "#76" signed-off-by: Cameron Diver hash: f4caa2052af2a820f8bf86d202b21b2fe6680af9 subject: 🔭 Add a file watcher which can be used by library users date: 2020-04-15T10:50:17Z version: livepush-3.4.0 - commits: - subject: Add .versionbot/CHANGELOG.yml for nested changelogs hash: 139561ad61ca4f0e2a6203fe3c5f3345ba32cf83 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: resin-docker-build-1.1.6 date: 2020-08-19T12:14:05.986Z - commits: - author: CameronDiver body: "" footers: change-type: patch signed-off-by: Cameron Diver hash: 0e84ec3d48268c0ae1a2390a2dad2cf8ec9e0eec subject: Update README with correct instantiation method date: 2020-04-02T16:54:05Z version: resin-docker-build-1.1.5 version: 11.12.8 date: 2020-08-19T12:38:52.114Z - commits: - subject: Update typed-error to 3.x hash: 379730a9e1d6530ea8bc13715a46fe895b0d4ec8 body: | Update typed-error from 2.0.0 to 3.2.1 footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: - commits: - subject: Update dependencies hash: dc41949015399154efb4529183daa0dfc9269b52 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: typed-error-3.2.1 date: 2020-08-05T12:34:06.377Z - commits: - subject: update deps and specify minimum engine requirements hash: 22f293afc187e67b88dab280951eb6e2bb504b24 body: "" footer: Change-type: minor change-type: minor Signed-off-by: Will Boyce signed-off-by: Will Boyce author: Will Boyce version: typed-error-3.2.0 date: 2019-11-20T09:52:39.017Z - commits: - subject: "dev: Enforce prettier coding standards" hash: 47c07a641fa39ddb833b41aff7a918accad08289 body: "" footer: Change-type: minor change-type: minor Signed-off-by: Will Boyce signed-off-by: Will Boyce author: Will Boyce - subject: "npm: Update dependencies and remove `package-lock.json`" hash: 067bceb5c8dfd46f7e4ff0f58dead46fd9626167 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Will Boyce signed-off-by: Will Boyce author: Will Boyce - subject: "codeowners: Add top contributors @wrboyce, @Page-, and @dfunckt" hash: 6acc8757a594f74f264c8d68ea4501c61bda9951 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Will Boyce signed-off-by: Will Boyce author: Will Boyce - subject: "versionbot: Add CHANGELOG.yml (for nested changelogs)" hash: 2b684a0bb0c95a5dbd3b130ba0f184d3464d298f body: "" footer: Change-type: patch change-type: patch Signed-off-by: Will Boyce signed-off-by: Will Boyce author: Will Boyce version: typed-error-3.1.0 date: 2019-04-01T10:20:01.427Z - commits: - author: CameronDiver body: "" footers: change-type: patch signed-off-by: Cameron Diver hash: aaa9391dc463c1037f85e845d30f6f9434bb4dc1 subject: Update README with new import style date: 2018-11-01T12:08:25Z version: typed-error-3.0.2 - commits: - author: Pagan Gazzard body: "" footers: change-type: patch hash: 627cdd281d7b086df8fe5ed1ccb0e0e0df3df062 subject: Update to typescript 3 - author: Pagan Gazzard body: "" footers: change-type: patch hash: 00d182bb2bc29bd82adb4e8ea4527f6bda6c5278 subject: Update dev dependencies - author: Pagan Gazzard body: "" hash: 94adac5d747f16b9228b39e56007ee0126c6f99c subject: Add node-10 to the circle test suite date: 2018-10-29T14:05:23Z version: typed-error-3.0.1 - commits: - author: Will Boyce body: |- * Switch to `export ...` syntax (from `export = ...`) * Fix invalid export of class inheriting non-exported class footers: change-type: major hash: a6307b8c04d3456ad7d8a6ac19035b5e718c4311 subject: Distribute generated typescript declaration - author: Will Boyce body: "" footers: change-type: patch hash: 37c4b700baadba8cdd6bc0c40df74b30b1a6301c subject: use circle for build/publish and add package-lock - author: Will Boyce body: "" footers: change-type: patch hash: 83e809281f5172ca1ff71bdf0ee663cd504f1428 subject: add lint scripts/requirements - author: Will Boyce body: "" footers: change-type: minor hash: da9431d08e501a0d4d0db3a7fb2c0bd06d76d064 subject: Remove `BaseError` class and directly subclass `Error` - author: Will Boyce body: "" footers: change-type: patch hash: e46a36b54498b68f513c6cb947e217c11525e160 subject: Update dependencies, clean up package/tsconfig date: 2018-04-17T08:19:27Z version: typed-error-3.0.0 - commits: - author: Akis Kesoglou body: "" footers: change-type: patch hash: d35c44f1e57f6386c6f769f8cafc28e0886719cc subject: Add LICENSE date: 2017-12-15T17:19:00Z version: typed-error-2.0.1 version: 11.12.7 date: 2020-08-19T09:09:56.021Z - commits: - subject: Update pinejs-client-request to 7.2.1 hash: 90fab43022c91bce7cea5ce6cd3b4440a6f707a0 body: | Update pinejs-client-request from 7.1.0 to 7.2.1 footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: - commits: - subject: Update dependencies hash: f4502c9364bb5dd3ac4cb7242b8d08dca047b8ee body: | Update pinejs-client-core from 6.6.1 to 6.7.1 footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: - commits: - subject: Fix prepare $count typings hash: fe63b2ba648b0ef545afe9fd18d433faca4af6a2 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: pinejs-client-js-6.7.1 date: 2020-08-12T14:30:20.061Z - commits: - subject: Improve typings for request/post/put/patch/delete hash: 32c0d5b40c14e44155391099a9051255c38b1c05 body: "" footer: Change-type: minor change-type: minor author: Pagan Gazzard version: pinejs-client-js-6.7.0 date: 2020-08-12T13:42:49.438Z version: pinejs-client-request-7.2.1 date: 2020-08-18T17:01:01.637Z - commits: - subject: Update pinejs-client-core to 6.6.1 hash: 8b45f326d07939279b5c4271c74579cdf5da3bb3 body: | Update pinejs-client-core from 6.1.0 to 6.6.1 Update typed-error from 3.2.0 to 3.2.1 footer: Change-type: minor change-type: minor author: Pagan Gazzard nested: - commits: - subject: Update dependencies hash: dc41949015399154efb4529183daa0dfc9269b52 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: typed-error-3.2.1 date: 2020-08-05T12:34:06.377Z - commits: - subject: Fix typing when id is specified to be `AnyObject | undefined` hash: c4802cb748b1552345f036120c3aa6254e6cc946 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: pinejs-client-js-6.6.1 date: 2020-08-11T17:10:09.498Z - commits: - subject: "Deprecate `$expand: { 'a/$count': {...} }`" hash: 8be33ad064905476e3f21978b7e1d760f5e27f4e body: "" footer: Change-type: minor change-type: minor author: Pagan Gazzard - subject: "Deprecate `resource: 'a/$count'` and update typings to reflect it" hash: 779cc424cb6d2562aa9a98a3ff083b68308d9797 body: "" footer: Change-type: minor change-type: minor author: Pagan Gazzard version: pinejs-client-js-6.6.0 date: 2020-08-11T16:18:59.088Z - commits: - subject: "Add `options: { $count: { ... } }` sugar for top level $count" hash: 13072f715da6c0ca3eab08584eaa48f39ea985b2 body: "" footer: Change-type: minor change-type: minor author: Pagan Gazzard - subject: "Add `$expand: { a: { $count: { ... } } }` sugar for $count in expands" hash: b2afb397c09a31c9ab3c1c370846c1b8762db32d body: "" footer: Change-type: minor change-type: minor author: Pagan Gazzard version: pinejs-client-js-6.5.0 date: 2020-08-11T10:25:19.860Z - commits: - subject: Improve return typing of `subscribe` method hash: 2311fe03b04f4e6149693a9e5c392f9f0bb2a549 body: "" footer: Change-type: minor change-type: minor author: Pagan Gazzard version: pinejs-client-js-6.4.0 date: 2020-08-11T10:16:40.301Z - commits: - subject: Fix Poll.on typings hash: 315697d9c2c0e59652bcceddb7f36cb498269f64 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Improve return typing when id is passed to GET methods hash: 2d174f758314a20c01a171ac5826b71e4f623dcc body: "" footer: Change-type: minor change-type: minor author: Pagan Gazzard - subject: Remove `PromiseResult` type, use `Promise` instead hash: 905f275731af6ce2560c37f41343052f05365cd1 body: "" footer: Change-type: minor change-type: minor author: Pagan Gazzard - subject: Remove `PromiseObj` type, use `Promise<{}>` instead hash: 78aa2410aa86bf73cc4831f2149fc85e28a6ea23 body: "" footer: Change-type: minor change-type: minor author: Pagan Gazzard version: pinejs-client-js-6.3.0 date: 2020-08-11T08:57:09.655Z - commits: - subject: "Add `$filter: { a: { $count: 1 } }` sugar for $count in filters" hash: f2fef3833f321bf81543c62a9a3db09d7fbc0a4a body: "" footer: Change-type: minor change-type: minor author: Pagan Gazzard version: pinejs-client-js-6.2.0 date: 2020-08-10T16:44:49.238Z - commits: - subject: Remove redundant ParamsObj/SubscribeParamsObj types hash: f5fc6762aa8f1918424fb5e1c1a05435f07af285 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: pinejs-client-js-6.1.2 date: 2020-08-10T16:32:09.666Z - commits: - subject: Make use of `mapObj` helper in more places hash: 2189f9918cb515071d2f6ecb941b0d838ee6c5ea body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Use `Object.keys` in preference to `hasOwnProperty` where applicable hash: 2ea0e9549974150ef9e7f82206f25000407e37ba body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: pinejs-client-js-6.1.1 date: 2020-08-10T15:42:09.364Z version: pinejs-client-request-7.2.0 date: 2020-08-12T07:00:59.754Z version: 11.12.6 date: 2020-08-18T17:30:40.807Z - commits: - subject: Refactor configurable backend class names hash: ff404456b3c3edaf33fe2199387db47d9be03503 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 11.12.5 date: 2020-08-12T19:06:59.672Z - commits: - subject: "bug: Firewall not blocking supervisor access from outside the device" hash: 5aecd94e243ee55cffbb9aa47e7adfc437401de3 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Rich Bayliss signed-off-by: Rich Bayliss author: Rich Bayliss nested: [] version: 11.12.4 date: 2020-08-12T12:45:26.689Z - commits: - subject: "bug: Allow DNS through firewall for local containers" hash: e9b536a889542588e2f79247ed7937c709fdf3d2 body: | We provide a local DNS server for containers to use and this was not allowed through the firewall when enabled. footer: Change-type: patch change-type: patch Signed-off-by: Rich Bayliss signed-off-by: Rich Bayliss author: Rich Bayliss nested: [] version: 11.12.3 date: 2020-08-11T14:19:40.945Z - commits: - subject: Fix device-tag fetching function hash: aa823c1cfca7a026b1c4cf3580e690625fee0d58 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver nested: [] version: 11.12.2 date: 2020-08-05T12:33:50.608Z - commits: - subject: Update resumable-request hash: abf5cac4a3d784a6ad1f545f14b15b5149f13afa body: | Update resumable-request from 2.0.0 to 2.0.1 footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: - commits: - subject: Add .versionbot/CHANGELOG.yml for nested changelogs hash: e11bf1fd3f505a83eb1c0bd872d3a90ee1ba4137 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Optimize lodash dependency hash: 40146b216300b0b16f7004e8266d16696928ea14 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: resumable-request-2.0.1 date: 2020-08-05T09:48:49.433Z version: 11.12.1 date: 2020-08-05T11:28:50.822Z - commits: - subject: Update contrato to 0.5 hash: 17c370863cca6bf5ddfaceffdbae96b92db24bbc body: | Update contrato from 0.2.1 to 0.5.0 footer: Change-type: minor change-type: minor author: Pagan Gazzard nested: - commits: - subject: Remove handlebars-helpers to shrink bundle size hash: 1305553f48747e0e450c89254790e67674c252b7 body: > We can re-add specific helpers as necessary without needing to bloat with the entirety of the helpers package footer: Change-type: minor change-type: minor author: Pagan Gazzard nested: [] version: contrato-0.5.0 date: 2020-08-05T08:38:30.030Z - commits: - subject: Update skhema to 5.x hash: 1eb7058e8e34d708c03c5270e849aff4576773e7 body: | Update skhema from 2.3.0 to 5.3.2 footer: Change-type: minor change-type: minor author: Pagan Gazzard nested: - commits: - subject: Switch to typed-error hash: 234c6da3d4b2ca6784d7714a7b7d46813b43310a body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: skhema-5.3.2 date: 2020-08-04T21:33:19.366Z - commits: - subject: Add .versionbot/CHANGELOG.yml for nested changelogs hash: 7c61cf2f1e120944c3aef29dfe208f2e37139a6a body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: skhema-5.3.1 date: 2020-08-04T21:07:49.365Z - commits: - author: Juan Cruz Viotti body: "" footers: change-type: minor signed-off-by: Juan Cruz Viotti hash: 7e3fd20fb84d71c67e2f11206c4cf60b4b2866c1 subject: "filter: Throw a custom error if the schema is invalid" date: 2020-05-05T15:22:49Z version: skhema-5.3.0 - commits: - author: StefKors body: "" footers: change-type: patch signed-off-by: Stef Kors hash: e90802b28b908dfcd4c54e432e72cd36ba390b09 subject: Add test to show .filter() not working correctly - author: StefKors body: "" footers: change-type: patch signed-off-by: Stef Kors hash: 4ff1988ca8c78192ad0f92afb7f2bb3d2679fdd2 subject: When combining with baseSchema merge enum with AND operator date: 2019-12-12T11:38:32Z version: skhema-5.2.9 - commits: - author: Juan Cruz Viotti body: "" footers: change-type: patch signed-off-by: Juan Cruz Viotti hash: 2f8725cde8fc23de39346860a4fc283ada408eab subject: Ensure values in "enum" are unique date: 2019-11-27T20:30:03Z version: skhema-5.2.8 - commits: - author: Juan Cruz Viotti body: "" footers: change-type: patch signed-off-by: Juan Cruz Viotti hash: 5afd0f25d791fe1f0d85957369a46292212de79e subject: 'filter: Correctly handle "enum" inside "anyOf"' date: 2019-11-27T19:34:08Z version: skhema-5.2.7 - commits: - author: Juan Cruz Viotti body: "" footers: change-type: patch signed-off-by: Juan Cruz Viotti hash: 0bb8c525b58dc358b80ddd7a2ed53dc95fe662ae subject: "merge: Be explicit about additionalProperties" date: 2019-11-19T09:19:11Z version: skhema-5.2.6 - commits: - author: Lucian body: "" footers: change-type: patch signed-off-by: Lucian hash: 864db6644a2cddfada888c3cb979498b2107eabe subject: Add a resolver for the const keyword date: 2019-05-09T15:49:10Z version: skhema-5.2.5 - commits: - author: Juan Cruz Viotti body: >- This is very similar to the cache class they use by default, with the difference that it has a limit and won't grow indefinitely, causing memory leaks on long running applications like Jellyfish. footers: change-type: patch signed-off-by: Juan Cruz Viotti hash: 8dcdde578bdae9dad5786270b451bd45a7204115 subject: Configure AJV instances with an LRU cache date: 2019-04-15T15:32:41Z version: skhema-5.2.4 - commits: - author: Juan Cruz Viotti body: So we don't leak `SchemaObject` in the AJV `_refs` object. footers: change-type: patch signed-off-by: Juan Cruz Viotti hash: f55993458fe587fa2884f116506bd27cb2aa3e87 subject: Set addUsedSchema to false in all AJV instances date: 2019-04-15T15:15:23Z version: skhema-5.2.3 - commits: - author: Lucian body: "Fixes #43" footers: change-type: patch signed-off-by: Lucian hash: 90dd1490303d06c0e44be715464ddc4f598f4adb subject: Fix bug in scoreMatch when handling arrays date: 2019-03-20T10:24:26Z version: skhema-5.2.2 - commits: - author: Lucian body: "" footers: change-type: patch signed-off-by: Lucian hash: 846dc2265f73018870d88c704630578e6715afa8 subject: Fix bad require name and .only in tests date: 2019-03-19T15:47:17Z version: skhema-5.2.1 - commits: - author: Lucian Buzzo body: >- Only match elements with .filter() if the base schema (the schema with no anyOf branches) matches the element. footers: change-type: patch signed-off-by: Lucian Buzzo hash: 9652d825d07fd8de0b51a5ae2645f3f6f79ee860 subject: ".filter(): Only match if the base schema matches" date: 2020-04-30T16:22:18Z version: skhema-5.2.10 - commits: - author: Lucian body: "" footers: change-type: minor signed-off-by: Lucian hash: 647943a9d7fad1338ad800509a85636b150d576e subject: Add ability to provide custom resolvers to merge() date: 2019-03-19T12:14:12Z version: skhema-5.2.0 - commits: - author: Lucian body: "" footers: change-type: patch signed-off-by: Lucian hash: c00be29c12b14858982cd2997088d065ff173870 subject: Split up and optimize lodash dependencies date: 2019-02-08T11:58:56Z version: skhema-5.1.1 - commits: - author: Lucian Buzzo body: "" footers: change-type: minor signed-off-by: Lucian Buzzo hash: 5c48f980bfad6eb0a15d6c18d0898fbe226ddddd subject: "feature: Implement method for restricting a schema by another schema" date: 2019-01-08T11:00:52Z version: skhema-5.1.0 - commits: - author: Lucian body: Using a strictly defined API allows us to improve performance footers: change-type: major signed-off-by: Lucian hash: 04f497a509e4129977e696a6637fe2724a7fb7e0 subject: Remove ability to add custom keywords or formats date: 2018-12-31T07:38:57Z version: skhema-5.0.0 - commits: - author: Lucian body: "" footers: change-type: patch signed-off-by: Lucian hash: 219f90ed5751e2211d9acb0bbd3311c39e12a180 subject: Improve performance of clone operations date: 2018-12-31T07:20:46Z version: skhema-4.0.4 - commits: - author: Lucian body: "" footers: change-type: patch signed-off-by: Lucian hash: 61318967874690eb3b85a9921fe27d3ce5c2494d subject: Don't bust AJV cache date: 2018-12-10T12:09:43Z version: skhema-4.0.3 - commits: - author: Giovanni Garufi body: "" footers: change-type: patch signed-off-by: Giovanni Garufi hash: 1f6c87de94ef905ea39972630364c74beb55057a subject: Add benchmark tests date: 2018-12-10T11:47:01Z version: skhema-4.0.2 - commits: - author: Lucian body: "Fixes #30" footers: change-type: patch signed-off-by: Lucian hash: d59a81567bf84a90182687a5385538ff7a599ce0 subject: Recurse through nested `anyOf` statements when filtering date: 2018-12-04T13:29:31Z version: skhema-4.0.1 - commits: - author: Lucian body: This better follows the way that JSON schema works footers: change-type: major signed-off-by: Lucian hash: 7c479564ca6c611c1576c32b63ac9dba06c8b2c7 subject: Treat undefined additionalProperties as true instead of false date: 2018-12-03T13:40:59Z version: skhema-4.0.0 - commits: - author: Juan Cruz Viotti body: "" footers: change-type: patch signed-off-by: Juan Cruz Viotti hash: 842aaf252085b9a80a1cd84776b0c871c8c949aa subject: "stryker: Increase test timeout" - author: Juan Cruz Viotti body: "" footers: change-type: patch signed-off-by: Juan Cruz Viotti hash: 781b74d9ca847acfbfa3883fda66f4828824e3bc subject: "test: Configure Stryker for mutative testing" date: 2018-11-30T16:58:05Z version: skhema-3.0.1 - commits: - author: Giovanni Garufi body: >- Merge multiple anyOf subschemas that match into a single one. Add axioms in test footers: change-type: minor signed-off-by: Giovanni Garufi hash: 23cec34382d98b6c10a1d5483113a1155ba6565a subject: Define additionalProperty inheritance in anyOf - author: Lucian body: "" footers: change-type: major signed-off-by: Lucian hash: 93a65b6edb10397b3417a3719d4471cd0eeb4f68 subject: Formalising filtering logic - author: Lucian body: "" hash: d55a7cac6bd9ce238918eea99ed64894e5e7d066 subject: Added failing test case with mutation date: 2018-11-29T17:53:28Z version: skhema-3.0.0 - commits: - author: Juan Cruz Viotti body: >- This is a hack, and should be reverted once we get to the bottom of it. It will impact performance, but right now there are things that should be filtered and are not, so lets get this merged for security purposes. Hopefully this library will be re-written soon. footers: change-type: patch see: https://github.com/balena-io/jellyfish/pull/878 signed-off-by: Juan Cruz Viotti hash: fd9841b296007e1ddc04d092c3b28c61a438be6c subject: "hotfix: Make sure things that should be filtered are filtered" date: 2018-11-07T13:42:47Z version: skhema-2.5.2 - commits: - author: Juan Cruz Viotti body: "" footers: change-type: patch see: https://github.com/balena-io/jellyfish/issues/845 signed-off-by: Juan Cruz Viotti hash: 3ef59f5e552a11dffa72c6ff758210aebfe35bcb subject: "filter: Force additionalProperties: true on match schemas" date: 2018-11-06T17:26:53Z version: skhema-2.5.1 - commits: - author: Lucian Buzzo body: "" footers: change-type: minor signed-off-by: Lucian Buzzo hash: 3536e75a128f7b79d13727d3a5562df48e6f9d00 subject: Validate against just the schema if `options.schemaOnly` is true date: 2018-10-16T11:59:41Z version: skhema-2.5.0 - commits: - author: Lucian Buzzo body: "" footers: change-type: patch signed-off-by: Lucian Buzzo hash: 513eeb6d006270ac25a2fb9a802df9c398658548 subject: "merge: When merging an empty array, return a wildcard schema" date: 2018-10-09T20:19:28Z version: skhema-2.4.1 - commits: - author: Lucian Buzzo body: "" footers: change-type: minor signed-off-by: Lucian Buzzo hash: 5a3844a72a7bb0bad355d6a991a9a2f005c3a3b9 subject: "validate: Make object optional" date: 2018-10-09T16:52:53Z version: skhema-2.4.0 version: contrato-0.4.0 date: 2020-08-04T21:58:55.782Z - commits: - subject: Add .versionbot/CHANGELOG.yml for nested changelogs hash: 783273aac70fd631d5a80e33b55ef468be4c3ec7 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: contrato-0.3.1 date: 2020-08-04T21:46:25.163Z - commits: - author: Stevche Radevski body: >- Handlebars supports very basic if condition checking, but it only checks for existence of a field. There are times when we want to combine conditions in order to generate something as part of a blueprint, without defining a completely separate blueprint for it (like generating network config schema if a dt has a wifi chip or a usb port to which we can connect a dongle). footers: change-type: minor signed-off-by: Stevche Radevski hash: 90c3356b356920b8a6dd95a478dd6cb39e6ad148 subject: Add logical operator support in templates date: 2020-07-17T12:02:34Z version: contrato-0.3.0 version: 11.12.0 date: 2020-08-05T09:55:18.695Z - commits: - subject: Bump elliptic from 6.5.2 to 6.5.3 hash: c11004cd24fe66e6af7f16a79c0cc9e8847eb415 body: > Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.2 to 6.5.3. - [Release notes](https://github.com/indutny/elliptic/releases) - [Commits](https://github.com/indutny/elliptic/compare/v6.5.2...v6.5.3) footer: Change-type: patch change-type: patch Signed-off-by: dependabot[bot] signed-off-by: dependabot[bot] author: dependabot[bot] nested: [] - subject: Update pinejs-client-request and make use of a named key hash: 511cbbe74e9dce51490234c66035ded873091b4e body: | Update pinejs-client-request from 7.0.0 to 7.1.0 footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: - commits: - subject: Update dependencies hash: c46281f165eb6b05def4bd9eed82df37629c56e7 body: | Update pinejs-client-core from 6.0.0 to 6.1.0 footer: Change-type: minor change-type: minor author: Pagan Gazzard nested: - commits: - subject: Add support for using named ids hash: f6035bf5240e8aea1b92997d976cebd9a1857a61 body: "" footer: Change-type: minor change-type: minor author: Pagan Gazzard version: pinejs-client-js-6.1.0 date: 2020-07-21T10:31:09.457Z - commits: - subject: Drop unnecessary async from request() hash: dfd4c8c39327fe2e1706a8180e3c3f56d4229b77 body: | This allows consumers like pinejs-client-supertest to have all the methods returning different Promise types based solely on the implementation of the request() method. footer: Change-type: patch change-type: patch Signed-off-by: Thodoris Greasidis signed-off-by: Thodoris Greasidis author: Thodoris Greasidis version: pinejs-client-js-6.0.1 date: 2020-06-19T16:55:46.305Z version: pinejs-client-request-7.1.0 date: 2020-07-28T10:43:21.213Z - commits: - subject: Increase default timeout to 59s hash: fc17266fe147bf40086feb81b6c96a344bf74f29 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: pinejs-client-request-7.0.1 date: 2020-07-28T10:29:41.385Z version: 11.11.7 date: 2020-08-04T09:33:41.743Z - commits: - subject: Fixes documentation - ping doesn't need apiKey and minor documentation formatting changes. hash: 82dda7d852773a58ddbdc4a614ef3a3b7ff15462 body: "" footer: Change-Type: patch change-type: patch Signed-off-by: Nitish Agarwal <1592163+nitishagar@users.noreply.github.com> signed-off-by: Nitish Agarwal <1592163+nitishagar@users.noreply.github.com> Co-authored-by: xginn8 co-authored-by: xginn8 author: Nitish Agarwal nested: [] version: 11.11.6 date: 2020-07-31T18:10:27.470Z - commits: - subject: "Fixes #1299 v1 start/stop endpoint issue with service access." hash: 11cac2dd696dc267758351be131c3db8eae4470e body: "" footer: Change-Type: patch change-type: patch Signed-off-by: Nitish Agarwal <1592163+nitishagar@users.noreply.github.com> signed-off-by: Nitish Agarwal <1592163+nitishagar@users.noreply.github.com> author: Nitish Agarwal nested: [] version: 11.11.5 date: 2020-07-31T17:42:23.827Z - commits: - subject: "bug: Fix undefined containerId object" hash: 59561132cc11074d2acf4ac06b477196b42cf569 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Rich Bayliss signed-off-by: Rich Bayliss author: Rich Bayliss nested: [] version: 11.11.4 date: 2020-07-31T10:53:18.364Z - commits: - subject: fix matching extra_uEnv backend with unsupported devices hash: 9b37ce96f959ccf27963ebb1c3e9eccd2ed998c7 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 11.11.3 date: 2020-07-30T18:15:41.698Z - commits: - subject: Fix an issue with reporting initial config using a stale target state hash: ffe3da6261e486b875c5c1792b7bdc8e0a0f996e body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: [] version: 11.11.2 date: 2020-07-30T09:50:26.292Z - commits: - subject: fix up "atleast" -> "at least" hash: 15c57a86b47c4df3dbf5e20c5dbbbd40a6344812 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Matthew McGinn signed-off-by: Matthew McGinn author: Matthew McGinn nested: [] version: 11.11.1 date: 2020-07-29T15:57:59.129Z - commits: - subject: Support setting device/fleet configuration in extra_uEnv.txt hash: cac2e3612c978b5fbcf837d78a4a0bff5ba5166a body: "" footer: Closes: "#1385" closes: "#1385" Change-Type: minor change-type: minor Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 11.11.0 date: 2020-07-28T20:38:18.462Z - commits: - subject: Extract current state reporting to its own module hash: eeda7e3ab17dc68d592acc2e4f58f20dad9a677a body: "" footer: Change-type: minor change-type: minor author: Pagan Gazzard nested: [] version: 11.10.0 date: 2020-07-24T16:39:30.078Z - commits: - subject: log detection of changes to VPN status hash: 41987d8e7600550da2d09e050db58c3ad969210e body: "" footer: Change-type: patch change-type: patch Signed-off-by: dt-rush signed-off-by: dt-rush author: dt-rush nested: [] version: 11.9.10 date: 2020-07-23T23:22:47.297Z - commits: - subject: "common: Fix bug where aliases might be undefined" hash: 60132134deffd770a40d1e6f18fdd87cb2f9f52e body: | Should handle the scenario where the network aliases are undefined. footer: Change-type: patch change-type: patch Signed-off-by: Rich Bayliss signed-off-by: Rich Bayliss author: Rich Bayliss nested: [] version: 11.9.9 date: 2020-07-23T15:45:31.161Z - commits: - subject: Bump lodash from 4.17.15 to 4.17.19 hash: 01655b595555ae63ea1b70d623451c9ad3ec03dd body: > Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19) footer: Change-type: patch change-type: patch Signed-off-by: dependabot[bot] signed-off-by: dependabot[bot] author: dependabot[bot] nested: [] version: 11.9.8 date: 2020-07-22T14:44:00.974Z - commits: - subject: "docker-utils: Test network gateway determination logic" hash: 6ef3bd2362ebd185053a351490f6561ec10b84d8 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Rich Bayliss signed-off-by: Rich Bayliss author: Rich Bayliss nested: [] - subject: Fix docker-util using incorrect reference for function hash: 3b3babfd62868e986788d6c2f4fcede915fb4711 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira nested: [] version: 11.9.7 date: 2020-07-22T12:19:06.693Z - commits: - subject: Fix purge and restart invocations by providing instanced apps hash: d14d8f31ccee62fa8cec88209cc3674a1b280e34 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver nested: [] - subject: Fix purge invocations of new singletons hash: d2a7d3b9653a2afbd8eca009b75871cf54dbf3ac body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver nested: [] version: 11.9.6 date: 2020-07-20T17:25:37.311Z - commits: - subject: Update ESR version information hash: c2b534a51b3863bf3c787db00c7299517224464f body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver nested: [] version: 11.9.5 date: 2020-07-14T14:31:17.340Z - commits: - subject: "bug: Fix unhandled promise rejection" hash: 898c7e71dae28aa046bdd3e075ecf0d6aa364142 body: | When invoking iptables-restore it can fail. This wasn't handled and this makes sure that it fails gracefully. footer: Change-type: patch change-type: patch Signed-off-by: Rich Bayliss signed-off-by: Rich Bayliss author: Rich Bayliss nested: [] version: 11.9.4 date: 2020-07-13T12:07:37.513Z - commits: - subject: Fix bug where a promise was not resolved in db-format hash: 270f9f854add8db84fadc0a96e127a6035128aef body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Convert deviceConfig module to a singleton hash: 5337c0102cd9bdbaaa41812fb1b8c44796ae9898 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.9.3 date: 2020-07-08T11:07:16.427Z - commits: - subject: "avahi: Control with HOST_DISCOVERABILITY" hash: 03ca0ee9add9872b5577833971b43682ae6cc427 body: | The host config variable HOST_DISCOVERABILITY can be set to true or false, controlling the state of the avahi service. This determines if the device advertises it's presence over mDNS. footer: Change-type: patch change-type: patch Signed-off-by: Rich Bayliss signed-off-by: Rich Bayliss author: Cameron Diver version: 11.9.2 date: 2020-07-06T12:04:46.333Z - commits: - subject: "firewall: Add Host Firewall functionality" hash: 28c5a44e714a3f155fbd528d0ec672dec1d96ef8 body: | Controlled by BALENA_HOST_FIREWALL_MODE, the firewall can either be 'on' or 'off'. - In the 'off' state, all traffic is allowed. - In the 'on' state, only traffic for the core services provided by Balena is allowed. footer: Change-type: patch change-type: patch Signed-off-by: Rich Bayliss signed-off-by: Rich Bayliss author: Rich Bayliss version: 11.9.1 date: 2020-07-01T17:45:22.146Z - commits: - subject: Added support for configuring FDT directive in extlinux.conf hash: 59fc589eb23bdf8c79c677734d2792b93380c94c body: "" footer: Change-type: minor change-type: minor Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira version: 11.9.0 date: 2020-06-23T19:58:27.412Z - commits: - subject: "state: Report device MAC address to the API" hash: 1b91ef3405d1d2013cbdd6381ed69256c6432d18 body: | When reporting device information, send the MAC address of any interfaces on the system. Also expose in the Supervisor API at the route GET /v1/device. footer: Change-type: patch change-type: patch Signed-off-by: Rich Bayliss signed-off-by: Rich Bayliss author: Rich Bayliss version: 11.8.4 date: 2020-06-22T09:43:53.370Z - commits: - subject: Update pinejs-client-request to 7.x hash: c15f77434ba3b957dc55f5df207026eb2028bd57 body: | Update pinejs-client-request from 5.2.0 to 7.0.0 footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: - commits: - subject: Empty commit to attempt republish hash: 72c0214672a1e552cb8fa63f9a96aa47b5db19b1 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Switch from bluebird-lru-cache to lru-cache for caching hash: e69b9cb202140de25f5b6cc9258cccb71854fd6f body: "" footer: Change-type: major change-type: major author: Pagan Gazzard - subject: Update target to es2018 hash: 1c2e8725305219f0c144cca583a1e8225d64c503 body: "" footer: Change-type: major change-type: major author: Pagan Gazzard - subject: Remove bluebird dependency hash: b066e578427c179c9cb7fca6dda2e2e17da01a46 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Convert to async/await hash: 3ca7a939c2e25861cf3484b1ef31f7ccbec9369a body: "" footer: Change-type: major change-type: major author: Pagan Gazzard - subject: Update to pinejs-client-core 6.x hash: 33f1f63efbb0a4a1c9fae0f45c4f2e00e59572f2 body: | Update pinejs-client-core from 5.8.0 to 6.0.0 footer: Change-type: major change-type: major author: Pagan Gazzard nested: - commits: - subject: Increase minimum es version to es2015 hash: 52f3a97dc2b5aba07090a688fcd7afa2d2d789d8 body: "" footer: Change-type: major change-type: major author: Pagan Gazzard - subject: Convert to async/await hash: b6c6d1f1dc9e9b05e60964a87e1677b0b4cc74eb body: "" footer: Change-type: major change-type: major author: Pagan Gazzard - subject: Remove now unnecessary PinejsClientCoreFactory hash: 35adea3c7c33a74920652ea547e8d649592e86fc body: "" footer: Change-type: major change-type: major author: Pagan Gazzard - subject: Switch to using native promises hash: d87e4570be580dccb1e511068beaf79878e66d06 body: "" footer: Change-type: major change-type: major author: Pagan Gazzard - subject: Drop support for deprecated request overrides hash: 5aa89779bb06b9437382439b324f91d5fa9061b7 body: "" footer: Change-type: major change-type: major author: Pagan Gazzard - subject: Drop support for deprecated `query` method hash: 2a0d315b111832c0a15a4cc581cd3f3cb5c32cd7 body: "" footer: Change-type: major change-type: major author: Pagan Gazzard - subject: Drop support for deprecated string based requests hash: 493a2bc970923eb8d79e684e10d4ec433803a20c body: "" footer: Change-type: major change-type: major author: Pagan Gazzard - subject: Use `;` for expand options instead of `&` hash: 62f0f4c406ce87b2ba6d4a7f74c88107ac3144cb body: "" footer: Change-type: major change-type: major author: Pagan Gazzard version: pinejs-client-js-6.0.0 date: 2020-06-04T12:58:07.304Z version: pinejs-client-request-7.0.0 date: 2020-06-16T10:57:45.926Z - commits: - subject: Lazy load bluebird-lru-cache and lodash hash: a2b6b74600b9ddecc98cb90a5d2d9ca28495b835 body: "" footer: Change-type: minor change-type: minor author: Pagan Gazzard version: pinejs-client-request-6.2.0 date: 2020-06-08T15:32:03.904Z - commits: - subject: Convert some lodash usage to native versions hash: 93aaa1f518859bbe08a5746fbb1668c9fd446ae3 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: pinejs-client-request-6.1.4 date: 2020-06-08T11:53:33.697Z - commits: - subject: Remove unused dependencies hash: 58a13f0fbe9692be029812db19f22aac7bd6f0f9 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: pinejs-client-request-6.1.3 date: 2020-06-04T15:00:55.621Z - commits: - subject: Update dependencies hash: 0087b900328f1ba02699fc75664b0d23eb433e67 body: | Update pinejs-client-core from 5.6.11 to 5.8.0 footer: Change-type: patch change-type: patch author: Pagan Gazzard nested: - commits: - subject: Generate optional builds for es2015/es2018 as well as the default es5 hash: 510682b0e2a9d2a338aa977bd4782ec60fc5b196 body: "" footer: Change-type: minor change-type: minor author: Pagan Gazzard version: pinejs-client-js-5.8.0 date: 2020-05-29T13:12:21.476Z - commits: - subject: Update dependencies hash: 8141a6dfe6edd4c7e432d85c3533e6e02a43e2ff body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: pinejs-client-js-5.7.1 date: 2020-05-25T16:57:46.154Z - commits: - subject: Make transformGetResult a method , to ease overriding the get method hash: f267d4bfc006d1aabfb0ed1f79c9234ecb5c7d5f body: "" footer: Change-type: minor change-type: minor See: https://github.com/balena-io/balena-api/pull/2532 see: https://github.com/balena-io/balena-api/pull/2532 author: Thodoris Greasidis version: pinejs-client-js-5.7.0 date: 2020-04-15T13:13:28.186Z version: pinejs-client-request-6.1.2 date: 2020-06-02T15:55:01.003Z - commits: - subject: Add linting hash: 988d58f708da1bd1a4389a1a2129fa5d30706065 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: pinejs-client-request-6.1.1 date: 2020-03-19T21:47:11.959Z - commits: - subject: Move require-npm4-to-publish to dev dependencies hash: 084a19f61c408643d9a9448c1d656bed7791fec5 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Update dependencies hash: 1b06cd6c26b60a4d043ad1aaaf6e4ab9b822ace2 body: | Update pinejs-client-core from 5.3.6 to 5.6.11 Update typed-error from 3.1.0 to 3.2.0 footer: Change-type: minor change-type: minor author: Pagan Gazzard nested: - commits: - subject: update deps and specify minimum engine requirements hash: 22f293afc187e67b88dab280951eb6e2bb504b24 body: "" footer: Change-type: minor change-type: minor Signed-off-by: Will Boyce signed-off-by: Will Boyce author: Will Boyce version: typed-error-3.2.0 date: 2019-11-20T09:52:39.017Z - commits: - subject: "🐛: Fix missing `deprecated.getStringParams` function" hash: 53edb7e7485acd4310e9b04291894f6ab746285a body: | The function `deprecated.getStringParams` was used, but not defined. footer: Change-type: patch change-type: patch Signed-off-by: Andreas Fitzek signed-off-by: Andreas Fitzek author: Andreas Fitzek version: pinejs-client-js-5.6.11 date: 2020-02-21T13:35:51.993Z - commits: - subject: Update to resin-lint 3.x hash: f1b415154cc21b9880ad8ee1134ea9340220aba2 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: pinejs-client-js-5.6.10 date: 2020-02-14T15:37:12.741Z - commits: - subject: "CircleCI: Remove deploy job as it's handled by balenaCI" hash: d6c9a485e0da5f6aa600597b6d076a8dce411df7 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: pinejs-client-js-5.6.9 date: 2020-02-14T15:27:02.200Z - commits: - subject: Add the missing `method` on the post method hash: 2f649c3157a50277f6e168a64abb1593ac9d7a4f body: | Fixes a regression of v5.6.7. footer: Change-type: patch change-type: patch Signed-off-by: Thodoris Greasidis signed-off-by: Thodoris Greasidis author: Thodoris Greasidis version: pinejs-client-js-5.6.8 date: 2020-02-14T14:59:02.633Z - commits: - subject: Deprecate request overrides hash: 84fa00ab60a98bbe56885ee5fabcccfc876a86d6 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Deprecate queries using a string url hash: 8cd9be6b0642ff5b1cba0596f827a74fd76bbff5 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Deprecate `query` in favor of `get` hash: ab77d10cad0a57914018b76c9755deddb3e078ef body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: pinejs-client-js-5.6.7 date: 2020-02-14T12:52:12.207Z - commits: - subject: Allow resource/$count in $filter hash: 7eac38f1ed6a3bcdf1e6c4be5dde50aca953359e body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: pinejs-client-js-5.6.6 date: 2020-02-14T12:35:22.507Z - commits: - subject: Remove `defaults` helper in favour of `??` hash: 806852bceb07a858572511609dc88ea0b748038e body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: pinejs-client-js-5.6.5 date: 2020-01-30T17:09:03.006Z - commits: - subject: Avoid allocations when destroying a poll hash: 8f397a83803ae43d19331f4c32952384ba9e7fe6 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: pinejs-client-js-5.6.4 date: 2020-01-30T16:25:12.292Z - commits: - subject: Improve `RawFilter` typing hash: 2006d4e7f0fecbb99357b82215da28978194db41 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: pinejs-client-js-5.6.3 date: 2020-01-30T12:59:22.535Z - commits: - subject: Update dependencies hash: e7314acbdd029ece267a4568bf15cb5dc333eec1 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: pinejs-client-js-5.6.2 date: 2020-01-29T21:12:32.246Z - commits: - subject: Switch most CODEOWNERS entries to a team hash: 3ef7e0db285ae54f96aee3f52319ac8d8c4d61e8 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: pinejs-client-js-5.6.1 date: 2020-01-22T16:38:22.045Z - commits: - subject: Add 'upsert' method supporting natural keys, requires Pinejs ^10.19.1 hash: c8ebfceec3ecc1cc57ee6942db35730c6d993192 body: | Detects unique constrain errors by 409 statusCodes. Because of this, the upsert() method is only supported when Pinejs ^10.19.0 is used. footer: Resolves: "#77" resolves: "#77" Change-type: minor change-type: minor Signed-off-by: Thodoris Greasidis signed-off-by: Thodoris Greasidis author: Thodoris Greasidis version: pinejs-client-js-5.6.0 date: 2019-07-12T20:46:17.091Z - commits: - subject: Remove unnecessary `string` type that is handled by the `Params` type hash: 0ab1242860aa8b3ed4162a5ee25081c640297676 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: pinejs-client-js-5.5.4 date: 2019-06-18T14:46:38.983Z - commits: - subject: Use an .npmrc to prevent creating a package-lock on each install hash: 993c4ae09c3ba50e1d48e4156e86a7c890e54749 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Thodoris Greasidis signed-off-by: Thodoris Greasidis author: Thodoris Greasidis version: pinejs-client-js-5.5.3 date: 2019-06-18T10:24:38.995Z - commits: - subject: Add some type casting so that it compiles on TypeScript 3.5 hash: 695c053ceab9b146a8b755f9b041eb03e70b5914 body: "" footer: Resolves: "#79" resolves: "#79" Change-type: patch change-type: patch Signed-off-by: Thodoris Greasidis signed-off-by: Thodoris Greasidis author: Thodoris Greasidis version: pinejs-client-js-5.5.2 date: 2019-06-10T10:48:07.772Z - commits: - subject: Fix downstream declaration creation errors due to `Dictionary` hash: a8a39edff8cc7e1d05fb9b67037718970e94296c body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: pinejs-client-js-5.5.1 date: 2019-05-15T13:32:13.920Z - commits: - subject: Add a prepare method that prepares a query into a function hash: eb7eccca7d90c453710575ebdf3adb9ef56835a7 body: "" footer: Change-type: minor change-type: minor author: Pagan Gazzard version: pinejs-client-js-5.5.0 date: 2019-05-15T11:51:46.450Z - commits: - subject: Add CODEOWNERS hash: e01174008f812e0c24ec1036aa1f9ff0bc716e85 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Gergely Imreh signed-off-by: Gergely Imreh author: Gergely Imreh version: pinejs-client-js-5.4.1 date: 2019-05-10T10:14:00.677Z - commits: - subject: Add support for parameter aliases in resource ids hash: a4e6a640a3ced56bcd3ef7bf22770338e089a90d body: "" footer: Change-type: minor change-type: minor author: Pagan Gazzard version: pinejs-client-js-5.4.0 date: 2019-05-10T09:57:46.863Z - commits: - subject: Deduplicate transformation of GET results hash: dd856e24072f652684adf63af97408ee0ba7389c body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: pinejs-client-js-5.3.10 date: 2019-05-10T09:44:09.422Z - commits: - subject: Simplify how we expose types, which means `subscribe` is now exposed hash: f81e0cc59e75e0f9ffc71d9f122b9cfab9c05165 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: pinejs-client-js-5.3.9 date: 2019-05-10T08:57:16.276Z - commits: - subject: Add automatic formatting via prettier hash: a345d32f295acfa8ed4e5b815c24e1e7fdb335f2 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: pinejs-client-js-5.3.8 date: 2019-05-09T17:38:43.260Z - commits: - subject: Remove node 4 build, add node 12 hash: 8d549277d80746feadbdd8a6bba37eb076270440 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Add .versionbot/CHANGELOG.yml for downstream changelogs hash: 067bedf65e86a902b7334ed6e5f117d6ac41afde body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: pinejs-client-js-5.3.7 date: 2019-05-08T15:41:50.201Z version: pinejs-client-request-6.1.0 date: 2020-03-19T12:19:09.392Z - commits: - subject: Add CODEOWNERS hash: efc40c853d4392b866eb3784839871fad086fccd body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: pinejs-client-request-6.0.3 date: 2020-01-22T16:35:52.630Z - commits: - subject: Add node 12 tests hash: 624b1efadfbb920d718bd2f54f99e8eef0e5c645 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Add upstream for pinejs-client-core hash: 33dc1299939483534686f52e903bb27f8a08b543 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: pinejs-client-request-6.0.2 date: 2019-05-08T15:57:24.879Z - commits: - subject: Update target to es2016, part of/fixing the typed-error bump hash: 6025bf882f6f2675b321571f327f59a4908da539 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: pinejs-client-request-6.0.1 date: 2019-04-23T20:43:52.266Z - commits: - subject: "typed-error: Update to v3.1.0" hash: 82e50ac9992b3a157360eef5163f43a90fa9feea body: | Update typed error from 2.0.0 to 3.1.0 footer: Change-type: major change-type: major Signed-off-by: Will Boyce signed-off-by: Will Boyce author: Will Boyce version: pinejs-client-request-6.0.0 date: 2019-04-17T15:08:00.745Z version: 11.8.3 date: 2020-06-18T12:26:43.171Z - commits: - subject: Make service-manager module a singleton hash: 0e8d92e08af5f18fce9aa9e3e1e7057c98dee1c3 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Make volume-manager module a singleton hash: adaad786af161a7a3cdf61f2c63926e702fef790 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Make network-manager module a singleton hash: 8fc97b9de89392bb9e6fd562e12d261ced3990cb body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Add supervisor upgrade document hash: 989ec83a27621cab6c53dd026c2407dfe1b1b179 body: "" footer: Connects-to: https://github.com/balena-io/balena-io/issues/2157 connects-to: https://github.com/balena-io/balena-io/issues/2157 Change-type: patch change-type: patch Signed-off-by: Hugh Brown signed-off-by: Hugh Brown author: Hugh Brown version: 11.8.2 date: 2020-06-17T14:59:07.731Z - commits: - subject: Update webpack dependencies hash: e1fb8683f4687aa0844bf73780916db34e3ebd3d body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 11.8.1 date: 2020-06-16T12:08:37.495Z - commits: - subject: Use API v6 hash: 1dccbaecd8a6cd8bf551e3b56131066e9de9ed35 body: "" footer: See: https://github.com/balena-io/open-balena/issues/80 see: https://github.com/balena-io/open-balena/issues/80 Change-type: minor change-type: minor author: Akis Kesoglou version: 11.8.0 date: 2020-06-16T09:16:47.483Z - commits: - subject: Db-format module code fixups hash: 695d91d4948aa5b89c602135ccc8fba8321fd8bd body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.7.3 date: 2020-06-15T09:55:57.277Z - commits: - subject: Add label to expose gpu to container hash: ae646a07ec6a6c96f7cb91f1d37898a94dbab47a body: > In the absence of an upstream implementation of the DeviceRequest API introduced as part of Docker API v1.40 we roll our own using a feature label. As per my comment in the code, we fall back to the default behavior of docker cli's `--gpu` and request single device with the `gpu` capabilty. The only implementation at the moment is the NVIDIA driver; here: https://github.com/balena-os/balena-engine/blob/master/daemon/nvidia_linux.go Background on the composefile implementation: https://github.com/compose-spec/compose-spec/issues/74 https://github.com/docker/compose/issues/6691 footer: Change-type: patch change-type: patch Connects-to: https://github.com/balena-os/balena-jetson/pull/75 connects-to: https://github.com/balena-os/balena-jetson/pull/75 Signed-off-by: Robert Günzler signed-off-by: Robert Günzler author: Robert Günzler version: 11.7.2 date: 2020-06-11T12:11:35.793Z - commits: - subject: Move database app processing out to its own module hash: b31d5007fba001fcb71f5103447823f9a27bbfaa body: | This is part of the work to make the application-manager module much less monolithic, in preperation for system apps and more generally multi-app. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Make target-state-cache a singleton hash: c0e170c61f05a8fc01dc167276ccb041d6d2d846 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.7.1 date: 2020-06-11T10:57:36.941Z - commits: - subject: Respect an initialDeviceName field in the config.json hash: b5918f0d84cea641c7ab9aae58aff99454d10253 body: "" footer: Closes: "#909" closes: "#909" Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.7.0 date: 2020-06-10T12:30:37.459Z - commits: - subject: Make images module a singleton hash: 2b3dc2fbcef63ae2024fe5fe41f30b0d56357943 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.6.6 date: 2020-06-10T10:32:38.006Z - commits: - subject: "fix: API auth missing on state GET/PATCH" hash: b89425c6079b74c709ef9872c6fc53726ffda6d3 body: | When performing a state GET/PATCH the authentication header was being missed off. footer: Change-type: patch change-type: patch Signed-off-by: Rich Bayliss signed-off-by: Rich Bayliss author: Rich Bayliss version: 11.6.5 date: 2020-06-09T14:06:37.184Z - commits: - subject: Refactored @ts-ignore to @ts-expect-error in test file hash: ffe814e4479a962979e759dfec8618dbfb53008b body: "" footer: Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira version: 11.6.4 date: 2020-06-08T17:28:46.843Z - commits: - subject: Make logger module a singleton hash: 651e48b1bd8e9a9d356b63f8cb05aaeba622840d body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Fix exponential backoff for state polling hash: e37b52dd689692eeca818907cf0d7e5876bec0b3 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 11.6.3 date: 2020-06-08T16:21:57.822Z - commits: - subject: Make the event-tracker module a singleton hash: 389e14ec6b63cf4a997f0d25f8bbe6a6a435dd5c body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.6.2 date: 2020-06-08T09:15:03.107Z - commits: - subject: Convert all test files to TS and add .spec to all filenames hash: 9fc2e86322249cfbc17db446bcd204f617b0a63e body: "" footer: Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira - subject: "fix: Pin alpine python version" hash: 846545648bdc98392da7972558390f1ea26bfd24 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Rich Bayliss signed-off-by: Rich Bayliss author: Rich Bayliss version: 11.6.1 date: 2020-06-05T22:42:07.292Z - commits: - subject: Isolate target state fetching to its own module which emits on update hash: 17a5d8dd4918916c954990cfb9666754434ef527 body: "" footer: Change-type: minor change-type: minor author: Pagan Gazzard version: 11.6.0 date: 2020-06-03T21:39:57.630Z - commits: - subject: Make docker module a singleton hash: aad20e2c2f9bf62dfb2e3092d898b100f911ecc5 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.5.3 date: 2020-06-02T16:59:27.552Z - commits: - subject: Make the config module a singleton hash: ff4a31a0e6269b823a04eeda2f433665617f583c body: "" footer: Change-type: patch change-type: patch Co-authored-by: Pagan Gazzard co-authored-by: Pagan Gazzard Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.5.2 date: 2020-06-02T13:31:37.056Z - commits: - subject: Remove unused dependencies and dedupe hash: 6290993a79aa2231ac19bbe80a72af72cd8ae72e body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.5.1 date: 2020-06-01T08:52:49.304Z - commits: - subject: Refactor device-state healthchecks to log reason for failure hash: 5550a3a330b6a27addd940c185dc7d489cd89464 body: "" footer: Closes: "#1292" closes: "#1292" Change-type: minor change-type: minor Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira version: 11.5.0 date: 2020-05-29T20:26:07.486Z - commits: - subject: Update dependencies hash: 1decd87c21de6c6b2baf7cb9a93141c8d097b874 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 11.4.17 date: 2020-05-29T18:26:52.490Z - commits: - subject: Make the db module a singleton hash: 1d7381327e3114c0d005316846429d26b01a3e4c body: > We were treating the database class as a singleton, but still having to pass around the db instance. Now we can simply require the db module and have access to the database handle. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.4.16 date: 2020-05-29T14:03:57.770Z - commits: - subject: Check for ApiError before using it as such hash: 972b896c95daf1305468137aefe1e12ead0d59ee body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.4.15 date: 2020-05-26T13:47:47.339Z - commits: - subject: check for 409 status code, rather than string matching uuid conflicts hash: eaaa9c257e750295ab6d464a7e1d2578297df84f body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.4.14 date: 2020-05-21T19:01:36.060Z - commits: - subject: Use safeStateClone to avoid call-stack exceeding errors hash: 87278c0d8c56a9c05511db83499f7476efca0edd body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.4.13 date: 2020-05-21T15:49:55.857Z - commits: - subject: Improved handling of invalid appId in V2 state endpoint hash: db7c27037cb3cc1e5f3ef8fbc676e0ee4a2ac0a1 body: "" footer: Closes: "#1294" closes: "#1294" Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira version: 11.4.12 date: 2020-05-19T14:58:36.939Z - commits: - subject: Switch to balenaApi for the state patch as patching cannot be cached hash: fb90042c3955e9a1a177076a711a12e226e0ab49 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 11.4.11 date: 2020-05-18T18:20:33.615Z - commits: - subject: Fix leftover spurious return from typescript conversion hash: 6972dcd92d36576517681685a129e89a8a06f722 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.4.10 date: 2020-05-18T14:23:19.048Z - commits: - subject: Catch errors in the target state poll so polling will always continue hash: dc187f0036875345ab489d14889c488eead24dc2 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 11.4.9 date: 2020-05-18T13:17:23.537Z - commits: - subject: Avoid querying `instantUpdates` on every state poll hash: afae5d15d49a75168ebe6d4f8911e96918d0da5e body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 11.4.8 date: 2020-05-18T12:25:53.833Z - commits: - subject: Fix default request options hash: b05d597ade83fcb1a58021ade0c11f70d232a39f body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 11.4.7 date: 2020-05-16T13:08:14.505Z - commits: - subject: Remove CoffeeScript tests and all CoffeeScript tools hash: 466c7999dbbe19acf7bfc2dff260778d229b5524 body: "" footer: Closes: "#1318" closes: "#1318" Change-Type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira version: 11.4.6 date: 2020-05-15T17:04:23.719Z - commits: - subject: Update to @balena/lint 5.x hash: 758f3caa48a53c00dd3230fe97e2f704968c4eb6 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 11.4.5 date: 2020-05-15T11:11:04.464Z - commits: - subject: Add a random offset to the poll interval with each poll hash: 58c6a69e5a6045e898ce5748089f4dcad7d12bc3 body: "" footer: Change-type: patch change-type: patch Closes: "#1242" closes: "#1242" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.4.4 date: 2020-05-15T09:36:33.693Z - commits: - subject: Cache service names in local log backend hash: 0bceffffb61a5970db0293a8f6d83fe8015163ef body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.4.3 date: 2020-05-14T08:43:43.453Z - commits: - subject: Update engine information in package.json hash: bbfd87d3257dec064f62dc05ee7d523593e8f415 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.4.2 date: 2020-05-13T08:49:32.854Z - commits: - subject: Correctly check if value is a valid Integer hash: 838c1ebba4c3d4cba31f5ef233f09020fa3d03f7 body: "" footer: Closes: "#1180" closes: "#1180" Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira version: 11.4.1 date: 2020-05-12T16:50:20.376Z - commits: - subject: Added endpoint to check if VPN is connected hash: 8295858b328d885782c6f0cead44248b1f17fd50 body: "" footer: Change-type: minor change-type: minor Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira version: 11.4.0 date: 2020-05-12T01:24:43.749Z - commits: - subject: Fixed stubs for test suite hash: f6aa4dd015e8bd07c795f6c1e70adf99a6ffec94 body: "" footer: Closes: "#1280" closes: "#1280" Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira version: 11.3.11 date: 2020-05-11T22:19:04.161Z - commits: - subject: Added more documentation to help new contributors start developing hash: 856e7cba2cc767ded0eeb5186a1cce19ea447735 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira version: 11.3.10 date: 2020-05-11T19:32:42.867Z - commits: - subject: Fix dindctl script and update balenaos-in-container hash: c317b02aef0bd2496f39ab245fa7c670e806f2e3 body: "" footer: Change-type: patch change-type: patch Closes: "#1306" closes: "#1306" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.3.9 date: 2020-05-11T13:16:55.781Z - commits: - subject: Remove unnecessary config.json keys hash: 913418bb37aafe1e66dcc9cd6e1f84e89dee4712 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 11.3.8 date: 2020-05-08T11:59:18.907Z - commits: - subject: "CI: Use node 12 for tests to match runtime version" hash: 095f67c83011b60a06d75c5f0432937b93049ad5 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: "CI: Use docker 18 client to match remote" hash: 8c1838fd5ea0d36787857d7040f8359d9618c061 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 11.3.7 date: 2020-05-08T11:43:11.578Z - commits: - subject: Move SupervisorAPI state change logs to appropriate functions hash: 60c07fc2fc2c352091995c2e599752fb12c05148 body: "" footer: Closes: "#1277" closes: "#1277" Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira version: 11.3.6 date: 2020-05-07T17:53:21.140Z - commits: - subject: Add 20k-ultra to codeowners hash: 74d012dc7f972ad30896007e78386a9c03224a05 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira version: 11.3.5 date: 2020-05-07T16:11:47.494Z - commits: - subject: Don't use the openvpn alias to check VPN status hash: 8f09022d1fd85f63d760017e19150b0f23a2884a body: "" footer: Closes: "#1293" closes: "#1293" Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.3.4 date: 2020-05-06T16:19:09.090Z - commits: - subject: Use lstat rather than stat to avoid error with symlinks in sync hash: a7399fd78b914e6dccacd2935cd98f77176d65d8 body: "" footer: Change-type: patch change-type: patch Closes: "#1301" closes: "#1301" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.3.3 date: 2020-05-06T12:51:38.623Z - commits: - subject: Move build files into build-conf and rename to build-utils hash: 02d088d351327ee5cab46029efb3ca7dce067fd6 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Fix knex migration require translation hash: 585bd803134db999425fae322fd4e7259caaa27a body: "" footer: Change-type: patch change-type: patch Closes: "#1274" closes: "#1274" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.3.2 date: 2020-05-05T16:58:04.403Z - commits: - subject: Remove legacy fallback to DROP rule in iptables hash: 31957566e5f5b21910988319472721ce2a931a38 body: | This has not been necessary for a long time, and wwe can now remove it. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Add an ESTABLISHED flag to API iptables rules hash: 7b1f03ced509cdbdbea950e079ba2fab5c3699bb body: | This allows a response to an input with dport=`supevisor api port` and is required when the host OS is doing stateful firewalling. This should not affect things when stateful firewalling is not in effect, as the standard OUTPUT chain policy is ACCEPT, so we're just being explicit about it. footer: Change-type: patch change-type: patch Backport-to: next, current, sunset backport-to: next, current, sunset Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Add ESR information to repo.yml hash: 7f5395da885146ccf707fa52f0916afa7c832eeb body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.3.1 date: 2020-05-05T11:18:20.667Z - commits: - subject: Added Bearer Authorization spec hash: 2007a98940ea93f8064b045fce52133a4b48bac0 body: "" footer: Closes: "#1249" closes: "#1249" Change-type: minor change-type: minor Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira version: 11.3.0 date: 2020-05-04T17:26:19.216Z - commits: - subject: Added explanation README for running specific tests hash: a8ac3d0bc9344653d68c43fe3298171b379823d7 body: "" footer: Change-type: minor change-type: minor Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira version: 11.2.0 date: 2020-04-30T19:05:08.820Z - commits: - subject: Remove coverage running and modules hash: 6c360c2273ad2ab66ed254a1172f138d4c1430d8 body: | The coverage no longer works with es2020, and nobody really pays any attention to the coverage as it is. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.1.11 date: 2020-04-28T12:56:50.014Z - commits: - subject: Update balena-register-device to fix provisioning hash: 7c27a561a8401054304fb967d5805b446e0cb3a1 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.1.10 date: 2020-04-27T17:48:09.624Z - commits: - subject: Added protocol to semver.org link hash: f9d7951cc5c1b20e989d04471a73d491118b3dfe body: "" footer: Closes: "#1256" closes: "#1256" Change-type: patch change-type: patch Signed-off-by: Miguel Casqueira signed-off-by: Miguel Casqueira author: Miguel Casqueira version: 11.1.9 date: 2020-04-22T21:42:29.017Z - commits: - subject: Actually remove dbus-native dependency hash: 508708aa32a56f23cc3a8df9e8071d340879a936 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.1.8 date: 2020-04-21T13:30:10.250Z - commits: - subject: Fix livepush predicate for POSIX sh in entry.sh hash: e2eba6280d19e5d74c9e3bb7bbfeea797378b08d body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.1.7 date: 2020-04-21T11:59:25.840Z - commits: - subject: Remove double printing of API status error hash: f599799950c9182cf97ef40dd894feb25c833e67 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.1.6 date: 2020-04-21T08:57:07.074Z - commits: - subject: ⤴️ Upgrade migrations to work with knex hash: f79142482921bf925e8bbf879b04ea533b5e01cd body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: 📄 Upgrade knex to avoid CVE-2019-10757 hash: a43d71d1ac6d6d09b3fb6375a5ad97690fd979c1 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.1.5 date: 2020-04-15T12:40:19.254Z - commits: - subject: 🔎 Also watch js files during livepush hash: aa46be93d43540793245c0f6c2e895f32fb44e1e body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Clear changed files after successful livepush invocation hash: 4f2a534075ae2c6037070ef90f38a3066d08c53e body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Use livepush commands for copying and running dev specific steps hash: 67c3055fd4be341248a213828550b2b04ccc2677 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.1.4 date: 2020-04-14T09:53:51.068Z - commits: - subject: 🚀 Update supervisor to node12 hash: 826eec2e4fe29860d23cf6c2276390b5c7f26a09 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.1.3 date: 2020-04-13T13:40:05.787Z - commits: - subject: Move from dbus-native to dbus hash: 37feb7e325ccf8639680e9a1f274b5755e5d35a2 body: "" footer: Closes: "#1049" closes: "#1049" Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.1.2 date: 2020-04-13T09:36:34.724Z - commits: - subject: Update copy-webpack-plugin hash: e5f1a6b6ed7473ebfaa9f67ec0d258e9edef38b7 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Update ts-loader to 6.x hash: 59f300df629422284665b19b5cf9d931bfc30fcf body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Update fork-ts-checker-webpack-plugin to 4.x hash: 9ed36ec00651199dc92afee1a41e6ef5bb8534c7 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 11.1.1 date: 2020-04-10T11:51:52.777Z - commits: - subject: Support matching on device type within contracts hash: c9c0e650cb0f6655ac5a6c545e6b009c6fe6fa1c body: "" footer: Closes: "#1191" closes: "#1191" Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.1.0 date: 2020-04-09T09:47:30.853Z - commits: - subject: Workaround a circular dependency hash: a59af6abe894000cd9cdc43d6963bdfc572e2f2b body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 11.0.9 date: 2020-04-08T16:43:14.411Z - commits: - subject: Link sqlite with a system sqlite for quicker builds hash: b6dde69c4f8b52fa4928242d5b04d9c203f64c65 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.0.8 date: 2020-04-08T13:06:43.833Z - commits: - subject: Convert application-manager.coffee to javascript hash: a2ec35456b8bc23641144fb0f7136d1d364f1fce body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 11.0.7 date: 2020-04-08T11:18:00.532Z - commits: - subject: Don't sync test files with livepush hash: 6dda0efa1fc54765450aac235393883f293b9bc5 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.0.6 date: 2020-04-08T07:44:13.444Z - commits: - subject: Add newTargetState event and use it for backup loading hash: 0a429f60a5dc93a428e5e88932e7d2bbcdb81b36 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.0.5 date: 2020-04-07T13:53:23.726Z - commits: - subject: Don't wrap UpdatesLockedErrors with a detailed error hash: dda627021991f45818ce723e0ee83c085b2c785d body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.0.4 date: 2020-04-07T12:15:24.426Z - commits: - subject: Allow spaces in volume definitions hash: 0950b66c52f2af10fcd44cb60f1b18007dd8aef0 body: "" footer: Closes: "#1247" closes: "#1247" Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.0.3 date: 2020-04-07T09:38:43.764Z - commits: - subject: Update to balena-register-device 6.0.1 hash: 81927d78612aa5944aab8a1322735e32c311d927 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 11.0.2 date: 2020-04-06T16:47:10.397Z - commits: - subject: Don't mangle names when minimising with webpack hash: 6fe3bfa4f2668fd364a977ccf4830e91b07fd47a body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.0.1 date: 2020-04-06T12:39:03.990Z - commits: - subject: ⚡ Update synchronisation scripts for supervisor development hash: 8ab63656bd483645fe0238fee2a1824158f3f453 body: | We move the old sync.js script to tools/, and delete the now-broken sync-debug.js. We add a command `npm run sync`, which starts a livepush process with the supervisor on a device. footer: Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: 🔧 Move to an alpine base image and drop i386-nlp support hash: 3690acbd70df726030b648a1c32a9b2b21015232 body: > We also remove the Makefile to go to a simpler build system, as long with the retry_docker_push.sh file. We remove the rest of the automation tools as they're no longer used and update the circle.yml file. We also remove debug builds, as these aren't needed moving forward, and were only to enable livepush builds. footer: Change-type: major change-type: major Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 11.0.0 date: 2020-04-06T12:07:51.757Z - commits: - subject: Convert test/18-startup.coffee to typescript hash: d3221ca235aa0bd22191516f3eeebcabdf32e94b body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Convert test/19-compose-utils.coffee to javascript hash: 70b07055513f8948bf4c9867718ed4df3df61bc1 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Convert test/18-compose-network.coffee to javascript hash: 98e956831a4f8dc9e7e08bc98b21c0f8dd89e263 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Convert test/17-config-utils.spec.coffee to javascript hash: d3cf650ac48e94a1f7040b72b497e11945671015 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Convert test/16-ports.spec.coffee to typescript hash: dcb01cb8632c6a438e3989e6cbcdf2639d0367ba body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Convert test/15-conversions.spec.coffee to javascript hash: 515fb059f409ba33b0537c778e7d8191bf387a48 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Convert test/12-logger.spec.coffee to javascript hash: fd4cec31e7473d53ffa6a8650b341e7dec49a2cf body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 10.11.3 date: 2020-04-02T13:29:44.498Z - commits: - subject: Pass in deviceId when fetching device tags hash: 3c59944ce126570cc814626f20a9d67d6e67ff4d body: "" footer: Change-type: patch change-type: patch Closes: "#1237" closes: "#1237" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.11.2 date: 2020-03-31T11:48:13.361Z - commits: - subject: 🔧 Update resin-lint -> balena-lint in lintstaged hash: 2433f9a343d26233fff3d5bed14a548feded23ad body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.11.1 date: 2020-03-30T17:41:43.882Z - commits: - subject: Add BALENA_DEVICE_ARCH environment variable for containers hash: 3af89cd13fce04f43332c1d4502e2edf07a22141 body: "" footer: Closes: "#1232" closes: "#1232" Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.11.0 date: 2020-03-30T15:42:53.398Z - commits: - subject: Don't throw an error when getting an unhealthy state hash: 6b827a3f57f242e36e2a008632a28199ba569f63 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.10.15 date: 2020-03-30T09:10:59.937Z - commits: - subject: Convert src/device-api/common.coffee to javascript hash: 15fca80d2ddb16b368f0d2c34fb56b5b9bb6217f body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 10.10.14 date: 2020-03-28T13:43:13.705Z - commits: - subject: Switch to mz for the proxyvisor hash: 6ab69e1a69cf839538812aff3b9dc72c5a7937ef body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Convert proxyvisor to javascript hash: c1e5b98ae562851be61f74583743298803bf5195 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 10.10.13 date: 2020-03-27T17:53:13.782Z - commits: - subject: Remove unnecessary code from application-manager hash: 686f72ecf78d3f7a1b93102fd161cca8c562bfb7 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Switch to a named export for application-manager hash: 968e2ba0fb1dc99b826e8f32a23d10945697f340 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 10.10.12 date: 2020-03-26T23:53:03.757Z - commits: - subject: Convert device-api/v1 to javascript hash: 56c13fb96346e9100a60f1da881f6cf670c2793f body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 10.10.11 date: 2020-03-25T12:19:20.194Z - commits: - subject: Update livepush hash: 2ff8fccb5e71a851634f8bd668f63526f48ea4c4 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.10.10 date: 2020-03-24T18:10:13.063Z - commits: - subject: Add type checking for javascript files hash: 9c3295c91248f125e20ccfb10a064f2a2def0431 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 10.10.9 date: 2020-03-24T16:40:43.161Z - commits: - subject: Pin resin-cli-visuals to avoid build error of lzma-native hash: 35e73941c57ff63164cf0876fbb9509107e5e3f2 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Update dependencies hash: f2c606e1f9d37b6fefc345e42659b9ed364cba40 body: | We also pin livepush in place while https://github.com/balena-io-modules/livepush/issues/67 is fixed. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.10.8 date: 2020-03-24T14:54:44.950Z - commits: - subject: Avoid any transpilation of node_modules hash: 8fccc4a107fa965dfd60a861ba5e831c12632631 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 10.10.7 date: 2020-03-24T12:46:30.864Z - commits: - subject: Add transpilation for javascript files to ease node 6 compatibility hash: 8fc11df95912c6fd15d05c1cdc9fcdba854b2727 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Add a precheck that linting/tests work on node 10 hash: 7945bb5a77f29775233dea2695e1c20d79545f57 body: | This allows us to avoid re-linting for every arch footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Update to balena-lint and enable javascript linting hash: 81966446d97b3989e65be22b7d2dec379d3bcb32 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 10.10.6 date: 2020-03-24T09:31:13.247Z - commits: - subject: "Tests: Add missing await" hash: 7e6d32516de84dbaed222651e48895dc0136b2e7 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 10.10.5 date: 2020-03-23T19:05:23.280Z - commits: - subject: "docs: Clarify update locks for multicontainer applications" hash: a6b0c50d8effc9c63fe92d68cb4efbe397a1e05f body: "" footer: Change-type: patch change-type: patch Signed-off-by: Gareth Davies signed-off-by: Gareth Davies author: Gareth Davies version: 10.10.4 date: 2020-03-16T21:12:52.849Z - commits: - subject: "logging: fix up some typos" hash: ab7e8b55140cc3169e9337f8c29a77468b13be7c body: "" footer: Change-type: patch change-type: patch Signed-off-by: Matthew McGinn signed-off-by: Matthew McGinn author: Matthew McGinn version: 10.10.3 date: 2020-03-16T19:31:23.505Z - commits: - subject: Bump acorn from 5.7.3 to 5.7.4 hash: f8363fc72b21386cc3561be576d8f21ec0463c89 body: | Bumps [acorn](https://github.com/acornjs/acorn) from 5.7.3 to 5.7.4. - [Release notes](https://github.com/acornjs/acorn/releases) - [Commits](https://github.com/acornjs/acorn/compare/5.7.3...5.7.4) footer: Change-type: patch change-type: patch Signed-off-by: dependabot[bot] signed-off-by: dependabot[bot] author: dependabot[bot] version: 10.10.2 date: 2020-03-16T15:05:54.513Z - commits: - subject: Update dependencies hash: 6e3db3bd602d30ae3d377a1526c9b904c90a6cf3 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 10.10.1 date: 2020-03-13T17:21:22.854Z - commits: - subject: Allow semver comparison on l4t versions in contracts hash: 5c50f656c33954de6f4c07f8b6c892b4bf9953cf body: | We add an implicit .0 to the end of l4t versions which do not fulfill semver, which allows us to always match using comparison operators, such as < and <=. footer: Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Allow l4t versions with three numbers as well as two hash: 7d47661928288160c0a636cb630cb0ccc2292d91 body: "" footer: Closes: "#1210" closes: "#1210" Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.10.0 date: 2020-03-06T15:56:42.924Z - commits: - subject: "config: Support loading SSDT via ConfigFS" hash: e0d2bdfaa98fe8c8d56fe981e530e6c96aef92a6 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Rich Bayliss signed-off-by: Rich Bayliss author: Rich Bayliss version: 10.9.2 date: 2020-03-05T13:33:03.818Z - commits: - subject: Convert device-state module to typescript hash: c21da8f3dbafe965ad0fae12b027066208debd12 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Improve application-manager typings hash: 23094425555f0d1ef9c04c2bc500c19f62984503 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Improve and extend internal typings hash: e161888516e7f234154245cfc8c9f82b6e2b656b body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.9.1 date: 2020-02-25T07:53:23.189Z - commits: - subject: Add a containerId request parameter for journal-logs api endpoint, and pass it along to journalctl process options. hash: b5772740ae3685fceceeda513fca4ff86a183d14 body: "" footer: Change-Type: minor change-type: minor Signed-off-by: Ivan signed-off-by: Ivan author: Ivan version: 10.9.0 date: 2020-02-24T00:17:42.799Z - commits: - subject: Add procfs label hash: 89a9d85e8743926cecbc82e8c53d37bca6f845b9 body: "" footer: Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Add a sysfs feature label hash: 947deb3cc62ddabb5f7309eb4ccaefaed1379b08 body: | The new label `io.balena.features.sysfs` will mount the host /sys into the container at /sys. Relates to issue: #743 footer: Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Clean up the feature label function hash: 7dcb4fa887a6141475d40583f08acd500731a3f5 body: | Bring the labels into a more declarative format and run through them to apply the various labels and env vars. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.8.0 date: 2020-02-13T04:03:23.393Z - commits: - subject: Add a noinit option to sync-debug hash: c47ef6d42abfe840cfa833a9f8f3789e142299e6 body: | The noinit option will avoid doing a complete sync to the supervisor on startup. This is useful when there has only been code changes, and no modules etc have been added. It can be helpful when running on a network with no external internet access, as everything needed is already inside the container. To aid this we also move to yargs, rather than try to do all of the parsing ourselves. footer: Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.7.0 date: 2020-02-12T09:36:50.912Z - commits: - subject: Update balenaos-in-container to pickup aufs2overlay changes hash: 4da1faced6746b9a9d90a90aa00bee18d581bc1e body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.6.37 date: 2020-02-10T16:36:43.597Z - commits: - subject: Switch to using resin-lint for automatic lint fixing hash: ab63f46b7e2c308e3cfd0b1a886d0a03bc577de6 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 10.6.36 date: 2020-02-10T10:46:23.653Z - commits: - subject: Dont error on a target state with multiple apps hash: a27ce4f1dce2d157366b350e37caf86d871b1f52 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.6.35 date: 2020-02-10T05:09:03.570Z - commits: - subject: "bug: Delay sending logs until the device is provisioned" hash: fe5fd2b7ef5f40d688ee85c874934487d0c2d702 body: "" footer: Connects-to: "#1189" connects-to: "#1189" Change-type: patch change-type: patch Signed-off-by: Rich Bayliss signed-off-by: Rich Bayliss author: Rich Bayliss version: 10.6.34 date: 2020-02-06T10:43:04.222Z - commits: - subject: Allow getting the target state when not in local mode hash: 3ff3bce605ebf9e53a6df4e2646031cde2a8831c body: "" footer: Change-type: patch change-type: patch Closes: "#1176" closes: "#1176" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.6.33 date: 2020-01-30T11:27:33.298Z - commits: - subject: Set docker type and update CHANGELOG.md to the correct format hash: d1a3663d47b5e79c611929802c3a63b375e1a24f body: "" footer: Change-type: patch change-type: patch Signed-off-by: Giovanni Garufi signed-off-by: Giovanni Garufi author: Giovanni Garufi version: 10.6.32 date: 2020-01-28T00:22:10.551Z - commits: - subject: Update docker used for CI builds hash: 9dc9e0704b69f3e8980c8747cb341004b9be8399 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Update the deprecated `reusable` key to `docker_layer_caching` for CI hash: f4f7af042d49d8b5c3720883d5fe41b2e6b6664f body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Push all images in parallel for CI builds hash: 7e794629289756dc42bcc459c5c715b6a2dfce34 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 10.6.31 date: 2020-01-17T17:03:23.152Z - commits: - subject: Update knex types hash: 027701297b5366dd512ff31e7896d0a33065c52e body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Update lodash types hash: 1a393dbb1934e5821aa778c9316838adf0e429f5 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Update types and fix issue with treating string as a number hash: 0ef9cc189b66b66815d965591c31c05904bd815c body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 10.6.30 date: 2020-01-17T14:55:05.405Z - commits: - subject: ⌛Increase minimum backoff delay and use poll interval as max hash: 53b6e8f1bbd94228a170f581f3d38963143dd436 body: | This change will start the minimum backoff from 15s (up from 500ms) and will use the appUpdatePollInterval configuration variable as the max. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.6.29 date: 2020-01-17T12:34:53.143Z - commits: - subject: Ensure that we always have the pi4 overlay assigned hash: 426d8cd10ad22fcf79b019dc49e2c2f6c27cd06d body: "" footer: Change-type: patch change-type: patch Closes: "#1171" closes: "#1171" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.6.28 date: 2020-01-08T17:08:33.840Z - commits: - subject: Throttle state report patches to once per 10 seconds hash: 4b0f431f9b4eadcec30a21483a5ee5e3c2ecb14b body: "" footer: Change-type: patch change-type: patch Closes: "#1158" closes: "#1158" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.6.27 date: 2019-12-19T12:35:53.720Z - commits: - subject: Report the correct error when we cannot remove a network hash: 2d4ac244031bdaccace508c0ca3a77df77e4c368 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.6.26 date: 2019-12-18T15:05:24.037Z - commits: - subject: Fix healthcheck on supervisor debug builds hash: 4ff54f45c189b62124d8de9293fac23b0bb32835 body: | We were relying on wget which was not brought into the image, so we switch this to curl, which is present. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.6.25 date: 2019-12-18T14:39:21.218Z - commits: - subject: Always do a standard docker download on first pull hash: 8317a1843b3d3365b362cc90b2aad1e5e61a463f body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.6.24 date: 2019-12-17T10:36:33.272Z - commits: - subject: Don't allow cross-app delta requests hash: 4a74dffea96328b44cb6a4efa1938e3fb756f99a body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.6.23 date: 2019-12-16T13:00:29.779Z - commits: - subject: "fix: ⬇️ Force a regular pull when moving from v2 to v3 deltas" hash: 6db1f03411897ec6f8bcf6433782557c75864bd7 body: "" footer: Change-type: patch change-type: patch Fixes: "#1072" fixes: "#1072" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.6.22 date: 2019-12-16T10:45:23.315Z - commits: - subject: Add steps info to applyState error message hash: 4895bb300a9675c70f5baa31ec04c91088a8d443 body: | This helps to debug/diagnose problems with state application faster. footer: Change-type: patch change-type: patch Signed-off-by: Roman Mazur signed-off-by: Roman Mazur author: Roman Mazur version: 10.6.21 date: 2019-12-12T14:27:33.589Z - commits: - subject: Hide init method in configJson hash: d9c669ebad7b115f018a922f6b329950fd86b6b1 body: | ConfigJson users now don't need to worry about initialization. It's done lazily on the first public method call. Implementation is also rewritten to follow async/await pattern. footer: Change-type: patch change-type: patch Signed-off-by: Roman Mazur signed-off-by: Roman Mazur author: Roman Mazur version: 10.6.20 date: 2019-12-11T18:14:09.414Z - commits: - subject: Always filter environment configuration hash: 03a701cdedf6a40aa707ca5ca22af8f1c9a14d40 body: | This means that if an image is created with a committed container, we won't assume that it does not contain the balena env vars footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.6.19 date: 2019-12-09T11:33:43.344Z - commits: - subject: "volumes: Allow the use of the 'driver' setting in volumes" hash: c3cf8fbca25d3f6dae5c58cf29f11b2c89d10353 body: | A compose file can now contain a volume which uses a different driver from the default one; local. footer: Change-type: patch change-type: patch Signed-off-by: Rich Bayliss signed-off-by: Rich Bayliss author: Rich Bayliss version: 10.6.18 date: 2019-12-02T12:02:23.535Z - commits: - subject: Set a mock l4t version for use with optional containers hash: 8cece238a9a7d552d5366ffa4170ba8998bb8bbf body: | Before this change a mixed device fleet with a subset using l4t would not be able to have containers which only run on the l4t based boards. We add a mock l4t version so the contracts will always be denied on non-l4t boards, but the release itself won't fail to validate. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.6.17 date: 2019-11-29T11:09:22.902Z - commits: - subject: "codeowners: Add richbayliss as a code owner" hash: c816b863f82dc4d73b67a69220ebbbddab3573ea body: "" footer: Change-type: patch change-type: patch Signed-off-by: Rich Bayliss signed-off-by: Rich Bayliss author: Rich Bayliss version: 10.6.16 date: 2019-11-29T10:13:03.432Z - commits: - subject: Handle cancelDelay not being a function hash: f4605d897eea8286a3923060aea999a8eab9bc91 body: "" footer: Change-type: patch change-type: patch Closes: "#1080" closes: "#1080" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.6.15 date: 2019-11-28T11:31:03.427Z - commits: - subject: Add regression test for app manager init hash: f487711ba496328ea69ac815c68870975facf186 body: > If we had it eearlier, it would have prevented #1148. When init is called, withImagesFromDockerAndDB in images.ts is called as well. footer: Change-type: patch change-type: patch Signed-off-by: Roman Mazur signed-off-by: Roman Mazur author: Roman Mazur version: 10.6.14 date: 2019-11-27T18:04:03.732Z - commits: - subject: Consider linux4tegra versions in container contracts hash: 1a6c9d489ae1417d20a61c4240ba84bee6c8df29 body: | Also remove ability to match on OS versions footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Upgrade prettier and resin-lint hash: bba6d3d728a2f96977694a2c70f76da9d7b7629d body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.6.13 date: 2019-11-27T10:25:23.493Z - commits: - subject: Fix retrieval of container log timestamp from db hash: e44c7073f990c42336e4914e9926f4205520cfee body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.6.12 date: 2019-11-20T19:26:49.334Z - commits: - subject: Bump js-yaml from 3.12.0 to 3.13.1 hash: 9c88d8fb722c6005465754dff900379d091eb324 body: > Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 3.12.0 to 3.13.1. - [Release notes](https://github.com/nodeca/js-yaml/releases) - [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md) - [Commits](https://github.com/nodeca/js-yaml/compare/3.12.0...3.13.1) footer: Change-type: patch change-type: patch Signed-off-by: dependabot[bot] signed-off-by: dependabot[bot] author: dependabot[bot] version: 10.6.11 date: 2019-11-19T20:14:15.729Z - commits: - subject: Update balenaos-in-container hash: 072a2f951a653f56f3f01532706897c3a15b9c01 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 10.6.10 date: 2019-11-19T11:30:09.713Z - commits: - subject: Create config.txt if there isn't one already hash: 1570fd424b8c192844ce308761ac8f329dac48f5 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Theodor Gherzan signed-off-by: Theodor Gherzan author: Theodor Gherzan version: 10.6.9 date: 2019-11-19T09:52:10.573Z - commits: - subject: Extract backup logic to migration hash: 659697ff795c4f9282321223c7963a6d8932a8d1 body: | Part of device-state refactor Fix the wrong usage of TargetState as DeviceApplicationState footer: Change-type: patch change-type: patch Signed-off-by: Theodor Gherzan signed-off-by: Theodor Gherzan author: Theodor Gherzan version: 10.6.8 date: 2019-11-15T17:42:19.314Z - commits: - subject: Rebase start-resin-supervisor on latest meta-balena hash: a1ddf3682d18bdd7c8dad0dd5d46cb2eb27110b7 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 10.6.7 date: 2019-11-13T20:25:49.837Z - commits: - subject: Switch to balenaos-in-container hash: 05a566dcb595ccacc432de1290ab2500ac380b6f body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 10.6.6 date: 2019-11-12T13:52:25.726Z - commits: - subject: Allow specifying an absolute path for the dind config.json hash: 9e660f1081cdb3da561a410b04c91807dab13133 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Fix dindctl when run from another dir hash: 57d4a19f1d6c077cca5cb966de185c6a3cca695f body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Fix dindctl unknown arg error message hash: b4ad29ec14a9fdffe038116b98ee293210b5d34e body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 10.6.5 date: 2019-11-12T11:36:45.442Z - commits: - subject: Check if appId is a number before purging hash: 597f95e1696f3934b6072a775949e7fd7010340e body: "" footer: Change-Type: patch change-type: patch Signed-off-by: Michel Wohlert signed-off-by: Michel Wohlert author: Michel Wohlert version: 10.6.4 date: 2019-11-11T11:00:29.945Z - commits: - subject: Extract normaliseLegacy as normalise to migration module hash: cf79ed8cdb96431a5a5fbe94885c1e96680df75c body: "" footer: Change-type: patch change-type: patch Signed-off-by: Theodor Gherzan signed-off-by: Theodor Gherzan author: Theodor Gherzan version: 10.6.3 date: 2019-11-07T17:52:39.365Z - commits: - subject: Define the database type of the application hash: 053e111626330ab4cc7a7dc545c94aa0674405ee body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Extract loadTargetFromFile function to preload module hash: 09a8231fdee467b8b726269a2ef1bc8338733a19 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Define TargetApplicationState in types and remove Application type hash: fea80c52059752fe7d97ce9032828243355c9981 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Upgrade typescript to 3.7 hash: 1d89174caf116236e856ee849369f35445f29d9d body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.6.2 date: 2019-11-07T09:49:48.602Z - commits: - subject: "event-tracker: Use std mixpanel types" hash: 2143180d27d9ba0939a365ebcfd56fa069f6e2c8 body: > Custom type definitions are removed for mixpanel module since they are embedded into their npm package. footer: Change-type: patch change-type: patch Signed-off-by: Roman Mazur signed-off-by: Roman Mazur author: Roman Mazur version: 10.6.1 date: 2019-11-05T21:14:55.593Z - commits: - subject: Report any optional containers that aren't being run hash: 8223bf2ccb8e3c50a79860088b5d12607ad71671 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Support optional containers based on their contract hash: f75b8aad2bc7661de803b80dc7008de9a2c6a6af body: "" footer: Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.6.0 date: 2019-11-05T14:48:39.493Z - commits: - subject: Bump lodash from 4.17.11 to 4.17.13 hash: 835ef7908e8daba1c0362fae8aaa4b592b2d1b2f body: > Bumps [lodash](https://github.com/lodash/lodash) from 4.17.11 to 4.17.13. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](https://github.com/lodash/lodash/compare/4.17.11...4.17.13) footer: Change-type: patch change-type: patch Signed-off-by: dependabot[bot] signed-off-by: dependabot[bot] author: dependabot[bot] version: 10.5.5 date: 2019-10-31T16:08:50.326Z - commits: - subject: "docs: update lockfile Python snippet" hash: d12c10b0c2092615ac5d94168db703b23744006b body: > Port over the downstream changes from https://github.com/balena-io/docs/pull/1184 footer: Change-type: patch change-type: patch Signed-off-by: Matthew McGinn signed-off-by: Matthew McGinn author: Matthew McGinn version: 10.5.4 date: 2019-10-30T13:04:37.635Z - commits: - subject: Convert some coffeescript tests to typescript hash: b5a427f2b984114e93a02233efb85df125dbbec5 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Bump mixin-deep from 1.3.1 to 1.3.2 hash: d0f35359b3f32a87804f760c1d5303c380ea730f body: > Bumps [mixin-deep](https://github.com/jonschlinkert/mixin-deep) from 1.3.1 to 1.3.2. - [Release notes](https://github.com/jonschlinkert/mixin-deep/releases) - [Commits](https://github.com/jonschlinkert/mixin-deep/compare/1.3.1...1.3.2) footer: Change-type: patch change-type: patch Signed-off-by: dependabot[bot] signed-off-by: dependabot[bot] author: dependabot[bot] version: 10.5.3 date: 2019-10-30T11:00:45.668Z - commits: - subject: Bump handlebars from 4.0.12 to 4.5.1 Bumps [handlebars](https://github.com/wycats/handlebars.js) from 4.0.12 to 4.5.1. - [Release notes](https://github.com/wycats/handlebars.js/releases) - [Changelog](https://github.com/wycats/handlebars.js/blob/v4.5.1/release-notes.md) - [Commits](https://github.com/wycats/handlebars.js/compare/v4.0.12...v4.5.1) hash: d767bada4eb5fd14c30a4fbd1e890848598318ff body: "" footer: Change-type: patch change-type: patch Signed-off-by: dependabot[bot] signed-off-by: dependabot[bot] author: dependabot[bot] version: 10.5.2 date: 2019-10-29T11:48:48.695Z - commits: - subject: Ensure that we reset rate limits after a successful target apply hash: 9651bc70281afc885a6ae11d1fb7bf668611181c body: "" footer: Change-type: patch change-type: patch Closes: "#1117" closes: "#1117" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.5.1 date: 2019-10-28T12:03:08.990Z - commits: - subject: Add a cache around the database application target state hash: 7b8e7ea8ca32849be29e4103ce8c215e99a2bac9 body: "" footer: Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.5.0 date: 2019-10-07T13:18:33.096Z - commits: - subject: Correctly validate container contracts hash: d16403f65496cc94dc2839de7e38b3c3173005eb body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.4.1 date: 2019-10-02T14:51:35.443Z - commits: - subject: Add support for container contracts hash: 14e442f94376f4589f9d469ad823d92d9af9818d body: | These contracts can specify an OS version and supervisor version that they require. If any of the containers in a release have requirements that are not met, the release is rejected, and the previous release continues to run. footer: Change-type: minor change-type: minor Closes: "#1086" closes: "#1086" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Upgrade io-ts and fp-ts to 2.0.0 hash: 9843f62e2475225e3f66cfe3a6847f8c8428f79b body: "" footer: Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Add contract resolution code, which checks release requirements hash: 5ce8ba8acfb05e8035c340f80442edcb5237d13a body: "" footer: Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Avoid synchronous file accesses for os release info hash: 2d168784b2987a96993a256970174ff88f8c36f3 body: | This also required refactoring the request library to be generated with a promise, as we now no longer get the information synchronously. We also cache the release info, to avoid grabbing it again within the same runtime, which does not make sense. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Add test number to test files name hash: 487e2c54a1bf2b2df535ff99b5563c866da5ac2f body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Add a cache around the database application target state hash: 7239b93f4a04851e4adbf1478af95c4a337aaadd body: "" footer: Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.4.0 date: 2019-10-01T15:19:51.369Z - commits: - subject: Unify API errors processing hash: 8b4c9837fa39bcb6642f7fd3208afa8d26b9af46 body: > With this change, we define a custom error handler as express middleware which renders 503 error with JSON response that includes status and message fields. The handler also logs the error, so the stack can be inspected in supervisor logs. It's also a point where we can report the error to analytics services. This removes a bunch of error handlers written in every request handler function. Behaviour should remain unchanged except the fact that /healthy endpoint now returns 503 in case of failure instead of 500. footer: Change-type: patch change-type: patch Signed-off-by: Roman Mazur signed-off-by: Roman Mazur author: Roman Mazur version: 10.3.8 date: 2019-09-23T14:24:38.467Z - commits: - subject: "ping: move /ping out from authentication" hash: 8d5633a11f15cee356854e9c21502ada4b89e7c7 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Matthew McGinn signed-off-by: Matthew McGinn author: Matthew McGinn version: 10.3.7 date: 2019-09-20T13:19:51.070Z - commits: - subject: Explicitly remove volumes when purging hash: 15a1f45fd70117c4d819af436b95cb6f796dccba body: "" footer: Change-type: patch change-type: patch Closes: "#1083" closes: "#1083" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Catch and report cloud stream writing errors hash: 7d1da3818479e33141890a8f3d09557303331872 body: | If an error fires when writing to the cloud stream, it can stop any calling processes from completing. Given that a logging failure should not cause other processes to cancel, we catch and report the error but otherwise do nothing else. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.3.6 date: 2019-09-18T07:50:28.062Z - commits: - subject: Correctly handle partial IPAM configurations for networks hash: e78f8eccdc2fe23b02da15b8c469979a8146db41 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.3.5 date: 2019-09-16T11:30:37.265Z - commits: - subject: "device-state: correctly call volume creation on backup restore step" hash: ca9f8ffca1e306d4f4551a505b93b0bc7c679c81 body: | The `createFromPath` method takes 3 parameters, while in a previous version it was only 2 (the new format splits the old format's first parameter into two, and keeping the last), before the refactor in commit 23e564389daaa29feb231d1b091e07df82a7a300 (supervisor v9.18.4) The backup restoration call has not been updated and thus calls that function the old (wrong) way, resulting in failed restore, and volume management errors on a device that attempted a restore. footer: Change-type: patch change-type: patch Signed-off-by: Gergely Imreh signed-off-by: Gergely Imreh author: Gergely Imreh version: 10.3.4 date: 2019-09-11T11:15:16.606Z - commits: - subject: "entry.sh: conform to shellcheck syntax" hash: cda39ab9e16cb6e3d0979b1727792bd7e55917ec body: "" footer: Change-type: patch change-type: patch Signed-off-by: Matthew McGinn signed-off-by: Matthew McGinn author: Matthew McGinn version: 10.3.3 date: 2019-09-02T16:41:17.966Z - commits: - subject: Modification to unpacking volume backup hash: e3c1c333f0ff1658e2dc9f9699d0f818599199b7 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Thomas version: 10.3.2 date: 2019-09-02T12:30:57.957Z - commits: - subject: Pin debug builds to stretch base images to match non-debug builds hash: 93e3bc620ae07f30a3f28c6c40f72516d702ea5b body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.3.1 date: 2019-08-22T08:50:34.612Z - commits: - subject: Add usage example repo to documentation hash: da0534b3c8f239f8c6f1ded911d2509fb0230b05 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Add journald format flag hash: 48bccd34dba569a574110a045cc264201d26f4a1 body: "" footer: Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Update documentation and explicitly unpipe journald stream hash: 2d924b83fcfedc84b1d0ea2325a53cd7e89fc5c5 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.3.0 date: 2019-08-21T17:36:24.736Z - commits: - subject: Correctly generate network or volume creation steps hash: ded828da9a284c28f1617cd49ba6fbbd09f489a9 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.2.7 date: 2019-08-21T09:51:54.225Z - commits: - subject: Extract composition step work out to typescript compose module hash: 4f31b1867059d944469073551687da6ac25100c9 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Remove unused local mode parameter from images.getAvailable hash: 55ee5a468f088612c5df3629cf1a7216d000bb94 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.2.6 date: 2019-08-19T16:02:20.801Z - commits: - subject: Only consider certain array fields without order hash: 76de276b924edbbeb30cdad41ed491ad20129492 body: | Various fields returned from the docker daemon don't retain order (for example the volumes field). We now only select certain array values to compare taking order into account. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.2.5 date: 2019-08-19T14:02:34.739Z - commits: - subject: Take order into account when comparing service config arrays hash: 86e8a8564054b15003ec75440e6dd94507f64708 body: "" footer: Change-type: patch change-type: patch Closes: "#1060" closes: "#1060" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.2.4 date: 2019-08-15T16:09:11.152Z - commits: - subject: "meta: remove pcarranzav as codeowner" hash: c3fe0f4d37a5d5a665dd64e8424eab8ff7f372b3 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Matthew McGinn signed-off-by: Matthew McGinn author: Matthew McGinn version: 10.2.3 date: 2019-08-14T17:59:58.749Z - commits: - subject: 'docs: fix up typo "sucess" -> "success"' hash: 8c9f974b072364283520e43bb3d0969eb8122d3d body: | Related to https://github.com/balena-io/docs/pull/1065 footer: Change-type: patch change-type: patch Signed-off-by: Matthew McGinn signed-off-by: Matthew McGinn author: Matthew McGinn version: 10.2.2 date: 2019-08-09T14:39:08.547Z - commits: - subject: Fix version documentation for journald endpoint hash: 1794b334a0c806b516745a4544d4af75111b390a body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.2.1 date: 2019-08-09T11:50:43.023Z - commits: - subject: Add an endpoint and module for reading journald logs hash: 43cbf7dbba20f9a84697ad24cf532fc20e6384b7 body: "" footer: Change-type: minor change-type: minor Closes: "#1003" closes: "#1003" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.2.0 date: 2019-08-09T10:10:42.609Z - commits: - subject: "api: Avoid cloneDeep when copying target state." hash: c62f4afe8d5bbf2803359b804372e512d70b3745 body: | This can cause issues where the stack is exhausted on large applications. footer: Change-type: patch change-type: patch Signed-off-by: Heds Simons signed-off-by: Heds Simons author: Cameron Diver version: 10.1.5 date: 2019-07-25T14:43:36.876Z - commits: - subject: Filter both null and omitted values hash: 4688524e4564b4f55870ce7a44a7a5c7d90c21ce body: | The docker daemon can sometimes return null for various fields, or omit the field altogether. The best thing to do with using the docker api is to always use == null to cover both instances. footer: Change-type: patch change-type: patch Signed-off-by: Roman Mazur signed-off-by: Roman Mazur author: Roman Mazur - subject: Use typed error to report inspection problems hash: 4b56022d93812852d9771e8c4ed1fa4f8e414d7f body: | This will throw a typed error in case when supervisor cannot inspect its own container. footer: Change-type: patch change-type: patch Signed-off-by: Roman Mazur signed-off-by: Roman Mazur author: Roman Mazur - subject: Prevent supervisor from deleting itself hash: 4846acb25ebd5b1400e3a74bc3a3c607ae98be8e body: > With recent changes to local mode behavior, supervisor removes all engine objects that were not present before entering local mode. With this change, supervisor also detects its own resources and does not delete them if it was updated during local mode operations. footer: Change-type: patch change-type: patch Signed-off-by: Roman Mazur signed-off-by: Roman Mazur author: Roman Mazur version: 10.1.4 date: 2019-07-25T10:06:17.925Z - commits: - subject: "docs: update APPID to BALENA_APP_ID as exposed from the env" hash: f2bb8a768e655513cc72a4bd286f7803745c0f07 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Matthew McGinn signed-off-by: Matthew McGinn author: Matthew McGinn version: 10.1.3 date: 2019-07-24T22:42:58.009Z - commits: - subject: "api: Perform network checks if device is unmanaged" hash: f9aa4681fa07a28cd5b9d63e697d76cff0faf4e6 body: | Without these checks the API GET /v1/device doesn't return a value for `ip_address`. footer: Change-type: patch change-type: patch Signed-off-by: Rich Bayliss signed-off-by: Rich Bayliss author: Rich Bayliss version: 10.1.2 date: 2019-07-24T14:44:11.596Z - commits: - subject: Fix invocation of livepush with sync-debug hash: 37ea6a92836faaf819a77568f43b3efc05e460a5 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.1.1 date: 2019-07-23T14:03:26.898Z - commits: - subject: Support network_modes of service: hash: c109a24874650f5f8d5a80fa11c8a62163e4d36b body: | That way that this is performed is by first adding a depends_on entry for the target service if it appears in a network mode. Then when we generate the docker container for this service, we use the containerId of the target container and replace the network_mode with `container:`. When comparing state, we check that the containerId still points to the contianerId of the target container, and in this way we ensure that when a network mode target container changes, we change the dependent container too. footer: Change-type: minor change-type: minor Closes: "#851" closes: "#851" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.1.0 date: 2019-07-23T12:55:18.311Z - commits: - subject: "fix: Always reboot when applying boot config" hash: e91fa6e7b33f4c859a47bd97ec837ff85049164f body: "" footer: Change-type: patch change-type: patch Closes: "#1037" closes: "#1037" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.0.5 date: 2019-07-22T15:10:57.680Z - commits: - subject: Pre-emptively pull required images in parallel hash: 565ef27b1b2c7e86d1b26571cec140e9da0ac14c body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Avoid unnecessary else in Makefile hash: 3945bb3a87eb18c6bcd175123d1cfa5afea78faf body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Fix installing the specified npm version in debug builds hash: 34983651d059de7e57cbb7171cf916bb1c033622 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Remove the dummy node-build step for debug images hash: ec816d115e98f0309ab0accbb69a45ba7c54fbab body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Reduce differences between the debug and standard dockerfiles hash: 31257f8f391e3a3500ca3772f0ab7cccb904b622 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Run image cleanup in parallel hash: 34af6e9b2a1306111033578632e5483ff5e07e66 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Do intermediate build pushing in parallel hash: 39e87414027525bc46467ea27cf864a49b89e8fc body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Minimise the amount of cache busted by a changed ARG hash: 1366abc7b113216fc007c78797a6c4e34d267a45 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Fix cache usage for builds hash: 0ad5d8688c2c09dc48cacd4a4af5bf7d8118709c body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 10.0.4 date: 2019-07-19T18:00:31.121Z - commits: - subject: "fix: Don't consider volume supervised labels when comparing" hash: cbb079e8dc03b9ef85336a8fbd22b85574c7db7e body: "" footer: Change-type: patch change-type: patch Closes: "#1039" closes: "#1039" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.0.3 date: 2019-07-19T11:20:19.861Z - commits: - subject: "device-api: fix up small typos" hash: 2cb6ecc150c207704c08dee52cf8940a16d760c6 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Matthew McGinn signed-off-by: Matthew McGinn author: Matthew McGinn version: 10.0.2 date: 2019-07-18T12:11:27.099Z - commits: - subject: Don't attempt to cleanup any target state referenced volumes hash: a796777967facb96ade32f5a06e256b3b92d1e4b body: | The code before this change could potentially remove a volume which should not be removed if a container was deleted before the call that references said volume. To avoid this, we additionally filter the list of volumes to cleanup by any that are referenced in the target state. This means that cleanup will never remove it, as long as it's still supposed to be there, regardless of if a container references it or not. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.0.1 date: 2019-07-11T15:40:11.157Z - commits: - subject: Don't remove volumes when switching into local mode hash: e076622fe627d936f0b8e8c8f9ec9f9fba25de4f body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Add volume tests and fix test fixture setup for applications hash: 050c10dbb03dbd13adf6f5ad8447eb8460e327df body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Add a supervisor endpoint to cleanup orphaned volumes hash: 3304825216ad10fab15fcc1491c00671a144d142 body: "" footer: Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Only remove volumes when we're moving between applications hash: 5357d4729d777b48edeb4230bfab7b81ed67b460 body: "" footer: Change-type: major change-type: major Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Reorder debug dockerfile to faster livepushes hash: 9fdd1d7427b77f0d38820c0f2150b63f8f7c6312 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Dont try to set the commit if it's undefined hash: bb549a445be3109308be123ba703d7de29d02b62 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 10.0.0 date: 2019-07-10T13:27:43.106Z - commits: - subject: "docs: fix up broken meta-balena proxy link" hash: baa0e875134e56418083962f40028f6a4dcb892e body: "" footer: Change-type: patch change-type: patch Signed-off-by: Matthew McGinn signed-off-by: Matthew McGinn author: Matthew McGinn version: 9.18.8 date: 2019-07-10T08:13:42.514Z - commits: - subject: Don't attempt to setup a log stream to the cloud before provision hash: 37945b4aa5325dba3b17aec19075f87b9ca9d20e body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Add more typescript conversions and export utilities from existing hash: 20a83e8e0a1e128e82a54fc05665c923d8e3d6d1 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.18.7 date: 2019-07-09T12:23:09.900Z - commits: - subject: Apply targetState immediately after update request Cancel delayed promise if exists and schedule a new one without delay, when /v1/update is called hash: 7a42b6719a25275363b458b4e2fac07298b73b59 body: "" footer: Change-type: patch change-type: patch author: Michel Wohlert version: 9.18.6 date: 2019-07-09T11:52:07.902Z - commits: - subject: Use resin-lint for mocha tests check hash: bea97f47a7c2b5748ca50632a7de93f7f18af5fd body: "" footer: Change-type: patch change-type: patch Signed-off-by: Roman Mazur signed-off-by: Roman Mazur author: Roman Mazur version: 9.18.5 date: 2019-07-08T16:23:26.845Z - commits: - subject: Fix network composition parsing, and correctly report compose config hash: 89807c21fa599d952b0fd5f61302f94539f3b3ea body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Keep the network and volume models consistent across usage hash: e5d7379b74861c31b0cd2b6a94b4fdecf23cd35a body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Pass around instantiated Network objects when comparing state hash: eaff3a2ee574a404c0ebf610867556f4afead176 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Seperate volume handling into manager and object classes hash: 23e564389daaa29feb231d1b091e07df82a7a300 body: | This change also makes sure that in the application-manager workflow we pass around instances of the Volume class, rather than just the config. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: 'fix: When reporting initial config, avoid creating a "VPN enabled" unnecessary override' hash: 743c8406c973af7ef85ff31ea8bb0bc99d4592fb body: > Since we were comparing the VPN's value before adding the explicit "true", there were cases were the VPN is off, and therefore "value" didn't match the default, so the supervisor would create a device specific SUPERVISOR_VPN_CONTROL = true, which is unnecessary and causes issues if users don't expect this and move the device to an app that has VPN disabled. The correct behavior is to compare "varValue" and only create a device config var if this value differs from the default. (This was the behavior before the TS conversion in 01ed7bb103b4df8fb0679cf858220db42d4a0b92 ) footer: Change-type: patch change-type: patch Signed-off-by: Pablo Carranza Velez signed-off-by: Pablo Carranza Velez author: Pablo Carranza Velez version: 9.18.4 date: 2019-07-04T10:49:36.786Z - commits: - subject: Add mocha tests linter hash: 36fa23ab7dcd76e7eb207e59b2ebcca8560a015f body: > A simple script that detects presence of .only statements in tests. The idea is to avoid comitting them, so that all the tests are run with npm test. footer: Change-type: patch change-type: patch Signed-off-by: Roman Mazur signed-off-by: Roman Mazur author: Roman Mazur version: 9.18.3 date: 2019-06-29T13:44:31.994Z - commits: - subject: Use jessie base images for i386-nlp hash: 92aa9b40ab77316f052533cf7d0b12ec96000d0b body: | This fixes potential SIGILL errors with the supervisor on i386-nlp. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Ensure that all architectures use a node version that supports ci hash: 557f88965a8f076cf7a1a02ad965264f1c5beab9 body: | We do this by using the standalone installer pinned at v6.9.0. We use the standalone installer because npm itself fails to upgrade on the i386-nlp build (npm v3). The standalone installer is installed in /tmp, and then to avoid mysterious CI errors, we use the original npm to run the tests. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.18.2 date: 2019-06-27T16:13:21.666Z - commits: - subject: Fix tests run removing .only hash: aad1129f2619f3de48d577f107fa17be7589e556 body: > The issue was introduced with one of the recent changes related to local mode cleanup. footer: Change-type: patch change-type: patch Signed-off-by: Roman Mazur signed-off-by: Roman Mazur author: Roman Mazur version: 9.18.1 date: 2019-06-27T12:01:21.922Z - commits: - subject: Ensure we get input on parsing errors hash: 645bc6c185b804df0e6d2088c5239eabcfa4ce80 body: > We wrap JSON and date parsing code to ensure input data is logged in case of an error. footer: Change-type: minor change-type: minor Signed-off-by: Roman Mazur signed-off-by: Roman Mazur author: Roman Mazur - subject: Ensure local mode switch runs before target state hash: 7c4d8d765348425559115b0b8bf08903bef84f52 body: > This change makes DeviceState to wait until local mode switch is definitely completed before actually applying the state, which avoids races in state cleanup. footer: Change-type: patch change-type: patch Signed-off-by: Roman Mazur signed-off-by: Roman Mazur author: Roman Mazur - subject: Clean up local mode engine objects using snapshots hash: 4974c9200c3955d40bfb0348d8972eb9c6dba02d body: > Snapshot is collected to compare with engine state when local mode is turned off. footer: Change-type: minor change-type: minor Signed-off-by: Roman Mazur signed-off-by: Roman Mazur author: Roman Mazur - subject: Add sinon types hash: bc3c56da4e86941e4c143f066fb4e179ae21ba6b body: "" footer: Change-type: patch change-type: patch Signed-off-by: Roman Mazur signed-off-by: Roman Mazur author: Roman Mazur version: 9.18.0 date: 2019-06-26T15:01:34.535Z - commits: - subject: Change to https for cloning resinos-in-container submodule hash: 81b0d3142ec7209f75f5b6b009d295b95bb920a4 body: | May require a `git submodule sync` to update existing local config footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 9.17.2 date: 2019-06-25T13:26:00.531Z - commits: - subject: Update the resinos version for the dind supervisor hash: f5aedffa055baa4037dc912db8962468e5f42b8b body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 9.17.1 date: 2019-06-21T12:35:30.821Z - commits: - subject: Report device state in local mode hash: 024b9c45f493526d135a3e6926d0eda39c259446 body: | In local mode, we now update device status on the backend, but omit applications info in our updates. footer: Closes: "#959" closes: "#959" Change-type: minor change-type: minor Signed-off-by: Roman Mazur signed-off-by: Roman Mazur author: Roman Mazur version: 9.17.0 date: 2019-06-20T12:45:10.472Z - commits: - subject: Don't drop failed api patch data hash: 8c69ae7645763cca7af90b500076f8d176265b02 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.16.7 date: 2019-06-20T11:58:45.206Z - commits: - subject: Remove mochainon dependnecy hash: 3f5239b07f247e9da8a6fe03a4fa4251d12cd296 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Roman Mazur signed-off-by: Roman Mazur author: Roman Mazur version: 9.16.6 date: 2019-06-19T20:37:15.140Z - commits: - subject: Allow writing test files in typescript hash: 9dab00d1566bdff6c2a3b74a3c86865aa69cb415 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.16.5 date: 2019-06-19T09:57:54.774Z - commits: - subject: Make sync-debug much more reliable with logs hash: 6c7234f84bb8a46c01b8c7eb870d5031c7401213 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.16.4 date: 2019-06-18T12:34:25.345Z - commits: - subject: Fix typo in image selection hash: 65019bb5bc11a31817a6ade7f904d02376146aef body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.16.3 date: 2019-06-11T12:12:37.928Z - commits: - subject: Re-parallelise current image retrieval code hash: b1e4e8399b69c1c817a615b4e9b7f219d30538bc body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.16.2 date: 2019-06-11T06:50:59.287Z - commits: - subject: Revert "Add a controlling variable for mixpanel reporting" hash: 9c486275c9fcc1f7d1c322ff8142bd994d94117c body: | This reverts commit 1a7ed0f95bb24474ef7326309696da091e68a3d9. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.16.1 date: 2019-06-10T19:53:04.103Z - commits: - subject: Upgrade typescript and fix warnings hash: ea64f0b0b3c57e6bd2e01ef4483e73d037288fc8 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Pin prettier version to avoid changes in non-ci installs hash: 0593aadcacaedc9d358e0bfbd23cf3cc05613f4c body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Standardise all supervisor output logging hash: 2276dd54e12915cf2a505a56e971231c45e58328 body: | Also use the supervisor's own container logging monitoring code when running livepush on the supervisor container. footer: Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.16.0 date: 2019-06-10T14:39:11.669Z - commits: - subject: Update and improve debug and development tools hash: 392c56b4d38bab367429d4b9bdaf2ee2c7fa18e6 body: | Add a debounce to the livepush invocations, execute on start and also add a wait on the supervisor CMD line for those rare occassions where the supervisor enters a restart loop. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.15.9 date: 2019-05-29T14:07:45.253Z - commits: - subject: Add a controlling variable for mixpanel reporting hash: 1a7ed0f95bb24474ef7326309696da091e68a3d9 body: "" footer: Change-type: patch change-type: patch Closes: "#990" closes: "#990" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.15.8 date: 2019-05-29T10:55:14.997Z - commits: - subject: Update balena-supervisor-base to v1.4.7 hash: a4563a78c39a20e815e5347229445df29282008e body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.15.7 date: 2019-05-29T09:04:10.686Z - commits: - subject: Add wrapper around container logs saving, to reduce db load hash: 827967805246f6bc890df90dadf1c58b313521ad body: | Changes are collected together and exist in memory, for querying and saving. Once every 10 mins, every changed timestamp is flushed to the database. footer: Change-type: patch change-type: patch Closes: "#987" closes: "#987" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.15.6 date: 2019-05-28T14:57:25.572Z - commits: - subject: "docs: remove legacy waffle link & gitter chat from README" hash: e0f875f07ba10098bd29e6d748dafc50fa6d02d3 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Matthew McGinn signed-off-by: Matthew McGinn author: Matthew McGinn version: 9.15.5 date: 2019-05-27T14:12:14.369Z - commits: - subject: Fix regression where node_modules stayed in resulting image hash: 99c08c807b6f0af02ef65e11aba5abaeeacdad44 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.15.4 date: 2019-05-27T12:45:26.298Z - commits: - subject: Move to resin-lint 3 and fix lint errors hash: 2a27b1d51f4d82ff79ca7ed2c5e36d981a400c44 body: | This is a massive commit, but nothing related to runtime has actually changed, only the lint errors have changed. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.15.3 date: 2019-05-26T17:57:21.428Z - commits: - subject: Dont check config.gz for loaded i6tables module hash: 1b1e0ce2f358f2e640aefa7628ad2d575117b0e9 body: | We also dont fail the initialisation if we cannot load the module. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.15.2 date: 2019-05-17T16:52:36.048Z - commits: - subject: Fix circle deploying of images hash: 954434fc4c3872e4cae53ce249b6d86b97e265c6 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.15.1 date: 2019-05-16T10:51:11.858Z - commits: - subject: Add livepush capabilities for debug builds hash: 73f207a76faaafbb60694304194a981c1a5018fe body: "" footer: Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Change install step to not mask errors hash: 6bfeaf7ae77f08b89941867fa452a19fbe40d884 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Update sqlite3 to 4.0.9 to avoid arm build errors hash: 0428ca31b0a2953f674d023ccaf104624a6f536d body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Use balenalib base image for i386 base hash: 3ff9c5a9b17d7a9a9357d8b28dcad19e440800df body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Upgrade debug builds to node 10 for supported architectures hash: 2e6f03006317616f5c2884196c904399994ec87d body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Add debug build infrastructure and configuration hash: 4e779608a395a6e59bb413ef4e1f66597623ebc1 body: "" footer: Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Make delta application logs easier to parse for multicontainer hash: 1155d757e4937436a8fffb2ef81d1535e4579882 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Upgrade to node 10 for supported architectures hash: 56bac3a7ea90077dfce69d55cf90ce9a4b3a0997 body: "" footer: Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Upgrade to node 8 for supported architectures hash: b84f354ded674a1af127975f0ed9ec1cb9328678 body: "" footer: Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.15.0 date: 2019-05-15T11:51:30.227Z - commits: - subject: Allow system messages to not be tracked hash: 4e783fcd86c3058ccf28477730e2d269d8f2cca8 body: | Also don't track update lock events footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Format update lock logs with pretty-ms hash: 50fdee429055fd94db868b76ab89a0ff7a1d2ea8 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Display update lock notification in dashboard logs hash: 27b68b584583ebbdfc9864d59b320660d6d45329 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Show better logs for UpdatesLockedError hash: 5894a9baf3c243b1c9647530da3ca68d65bc6cfb body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Clear backoff counter on new target state hash: 5ace459ad2ff35718cf3b986c0bf737343d667bc body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.14.12 date: 2019-05-15T09:23:24.953Z - commits: - subject: Fix supervisor tests for node v10.12.0 and above hash: 932a6f29973547b1e9fd6b8bbbb1f075cc13669f body: | Changes in the node engine related to streams would cause the gzip streams flush function to be called at the wrong times. The sinon fake timers were also interacting with this. We use setImmediate to call the flush function, and remove sinon timers for the logging tests. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.14.11 date: 2019-05-10T11:36:26.579Z - commits: - subject: Cache delta auth token request results for 10 minutes hash: 51703621a572ae4bd71b7f0ef01cf53364b97939 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.14.10 date: 2019-05-10T10:17:52.132Z - commits: - subject: "docs: make headers consistent" hash: acb38dfcfa8a7a658f083fe66455295bed503c51 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Matthew McGinn signed-off-by: Matthew McGinn author: Matthew McGinn version: 9.14.9 date: 2019-05-06T16:49:56.428Z - commits: - subject: "docs: fix up some stray resin references" hash: 331b109a6473fe880ad70522c54fb527c1c2b15d body: "" footer: Change-type: patch change-type: patch Signed-off-by: Matthew McGinn signed-off-by: Matthew McGinn author: Matthew McGinn version: 9.14.8 date: 2019-05-03T11:01:56.292Z - commits: - subject: Perform case-insensitive checking when converting booleans from strings hash: 8424fb44f6524fc745b47bce6e517b9d18133ef9 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.14.7 date: 2019-05-03T10:34:42.043Z - commits: - subject: "fix: Run db log cleanup on init - after migrations" hash: 9fae4bab620cebfc974b4e19464fa0c4ccb9a295 body: | Before this change the first time the cleanup code runs would be before the migrations have had a chance to execute. This change makes it so that the cleanup code always runs once the migrations have finished. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.14.6 date: 2019-04-25T15:59:45.568Z - commits: - subject: "fix: Correctly handle multiple hosts ports pointing to a container port" hash: 0fa47f635bc9a05fea2d0f9b20a6cdc5a1797855 body: | When assigning multiple host ports to a single container port before this change, the supervisor would incorrectly take only the first host port into consideration. This change makes it so that every host port per container port is considered. footer: Closes: "#986" closes: "#986" Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.14.5 date: 2019-04-25T12:51:16.516Z - commits: - subject: "compose: Remove unique expose entries after adding all entries" hash: 9e3fae585236c464fd25ab591b00d278c7d6463f body: | Prior to this change, we would `_.uniq` the expose value before adding values from the port mappings. This could cause ports to get added twice, which would cause the supervisor to think that there is a configuration mismatch. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.14.4 date: 2019-04-11T09:41:48.891Z - commits: - subject: Don't attempt to report any state during local mode hash: 892cf1961e5f86589f875e86294990dc8c6ed3bb body: | Even though this would never have attempted to report the state to the api during local mode, it leaves behind artifacts which would cause the state to be sometimes reported when exiting local mode. This would cause the api to reject the update unecessarily. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.14.3 date: 2019-04-10T14:43:23.197Z - commits: - subject: "types: Upgrade dockerode types, and remove fixes which are superceded" hash: 80031b76e4e27fb39b4c5cdaf9d131a503a3d124 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.14.2 date: 2019-04-08T09:48:10.111Z - commits: - subject: "avahi: Remove default service definitions" hash: 24ba07571c388e33720d8c3c9911dcc0ca33d297 body: | Removes default 'example' service definitions that are included by Avahi 0.7+. These conflict with our balenaOS advertised services, causing potential issues. footer: Connects-to: "#957" connects-to: "#957" Change-type: patch change-type: patch Signed-off-by: Heds Simons signed-off-by: Heds Simons author: Heds Simons version: 9.14.1 date: 2019-04-05T12:38:07.278Z - commits: - subject: Run database cleanup on startup in addition to once a day hash: 5943d3117c36b18466cc91c02be3a1805d34020f body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "fix: Fix non-tty container message parsing" hash: 760b18dd2aaa725bc283af29623ed3c913ec7d21 body: | This had a bug where it was using the `in` operator on a list. It may have worked for some cases, but would have failed for others. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Report all logs from a container's runtime hash: e148ce052903460ae369b23e67abe54cf22769b6 body: | We add a database table, which holds information about the last timestamp of a log successfully reported to a backend (local or remote). We then use this value to calculate from which point in time to start reporting logs from the container. If this is the first time we've seen a container, we get all logs, and for every log reported we save the timestamp. If it is not the first time we've seen a container, we request all logs since the last reported time, ensuring no interruption of service. footer: Change-type: minor change-type: minor Closes: "#937" closes: "#937" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Refactor container logging interface and rename logging-backends hash: 25fd11bed3a9f3b59db85b7c647765e371a50a74 body: | Container logging is now handled by a class which attaches and emits information from the container. We add these to the directory logging-backends/, and rename it to logging/. footer: Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "ux: Show a supervisor starting log message in dashboard" hash: 196f173e13b7bd12c7f95cf7cd1273438a1d4fd7 body: "" footer: Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "ux: Remove service already running log message" hash: 0504776169be98894a213315095602ecc7e4882d body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.14.0 date: 2019-04-05T09:07:32.071Z - commits: - subject: In /v1/update, return 202 when we're not updating immediately hash: 9961ebb41d37c14b18b2bf4545eefae343a2c026 body: > We also add a catch to any errors when getting configuration, and send 503 in this case, even if it's unlikely. footer: Change-type: patch change-type: patch Signed-off-by: Pablo Carranza Velez signed-off-by: Pablo Carranza Velez author: Pablo Carranza Velez - subject: Add a random jitter to target state polls, and a config var to ignore update notifications and not poll immediately after startup hash: 8f07bf62de4a509ac74380af8be42b2acf3c1b76 body: > This commit does two related things: * We make the poll interval a random time between 0.5 and 1.5 times the configured interval. * We introduce the BALENA_SUPERVISOR_INSTANT_UPDATE_TRIGGER configuration variable, that defaults to true. If this variable is set to false, then calls to /v1/update are ignored, and on startup the supervisor waits for a poll interval before getting the target state. This will help especially on cases where there's a large number of devices on a single network. By disabling instant updates and setting a large poll interval, we can now achieve a sitation where not all devices apply an update at the same time, which can help avoid overwhelming the network. footer: Change-type: minor change-type: minor Signed-off-by: Pablo Carranza Velez signed-off-by: Pablo Carranza Velez author: Pablo Carranza Velez version: 9.13.0 date: 2019-04-03T16:18:11.345Z - commits: - subject: Fix service comparison when starting a stopped service hash: 9a343316b21522e34a94a66f2391e63a96516114 body: | When comparing a stopped container after a start request, the container ID will be present in the target state (where usually it is not). We were already filtering this value out of the current state, but neglected to do so for the target state. This change now ensures we remove it from both alias lists if it exists. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.12.7 date: 2019-04-03T12:12:48.672Z - commits: - subject: Fix migration of legacy apps when there's more than one app in the local DB hash: c90270660000a0043b3f48751ea5186e69904368 body: > In an edge case observed in the field, a supervisor's database held two applications because the device had been moved and the update lock was set in the old app. This causes the updated supervisor to be unable to start, logging "No compatible releases found in API", because it can't fetch the release for the app it was moved from. This commit changes the migration code to iterate through all apps, and remove any for which we can't get a release. footer: Change-type: patch change-type: patch Signed-off-by: Pablo Carranza Velez signed-off-by: Pablo Carranza Velez author: Pablo Carranza Velez version: 9.12.6 date: 2019-03-29T00:18:13.744Z - commits: - subject: "test: Add a test case for deviceConfig.getDefaults" hash: ea6ebf822312665280903424d3f4bff1edd0476c body: | This would help avoid bugs like the one fixed in 9.11.1. footer: Change-type: patch change-type: patch Signed-off-by: Pablo Carranza Velez signed-off-by: Pablo Carranza Velez author: Pablo Carranza Velez version: 9.12.5 date: 2019-03-28T23:05:09.952Z - commits: - subject: Only modprobe ip6_tables if it's necessary hash: de051653166f3ad3388b76e305f18efe6db1768b body: > If the kernel was built with support for ip6tables, there's no need to load the module. This is the case when running balenaOS in a container in Mac OS, which also can't do modprobes easily. footer: Change-type: patch change-type: patch Signed-off-by: Pablo Carranza Velez signed-off-by: Pablo Carranza Velez author: Pablo Carranza Velez version: 9.12.4 date: 2019-03-28T18:15:29.681Z - commits: - subject: Parallelise cache pulling for builds hash: 9af416c7c01a70feb2c67b625ad45b8dce6dbc4f body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 9.12.3 date: 2019-03-28T14:15:13.930Z - commits: - subject: Fix typo in delta request error message hash: 175cbfee500332b47d55350c7a5c89eae211be06 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.12.2 date: 2019-03-28T12:34:19.072Z - commits: - subject: "fix: Correctly compare and generate network membership aliases" hash: b3192679c765940d3d6401efd85c845652b1f0f8 body: | Before this change, service name resolution would only occur in the default network. This was because we were not explicitly adding aliases of the service names to the aliases fields. We also fix the comparison, which would do funny things based on container IDs, which was correct but unnecessary. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.12.1 date: 2019-03-28T10:28:41.386Z - commits: - subject: "misc: Update build stages to debian stretch" hash: 1191b39ee50ab5c8d7135733d55e498dc1b4e3fd body: | Jessie recently had the jessie-updates repos dropped. We upgrade to stretch to avoid a 404 on update (and to update things anyway). footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "device-config: Show invalid values in dashboard logs" hash: c7499a6b128582e540d2e0d3e51f4acc698ea7f1 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "events: Allow system messages to not be tracked" hash: 83d53cfb563c83b24f856279466859edeb06c4af body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "device-config: Use default values for any invalid target values" hash: c211efe399d642840b7abd751c3ea1dce01935cd body: | If a value is requested which does not pass validation, we instead set it to the default value, to ensure that the state engine continues to work and move towards the target state. footer: Change-type: minor change-type: minor Closes: "#938" closes: "#938" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.12.0 date: 2019-03-27T14:20:21.282Z - commits: - subject: "fix: When pinning a preloaded device, ensure the pinning is done when retrying after a failure" hash: 22a5b331969af7e8f84bc8b5054ff80ff6c33dad body: > Without this patch, if for some reason device pinning fails (e.g. connectivity goes down) or anything interrupts the initialization after provisioning completes but before pinning is completed, after a retry the supervisor would just skip the pinning code, leaving the device unpinned. This patch ensures that the pinning procedure is run even if the device was already provisioned (as long as the pinning flag has been set, of course). This matches the behavior that the CoffeeScript code had from before the TypeScript conversion. footer: Change-type: patch change-type: patch Signed-off-by: Pablo Carranza Velez signed-off-by: Pablo Carranza Velez author: Pablo Carranza Velez - subject: "fix: Return a promise when retrying provisioning to avoid continuing after a failure" hash: 6e3bedeb1d1fe8e1facb2bb3330d2ecc499118b1 body: > Otherwise we'll keep doing the rest of the APIBinder init steps, like reporting initial config, potentially before completing the provisioning. footer: Change-type: patch change-type: patch Signed-off-by: Pablo Carranza Velez signed-off-by: Pablo Carranza Velez author: Pablo Carranza Velez version: 9.11.3 date: 2019-03-21T00:56:45.740Z - commits: - subject: "fix: Await reporting the initial config before continuing APIBinder initialization" hash: b374bd81dd2a8829078e2ae97d96700eebd63dce body: > This avoid a race condition, in which config.txt can be cleared if a target state is fetched before the initial values have been created as config vars. footer: Change-type: patch change-type: patch Signed-off-by: Pablo Carranza Velez signed-off-by: Pablo Carranza Velez author: Pablo Carranza Velez version: 9.11.2 date: 2019-03-20T19:32:19.214Z - commits: - subject: Fix typo when getting device config default values hash: f32de99aff525db866500c19a8bd24b8f216852e body: "" footer: Change-type: patch change-type: patch Signed-off-by: Pablo Carranza Velez signed-off-by: Pablo Carranza Velez author: Pablo Carranza Velez version: 9.11.1 date: 2019-03-19T20:50:22.269Z - commits: - subject: "fix: Correct use of $expand to avoid an exception when updating from a legacy OS" hash: d64dcb4b4060d3e6fd84382d3b12c6d8a3fe2310 body: > The last update of pinejs-client to pinejs-client-request made the way we were using $expand on the migration break. This switches to the correct way of doing it now. footer: Change-type: patch change-type: patch Signed-off-by: Pablo Carranza Velez signed-off-by: Pablo Carranza Velez author: Pablo Carranza Velez - subject: "device-api: Add v2/device/tags api endpoint" hash: b922789deeb29568b7105ef2ffc3b6ec8900f97f body: | This endpoint will fetch the device tags from the balena api footer: Change-type: minor change-type: minor Closes: "#890" closes: "#890" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "device-api: Add v2/device/name endpoint" hash: 3f231e8ff3af80fd6006064d951013858bddcba3 body: | This endpoint returns the last known device name from the API. This differs from the BALENA_DEVICE_NAME_AT_INIT env var because this will not change throughout the runtime of the container. footer: Closes: "#908" closes: "#908" Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.11.0 date: 2019-03-18T16:56:09.031Z - commits: - subject: "state-engine: Return a noop when waiting for a dependency" hash: 84356b82b814b10c14c12a285ffe71dac278ea19 body: | We run the risk of the state engine exiting early when a dependency is not ready, especially in local mode. This changes forces a noop to be returned when we are waiting on another service, which is the process used elsewhere in the state engine. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Skip dependency check on kill in local mode hash: 8f2d6f4d7b8293518600260acd986b8cb4ba53fe body: | This function would usually check that an image is present for a dependency, but in local mode the images would have never been inserted into the database. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.10.2 date: 2019-03-13T10:36:16.473Z - commits: - subject: Pin lodash types to avoid compile error hash: af734ad00800d8d845042f761754db6750cd9c20 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.10.1 date: 2019-03-12T13:39:15.973Z - commits: - subject: "docs: Standardise naming and json in api documentation" hash: d9bc26bd83b12f15bf099359e5425f4d956247a0 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "docs: Add documentation for v2/state/status endpoint" hash: 4a17f704ab86b542a9140782ff5aa502ceac6cfd body: "" footer: Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.10.0 date: 2019-03-11T16:41:00.776Z - commits: - subject: "codeowners: Add @CameronDiver, @pcarranzav and @Page-" hash: 68a28955ad1b5dc40b8f23c8ed1b998e195bc36d body: "" footer: Connects-to: "#926" connects-to: "#926" Change-type: patch change-type: patch Signed-off-by: Heds Simons signed-off-by: Heds Simons author: Heds Simons version: 9.9.1 date: 2019-03-08T15:38:29.388Z - commits: - subject: "state-engine: Add an exponential backoff for device-config noops" hash: 1aa58fd7b94e95a855b31dcb6fca8a374972a47b body: | To avoid unnecesarilly using resources, we add an exponential backoff when the noops explicitly come from the device-config module. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "fix: Fix connectivity active VPN check" hash: ea1b247d3fad9587ee9f71ff8831e14e3d6854c6 body: | During the conversion to typescript, the VPN active check was being performed on the directory, and not the file that the VPN creates, meaning it would always return true (as we explicitly create the directory on startup if it does not exist). footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "state-engine: Add rate limited steps to device-config" hash: 6f797020998251384f6a6251f6ffe5614e4054fc body: | In the case of an airgapped supervisor, with a target state that requests the vpn be enabled, the supervisor will constantly loop on trying to set the vpn to on. Unfortunately the vpn requires an internet connection to be configured, so it will never be turned on. We add the concept of no-ops to the device-config state change steps, and don't end the state engine transition while these are present (similar to how image pulls are implemented). footer: Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.9.0 date: 2019-03-07T18:41:44.457Z - commits: - subject: "feature: Add `BALENA_API_URL` environment variable when using the `balena-api` feature label" hash: aeb96aa807fea81f2e2aa4e3881bfb55b75b8618 body: > When using the label `io.balena.features.balena-api` the supervisor will inject 2 environment variables into the container: - BALENA_API_KEY - BALENA_API_URL This allows the container to access the currently associated API using the KEY. footer: Change-type: patch change-type: patch Signed-off-by: Rich Bayliss signed-off-by: Rich Bayliss Connects-to: "#847" connects-to: "#847" author: Rich Bayliss version: 9.8.7 date: 2019-02-28T11:45:00.053Z - commits: - subject: "debug: Print more information about failing validations" hash: 987de0e0975a7c468a3e2b606bb43e8dedcd2df8 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "device-config: Add migration for SUPERVISOR_DELTA_APPLY_TIMEOUT" hash: f9626a3ee481eaafa2d1e2c4a38b391e09712ea7 body: | The default value for the delta apply timeout was changed from `''` to `'0'` (note strings as these are database values) - but if the value existed in the database already, this would fail validation. We add a migration which will look explcitily for the failing value and switch it to the new default. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Increase max payload size in bodyparser to avoid PayloadTooLarge errors hash: c9507e013c83758c2c27321af05bd6f049037c1f body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.8.6 date: 2019-02-25T12:23:14.252Z - commits: - subject: Increase max payload size in bodyparser to avoid PayloadTooLarge errors hash: c9507e013c83758c2c27321af05bd6f049037c1f body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.8.5 date: 2019-02-25T12:21:00.112Z - commits: - subject: Fix provisioning workflow when UUID already exists hash: 0e3f2609781c460dbb7f91932d385fdabbbd5def body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.8.4 date: 2019-02-25T12:14:25.872Z - commits: - subject: Run iptables rules synchronous to avoid locking errors hash: 911ee7f009f5daa85067e7b7781ce79ca1e85424 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.8.3 date: 2019-02-19T17:44:47.346Z - commits: - subject: Revert "Upgrade to node 8 for supported architectures" hash: b3a07da8e47433f6e20fa7fe7a1da020ea49ef2b body: | This reverts commit 338ba4cdd7c6a0a7036e3c9d932622fbe5216436. This is to unblock the release of the supervisor version, pending the fix of the introduction of the race condition currently affecting v2 deltas. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.8.2 date: 2019-02-19T14:53:35.739Z - commits: - subject: Don't mount /lib/modules if it is already mounted hash: fae2548f27fbf6bf3e76fb56f1e8356afaac5bdd body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.8.1 date: 2019-02-14T13:52:37.276Z - commits: - subject: Apply iptables rules to ipv6 hash: 5f82f6fd3f341adc0659fd7fd7ed6813e4015d7d body: "" footer: Change-type: patch change-type: patch Closes: "#867" closes: "#867" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Symlink kernel modules and modprobe ip6_tables hash: 93c24298fff93e6f74d8883733f2f2e7c645fd39 body: "" footer: Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.8.0 date: 2019-02-13T20:58:34.540Z - commits: - subject: Improve error messages, and add description to ImageAuth error hash: 7bd7f7e0259896f6024b4b12131f4eb0f5a15bd1 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "fix: Request image authentication token with explicitly as json" hash: 81ec85c5815dff1bfaf99dca7386ca9b49470eb1 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Always back off on image fetch failure hash: d9177404b5a1d270032aeeca13096ca30c71882c body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.7.7 date: 2019-02-13T15:47:20.508Z - commits: - subject: Don't treat a non-200 status response on patch as report errors hash: 06580bf437c49b18213d7e0e5ed72c2cfc427c7f body: | Non-200 errors were causing the watchdog to restart the supervisor, which in some cases could cause a restart loop. Instead we change the code to only treat communication failures as an error, and report status code failures directly. footer: Change-type: patch change-type: patch Closes: "#843" closes: "#843" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.7.6 date: 2019-02-12T13:57:35.558Z - commits: - subject: Allow newlines to be part of environment variables hash: 49dbaaba123b6f99f59b89e5ac0eae322949b4b2 body: | We were not allowing newlines previously by virtue of the regex not allowing them. The docker daemon and supervisor handling code both support them, so we allow them in the parsing code too. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Remove environment variable whitespace trimming hash: 6bf008cc85104a0a9c3c969a0a9f49c66ccc4f7e body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.7.5 date: 2019-02-12T11:24:23.730Z - commits: - subject: Make sure to correctly convert config emit events after validation hash: 3d6dc88eb0c77d4bdeec93645d01d730c54e87d7 body: | We were validating the input configuration values by coercing them to the correct type, and then using the initial value to be saved (which currently is always converted to a string). We now use the coerced value as the actual value we will store, and more importantly emit. This means that the config.on('change' ...) calls will always be properly typed, which before this change was not a guarantee that we could make. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.7.4 date: 2019-02-11T11:24:08.324Z - commits: - subject: Set default delta apply timeout of 0 hash: 88f19b414737b2f3ab2bf9587464450e46460ff3 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.7.3 date: 2019-02-11T10:22:08.628Z - commits: - subject: "fix: Normalize ports from compose file on instantiation" hash: f3264862ca73e9b059da7fa7ce19aa67bfb9c296 body: | Adjacent ports are always grouped together by docker when reporting the container state (from an inspect), so adjacent ports defined in the compose file would not match as they would not have been normalized. We make sure to always normalize the input port configuration, so that it will match the docker output (if it should). We also don't sort in the fromComposePorts function anymore as that is handled by the normalize function. footer: Closes: "#897" closes: "#897" Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.7.2 date: 2019-02-09T21:43:47.044Z - commits: - subject: "fix: Rework delete-then-download handling in state engine" hash: e9b51bbcd741fd65851190e73428d00ab18f7443 body: | In the original implementation it was possible that the delete did not wait for the kill step to be finished, so it would not be deleted. We seperate this process into two steps, to allow for the container to have stopped before proceeding. footer: Change-type: patch change-type: patch Closes: "#841" closes: "#841" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.7.1 date: 2019-02-06T11:41:48.551Z - commits: - subject: Make the failure backoff time the same as the appUpdatePollTime hash: 828a0fc345a5dad567730dfe5a717dd7da305853 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Backoff on image download error hash: 146267b40248c0ace957c038fd03c7eb48d6b942 body: "" footer: Change-type: patch change-type: patch Closes: "#873" closes: "#873" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Add the release to the status endpoint hash: c0e68bb069741af72a57b4996e3d00cdda450748 body: "" footer: Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Add application status endpoint hash: 769e2f3c519d0fa0f5d728c16f40a775ee255bf1 body: "" footer: Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.7.0 date: 2019-02-05T18:42:06.007Z - commits: - subject: Ensure the balena-fin always has it's overlay assigned hash: 2e09ed071c5d1c080b21303b45421cf65249f652 body: "" footer: Change-type: patch change-type: patch Closes: "#884" closes: "#884" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.6.6 date: 2019-02-05T16:20:13.225Z - commits: - subject: "fix: Don't attempt a pull if the token requests fails" hash: d8085a6ef896ff7b63ee295765031829eb07de2b body: "" footer: Change-type: patch change-type: patch Closes: "#879" closes: "#879" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.6.5 date: 2019-02-04T17:51:58.573Z - commits: - subject: Pin terser version to avoid breaking change in minor update hash: 28d09f2772a224a4d2efb9dd35c333b21bbbc57a body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "Build: Respect package-lock when building" hash: a92d9cef3db8a7c11f06e68a743f05a780a0f3b0 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Move legacy renaming to formatting function hash: d75c58f09dc8f15ac154741238fd98db642a562b body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Fix typo in OVERRIDE_LOCK hash: f12f4745162b4f63db1dc6c5b425a6b133cf58c9 body: "" footer: Closes: "#885" closes: "#885" Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.6.4 date: 2019-02-04T11:58:57.552Z - commits: - subject: Wrap services.getAll in a bluebird promise hash: ef7d993db6a92964809ea779bf63a5fc68f880ca body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.6.3 date: 2019-01-31T10:12:57.322Z - commits: - subject: "fix: Properly bind context to healthchecks" hash: 6a9ca2a60df0b4eafc42cbac86d3161651eee68b body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "fix: Only apply supervisor api authentication after healthcheck entry" hash: 707ddb5f450734ba58179682cfb30236311b3a94 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "fix: Clear dbus pid file on startup" hash: ec87d26be194685ca91f376d7ee3dd3a6b764b3c body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.6.2 date: 2019-01-29T14:20:48.328Z - commits: - subject: Add missing ServiceManager methods hash: 8315413046e4b54278f504fd31398154f2ff4782 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.6.1 date: 2019-01-29T11:52:53.041Z - commits: - subject: Upgrade to node 8 for supported architectures hash: 338ba4cdd7c6a0a7036e3c9d932622fbe5216436 body: "" footer: Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.6.0 date: 2019-01-25T18:29:42.903Z - commits: - subject: "refactor: Convert ServiceManager to typescript" hash: ba000a73fc1873c87eb7f6003ca0ab961704184a body: "" footer: Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Improve error and logger typings hash: e5893c0ee05b2003fa6ab5147e52b6d1a4faae1e body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "refactor: Convert docker-utils module to typescript" hash: 02736113a394563dbb265cfe206e8e2aa65f9e6d body: "" footer: Change-type: patch change-type: patch Closes: "#868" closes: "#868" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.5.0 date: 2019-01-25T14:00:21.080Z - commits: - subject: "fix: Fix intial config reporting" hash: 9a97451e7a43524dc512f7f56e704a97369caa4b body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.4.2 date: 2019-01-23T18:02:33.894Z - commits: - subject: Clear up images.ts module code for simiplicity hash: 24ce72a2c339e52ac98099f61c235bb2c23d4f97 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Prefer optional type in ConfigChangeMap hash: 6f9d9e5de6c560be7e6960b6db6a0b22a4c882a2 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Use dictionary for db key hash: 6a1e787eee9fd810b4ce083f4eac900020761881 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.4.1 date: 2019-01-23T16:42:26.747Z - commits: - subject: "refactor: Convert volumes module to typescript" hash: 32acde0a99c0a3fdffe8b6abfd289ddc212b18f7 body: "" footer: Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "refactor: Convert compose/images module to typescript" hash: 91b553dd329fe9d42fd4bb0e6e716860e506cf88 body: "" footer: Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "deps: Update docker-toolbelt for typing fixes" hash: f10ad00e0141b17a5df23275278df2506732ad8c body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "typings: Improve database typings by allowing unknown dictionary keys" hash: 1af13d3373f16dd3f303eedcf773ea80376a7661 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "typings: Improve docker-utils typings" hash: fed01c355c8728e5088fd16c620582566bcd8c08 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "misc: Add Nullable helper type" hash: d1e1297f6db4b00ed382cd96e345b4c9637f7211 body: "" footer: Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "config: Properly type the change events from config module" hash: 0505c0f97666ffcf1fcea6c5add50f38901b0db4 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.4.0 date: 2019-01-23T09:15:45.444Z - commits: - subject: Send connection message when streaming local mode logs hash: 06cdaddd714b3310574dcacabc6e416d03646b33 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.3.1 date: 2019-01-16T13:18:15.975Z - commits: - subject: "refactor: Remove unnecessary validations and casts" hash: 6a3148ff80989ac061b33332938181ed7c1ca3ba body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "refactor: Fully type and validate config module set and get" hash: db74e748a15d33d3ea81c7afee7ed59890da8604 body: | We define the type for each config value, and validate the data when retrieving and setting it. footer: Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "refactor: Remove scaffolding for unused mutable config functions" hash: ac4866170eb55b956a480a57c1e05dfa14c6b953 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "fix: Use logind manager to request reboots and shutdowns" hash: 81b17faab15a241bf0e99fc8856823fa687ea1e2 body: "" footer: Change-type: patch change-type: patch Closes: "#861" closes: "#861" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.3.0 date: 2019-01-11T10:39:50.571Z - commits: - subject: Fix context bind errors by switching to async/await hash: a970ec5377987bdc845a571c16514d3f15e8eadb body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.2.10 date: 2019-01-08T16:23:42.125Z - commits: - subject: "refactor: Convert ApiBinder module to typescript" hash: 01ed7bb103b4df8fb0679cf858220db42d4a0b92 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "refactor: Only promisify read and write locks once" hash: d5f4ac690ff1c344599a576619ee7f00e1cc0ce1 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "refactor: Convert supervisor api module to typescript" hash: 9decea1d3bd4c7bd5741d805062214d70646ec2f body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "refactor: Change config modules export type to new-style" hash: 3a130f4f9cec919a76b6879dc33c9df0cf262213 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.2.9 date: 2019-01-08T12:05:10.664Z - commits: - subject: "refactor: Generate and normalise PortMaps from compose ports in-class" hash: dc34025545984dc035fac18aec8160ea095e5ca2 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "compose: Normalise target ports for comparison with docker's output" hash: 557c32b80e09051e9fe3633a94fe38cd5a49fcdb body: | Docker always returns ports in ascending order, so if they aren't specified like that in the compose, a restart loop would occur. This patch changes the port maps to be stored in ascending order, based on an alphabetical sort of the internalStart port (not taking into account the protocol). This is the same as how Docker returns them, so they will match, regardless of input form. footer: Change-type: patch change-type: patch Closes: "#824" closes: "#824" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.2.8 date: 2019-01-02T12:20:55.151Z - commits: - subject: "refactor: Convert DeviceConfig module to typescript" hash: b32fba43e1cb61dab101c38088bdb0e312690550 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "types: Make DeviceApplicationState reflect state endpoint" hash: 7ba1ab981c2c785a8ceb247dfce2460d1ddfb9e5 body: | Also change the return format of ApplicationManager.getStatus(), which does not conform to the above. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "refactor: Change export style of db to named" hash: de5157c04c56e74709d49749dde7de470393e917 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "refactor: Add default export to logger module" hash: 64db38204f840ec71fd2666f34af67f2dd0107d7 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "refactor: Convert host-config module to typescript" hash: f4f67a5afc43542f35aa9285312d311aadbb43fd body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.2.7 date: 2018-12-21T17:19:29.895Z - commits: - subject: "misc: Exclude typescript files from resulting image" hash: 34e5a7b0481b3eb70414c748fae0d2a1d393f371 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.2.6 date: 2018-12-21T09:27:44.035Z - commits: - subject: Use webpack watching for sync.js for a faster dev cycle hash: c0c805d072d6fb7daca3a9d51dd4e324886df269 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 9.2.5 date: 2018-12-20T17:42:34.493Z - commits: - subject: "Force `devtool: none` to avoid issues with env.noOptimize" hash: 1130ecd3ce83e379a4f1aa41981836be2470151c body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard - subject: Use fork-ts-checker to speed up the webpack build hash: 77dd1d0a44dad250186c6f7625226fa994a4f0e5 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 9.2.4 date: 2018-12-20T16:49:22.103Z - commits: - subject: "fix: Correctly type top level network IPAM config" hash: 9fab0fc5cc924a9c1a89a38682b7d440c7c3a649 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.2.3 date: 2018-12-20T10:08:34.889Z - commits: - subject: "deps: Pin event-stream to avoid false audit warning" hash: 0bae497e4d2e8371d1e69c6bd536d143e9029a35 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.2.2 date: 2018-12-20T09:51:18.661Z - commits: - subject: Update pinejs-client to pinejs-client-request 5.x hash: 019190646e5dbcc24a1aaa4fd4ed5d9274fce575 body: "" footer: Change-type: patch change-type: patch author: Pagan Gazzard version: 9.2.1 date: 2018-12-19T17:57:15.609Z - commits: - subject: Update to webpack 4 hash: 655c476ccdb40639f814eebd68a8170bc000f8e5 body: "" footer: Change-type: minor change-type: minor author: Pagan Gazzard version: 9.2.0 date: 2018-12-19T17:16:14.411Z - commits: - subject: "device-api: Add morgan to log api requests" hash: 45b322b7e093abfa60ebb476c2cc477800de06b7 body: "" footer: Change-type: minor change-type: minor Closes: "#834" closes: "#834" Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.1.0 date: 2018-12-19T14:31:25.055Z - commits: - subject: "refactor: Convert update-lock module to typescript" hash: b977b30dfee0b9d309133c2569ffe6a9e5af783c body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "refactor: Convert systemd module to typescript" hash: ec37db597dbcf1965735b1d2b31a62fe7ad9540d body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "refactor: Convert request module to typescript" hash: e00954babd455700bbc53e4e5003b42efbab2663 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "refactor: Convert migration module to typescript" hash: 2ea657c95db960783b027e6cbc769376eef31c1b body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.0.3 date: 2018-12-19T14:09:07.239Z - commits: - subject: "VersionBot: Fix incomplete version in CHANGELOG.yml" hash: c87123f585874c07960935ce6accb3f6946813a6 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Giovanni Garufi signed-off-by: Giovanni Garufi author: Giovanni Garufi version: 9.0.2 date: 2018-12-18T17:24:35.636Z - commits: - subject: Fix a race condition that could cause an unnecessary restart of a service immediately after download hash: 42737cb9e96b889d0fdfd48926778a38566d927b body: > Up to now, there was a slim but non-zero chance that an image would be downloaded between the call to `@getTarget` inside deviceState (which gets the target state and creates Service objects using information from available images), and the call to `@images.getAvailable` in ApplicationManager (which is used to determine whether we should keep waiting for a download or start the service). If this race condition happened, then the ApplicationManager would infer that a service was ready to be started (because the image appears as available), but would have incomplete information about the service because the image wasn't available when the Service object was created. The result would be that the service would be started, and then immediately on the next applyTarget the ApplicationManager would try to kill it and restart it to update it with the complete information from the image. This patch changes this behavior by ensuring that all of the additional information about the current state, which includes available images, is gathered *before* building the current and target states that we compare. This means that if the image is downloaded after the call to getAvailable, the Service might be constructed with all the information about the image, but it won't be started until the next pass, because ApplicationManager will treat it as still downloading. footer: Change-type: patch change-type: patch Signed-off-by: Pablo Carranza Velez signed-off-by: Pablo Carranza Velez author: Pablo Carranza Velez version: 9.0.1 date: 2018-12-17T18:44:43.029Z - commits: - subject: "unmanaged: Default to local mode in target state when unmanaged" hash: c533631f70f76893d5907a911c6304fd7ebd080f body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "config: Force config values to strings when storing in db" hash: 151af309fb16029b7339b69149cc64ad03cdaa8f body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "join: Disable local mode when joining a cloud" hash: 3ca1d7c864c6a71cd52d20aef0024eeeef866bef body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "config: Replace supervisorOfflineMode and offlineMode with unmanaged" hash: 82602abf8d312aa871ece3f12f39a8ca76ee1553 body: "" footer: Change-type: major change-type: major Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: "fix: Give unmanaged target states a source of 'local'" hash: 5bea0fdc9d0b2e347e339ec354425abc8368a156 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Require an apikey for supervisor api in production unmanaged hash: 178e80d92a158167137a24483bf589a436421668 body: "" footer: Change-type: minor change-type: minor Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Switch to local mode in unmanaged mode hash: 5bb3820d6a135127ca2806ce04da7a145485ba13 body: "" footer: Change-type: major change-type: major Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: Move config.json flag back to the database hash: 91a634056333e53c4905bee35af6e3ec6f9ce750 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver - subject: 'Revert "localMode: Remove local mode from device-config"' hash: 19f8b7576646b4ceaeead02642f74327c79d979b body: | This reverts commit eda477ff8628c8f2d7afdefe3b282a045f8f5308. footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 9.0.0 date: 2018-12-17T10:53:36.565Z - commits: - subject: Fix sync.js after move to balena-sync hash: 63d9d8df3879a5fadff69a2e5e0af523c25dc4ac body: "" footer: Change-type: patch change-type: patch Signed-off-by: Cameron Diver signed-off-by: Cameron Diver author: Cameron Diver version: 8.7.1 date: 2018-12-13T14:21:44.452Z - commits: - subject: "dindctl: Allow mounting a backup.tgz to test migration backups" hash: 42c39ed36d2012e3a6d3d84e1e11d6ae229001f5 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Pablo Carranza Velez signed-off-by: Pablo Carranza Velez author: Pablo Carranza Velez - subject: Add the ability to restore volumes from a backup.tgz in the data partition hash: 501272266baf73011a5259666ffed63074ca99ac body: "" footer: Change-type: minor change-type: minor Signed-off-by: Pablo Carranza Velez signed-off-by: Pablo Carranza Velez author: Pablo Carranza Velez version: 8.7.0 date: 2018-12-12T17:25:29.819Z - commits: - subject: Update lodash to v4.17.5 hash: b52c92a044486724c154a5d1f06e3c4cf8c4039d body: "" footer: Change-type: patch change-type: patch Signed-off-by: Pablo Carranza Velez signed-off-by: Pablo Carranza Velez author: Pablo Carranza Velez - subject: Remove the unused register-coffee-coverage hash: 3c52faea54a82c6b24f28e7055456baf155333f9 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Pablo Carranza Velez signed-off-by: Pablo Carranza Velez author: Pablo Carranza Velez - subject: Update knex to 0.15.2 and sqlite3 to 4.0.4 hash: d5b2fcd4dde845a13ba2535c835121e9c9836d10 body: > We also replace a createTableIfNotExists in the migrations with hasTable then createTable, to avoid a warning message about it being not recommended. footer: Change-type: patch change-type: patch Signed-off-by: Pablo Carranza Velez signed-off-by: Pablo Carranza Velez author: Pablo Carranza Velez - subject: "sync.js: Switch from resin-sync to balena-sync" hash: cbcf046d9154b76140fbcb48712319d154b92c46 body: "" footer: Change-type: patch change-type: patch Signed-off-by: Pablo Carranza Velez signed-off-by: Pablo Carranza Velez author: Pablo Carranza Velez version: 8.6.11 date: 2018-12-12T16:45:21.021Z - commits: - subject: Fix typo that prevented deleting old resin/ supervisor images hash: a52683ade09d45eaa8ba3c691a2f67c3720bdc4d body: "" footer: Change-type: patch change-type: patch Signed-off-by: Pablo Carranza Velez signed-off-by: Pablo Carranza Velez author: Pablo Carranza Velez version: 8.6.10 date: 2018-12-11T16:31:31.692Z - commits: - subject: "versionbot: Add changelog yml file" hash: 3134f0dcebb8cda4bf0f9e94038c9363df9ad535 body: | This file allows other components to uniquely parse the information that is contained in the changelog. It will be automatically managed by versionist by appending the new commits on top. This is needed to provide nested-changelogs. footer: Change-type: patch change-type: patch Signed-off-by: Giovanni Garufi signed-off-by: Giovanni Garufi author: Giovanni Garufi version: 8.6.9 date: 2018-12-11T15:33:19.564Z - version: 8.6.8 date: 2018-12-07T00:00:00.000Z commits: - subject: "Api: Ensure Supervisor API returns IP addresses [Heds Simons]" - version: 8.6.7 date: 2018-12-04T00:00:00.000Z commits: - subject: Update docker-progress to reduce memory usage when pulling images [Cameron Diver] - version: 8.6.6 date: 2018-12-04T00:00:00.000Z commits: - subject: "Docs: Clarify Supervisor envvars exposure via label [Heds Simons]" - version: 8.6.5 date: 2018-12-04T00:00:00.000Z commits: - subject: Update mixpanel node dependency, to pick up path changes [Cameron Diver] - version: 8.6.4 date: 2018-11-30T00:00:00.000Z commits: - subject: "Docs: Clarify that older supervisors use RESIN_ variables [Pablo Carranza Velez]" - version: 8.6.3 date: 2018-11-29T00:00:00.000Z commits: - subject: "Unmanged: Don't require a device name when setting a target state [Cameron Diver]" - subject: "LocalMode: Remove local mode from device-config [Cameron Diver]" - version: 8.6.2 date: 2018-11-28T00:00:00.000Z commits: - subject: "Compose: Fix network option field names and update dockerode types [Cameron Diver]" - version: 8.6.1 date: 2018-11-28T00:00:00.000Z commits: - subject: "Fix: When updating from a legacy supervisor, use updated resource ids and image URL from the API [Pablo Carranza Velez]" - version: 8.6.0 date: 2018-11-28T00:00:00.000Z commits: - subject: "Device-api: Add container id endpoint [Cameron Diver]" - version: 8.5.1 date: 2018-11-28T00:00:00.000Z commits: - subject: Convert network module to typescript [Cameron Diver] - subject: Update network-checker to pick up typings [Cameron Diver] - subject: Fix return type for blinking instantiation function [Cameron Diver] - version: 8.5.0 date: 2018-11-28T00:00:00.000Z commits: - subject: "Config: Set default apiKey of empty string to avoid undefined keys [Cameron Diver]" - subject: Allow local mode to be controlled via config.json [Cameron Diver] - subject: Don't start connectivity check when in offlineMode [Cameron Diver] - subject: Improve UX when apps.json is not present [Cameron Diver] - subject: "Config: Switch default device type to `unknown` [Cameron Diver]" - subject: Handle empty apiEndpoint when detecting mixpanel host [Cameron Diver] - subject: "Fix: Set default apiEndpoint to empty [Cameron Diver]" - version: 8.4.3 date: 2018-11-27T00:00:00.000Z commits: - subject: "Compose: Set default config for stopSignal to SIGTERM [Shaun Mulligan]" - subject: "Compose: Change default stop signal from ' to SIGTERM [Shaun Mulligan]" - version: 8.4.2 date: 2018-11-26T00:00:00.000Z commits: - subject: Pin event-stream to avoid picking up vulnerable flatmap-stream [Cameron Diver] - version: 8.4.1 date: 2018-11-22T00:00:00.000Z commits: - subject: "Compose: Change default grace period to 10s [Cameron Diver]" - version: 8.4.0 date: 2018-11-21T00:00:00.000Z commits: - subject: Add package.lock file [Cameron Diver] - subject: "Events: Correctly proxy mixpanel events [Cameron Diver]" - subject: Fix m00001 migration by using targetValues [Cameron Diver] - version: 8.3.9 date: 2018-11-13T00:00:00.000Z commits: - subject: Fix m00001 migration by using targetValues [Cameron Diver] - subject: Appended API example [hippolyt] - version: 8.3.8 date: 2018-11-06T00:00:00.000Z commits: - subject: Let typescript do the json resolution so we get proper types [Pagan Gazzard] - version: 8.3.7 date: 2018-11-06T00:00:00.000Z commits: - subject: Update coffee-script to coffee-script 1.12 [Pagan Gazzard] - version: 8.3.6 date: 2018-11-06T00:00:00.000Z commits: - subject: "Tests: Increase timeout for test suites [Cameron Diver]" - version: 8.3.5 date: 2018-11-06T00:00:00.000Z commits: - subject: "Doc: Add documentation for supervisor endpoints added after v7 [Cameron Diver]" - version: 8.3.4 date: 2018-11-06T00:00:00.000Z commits: - subject: Remove unused dependencies [Pagan Gazzard] - version: 8.3.3 date: 2018-11-06T00:00:00.000Z commits: - subject: Remove ts-node from test process [Cameron Diver] - version: 8.3.2 date: 2018-11-06T00:00:00.000Z commits: - subject: Remove node garbage collection flags [Cameron Diver] - version: 8.3.1 date: 2018-11-05T00:00:00.000Z commits: - subject: Fix migrations/jsonstream custom resolvers on windows [Pagan Gazzard] - version: 8.3.0 date: 2018-11-05T00:00:00.000Z commits: - subject: "Device-api: Also support serviceName in v2 service endpoints [Cameron Diver]" - version: 8.2.4 date: 2018-11-05T00:00:00.000Z commits: - subject: Remove some type casts [Pagan Gazzard] - subject: Remove versionist from package.json, it's handled by versionbot [Pagan Gazzard] - version: 8.2.3 date: 2018-11-02T00:00:00.000Z commits: - subject: Update to typescript 3 [Pagan Gazzard] - version: 8.2.2 date: 2018-11-02T00:00:00.000Z commits: - subject: Update to resin-lint 2 and add a precommit hook for prettier [Pagan Gazzard] - subject: Run resin-lint for both coffee and typescript [Pagan Gazzard] - version: 8.2.1 date: 2018-11-02T00:00:00.000Z commits: - subject: Add a .resinci.yml to disable regular docker and npm builds [Pablo Carranza Velez] - version: 8.2.0 date: 2018-11-02T00:00:00.000Z commits: - subject: Remove unused codepaths that do deltas from resin/scratch [Pablo Carranza Velez] - subject: Rename most of the documentation and variable names from resin to balena [Pablo Carranza Velez] - version: 8.1.0 date: 2018-11-01T00:00:00.000Z commits: - subject: Remove a deprecated debian repository from the aarch64 node image (used only at build-time) [Pablo Carranza Velez] - subject: When updating from resin-supervisor to balena-supervisor, try to delete old resin-supervisor images [Pablo Carranza Velez] - subject: Rename package to balena-supervisor and push to balena repos in DockerHub [Pablo Carranza Velez] - version: 8.0.0 date: 2018-11-01T00:00:00.000Z commits: - subject: "Api-binder: Use API v5 [Akis Kesoglou]" - version: 7.25.13 date: 2018-10-31T00:00:00.000Z commits: - subject: "Fix: When calling the /v1/update endpoint, always trigger a target state apply [Pablo Carranza Velez]" - version: 7.25.12 date: 2018-10-31T00:00:00.000Z commits: - subject: "Fix: Properly check for the balena-api label to inject the API key env vars [Pablo Carranza Velez]" - version: 7.25.11 date: 2018-10-31T00:00:00.000Z commits: - subject: "Fix: When setting target state, delete old apps from the same source [Pablo Carranza Velez]" - version: 7.25.10 date: 2018-10-25T00:00:00.000Z commits: - subject: "Test: Use longer delays in logger tests [Pablo Carranza Velez]" - version: 7.25.9 date: 2018-10-25T00:00:00.000Z commits: - subject: Update docker-delta to v2.2.2 [Pablo Carranza Velez] - version: 7.25.8 date: 2018-10-23T00:00:00.000Z commits: - subject: "ApplicationManager: when comparing images to save metadata, take docker image ids into account [Pablo Carranza Velez]" - subject: "Entry.sh: Use symbolic link to link to legacy lock path [Pablo Carranza Velez]" - version: 7.25.7 date: 2018-10-23T00:00:00.000Z commits: - subject: "Circle.yml: Only push tagged images on tagged commits [Pablo Carranza Velez]" - version: 7.25.4 date: 2018-10-23T00:00:00.000Z commits: - subject: "Fix: Use fat arrow for cleanup method [Cameron Diver]" - subject: "Fix: Run checkTruthy on config values before using them [Cameron Diver]" - version: 7.25.5 date: 2018-10-22T00:00:00.000Z commits: - subject: "Fix: Properly get the config from target state before comparing during initial config reporting [Pablo Carranza Velez]" - version: 7.25.4 date: 2018-10-20T00:00:00.000Z commits: - subject: "Fix: When checking for legacy containers, properly get the labels from config [Pablo Carranza Velez]" - subject: "Fix: Avoid trying to report duplicated values in initial config [Pablo Carranza Velez]" - version: 7.25.3 date: 2018-10-20T00:00:00.000Z commits: - subject: "Fix: Store and retrieve device config without namespaces [Pablo Carranza Velez]" - version: 7.25.2 date: 2018-10-19T00:00:00.000Z commits: - subject: Keep defaulting tty to true to avoid accidental breakage [Pablo Carranza Velez] - version: 7.25.1 date: 2018-10-19T00:00:00.000Z commits: - subject: Fix preloading in flasher images by reading apps.json if target hasn't been set [Pablo Carranza Velez] - version: 7.25.0 date: 2018-10-18T00:00:00.000Z commits: - subject: "DeviceConfig: allow BALENA_ config variables [Pablo Carranza Velez]" - version: 7.24.1 date: 2018-10-18T00:00:00.000Z commits: - subject: "Fix: Add typescript cast to fix type error [Cameron Diver]" - subject: "Fix: Remove debugging console logs [Cameron Diver]" - subject: "Fix: Apply default config options when they're falsy [Cameron Diver]" - subject: "Fix: Always set the container name when generating creation options [Cameron Diver]" - version: 7.24.0 date: 2018-10-18T00:00:00.000Z commits: - subject: "Config: Allow atomic config.json writes on balenaOS [Pablo Carranza Velez]" - subject: "Network: Ignore resin-redsocks and balena-redsocks when reporting IP addresses [Pablo Carranza Velez]" - subject: Use the DOCKER_SOCKET env var for the user container's balena socket mount [Pablo Carranza Velez] - version: 7.23.0 date: 2018-10-18T00:00:00.000Z commits: - subject: "Service: Fix device name env vars by injecting and filtering in the interface with docker [Pablo Carranza Velez]" - subject: "ServiceManager: add BALENA_DEVICE_NAME_AT_INIT to injected env vars [Pablo Carranza Velez]" - subject: Replace io.resin labels (and their env vars) with io.balena equivalents [Pablo Carranza Velez] - version: 7.22.0 date: 2018-10-17T00:00:00.000Z commits: - subject: Make handover-complete an alternative to the resin-kill-me file [Pablo Carranza Velez] - subject: Move the handover and lock files to /tmp/balena, rename them, and add BALENA_ env vars [Pablo Carranza Velez] - version: 7.21.5 date: 2018-10-16T00:00:00.000Z commits: - subject: Disable express' x-powered-by header [Pagan Gazzard] - version: 7.21.4 date: 2018-10-16T00:00:00.000Z commits: - subject: "Fix: overlay compose fields on image for healthcheck [Cameron Diver]" - subject: "Fix: Remove support for broken storageOpt option [Cameron Diver]" - version: 7.21.3 date: 2018-10-15T00:00:00.000Z commits: - subject: "Deltas: Bump docker-progress to pick up support for balena-engine [Cameron Diver]" - version: 7.21.2 date: 2018-10-15T00:00:00.000Z commits: - subject: Remove a few blacklisted config.txt options [Zubair Lutfullah Kakakhel] - version: 7.21.1 date: 2018-10-15T00:00:00.000Z commits: - subject: "Fix: Return void from config setter [Cameron Diver]" - subject: "Fix: Don't assume config is defined for legacy images in logger [Cameron Diver]" - version: 7.21.0 date: 2018-10-13T00:00:00.000Z commits: - subject: "Device-api: Add supervisor version endpoint [Cameron Diver]" - subject: "State: Don't consider local mode when storing state [Cameron Diver]" - subject: "Local mode: Add local mode manager module to handle cleanup [Cameron Diver]" - subject: "Logger: Enforce timestamp value to avoid logging server 400 errors [Cameron Diver]" - subject: Add logging endpoint to supervisor [Cameron Diver] - subject: Support local logging via standard logging interface [Cameron Diver] - subject: Support setting target state in local mode from supervisor API [Cameron Diver] - subject: Add several local mode enabling endpoints [Cameron Diver] - subject: Correctly type service-manager logger and event tracker fields [Cameron Diver] - subject: Don't set empty target state in local mode [Cameron Diver] - version: 7.20.0 date: 2018-10-08T00:00:00.000Z commits: - subject: "Fix: Correctly handle array based network definitions for service [Cameron Diver]" - subject: "Fix: Only join the default network when creating the container [Cameron Diver]" - subject: "Compose: Support changing the tty option for compose services [Cameron Diver]" - subject: "Types: Remove temporary Service type in favour of actual compose class [Cameron Diver]" - subject: "Compose/service: Convert module to typescript and add network config [Cameron Diver]" - subject: "Compose: Support more network creation options [Cameron Diver]" - subject: "Refactor: Split Networks class to Network and NetworkManager [Cameron Diver]" - version: 7.19.7 date: 2018-09-13T00:00:00.000Z commits: - subject: "Logger: Fix reporting the configuration change variables [Cameron Diver]" - version: 7.19.6 date: 2018-09-13T00:00:00.000Z commits: - subject: "Lib/errors: Improve typings by extending Error class for predicates [Cameron Diver]" - version: 7.19.5 date: 2018-09-12T00:00:00.000Z commits: - subject: "" Fix: Use throttle not debounce when ensuring we don't spam mixpanel [Cameron Diver] - version: 7.19.4 date: 2018-09-05T00:00:00.000Z commits: - subject: "Fix: Don't send internal state tracking information to the API [Cameron Diver]" - version: 7.19.3 date: 2018-09-04T00:00:00.000Z commits: - subject: "Fix: Fix event-tracker being passed no options object [Cameron Diver]" - subject: "Fix: Import logger properly and add startup test [Cameron Diver]" - subject: "Events: Report supervisor version with any mixpanel events [Cameron Diver]" - subject: "Events: Add rate limiting based on event name when reporting to mixpanel [Cameron Diver]" - subject: "Memory: Reduce memory usage by applying node command line flags [Mathew Heard]" - version: 7.19.2 date: 2018-09-04T00:00:00.000Z commits: - subject: "Fix: Add es2015 lib to tsconfig.json [Cameron Diver]" - subject: "Refactor: Use Dictionary type in ports module [Cameron Diver]" - subject: "Fix: Respect logging enabling on instantiation of logger [Cameron Diver]" - subject: "Fix: Change import of ports module to be extensionless in tests [Cameron Diver]" - subject: "Refactor: Convert logging module to typescript [Cameron Diver]" - subject: "Types: Add global typings file containing Dictionary type [Cameron Diver]" - subject: "Refactor: Make exported log-types implement interface [Cameron Diver]" - subject: "Refactor: Convert event tracker module to typescript [Cameron Diver]" - version: 7.19.1 date: 2018-08-29T00:00:00.000Z commits: - subject: "Fix: Dont bind service class methods in declaration [Cameron Diver]" - version: 7.19.0 date: 2018-08-29T00:00:00.000Z commits: - subject: "Housekeeping: Add private:true to package.json [Cameron Diver]" - subject: "Feature(host_config): Support gpio field as an array [Cameron Diver]" - version: 7.18.0 date: 2018-08-24T00:00:00.000Z commits: - subject: "Network: Add MDNS support for `.local` domains #713 [Heds Simons]" - version: 7.17.1 date: 2018-08-17T00:00:00.000Z commits: - subject: "Ux: Warn on invalid device name when trying to start a service #729 [Cameron Diver]" - version: 7.17.0 date: 2018-08-16T00:00:00.000Z commits: - subject: "Fix: Fix importing of service type location #726 [Cameron Diver]" - subject: "Dev: Add package.json tasks to aid debugging supervisor tests #726 [Cameron Diver]" - version: 7.16.7 date: 2018-08-16T00:00:00.000Z commits: - subject: "Update docker-toolbelt to pull in typings #727 [Cameron Diver]" - subject: "Refactor: Add docker-utils typings #727 [Cameron Diver]" - subject: "Refactor: Convert log-types module to typescript #727 [Cameron Diver]" - version: 7.16.6 date: 2018-08-13T00:00:00.000Z commits: - subject: "Docs: Add documentation for the v2/applications/state endpoint #722 [Cameron Diver]" - version: 7.16.5 date: 2018-08-13T00:00:00.000Z commits: - subject: "Fix: Apply device name before generating container config #724 [Cameron Diver]" - version: 7.16.4 date: 2018-08-07T00:00:00.000Z commits: - subject: "Fix: Restart a service when it's memory limit changes #721 [Cameron Diver]" - version: 7.16.3 date: 2018-08-01T00:00:00.000Z commits: - subject: "Add a backoff mechanism for state reporting errors #715 [Pagan Gazzard]" - version: 7.16.2 date: 2018-07-25T00:00:00.000Z commits: - subject: "Fix: Fix scoping issue with variables in service-manager #711 [Cameron Diver]" - version: 7.16.1 date: 2018-07-25T00:00:00.000Z commits: - subject: "Dont restart service on device name change #704 [Cameron Diver]" - version: 7.16.0 date: 2018-07-23T00:00:00.000Z commits: - subject: "Logger: Add unit tests #701 [Petros Angelatos]" - subject: "Logger: Remove pubnub leftovers #701 [Petros Angelatos]" - subject: "Logger: Only send logs produced after attaching #701 [Petros Angelatos]" - subject: "Logger: Use the new logging backend #701 [Petros Angelatos]" - version: 7.15.0 date: 2018-07-17T00:00:00.000Z commits: - subject: "Allow the enabling and disabling of persistent logging via env var #700 [Cameron Diver]" - subject: "Refactor config code to be consistent in location #700 [Cameron Diver]" - version: 7.14.1 date: 2018-07-16T00:00:00.000Z commits: - subject: "Re-enable majority of tests #699 [Cameron Diver]" - version: 7.14.0 date: 2018-07-12T00:00:00.000Z commits: - subject: "Remove resinApiEndpoint meta-endpoint and use config.json entry instead #692 [Cameron Diver]" - version: 7.13.3 date: 2018-07-12T00:00:00.000Z commits: - subject: "Correctly apply current commit value to applications #691 [Cameron Diver]" - version: 7.13.2 date: 2018-07-09T00:00:00.000Z commits: - subject: "Fix typo in config method call #688 [Cameron Diver]" - version: 7.13.1 date: 2018-06-28T00:00:00.000Z commits: - subject: "Bind db handle to fn variable #687 [Cameron Diver]" - version: 7.13.0 date: 2018-06-27T00:00:00.000Z commits: - subject: "Change config function providers to be mutable #684 [Cameron Diver]" - version: 7.12.0 date: 2018-06-26T00:00:00.000Z commits: - subject: "Fix /v1/device endpoint returning null for commit after an update #652 [Cameron Diver]" - subject: "Add applications state v2 endpoint #652 [Cameron Diver]" - subject: "Move compose types to ./types and add partial definitions for compose modules #652 [Cameron Diver]" - subject: "Move v2 endpoints to separate module #652 [Cameron Diver]" - subject: "Refactor v1 api into seperate modules #652 [Cameron Diver]" - version: 7.11.3 date: 2018-06-25T00:00:00.000Z commits: - subject: "Add fromDockerOpts and normalization to PortMap class, and use in fromContainer #655 [Cameron Diver]" - subject: "Store port ranges as ranges, to reduce memory usage #655 [Cameron Diver]" - version: 7.11.2 date: 2018-06-18T00:00:00.000Z commits: - subject: "Convert config module to typescript #682 [Cameron Diver]" - subject: "Convert fs-utils module to typescript #682 [Cameron Diver]" - subject: "Convert os-release module to typescript #682 [Cameron Diver]" - subject: "Convert supervisor_version module to typescript, and add typings for json #682 [Cameron Diver]" - subject: "Convert db module to typescript #682 [Cameron Diver]" - version: 7.11.1 date: 2018-06-14T00:00:00.000Z commits: - subject: "Show better UX when a delta download fails because the image is processing #680 [Cameron Diver]" - subject: "Upgrade TypedError and move docker-utils error to error module #680 [Cameron Diver]" - version: 7.11.0 date: 2018-06-13T00:00:00.000Z commits: - subject: "Pin a device to a commit when preload has a pinDevice field #669 [Cameron Diver]" - version: 7.10.2 date: 2018-06-11T00:00:00.000Z commits: - subject: "Fix typo in EEXIST error predicate #677 [Cameron Diver]" - version: 7.10.1 date: 2018-06-11T00:00:00.000Z commits: - subject: "Convert iptables module to typescript #641 [Cameron Diver]" - subject: "Convert errors module to typescript #641 [Cameron Diver]" - version: 7.10.0 date: 2018-06-06T00:00:00.000Z commits: - subject: "Move config backend code out to classes which implement a common base #672 [Cameron Diver]" - subject: "Add support for extlinux configuration files #672 [Cameron Diver]" - subject: "Move boot config related code to config-utils module #672 [Cameron Diver]" - subject: "Add types for fs-utils module #672 [Cameron Diver]" - version: 7.9.1 date: 2018-05-29T00:00:00.000Z commits: - subject: "Update update-locking documentation #667 [Cameron Diver]" - version: 7.9.0 date: 2018-05-23T00:00:00.000Z commits: - subject: "Add support for Balena deltas #632 [Akis Kesoglou]" - subject: "Log delta debugging information #632 [Akis Kesoglou]" - version: 7.8.0 date: 2018-05-23T00:00:00.000Z commits: - subject: "Check against application source for target applications #662 [Cameron Diver]" - subject: "Add migration for source field to be added to app table #662 [Cameron Diver]" - version: 7.7.2 date: 2018-05-22T00:00:00.000Z commits: - subject: "Ignore leading and trailing whitespace when parsing env vars #665 [Cameron Diver]" - version: 7.7.1 date: 2018-05-21T00:00:00.000Z commits: - subject: "Don't generate config fields in offline mode #651 [Cameron Diver]" - version: 7.7.0 date: 2018-05-18T00:00:00.000Z commits: - subject: "Add support for changing config.txt on balena fin devices #663 [Pablo Carranza Velez]" - version: 7.6.0 date: 2018-05-16T00:00:00.000Z commits: - subject: "Change intialConfigReported value to be an api endpoint #657 [Cameron Diver]" - version: 7.5.6 date: 2018-05-14T00:00:00.000Z commits: - subject: "Update gitignore to ignore new test files #653 [Cameron Diver]" - version: 7.5.5 date: 2018-05-11T00:00:00.000Z commits: - subject: "Update docs with multicontainer API breakages #654 [Tim Perry]" - version: 7.5.4 date: 2018-05-11T00:00:00.000Z commits: - subject: "Fix handling of systemd errors when polling for log to display #612 [Cameron Diver]" - version: 7.5.3 date: 2018-05-02T00:00:00.000Z commits: - subject: "Add typescript linting to supervisor tests #638 [Cameron Diver]" - subject: "Convert conversions module to typescript #638 [Cameron Diver]" - subject: "Move shared types to separate module #638 [Cameron Diver]" - subject: "Convert blink module to typescript #638 [Cameron Diver]" - subject: "Convert lib/constants module to typescript #638 [Cameron Diver]" - subject: "Type parameters for validation functions better #638 [Cameron Diver]" - version: 7.5.2 date: 2018-05-01T00:00:00.000Z commits: - subject: "Add some more unit tests to the multicontainer supervisor #519 [Pablo Carranza Velez]" - version: 7.5.1 date: 2018-04-29T00:00:00.000Z commits: - subject: "Remove trailing slashes from working directories of services #637 [Cameron Diver]" - version: 7.5.0 date: 2018-04-27T00:00:00.000Z commits: - subject: "Add tests for validation code #636 [Cameron Diver]" - subject: "Start initial typescript conversion, and add validation debugging #636 [Cameron Diver]" - version: 7.4.4 date: 2018-04-23T00:00:00.000Z commits: - subject: "Use resinos-in-container for the development dind supervisor #630 [Pablo Carranza Velez]" - version: 7.4.3 date: 2018-04-19T00:00:00.000Z commits: - subject: "On startup, only attach to logs for running containers, and remove any containers marked as dead #625 [Pablo Carranza Velez]" - version: 7.4.2 date: 2018-04-18T00:00:00.000Z commits: - subject: "Properly propagate delta failure #628 [Akis Kesoglou]" - version: 7.4.1 date: 2018-04-11T00:00:00.000Z commits: - subject: "Allow services (and their images) to expose udp ports besides tcp #622 [Pablo Carranza Velez]" - version: 7.4.0 date: 2018-04-11T00:00:00.000Z commits: - subject: "Add ability to use self-signed CAs passed via `config.json`. #602 [Heds Simons]" - version: 7.3.0 date: 2018-04-10T00:00:00.000Z commits: - subject: "Move to Node 6.13.1. #624 [Heds Simons]" - version: 7.2.0 date: 2018-04-04T00:00:00.000Z commits: - subject: "Run test suite on CI #616 [Cameron Diver]" - subject: "Add mocha to enable unit testing #616 [Lucian Buzzo]" - subject: "Fix regex for parsing memory numbers #616 [Cameron Diver]" - version: 7.1.24 date: 2018-03-29T00:00:00.000Z commits: - subject: "Respond to reboot and shutdown endpoints with a success object #608 [Cameron Diver]" - version: 7.1.23 date: 2018-03-29T00:00:00.000Z commits: - subject: "Avoid weird cwd errors when dist does not exist with sync #606 [Cameron Diver]" - version: 7.1.22 date: 2018-03-29T00:00:00.000Z commits: - subject: "Back off fetching the target state exponentially, for faster retries when there's no connectivity #596 [Pablo Carranza Velez]" - version: 7.1.21 date: 2018-03-27T00:00:00.000Z commits: - subject: "Handle incorrectly parsed env vars from docker inspect #605 [Cameron Diver]" - version: 7.1.20 date: 2018-03-22T00:00:00.000Z commits: - subject: "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]" - version: 7.1.19 date: 2018-03-22T00:00:00.000Z commits: - subject: "Remove any leftover knex migrations locks before running migrations #599 [Pablo Carranza Velez]" - version: 7.1.18 date: 2018-03-19T00:00:00.000Z commits: - subject: "Trim whitespace from the hostname file on the host before passing it as the hostname for containers with host network #595 [Pablo Carranza Velez]" - version: 7.1.17 date: 2018-03-19T00:00:00.000Z commits: - subject: "Document that the update lock can be forced on reboots and shutdowns #591 [Pablo Carranza Velez]" - subject: "Force reboots and shutdowns if lock override is enabled #591 [Pablo Carranza Velez]" - version: 7.1.16 date: 2018-03-16T00:00:00.000Z commits: - subject: "In /v1/apps/:appId/stop, wait for the service to exit before responding #593 [Pablo Carranza Velez]" - version: 7.1.15 date: 2018-03-15T00:00:00.000Z commits: - subject: "Automation: Use ssh instead of https to PR to meta-resin #572 [Pablo Carranza Velez]" - version: 7.1.14 date: 2018-03-15T00:00:00.000Z commits: - subject: "Avoid trying to clean up the supervisor image if it has several tags (even though it would never succeed) #589 [Pablo Carranza Velez]" - version: 7.1.13 date: 2018-03-15T00:00:00.000Z commits: - subject: "Fix typo passing apiKey to the resin API client when exchanging apikeys #588 [Pablo Carranza Velez]" - subject: "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]" - version: 7.1.12 date: 2018-03-15T00:00:00.000Z commits: - subject: "Compose: Use the hostname on the host as default hostname for services with host network mode #586 [Pablo Carranza Velez]" - subject: "Pass the correct working_dir to the container config, and compare containers for working dir changes #586 [Pablo Carranza Velez]" - version: 7.1.11 date: 2018-03-14T00:00:00.000Z commits: - subject: "DeviceConfig: avoid trying to enable or disable the VPN when in offline mode #585 [Pablo Carranza Velez]" - version: 7.1.10 date: 2018-03-14T00:00:00.000Z commits: - subject: "ApplicationManager: try to match available images by imageId to avoid keeping around unused image entries in the db #584 [Pablo Carranza Velez]" - subject: "Compose: Emit a change event when a container is renamed, so that the updated imageId and releaseId are reported #584 [Pablo Carranza Velez]" - version: 7.1.9 date: 2018-03-13T00:00:00.000Z commits: - subject: "Skip taking the lock when updating the releaseId or imageId for a service that comes from a legacy supervisor #581 [Pablo Carranza Velez]" - subject: "When migrating from legacy supervisors, mark the temporary composition as legacy #581 [Pablo Carranza Velez]" - version: 7.1.8 date: 2018-03-13T00:00:00.000Z commits: - subject: "Avoid trying to send a response to API calls after we've already sent an error #579 [Pablo Carranza Velez]" - subject: "Fix passing a target service to start in /v1/apps/:appId/start, and getting the containerId #579 [Pablo Carranza Velez]" - version: 7.1.7 date: 2018-03-09T00:00:00.000Z commits: - subject: 'Gosuper: Treat systemd unit states that are not "inactive" or "deactivating" as enabled states #577 [Pablo Carranza Velez]' - version: 7.1.6 date: 2018-03-09T00:00:00.000Z commits: - subject: "Migrations: Use the correct service name for legacy apps #575 [Pablo Carranza Velez]" - subject: "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]" - version: 7.1.5 date: 2018-03-09T00:00:00.000Z commits: - subject: "Fix bug in require for migrations for legacy preload #574 [Cameron Diver]" - version: 7.1.4 date: 2018-03-09T00:00:00.000Z commits: - subject: "Compose: fix type error, createVolume returns a promise #571 [Petros Angelatos]" - version: 7.1.3 date: 2018-03-08T00:00:00.000Z commits: - subject: "Lib: add missing flag to openAsync() #570 [Petros Angelatos]" - version: 7.1.2 date: 2018-03-08T00:00:00.000Z commits: - subject: "Compose: fix volume migration code #569 [Petros Angelatos]" - version: 7.1.1 date: 2018-03-08T00:00:00.000Z commits: - subject: "Convert object to array when normalising legacy target apps #568 [Cameron Diver]" - version: 7.1.0 date: 2018-03-07T00:00:00.000Z commits: - subject: "Introduce workaround for IPv6 DNS resolution until nodejs becomes RFC 3484 compliant #566 [Petros Angelatos]" - subject: "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]" - version: 7.0.0 date: 2018-03-07T00:00:00.000Z commits: - subject: "Send logs to the resin API by default #482 [Pablo Carranza Velez]" - subject: "Implement a new logger that sends logs to the resin API, that can be used optionally instead of PubNub #482 [Pablo Carranza Velez]" - subject: "Fix the way commands and entrypoints in string form are parsed #482 [Pablo Carranza Velez]" - subject: "Use a supervisor0 network interface for the supervisor network API. Remove RESIN_APP_COMMIT and RESIN_APP_RELEASE env vars. #482 [Pablo Carranza Velez]" - subject: "Supervisor API: remove the tcp-ping endpoints #482 [Pablo Carranza Velez]" - subject: "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]" - subject: "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]" - subject: "Allow running docker-compose-like multicontainer applications #482 [Pablo Carranza Velez]" - subject: "Implement inference of device configuration. Allow array values for dtoverlay and dtparam. #482 [Pablo Carranza Velez]" - subject: "Infer the current state of the device when applying the target state #482 [Pablo Carranza Velez]" - subject: "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]" - version: 6.6.9 date: 2018-03-05T00:00:00.000Z commits: - subject: "Update update-locking.md #565 [zwalchuk]" - version: 6.6.8 date: 2018-02-27T00:00:00.000Z commits: - subject: "Allow truthy values for deltas and lock override (i.e. the string 'true' besides '1') #561 [Pablo Carranza Velez]" - version: 6.6.7 date: 2018-02-27T00:00:00.000Z commits: - subject: "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]" - version: 6.6.6 date: 2018-02-27T00:00:00.000Z commits: - subject: "Update docker-delta to 2.0.4 #558 [Akis Kesoglou]" - version: 6.6.5 date: 2018-02-21T00:00:00.000Z commits: - subject: "Circle.yml: escape branch name to ensure we always have a valid tag #556 [Pablo Carranza Velez]" - version: 6.6.4 date: 2018-02-20T00:00:00.000Z commits: - subject: "Circle.yml: Do not push images to dockerhub if building without a docker password #555 [Pablo Carranza Velez]" - version: 6.6.3 date: 2018-02-06T00:00:00.000Z commits: - subject: "Update resumable-request to v2.0 #551 [Akis Kesoglou]" - version: 6.6.2 date: 2018-01-24T00:00:00.000Z commits: - subject: "Use i386-nlp for supervisor releases for quark boards #549 [Pablo Carranza Velez]" - version: 6.6.1 date: 2018-01-19T00:00:00.000Z commits: - subject: "Improve caching in dindctl build and update README #526 [Pablo Carranza Velez]" - version: 6.6.0 date: 2018-01-18T00:00:00.000Z commits: - subject: "Implement an API for proxy and hostname configuration, and centralize management of config.json #547 [Pablo Carranza Velez]" - version: 6.5.9 date: 2018-01-12T00:00:00.000Z commits: - subject: "Fix saving deviceApiKey to the DB (to fix the RESIN_API_KEY env var) when updating from some older supervisors #544 [Pablo Carranza Velez]" - version: 6.5.8 date: 2018-01-10T00:00:00.000Z commits: - subject: "Update docker-toolbelt to v3.2.1 to fix a bug in deltas #543 [Pablo Carranza Velez]" - version: 6.5.7 date: 2018-01-05T00:00:00.000Z commits: - subject: "Avoid problems with null app names or invalid container names when migrating from old supervisors #541 [Pablo Carranza Velez]" - version: 6.5.6 date: 2017-12-15T00:00:00.000Z commits: - subject: "Update-locking: updating the documentation with extra information and tools #528 [Gergely Imreh]" - version: 6.5.5 date: 2017-12-14T00:00:00.000Z commits: - subject: "Update resin-sync to allow syncing to devices that use balena #533 [Pablo Carranza Velez]" - version: 6.5.4 date: 2017-12-14T00:00:00.000Z commits: - subject: "Do the webpack build in an amd64 image to improve build times #539 [Pablo Carranza Velez]" - version: 6.5.3 date: 2017-12-12T00:00:00.000Z commits: - subject: "Gosuper: When getting IP addresses, ignore balena and the resin-dns bridge #536 [Pablo Carranza Velez]" - version: 6.5.2 date: 2017-12-12T00:00:00.000Z commits: - subject: "Dockerfile: improve caching by installing devDependencies before copying the code #535 [Pablo Carranza Velez]" - version: 6.5.1 date: 2017-12-11T00:00:00.000Z commits: - subject: "Avoid marking the supervisor as unhealthy if update is not happening because it's in offline mode #534 [Pablo Carranza Velez]" - version: 6.5.0 date: 2017-12-11T00:00:00.000Z commits: - subject: "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]" - version: 6.4.9 date: 2017-12-11T00:00:00.000Z commits: - subject: "Apply config.txt changes when the new config is empty, to fix deleting config.txt values #532 [Pablo Carranza Velez]" - subject: "Avoid stopping the VPN until a remote target state has been fetched, and retry applying config variables when they fail #532 [Pablo Carranza Velez]" - version: 6.4.8 date: 2017-12-01T00:00:00.000Z commits: - subject: "When listenPort is not specified, use 48484 as default #529 [Pablo Carranza Velez]" - version: 6.4.7 date: 2017-11-20T00:00:00.000Z commits: - subject: "Sync.js: Fix command to build the source code without optimizations #527 [Pablo Carranza Velez]" - version: 6.4.6 date: 2017-11-10T00:00:00.000Z commits: - subject: "Dind: Add a .gitkeep to docker.service.d to avoid dind build errors #525 [Pablo Carranza Velez]" - version: 6.4.5 date: 2017-11-09T00:00:00.000Z commits: - subject: "Use uglifyjs-webpack-plugin ^1.0.1 to optimize the supervisor code #524 [Pablo Carranza Velez]" - version: 6.4.4 date: 2017-11-08T00:00:00.000Z commits: - subject: "Dindctl: Use balena to refresh the supervisor container #523 [Pablo Carranza Velez]" - version: 6.4.3 date: 2017-11-03T00:00:00.000Z commits: - subject: "Use balena 17.06 and resin-base v2.9.2 for the docker-in-docker supervisor #518 [Pablo Carranza Velez]" - version: 6.4.2 date: 2017-11-03T00:00:00.000Z commits: - subject: "Avoid an indefinite recursion that grows the call stack when reporting the current state fails #480 [Pablo Carranza Velez]" - version: 6.4.1 date: 2017-11-02T00:00:00.000Z commits: - subject: "Improve caching when building gosuper #520 [Pablo Carranza Velez]" - subject: "Automation: Always try to cache using the latest master build #520 [Pablo Carranza Velez]" - version: 6.4.0 date: 2017-11-01T00:00:00.000Z commits: - subject: "Fixes #511, add support for new supervisor image for x86 with quark cpu boards. #512 [Trong Nghia Nguyen]" - version: 6.3.11 date: 2017-11-01T00:00:00.000Z commits: - subject: "Add whitelist-based filtering to mixpanel events #500 [Pablo Carranza Velez]" - subject: "Tunnel all mixpanel events through the resin API #500 [Pablo Carranza Velez]" - version: 6.3.10 date: 2017-10-31T00:00:00.000Z commits: - subject: "Use a custom webpack loader to avoid uncaught exceptions from JSONStream #517 [Pablo Carranza Velez]" - version: 6.3.9 date: 2017-10-30T00:00:00.000Z commits: - subject: "Avoid fetching an image when it might be available or when starting an app because it might not be necessary #507 [Pablo Carranza Velez]" - subject: "Refactor container cleanup to remove all spurious containers #507 [Pablo Carranza Velez]" - subject: "Use container name instead of id to identify apps, and avoid duplicated containers #507 [Pablo Carranza Velez]" - version: 6.3.8 date: 2017-10-30T00:00:00.000Z commits: - subject: "If a device is already provisioned but the key exchange fails, retry it until it succeeds #513 [Pablo Carranza Velez]" - version: 6.3.7 date: 2017-10-25T00:00:00.000Z commits: - subject: "Change the update retry to back off to the standard update check interval #515 [Pagan Gazzard]" - version: 6.3.6 date: 2017-10-24T00:00:00.000Z commits: - subject: "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]" - subject: "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]" - subject: "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]" - version: 6.3.5 date: 2017-10-19T00:00:00.000Z commits: - subject: "Update docker-toolbelt to fix applying deltas on overlay2 with huge images #509 [Akis Kesoglou]" - version: 6.3.4 date: 2017-10-17T00:00:00.000Z commits: - subject: "Delta improvements #504 [Akis Kesoglou]" - version: 6.3.3 date: 2017-10-17T00:00:00.000Z commits: - subject: "Update docker-progress to improve identification of Balena #505 [Akis Kesoglou]" - version: 6.3.2 date: 2017-10-11T00:00:00.000Z commits: - subject: "Allow specifying a config.json filename in dindctl #503 [Pablo Carranza Velez]" - subject: "Allow specifying a container name for the docker-in-docker development supervisor #503 [Pablo Carranza Velez]" - version: 6.3.1 date: 2017-10-04T00:00:00.000Z commits: - subject: "Update docker-progress #502 [Akis Kesoglou]" - version: 6.3.0 date: 2017-10-03T00:00:00.000Z commits: - subject: "Update docker-progress #501 [Akis Kesoglou]" - version: 6.2.9 date: 2017-09-15T00:00:00.000Z commits: - subject: "Explicitly define the source for deltas, allow cross-app deltas, and iterate serially through apps when updating #499 [Pablo Carranza Velez]" - version: 6.2.8 date: 2017-09-12T00:00:00.000Z commits: - subject: "Fix problem catching errors when killing a container that doesn't exist #496 [Pablo Carranza Velez]" - version: 6.2.7 date: 2017-09-01T00:00:00.000Z commits: - subject: "Prefer err.message when reporting errors from dockerode, then err.json and err.reason #490 [Pablo Carranza Velez]" - version: 6.2.6 date: 2017-08-29T00:00:00.000Z commits: - subject: "Add a sync.js script to allow syncing a running supervisor container on a local device #494 [Pablo Carranza Velez]" - version: 6.2.5 date: 2017-08-28T00:00:00.000Z commits: - subject: "Forward resume options #492 [Akis Kesoglou]" - version: 6.2.4 date: 2017-08-28T00:00:00.000Z commits: - subject: "Update docker-progress to v2.6.3 #493 [Pablo Carranza Velez]" - version: 6.2.3 date: 2017-08-26T00:00:00.000Z commits: - subject: "Deploy all archs by default to Resin #489 [Akis Kesoglou]" - version: 6.2.2 date: 2017-08-25T00:00:00.000Z commits: - subject: "Remove an unnecessary directory from sqlite3 that took 30MB #491 [Pablo Carranza Velez]" - version: 6.2.1 date: 2017-08-18T00:00:00.000Z commits: - subject: "Ensure /var/run/resin exists before trying to mount it as tmpfs #486 [Pablo Carranza Velez]" - version: 6.2.0 date: 2017-08-16T00:00:00.000Z commits: - subject: "Try to resume the download of a delta if it fails due to flaky network #483 [Akis Kesoglou]" - version: 6.1.4 date: 2017-08-07T00:00:00.000Z commits: - subject: "Fix references in deploy-to-resin.js and use github credentials when pushing in pr-to-meta-resin.sh #481 [Pablo Carranza Velez]" - version: 6.1.3 date: 2017-08-03T00:00:00.000Z commits: - subject: Avoid starting apps on startup if device has to reboot due to a configuration change [Pablo Carranza Velez] - version: 6.1.2 date: 2017-07-27T00:00:00.000Z commits: - subject: When the device is about to reboot or shutdown, close the API server and avoid applying updates [Pablo Carranza Velez] - version: 6.1.1 date: 2017-07-27T00:00:00.000Z commits: - subject: Avoid unhandled errors when in offline mode due to a missing apiEndpoint [Pablo Carranza Velez] - subject: 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] - version: 6.1.0 date: 2017-07-27T00:00:00.000Z commits: - subject: 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] - version: 6.0.5 date: 2017-07-27T00:00:00.000Z commits: - subject: Allow building the supervisor source without optimizations for easier debugging with dindctl [Pablo Carranza Velez] - subject: Pull the supervisor image if it's not available when running with dindctl [Pablo Carranza Velez] - subject: Fix preloading and parsing of arguments in the dind supervisor [Pablo Carranza Velez] - version: 6.0.4 date: 2017-07-26T00:00:00.000Z commits: - subject: Fix the message shown when docker gives a 500 error when starting a container [Pablo Carranza Velez] - version: 6.0.3 date: 2017-07-25T00:00:00.000Z commits: - subject: Use a pinned build of the debian image to build base and gosuper, to avoid unnecessary rebuilds [Pablo Carranza Velez] - version: 6.0.2 date: 2017-07-24T00:00:00.000Z commits: - subject: Disable armel builds [Pablo Carranza Velez] - subject: Disable pushing to registry.resinstaging.io, and use build environment to login to dockerhub [Pablo Carranza Velez] - subject: Move dindctl to the base of the repository [Pablo Carranza Velez] - subject: Add a script to automate the creation of meta-resin PRs [Pablo Carranza Velez] - subject: Add a deploy-to-resin.js and automatically deploy to the Resin API on master builds [Pablo Carranza Velez] - subject: Use a local supervisor image for the dind supervisor [Pablo Carranza Velez] - subject: Replace the Jenkins build with a CircleCI build that uses the new multi-stage build [Pablo Carranza Velez] - subject: Make dindctl an easier to use tool that takes options instead of using env vars [Pablo Carranza Velez] - subject: Refactor the makefile to make it easier to use and make use of the multi-stage build [Pablo Carranza Velez] - subject: Add a single Dockerfile to build the supervisor as a multi-stage build [Pablo Carranza Velez] - version: 6.0.1 date: 2017-07-12T00:00:00.000Z commits: - subject: Use webpack to join all modules [Pablo Carranza Velez] - version: 6.0.0 date: 2017-07-07T00:00:00.000Z commits: - subject: Deprecate edge device type [Joe Roberts] - version: 5.1.1 date: 2017-07-04T00:00:00.000Z commits: - subject: Fix semver comparison for OS version when determining if the device has deviceApiKey support [Pablo Carranza Velez] - version: 5.1.0 date: 2017-07-01T00:00:00.000Z commits: - subject: Switch to glide for Go dependencies [Pablo Carranza Velez] - subject: Add support for aarch64 [Pablo Carranza Velez] - version: 5.0.2 date: 2017-07-01T00:00:00.000Z commits: - subject: "Dind: Set DELTA_ENDPOINT, insert variant into os-release, and fix vpn apikeys [Pablo Carranza Velez]" - version: 5.0.1 date: 2017-07-01T00:00:00.000Z commits: - subject: 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] - version: 5.0.0 date: 2017-06-26T00:00:00.000Z commits: - subject: Remove the undocumented and unused sideload and compose APIs [Pablo Carranza Velez] - version: 4.5.0 date: 2017-06-26T00:00:00.000Z commits: - subject: Update docker-delta to 1.0.3 to support docker 17 [Pablo Carranza Velez] - version: 4.4.2 date: 2017-06-26T00:00:00.000Z commits: - subject: Fix provisioning key exchange by passing apikey in the request [Pablo Carranza Velez] - version: 4.4.1 date: 2017-06-24T00:00:00.000Z commits: - subject: Make cleanup in jenkins build less aggressive, but remove all created tags [Pablo Carranza Velez] - version: 4.4.0 date: 2017-06-15T00:00:00.000Z commits: - subject: When apiEndpoint is not defined, work in offline mode [Pablo Carranza Velez] - subject: Fix mixpanel initialization when not in offline mode [Pablo Carranza Velez] - version: 4.3.2 date: 2017-06-14T00:00:00.000Z commits: - subject: Update dependent device DB [Joe Roberts] - version: 4.3.1 date: 2017-06-13T00:00:00.000Z commits: - subject: Enable SSL when connecting to pubnub [Petros Angelatos] - version: 4.3.0 date: 2017-06-05T00:00:00.000Z commits: - subject: Switch to generating the BASE_IMAGE_VERSION in the makefile, so that the makefile targets can use an accurate version by default [Pagan Gazzard] - version: 4.2.4 date: 2017-05-12T00:00:00.000Z commits: - subject: Fix typo in how hostOSVersionPath was camel-cased [Pablo Carranza Velez] - version: 4.2.3 date: 2017-05-11T00:00:00.000Z commits: - subject: Properly handle errors when requesting deltas [Pablo Carranza Velez] - subject: Add aufs-tools to the dind supervisor for use when running on aufs [Pagan Gazzard] - version: 4.2.2 date: 2017-04-27T00:00:00.000Z commits: - subject: Only delete the provisioning key if the supervisor is running on an OS that supports using the deviceApiKey [Pablo Carranza Velez] - subject: Avoid writing target device config to DB if it hasn't changed [Pablo Carranza Velez] - version: 4.2.1 date: 2017-04-26T00:00:00.000Z commits: - subject: Fix an infinite loop that could happen when trying to bootstrap if the key exchange fails [Pagan Gazzard] - subject: Fix the case of being registered with a version of the cli/sdk that does not support device api keys. [Pagan Gazzard] - version: 4.2.0 date: 2017-04-24T00:00:00.000Z commits: - subject: Add handling for duplicate UUIDs and key exchanging for old user-api-keys [Pagan Gazzard] - subject: Change to the new device registration method to exchange our provisioning key with a dedicated api key for the device. [Pagan Gazzard] - subject: "Docs/API.md: Fix documentation command sent via the API proxy for POST /v1/update. [Horia Delicoti]" - version: 4.1.2 date: 2017-04-10T00:00:00.000Z commits: - subject: "Issue #420: Avoid supervisor crash without connection by properly memoizing promise-returning functions [Pablo Carranza Velez]" - subject: Report the OS variant as a separate field and not as part of the OS version [Pablo Carranza Velez] - version: 4.1.1 date: 2017-03-30T00:00:00.000Z commits: - subject: "Issue #413: Fix an error applying the connectivity check config var [Pablo Carranza Velez]" - subject: "Issue #410: Cleanup images before running an update, preserving the ones that will be used in the target state [Pablo Carranza Velez]" - version: 4.1.0 date: 2017-03-29T00:00:00.000Z commits: - subject: Authentication credentials for registry and delta server [Andreas Fitzek] - subject: "Issue #402: Ensure that app configs are non-null and valid json objects [Pablo Carranza Velez]" - subject: Report OS variant to the API together with the OS version [Pablo Carranza Velez] - subject: "Issue #230: Add a custom User-Agent header to all requests [Pablo Carranza Velez]" - subject: Update waffle badge [Sabith] - version: 4.0.0 date: 2017-03-09T00:00:00.000Z commits: - subject: "Issue #396: Log when we're rebooting due to a device config change [Pablo Carranza Velez]" - subject: "Issue #20: Change the update lock to a temporary filesystem [Pablo Carranza Velez]" - subject: Make local mode only work in development OS, and make it remove app containers and allow unauthenticated API requests [Pablo Carranza Velez] - subject: Restore default value when clearing a special action config variable [Pablo Carranza Velez] - subject: Allow all config variables to take truthy or falsy values [Pablo Carranza Velez] - subject: Allow setting the supervisor to a "local mode" which stops apps and prevents cleanup [Pablo Carranza Velez] - subject: "Issues #23 and #236: Use docker logs to get all logs from the container, including those before supervisor start [Pablo Carranza Velez]" - subject: "Issues #389 and #390: Remove /host_run/dbus and /host/var/lib/connman bind mounts for non-ResinOS-1.X devices [Pablo Carranza Velez]" - subject: "Issue #386: Allow forcing updates when an update was already scheduled [Pablo Carranza Velez]" - version: 3.0.1 date: 2017-02-15T00:00:00.000Z commits: - subject: "Issue #381: Set target deviceConfig values from preloaded apps [Pablo Carranza Velez]" - version: 3.0.0 date: 2017-01-18T00:00:00.000Z commits: - subject: "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]" - subject: Update versionist to v2.8.0 [Pablo Carranza Velez] - subject: Update docker-progress to v2.3.3 [Pablo Carranza Velez] - subject: Switch to aufs for the docker-in-docker development supervisor [Pablo Carranza Velez] - subject: Do not bind mount kmod if the host is not Resin OS 1.X [Pablo Carranza Velez] - version: 2.9.0 date: 2016-12-20T00:00:00.000Z commits: - subject: Bump docker-delta to v1.0.1 to fix deltas on aufs when there's many layers [Pablo Carranza Velez] - subject: Document dependent apps feature [curcuz] - version: 2.8.5 date: 2016-12-20T00:00:00.000Z commits: - subject: Fix error applying device configuration because deviceConfig table is empty [Pablo Carranza Velez] - subject: Make the base image hash more deterministic [Pablo Carranza Velez] - version: 2.8.4 date: 2016-12-16T00:00:00.000Z commits: - subject: Use versionist's default configuration [Pablo Carranza Velez] - subject: Build the base image together with the supervisor [Pablo Carranza Velez] - subject: Start using versionist for versioning and changelog [Pablo Carranza Velez] - subject: Bump the MAX_BASIS_DIRS limit for rsync [Michal Mazurek] - version: 2.8.3 date: 2016-11-23T00:00:00.000Z commits: - subject: Fallback to DROP when iptables REJECT is not available [Pablo Carranza Velez] - version: 2.8.2 date: 2016-11-07T00:00:00.000Z commits: - subject: Update the supervisor base to 20161103 to include the i386 fix [Pablo Carranza Velez] - subject: Fix an error when trying to call logSystemEvent with an undefined app [Pagan Gazzard] - subject: Fix nodejs for the i386 architectures [Theodor Gherzan] - subject: Provide a better error message when app is not found for purging [Pablo Carranza Velez] - subject: Only iterate through remote apps to set device config [Pablo Carranza Velez] - version: 2.8.1 date: 2016-10-31T00:00:00.000Z commits: - subject: Properly delete dependent apps and their corresponding devices [Pablo Carranza Velez] - version: 2.8.0 date: 2016-10-30T00:00:00.000Z commits: - subject: Add HostConfig in container create instead of start [Pablo Carranza Velez] - subject: Make it clear in logs when container was already running [Pablo Carranza Velez] - subject: Stop all apps before rebooting or shutting down [Pablo Carranza Velez] - subject: Update request-progress to v2.0.1 [Pablo Carranza Velez] - version: 2.7.1 date: 2016-10-24T00:00:00.000Z commits: - subject: Use multiArgs to promisify gosuper requests [Pablo Carranza Velez] - subject: Also make it explicit in mixpanel events when it's a full image download [Pablo Carranza Velez] - subject: Log whether deltas are being used when downloading an app [Pablo Carranza Velez] - version: 2.7.0 date: 2016-10-23T00:00:00.000Z commits: - subject: Upgrade docker-progress to v2.3.1 [Pablo Carranza Velez] - subject: Fixed multiple update loops appearing after a long period of updates failing. [Pagan Gazzard] - subject: Avoid restarting the app if the device name changes [Pablo Carranza Velez] - subject: Use appId in dependent app assets tar path, and only create the tar if it doesn't exist [Pablo Carranza Velez] - subject: Support AUFS by upgrading node-docker-delta to 1.0.0 and docker-toolbelt to 1.3.0 [Pablo Carranza Velez] - subject: Send the uuid as distinct_id for mixpanel events [Pablo Carranza Velez] - subject: "gosuper: support i386 platforms without MMX instructions [Petros Angelatos]" - version: 2.6.3 date: 2016-10-13T00:00:00.000Z commits: - subject: Properly set device name, and set undefined arguments to setConfig as null [Pablo Carranza Velez] - version: 2.6.2 date: 2016-10-11T00:00:00.000Z commits: - subject: Updated knex to ~0.12.3 - version: 2.6.1 date: 2016-10-11T00:00:00.000Z commits: - subject: Do not use parsed JSON to compare dep. device state [Pablo Carranza Velez] - version: 2.6.0 date: 2016-10-10T00:00:00.000Z commits: - subject: Fix docker utils getImageEnv by correctly parsing the returned array [Pablo Carranza Velez] - subject: Avoid installing npm dependencies twice [Pablo Carranza Velez] - subject: Updated to bluebird 3 [Pagan Gazzard] - subject: Better parameter handling in PUT /v1/devices/:uuid [Pablo Carranza Velez] - subject: An update hook response of 200 will cause the proxyvisor to stop pinging the hook [Pablo Carranza Velez] - subject: Allow deleting dependent apps and devices [Pablo Carranza Velez] - subject: Implement delete dependent device hook [Pablo Carranza Velez] - subject: Omit some fields when responding with a device object [Pablo Carranza Velez] - subject: Add validation to dependent device provisioning [Pablo Carranza Velez] - version: 2.5.2 date: 2016-10-07T00:00:00.000Z commits: - subject: Removed obsolete resolv.conf bind-mount [Petros Angelatos] - subject: Updated to pinejs-client 2 [Pagan Gazzard] - version: 2.5.1 date: 2016-10-06T00:00:00.000Z commits: - subject: Store config vars when there's nothing else to update [Pablo Carranza Velez] - subject: Do not mark an update as failed if the hook failed [Pablo Carranza Velez] - subject: When hitting the dependent devices hook, send appId as int [Pablo Carranza Velez] - subject: Updated to lodash 4 [Pagan Gazzard] - subject: Updated to coffeescript 1.11 [Pagan Gazzard] - subject: In delete-then-download, only delete when a download is needed [Pablo Carranza Velez] - subject: Compare config vars to trigger an app restart [Pablo Carranza Velez] - subject: Fix disabling logs to display on newer OS with different service name [Pablo Carranza Velez] - subject: In cleanup, normalize all image tags for comparison [Pablo Carranza Velez] - subject: Use getRegistryAndName from docker-toolbelt 1.2.0 [Pablo Carranza Velez] - version: 2.5.0 date: 2016-10-01T00:00:00.000Z commits: - subject: Switch to v2 api to be able to set is_online [Pagan Gazzard] - subject: Implement proxyvisor API with dependent device handling [Pablo Carranza Velez] - subject: Use the state endpoint from the API to get the full device state [Pablo Carranza Velez] - subject: Add a deviceConfig db table to store host config separately, and allow deleting config.txt entries [Pablo Carranza Velez] - subject: 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] - subject: Add missing error handler on a stream in docker-utils [Pablo Carranza Velez] - version: 2.4.0 date: 2016-09-30T00:00:00.000Z commits: - subject: On cleanup, force removal for images and containers, and remove container volumes [Pablo Carranza Velez] - subject: Add system logs for Shutdown, Reboot and Purge [Pablo Carranza Velez] - version: 2.3.0 date: 2016-09-26T00:00:00.000Z commits: - subject: Implement delete-then-download update strategy [Pablo Carranza Velez] - subject: Bump node-docker-delta to 0.0.12 [Pablo, Kostas] - version: 2.2.1 date: 2016-09-26T00:00:00.000Z commits: - subject: Fix ENV bug in build process [Petros Angelatos] - version: 2.2.0 date: 2016-09-23T00:00:00.000Z commits: - subject: Add resin-vpn interface IP filtering to gosupervisor [Praneeth] - subject: Compress go binary with upx [Petros Angelatos] - subject: Switch to go version 1.6 [Petros Angelatos] - subject: Print all logs to stdout of container instead of file [Petros Angelatos] - subject: Upgrade nodejs to version 6.5 [Petros Angelatos] - subject: Switch initsystem from supervisor to busybox init [Petros Angelatos] - subject: Switch build to openembedded base images [Petros Angelatos] - subject: DRY up calls to gosuper API, and use empty Host header [Pablo Carranza Velez] - version: 2.1.1 date: 2016-09-09T00:00:00.000Z commits: - subject: Add iptables rules to allow resin-vpn named interface to be used by VPN [Praneeth] - subject: Updated to coffee-script ~1.10.0 [Pagan Gazzard] - subject: Catch exec format error and provide friendlier error message [Aleksis] - version: 2.1.0 date: 2016-09-05T00:00:00.000Z commits: - subject: Pick up new variable from hostOS, pointing to the mount point of the hostOS's boot partition [Theodor Gherzan] - version: 2.0.0 date: 2016-08-31T00:00:00.000Z commits: - subject: "**[Breaking]** Change the logger to send at a specific interval and with a different message format [Pablo Carranza Velez]" - version: 1.14.0 date: 2016-08-16T00:00:00.000Z commits: - subject: Allow using an HTTP header for auth [Pablo Carranza Velez] - subject: Add iptables rules to block requests to the supervisor API from all interfaces except vpn, docker and local [Pablo Carranza Velez] - version: 1.13.2 date: 2016-08-09T00:00:00.000Z commits: - subject: "bootstrap: if offlineMode is enabled, persist only the uuid [Petros Angelatos]" - version: 1.13.1 date: 2016-07-28T00:00:00.000Z commits: - subject: Using `links` in compose files is now allowed [Petros Angelatos] - version: 1.13.0 date: 2016-07-27T00:00:00.000Z commits: - subject: Allow the supervisor to work in offline mode [Pablo Carranza Velez] - subject: Fix duplicate logs issue [Kostas Lekkas] - subject: "**[Breaking]** Do not bind mount /run/dbus to /run/dbus [Pablo Carranza Velez]" - subject: Default to not bind mounting kmod if container distro can't be found [Pablo Carranza Velez] - subject: Use log-timestamp to add timestamps to logs [Pablo Carranza Velez] - version: 1.12.2 date: 2016-07-15T00:00:00.000Z commits: - subject: Bind mount kmod if the container is debian or raspbian [Pablo Carranza Velez] - version: 1.12.1 date: 2016-07-08T00:00:00.000Z commits: - subject: Fix preloaded apps by passing appId to extendEnvVars - version: 1.12.0 date: 2016-06-28T00:00:00.000Z commits: - subject: Add endpoints for docker-compose up and down [Pablo Carranza Velez] - version: 1.11.6 date: 2016-06-23T00:00:00.000Z commits: - subject: Fixed deltas for older docker daemon versions [Petros Angelatos] - version: 1.11.5 date: 2016-06-23T00:00:00.000Z commits: - subject: Fix entry.sh when DOCKER_ROOT isn't set [Pagan Gazzard] - version: 1.11.4 date: 2016-06-17T00:00:00.000Z commits: - subject: Cleanup docker images if delta failed [Petros Angelatos] - subject: Make the data path configurable [Pablo Carranza Velez] - version: 1.11.3 date: 2016-06-11T00:00:00.000Z commits: - subject: Add listener for container events and reattach on restart [Pablo Carranza Velez] - subject: fix deltas by not using the supervisor as source [Pablo Carranza Velez] - version: 1.11.2 date: 2016-06-10T00:00:00.000Z commits: - subject: fix delta error handling by listening for the 'error' event [Petros Angelatos] - version: 1.11.1 date: 2016-06-09T00:00:00.000Z commits: - subject: Use sh for postinstall as alpine has no bash [Pablo Carranza Velez] - subject: update docker-delta to 0.0.8 [Petros Angelatos] - subject: symlink docker root to default path if not already there [Petros Angelatos] - version: 1.11.0 date: 2016-06-07T00:00:00.000Z commits: - subject: Add restart policies and change default to auto-restart [Aleksis] - version: 1.10.1 date: 2016-06-07T00:00:00.000Z commits: - subject: Switch to docker-delta library to use deltas v2 [Petros Angelatos] - subject: Correctly compare container image name on cleanup [Pablo Carranza Velez] - subject: Log useful supervisor info to stdout/stderr [Kostas Lekkas] - version: 1.10.0 date: 2016-05-26T00:00:00.000Z commits: - subject: Fix progress bars on docker version 1.10 [Aleksis] - version: 1.9.0 date: 2016-05-24T00:00:00.000Z commits: - subject: Fix reporting of supervisor version for alpine supervisor [Pablo Carranza Velez] - subject: Use rwlock to block when pulling images [Pablo Carranza Velez] - subject: Increase API timeout to 15 minutes, and make it configurable [Pablo Carranza Velez] - subject: Add endpoint to load images from a docker save tar [Pablo Carranza Velez] - subject: Add alpine supervisor build information [Trong] - subject: Add endpoints to manage images and containers locally [Pablo Carranza Velez] - subject: Only use bodyParser for endpoints that need it [Pablo Carranza Velez] - subject: Add RESIN_APP_ID variable [Pablo Carranza Velez] - subject: Increase delta request timeout to 15 minutes [Pablo Carranza Velez] - version: 1.8.0 date: 2016-04-25T00:00:00.000Z commits: - subject: Add endpoints to start, stop and get app [Pablo, Kostas] - subject: Removed a bunch ofobsolete code for the old terminal, reducing the supervisor size considerably. [Pagan Gazzard] - version: 1.7.0 date: 2016-03-28T00:00:00.000Z commits: - subject: Add RESIN_HOST_LOG_TO_DISPLAY variable [Pablo Carranza Velez] - subject: Add system logs for special actions and host config [Pablo Carranza Velez] - subject: Fix setting config.txt for RPi 3 [Pablo Carranza Velez] - subject: Fix saving config vars to DB before reboot [Pablo Carranza Velez] - subject: Bind mount host /var/lib/connman to application /host_var/lib/connman [Aleksis] - subject: Add RESIN_SUPERVISOR_DELTA to special list so that app is not restarted when it changes [Pablo Carranza Velez] - version: 1.6.1 date: 2016-03-08T00:00:00.000Z commits: - subject: Reduce noise in logs [Kostas Lekkas] - version: 1.6.0 date: 2016-02-22T00:00:00.000Z commits: - subject: Add endpoint to get device state [Pablo Carranza Velez] - subject: Check for valid strings or ints in all config values [Pablo Carranza Velez] - subject: Remove quotes in OS version [Pablo Carranza Velez] - version: 1.5.0 date: 2016-02-09T00:00:00.000Z commits: - subject: Add support for delta image download [petrosagg and Pablo] - version: 1.4.0 date: 2016-01-28T00:00:00.000Z commits: - subject: Report Host OS version to the API [Pablo Carranza Velez] - subject: Use _.defaults instead of _.extend to ensure internal env vars are not overwritten [Pablo Carranza Velez] - subject: Expose resin API key to apps [Pablo Carranza Velez] - subject: On download start, set download_progress to 0. On finish, set state to Idle [Pablo Carranza Velez] - subject: Set GOARM separately for each architecture [Pablo Carranza Velez] - subject: Add armv5 (armel) build [Trong] - subject: Add OOM protection for the supervisor container, openvpn and connmand [Praneeth] - version: 1.3.2 date: 2015-12-17T00:00:00.000Z commits: - subject: Do not report the tun addresses to API [Praneeth] - version: 1.3.1 date: 2015-12-07T00:00:00.000Z commits: - subject: Only save the app if starting the container was successful [Pablo Carranza Velez] - version: 1.3.0 date: 2015-12-01T00:00:00.000Z commits: - subject: Remove volumes when removing a container [Pablo Carranza Velez] - subject: Refactor the still undocumented special env vars into RESIN_SUPERVISOR_ [Pablo Carranza Velez] - subject: Implement several update strategies (kill before download, 0-downtime) [Pablo Carranza Velez] - subject: Fix the error that comes up when no ip addresses are returned by gosuper [Praneeth] - subject: Switched to docker-progress for pull progress. [Pagan Gazzard] - subject: Fix semver versioning in tcp-ping endpoint. [Praneeth] - version: 1.2.1 date: 2015-11-04T00:00:00.000Z commits: - subject: Use random name for PubNub channel and report to API [Pablo Carranza Velez] - version: 1.2.0 date: 2015-10-16T00:00:00.000Z commits: - subject: Don't bind mount (the sometimes non-existent) docker.sock [Pablo Carranza Velez] - subject: Expose a RESIN_SUPERVISOR_VERSION env var to app [Pablo Carranza Velez] - version: 1.1.1 date: 2015-10-15T00:00:00.000Z commits: - subject: Prevent non-fatal errors from causing the supervisor to exit [Lorenzo] - subject: Use buildtime env vars as the default Pubnub and Mixpanel keys [Pablo Carranza Velez] - version: 1.1.0 date: 2015-10-09T00:00:00.000Z commits: - subject: Switch back to using arch-based node images [Pablo Carranza Velez] - subject: Don't allow bootstrap to delete apiSecret from DB [Pablo Carranza Velez] - subject: Add API endpoint to expire and create new API key [Pablo Carranza Velez] - subject: Enable control of API poll interval through Device Variables [Praneeth] - subject: Allow control of VPN + TCP check + Pub nub logs with Device Environment variables [Praneeth] - subject: Add GO api for openvpn control [Praneeth] - version: 1.0.2 date: 2015-10-08T00:00:00.000Z commits: - subject: Fix getting API key from DB by returning its .value [Pablo Carranza Velez] - version: 1.0.1 date: 2015-10-07T00:00:00.000Z commits: - subject: Pass supervisor API key to app, don't regenerate the key, and authenticate ALL requests [Pablo Carranza Velez] - subject: Use raspberrypi2 base image for armv7hf [Pablo Carranza Velez] - subject: "Bugfix: wrap all errors from update as Error objects - prevents image cleanup on download failures [Pablo Carranza Velez]" - subject: Wait 10 seconds after sending SIGTERM and before sending SIGKILL when stopping a container [Petros Angelatos] - version: 1.0.0 date: 2015-10-02T00:00:00.000Z commits: - subject: 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] - subject: Only apply special actions / boot config on change, and always persist to DB [Pablo Carranza Velez] - version: 0.0.18 date: 2015-10-01T00:00:00.000Z commits: - subject: Fix preloaded apps so that they have the complete environment [Pablo Carranza Velez] - version: 0.0.17 date: 2015-09-29T00:00:00.000Z commits: - subject: Updated bases image to board-specific, and all node versions to 0.10.40-slim [Pablo Carranza Velez] - subject: Allow changing RPi config.txt with environment variables [Pablo Carranza Velez] - subject: Allow special env vars with a callback which don't cause an app restart [Pablo and Praneeth] - subject: Remove unused config.supervisorContainer in config.coffee [Praneeth] - subject: Implement and use golang endpoint for getting IPs of the device, also fixes duplicate IP reporting in the JS implementation [Praneeth] - subject: Refactor bootstrapping to run in background [Pablo Carranza Velez] - subject: Run preloaded app images [Pablo Carranza Velez] - subject: Add API endpoints for device reboot and shutdown [Pablo Carranza Velez] - subject: Add /restart endpoint to restart container [Pablo Carranza Velez] - subject: Add additional mount point for the host dbus on host_run/dbus [Praneeth] - subject: Switch to golang 1.5.1 for compiling [Praneeth] - subject: Allow /purge to be called with appId as string or number [Pablo Carranza Velez] - subject: Fetch containerId from DB within lock [Pablo Carranza Velez] - subject: Change update cycle to map by appId [Pablo Carranza Velez] - subject: Allow updates to be forced via an env var or an API call [Pablo Carranza Velez] - subject: Use lockfile to lock updates per app [Pablo Carranza Velez] - version: 0.0.16 date: 2015-09-07T00:00:00.000Z commits: - subject: Disabled the TCP ping whilst the VPN is connected. [Praneeth] - subject: Added TCP ping enable/disable endpoints. [Praneeth] - subject: Added initial go supervisor, using it to purge the /data directory of apps. [Pablo Carranza Velez] - subject: Mounted /lib/firmware into the user container. [Pablo Carranza Velez] - subject: Fixed spaces in env vars for web terminal. [Petros] - subject: Added missing return when no app id specified. [Pablo Carranza Velez] - subject: Try to populate the docker cache before building. [Pagan Gazzard] - version: 0.0.15 date: 2015-07-23T00:00:00.000Z commits: - subject: Make resolv.conf writable from a user container. [Praneeth] - subject: Updated pubnub (3.7.13 doesn't seem to have the heartbeat unnecessarily) - subject: Fixed an issue where an image would not be cleaned up if it was tagged in multiple repos. [Pagan Gazzard] - subject: Use JOBS=MAX for npm install. [Pagan Gazzard] - subject: Updated pinejs-client so that valid ssl certificates are enforced by default. [Pagan Gazzard] - subject: 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] - version: 0.0.14 date: 2015-05-12T00:00:00.000Z commits: - subject: Clean up tmp files left behind by npm [Pagan Gazzard] - subject: Fix an error where mixpanel events would have the wrong uuid set on first provision. [Pagan Gazzard] - subject: 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] - subject: Stop caching config.json, avoids a race that could cause getting stuck repeatedly trying to register [Pagan Gazzard] - version: 0.0.13 date: 2015-05-05T00:00:00.000Z commits: - subject: Bind mount /etc/resolv.conf as ro for application containers and supervisor [Praneeth] - version: 0.0.12 date: 2015-04-15T00:00:00.000Z commits: - subject: Stopped displaying an error message when trying to start a container that is already started. - subject: Improved error messages reported to the user in the case of finding an empty string. - subject: Switched to using the dockerode pull progress mechanism. - subject: Fixed trying to delete supervisor container when it reports an alternate tag instead of the primary tag. - subject: Switched to using the i386-node image as a base for the i386-supervisor - subject: Fixed reporting error objects to mixpanel.