Full Code of balena-io/etcher for AI

master a79db1db6b94 cached
126 files
2.1 MB
552.0k tokens
328 symbols
1 requests
Download .txt
Showing preview only (2,205K chars total). Download the full file or copy to clipboard to get everything.
Repository: balena-io/etcher
Branch: master
Commit: a79db1db6b94
Files: 126
Total size: 2.1 MB

Directory structure:
gitextract_w2glr8_c/

├── .dockerignore
├── .editorconfig
├── .eslintrc.js
├── .gitattributes
├── .github/
│   ├── ISSUE_TEMPLATE.md
│   ├── actions/
│   │   ├── publish/
│   │   │   └── action.yml
│   │   └── test/
│   │       └── action.yml
│   └── workflows/
│       ├── flowzone.yml
│       └── winget.yml
├── .gitignore
├── .nvmrc
├── .prettierrc.js
├── .versionbot/
│   └── CHANGELOG.yml
├── CHANGELOG.md
├── LICENSE
├── README.md
├── after-install.tpl
├── assets/
│   ├── dmg/
│   │   └── background.tiff
│   └── icon.icns
├── docs/
│   ├── ARCHITECTURE.md
│   ├── COMMIT-GUIDELINES.md
│   ├── CONTRIBUTING.md
│   ├── FAQ.md
│   ├── MAINTAINERS.md
│   ├── MANUAL-TESTING.md
│   ├── PUBLISHING.md
│   ├── SUPPORT.md
│   └── USER-DOCUMENTATION.md
├── entitlements.mac.plist
├── forge.config.ts
├── forge.sidecar.ts
├── lib/
│   ├── gui/
│   │   ├── app/
│   │   │   ├── app.ts
│   │   │   ├── components/
│   │   │   │   ├── drive-selector/
│   │   │   │   │   └── drive-selector.tsx
│   │   │   │   ├── drive-status-warning-modal/
│   │   │   │   │   └── drive-status-warning-modal.tsx
│   │   │   │   ├── finish/
│   │   │   │   │   └── finish.tsx
│   │   │   │   ├── flash-another/
│   │   │   │   │   └── flash-another.tsx
│   │   │   │   ├── flash-results/
│   │   │   │   │   └── flash-results.tsx
│   │   │   │   ├── progress-button/
│   │   │   │   │   └── progress-button.tsx
│   │   │   │   ├── reduced-flashing-infos/
│   │   │   │   │   └── reduced-flashing-infos.tsx
│   │   │   │   ├── safe-webview/
│   │   │   │   │   └── safe-webview.tsx
│   │   │   │   ├── settings/
│   │   │   │   │   └── settings.tsx
│   │   │   │   ├── source-selector/
│   │   │   │   │   └── source-selector.tsx
│   │   │   │   ├── svg-icon/
│   │   │   │   │   └── svg-icon.tsx
│   │   │   │   └── target-selector/
│   │   │   │       ├── target-selector-button.tsx
│   │   │   │       └── target-selector.tsx
│   │   │   ├── css/
│   │   │   │   └── main.css
│   │   │   ├── i18n/
│   │   │   │   ├── README.md
│   │   │   │   ├── en.ts
│   │   │   │   ├── zh-CN.ts
│   │   │   │   └── zh-TW.ts
│   │   │   ├── i18n.ts
│   │   │   ├── index.html
│   │   │   ├── models/
│   │   │   │   ├── available-drives.ts
│   │   │   │   ├── flash-state.ts
│   │   │   │   ├── leds.ts
│   │   │   │   ├── selection-state.ts
│   │   │   │   ├── settings.ts
│   │   │   │   └── store.ts
│   │   │   ├── modules/
│   │   │   │   ├── analytics.ts
│   │   │   │   ├── api.ts
│   │   │   │   ├── exception-reporter.ts
│   │   │   │   ├── image-writer.ts
│   │   │   │   └── progress-status.ts
│   │   │   ├── os/
│   │   │   │   ├── dialog.ts
│   │   │   │   ├── notification.ts
│   │   │   │   ├── open-external/
│   │   │   │   │   └── services/
│   │   │   │   │       └── open-external.ts
│   │   │   │   ├── window-progress.ts
│   │   │   │   └── windows-network-drives.ts
│   │   │   ├── pages/
│   │   │   │   └── main/
│   │   │   │       ├── Flash.tsx
│   │   │   │       └── MainPage.tsx
│   │   │   ├── preload.ts
│   │   │   ├── renderer.ts
│   │   │   ├── styled-components.tsx
│   │   │   ├── theme.ts
│   │   │   └── utils/
│   │   │       ├── etcher-pro-specific.ts
│   │   │       └── middle-ellipsis.ts
│   │   ├── etcher.ts
│   │   ├── menu.ts
│   │   └── webapi.ts
│   ├── shared/
│   │   ├── drive-constraints.ts
│   │   ├── errors.ts
│   │   ├── exit-codes.ts
│   │   ├── messages.ts
│   │   ├── permissions.ts
│   │   ├── sudo/
│   │   │   ├── darwin.ts
│   │   │   ├── linux.ts
│   │   │   ├── sudo-askpass.osascript-en.js
│   │   │   ├── sudo-askpass.osascript-zh.js
│   │   │   └── windows.ts
│   │   ├── supported-formats.ts
│   │   ├── units.ts
│   │   └── utils.ts
│   └── util/
│       ├── api.ts
│       ├── child-writer.ts
│       ├── drive-scanner.ts
│       ├── scanner.ts
│       ├── source-metadata.ts
│       └── types/
│           └── types.d.ts
├── npm-shrinkwrap.json
├── package.json
├── pkg-sidecar.json
├── repo.yml
├── tests/
│   ├── .eslintrc.yml
│   ├── data/
│   │   └── wmic-output.txt
│   ├── gui/
│   │   ├── allow-renderer-process-reuse.ts
│   │   ├── models/
│   │   │   ├── available-drives.spec.ts
│   │   │   ├── flash-state.spec.ts
│   │   │   ├── selection-state.spec.ts
│   │   │   └── settings.spec.ts
│   │   ├── modules/
│   │   │   ├── image-writer.spec.ts
│   │   │   └── progress-status.spec.ts
│   │   ├── os/
│   │   │   ├── window-progress.spec.ts
│   │   │   └── windows-network-drives.spec.ts
│   │   ├── utils/
│   │   │   └── middle-ellipsis.spec.ts
│   │   └── window-config.json
│   ├── shared/
│   │   ├── drive-constraints.spec.ts
│   │   ├── errors.spec.ts
│   │   ├── messages.spec.ts
│   │   ├── supported-formats.spec.ts
│   │   ├── units.spec.ts
│   │   └── utils.spec.ts
│   └── test.e2e.ts
├── tsconfig.json
├── tsconfig.sidecar.json
├── wdio.conf.ts
└── webpack.config.ts

================================================
FILE CONTENTS
================================================

================================================
FILE: .dockerignore
================================================
*
!requirements.txt


================================================
FILE: .editorconfig
================================================
# editorconfig.org
root = true

[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true

[*.md]
trim_trailing_whitespace = false

[Makefile]
indent_style = tab

[*.ts]
indent_style = tab

[*.tsx]
indent_style = tab


================================================
FILE: .eslintrc.js
================================================
module.exports = {
  extends: ["./node_modules/@balena/lint/config/.eslintrc.js"],
  root: true,
  ignorePatterns: ["node_modules/"],
  rules: {
    "@typescript-eslint/no-floating-promises": "off",
    "@typescript-eslint/no-var-requires": "off",
    "@typescript-eslint/ban-ts-comment": "off",
  },
};


================================================
FILE: .gitattributes
================================================
# default
* text

# Javascript files must retain LF line-endings (to keep eslint happy)
*.js text eol=lf
*.jsx text eol=lf
*.ts text eol=lf
*.tsx text eol=lf
# CSS and SCSS files must retain LF line-endings (to keep ensure-staged-sass.sh happy)
*.css text eol=lf
*.scss text eol=lf

# Text files
Dockerfile* text
.dockerignore text
.editorconfig text
etcher text
.git* text
*.html text
*.json text eol=lf
*.cpp text
*.h text
*.gyp text
LICENSE text
Makefile text
*.md text
*.sh text
*.bat text
*.svg text
*.yml text
*.patch text
*.txt text
*.tpl text
CODEOWNERS text
*.plist text

# Binary files (no line-ending conversions)
*.bz2 binary diff=hex
*.gz binary diff=hex
*.icns binary diff=hex
*.ico binary diff=hex
*.tiff binary diff=hex
*.img binary diff=hex
*.iso binary diff=hex
*.png binary diff=hex
*.bin binary diff=hex
*.elf binary diff=hex
*.xz binary diff=hex
*.zip binary diff=hex
*.dtb binary diff=hex
*.dtbo binary diff=hex
*.dat binary diff=hex
*.bin binary diff=hex
*.dmg binary diff=hex
*.rpi-sdcard binary diff=hex
*.wic binary diff=hex
*.foo binary diff=hex
*.eot binary diff=hex
*.otf binary diff=hex
*.woff binary diff=hex
*.woff2 binary diff=hex
*.ttf binary diff=hex
xz-without-extension binary diff=hex
wmic-output.txt binary diff=hex


================================================
FILE: .github/ISSUE_TEMPLATE.md
================================================
- **Etcher version:** 
- **Operating system and architecture:** 
- **Image flashed:** 
- **What do you think should have happened:** <!-- or a step by step reproduction process -->
- **What happened:**
- **Do you see any meaningful error information in the DevTools?** 
<!-- You can open DevTools by pressing `Ctrl+Shift+I` (`Ctrl+Alt+I` for Etcher before v1.3.x), or `Cmd+Opt+I` if you're on macOS. -->

<!-- issues with missing information will be labeled as not-enough-info and closed shortly -->
<!-- please try to include as many influencing elements as possible are you root, does any other process block the device, etc. -->
<!-- if you find a solution in the meantime thank you for sharing the fix and not just closing / abandoning your issue -->


================================================
FILE: .github/actions/publish/action.yml
================================================
---
name: package and publish GitHub (draft) release
# https://github.com/product-os/flowzone/tree/master/.github/actions
inputs:
  json:
    description: 'JSON stringified object containing all the inputs from the calling workflow'
    required: true
  secrets:
    description: 'JSON stringified object containing all the secrets from the calling workflow'
    required: true

  # --- custom environment
  NODE_VERSION:
    type: string
    # Beware that native modules will be built for this version,
    # which might not be compatible with the one used by pkg (see forge.sidecar.ts)
    # https://github.com/vercel/pkg-fetch/releases
    default: '20.19'
  VERBOSE:
    type: string
    default: 'true'

runs:
  # https://docs.github.com/en/actions/creating-actions/creating-a-composite-action
  using: 'composite'
  steps:
    - name: Download custom source artifact
      uses: actions/download-artifact@v4
      with:
        name: custom-${{ github.event.pull_request.head.sha || github.event.head_commit.id }}-${{ runner.os }}-${{ runner.arch }}
        path: ${{ runner.temp }}

    - name: Extract custom source artifact
      if: runner.os != 'Windows'
      shell: bash
      working-directory: .
      run: tar -xf ${{ runner.temp }}/custom.tgz

    - name: Extract custom source artifact
      if: runner.os == 'Windows'
      shell: pwsh
      working-directory: .
      run: C:\"Program Files"\Git\usr\bin\tar.exe --force-local -xf ${{ runner.temp }}\custom.tgz

    - name: Setup Node.js
      uses: actions/setup-node@v3
      with:
        node-version: ${{ inputs.NODE_VERSION }}
        cache: npm

    - name: Install host dependencies
      if: runner.os == 'Linux'
      shell: bash
      run: sudo apt-get install -y --no-install-recommends fakeroot dpkg rpm

    # rpmbuild will strip binaries by default, which breaks the sidecar.
    # Use a macro to override the "strip" to bypass stripping.
    - name: Configure rpmbuild to not strip executables
      if: runner.os == 'Linux'
      shell: bash
      run: echo '%__strip  /usr/bin/true' > ~/.rpmmacros

    - name: Install host dependencies
      if: runner.os == 'macOS'
      # FIXME: Python 3.12 dropped distutils that node-gyp depends upon.
      # This is a temporary workaround to make the job use Python 3.11 until
      # we update to npm 10+.
      uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435 # v4
      with:
        python-version: '3.11'

    # https://www.electron.build/code-signing.html
    # https://dev.to/rwwagner90/signing-electron-apps-with-github-actions-4cof
    - name: Import Apple code signing certificate
      if: runner.os == 'macOS'
      shell: bash
      run: |
        KEY_CHAIN=build.keychain
        CERTIFICATE_P12=certificate.p12

        # Recreate the certificate from the secure environment variable
        echo $CERTIFICATE_P12_B64 | base64 --decode > $CERTIFICATE_P12

        # Create a keychain
        security create-keychain -p actions $KEY_CHAIN

        # Make the keychain the default so identities are found
        security default-keychain -s $KEY_CHAIN

        # Unlock the keychain
        security unlock-keychain -p actions $KEY_CHAIN

        security import $CERTIFICATE_P12 -k $KEY_CHAIN -P $CERTIFICATE_PASSWORD -T /usr/bin/codesign

        security set-key-partition-list -S apple-tool:,apple: -s -k actions $KEY_CHAIN

        # remove certs
        rm -fr *.p12
      env:
        CERTIFICATE_P12_B64: ${{ fromJSON(inputs.secrets).APPLE_SIGNING }}
        CERTIFICATE_PASSWORD: ${{ fromJSON(inputs.secrets).APPLE_SIGNING_PASSWORD }}

    - name: Import Windows code signing certificate
      if: runner.os == 'Windows'
      id: import_win_signing_cert
      shell: powershell
      run: |
        Set-Content -Path ${{ runner.temp }}/certificate.base64 -Value $env:SM_CLIENT_CERT_FILE_B64
        certutil -decode ${{ runner.temp }}/certificate.base64 ${{ runner.temp }}/Certificate_pkcs12.p12
        Remove-Item -path ${{ runner.temp }} -include certificate.base64

        echo "certFilePath=${{ runner.temp }}/Certificate_pkcs12.p12" >> $GITHUB_OUTPUT

      env:
        SM_CLIENT_CERT_FILE_B64: ${{ fromJSON(inputs.secrets).SM_CLIENT_CERT_FILE_B64 }}

    - name: Package release
      shell: bash
      # IMPORTANT: before making changes to this step please consult @engineering in balena's chat.
      run: |
        ## FIXME: causes issues with `xxhash` which tries to load a debug build which doens't exist and cannot be compiled
        # if [[ '${{ inputs.VERBOSE }}' =~ on|On|Yes|yes|true|True ]]; then
        #  export DEBUG='electron-forge:*,sidecar'
        # fi

        APPLICATION_VERSION="$(jq -r '.version' package.json)"
        HOST_ARCH="$(echo "${RUNNER_ARCH}" | tr '[:upper:]' '[:lower:]')"

        if [[ "${RUNNER_OS}" == Linux ]]; then
          PLATFORM=Linux
          SHA256SUM_BIN=sha256sum

        elif [[ "${RUNNER_OS}" == macOS ]]; then
          PLATFORM=Darwin
          SHA256SUM_BIN='shasum -a 256'

        elif [[ "${RUNNER_OS}" == Windows ]]; then
          PLATFORM=Windows
          SHA256SUM_BIN=sha256sum

          # Install DigiCert Signing Manager Tools
          curl --silent --retry 3 --fail https://one.digicert.com/signingmanager/api-ui/v1/releases/smtools-windows-x64.msi/download \
            -H "x-api-key:$SM_API_KEY" \
            -o smtools-windows-x64.msi
          msiexec -i smtools-windows-x64.msi -qn
          PATH="/c/Program Files/DigiCert/DigiCert One Signing Manager Tools:${PATH}"
          smksp_registrar.exe list
          smctl.exe keypair ls
          smctl.exe windows certsync
          /c/Windows/System32/certutil.exe -csp "DigiCert Signing Manager KSP" -key -user

          # (signtool.exe) https://github.com/actions/runner-images/blob/main/images/win/Windows2019-Readme.md#installed-windows-sdks
          PATH="/c/Program Files (x86)/Windows Kits/10/bin/${runner_arch}:${PATH}"

        else
          echo "ERROR: unexpected runner OS: ${RUNNER_OS}"
          exit 1
        fi

        # Currently, we can only build for the host architecture.
        npx electron-forge make

        echo "version=${APPLICATION_VERSION}" >> $GITHUB_OUTPUT

        # collect all artifacts from subdirectories under a common top-level directory
        mkdir -p dist
        find ./out/make -type f \( \
          -iname "*.zip" -o        \
          -iname "*.dmg" -o        \
          -iname "*.rpm" -o        \
          -iname "*.deb" -o        \
          -iname "*.AppImage" -o   \
          -iname "*Setup.exe"      \
        \) -ls -exec cp '{}' dist/ \;

        if [[ -n "${SHA256SUM_BIN}" ]]; then
          # Compute and save digests.
          cd dist/
          ${SHA256SUM_BIN} *.* >"SHA256SUMS.${PLATFORM}.${HOST_ARCH}.txt"
        fi
      env:
        # ensure we sign the artifacts
        NODE_ENV: production
        # analytics tokens
        SENTRY_TOKEN: https://739bbcfc0ba4481481138d3fc831136d@o95242.ingest.sentry.io/4504451487301632
        AMPLITUDE_TOKEN: 'balena-etcher'
        # Apple notarization
        XCODE_APP_LOADER_EMAIL: ${{ fromJSON(inputs.secrets).XCODE_APP_LOADER_EMAIL }}
        XCODE_APP_LOADER_PASSWORD: ${{ fromJSON(inputs.secrets).XCODE_APP_LOADER_PASSWORD }}
        XCODE_APP_LOADER_TEAM_ID: ${{ fromJSON(inputs.secrets).XCODE_APP_LOADER_TEAM_ID }}
        # Windows signing
        SM_CLIENT_CERT_PASSWORD: ${{ fromJSON(inputs.secrets).SM_CLIENT_CERT_PASSWORD }}
        SM_CLIENT_CERT_FILE: '${{ runner.temp }}\Certificate_pkcs12.p12'
        SM_HOST: ${{ fromJSON(inputs.secrets).SM_HOST }}
        SM_API_KEY: ${{ fromJSON(inputs.secrets).SM_API_KEY }}
        SM_CODE_SIGNING_CERT_SHA1_HASH: ${{ fromJSON(inputs.secrets).SM_CODE_SIGNING_CERT_SHA1_HASH }}
        TIMESTAMP_SERVER: http://timestamp.digicert.com

    - name: Upload artifacts
      uses: actions/upload-artifact@v4
      with:
        name: gh-release-${{ github.event.pull_request.head.sha || github.event.head_commit.id }}-${{ runner.os }}-${{ runner.arch }}
        path: dist
        retention-days: 1
        if-no-files-found: error


================================================
FILE: .github/actions/test/action.yml
================================================
---
name: test release
# https://github.com/product-os/flowzone/tree/master/.github/actions
inputs:
  json:
    description: 'JSON stringified object containing all the inputs from the calling workflow'
    required: true
  secrets:
    description: 'JSON stringified object containing all the secrets from the calling workflow'
    required: true

  # --- custom environment
  NODE_VERSION:
    type: string
    default: '20.19'
  VERBOSE:
    type: string
    default: 'true'

runs:
  # https://docs.github.com/en/actions/creating-actions/creating-a-composite-action
  using: 'composite'
  steps:
    # https://github.com/actions/setup-node#caching-global-packages-data
    - name: Setup Node.js
      uses: actions/setup-node@v3
      with:
        node-version: ${{ inputs.NODE_VERSION }}
        cache: npm

    - name: Install host dependencies
      if: runner.os == 'Linux'
      shell: bash
      run: |
        sudo apt-get update && sudo apt-get install -y --no-install-recommends xvfb libudev-dev
        cat < package.json | jq -r '.hostDependencies[][]' - | \
          xargs -L1 echo | sed 's/|//g' | xargs -L1 \
          sudo apt-get --ignore-missing install || true

    - name: Install host dependencies
      if: runner.os == 'macOS'
      # FIXME: Python 3.12 dropped distutils that node-gyp depends upon.
      # This is a temporary workaround to make the job use Python 3.11 until
      # we update to npm 10+.
      uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435 # v4
      with:
        python-version: '3.11'

    - name: Test release
      shell: bash
      run: |
        ## FIXME: causes issues with `xxhash` which tries to load a debug build which doens't exist and cannot be compiled
        # if [[ '${{ inputs.VERBOSE }}' =~ on|On|Yes|yes|true|True ]]; then
        #   export DEBUG='electron-forge:*,sidecar'
        # fi

        npm ci

        # as the shrinkwrap might have been done on mac/linux, this is ensure the package is there for windows
        if [[ "$RUNNER_OS" == "Windows" ]]; then
          npm i -D winusb-driver-generator

          # need to modifies @yao-pkg/pkg-fetch
          # expected-shas.json and patches.json files to force use of nodejs v20.11.1 instead of latest minor (v20.19.4 at the time of writing).
          # this is required for Windows compatibility as 20.15.1 introduced a regression that breaks the flasher on Windows.
          # As soon as nodejs the fix is backported to node20 and, or node 22, this script can be removed: https://github.com/nodejs/node/pull/55623
          
          # Add entry to expected-shas.json
          sed -i 's/}$/,\n  "node-v20.11.1-win-x64": "140c377c2c91751832e673cb488724cbd003f01aa237615142cd2907f34fa1a2"\n}/' node_modules/@yao-pkg/pkg-fetch/lib-es5/expected-shas.json

          # Replace any "v20..." key with "v20.11.1" in patches.json (keeps value)
          sed -i -E 's/"v20[^"]*":/"v20.11.1":/' node_modules/@yao-pkg/pkg-fetch/patches/patches.json
        fi

        npm run lint
        npm run package
        npm run wdio # test stage, note that it requires the package to be done first

      env:
        # https://www.electronjs.org/docs/latest/api/environment-variables
        ELECTRON_NO_ATTACH_CONSOLE: 'true'

    - name: Compress custom source
      if: runner.os != 'Windows'
      shell: bash
      run: tar -acf ${{ runner.temp }}/custom.tgz .

    - name: Compress custom source
      if: runner.os == 'Windows'
      shell: pwsh
      run: C:\"Program Files"\Git\usr\bin\tar.exe --force-local -acf ${{ runner.temp }}\custom.tgz .

    - name: Upload custom artifact
      uses: actions/upload-artifact@v4
      with:
        name: custom-${{ github.event.pull_request.head.sha || github.event.head_commit.id }}-${{ runner.os }}-${{ runner.arch }}
        path: ${{ runner.temp }}/custom.tgz
        retention-days: 1


================================================
FILE: .github/workflows/flowzone.yml
================================================
name: Flowzone
on:
  pull_request:
    types: [opened, synchronize, closed]
    branches: [main, master]
  # allow external contributions to use secrets within trusted code
  pull_request_target:
    types: [opened, synchronize, closed]
    branches: [main, master]
jobs:
  flowzone:
    name: Flowzone
    uses: product-os/flowzone/.github/workflows/flowzone.yml@master
    # prevent duplicate workflows and only allow one `pull_request` or `pull_request_target` for
    # internal or external contributions respectively
    if: |
      (github.event.pull_request.head.repo.full_name == github.repository && github.event_name == 'pull_request') ||
      (github.event.pull_request.head.repo.full_name != github.repository && github.event_name == 'pull_request_target')
    secrets: inherit
    with:
      custom_test_matrix: >
        {
          "os": [
            ["ubuntu-22.04"],
            ["windows-2022"],
            ["macos-13"],
            ["macos-latest-xlarge"]
          ]
        }
      custom_publish_matrix: >
        {
          "os": [
            ["ubuntu-22.04"],
            ["windows-2022"],
            ["macos-13"],
            ["macos-latest-xlarge"]
          ]
        }
      restrict_custom_actions: false
      github_prerelease: true
      cloudflare_website: 'etcher'


================================================
FILE: .github/workflows/winget.yml
================================================
name: Publish to WinGet
on:
  release:
    types: [released]
jobs:
  publish:
    runs-on: windows-latest # action can only be run on windows
    steps:
      - uses: vedantmgoyal2009/winget-releaser@v2
        with:
          identifier: Balena.Etcher
          # matches something like "balenaEtcher-1.19.0.Setup.exe"
          installers-regex: 'balenaEtcher-[\d.-]+\.Setup.exe$'
          token: ${{ secrets.WINGET_PAT }}


================================================
FILE: .gitignore
================================================

# -- ADD NEW ENTRIES AT THE END OF THE FILE ---

# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

# Runtime data
pids
*.pid
*.seed
*.pid.lock
.DS_Store

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage
*.lcov

# nyc test coverage
.nyc_output

# node-waf configuration
.lock-wscript

# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release

# Dependency directories
node_modules/
jspm_packages/

# TypeScript v1 declaration files
typings/

# TypeScript cache
*.tsbuildinfo

# Optional npm cache directory
.npm

# Optional eslint cache
.eslintcache

# Optional REPL history
.node_repl_history

# Output of 'npm pack'
*.tgz

# Yarn Integrity file
.yarn-integrity

# dotenv environment variables file
.env
.env.test

# parcel-bundler cache (https://parceljs.org/)
.cache

# next.js build output
.next

# nuxt.js build output
.nuxt

# vuepress build output
.vuepress/dist

# Serverless directories
.serverless/

# FuseBox cache
.fusebox/

# DynamoDB Local files
.dynamodb/

# Webpack
.webpack/

# Vite
.vite/

# Electron-Forge
out/

# ---- Do not modify entries above this line ----

# Build artifacts
dist/

# Certificates
*.spc
*.pvk
*.p12
*.cer
*.crt
*.pem

# Secrets
.gitsecret/keys/random_seed
!*.secret
secrets/APPLE_SIGNING_PASSWORD.txt
secrets/WINDOWS_SIGNING_PASSWORD.txt
secrets/XCODE_APP_LOADER_PASSWORD.txt
secrets/WINDOWS_SIGNING.pfx

# Image stream output directory
/tests/image-stream/output

#local development
.yalc
yalc.lock

================================================
FILE: .nvmrc
================================================
18


================================================
FILE: .prettierrc.js
================================================
const fs = require("fs");
const path = require("path");

module.exports = JSON.parse(
  fs.readFileSync(path.join(__dirname, "node_modules", "@balena", "lint", "config", ".prettierrc"), "utf8"),
);


================================================
FILE: .versionbot/CHANGELOG.yml
================================================
- commits:
    - subject: "patch: fix ubuntu 24 build and flash issues - bump electron-forge to
        7.8.1 - bump electron to 37.2.4 - stop producing broken appimage"
      hash: c824a60e5dc9a78b92679fa8915e3ddad4127c05
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
    - subject: "patch: fix windows build and flash issues - downgrade flasher's node
        to 20.11.1 on windows - bump windows GHA runner to 2022 - bump
        winusb-driver-generator to 2.1.9"
      hash: 2a470f5e6c864ea161188f1e1a01d4baeba6c310
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
    - subject: "patch: refactor permission code"
      hash: f3123f3cbe0159c624412ec2f162d01e079d314e
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
  version: 2.1.4
  title: ""
  date: 2025-07-29T12:17:33.739Z
- commits:
    - subject: Remove stale secrets
      hash: c2fc36971c9460eac6bd02cfc7bdcabec7b97a6d
      body: ""
      footer:
        change-type: patch
      author: Anton Belodedenko
      nested: []
  version: 2.1.3
  title: ""
  date: 2025-05-15T18:09:55.848Z
- commits:
    - subject: "patch: remove analytics"
      hash: aa6d526fea010d181f49dd81ae3bdaefb8d1938e
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
  version: 2.1.2
  title: ""
  date: 2025-05-08T08:51:44.810Z
- commits:
    - subject: "patch: fix signin windows artifacts"
      hash: a1e9be2f94629447e02994e52e12c67ec98de831
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
  version: 2.1.1
  title: ""
  date: 2025-05-05T17:19:50.443Z
- commits:
    - subject: Add informational notice about how to disable analytics collection
      hash: aac092fd4df8750024c082b25dcbd0ae6ee618fd
      body: ""
      footer:
        Change-type: minor
        change-type: minor
      author: myarmolinsky
      nested: []
  version: 2.1.0
  title: ""
  date: 2025-02-27T16:16:57.036Z
- commits:
    - subject: "major: build on ubuntu 22 and macos 13"
      hash: 039a022353d1980ef9ddd19166515c531e48aba4
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
  version: 2.0.0
  title: ""
  date: 2025-02-20T14:27:01.338Z
- commits:
    - subject: "patch: bump etcher-sdk to 9.1.2"
      hash: c726b51dca3383c76f4bf824fd5d594ac3069180
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
  version: 1.19.25
  title: ""
  date: 2024-10-10T10:03:29.519Z
- commits:
    - subject: "patch: etcher-util is corrupted in RPM package"
      hash: e43ee788ec5ec49e105ff804206919bb10a59ea7
      body: |
        rpmbuild strips executables by default when generating an rpm packge.
        This was causing the JavaScript code bundled in the etcher-util file
        to be removed, causing "Pkg: Error reading from file." whenever
        etcher-util was called.

        This in turn caused balena-etcher to generate the error message
        `Error: (0, h.requestMetadata) is not a function` when attempting
        to write an SD card.

        This fixes the issue for RPM builds by replacing the `strip` command
        with `true` so that rpmbuild no longer strips the executables and
        the embeded code stays intact.

        See: https://github.com/balena-io/etcher/issues/4150
      footer:
        Signed-off-by: Richard Glidden <richard@glidden.org>
        signed-off-by: Richard Glidden <richard@glidden.org>
      author: Richard Glidden
      nested: []
  version: 1.19.24
  title: ""
  date: 2024-10-09T14:22:56.623Z
- commits:
    - subject: "patch: remove gconf2 libgconf-2-4 deps"
      hash: 2ed779ef371db367e4e413c9d0d08fcd738edb5b
      body: "Closes #4096"
      footer: {}
      author: Marc-Aurèle Brothier
      nested: []
  version: 1.19.23
  title: ""
  date: 2024-10-09T13:52:54.936Z
- commits:
    - subject: Replace deprecated Flowzone inputs
      hash: 52d396aa7ea9ae1ef6d68151f582f04f57191b14
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Kyle Harding
      nested: []
  version: 1.19.22
  title: ""
  date: 2024-07-18T18:12:56.368Z
- commits:
    - subject: "patch: fix missing windows dependency"
      hash: 8dad81ae34b8d71f3d4f7151ee60717e6207ccd8
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
    - subject: "patch: fix missing windows dependency"
      hash: d28719daf249f2994acdf94b4bb7ea937ffcab9b
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
    - subject: "patch: fix missing windows dependency"
      hash: 98db4df0dc147e5fec9180c50f4e21acf1fd0a58
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
  version: 1.19.21
  title: ""
  date: 2024-05-30T15:00:35.706Z
- commits:
    - subject: "patch: fix missing windows dependency"
      hash: c4d3f8db8769418925a9909ac700edc5f425a068
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
  version: 1.19.20
  title: ""
  date: 2024-05-30T10:17:29.075Z
- commits:
    - subject: "patch: add sentry debug flag"
      hash: 8223130e8dfce180481550d77f022064255601e4
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
  version: 1.19.19
  title: ""
  date: 2024-05-28T12:09:51.167Z
- commits:
    - subject: "patch: fix Sentry DSN for main process"
      hash: 4ffda6e208a6e2f109f652d39e1248bec23a2ddf
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
  version: 1.19.18
  title: ""
  date: 2024-05-22T13:28:03.659Z
- commits:
    - subject: "patch: fix injection of analytics key at build time"
      hash: e94767aca7b07e674bd60176ef77c11440131ace
      body: ""
      footer: {}
      author: JOASSART Edwin
      nested: []
  version: 1.19.17
  title: ""
  date: 2024-05-09T06:33:45.091Z
- commits:
    - subject: "patch: hold request for metadata while waiting for flasher"
      hash: 2dfa795129e287f887b9ea02f2eca717575d27ac
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
  version: 1.19.16
  title: ""
  date: 2024-04-26T14:33:19.111Z
- commits:
    - subject: "patch: bump etcher-sdk to 9.0.11 to fix url loading using http/2"
      hash: cb03fb83754f38d647fc951b94470725b46b2b31
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
  version: 1.19.15
  title: ""
  date: 2024-04-26T13:26:57.047Z
- commits:
    - subject: "patch: pretty-bytes to 6.1.1"
      hash: fa642270f7153f14e45ee03a73bad1f0797cbd51
      body: ""
      footer: {}
      author: JOASSART Edwin
      nested: []
  version: 1.19.14
  title: ""
  date: 2024-04-25T21:11:35.350Z
- commits:
    - subject: "patch: use etcher icon as loading for windows installer"
      hash: bc3340960a765e99f2f02bc21adace91d228d26f
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
    - subject: "patch: fix windows squirrel install"
      hash: d498248a0f1416045b836646b72c7b4c588119d3
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
  version: 1.19.13
  title: ""
  date: 2024-04-25T19:02:23.576Z
- commits:
    - subject: "patch: bump minors & patch"
      hash: afd659f9e586e012be7e3b02490d14a8ac64bb35
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
    - subject: "patch: bump @electron-forge/* to 7.4.0"
      hash: ffdeccf7efd1412a2e2838fd07df5b21f1233efe
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
    - subject: "patch: bump electron to 30.0.1 & @electron/remote to 2.1.2"
      hash: 37ac323e10c07db35a7e47b576d07e1d4d41a470
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
    - subject: "patch: npm upgrade"
      hash: 7c8f3c35d3d159e7be73442ab215019dc2388f54
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
    - subject: "patch: bump @balena/lint to 8.0.2 and fix formating"
      hash: 4aa4140d65189920938c42c41a6a781c97148c8a
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
    - subject: "patch: fix pretty-bytes imports"
      hash: 064261107954dd64d03f94d6aeffd95cd2211df0
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
    - subject: "patch: bump etcher-sdk to 9.0.9"
      hash: 2f4a12a48facf0634ed457fe6ed7c50e21b419ee
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
  version: 1.19.12
  title: ""
  date: 2024-04-25T16:47:43.024Z
- commits:
    - subject: "patch: setup wdio and port (most) tests"
      hash: a661d102bc94bf2707f01958d1e9d260efc06c14
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
  version: 1.19.11
  title: ""
  date: 2024-04-25T13:00:13.805Z
- commits:
    - subject: "patch: remove node-ipc and tests"
      hash: ccc31bb9aaba8df88b2af612824d9106051e2804
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
    - subject: "patch: switch api; use ws; integrate sudo-prompt - switch api roles
        flow - use websocket instead of node-ipc - integrate; modernize;
        simplify and deprecate sudo-prompt"
      hash: b3e33824ed1f70719b04f18dcb7f7dd76451b7f6
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
    - subject: "patch: refactor api to use a single topic"
      hash: 6582260355fcc5280932bee771602fbfb5190619
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
    - subject: "patch: set require node engine to 20"
      hash: b1d2bdaa06bfb35f4a66d92275ca21c731d1cf8e
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
  version: 1.19.10
  title: ""
  date: 2024-04-23T10:28:00.127Z
- commits:
    - subject: "patch: prevent rebuild of native deps by @electron/rebuild"
      hash: 003abfb88f2c7bff0ee291828f3815c738340afa
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
  version: 1.19.9
  title: ""
  date: 2024-04-22T10:20:10.534Z
- commits:
    - subject: "patch: replace deprecated pkg with yao-pkg and bump etcher-util node v
        to 20.10"
      hash: c696c389c9988c75ad9ccc472bdac7edefe762ed
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
  version: 1.19.8
  title: ""
  date: 2024-04-22T09:37:37.561Z
- commits:
    - subject: "patch: fix formating"
      hash: 1a9a3d2cdc5642a754b73628f4ae2636e3ffd8eb
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
    - subject: "patch: configure prettier in the project to use balena-lint
        configuration"
      hash: faeaa58ec548e47abaf30b2498ab145e7c0c6f76
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
  version: 1.19.7
  title: ""
  date: 2024-04-22T06:52:18.878Z
- commits:
    - subject: "patch: fix win signature process"
      hash: f629e6d53b5329cd7e8105050df042f3873a35ee
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
  version: 1.19.6
  title: ""
  date: 2024-04-19T15:59:28.200Z
- commits:
    - subject: Replace deprecated flowzone input tests_run_on
      hash: bec0e50741bfeda63ca9785217576613f74ca043
      body: |
        The `custom_runs_on` array supports multiple runner labels
        in nested arrays.
      footer:
        Change-type: patch
        change-type: patch
        Signed-off-by: Kyle Harding <kyle@balena.io>
        signed-off-by: Kyle Harding <kyle@balena.io>
      author: Kyle Harding
      nested: []
  version: 1.19.5
  title: ""
  date: 2024-02-14T19:51:16.321Z
- commits:
    - subject: "patch: remove screensaver error when not on etcher-pro"
      hash: 196fd8ae24de2a23ebaeae736c6ca41007162fa1
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
    - subject: "patch: fix typo in IPC server id"
      hash: 5d436992423961258ad861c01e3b9b30f3317aab
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
  version: 1.19.4
  title: ""
  date: 2024-01-26T17:29:27.301Z
- commits:
    - subject: Update dependencies
      hash: 0f2b4dbc106c55fe104f0b10e62c35c16bcfe9b3
      body: >
        - upgrade pretty_bytes to 6.1.1

        - upgrade electron-remote to 2.1.0

        - upgrade semver to 7.5.4 + @types/semver to 7.5.6

        - upgrade chai to 4.3.11 + @types/chai to 4.3.10

        - upgrade mocha to 10.2.0 + @types/mocha to 10.0.6

        - upgrade sinon to 17.0.1 + @types/sinon to 17.0.2

        - remove useless @types

        - upgrade @svgr/webpack to 8.1.0

        - upgrade @sentry/electron to 4.15.1

        - upgrade tslib to 2.6.2

        - upgrade immutable to 4.3.4

        - upgrade redux to 4.2.1

        - upgrade ts-node to 10.9.2 & ts-loader to 9.5.1

        - remove mini-css-extract-plugin

        - upgrade husky to 8.0.3

        - upgrade uuid to 9.0.1

        - upgrade lint-staged to 15.2.1

        - upgrade @types/node to 18.11.9

        - upgrade @fortawesome/fontawesome-free to 6.5.1

        - upgrade i18next to 23.7.8 & react-i18next to 11.18.6

        - bump react, react-dom + related @types to 17.0.2 and rendition to
        35.1.0

        - fix getuid for ts

        - fix @types/react being in wrong deps

        - upgrade @types/tmp to 0.2.6

        - upgrade typescript to 5.3.3

        - upgrade @types/mime-types to 2.1.4

        - remove d3 from deps

        - upgrade electron-updater to 6.1.7

        - upgrade rendition to 35.1.2

        - upgrade node-ipc to 9.2.3

        - upgrade @types/node-ipc to 9.2.3

        - upgrade electron to 27.1.3

        - upgrade @electron-forge/* to 7.2.0

        - upgrade @reforged/marker-appimage to 3.3.2

        - upgrade style-loader to 3.3.3

        - upgrade balena-lint to 7.2.4

        - run CI with node 18.19

        - add xxhash-addon to sidecar assets
      footer:
        Change-type: patch
        change-type: patch
      author: Edwin Joassart
      nested: []
  version: 1.19.3
  title: ""
  date: 2023-12-22T16:13:00.924Z
- commits:
    - subject: "fix: typos"
      hash: aaac1336702b7ac4a07992f41db4f0bcdb931c70
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Rotzbua
      nested: []
  version: 1.19.2
  title: ""
  date: 2023-12-22T12:57:35.441Z
- commits:
    - subject: "patch: update winget-releaser v2"
      hash: ea184eb6352b7988c6ab1f439d30c297610cd84e
      body: ""
      footer: {}
      author: Vedant
      nested: []
  version: 1.19.1
  title: ""
  date: 2023-12-22T08:12:34.451Z
- commits:
    - subject: Use native ARM runner for Apple Silicon builds
      hash: 01a96bb6de1ff00d20f7784469dd05286069e014
      body: ""
      footer:
        Change-type: minor
        change-type: minor
      author: Akis Kesoglou
      nested: []
    - subject: Calculate and upload build artifact sha256 checksums
      hash: 2e3a75e685258961bc8efdb95dde12727b93a04a
      body: ""
      footer:
        Change-type: minor
        change-type: minor
      author: Akis Kesoglou
      nested: []
    - subject: Migrate build pipeline to Electron Forge
      hash: bd33c5b092cb5224c8dfc4d5a2caf4684cee161d
      body: ""
      footer:
        Change-type: minor
        change-type: minor
      author: Akis Kesoglou
      nested: []
  version: 1.19.0
  title: ""
  date: 2023-12-21T16:41:57.426Z
- commits:
    - subject: Remove repo config from flowzone.yml
      hash: ecb24dad251fbb9b3f92e5b404b66aedd155a584
      body: |
        This functionality is being deprecated in Flowzone.

        See: https://github.com/product-os/flowzone/pull/833
      footer:
        Change-type: patch
        change-type: patch
        Signed-off-by: Kyle Harding <kyle@balena.io>
        signed-off-by: Kyle Harding <kyle@balena.io>
      author: Kyle Harding
      nested: []
    - subject: Update actions/upload-artifact to v4
      hash: a970f55b555f69c5fcb40374eb50ad7b98cc8f96
      body: |
        Also ensure we are generating unique artifact names on upload.
      footer:
        Change-type: patch
        change-type: patch
        Signed-off-by: Kyle Harding <kyle@balena.io>
        signed-off-by: Kyle Harding <kyle@balena.io>
        See: https://github.com/product-os/flowzone/pull/827
        see: https://github.com/product-os/flowzone/pull/827
      author: Kyle Harding
      nested: []
  version: 1.18.14
  title: ""
  date: 2023-12-20T16:23:00.875Z
- commits:
    - subject: "patch: upgrade to electron 25"
      hash: f38bca290fe26121bed58d1131265e1aa350ddb5
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
    - subject: "patch: refactor scanner, loader and flasher out of gui + upgrade to
        electron 25"
      hash: fb8ed5b529e22bc9e766bfe99c2b6955ed695b58
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
  version: 1.18.13
  title: ""
  date: 2023-10-16T13:32:26.738Z
- commits:
    - subject: Update instructions for installing deb file
      hash: acab03ad77a1c1901d0c8a65999e93c1d27169a0
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Jorge Capona
      nested: []
  version: 1.18.12
  title: ""
  date: 2023-07-19T10:24:22.407Z
- commits:
    - subject: "fix: prevent stealing window focus from auth dialog"
      hash: f716c74ef7cb164b4d825828e4e46033484ad9af
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: leadpogrommer
      nested: []
  version: 1.18.11
  title: ""
  date: 2023-07-13T14:31:40.021Z
- commits:
    - subject: "spelling: validates"
      hash: 06d246e3fd1c573b9e04d23ab3bc3c4036fb9859
      body: ""
      footer:
        Change-type: patch
        change-type: patch
        Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
        signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
      author: Josh Soref
      nested: []
    - subject: "spelling: undefined"
      hash: 67b26a5b69f819066c6419d3d915846b63fdbcf0
      body: ""
      footer:
        Change-type: patch
        change-type: patch
        Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
        signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
      author: Josh Soref
      nested: []
    - subject: "spelling: except if"
      hash: b4b9db7ffa2104c19e7bd079e4f394a817f40bc0
      body: ""
      footer:
        Change-type: patch
        change-type: patch
        Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
        signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
      author: Josh Soref
      nested: []
  version: 1.18.10
  title: ""
  date: 2023-07-12T11:21:59.231Z
- commits:
    - subject: Fix opening links from within SafeWebView
      hash: 497bb0e2cbefad3e9a1188ee5df49cf61f6bd6e4
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Akis Kesoglou
      nested: []
  version: 1.18.9
  title: ""
  date: 2023-07-12T09:07:17.666Z
- commits:
    - subject: "Patch: Fix Support link"
      hash: 882b385c88111a192e5f37e20c1c8aeca9950b21
      body: ""
      footer: {}
      author: Oliver Plummer
      nested: []
  version: 1.18.8
  title: ""
  date: 2023-04-26T09:57:46.155Z
- commits:
    - subject: "patch: update docs to remove cloudsmith install instructions for linux"
      hash: 02a406711852cf237e41da4cd39350d8acc1f0b0
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
  version: 1.18.7
  title: ""
  date: 2023-04-25T15:25:35.584Z
- commits:
    - subject: add-flash-with-etcher-to-docs
      hash: 856b426dc98925f5e339976a5cac144f4bb4ea59
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Lizzie Epton
      nested: []
  version: 1.18.6
  title: ""
  date: 2023-03-21T13:24:18.265Z
- commits:
    - subject: "patch: add apt-get update in flowzone preinstall"
      hash: 0d9ac710880e6b9413b09e4c35a505034d1e9d51
      body: libudev package has changed and cannot be installed if we not update apt
        cache
      footer: {}
      author: Edwin Joassart
      nested: []
  version: 1.18.5
  title: ""
  date: 2023-03-09T11:30:34.540Z
- commits:
    - subject: "patch: bump etcher-sdk to 8.3.1"
      hash: bf0360e7f46ac620f95021e0c48a3a04d302e725
      body: ""
      footer: {}
      author: JOASSART Edwin
      nested: []
  version: 1.18.4
  title: ""
  date: 2023-03-02T17:31:31.788Z
- commits:
    - subject: fix-typo
      hash: 496f131c4b024dfcd17fde5173016f70c0d0599c
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Lizzie Epton
      nested: []
    - subject: edits-to-info-about-efp
      hash: f582b0215c2cf66acf652afdaa47353e1a7eac07
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Lizzie Epton
      nested: []
    - subject: Add reference to etcher-efp in publishing.md
      hash: 4c3c4babea5efdadbed7ba0df85f08b68a7b6f20
      body: |
        Add reference to etcher-efp in publishing.md
      footer:
        Change-type: patch
        change-type: patch
      author: Edwin Joassart
      nested: []
  version: 1.18.3
  title: ""
  date: 2023-02-22T12:12:40.270Z
- commits:
    - subject: "patch: organize docs"
      hash: e479b95d72bed6a50ae6a971598a18d8a7562f0d
      body: ""
      footer: {}
      author: mcraa
      nested: []
    - subject: "patch: actualized develop guide"
      hash: 926ff2b7549d8b187b18ee452ce48c62f6cd3531
      body: ""
      footer: {}
      author: mcraa
      nested: []
    - subject: "patch: updated commit message guide"
      hash: 394b64319de11b1010b8acfe160de13a6f3851cd
      body: ""
      footer: {}
      author: mcraa
      nested: []
    - subject: add-item-from-FAQs
      hash: 96fa53b6ee4ec7a29522df488b927074c0f301ca
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Lizzie Epton
      nested: []
    - subject: "patch: removed gt characters from contributing guide"
      hash: 9b54e2af0b9356bb73e197cccbcc2ff89673361f
      body: ""
      footer: {}
      author: mcraa
      nested: []
    - subject: "patch: added docosaurus site name"
      hash: b01cf3c2e1c3a7a234c8b957bd570ecdca81e0c1
      body: ""
      footer: {}
      author: mcraa
      nested: []
  version: 1.18.2
  title: ""
  date: 2023-02-21T13:17:09.606Z
- commits:
    - subject: "patch: use @electron/remote for locating rpiboot files"
      hash: 04fa3dcd8c619dce927221cef5799b5210354d2e
      body: ""
      footer: {}
      author: mcraa
      nested: []
  version: 1.18.1
  title: ""
  date: 2023-02-15T14:54:45.951Z
- commits:
    - subject: Update to Electron 19
      hash: c11db0a2797a6b1093dd3fa6f55bee5f100c6da4
      body: ""
      footer:
        Change-type: minor
        change-type: minor
      author: Akis Kesoglou
      nested: []
    - subject: Remove Spectron and related (low-value) tests
      hash: 6f7570d265e4b457afe832d00e5f45e0bf5a8a53
      body: >
        Spectron is long deprecated and abandoned and the browser tests are so
        rudimentary that it’s no longer worth having them around. We will
        introduce a proper browser-based test suite in the short term — it’s a
        project in progress.
      footer:
        Change-type: minor
        change-type: minor
      author: Akis Kesoglou
      nested: []
  version: 1.18.0
  title: ""
  date: 2023-02-14T18:07:05.870Z
- commits:
    - subject: Update to Electron 17 and Node 16
      hash: 3c1dd6ce29ddf43ef35e58236d25713fa2026c10
      body: |
        This is the latest Electron version officially supported by Spectron.
      footer:
        Change-type: minor
        change-type: minor
      author: Akis Kesoglou
      nested: []
  version: 1.17.0
  title: ""
  date: 2023-02-14T16:18:54.834Z
- commits:
    - subject: Update to Electron 14
      hash: df7854111a901b620e3284edf10768d308ce7755
      body: ""
      footer:
        Change-type: minor
        change-type: minor
      author: Akis Kesoglou
      nested: []
  version: 1.16.0
  title: ""
  date: 2023-02-14T12:40:40.820Z
- commits:
    - subject: "patch: app: i18n: Translation: Update zh-TW strings * Improve
        translate. * Sync layout with English strings ts file."
      hash: b51418814f5ef48d09e3157c92bda5eab173dbd5
      body: ""
      footer:
        Signed-off-by: Edward Wu <bluehome.wu@gmail.com>
        signed-off-by: Edward Wu <bluehome.wu@gmail.com>
      author: Edward Wu
      nested: []
  version: 1.15.6
  title: ""
  date: 2023-02-13T11:23:13.079Z
- commits:
    - subject: revert auto-update feature
      hash: e6d33eda2b8f767679a43f8056e20098b0f2f6d9
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: JOASSART Edwin
      nested: []
  version: 1.15.5
  title: ""
  date: 2023-02-03T14:25:19.611Z
- commits:
    - subject: Switch to `@electron/remote`
      hash: 7ee174edcecbfc2d7370db6d4185b3ee4eedbe28
      body: >
        Electron 12 deprecated `electron.remote` and the functionality was
        removed in Electron 14, but became available as a separate
        `@electron/remote` module. This commit makes the transition to the
        external module as an intermediary step to enable updating to a newer
        Electron version.
      footer:
        Change-type: patch
        change-type: patch
      author: Akis Kesoglou
      nested: []
  version: 1.15.4
  title: ""
  date: 2023-02-02T18:26:45.877Z
- commits:
    - subject: move EFP & success-banner to efp.balena.io
      hash: a140faaebe087a96387604f12c3510ee22374d92
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Edwin Joassart
      nested: []
  version: 1.15.3
  title: ""
  date: 2023-02-02T17:23:16.454Z
- commits:
    - subject: Remove configuration remote update
      hash: 85a49a221fa7fc9b1943dc8ed43b29995f9d8260
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Edwin Joassart
      nested: []
  version: 1.15.2
  title: ""
  date: 2023-02-02T13:05:01.310Z
- commits:
    - subject: Remove redundant resinci-deploy build step
      hash: 48ddafd120cc9cd4fb94c0d6f7530a14be46f28d
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Akis Kesoglou
      nested: []
    - subject: Lazily import Electron from child-writer process
      hash: 851219f835ed037d9fd970f538095e4b339c5342
      body: >
        No idea how this *used* to work, but it doesn’t since 887ec428 and this
        is fixing it properly.
      footer:
        Change-type: patch
        change-type: patch
      author: Akis Kesoglou
      nested: []
  version: 1.15.1
  title: ""
  date: 2023-02-01T12:18:55.922Z
- commits:
    - subject: Add support for Node 18
      hash: 887ec42847acbd4a935b4e9ed6abb2b8d87058ce
      body: >
        The Electron version we’re currently using is on Node 14 but this is a
        step forward to upgrading to a newer Electron and Node version.


        Updates etcher-sdk and switches the redundant aws4-axios dependency to
        just axios.


        Also changed bundler to stop trying to bundle wasm files — they must be
        included inline with JS code as data — and removed some now redundant
        code.


        The crucial changes that enable support are:


        1. The update to etcher-sdk@8 where some dependency fixes and updates
        took place

        2. The downgrade and pinning of "electron-rebuild" to v3.2.3 until we’re
        able to update to Electron >= 14.2. The patch we need to avoid is
        https://github.com/electron/rebuild/pull/907. Also see:
        https://github.com/nodejs/node-gyp/issues/2673 and
        https://github.com/electron/rebuild/issues/913

        3. A rule in webpack.config to ignore `aws-crt` which is a dependency of
        (ultimately) `aws4-axios` which is used by etcher-sdk and does a runtime
        check to its availability. We’re not currently using the “assume role”
        functionality (AFAIU) of aws4-axios and we don’t care that it’s not
        found, so force webpack to ignore the import. See
        https://github.com/aws/aws-sdk-js-v3/issues/3025
      footer:
        Change-type: minor
        change-type: minor
      author: Akis Kesoglou
      nested: []
  version: 1.15.0
  title: ""
  date: 2023-01-27T11:36:32.980Z
- commits:
    - subject: "patch: fixed mac sudo on other languages"
      hash: 19d1e093fc2b1588492c9868f7604ee15ab3fd5b
      body: ""
      footer: {}
      author: Peter Makra
      nested: []
  version: 1.14.3
  title: ""
  date: 2023-01-19T12:21:02.651Z
- commits:
    - subject: "patch: revert to lockfile v1"
      hash: 72af77860bee3685635c9f4db602c2a07e825037
      body: ""
      footer: {}
      author: Peter Makra
      nested: []
    - subject: "patch: update etcher-sdk for cm4v5"
      hash: 8e63be2efecada2ad6abd9d9d7728859e2c30ebc
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: builder555
      nested: []
  version: 1.14.2
  title: ""
  date: 2023-01-17T14:37:41.555Z
- commits:
    - subject: fix disabled-screensaver unhandled exception outside balena-electron env
      hash: 46c406e8c1e3b5e41890aff7f65b1711e4426782
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Edwin Joassart
      nested: []
  version: 1.14.1
  title: ""
  date: 2023-01-16T13:22:36.972Z
- commits:
    - subject: Anonymizes all paths before sending
      hash: 86d43a536f7c9aa6b450a9f2f90341e07364208e
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Otávio Jacobi
      nested: []
    - subject: "patch: Sentry fix path"
      hash: 6c417e35a13873cd95d25f42a819de3750cdf65d
      body: ""
      footer: {}
      author: Edwin Joassart
      nested: []
    - subject: Remove personal path on etcher
      hash: 2b728d3c521b76177a2c019b4891627272f35aac
      body: ""
      footer:
        Change-type: minor
        change-type: minor
      author: Otávio Jacobi
      nested: []
    - subject: Unifying sentry reports in a single project
      hash: f3f7ecb852503d4d97dbe6a78bf920ca177bddd1
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Edwin Joassart
      nested: []
    - subject: Removes corvus in favor of sentry and analytics client
      hash: 41fca03c98d4a72bd8c3842d7e6b9d41f65336f9
      body: ""
      footer:
        Change-type: patch
        change-type: patch
        Signed-off-by: Otavio Jacobi
        signed-off-by: Otavio Jacobi
      author: Otávio Jacobi
      nested: []
    - subject: Removes corvus in favor of sentry and analytics client
      hash: 10caf8f1b6a174762192b13ce7bb4eaa71e90fcc
      body: ""
      footer:
        Change-type: patch
        change-type: patch
        Signed-off-by: Otavio Jacobi
        signed-off-by: Otavio Jacobi
      author: Otávio Jacobi
      nested: []
  version: 1.14.0
  title: ""
  date: 2023-01-16T11:23:54.866Z
- commits:
    - subject: Adding EtcherPro device serial number to the Settings modal
      hash: d25eda9a7d6bf89284b630b2d55cbb0a7e3a9432
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Aurelien VALADE
      nested: []
  version: 1.13.4
  title: ""
  date: 2023-01-12T15:10:50.328Z
- commits:
    - subject: "patch: progress cm4 to second stage"
      hash: 2475d576c7d9ecb46507c47c4143bdbfbdb44e45
      body: ""
      footer: {}
      author: Peter Makra
      nested: []
  version: 1.13.3
  title: ""
  date: 2023-01-11T14:30:45.116Z
- commits:
    - subject: "patch: fixed winget parameter name"
      hash: 33fe4b2c1abcb7f71f42a4b682f174422cb72a00
      body: ""
      footer: {}
      author: mcraa
      nested: []
  version: 1.13.2
  title: ""
  date: 2023-01-02T20:55:58.179Z
- commits:
    - subject: "patch: updated sdk to fix bz2 issue"
      hash: f79cb0fac56f6ec86f3a6f9be7035fbf59102253
      body: ""
      footer: {}
      author: Peter Makra
      nested: []
    - subject: "patch: update copyright in electron-builder"
      hash: ec42892c7cf1d22f4bb2968733ba9dc85e3552c6
      body: ""
      footer: {}
      author: JOASSART Edwin
      nested: []
  version: 1.13.1
  title: ""
  date: 2023-01-02T17:26:55.602Z
- commits:
    - subject: "minor: electron version bump"
      hash: e3072ac416470cd161309935c2622cc5a3d8d242
      body: ""
      footer: {}
      author: Peter Makra
      nested: []
    - subject: "patch: handle ext2fs with webpack"
      hash: b59b171e43a170c0ccf84d36ab4ba2db403e25c5
      body: ""
      footer: {}
      author: Peter Makra
      nested: []
    - subject: "Patch: update etcher-sdk version to fix CM4 issues"
      hash: 36c813714b3ce60e5e85f1889c9bc7eeadb524b4
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: builder555
      nested: []
  version: 1.13.0
  title: ""
  date: 2022-12-28T16:48:12.506Z
- commits:
    - subject: Update dependency i18next to 21.10.0
      hash: b068b847c7ae6456ebd16a5d641ff61d8d074015
      body: |
        Update i18next to 21.10.0

        Update i18next from 21.8.14 to 21.10.0
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.12.7
  title: ""
  date: 2022-12-20T19:35:11.219Z
- commits:
    - subject: Update dependency react-i18next to 11.18.6
      hash: 2e85fb45de3a52e9bf0605e474a550e1af2bb980
      body: |
        Update react-i18next to 11.18.6

        Update react-i18next from 11.18.1 to 11.18.6
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.12.6
  title: ""
  date: 2022-12-20T18:00:03.165Z
- commits:
    - subject: "Patch: made trim setting more readable"
      hash: 5c5a7612220b011e6942ac10b7026b7d6513e54f
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: builder555
      nested: []
  version: 1.12.5
  title: ""
  date: 2022-12-20T12:27:33.706Z
- commits:
    - subject: "patch: publish to winget with gh action"
      hash: f9c8378d6a96e1c44d0bced0d3227a9930b9fd14
      body: ""
      footer: {}
      author: Begula
      nested: []
  version: 1.12.4
  title: ""
  date: 2022-12-19T19:41:59.151Z
- commits:
    - subject: "Patch: replaced plain text with i18n in settings"
      hash: 11cea7c926be1bac27df8ab583cbb4b8752a49c5
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: builder555
      nested: []
  version: 1.12.3
  title: ""
  date: 2022-12-19T09:51:52.545Z
- commits:
    - subject: Update dependency webpack-dev-server to 4.11.1
      hash: c9e9d7d109ee103402acea1c7be4bac2f674168a
      body: |
        Update webpack-dev-server to 4.11.1

        Update webpack-dev-server from 4.5.0 to 4.11.1
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.12.2
  title: ""
  date: 2022-12-16T16:59:03.254Z
- commits:
    - subject: "Patch: expose trim ext{2,3,4} setting"
      hash: b9a82be29bee61a41f6f6a5ca6043dd8a7bee547
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: builder555
      nested: []
  version: 1.12.1
  title: ""
  date: 2022-12-16T15:02:34.104Z
- commits:
    - subject: i18n support and Chinese translation
      hash: 8fc574f0596f256382523c3b269e647a9aed5747
      body: ""
      footer:
        Change-type: minor
        change-type: minor
      author: ab77
      nested: []
    - subject: "minor: optimize i18n"
      hash: 67d26ff7902c272e8113c9b650382a1dcb0cdde0
      body: >
        Optimized several translations.

        This commit itself is only a patch, but as a pull request must have at
        least one commit with a change-type.
      footer:
        Change-Type: minor
        change-type: minor
      author: r-q
      nested: []
  version: 1.12.0
  title: ""
  date: 2022-12-14T16:17:31.131Z
- commits:
    - subject: Update dependency webpack-cli to 4.10.0
      hash: 757aa77d897d6266afbf6e7d62ddd0255ea0c926
      body: |
        Update webpack-cli to 4.10.0

        Update webpack-cli from 4.2.0 to 4.10.0
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.11.10
  title: ""
  date: 2022-12-13T02:27:41.593Z
- commits:
    - subject: Update dependency webpack to 5.75.0
      hash: cd67b442c9c55adddb2d8def456d7155af1f23c6
      body: |
        Update webpack to 5.75.0

        Update webpack from 5.11.0 to 5.75.0
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.11.9
  title: ""
  date: 2022-12-12T23:58:09.807Z
- commits:
    - subject: Update dependency awscli to 1.27.28
      hash: 927a026b869e0da872e17a662536d0ad3aeeae0f
      body: |
        Update awscli to 1.27.28

        Update awscli from 1.27.27 to 1.27.28
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.11.8
  title: ""
  date: 2022-12-12T21:55:28.620Z
- commits:
    - subject: Update dependency uuid to 8.3.2
      hash: c9cfb87733a694a69044a3b04cb12e72047a92da
      body: |
        Update uuid to 8.3.2

        Update uuid from 8.1.0 to 8.3.2
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.11.7
  title: ""
  date: 2022-12-12T19:57:31.379Z
- commits:
    - subject: Update dependency tslib to 2.4.1
      hash: f0747abe3fde8df4a004573a3ffd49134dd6d40d
      body: |
        Update tslib to 2.4.1

        Update tslib from 2.0.0 to 2.4.1
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
    - subject: "Patch: run linux build on ubuntu-20.04"
      hash: adcd8e0325bc891460b3e51aa5403f8675189f13
      body: |-
        as [`18.04` has been removed](https://github.blog/changelog/2022-08-09-github-actions-the-ubuntu-18-04-actions-runner-image-is-being-deprecated-and-will-be-removed-by-12-1-22/)

        We cannot use `latest` as the glibc version will cause issue with older ubuntu version.
      footer: {}
      author: Edwin Joassart
      nested: []
  version: 1.11.6
  title: ""
  date: 2022-12-12T17:59:43.391Z
- commits:
    - subject: Update dependency ts-loader to 8.4.0
      hash: 5ae9a263619e9bb499705ee7c19df5707ea3936c
      body: |
        Update ts-loader to 8.4.0

        Update ts-loader from 8.0.12 to 8.4.0
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.11.5
  title: ""
  date: 2022-12-10T12:28:18.918Z
- commits:
    - subject: Update dependency styled-components to 5.3.6
      hash: 88c5fa50352efe76a6506ee763915f504889111b
      body: |
        Update styled-components to 5.3.6

        Update styled-components from 5.1.0 to 5.3.6
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.11.4
  title: ""
  date: 2022-12-10T10:57:10.809Z
- commits:
    - subject: Update dependency terser-webpack-plugin to 5.3.6
      hash: c431222909ef49126549c0f630cf1f3f3f8895ed
      body: |
        Update terser-webpack-plugin to 5.3.6

        Update terser-webpack-plugin from 5.2.5 to 5.3.6
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.11.3
  title: ""
  date: 2022-12-10T08:54:53.274Z
- commits:
    - subject: Update dependency string-replace-loader to 3.1.0
      hash: 33f8851083d50ed2db2b1308d1f1cf8749751db5
      body: |
        Update string-replace-loader to 3.1.0

        Update string-replace-loader from 3.0.1 to 3.1.0
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.11.2
  title: ""
  date: 2022-12-10T07:32:25.553Z
- commits:
    - subject: Update dependency sinon to 9.2.4
      hash: 686a5837b69c26bc83772ed738376ce0a766fef5
      body: |
        Update sinon to 9.2.4

        Update sinon from 9.0.2 to 9.2.4
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.11.1
  title: ""
  date: 2022-12-10T06:19:30.932Z
- commits:
    - subject: Update dependency shyaml to 0.6.2
      hash: 2acad790d3e85b3215e692705691fff4fadb99b0
      body: |
        Update shyaml to 0.6.2

        Update shyaml from 0.5.0 to 0.6.2
      footer:
        Change-type: minor
        change-type: minor
      author: Renovate Bot
      nested: []
  version: 1.11.0
  title: ""
  date: 2022-12-10T04:27:19.119Z
- commits:
    - subject: Update dependency awscli to 1.27.27
      hash: 17858a7d72dc001419bf75ac04b1a66b782404e2
      body: |
        Update awscli to 1.27.27

        Update awscli from 1.27.26 to 1.27.27
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.10.29
  title: ""
  date: 2022-12-10T03:05:02.826Z
- commits:
    - subject: Update dependency rendition to 19.3.2
      hash: 0d740ad12dbadcb35d0e2076821a073177476acb
      body: |
        Update rendition to 19.3.2

        Update rendition from 19.2.0 to 19.3.2
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested:
        - commits:
            - subject: Add Breadcrumbs component export
              hash: fbe0da641ae76ed99185f5799f94653bbed52609
              body: |
                add breadcrumbs component export
              footer:
                Change-type: patch
                change-type: patch
                Signed-off-by: Andrea Rosci <andrear@balena.io>
                signed-off-by: Andrea Rosci <andrear@balena.io>
              author: JSReds
          version: rendition-19.3.2
          date: 2020-12-29T17:27:09.528Z
        - commits:
            - subject: Fix max-width on breadcrumbs container
              hash: b7c4ab7bed3caa1c10130f50abb582fcf63d867e
              body: |
                fix max-width on breadcrumbs container
              footer:
                Change-type: patch
                change-type: patch
                Signed-off-by: Andrea Rosci <andrear@balena.io>
                signed-off-by: Andrea Rosci <andrear@balena.io>
              author: JSReds
          version: rendition-19.3.1
          date: 2020-12-29T13:35:01.615Z
        - commits:
            - subject: Add Breadcrumbs component
              hash: 41a7abb3724a6c8a0a839d4083ce36ceaeeb9d91
              body: |
                Add Breadcrumbs component and generate snapshots
              footer:
                Change-type: minor
                change-type: minor
                Signed-off-by: Andrea Rosci <andrear@balena.io>
                signed-off-by: Andrea Rosci <andrear@balena.io>
              author: JSReds
          version: rendition-19.3.0
          date: 2020-12-29T12:12:16.944Z
  version: 1.10.28
  title: ""
  date: 2022-12-10T02:10:41.368Z
- commits:
    - subject: Update dependency redux to 4.2.0
      hash: 85c183b9ef2dbe798c6d5cd8bce6367ef31e2624
      body: |
        Update redux to 4.2.0

        Update redux from 4.0.5 to 4.2.0
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.10.27
  title: ""
  date: 2022-12-09T20:59:24.075Z
- commits:
    - subject: Update dependency pretty-bytes to 5.6.0
      hash: d8b2a7a2369f24b1390bd85eca3cfbcd8282df80
      body: |
        Update pretty-bytes to 5.6.0

        Update pretty-bytes from 5.3.0 to 5.6.0
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.10.26
  title: ""
  date: 2022-12-09T18:58:21.970Z
- commits:
    - subject: Update dependency pnp-webpack-plugin to 1.7.0
      hash: 86bb093f3d7eec4835060789cc725e172223c74f
      body: |
        Update pnp-webpack-plugin to 1.7.0

        Update pnp-webpack-plugin from 1.6.4 to 1.7.0
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.10.25
  title: ""
  date: 2022-12-09T17:01:52.897Z
- commits:
    - subject: Update dependency node-ipc to 9.2.1
      hash: f26b0748114c7623f152e00b065f3e6ec0657e83
      body: |
        Update node-ipc to 9.2.1

        Update node-ipc from 9.1.1 to 9.2.1
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.10.24
  title: ""
  date: 2022-12-09T14:59:54.907Z
- commits:
    - subject: Update dependency mocha to 8.4.0
      hash: be190c6c802f0cb6f5f68981b255aa4e620db2f7
      body: |
        Update mocha to 8.4.0

        Update mocha from 8.0.1 to 8.4.0
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.10.23
  title: ""
  date: 2022-12-09T13:05:52.859Z
- commits:
    - subject: Update dependency mini-css-extract-plugin to 1.6.2
      hash: d35f3c30498e3a8d8b8eb74a50952489f1c629fc
      body: |
        Update mini-css-extract-plugin to 1.6.2

        Update mini-css-extract-plugin from 1.3.3 to 1.6.2
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.10.22
  title: ""
  date: 2022-12-09T10:57:43.780Z
- commits:
    - subject: Update dependency lint-staged to 10.5.4
      hash: 54e6c5e2c137073e6229fa28726d8f6b08853fcc
      body: |
        Update lint-staged to 10.5.4

        Update lint-staged from 10.2.2 to 10.5.4
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.10.21
  title: ""
  date: 2022-12-09T08:57:59.766Z
- commits:
    - subject: Update dependency husky to 4.3.8
      hash: cf8b5790a1e9cf853328f128f9c52d72d5ac1da5
      body: |
        Update husky to 4.3.8

        Update husky from 4.2.5 to 4.3.8
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.10.20
  title: ""
  date: 2022-12-09T06:59:31.264Z
- commits:
    - subject: Update dependency esbuild-loader to 2.20.0
      hash: ba812b4f6484f0803486f7c1969992030267ae12
      body: |
        Update esbuild-loader to 2.20.0

        Update esbuild-loader from 2.16.0 to 2.20.0
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.10.19
  title: ""
  date: 2022-12-09T04:58:48.480Z
- commits:
    - subject: Update dependency electron-updater to 4.6.5
      hash: 32011c0deab646af1c4d99c15418f336f1dc02f1
      body: |
        Update electron-updater to 4.6.5

        Update electron-updater from 4.3.5 to 4.6.5
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.10.18
  title: ""
  date: 2022-12-09T03:07:57.710Z
- commits:
    - subject: Update dependency electron-notarize to 1.2.2
      hash: d68eab1dda78e17ce3804e6c7f08940b36f377a8
      body: |
        Update electron-notarize to 1.2.2

        Update electron-notarize from 1.0.0 to 1.2.2
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.10.17
  title: ""
  date: 2022-12-09T01:21:25.322Z
- commits:
    - subject: Update dependency awscli to 1.27.26
      hash: b5ab500a14396525cb6c7bac4eabf0b4b1c7cb11
      body: |
        Update awscli to 1.27.26

        Update awscli from 1.27.25 to 1.27.26
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.10.16
  title: ""
  date: 2022-12-08T22:58:41.740Z
- commits:
    - subject: Update dependency electron-builder to 22.14.13
      hash: 99862b95a55a3a7a174763d635073bab5dbc704f
      body: |
        Update electron-builder to 22.14.13

        Update electron-builder from 22.10.5 to 22.14.13
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.10.15
  title: ""
  date: 2022-12-08T21:37:01.110Z
- commits:
    - subject: Update dependency debug to 4.3.4
      hash: b8af86e30c9ce3b8d9eba8749f2aeba1f6eea197
      body: |
        Update debug to 4.3.4

        Update debug from 4.2.0 to 4.3.4
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.10.14
  title: ""
  date: 2022-12-08T19:55:06.173Z
- commits:
    - subject: Update dependency awscli to 1.27.25
      hash: 0667d1110fbc05ef7222530ea413a1db7a2bd814
      body: |
        Update awscli to 1.27.25

        Update awscli from 1.27.24 to 1.27.25
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.10.13
  title: ""
  date: 2022-12-08T17:57:06.474Z
- commits:
    - subject: Update dependency css-loader to 5.2.7
      hash: 6991a4950bfb2b7c9ad93df4c76170003b7d47f0
      body: |
        Update css-loader to 5.2.7

        Update css-loader from 5.0.1 to 5.2.7
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.10.12
  title: ""
  date: 2022-12-08T15:56:12.526Z
- commits:
    - subject: Update dependency awscli to 1.27.24
      hash: 72b4d4f4fa5a013d9a808402660186a92b165bc7
      body: |
        Update awscli to 1.27.24

        Update awscli from 1.27.5 to 1.27.24
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.10.11
  title: ""
  date: 2022-12-07T03:21:58.354Z
- commits:
    - subject: Update dependency @types/node to 14.18.34
      hash: aa3756ad172e939dff88ad213fda2b57966341c6
      body: |
        Update @types/node to 14.18.34

        Update @types/node from 14.18.33 to 14.18.34
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.10.10
  title: ""
  date: 2022-12-07T02:19:17.414Z
- commits:
    - subject: Enable repository configuration
      hash: 0d5bb4935f860a5b7f58810fce8084dc8f82dd65
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: ab77
      nested: []
  version: 1.10.9
  title: ""
  date: 2022-12-06T23:59:21.301Z
- commits:
    - subject: Update dependency chai to 4.3.7
      hash: 4ed30027162365a68f26264f7574ac9eaf752926
      body: |
        Update chai to 4.3.7

        Update chai from 4.2.0 to 4.3.7
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.10.8
  title: ""
  date: 2022-12-05T21:38:41.964Z
- commits:
    - subject: Use core workflow for GitHub publish
      hash: f3844d56e2bb317e9360f34f5054c91eb0fb8910
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: ab77
      nested: []
  version: 1.10.7
  title: ""
  date: 2022-12-05T19:39:07.247Z
- commits:
    - subject: Dummy update to fix asset version issue
      hash: 03d6a011db5fd4dad3d25fde86cf2b434c8192e8
      body: |
        Due to a race between two patch, 1.10.5 assets are labelled 1.10.3.
        This dummy PR should fix this.
      footer:
        Change-type: patch
        change-type: patch
      author: Edwin Joassart
      nested: []
  version: 1.10.6
  title: ""
  date: 2022-12-02T14:04:57.766Z
- commits:
    - subject: "Patch: run linux build on ubuntu-18.04"
      hash: 57a6ceff0e28d06063679a7a8b14671416ba46c5
      body: >-
        Running on ubuntu-latest means you need a more recent version of glibc
        which breaks on older ubuntu.


        Thanks to @theofficialgman for suggesting the fix.
      footer: {}
      author: Edwin Joassart
      nested: []
  version: 1.10.5
  title: ""
  date: 2022-12-02T12:41:19.841Z
- commits:
    - subject: "patch: remove Homebrew instructions in README"
      hash: 0d1cfffa5c7c084d9f48d60c1abbf7e2974abb28
      body: |
        Homebrew no longer supports etcher, so removing install instructions.
      footer:
        Change-type: patch
        change-type: patch
      author: Patrick Linnane
      nested: []
  version: 1.10.4
  title: ""
  date: 2022-12-01T23:27:55.910Z
- commits:
    - subject: Allow external contributors
      hash: 156b9314b5786e943256974d5344383ae1f0650d
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: ab77
      nested: []
  version: 1.10.3
  title: ""
  date: 2022-12-01T22:31:25.592Z
- commits:
    - subject: Fix missing analytics token
      hash: 831339bd2cbe73dd441cdd77d85b34e98f68a6a6
      body: ""
      footer:
        Change-type: patch
        change-type: patch
        Signed-off-by: Edwin Joassart edwin.joassart@balena.io
        signed-off-by: Edwin Joassart edwin.joassart@balena.io
      author: Edwin Joassart
      nested: []
  version: 1.10.2
  title: ""
  date: 2022-11-25T19:22:49.679Z
- commits:
    - subject: Fixing call to electron block screensaver methods invocation
      hash: 1b5b64713505dfb69448bc2184839b4c23bd677b
      body: >
        Replacing `send` calls to `invoke` for `enable/disable-screensaver`
        calls.
      footer:
        Change-type: patch
        change-type: patch
        Signed-off-by: Aurelien VALADE <aurelien.valade@balena.io>
        signed-off-by: Aurelien VALADE <aurelien.valade@balena.io>
      author: Aurelien VALADE
      nested: []
  version: 1.10.1
  title: ""
  date: 2022-11-21T16:50:14.797Z
- commits:
    - subject: testing renovate
      hash: 306e087ec6daed9e736a8918cde07159dd9298dc
      body: ""
      footer:
        Change-Type: minor
        change-type: minor
      author: builder555
      nested: []
  version: 1.10.0
  title: ""
  date: 2022-11-10T20:54:12.345Z
- commits:
    - subject: Update dependency awscli to 1.27.5
      hash: 26dc2d19e56354b0f43c9af2f1d6dd51a4a0b235
      body: |
        Update awscli to 1.27.5

        Update awscli from 1.11.87 to 1.27.5
      footer:
        Change-type: minor
        change-type: minor
      author: Renovate Bot
      nested: []
  version: 1.9.0
  title: ""
  date: 2022-11-08T21:37:25.500Z
- commits:
    - subject: Update dependency @types/react-dom to 16.9.17
      hash: 448ce141d51ec342e95148f265daf0fc73df694c
      body: |
        Update @types/react-dom to 16.9.17

        Update @types/react-dom from 16.8.4 to 16.9.17
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.8.17
  title: ""
  date: 2022-11-08T20:38:27.629Z
- commits:
    - subject: Update dependency @types/react to 16.14.34
      hash: 77b33b127dcfb0345e0ff80c80b2f560984c14b1
      body: |
        Update @types/react to 16.14.34

        Update @types/react from 16.8.5 to 16.14.34
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.8.16
  title: ""
  date: 2022-11-08T19:39:42.616Z
- commits:
    - subject: "CI: generalise artefact handling"
      hash: e3618b939e119b8ae6d0dcea0f4077fe2c332122
      body: |
        * on PR syncs, delete draft releases on Linux runners only
        * delete draft releases when unmerged PRs are closed
      footer:
        Change-type: patch
        change-type: patch
      author: ab77
      nested: []
  version: 1.8.15
  title: ""
  date: 2022-11-08T18:21:04.227Z
- commits:
    - subject: Update dependency @types/node to 14.18.33
      hash: 7e2c2eae635e6d9aef1e65b158268400074ff020
      body: |
        Update @types/node to 14.18.33

        Update @types/node from 14.14.41 to 14.18.33
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.8.14
  title: ""
  date: 2022-11-08T13:57:18.149Z
- commits:
    - subject: Update dependency @types/copy-webpack-plugin to 6.4.3
      hash: 2c2a5c7c2b31d188cc32024dd6f9b5d0d1a5bc8b
      body: |
        Update @types/copy-webpack-plugin to 6.4.3

        Update @types/copy-webpack-plugin from 6.0.0 to 6.4.3
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.8.13
  title: ""
  date: 2022-11-08T12:39:27.293Z
- commits:
    - subject: Update dependency @fortawesome/fontawesome-free to 5.15.4
      hash: 7bb52aa1706b4bfe06cdd023f4f95bf8de1a6666
      body: |
        Update @fortawesome/fontawesome-free to 5.15.4

        Update @fortawesome/fontawesome-free from 5.13.1 to 5.15.4
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.8.12
  title: ""
  date: 2022-11-08T11:33:01.286Z
- commits:
    - subject: Update dependency @balena/lint to 5.4.2
      hash: cc0285a77db78a014b73169cc8a6b2429961f41f
      body: |
        Update @balena/lint to 5.4.2

        Update @balena/lint from 5.3.0 to 5.4.2
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.8.11
  title: ""
  date: 2022-11-08T10:38:47.026Z
- commits:
    - subject: Update dependency sys-class-rgb-led to 3.0.1
      hash: 0e58edf1139b16b26335f7b6f7b2e6f92c8c8838
      body: |
        Update sys-class-rgb-led to 3.0.1

        Update sys-class-rgb-led from 3.0.0 to 3.0.1
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested:
        - commits:
            - subject: "patch: Delete Codeowners"
              hash: 91e33b39ac7c55b1186887b20703e3298f37751c
              body: ""
              footer: {}
              author: Vipul Gupta
          version: sys-class-rgb-led-3.0.1
          date: 2021-07-01T10:53:00.610Z
  version: 1.8.10
  title: ""
  date: 2022-11-08T09:35:02.677Z
- commits:
    - subject: Update dependency semver to 7.3.8
      hash: 8357cc19d258103bc66061467ac984b1adae6456
      body: |
        Update semver to 7.3.8

        Update semver from 7.3.2 to 7.3.8
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.8.9
  title: ""
  date: 2022-11-08T08:40:21.355Z
- commits:
    - subject: Update dependency omit-deep-lodash to 1.1.7
      hash: a4f944e7959431f24b55c44dbcde2b13530cf902
      body: |
        Update omit-deep-lodash to 1.1.7

        Update omit-deep-lodash from 1.1.4 to 1.1.7
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.8.8
  title: ""
  date: 2022-11-08T07:33:36.421Z
- commits:
    - subject: Update dependency immutable to 3.8.2
      hash: 330df325f9b2eb855c6213f91cdb0d4cf1439525
      body: |
        Update immutable to 3.8.2

        Update immutable from 3.8.1 to 3.8.2
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.8.7
  title: ""
  date: 2022-11-08T06:19:12.271Z
- commits:
    - subject: Update dependency electron-rebuild to 3.2.9
      hash: 3dc54405feebce319bb29933f9bad52621067f0a
      body: |
        Update electron-rebuild to 3.2.9

        Update electron-rebuild from 3.2.5 to 3.2.9
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.8.6
  title: ""
  date: 2022-11-08T05:18:29.447Z
- commits:
    - subject: Update dependency electron-mocha to 9.3.3
      hash: 1b93891ed805d2a091a3d4eaff6a00a498de6eaa
      body: |
        Update electron-mocha to 9.3.3

        Update electron-mocha from 9.3.2 to 9.3.3
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.8.5
  title: ""
  date: 2022-11-08T04:22:23.418Z
- commits:
    - subject: Update dependency @types/webpack-node-externals to 2.5.3
      hash: ea5a167f4f3eb81a177ebd5c9c3def2e38a65f37
      body: |
        Update @types/webpack-node-externals to 2.5.3

        Update @types/webpack-node-externals from 2.5.0 to 2.5.3
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.8.4
  title: ""
  date: 2022-11-08T02:41:36.635Z
- commits:
    - subject: Update dependency @types/tmp to 0.2.3
      hash: 98a5ddf58ad762d46d532310100513834c6d68b5
      body: |
        Update @types/tmp to 0.2.3

        Update @types/tmp from 0.2.0 to 0.2.3
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.8.3
  title: ""
  date: 2022-11-08T01:36:34.632Z
- commits:
    - subject: Generate release notes with git
      hash: a61aa8e2bec57281655eb1c89c956fd5d42d3fc5
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: ab77
      nested: []
  version: 1.8.2
  title: ""
  date: 2022-11-08T00:19:25.825Z
- commits:
    - subject: Update dependency @types/mime-types to 2.1.1
      hash: fe09f9f862d2eef79a237986c50e587b232d9c2d
      body: |
        Update @types/mime-types to 2.1.1

        Update @types/mime-types from 2.1.0 to 2.1.1
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.8.1
  title: ""
  date: 2022-11-07T23:35:26.671Z
- commits:
    - subject: Update scripts/resin digest to 652fdd4
      hash: 16422971012d77dc928c9d99c3db6b1a58cd52be
      body: |
        Update scripts/resin to

        Update scripts/resin from  to
      footer:
        Change-type: minor
        change-type: minor
      author: Renovate Bot
      nested: []
  version: 1.8.0
  title: ""
  date: 2022-11-07T22:27:03.928Z
- commits:
    - subject: Build targets individually
      hash: b58249b9c833763ec80402820b2c93c01fafda22
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: ab77
      nested: []
  version: 1.7.15
  title: ""
  date: 2022-11-07T21:36:35.993Z
- commits:
    - subject: Update dependency lodash to 4.17.21 [SECURITY]
      hash: f356e4c303080eefdf74f52c2b4de227d20e4e49
      body: |
        Update lodash to 4.17.21

        Update lodash from 4.17.10 to 4.17.21
      footer:
        Change-type: patch
        change-type: patch
      author: Renovate Bot
      nested: []
  version: 1.7.14
  title: ""
  date: 2022-11-07T20:17:53.572Z
- commits:
    - subject: Update release notes on finalize
      hash: 576113febfe000339545c0fd55793aafd2e53abb
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: ab77
      nested: []
  version: 1.7.13
  title: ""
  date: 2022-11-07T19:17:06.571Z
- commits:
    - subject: Avoid duplicate releases
      hash: 33dea6267fbcc3cd47b1744830731c853ebbba18
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: ab77
      nested: []
  version: 1.7.12
  title: ""
  date: 2022-11-07T18:32:19.617Z
- commits:
    - subject: Only run finalize on Linux runners
      hash: 9ab307df4f4f617adac33c6a36f492229050bb0e
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: ab77
      nested: []
  version: 1.7.11
  title: ""
  date: 2022-11-07T17:32:25.787Z
- commits:
    - subject: Switch to Flowzone
      hash: 2e53feb38cd548bd2fe68957797bffe66b832eaf
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: ab77
      nested: []
  version: 1.7.10
  title: ""
  date: 2022-11-07T15:59:41.308Z
- commits:
    - subject: "patch: update allowed extensions to include deb afterinstall in build"
      hash: 61610ded842caba47c6a682afcb08aa0fda4e86b
      body: ""
      footer: {}
      author: mcraa
      nested: []
    - subject: "patch: add update notification"
      hash: c87a132f40b41c28d2375c7489d66ad4a6914355
      body: ""
      footer: {}
      author: Peter Makra
      nested: []
    - subject: "patch: fix usb-device-boot link in README"
      hash: 350d4de32ba0739b0ad1c2dc0b0b98eecf41f8f9
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Andrew Scheller
      nested: []
    - subject: Fix application directory for Debian postinst script
      hash: f5f9025d6db248a8774ff6c9bb9d2afebda6cc3b
      body: ""
      footer:
        Change-type: patch
        change-type: patch
        Signed-off-by: Ken Bannister <kb2ma@runbox.com>
        signed-off-by: Ken Bannister <kb2ma@runbox.com>
      author: Ken Bannister
      nested: []
  version: 1.7.9
  title: "'patch: deb afterinstall and readme updates'"
  date: 2022-04-22T13:10:47.137Z
- commits:
    - subject: "patch: complete suse uninstall readme"
      hash: 8370f638b4e92a4c981f79362ba0d0700f9f94a1
      body: ""
      footer:
        Change-Type: patch
        change-type: patch
      author: Peter Makra
      nested: []
    - subject: "patch: completed suse instructions"
      hash: ac34c511251f195fd37baf24d1c150a309210c9e
      body: ""
      footer:
        Change-Type: patch
        change-type: patch
      author: Peter Makra
      nested: []
    - subject: "patch: order rpm instrictions"
      hash: b241470fe1bae57e70888b84bb066855363a350b
      body: ""
      footer:
        Change-Type: patch
        change-type: patch
      author: Peter Makra
      nested: []
    - subject: "patch: enabled update notification for version 1.7.8"
      hash: 335766ed12901d6b8b16860d449eca4ea574f9c1
      body: ""
      footer:
        Change-Type: patch
        change-type: patch
      author: Peter Makra
      nested: []
    - subject: "patch: updated title to balenaEtcher"
      hash: 4c5d052a7185ecd598a12d80d2bd7afd5ced7c92
      body: |
        fixes #3592
      footer:
        Change-Type: patch
        change-type: patch
      author: Peter Makra
      nested: []
    - subject: "patch: cleanup and organize readme"
      hash: 86423342a86a9327545099eb9df47236d0ac6aef
      body: ""
      footer:
        Change-Type: patch
        change-type: patch
      author: Peter Makra
      nested: []
    - subject: "patch: extend cloudsmith attribution in readme"
      hash: d8b41552e34faf71bbd128f3857667f8f341a217
      body: ""
      footer:
        Change-Type: patch
        change-type: patch
      author: Peter Makra
      nested: []
    - subject: Update macOS Icon to Big Sur Style
      hash: 11c65fb392416027158918f77bde68dd8996187c
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Logicer
      nested: []
  version: 1.7.8
  title: "'small ui updates'"
  date: 2022-03-18T10:39:52.131Z
- commits:
    - subject: "patch: clarified update check"
      hash: a5201942b8817cc1d74fba0ae2c8378632d16fc5
      body: ""
      footer: {}
      author: Peter Makra
      nested: []
    - subject: "patch: autoupdate stagingPercentage check, include default"
      hash: c1f7164273ffff5d2d5e6aadc1defcd9b0acbecb
      body: ""
      footer:
        Change-Type: patch
        change-type: patch
      author: Peter Makra
      nested: []
  version: 1.7.7
  title: "'patch: Fix auto update'"
  date: 2022-02-22T08:57:27.982Z
- commits:
    - subject: "patch: version number notification"
      hash: 35868509af3461f5bc312990d184d88eae476c4f
      body: ""
      footer: {}
      author: Peter Makra
      nested: []
    - subject: "patch: fixed typos in template"
      hash: 4366bb372f3c273ccce99dc61b1ced905c591004
      body: ""
      footer: {}
      author: Peter Makra
      nested: []
    - subject: "patch: add requirements and help to issue template"
      hash: e4d02bc561c359ace94a2c461310ef0dc44b2ca1
      body: ""
      footer: {}
      author: mcraa
      nested: []
    - subject: "patch: add requirements and help to issue template"
      hash: b9e54e39f7f95aa64e2b12474936c3ce880b661f
      body: ""
      footer: {}
      author: mcraa
      nested: []
  version: 1.7.6
  title: "'patch: add requirements and help to issue template'"
  date: 2022-02-21T15:40:15.306Z
- commits:
    - subject: "patch: fix flashing from URL when using basic auth"
      hash: a6f6cd4a19b25c26cbc36386719186a7e3c31fea
      body: ""
      footer: {}
      author: Marco Füllemann
      nested: []
  version: 1.7.5
  title: "'patch: fix flashing from URL when using basic auth'"
  date: 2022-02-21T12:39:38.276Z
- commits:
    - subject: "patch: set version update notification 1.7.3"
      hash: 28adc34239f9abc7ccfe13f2810991ca0f17a645
      body: ""
      footer: {}
      author: Peter Makra
      nested: []
    - subject: "patch: updated electron to 12.2.3"
      hash: 59f54e194bd19c5e77b797039141be65371b376c
      body: ""
      footer:
        Change-Type: patch
        change-type: patch
      author: Peter Makra
      nested: []
    - subject: "patch: updated electron to 12.2.3"
      hash: c4834e61a7058d91d9a17960acb16365591a17fd
      body: ""
      footer:
        Change-Type: patch
        change-type: patch
      author: Peter Makra
      nested: []
  version: 1.7.4
  title: "'patch: updated electron to 12.2.3'"
  date: 2022-02-21T08:33:45.382Z
- commits:
    - subject: "patch: fix mesage of null"
      hash: 9c1b55bebc1f7777ee830886c1999a72f082c17f
      body: ""
      footer:
        Change-Type: patch
        change-type: patch
      author: Peter Makra
      nested: []
  version: 1.7.3
  date: 2021-12-29T14:31:13.283Z
- commits:
    - subject: "patch: fixed open from browser on windows"
      hash: ef90d048ca2fc9e3eb7731b4b5eff63c3f0ee00a
      body: ""
      footer:
        Change-type: patch
        change-type: patch
        Signed-off-by: Peter Makra <peter@balena.io>
        signed-off-by: Peter Makra <peter@balena.io>
      author: Peter Makra
      nested: []
  version: 1.7.2
  date: 2021-12-21T16:51:12.194Z
- commits:
    - subject: "patch: Revert back to electron-rebuild"
      hash: ea9875ddf06b932b22b5b26d64fed6fe4f02384e
      body: ""
      footer:
        Signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      author: Lorenzo Alberto Maria Ambrosi
      nested: []
    - subject: "patch: Disallow TS in JS"
      hash: 65dacd2ff282864b82283b7f8251ef9fa548ed3f
      body: ""
      footer:
        Signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      author: Lorenzo Alberto Maria Ambrosi
      nested: []
    - subject: "patch: Remove esInterop TS flag"
      hash: a190818827e2354f9ff13d04017541c1fae6cd47
      body: ""
      footer:
        Signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      author: Lorenzo Alberto Maria Ambrosi
      nested: []
    - subject: "patch: Use @balena/sudo-prompt"
      hash: 98e33b619be70348429038b5d04e49a840c8f218
      body: ""
      footer:
        Signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      author: Lorenzo Alberto Maria Ambrosi
      nested: []
    - subject: "patch: Update rpiboot guide link"
      hash: 685ed715ac85495343a82e5d7886ad826fe2cdfe
      body: ""
      footer:
        Signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      author: Lorenzo Alberto Maria Ambrosi
      nested: []
    - subject: "patch: Improve webpack build time"
      hash: 3cf3c4b398fb65cb4ca59cbf8c3798492197f622
      body: ""
      footer:
        Signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      author: Lorenzo Alberto Maria Ambrosi
      nested: []
  version: 1.7.1
  date: 2021-11-22T11:27:50.714Z
- commits:
    - subject: "patch: Add missing @types/react@16.8.5"
      hash: 0a28af5c35a5c73cd78a729bfd8f4bb7978d7c1a
      body: ""
      footer:
        Signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      author: Lorenzo Alberto Maria Ambrosi
      nested: []
    - subject: "patch: Use npm ci in Makefile"
      hash: 0c1e5b88ef01465ee84712560971af31c3f630ca
      body: ""
      footer:
        Signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      author: Lorenzo Alberto Maria Ambrosi
      nested: []
    - subject: "patch: Add draft info boxes for system information"
      hash: 790201be90e63a3e93c64060bacd977e52dfb4ff
      body: ""
      footer:
        Signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      author: Lorenzo Alberto Maria Ambrosi
      nested: []
    - subject: "patch: Remove electron-rebuild package"
      hash: d8d379f05e8adc4fb3df6b5f926d3ff548bed0bc
      body: ""
      footer:
        Signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      author: Lorenzo Alberto Maria Ambrosi
      nested: []
    - subject: "patch: Make electron a dev. dependency"
      hash: b5e9701048eebd4f8a56157cad8bdc966e354a32
      body: ""
      footer:
        Signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      author: Lorenzo Alberto Maria Ambrosi
      nested: []
    - subject: "patch: Remove electron-rebuild package"
      hash: 292f86d6f5b0e8dd34cb3dd6e008517f9a066cd0
      body: ""
      footer:
        Signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      author: Lorenzo Alberto Maria Ambrosi
      nested: []
    - subject: "patch: Use exact modules versions"
      hash: 76ca9934c808ec013dcad2b427b21f253c588d8d
      body: ""
      footer:
        Signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      author: Lorenzo Alberto Maria Ambrosi
      nested: []
    - subject: "patch: Update etcher-sdk from v6.2.5 to v6.3.0"
      hash: 37b826ee4ee47bda5285083c2184b7e6bf2a6a3b
      body: ""
      footer:
        Signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      author: Lorenzo Alberto Maria Ambrosi
      nested: []
    - subject: Fix write step for Http file process
      hash: 1e1bd3c508197f0e129715d5e37d1bc06744089b
      body: ""
      footer:
        Change-type: patch
        change-type: patch
        Signed-off-by: Andrea Rosci <andrear@balena.io>
        signed-off-by: Andrea Rosci <andrear@balena.io>
      author: JSReds
      nested: []
    - subject: "patch: Fix linting errors"
      hash: 00e8f11913eb9eaadb09909cc530693aac825e9f
      body: ""
      footer:
        Signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      author: Lorenzo Alberto Maria Ambrosi
      nested: []
    - subject: "minor: Refactor dependencies installation to avoid custom scripts"
      hash: a3c24a26a05d1c3a767bf7f515cc7f193c9d8e2b
      body: ""
      footer:
        Signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      author: Lorenzo Alberto Maria Ambrosi
      nested: []
    - subject: "patch: Fix LEDs init error"
      hash: 4232928ad894fed548290054b09e25e60fa9eda3
      body: ""
      footer:
        Signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      author: Lorenzo Alberto Maria Ambrosi
      nested: []
  version: 1.7.0
  date: 2021-11-09T13:13:32.580Z
- commits:
    - subject: Add support for basic auth when downloading images from URL.
      hash: b2d0c1c9ddbbfe87d5a905d420d615821610e825
      body: >
        When selecting "Flash from URL" the user can optionally provide a
        username and password for basic authentication. The authentication input
        fields are collapsed by default. When the authentication input fields
        are collapsed after entering values the values are cleared to ensure
        that the user sees all parameter passed to the server.
      footer:
        Change-Type: minor
        change-type: minor
        Changelog-Entry: Add support for basic auth when downloading images from URL.
        changelog-entry: Add support for basic auth when downloading images from URL.
      author: Marco Füllemann
      nested: []
    - subject: "patch: Update etcher-sdk from v6.2.1 to v6.2.5"
      hash: 14d91400a425617ee87e0d64f55980bd378fbfc2
      body: ""
      footer:
        Signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      author: Lorenzo Alberto Maria Ambrosi
      nested: []
    - subject: Update Makefile to Apple M1 info
      hash: d0114aece7df213e27a84cb0081ba6cedd541bcb
      body: |
        Expanding host architecture detection.
      footer:
        Change-type: patch
        change-type: patch
      author: David Gaspar
      nested: []
    - subject: Add LED settings for potentially different hardware
      hash: dff2df4aab73a26fb90401869bfd58035dc652a9
      body: ""
      footer:
        Change-type: patch
        change-type: patch
        Signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      author: Lorenzo Alberto Maria Ambrosi
      nested: []
  version: 1.6.0
  date: 2021-09-20T10:42:04.677Z
- commits:
    - subject: Restore image file selection LED-drive pathing
      hash: f46963b6b3176395acc07863c9936a7c7f31d31a
      body: ""
      footer:
        Change-type: patch
        change-type: patch
        Signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      author: Lorenzo Alberto Maria Ambrosi
      nested: []
    - subject: Update scripts submodule
      hash: b97f4e0031d7c4d0f33be9fdb8c999631f9eef1d
      body: ""
      footer:
        Change-type: patch
        change-type: patch
        Signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      author: Lorenzo Alberto Maria Ambrosi
      nested: []
    - subject: Change LEDs colours
      hash: e2d233d74b6335fd53a9271a9c00c3f93828c5b5
      body: ""
      footer:
        Change-type: patch
        change-type: patch
        Signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      author: Lorenzo Alberto Maria Ambrosi
      nested: []
    - subject: Windows images now show the proper warning again
      hash: a7ca2e527bc0cc040711ee4d60f93eda35f17558
      body: ""
      footer:
        Change-type: patch
        change-type: patch
        Changelog-entry: Windows images now show the proper warning again
        changelog-entry: Windows images now show the proper warning again
        Signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      author: Lorenzo Alberto Maria Ambrosi
      nested: []
    - subject: Fix Update and install with DNF instructions
      hash: 396a053c0a0ec8def4b3672509cbb4ecc0b0c784
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Mohamed Salah
      nested: []
    - subject: Add possibile authorization as a query param
      hash: d1a3f1cb88ff38f804caa9289d3205b09666c1e6
      body: ""
      footer:
        Change-type: patch
        change-type: patch
        Signed-off-by: Andrea Rosci <andrear@balena.io>
        signed-off-by: Andrea Rosci <andrear@balena.io>
      author: JSReds
      nested: []
    - subject: update the windows part
      hash: 9f96558cdd11ce83dcc08289c31da425063eab24
      body: |
        I choose to add this part because, after the clean the usb stick
        could stay in a raw state without creating the new partions,
        activating and formatting.
        Thanks
      footer:
        Change-type: patch
        change-type: patch
      author: Xtraim
      nested: []
    - subject: Update SUPPORT.md
      hash: b3bc589d70cc4498a13f86f7d9aa36d9908275e3
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: thambu1710
      nested: []
    - subject: replace make webpack with npm run webpack
      hash: 18d2c28110c8b4b4c327a58f6f6a712c33dfd4cc
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Seth Falco
      nested: []
    - subject: Add loader on image select
      hash: b272ef296dec9b4242028202e1d759f1e2d1aa2b
      body: ""
      footer:
        Change-type: patch
        change-type: patch
        Signed-off-by: Andrea Rosci <andrear@balena.io>
        signed-off-by: Andrea Rosci <andrear@balena.io>
      author: JSReds
      nested: []
    - subject: add pnp-webpack-plugin
      hash: 32ca28a3a95d2ffd3eb2b32cfc54113515ae3097
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Zane Hitchcox
      nested: []
    - subject: Remove redundant codespell dependency/tests
      hash: 4d5e5a3b0b81cbdd3341abbcca0c816bc905a8ed
      body: ""
      footer:
        Change-type: patch
        change-type: patch
        Signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      author: Lorenzo Alberto Maria Ambrosi
      nested: []
  version: 1.5.122
  date: 2021-09-02T12:20:22.871Z
- commits:
    - subject: "patch: Delete Codeowners"
      hash: a81b552b95f93a8989a6fff4774a14e21abe9a0e
      body: ""
      footer: {}
      author: Vipul Gupta
      nested: []
    - subject: Add source maps for devtools
      hash: 53f53c0f75779e814834e2fd0375b705664190c5
      body: ""
      footer:
        Change-type: patch
        change-type: patch
        Signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      author: Lorenzo Alberto Maria Ambrosi
      nested: []
    - subject: Clone submodules when initializing modules
      hash: fdaf5c69d6bd20b64b1c1749b62dec9c22f12fb4
      body: ""
      footer:
        Change-type: patch
        change-type: patch
        Signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      author: Lorenzo Alberto Maria Ambrosi
      nested: []
    - subject: "patch: Select drive on list interaction rather than modal closing"
      hash: 061afca5d3ce7dbf67d66706e6c2c65ecd61cf7b
      body: ""
      footer:
        Signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      author: Lorenzo Alberto Maria Ambrosi
      nested: []
  version: 1.5.121
  date: 2021-07-05T18:20:04.735Z
- commits:
    - subject: Update README to reference Cloudsmith
      hash: 7e333caaf9d94ff90583fe897ccabb6fdf860f74
      body: ""
      footer:
        Change-type: patch
        change-type: patch
        Signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      author: Lorenzo Alberto Maria Ambrosi
      nested: []
  version: 1.5.120
  date: 2021-05-11T16:04:28.710Z
- commits:
    - subject: Update readme for new PPA provider
      hash: 250aed2eb1911a6302a80bd7e9f4488c96787ee0
      body: ""
      footer:
        Change-type: patch
        change-type: patch
        Signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      author: Lorenzo Alberto Maria Ambrosi
      nested: []
  version: 1.5.119
  date: 2021-04-30T21:33:09.009Z
- commits:
    - subject: "patch: development environment"
      hash: 1ee110bc9587ecdc672b5b9cf8373e78c04943a1
      body: >-
        Add webpack dev server and hot module reloading to get live changes and
        reloads without reloading the whole electron app.


        This patch also runs the development environment in development mode,
        which is much, much faster on builds and rebuilds.
      footer: {}
      author: Zane Hitchcox
      nested: []
    - subject: "patch: watch files for electron"
      hash: 33dd07c6751e5ca84b5e7d78027e2e9fec1e7b0e
      body: ""
      footer: {}
      author: Zane Hitchcox
      nested: []
  version: 1.5.118
  date: 2021-04-27T01:21:31.707Z
- commits:
    - subject: Rename mac releases (keep old naming)
      hash: 0bdea5c54ca1465d89c73cd269e60ebb24c79f0f
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Alexis Svinartchouk
      nested: []
    - subject: Disable spectron tests on macOS
      hash: 3be372d49fd0a24bd67086d4a523ed831a828d4b
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Alexis Svinartchouk
      nested: []
    - subject: Update electron to v12.0.2
      hash: d0c66b2c4844540c90440f2baea9819dc136a16b
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Alexis Svinartchouk
      nested: []
    - subject: Update etcher-sdk from 6.1.1 to 6.2.1
      hash: 65082c4790c1109077aecae1a5f48def4db03e0c
      body: |
        Update etcher-sdk from 6.1.1 to 6.2.1
      footer:
        Change-type: patch
        change-type: patch
      author: Alexis Svinartchouk
      nested:
        - commits:
            - subject: Update node-raspberrypi-usbboot from 0.2.11 to 0.3.0
              hash: de39ec278ff397d1f69bcb4db968486ce59b33b2
              body: |
                Update node-raspberrypi-usbboot from 0.2.11 to 0.3.0
              footer:
                Change-type: patch
                change-type: patch
              author: Alexis Svinartchouk
              nested:
                - commits:
                    - subject: Add support for compute module 4
                      hash: 701744f0bbc02bd7d322ed7e989af576a7156689
                      body: ""
                      footer:
                        Change-type: minor
                        change-type: minor
                      author: Alexis Svinartchouk
                    - subject: Fix size endianness of boot_message_t message
                      hash: 867d8b0d217af0ad554d839fbc42cc08b222bc32
                      body: ""
                      footer:
                        Change-type: patch
                        change-type: patch
                      author: Alexis Svinartchouk
                  version: node-raspberrypi-usbboot-0.3.0
                  date: 2021-03-26T16:10:38.120Z
          version: etcher-sdk-6.2.1
          date: 2021-03-26T16:37:33.170Z
        - commits:
            - subject: Added BeagleBone USB Boot example
              hash: f088dbb3543d55341d06cfb6b20f64e02b9f6a78
              body: ""
              footer:
                Change-type: patch
                change-type: patch
              author: Parthiban Gandhi
              nested: []
            - subject: Added BeagleBone USB Boot support
              hash: 2a1d745bf59ca93739f489d7ae85ba19bc2697da
              body: ""
              footer:
                Change-type: minor
                change-type: minor
              author: Parthiban Gandhi
              nested: []
          version: etcher-sdk-6.2.0
          date: 2021-02-18T12:08:54.323Z
    - subject: Fix getAppPath() returning an asar file on macOS
      hash: e87ed9beed924da86b73c10addde432958586895
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Alexis Svinartchouk
      nested: []
    - subject: Grammar fix
      hash: bc5563d9c2ac9dcdd541d7e3cf062b9c29f8e1b4
      body: |
        "flash directly" sounds odd
      footer:
        Change-type: patch
        change-type: patch
      author: Andrew Scheller
      nested: []
    - subject: (docs) update README.md
      hash: ad83ab5dccba5c4d746d52fc7ea6e18451bfd162
      body: |
        - fix spelling
        - emphasize notes
        - add link
        - fix macOS to account for new homebrew API
      footer:
        Change-type: patch
        change-type: patch
      author: vlad doster
      nested: []
    - subject: Update copyright year in electron-builder.yml
      hash: 0dc1cf970186ef235eb12e5839712e7389ee37ef
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Andrew Scheller
      nested: []
    - subject: Update copyright year in .resinci.json
      hash: 11489c653861590da2129f00fa938b062d9fd16a
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Andrew Scheller
      nested: []
    - subject: Separate the Yum and DNF instructions.
      hash: 2619d4bc8602962d45317713474968c4aa833d67
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Dugan Chen
      nested: []
    - subject: Set msvs_version to 2019 when rebuilding
      hash: 3730efd350d0875b7bbfcd58b614ca2ab025de4f
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Alexis Svinartchouk
      nested: []
    - subject: "Use moduleIds: 'natural' in webpack config to keep js files in arm64
        and x64 mac builds identical"
      hash: 6ece32c546ca83a5be387d2618ce2967ad65dc81
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Alexis Svinartchouk
      nested: []
    - subject: Update electron-builder to 22.10.5
      hash: fd9996a3cc8f9c973518f57f439b3bc78b7b1671
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Alexis Svinartchouk
      nested: []
    - subject: Update spectron to v13
      hash: f06cc89152772bcf8748a02514a948bc9aecc9a1
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Alexis Svinartchouk
      nested: []
    - subject: Update dependencies, use aws4-axios@2.2.1 to avoid adding more
        dependiencies
      hash: c1d7ab3fa9e66b5c33a302c62c282d48e37dde54
      body: |
        Also filter out dmg-license dependencies from the shrinkwrap file
        aws4-axios@2.3.0 brings in react-native, see aws/aws-sdk-js-v3#1797
      footer:
        Change-type: patch
        change-type: patch
      author: Alexis Svinartchouk
      nested: []
    - subject: Update scripts to build universal mac dmgs on the ci
      hash: b206483c7cf37ef9865bc242b4053f6a5cc7cdec
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Alexis Svinartchouk
      nested: []
    - subject: Fix beforeBuild.js script to also work on mac
      hash: c3eb8c7b5603129ab12e38dda6f34bfb752034ef
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Alexis Svinartchouk
      nested: []
    - subject: Support building universal dmgs (x64 and arm64) for mac
      hash: 0849d4f435ba0e5612b6837996b18ab148346f07
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Alexis Svinartchouk
      nested: []
    - subject: Update electron-builder to 22.10.4
      hash: 1dba3ae19b324b5a45541002e91c0e5fd93c92e3
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Alexis Svinartchouk
      nested: []
    - subject: Fix titlebar z-index
      hash: f33f2e3771f0ea08424bb8169d596198a1c09035
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Alexis Svinartchouk
      nested: []
    - subject: Explicitly set contextIsolation to false
      hash: e56aaed9735cc22b28317455a4dc81d86d7746ab
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Alexis Svinartchouk
      nested: []
    - subject: Update electron from 9.4.1 to 11.2.3
      hash: a4659f038eb8ed0aa6ffb7b2e2c22ff5d29250d3
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Alexis Svinartchouk
      nested: []
    - subject: Update etcher-sdk from 6.1.0 to 6.1.1
      hash: cd462818da6f812fcec547e933964697bfd6847e
      body: |
        Update etcher-sdk from 6.1.0 to 6.1.1
      footer:
        Change-type: patch
        change-type: patch
      author: Alexis Svinartchouk
      nested:
        - commits:
            - subject: Update node-raspberrypi-usbboot from 0.2.10 to 0.2.11
              hash: 66a232f0a2cb06192a5d94ddde9831893966cc94
              body: |
                Update node-raspberrypi-usbboot from 0.2.10 to 0.2.11
              footer:
                Change-type: patch
                change-type: patch
              author: Alexis Svinartchouk
              nested:
                - commits:
                    - subject: Update @balena.io/usb from 1.3.12 to 1.3.14
                      hash: d7cb5c673bfc8bd7c4ca3d49490fc9407d12700d
                      body: |
                        Update @balena.io/usb from 1.3.12 to 1.3.14
                      footer:
                        Change-type: patch
                        change-type: patch
                      author: Alexis Svinartchouk
                  version: node-raspberrypi-usbboot-0.2.11
                  date: 2021-02-10T15:43:10.247Z
          version: etcher-sdk-6.1.1
          date: 2021-02-10T16:33:01.204Z
  version: 1.5.117
  date: 2021-04-02T14:05:00.244Z
- commits:
    - subject: Only cleanup temporary decompressed files in child-writer
      hash: 48b5e8b9d90fdd9df98e099db1947bb6b2490a5a
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Alexis Svinartchouk
      nested: []
    - subject: Add .versionbot/CHANGELOG.yml
      hash: 1f138f0ecc13046ffe4f0bce2795c492fc3d4486
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Alexis Svinartchouk
      nested: []
    - subject: Stop using node-tmp, use withTmpFile from etcher-sdk instead
      hash: 73f67e99ca7608a43afb326ab4a63e9507b769a1
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Alexis Svinartchouk
      nested: []
    - subject: Update etcher-sdk from 5.2.2 to 6.1.0
      hash: 9114da2445df0df85fc97aa3d83797c72963aba6
      body: |
        Update etcher-sdk from 5.2.2 to 6.1.0
      footer:
        Change-type: patch
        change-type: patch
      author: Alexis Svinartchouk
      nested:
        - commits:
            - subject: Prefix temporary decompressed images filenames
              hash: 58b0ba2d9362536a105ff2b1152915540a9efb1e
              body: ""
              footer:
                Change-type: minor
                change-type: minor
              author: Alexis Svinartchouk
              nested: []
          version: etcher-sdk-6.1.0
          date: 2021-02-03T13:41:11.058Z
        - commits:
            - subject: Ignore ENOENT errors on unlink in withTmpFile
              hash: 7bb2a23c4e94dcda6a7b494fe0435c0b59b56b06
              body: >
                The temporary file might have been already deleted by
                cleanupTmpFiles
              footer:
                Change-type: patch
                change-type: patch
              author: Alexis Svinartchouk
              nested: []
          version: etcher-sdk-6.0.1
          date: 2021-02-02T14:57:11.116Z
        - commits:
            - subject: Export tmp and add prefix and postfix options
              hash: bd80af3ec5a87229fb3aebe2c77787371ab20253
              body: ""
              footer:
                Change-type: major
                change-type: major
              author: Alexis Svinartchouk
              nested: []
          version: etcher-sdk-6.0.0
          date: 2021-02-01T18:03:42.334Z
        - commits:
            - subject: upgrade lint
              hash: 172bf453b5f96d6ebe06dc6564dec6613b97e3c7
              body: ""
              footer:
                Change-type: patch
                change-type: patch
              author: Zane Hitchcox
              nested: []
          version: etcher-sdk-5.2.3
          date: 2021-01-26T12:07:58.336Z
    - subject: Revert "Change some border colors to have higher contrast"
      hash: 554bbcc780f96b007b5b28610e1c724fab863cb5
      body: |
        This reverts commit 8c4edaabba832a5771caea69356e4d565a2c2e13.
      footer:
        Change-type: patch
        change-type: patch
      author: Alexis Svinartchouk
      nested: []
    - subject: Update electron to v9.4.1
      hash: 4db2289cfdd02f41523b6ece2982c22114372f40
      body: ""
      footer:
        Change-type: patch
        change-type: patch
      author: Alexis Svinartchouk
      nested: []
    - subject: Update etcher-sdk from 5.2.1 to 5.2.2
      hash: c15b56bc237207fd16b432c22e612c20f16b451a
      body: |
        Update etcher-sdk from 5.2.1 to 5.2.2
      footer:
        Change-type: patch
        change-type: patch
      author: Alexis Svinartchouk
      nested:
        - commits:
            - subject: Update drivelist from 9.2.2 to 9.2.4
              hash: cebb5202f81572aac786c332c9c71c537602774c
              body: |
                Update drivelist from 9.2.2 to 9.2.4
              footer:
                Change-type: patch
                change-type: patch
              author: Alexis Svinartchouk
              nested:
                - commits:
                    - subject: Pass strings between methods as std::string instead of char *
                      hash: 1ec6a8ffc4c9e138b78210f0db84a9ebd6c9182b
                      body: >
                        - Fixes "basic_string::_M_construct null not valid"
                        exception
                          aborting program, because WCharToUtf8() returned NULL
                          in some cases, and NULL was being fed to string constructor.
                        - Fixes memory leak because memory allocated with
                        calloc()
                          in WCharToUtf8() was not being freed anywhere
                        - Fixes undefined behavior because GetEnumeratorName()
                        returns
                          pointer to stack memory, that goes outside of scope while
                          pointer still is being used.

                        Closes #381

                        Closes #382
                      footer:
                        Change-type: patch
                        change-type: patch
                      author: Floris Bos
                  version: drivelist-9.2.4
                  date: 2021-01-19T13:27:50.033Z
                - commits:
                    - subject: Support lsblk versions that do no support the pttype column
                      hash: a6d568bb64e53c0dc3aeb226cbd0b19bbb090671
                      body: ""
                      footer:
                        Change-type: patch
                        change-type: patch
                      author: Alexis Svinartchouk
                  version: drivelist-9.2.3
                  date: 2021-01-19T13:07:29.910Z
          version: etcher-sdk-5.2.2
          date: 2021-01-19T17:24:06.603Z
  version: 1.5.116
  date: 2021-02-03T13:58:32.420Z
- version: 1.5.115
  date: 2021-01-18T12:07:12.000Z
  commits:
    - hash: 361c32913ccab6dffacce47dbac22eac61b4abc9
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Update etcher-sdk from 5.1.12 to 5.2.1
      body: Update etcher-sdk from 5.1.12 to 5.2.1
- version: 1.5.114
  date: 2021-01-15T12:28:32.000Z
  commits:
    - hash: 93db90c725bdc56967eb73eace8cc09d6d4b1c70
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Disable screensaver while flashing (on balena-electron-env)
      body: null
    - hash: 3521b61a817e5094425b9c631ec5bd485f50c0e9
      author: Aaron Shaw
      footers:
        change-type: patch
        signed-off-by: Aaron Shaw <aaron@balena.io>
      subject: "docs: fix quote marks"
      body: "Fix quote mark styling\r\n\r"
    - hash: e8c7591751e8e6af9f49cfbcd6043da1b06477e7
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Fix typo in webpack.config.ts comment
      body: null
    - hash: b74069eb41e88826a26a893c43624001db919a62
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update webpack to v5
        change-type: patch
      subject: Update webpack to v5
      body: null
    - hash: f82996bfd1b7b562f2889eeddc5589df62817f5b
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Update @balena/lint to 5.3.0
      body: null
    - hash: 53954e81fd148f25da67d56cff32cf89171e13a4
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Update dependencies
      body: null
    - hash: f9d7991dc8aaca8ebeeb56309f52ec7cc5141058
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Update rendition from 18.8.3 to 19.2.0
      body: Update rendition from 18.8.3 to 19.2.0
    - hash: 1188888956ee2895e363efdfbe6d90d0b612064a
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Update etcher-sdk from 5.1.11 to 5.1.12
      body: Update etcher-sdk from 5.1.11 to 5.1.12
    - hash: aa563c87bd4f8217212bc72a96c7785daeb1c26e
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Remove libappindicator1 debian dependency
        change-type: patch
      subject: Remove libappindicator1 debian dependency
      body: null
- version: 1.5.113
  date: 2020-12-08T13:54:21.000Z
  commits:
    - hash: 8c4edaabba832a5771caea69356e4d565a2c2e13
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Change some border colors to have higher contrast
      body: null
    - hash: d3df2fe57eae0c05d031dabd3f4e0454d0b3849d
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update sys-class-rgb-led from 2.1.1 to 3.0.0
        change-type: patch
      subject: Update sys-class-rgb-led from 2.1.1 to 3.0.0
      body: Update sys-class-rgb-led from 2.1.1 to 3.0.0
    - hash: 05497ce85c063b0ebec8fe6a688a159643a246d6
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update etcher-sdk from 5.1.10 to 5.1.11
        change-type: patch
      subject: Update etcher-sdk from 5.1.10 to 5.1.11
      body: Update etcher-sdk from 5.1.10 to 5.1.11
    - hash: 8c4edaabba832a5771caea69356e4d565a2c2e13
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Change some border colors to have higher contrast
      body: null
    - hash: 2f08142f5abe91b2ba09357c18e2750621484181
      author: bulldozer-balena[bot]
      subject: "Merge pull request #3379 from balena-io/high-contrast-lines"
      body: Change some border colors to have higher contrast
    - hash: 409b78fc21c7d9b09e15671fcf085e54ac1ca357
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Fix effective flashing speed calculation for compressed images
        change-type: patch
      subject: Fix effective flashing speed calculation for compressed images
      body: null
    - hash: c32e485f279d462a83f687d66b0a84158da815f5
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Remove dead code in settings modal
      body: null
    - hash: fe0b45cae63878ee9bdf40cea943ce29a484ff97
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Only show auto-updates setting on supported targets
      body: null
    - hash: 1f94f44b182ee24831bd3bd702df58e72faee807
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Remove unmountOnSuccess setting
        change-type: patch
      subject: Remove unmountOnSuccess setting
      body: null
    - hash: de0010eb72240da28f4cebd8aa1830b4bad1f6f1
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Update rgb leds colors
      body: null
    - hash: 3987078c11f7fefa32571e0f48dfab107d9d324e
      author: Giovanni Garufi
      footers:
        change-type: patch
      subject: Update npm to v6.14.8
      body: null
    - hash: b1e4e681d12ffaf7dae1d7a06b9d0d76fcae40ca
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update electron to v9.4.0
        change-type: patch
      subject: Update electron to v9.4.0
      body: null
    - hash: 36d05724c00015e7c655d6afbd66d9c8904f74cc
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Improve hover message when the drive is too small
        change-type: patch
      subject: Improve hover message when the drive is too small
      body: null
    - hash: b4b8c89aad31dcb191e54a2e96ec9feab94e3206
      author: Aaron Shaw
      footers:
        change-type: patch
        signed-off-by: Aaron Shaw <aaron@balena.io>
      subject: "docs: update macOS version"
      body: "Update macOS version as latest version of Electron is 10.10 compatible
        only (Yosemite)\r

        \r"
    - hash: 3cde2faed0440926c8913e72100aa18562bacbb0
      author: Aaron Shaw
      footers:
        change-type: patch
        closes: https://github.com/balena-io/etcher/issues/3191
        signed-off-by: Aaron Shaw <aaron@balena.io>
      subject: "docs: add documentation links"
      body: "add documentation and faq links\r\n\r"
    - hash: fc45df270af35151027f231df4fd1d826d4b2bd2
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Fix red leds not showing for failed devices
      body: null
    - hash: c54856a616446b0ea3f9fd569a9558a2aeb5ede2
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Show the first error for each drive (not the last)
        change-type: patch
      subject: Only store the first error for each target
      body: null
- version: 1.5.112
  date: 2020-12-03T15:17:29.000Z
  commits:
    - hash: da3a22d0f6254c6563c3be5ec192300970880dab
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Set useContentSize to true so the size is the same on all platforms
        change-type: patch
      subject: Set useContentSize to true so the size is the same on all platforms
      body: null
    - hash: 8bd11a01aebedd8f83fee0ba95fc14ab37389e16
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update etcher-sdk from 5.1.5 to 5.1.10
        change-type: patch
      subject: Update etcher-sdk from 5.1.5 to 5.1.10
      body: Update etcher-sdk from 5.1.5 to 5.1.10
    - hash: 3c0084d012f983241d1e2bb44971e44ffec41709
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Fix modal content height on Windows
      body: null
    - hash: 4e68955981827f4be5c50557e18e1f7d70297ac6
      author: Alexis Svinartchouk
      footers:
        change-type: none
      subject: Target commit instead of branch name for sudo-prompt
      body: null
    - hash: 50730bd3dfa7058e2834a7571159e74cee59acd0
      author: Alexis Svinartchouk
      footers:
        change-type: none
      subject: Fix imports in child-writer.ts
      body: null
    - hash: fa593e33d1568e4863ae0057b5133cc1dc2d10b7
      author: Alexis Svinartchouk
      footers:
        change-type: none
      subject: Update repo.yml to enable nested changelogs
      body: null
    - hash: 2158e20380276240e725da4da5baa4a563be6a35
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Improve flashing error handling
        change-type: patch
      subject: Improve flashing error handling
      body: null
    - hash: f46176fd105fbe9ac8d062bcd871af3f0a77105c
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Fix layout when the featured project is not showing
        change-type: patch
      subject: Fix layout when the featured project is not showing
      body: null
    - hash: edabacfb3a7a327557d00da02dbdc5d7cac2c54d
      author: Alexis Svinartchouk
      footers:
        change-type: none
      subject: Fix spectron test to work on Windows in all cases
      body: null
    - hash: 2e5a39dcd83cb614804c93859aff71cb1a91d237
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update sys-class-rgb-led from 2.1.0 to 2.1.1
        change-type: patch
      subject: Update sys-class-rgb-led from 2.1.0 to 2.1.1
      body: Update sys-class-rgb-led from 2.1.0 to 2.1.1
    - hash: 3647457bb5793fbf42b34840d1678f78715eff30
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Add rendition and sys-class-rgb-led to repo.yml
      body: null
- version: 1.5.111
  date: 2020-11-23T17:52:39.000Z
  commits:
    - hash: 560ed91e2ec02a9abb8a62da78312fdfa68930e4
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update etcher-sdk to 5.1.1, use WASM ext2fs module
        change-type: patch
      subject: Update etcher-sdk to 5.1.1, use WASM ext2fs module
      body: null
    - hash: bddb89e4a1c7b6ef75e7b1762d725e219239ebc0
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update electron to v9.3.3
        change-type: patch
      subject: Update electron to v9.3.3
      body: null
    - hash: e2c2b4069030e0fce9c928e1d113c8f63419674d
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Remove "Validate write on success" setting. Validation is
          always enabled, press the "skip" button to skip it.
        change-type: patch
      subject: Remove "Validate write on success" setting
      body: Validation is always enabled, press the "skip" button to skip it.
    - hash: 1c52379ee3da40306ae2c14751f9026d59e7a6c3
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Add drivesOrder setting
      body: null
    - hash: e58cfd89c58649ed3ae32e2304495f31b057d865
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Add successBannerURL setting
      body: null
    - hash: ef3b8915d895d59ea4878137d5b4280056ca912b
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Update etcher-sdk to 5.1.2
      body: null
    - hash: 1e0a6a3129735641dc9920eec7ae9acd7495afce
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Removed disableExplicitDriveSelection setting, use autoSelectAllDrives
        instead
      body: null
    - hash: e7b4f0902166cc78dfbf728a6c708586667fb884
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Allow selecting a locked SD card as the source drive
        change-type: patch
      subject: Allow selecting a locked SD card as the source drive
      body: null
    - hash: 644d955f08756cacab866d4bdeb1031fb6f84049
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Prevent opening more than one file selector
      body: null
    - hash: e37ae2743f20d08cd2c2c7dafa55053fc4228aa9
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Update etcher-sdk to 5.1.3
      body: null
    - hash: a2c7a542df3c64e5d91e8ebe70b14abe0c0d1854
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Use a different icon when no source drive is available
        change-type: patch
      subject: Use a different icon when no source drive is available
      body: null
    - hash: af2b6bc8ca0cdd0b68b62d54a208cad8c4553a1a
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Update typescript to 4.1.2
      body: null
    - hash: 0597c0e908c952eb424efe0c06c37addb775b06e
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Update etcher-sdk to 5.1.5
      body: null
    - hash: c69b2fa053241d6d32073df09c363b1f9d2b7f85
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Warn when the source drive has no partition table
        change-type: patch
      subject: Warn when the source drive has no partition table
      body: null
    - hash: 446e8e1253091ea65f518f23ab3fbed74eff4189
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Update bl
      body: null
- version: 1.5.110
  date: 2020-11-05T11:54:37.000Z
  commits:
    - hash: db09b7440d4172df4f416bb287013d92d2ee126c
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        changelog-entry: Rework success screen
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Rework success screen
      body: null
    - hash: 7e7ca9524e6486fdccc59fc4964454be8d925e30
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        changelog-entry: Add skip function to validation
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Add skip function to validation
      body: null
    - hash: e484ae98372ab7661e62e4a0cb79420edcc87325
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Cleanup after child-process is terminated
      body: null
    - hash: 611e6596268f43f3cff3b463dec87001a5498c0a
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Add retry button to the errors modal in success screen
      body: null
    - hash: 06997fdf291d675f1059d33b38da93ff9557e2eb
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Fix zoomFactor in webviews
      body: null
    - hash: e74dc9eb6002202e392cd55b841b0ed4be777fa4
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Update rendition to v18.8.3
      body: null
    - hash: 31409c61ca1cf0b7e66195ad8190eb081bef017c
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Use drive-selector's table for flash errors table
      body: null
    - hash: a7637ad8d45164dad290edf3a4250579d225de7a
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Fix settings spacing
      body: null
    - hash: 640a7409ee364bedc89d812786ed293a20a1492f
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Add dash on table when selecting only some rows
      body: null
    - hash: 4872fa3d6e975385df81a1615d1fcb742c6f82a8
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        changelog-entry: Fix URL not being selected with custom protocol
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Fix URL not being selected with custom protocol
      body: null
    - hash: deb3db0fff97358a1fb3c47d761179be4b0acbb5
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Add more typings & refactor code accordingly
      body: null
    - hash: 6c49c71b3fe6eb02da290a7c53a889de052439bf
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        changelog-entry: Remove console.log in tests
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Remove console.log in tests
      body: null
    - hash: 40e5fb22878576488c5896c266beb8770184b5db
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Add primary colors to default flow
      body: null
- version: 1.5.109
  date: 2020-09-14T16:25:48.000Z
  commits:
    - hash: 7c2644ec51097e9251ac587845552ac23036084c
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Workaround elevation bug on Windows when the username contains
          an ampersand
        change-type: patch
      subject: Workaround elevation bug on Windows when the username contains an
        ampersand
      body: null
    - hash: 0a28a7794d4a5fa2fb55e11999b69d3a982536d3
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Update ext2fs to v2.0.5
      body: null
- version: 1.5.108
  date: 2020-09-10T17:31:36.000Z
  commits:
    - hash: b9076d01af583572aa914968994b2c6e05f9c88c
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Fix content not loading when the app path contains special characters
        change-type: patch
      subject: Fix content not loading when the app path contains special characters
      body: null
- version: 1.5.107
  date: 2020-09-07T09:48:17.000Z
  commits:
    - hash: 377dfb8e220276549364094ea9c1a88cdd63f50c
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Split drive selector from target selector
      body: null
    - hash: dda022df37133d638808bae4271982789d8e584f
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        changelog-entry: Add clone-drive workflow
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Add clone-drive workflow
      body: null
    - hash: bb04098062f84462200468159510cc4b77cb9ea5
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        changelog-entry: Reword macOS Catalina askpass message
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Reword macOS Catalina askpass message
      body: null
    - hash: aa72c5d3bb051f552ab3cfd0a67681dcc5407e53
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Ignore vscode workspace folder
      body: null
    - hash: 42838eba095220ecb254aadc314df5d88822d170
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Override cached window's zoomFactor
      body: null
    - hash: 093008dee7a936c91b9ecdde8bebee9e6dace5b5
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        changelog-entry: Rework system & large drives handling logic
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Rework system & large drives handling logic
      body: null
    - hash: 8fa6e618c4d52f4ec5e5c9fc93c74fb301c789c9
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Use pretty-bytes instead of custom function
      body: null
    - hash: 14a89b3b8a25ae82e153e56bc97fcad983e1bbf4
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Remove lodash from selection-state.ts
      body: null
    - hash: f9d79521a11f09fdd2a31ccba9de096a11b292eb
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Fix tests not running
      body: null
    - hash: 3e45691d0b207eb476df38a1b2250ffe4fa91fa7
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Re-enable ext partitions trimming on 32 bit Windows
        change-type: patch
      subject: Re-enable ext partitions trimming on 32 bit Windows
      body: null
    - hash: eeab35163658c982f9ec35f37b40649d5f99fad6
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Fix tests hanging on array.flatMap
      body: null
    - hash: b76366a514edd494188cfdc6eccbd2a1d2c49c61
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Add more typings & refactor code accordingly
      body: null
- version: 1.5.106
  date: 2020-08-27T16:16:31.000Z
  commits:
    - hash: 7894a67719cb178f3465ec05cf7ac107e3dc7610
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Fix opening zip files from servers accepting Range headers
        change-type: patch
      subject: Fix opening zip files from servers accepting Range headers
      body: null
    - hash: 688d697a996cb362aa4dab8346cd8ea893619b76
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Update typescript to ^4
      body: null
    - hash: 991cbf6b7f055f5588dff0e6da06653aa5d8803a
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Update etcher-sdk to 4.1.28
      body: null
    - hash: 5e5f82c4b529e90a26adad6ffdb7386bf1a13321
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Disable ext partitions trimming on 32 bit windows until it is fixed
        change-type: patch
      subject: Update etcher-sdk to 4.1.29
      body: null
- version: 1.5.105
  date: 2020-08-26T11:11:17.000Z
  commits:
    - hash: b7f8c8368c1e79b15725edf5580ca7385d397dc7
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Fix settings button not being clickable
      body: null
    - hash: 34489f0d6667bcde4382ce20e5b4b9e4d31912ce
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Update etcher-sdk to 4.1.25
      body: null
    - hash: 27e560c96130b328c120941dfc5bbb5f3ee73e96
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Update rendition to ^18.4.1
      body: null
    - hash: fff9452509d16956b126f413f1f1ebe9c7c2289e
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Spinner for URL selector modal
        change-type: patch
      subject: Spinner for URL selector modal
      body: null
    - hash: 92dfdc6edd6f214aa50500d56f0ef6ecc062de44
      author: Alexis Svinartchouk
      footers:
        changelog-entry: URL selector cancel button cancels ongoing url selection
        change-type: patch
      subject: URL selector cancel button cancels ongoing url selection
      body: null
    - hash: 55cafb92681f24dc08d91ad5b5ab41528871b062
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update etcher-sdk to 4.1.26
        change-type: patch
      subject: Update etcher-sdk to 4.1.26
      body: null
    - hash: a17a919c37603d61fa6fe43229c285967a938722
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Remove unused SafeWebvuew.refreshNow property
      body: null
    - hash: 8ed5ff25a5bafd73810f902a7974462538d16b2d
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Remove unused FeaturedProject.state.show
      body: null
    - hash: a485d2b4df990a4e31b39c54be303c3b019e0ec1
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Remove FeaturedProject class, replace with SafeWebview
      body: null
    - hash: c9bfd350ed039902f54cb306bc10a7a1464d9684
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Remove unused FlashStep.props.isWebviewShowing
      body: null
    - hash: 2c07538f8f6c232969f3410931ed82cb3575c67a
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Simplify MainPage
      body: null
- version: 1.5.104
  date: 2020-08-21T12:59:25.000Z
  commits:
    - hash: a7c34315562342b93942987a0cb25249bf611fad
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Remove unused error message
      body: null
    - hash: 9797a2152de30b5c9ee8d17fbf1947184cab4077
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update electron to v9.2.1
        change-type: patch
      subject: Update electron to v9.2.1
      body: null
    - hash: 46663e3a6f4624ca4de0784a068e4c003c97770a
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Remove no longer used @types/bluebird
      body: null
    - hash: 6eab47259e3c47c86f36bf2f9f236c88491dd29b
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Remove no longer used @types/request
      body: null
    - hash: 7f9add3f1e813c4a3827dd1804f7c2e933869599
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Remove no longer used nan
      body: null
    - hash: 548475996c36baca13737df49c10571518ebff85
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Remove duplicated styled-system
      body: null
    - hash: 24c8ede746a3939fc18fa821bc9f3e8d5d52437d
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Remove unused part of Makefile
      body: null
    - hash: 08716efbd5d7e949cbc5476e9b1215b9f00fade3
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Update rendition to 18.1.0
      body: null
    - hash: a24be20e952ac041755b8e29c84cd72d1149d6c9
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Fix writing config file
        change-type: patch
      subject: Fix writing config file
      body: null
    - hash: 6cb914e9697030136086d00ac2f87ce28582342c
      author: Alexis Svinartchouk
      footers:
        chanelog-entry: Update etcher-sdk to v4.1.24
        change-type: patch
      subject: Update etcher-sdk to v4.1.24
      body: null
- version: 1.5.103
  date: 2020-08-19T11:55:07.000Z
  commits:
    - hash: 3b105d5a6a1436a085af9456bfaba81469c15d85
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Update etcher-sdk to ^4.1.20
      body: null
    - hash: 0bf1ec495800f03602be18f73bb8674ef18017b9
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Remove Bluebird
        change-type: patch
      subject: Remove Bluebird
      body: null
    - hash: 482c29bc2abc960a36536dabc6e74176c2e22c60
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Update dependencies
      body: null
    - hash: f8e21e2338b3f97589ea23f8d5699409d207317a
      author: Alexis Svinartchouk
      footers:
        changelog-entry: User regular stream in lzma-native instead of readable-stream
        change-type: patch
      subject: User regular stream in lzma-native instead of readable-stream
      body: null
    - hash: 76fa698995337847af9bc750262ad6517dcebfd5
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Optimize svgs
        change-type: patch
      subject: Optimize svgs
      body: null
    - hash: f2a37079eb36c4b07c722afbb46389d63b440803
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Don't use lodash in child-writer.js
        change-type: patch
      subject: Don't use lodash in child-writer.js
      body: null
    - hash: 481be42eb5bf2ed71fa4734a75e29f7c9277e6df
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Update etcher-sdk to ^4.1.22
      body: null
    - hash: 140f3452ed2494a8dc449b54c3d6fcfa96ed3c49
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Don't import WeakMap polyfill in deep-map-keys
        change-type: patch
      subject: Don't import WeakMap polyfill in deep-map-keys
      body: null
    - hash: 281f1194561123f138a77064934c405f3d72aa04
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Replace native elevator with sudo-prompt on windows
        change-type: patch
      subject: Replace native elevator with sudo-prompt on windows
      body: null
    - hash: a3322e9fd75b7db0f6a745a2bdea2452a18c8bfe
      author: Alexis Svinartchouk
      footers:
        changelog-entry: "Set module: es2015 in tsconfig.json"
        change-type: patch
      subject: "Set module: es2015 in tsconfig.json"
      body: null
    - hash: ac2d4ae8f32071e94fe56e1011fd32569526c344
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Move linting and testing into package.json
        change-type: patch
      subject: Move linting and testing into package.json
      body: null
    - hash: fbacb8187d64f13d624776fed70f2c7943cd500d
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update etcher-sdk to ^4.1.23
        change-type: patch
      subject: Update etcher-sdk to ^4.1.23
      body: null
    - hash: 1f44f3944f7a802dc7dd78fb06cd83b18637b151
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update electron to 9.2.0
        change-type: patch
      subject: Update electron to 9.2.0
      body: null
    - hash: 540fe9060907e70aa02a88745670e98f7932baca
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Fix running tests on Windows
      body: null
    - hash: 0c59168ceb799c62366a649fe3ad4b467f0721f6
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Change isFocused check to isVisible in tests
      body: null
    - hash: 5fbaa3a3db1789eda064659b7a6d2b2aa2821e38
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Update @balena/udif, don't bundle htmlparser2 into the writer
      body: null
    - hash: 9f29dc8b76793b7fe34970602bf9634e0ce5f0dd
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update rendition  to ^17
        change-type: patch
      subject: Update rendition  to ^17
      body: null
    - hash: bc092114c1f7645cd1efdce947359ff61d0d2171
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Don't use more than a 8th of the system memory as buffers
      body: null
    - hash: 88ae9fcbd1a067cd5c4659f30904c7ce6e8c3dde
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Update dependencies
      body: null
- version: 1.5.102
  date: 2020-07-27T15:55:15.000Z
  commits:
    - hash: 175e41de8d162a94005d157b6df9b36de10fa799
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update rendition to ^16.1.1
        change-type: patch
      subject: Update rendition to ^16.1.1
      body: null
    - hash: 5eac622b8c74ac3c3ad78b34d9e60c45205768a6
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Use strict typescript compiler option
        change-type: patch
      subject: Use strict typescript compiler option
      body: null
    - hash: 7d53d0aadcac2d07336afd255de0965ea5666f19
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Use tslib
        change-type: patch
      subject: Use tslib
      body: null
    - hash: 170126a490e805b9d14fa2b3e747cba3277cbae9
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Remove no longer used .sass-lint.yml
        change-type: patch
      subject: Remove no longer used .sass-lint.yml
      body: null
    - hash: e72049d6e8cfc073ae539ab3b16ef9ecf0382fbf
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Remove font awesome unused icons from the generated bundle
        change-type: patch
      subject: Remove font awesome unused icons from the generated bundle
      body: null
    - hash: dc9351713cd4e78513781c3a8c31a0b822f78451
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Stop using request, replace it with already used axios
        change-type: patch
      subject: Stop using request, replace it with already used axios
      body: null
    - hash: 3218fc2c8352ebf710c87ae4fb086cc9e576b6db
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Split main process and child-writer js files
        change-type: patch
      subject: Split main process and child-writer js files
      body: null
    - hash: 963fc574c3569127da7cfce75642e50d5b226c3e
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Centralize imports in child-writer
        change-type: patch
      subject: Centralize imports in child-writer
      body: null
    - hash: 512785e0a96c5c24792a034fbb2b56c2c67926ab
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Remove bluebird from main process, reduce lodash usage
        change-type: patch
      subject: Remove bluebird from main process, reduce lodash usage
      body: null
    - hash: 44c74f33d933141b5dde1929fb3f421347d2a32e
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Electron 9.1.1
        change-type: patch
      subject: Electron 9.1.1
      body: null
    - hash: 3f59d35fb6c5f9215715ccbc44b7443dd73e58c9
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Fix flashing truncated images, fix flashing large dmgs
        change-type: patch
      subject: Update etcher-sdk to ^4.1.19
      body: null
- version: 1.5.101
  date: 2020-07-09T16:37:27.000Z
  commits:
    - hash: 9b71772e3532b57ff57dc5944f190ba4363f5d1b
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        changelog-entry: Refactor UI grid to use rendition
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Refactor UI grid to use rendition
      body: null
    - hash: 76086a8f915c4784198be38373b19f63511144d2
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        changelog-entry: Rework and move flashing view elements
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Rework and move flashing view elements
      body: null
    - hash: 8ce9eac7040e217f0e8a5c48e1d55cb338da6852
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        changelog-entry: Remove bootstrap & flexboxgrid
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Remove bootstrap & flexboxgrid
      body: null
    - hash: 00f193541d9efe87de94e90e2b86cbce8dfa0865
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        changelog-entry: Restyle modals
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Restyle modals
      body: null
    - hash: 3ca50a1e2d95c73890009ffe1df9243a9a9df045
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        changelog-entry: Refactor UI without bootstrap & flexboxgrid
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Refactor UI without bootstrap & flexboxgrid
      body: null
    - hash: 098ca9a9a1fb4e06211e95925bd559c7c336d55e
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        changelog-entry: Remove unused warning in settings
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Remove unused warning in settings
      body: null
    - hash: 8560189a1e11b5f572abd4859341bb52961517ce
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        changelog-entry: Remove unused scss
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Remove unused scss
      body: null
    - hash: 784dd03ba758d7fa5e217875bf300aa45d545d32
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        changelog-entry: Convert sass to plain css
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Convert sass to plain css
      body: null
    - hash: 394d3e0bf2d52ee2415b3e1996ebd17992323b7f
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        changelog-entry: Update etcher-sdk to v4.1.16
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Update etcher-sdk to v4.1.16
      body: null
    - hash: 692274691ee23a34be3c5db130e0432edea375dc
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Remove non relevant comment
      body: null
    - hash: ba29d76a000cdd9a60f09394f431c89b1ca05848
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Update electron to 9.0.5
      body: null
    - hash: 05d0f7142da807e4c6f603b7f49f8d19b02c592c
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Update rendition to 15.2.4
      body: null
    - hash: 953f572b53b93ebe21bfe0f8ce0ad456541dfdb1
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Fix modal not showing overflowing elements
      body: null
    - hash: c8737806c0e6e2022ba4d4654110bd23d00b6470
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Remove unused packages
      body: null
    - hash: e5ee0f1961a06ec662882cdc86ece35761ef74ed
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Mount source drive if automountOnFileSelect is set
      body: null
    - hash: 391e4444d4a3f65c48b844dafc7a438b36fab482
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Deselect the image if the source drive is removed
      body: null
    - hash: 9bde38df5ad3d0e1b59038e55637cbc0e26f0ff6
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Update etcher-sdk to 4.1.17
      body: null
    - hash: 5c5273bd6cd426d0d424d29fc51ec4b4d45c5b48
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: autoSelectAllDrives setting
      body: null
    - hash: 630f6c691c02917c4c52e0bce4a01f37ae243416
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        changelog-entry: Resize modal to show content appropriately
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Resize modal to show content appropriately
      body: null
- version: 1.5.100
  date: 2020-06-22T16:08:48.000Z
  commits:
    - hash: f8cc7c36b4888babf65e65ba6f622e28306505aa
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Add warning color to Flash! button
      body: null
    - hash: 71c7fbd3a28b84821f23d34e190d9b0365e96be2
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        changelog-entry: Rework target selector modal
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Rework target selector modal
      body: null
    - hash: b0c71b21b3a4e25bc062df60c6bba94ebd97170a
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        changelog-entry: Merge unsafe mode with new target selector
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Merge unsafe mode with new target selector
      body: null
    - hash: af9d3ba9f120a6768535ba4f2f6f6e18f87c9679
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        changelog-entry: Update rendition to v15.0.0
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Update rendition to v15.0.0
      body: null
    - hash: 7aec8a4ae23b9b2646e840dd6547f07fd92801e2
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Refactor styles
      body: null
    - hash: 2dc359b19c34019c1fdeac3bcbfab1a339975d79
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Make TargetSelectorModal a React.Component
      body: null
    - hash: e39fed1f258f53d19a7e03d44f65eedec1e5263a
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        changelog-entry: Fix source-selector image height
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Fix source-selector image height
      body: null
    - hash: d63f5eca0d35164dab69ba1a4d57743442a08f09
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update rendition to 15.2.1
      subject: Update rendition to 15.2.1
      body: null
    - hash: 9444f0e1b121bf8ac65f6b77ca92be26b06a38e1
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Stricter types in target-selector-modal.tsx
      body: null
    - hash: 6554ccf0f8f90dfe9aefefcb512b275cee8650c9
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Sticky header in target selection table
        change-type: patch
      subject: Sticky header in target selection table
      body: null
    - hash: 92cd3d688d0492f961e6214e9ad20790774ab631
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update etcher-sdk to v4.1.15
        change-type: patch
      subject: Update etcher-sdk to v4.1.15
      body: null
    - hash: a360370c4e861a1b60e174790acfa82f795fb868
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update electron to v9.0.4
        change-type: patch
      subject: Update electron to v9.0.4
      body: null
    - hash: 07fde0d73ffd38b05315d3fa4f953f9bb97922b8
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Don't mutate usbboot drives when updating progress
      body: null
    - hash: 7165a8190b4a7d57dbfaeb7748fb28826f4a8cd1
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update electron-notarize to v1.0.0
        change-type: patch
      subject: Update electron-notarize to v1.0.0
      body: null
    - hash: 129e7e20e8bba1381be071c80abfeb0dde25e517
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update mocha to v8.0.1
        change-type: patch
      subject: Update mocha to v8.0.1
      body: null
    - hash: 5a45f8b122046ebfb8a29af4b49d0bb74f2b8afe
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Update target selector ok button label to show the number of selected
        devices
      body: null
    - hash: 406955ca3eb948b6be7c56dea79e4166a6c88738
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Add .vhd to the list of supported extensions, allow opening any file
        change-type: patch
      subject: Add .vhd to the list of supported extensions, allow opening any file
      body: null
    - hash: 14e4cbf749b40664eb30f6678cfcd9fc28f7b140
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Add icon to plug targets in targets modal
      body: null
    - hash: b32c4ee728adcb00d38f286beb456c3d8ecb6b8f
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update partitioninfo to 5.3.5
        change-type: patch
      subject: Update partitioninfo to 5.3.5
      body: null
    - hash: ba16995070491690f3060b3b75a7ca07e70ead9a
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Show system drives last
      body: null
- version: 1.5.99
  date: 2020-06-12T12:29:12.000Z
  commits:
    - hash: f01f1ddd7a4c5fdb141e5e20472357525a73a9d0
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Inline all svgs
        change-type: patch
      subject: Inline all svgs
      body: null
    - hash: 03e3354d500fd7d5af342cc15977ece233bb2461
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update electron to 9.0.3
        change-type: patch
      subject: Update electron to 9.0.3
      body: null
    - hash: 62b42e92549dfbc40d9d1ee7ad6ea84974e0d745
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update node-raspberrypi-usbboot to 0.2.8
        change-type: patch
      subject: Update node-raspberrypi-usbboot to 0.2.8
      body: null
- version: 1.5.98
  date: 2020-06-10T20:34:03.000Z
  commits:
    - hash: b1376dfa73fe9f450c0c0d3be33d7912ef991a52
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update etcher-sdk to ^4.1.13
        change-type: patch
      subject: Update etcher-sdk to ^4.1.13
      body: null
    - hash: 52bdd02a4b7b17e5821f96faa04d2c280d7e27c9
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Check that argument is an url or a regular file before opening
        change-type: patch
      subject: Check that argument is an url or a regular file before opening
      body: null
    - hash: 59e37182be060c008f5801cfc1eef7a5ee32224c
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Use between 2 and 256MiB for buffering depending on the number
          of drives
        change-type: patch
      subject: Use between 2 and 256MiB for buffering depending on the number of drives
      body: null
- version: 1.5.97
  date: 2020-06-08T15:05:58.000Z
  commits:
    - hash: 5f5c66e3f2132a63347397a7ff2f6a2360f8f7c1
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        changelog-entry: Allow skipping notarization when building package (dev)
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Allow skipping notarization when building package
      body: null
    - hash: f0bbd1a1cda2ea1ef1cf87cf8f82c0d4f6de647a
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Fix windows ia32 rebuild
      body: null
    - hash: b7e82f7694989dd525eacb98b4589048d846848b
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Fix sudo-prompt promisification
        change-type: patch
      subject: Fix sudo-prompt promisification
      body: null
    - hash: 28f9954661f28a9391fa83bf6b58fc9b5a208fe3
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update etcher-sdk to ^4.1.6
        change-type: patch
      subject: Update etcher-sdk to ^4.1.6
      body: null
    - hash: 7e7a66911644549b085294ac86ea3d1d2a09efed
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Simplify spectron tests
      body: null
    - hash: 1449478c5b5b062e601f9d24bb8e0c83b418f82c
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Read image path from arguments, register `etcher://...` protocol
        change-type: patch
      subject: Read image path from arguments, register `etcher://...` protocol
      body: null
    - hash: f983d88e52757d653f20eed694738796891b1e49
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update etcher-sdk to ^4.1.8
        change-type: patch
      subject: Update etcher-sdk to ^4.1.8
      body: null
    - hash: 29e2e9c65749671b08fa5369f7a8a8687da557ff
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Avoid random access in http sources
        change-type: patch
      subject: Avoid random access in http sources
      body: null
    - hash: b749c2d45a91de51adec307838af2acafc2033d3
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Fix flash from url on windows
        change-type: patch
      subject: Fix flash from url on windows
      body: null
    - hash: 3fa961197165b773000127ae156480cc75ac6716
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Don't check child-writer stderr, rely on the exit code instead
      body: null
    - hash: 3259a8206f6259cff6fccaa384f6d3db6126ee68
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update electron to v9.0.2
        change-type: patch
      subject: Update electron to v9.0.2
      body: null
    - hash: fcc9c5e5772cf8a01dcbf81e6e12d446fd6cd1c9
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Update node-gyp to ^7.0.0
      body: null
    - hash: f05f9d33f9b3b3d7dfdbf6ee93f531908fdef24f
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Use @types/copy-webpack-plugin
      body: null
    - hash: b43ec4414e7b624b81bd9b2525c92ed6265829f9
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Update @types/terser-webpack-plugini to ^3.0.0
      body: null
- version: 1.5.96
  date: 2020-06-03T13:04:33.000Z
  commits:
    - hash: afa29a0ed181a3bdcc97c622183cc896ba35e258
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Remove unused styles
        change-type: patch
      subject: Remove unused styles
      body: null
    - hash: 0ebfecc60c45d785d9cf130336d43780ab1d27ac
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Make FlashStep a PureComponent
      body: null
    - hash: e9f9f9013721b5b37c6cd8f3d4b5f725cae5d939
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update rendition to ^14.13.0
        change-type: patch
      subject: Update rendition to ^14.13.0
      body: null
    - hash: 95ff5c98a81a86262a72f0b2ba48234c456894fe
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Change font to SourceSansPro and fix hover color
        change-type: patch
      subject: Change font to SourceSansPro and fix hover color
      body: null
    - hash: 6db0172a5001642c17fe76252d02789a308d073f
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Remove useless StepSelection component
      body: null
    - hash: 4880275e7bbc3705c3454dc007a758622e27f6f0
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Simplify FlashAnother button
      body: null
    - hash: f5c7dc932a2f25989499419c65d2a5ddd091eec9
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Remove unused css class
      body: null
    - hash: 34349f64d5cae3b70a0245c407e4470a2950b354
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update progress bar style
        change-type: patch
      subject: Update progress bar style
      body: null
    - hash: ba21da4f0bc1d1a972a8246b58ede81782a42d35
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Add effective speed in flash results
        change-type: patch
      subject: Add effective speed in flash results
      body: null
    - hash: 9c25cc663abcd197849f0a5b0f325b4b10bc14d1
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Remove unused styles
      body: null
    - hash: a4366556c02f9d19be156e1495c1efbffc15b8f7
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Remove writing speed from finish screen
        change-type: patch
      subject: Remove writing speed from finish screen
      body: null
    - hash: 10b028355fe8e4d456e0217f92112cf46e8f0e82
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Fix ia32 builds for windows
        change-type: patch
      subject: Fix ia32 builds for windows
      body: null
- version: 1.5.95
  date: 2020-06-01T10:37:37.000Z
  commits:
    - hash: bb6d909949f040cc272b99da7058c106218f0605
      author: Juan Cruz Viotti
      footers:
        changelog-entry: "spectron: Make tests pass on Windows Docker containers"
        change-type: patch
        signed-off-by: Juan Cruz Viotti <juan@balena.io>
      subject: "spectron: Make tests pass on Windows Docker containers"
      body: |-
        The Spectron test that we have that checks that the browser window is
        visible fails when ran inside a Windows Docker container.
        In particular, the `isVisible()` function returns `false` when running
        in a headless Windows machine.
        However, the `isMinimized()` function returns `false`, the `isFocused()`
        function returns `true`, and we can fetch the expected browser window
        bounds, so we can use all those values in conjunction to reformulate the
        test case and avoid `isVisible()`.
        The results should be pretty much the same, and the assertions will pass
        inside Docker Windows containers.
- version: 1.5.94
  date: 2020-05-27T21:10:43.000Z
  commits:
    - hash: e33172060f8c45d817b3cf7a761129760954bf65
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update etcher-sdk to ^4.1.4
        change-type: patch
      subject: Update etcher-sdk to ^4.1.4
      body: null
    - hash: 11bda8e76a576064c6e7e64cfc7dfa453eb56575
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Remove electron-builder patch now that
        https://github.com/electron-userland/electron-builder/pull/4993 is
        merged
      body: null
    - hash: 4e08cf38797c2a1136905077fe11423e9ac24bca
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Fix flash from url (broken in 1.5.92)
        change-type: patch
      subject: Fix flash from url (broken in 1.5.92)
      body: null
    - hash: 4752fa6dd2b302ba2edf3763be86bd3ae58a2ec7
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Stop checking file extensions
        change-type: patch
      subject: Stop checking file extensions
      body: null
    - hash: aee3a0a2812c48b02e23490fa2c33cf74b74f5c8
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Show image name and path in image name modal
      body: null
- version: 1.5.93
  date: 2020-05-25T17:33:57.000Z
  commits:
    - hash: d5df3de1d76abb1fa50622e123ab5e3e43cb4f66
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update electron to v9.0.0
        change-type: patch
      subject: Update electron to v9.0.0
      body: null
    - hash: bf26d4ec9577f94a7a3a2cc754d6c549367341ee
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Remove dead code
      body: null
    - hash: 880e56e563bd0843685f64aa6a1afc1e0ae2c09c
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Strip out comments from generated code
        change-type: patch
      subject: Strip out comments from generated code
      body: null
    - hash: 688e7fff9c9a1682c5475d97033a89eab489091e
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update electron-builder to v22.6.1
        change-type: patch
      subject: Update electron-builder to v22.6.1
      body: null
    - hash: c0a4fb16e26444460ea457dbec2440a2f49f5149
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Update dependencies
      body: null
    - hash: ed3b7f79714458b0ec5021d9adf4524cfd5ca9ae
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Patch electron-builder to fix signing on macos
      body: |-
        Remove this once
        https://github.com/electron-userland/electron-builder/pull/4993 is
        merged
- version: 1.5.92
  date: 2020-05-25T10:07:46.000Z
  commits:
    - hash: 1ebc8e936247c2cf87a07243d952f60a5b13c548
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Webpack everything, reduce package size
        change-type: patch
      subject: Webpack everything, reduce package size
      body: null
    - hash: 33d48fe4f7152eef318703b7afabcec498183b01
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Remove unneeded font formats
        change-type: patch
      subject: Remove unneeded font formats
      body: null
    - hash: b1fd539d25bd96bdcecdba58037d904c5577eb17
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Remove unneeded fortawesome from main.scss
        change-type: patch
      subject: Remove unneeded fortawesome from main.scss
      body: null
    - hash: 2692104ccd7493ae8596fc70ee0313bdf5f3ad37
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Disable asar packing on all platforms
        change-type: patch
      subject: Disable asar packing on all platforms
      body: null
    - hash: 09a6a340c9f730cae011940a5d109e2265e58a02
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Use electron.app.getAppPath() instead of reading it from argv
          in catalina-sudo
        change-type: patch
      subject: Use electron.app.getAppPath() instead of reading it from argv in
        catalina-sudo
      body: null
- version: 1.5.91
  date: 2020-05-21T14:22:55.000Z
  commits:
    - hash: c9cbe41f9eb38f5db65427ee17066d2700b199ae
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        changelog-entry: Minor fix - Init isSourceDrive param in correct place
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Init param in correct place
      body: null
    - hash: 31bd8ce7ae5b4b627209ece4ef850f695a2e8c25
      author: Rob Evans
      footers:
        fixes: "#3160"
        change-type: patch
        changelog-entry: Fix undefined image from DriveCompatibilityWarning
      subject: Fix undefined image from DriveCompatibilityWarning
      body: null
- version: 1.5.90
  date: 2020-05-20T15:23:37.000Z
  commits:
    - hash: d90e3a816e0cd9b23cee6af999730e12c6c49954
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update leds behaviour
        change-type: patch
      subject: Update leds behaviour
      body: null
    - hash: b71482284f2cedfab7fc920bd0426992b0e123d7
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Remove commented code
      body: null
    - hash: f9cbff1eec963b8dbf98d4016964a73f072e2e5a
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: ProgressButton is a PureComponent
      body: null
    - hash: a3a9edd41a0e570b996f58ff6379e53e2f8a3fc3
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Make Flash component a class & rename it FlashStep
      body: null
    - hash: 52f80293a29ba841112cd5cb75a13e5d6b877ea2
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Remove dead code
      body: null
    - hash: 72c9d616fd2aa05f4589e9af8385cb56f5beb16e
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Remove useless comment
      body: null
- version: 1.5.89
  date: 2020-05-14T09:53:05.000Z
  commits:
    - hash: c5c0d46ab8d9c2e9fa9186ae5bce77cd360e785b
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update @types/mocha 5 -> 7
        change-type: patch
      subject: Update @types/mocha 5 -> 7
      body: null
    - hash: 4257e696dacf19fcd6dd48d85d1c29ea7e5a8aa0
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update @types/semver 6 -> 7
        change-type: patch
      subject: Update @types/semver 6 -> 7
      body: null
    - hash: 84f003d907b0372430ef894faca06d36a2734ab6
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update @types/sinon 7 -> 9
        change-type: patch
      subject: Update @types/sinon 7 -> 9
      body: null
    - hash: b1cbf547110912399749708ed6ecc737928b4e57
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update @types/tmp 0.1.0 -> 0.2.0
        change-type: patch
      subject: Update @types/tmp 0.1.0 -> 0.2.0
      body: null
    - hash: 7bd8b0c1526878913e9fab71fa571bfde782856b
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Remove no longer used chalk dev dependency
        change-type: patch
      subject: Remove no longer used chalk dev dependency
      body: null
    - hash: 7099a36bdb7fb47387efa053d3f641c87d1eaaa6
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update electron-notarize 0.1.1 -> 0.3.0
        change-type: patch
      subject: Update electron-notarize 0.1.1 -> 0.3.0
      body: null
    - hash: 8782c706408dff9d74c77fd351a4e42a14be9dc7
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Remove no longer used html-loader dev dependency
        change-type: patch
      subject: Remove no longer used html-loader dev dependency
      body: null
    - hash: a09e029216df198674cd18db7bc7b8e1d4767836
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update husky 3 -> 4
        change-type: patch
      subject: Update husky 3 -> 4
      body: null
    - hash: f1214e6ffd47b839cd48a47e9ad5616cef860f17
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update lint-staged 9 -> 10
        change-type: patch
      subject: Update lint-staged 9 -> 10
      body: null
    - hash: 5ab69dfb7fc284e21ac02b19b8d138f4ef8bae54
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update node-gyp 3 -> 6
        change-type: patch
      subject: Update node-gyp 3 -> 6
      body: null
    - hash: b0af9d535a06bff5d0823e4fe6ed919055c6dadf
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update sinon 8 -> 9
        change-type: patch
      subject: Update sinon 8 -> 9
      body: null
    - hash: ad421eae117d24d5edf3ef325ab40a1c3231ff9b
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update ts-loader 6 -> 7
        change-type: patch
      subject: Update ts-loader 6 -> 7
      body: null
    - hash: 627adb1755de5bc3db9608cf8f7da2d3309796c4
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update @types/node 12.12.24 -> 12.12.39
        change-type: patch
      subject: Update @types/node 12.12.24 -> 12.12.39
      body: null
    - hash: 92801133503d696c83ea0a2acaeef1cd1602263b
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update all dependencies minor versions
        change-type: patch
      subject: Update all dependencies minor versions
      body: null
    - hash: 943765bd4d79cba1644c98c22790321c8b9711f8
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Fix drive selector modal padding
        change-type: patch
      subject: Fix drive selector modal padding
      body: null
- version: 1.5.88
  date: 2020-05-12T17:28:12.000Z
  commits:
    - hash: b23bfc2f6e588e851cc345f2bdaf9aef2c2bd37a
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update uuid v3 -> v8
        change-type: patch
      subject: Update uuid v3 -> v8
      body: null
    - hash: 6db800d6d2a54964bd761c2d27aef3ae1dc83465
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update tmp 0.1.0 -> 0.2.1
        change-type: patch
      subject: Update tmp 0.1.0 -> 0.2.1
      body: null
    - hash: 82a0b8de0c914b3e467298df1f53da911558708f
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update semver 5 -> 7
        change-type: patch
      subject: Update semver 5 -> 7
      body: null
    - hash: 50586cdb42cbe0debc4af83657806856e52ffdb1
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update debug 3 -> 4
        change-type: patch
      subject: Update debug 3 -> 4
      body: null
    - hash: ef5762864f1340e069f456fb070274d1e94caadf
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update redux 3 -> 4
        change-type: patch
      subject: Update redux 3 -> 4
      body: null
    - hash: 917ff89d9dfdb676401d8eb447ec682d4713dcf5
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update electron-updater 4.0.6 -> 4.3.1
        change-type: patch
      subject: Update electron-updater 4.0.6 -> 4.3.1
      body: null
    - hash: bfb61338718fde79abd2a0b11ca588368f567ebb
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update rendition 12 -> 14, styled-system and styled-components 4 -> 5
        change-type: patch
      subject: Update rendition 12 -> 14, styled-system and styled-components 4 -> 5
      body: null
    - hash: 483d7b6e587157153b63a0ab1a35d9b644003096
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update roboto-fontface 0.9.0 -> 0.10.0
        change-type: patch
      subject: Update roboto-fontface 0.9.0 -> 0.10.0
      body: null
- version: 1.5.87
  date: 2020-05-12T11:45:32.000Z
  commits:
    - hash: 6e20b6034e2a79c0b96ef39b280cdad8d03f7b4d
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update etcher-sdk to ^4.1.3 to fix issues with some bz2 files
        change-type: patch
      subject: Update etcher-sdk to ^4.1.3 to fix issues with some bz2 files
      body: null
- version: 1.5.86
  date: 2020-05-06T15:46:41.000Z
  commits:
    - hash: 4a6a471345117d33f37f4397de26ed33c04a1120
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Fix theme warnings
        change-type: patch
      subject: Fix theme warnings
      body: null
    - hash: 71e02ef8339071b95628e1dfa4f3e62519f29d91
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Prefer balena-etcher to etcher-bin on Arch Linux
        change-type: patch
      subject: Prefer balena-etcher to etcher-bin on Arch Linux
      body: null
- version: 1.5.84
  date: 2020-05-05T16:43:37.000Z
  commits:
    - hash: 4d3eb2887c20a7b9f74b94a690ae8abe52aa378a
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Fix notification icon path
        change-type: patch
      subject: Fix notification icon path
      body: null
    - hash: f84cde7d0403060f1bdffe176ec91a999768b566
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Update etcher-sdk to ^4.0.1
      body: null
    - hash: eb47f1227adfe3f142260c96a8e20ed6d28cd34a
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Fix libpango dependency name on debian
      body: null
    - hash: 5de4fe3d235172fe271e89c22ecb0cd45efd489b
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Don't depend on lsb for the rpm package
      body: null
    - hash: ebd37b9e2f6968bce0a41a05abac8cfe3ab161c4
      author: Rich Morin
      footers:
        change-type: patch
      subject: Correct two nomenclature errors
      body: >-
        PC keyboards have "Alt" keys; Mac keyboards have "Opt" keys.

        Although it's possible to use a PC keyboard on a Mac, it's unusual.

        In any case, all of the macOS (not "Mac OS" for some years now)
        documentation refers to the "Opt" key.
    - hash: ea11f179542794294f773f503d83dad3a10cda56
      author: Tom
      footers:
        changelog-entry: Including Arch / Manjaro install instructions
        change-type: patch
        signed-off-by: Tom Carrio <tom@carrio.dev>
      subject: "docs: Including Arch / Manjaro install instructions"
      body: null
    - hash: 49491b9b8c34ac7bcdbc1b957f50ee676100084e
      author: TheRealTachyon
      footers:
        change-type: patch
      subject: Update to README.md
      body: Just a simple addition of instructionsfor proper installation on OpenSUSE
        Linux.
    - hash: 7971a003cc2d86d31839407ea87d1e27e2eba653
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Update copyright years
      body: null
- version: 1.5.83
  date: 2020-04-30T12:04:53.000Z
  commits:
    - hash: ee62b9a4c762b793bde2d7472bfe5f5a61b4de30
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Decompress images before flashing, remove trim setting, trim
          ext partitions
        change-type: patch
      subject: Decompress images before flashing, remove trim setting, trim ext
        partitions
      body: null
    - hash: 9bf58c89d4adadfe6d3d7c45a109542fa8e079e1
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Update resin-lint -> @balena/lint
      body: null
    - hash: 745a2f18864b9235e168971f1f48c26c5f9a1e4a
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Remove no longer used settings and checks
      body: null
    - hash: 795b8614adc0287d73a2766ff493238bdbab91bc
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Send applicationSessionUuid and flashingWorkflowUuid by default in
        logEvent
      body: null
    - hash: ba39ff433d550ec36e71e311ac9da14f40ce0a34
      author: Alexis Svinartchouk
      subject: remove update lock
      body: null
    - hash: ffe281f25d1d7496a349f176cac043ebd5890e3d
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Simplify settings
      body: null
    - hash: 44fc429f64c54bb0c790dba48411b71f6af13bfe
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Factorize duplicated configUrl code
      body: null
    - hash: e62add68938fa6449943bf9822e0ca6f50e2d68f
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Remove some `any`s
      body: null
- version: 1.5.82
  date: 2020-04-23T17:45:47.000Z
  commits:
    - hash: 8f39dbf6b120516106b8d44cec34828350b3adb2
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: none
        changelog-entry: Add staging percentage for v1.5.81
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Add staging percentage for v1.5.81
      body: null
    - hash: dbe6fe442d00bcf7f501e8fd5c3c0354b7312777
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: none
        changelog-entry: Trigger update for v1.5.81
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Trigger update for v1.5.81
      body: null
    - hash: 124e8af649c8596dfd7ee28da887d73c1a133d84
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        changelog-entry: Add flash from url workflow
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Add flash from url workflow
      body: null
    - hash: 94a0be3b057d9e0974dc78bbdd886a8849626407
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        changelog-entry: Refactor buttons style
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Refactor buttons style
      body: null
    - hash: ac2e973cb0f289e1367f1a14388d35da79c9a378
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        changelog-entry: Add generic error's message
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Add generic error's message
      body: null
    - hash: 39ed67d667cd75262c8d90216c9c5e855232f9fb
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        changelog-entry: Allow http/https only for Flash from URL
        signed-off-by: Lorenzo Alberto Maria Ambrosi <lorenzothunder.ambrosi@gmail.com>
      subject: Allow http/https only for Flash from URL
      body: null
- version: 1.5.81
  date: 2020-04-16T16:28:59.000Z
  commits:
    - hash: 7eddb16f2f2899159a2216828b3c4e6084daa748
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update etcher-sdk to use direct IO
        change-type: patch
      subject: Update etcher-sdk to use direct IO
      body: null
    - hash: 63ad3739fd133adf44a378282145d4c92e5e3ea6
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Fix FlashResults component
      body: null
    - hash: d63df5a15639aab258abbddb6b5b01fcc3ccc4b4
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Update bluebird
      body: null
    - hash: 82a3c37c16d73ad71417e3cd5ceab6081c415d13
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Remove no longer needed ts-ignore comments, fix typos
      body: null
    - hash: 52cf6375eb86be24cd3cc5901bab9c19d510b5ce
      author: Wilson de Farias
      footers:
        changelog-entry: "docs: Update macOS drive recovery command"
        change-type: patch
      subject: Fixes the Command for macOS drive recovery
      body: >-
        Changes the documentation to update the disktutil command which didn't
        fix my case, cause the boot partition was broken.

        This way it rewrites the drive into a FAT32 partition editable in
        Unix/Windows.
    - hash: b3f25c176b1bdb487d1a7bf111d7f170fe008842
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        changelog-entry: Add average speed in flash results
        change-type: patch
      subject: Add average speed in flash results
      body: null
- version: 1.5.80
  date: 2020-03-24T13:51:52.000Z
  commits:
    - hash: b4b099ecb19578d3d359bff6ce9e99265156e3f8
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Fix sass files path for lint-sass
        change-type: patch
      subject: Fix sass files path for lint-sass
      body: null
    - hash: 21181f011fc5068bd7d4a610e5beb9b2cecddb8b
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update electron to v7.1.14
        change-type: patch
      subject: Update electron to v7.1.14
      body: null
    - hash: 8b2f06442aa5ad8ed6a9a414ef7e7035e0b245d1
      author: Anthony Rouneau
      footers:
        change-type: patch
      subject: Update README to use port 443 to get keys from keyserver.ubuntu.com
      body: null
    - hash: 4ee83d9da49667d5238394e5997211dfc77a980e
      author: Lorenzo Alberto Maria Ambrosi
      footers:
        change-type: patch
        changelog-entry: Use zoomFactor to scale contents in fullscreen mode
      subject: Use zoomFactor to scale contents in fullscreen mode
      body: null
    - hash: be729c87af68b0822b2c0fac04112bdc1b743fc5
      author: Alexis Svinartchouk
      footers:
        change-type: patch
      subject: Remove useless if
      body: null
- version: 1.5.79
  date: 2020-02-20T17:31:35.000Z
  commits:
    - hash: d8cb8f78154910f46b70f4b2537d57169b1a0b60
      author: Alois Klink
      footers:
        change-type: patch
        changelog-entry: Fix error when launching from terminal when installed via apt.
        fixes: https://github.com/balena-io/etcher/issues/3074
      subject: "fix(afterPack): error on launch from deb terminal"
      body: |-
        When installing balena-etcher via apt on Debian/Ubuntu,
        the command `balena-etcher-electron` fails with the error:
        line 3: /usr/bin/balena-etcher-electron.bin: No such file or directory
        This is because the /usr/bin/balena-etcher-electron is a symlink
        to /opt/balenaEtcher/balena-etcher-electron, but the script looks
        for balena-etcher-electron.bin in the symlink directory, not the
        actual script location directory.
        This commit uses `$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")` to
        find the real location of the balena-etcher-electron script without
        symlink, so that balena-etcher-electron.bin is correctly found.
    - hash: 0b20a1eeaa0ef02a0df65d90e66ba5a6f794edf6
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Remove "Download the React DevTools for a better development
          experience" message
        change-type: patch
      subject: Remove "Download the React DevTools for a better development
        experience" message
      body: null
- version: 1.5.78
  date: 2020-02-19T17:27:31.000Z
  commits:
    - hash: 55dcfc1a8503229e9be85599bba0d9c89d593052
      author: Alexis Svinartchouk
      footers:
        changelog-entry: Update drivelist to 8.0.10 to fix parsing lsblk --pairs
        change-type: patch
      subject: Update drivelist to 8.0.10 to fix parsing lsblk --pairs
      body: null
- version: 1.5.77
  date: 2020-02-17T20:15:55.000Z
  commits:
    - hash: ed90f21188ad1a67bd645045b5425b45012e4290
      author: Alexis Svinartchouk
      
Download .txt
gitextract_w2glr8_c/

├── .dockerignore
├── .editorconfig
├── .eslintrc.js
├── .gitattributes
├── .github/
│   ├── ISSUE_TEMPLATE.md
│   ├── actions/
│   │   ├── publish/
│   │   │   └── action.yml
│   │   └── test/
│   │       └── action.yml
│   └── workflows/
│       ├── flowzone.yml
│       └── winget.yml
├── .gitignore
├── .nvmrc
├── .prettierrc.js
├── .versionbot/
│   └── CHANGELOG.yml
├── CHANGELOG.md
├── LICENSE
├── README.md
├── after-install.tpl
├── assets/
│   ├── dmg/
│   │   └── background.tiff
│   └── icon.icns
├── docs/
│   ├── ARCHITECTURE.md
│   ├── COMMIT-GUIDELINES.md
│   ├── CONTRIBUTING.md
│   ├── FAQ.md
│   ├── MAINTAINERS.md
│   ├── MANUAL-TESTING.md
│   ├── PUBLISHING.md
│   ├── SUPPORT.md
│   └── USER-DOCUMENTATION.md
├── entitlements.mac.plist
├── forge.config.ts
├── forge.sidecar.ts
├── lib/
│   ├── gui/
│   │   ├── app/
│   │   │   ├── app.ts
│   │   │   ├── components/
│   │   │   │   ├── drive-selector/
│   │   │   │   │   └── drive-selector.tsx
│   │   │   │   ├── drive-status-warning-modal/
│   │   │   │   │   └── drive-status-warning-modal.tsx
│   │   │   │   ├── finish/
│   │   │   │   │   └── finish.tsx
│   │   │   │   ├── flash-another/
│   │   │   │   │   └── flash-another.tsx
│   │   │   │   ├── flash-results/
│   │   │   │   │   └── flash-results.tsx
│   │   │   │   ├── progress-button/
│   │   │   │   │   └── progress-button.tsx
│   │   │   │   ├── reduced-flashing-infos/
│   │   │   │   │   └── reduced-flashing-infos.tsx
│   │   │   │   ├── safe-webview/
│   │   │   │   │   └── safe-webview.tsx
│   │   │   │   ├── settings/
│   │   │   │   │   └── settings.tsx
│   │   │   │   ├── source-selector/
│   │   │   │   │   └── source-selector.tsx
│   │   │   │   ├── svg-icon/
│   │   │   │   │   └── svg-icon.tsx
│   │   │   │   └── target-selector/
│   │   │   │       ├── target-selector-button.tsx
│   │   │   │       └── target-selector.tsx
│   │   │   ├── css/
│   │   │   │   └── main.css
│   │   │   ├── i18n/
│   │   │   │   ├── README.md
│   │   │   │   ├── en.ts
│   │   │   │   ├── zh-CN.ts
│   │   │   │   └── zh-TW.ts
│   │   │   ├── i18n.ts
│   │   │   ├── index.html
│   │   │   ├── models/
│   │   │   │   ├── available-drives.ts
│   │   │   │   ├── flash-state.ts
│   │   │   │   ├── leds.ts
│   │   │   │   ├── selection-state.ts
│   │   │   │   ├── settings.ts
│   │   │   │   └── store.ts
│   │   │   ├── modules/
│   │   │   │   ├── analytics.ts
│   │   │   │   ├── api.ts
│   │   │   │   ├── exception-reporter.ts
│   │   │   │   ├── image-writer.ts
│   │   │   │   └── progress-status.ts
│   │   │   ├── os/
│   │   │   │   ├── dialog.ts
│   │   │   │   ├── notification.ts
│   │   │   │   ├── open-external/
│   │   │   │   │   └── services/
│   │   │   │   │       └── open-external.ts
│   │   │   │   ├── window-progress.ts
│   │   │   │   └── windows-network-drives.ts
│   │   │   ├── pages/
│   │   │   │   └── main/
│   │   │   │       ├── Flash.tsx
│   │   │   │       └── MainPage.tsx
│   │   │   ├── preload.ts
│   │   │   ├── renderer.ts
│   │   │   ├── styled-components.tsx
│   │   │   ├── theme.ts
│   │   │   └── utils/
│   │   │       ├── etcher-pro-specific.ts
│   │   │       └── middle-ellipsis.ts
│   │   ├── etcher.ts
│   │   ├── menu.ts
│   │   └── webapi.ts
│   ├── shared/
│   │   ├── drive-constraints.ts
│   │   ├── errors.ts
│   │   ├── exit-codes.ts
│   │   ├── messages.ts
│   │   ├── permissions.ts
│   │   ├── sudo/
│   │   │   ├── darwin.ts
│   │   │   ├── linux.ts
│   │   │   ├── sudo-askpass.osascript-en.js
│   │   │   ├── sudo-askpass.osascript-zh.js
│   │   │   └── windows.ts
│   │   ├── supported-formats.ts
│   │   ├── units.ts
│   │   └── utils.ts
│   └── util/
│       ├── api.ts
│       ├── child-writer.ts
│       ├── drive-scanner.ts
│       ├── scanner.ts
│       ├── source-metadata.ts
│       └── types/
│           └── types.d.ts
├── npm-shrinkwrap.json
├── package.json
├── pkg-sidecar.json
├── repo.yml
├── tests/
│   ├── .eslintrc.yml
│   ├── data/
│   │   └── wmic-output.txt
│   ├── gui/
│   │   ├── allow-renderer-process-reuse.ts
│   │   ├── models/
│   │   │   ├── available-drives.spec.ts
│   │   │   ├── flash-state.spec.ts
│   │   │   ├── selection-state.spec.ts
│   │   │   └── settings.spec.ts
│   │   ├── modules/
│   │   │   ├── image-writer.spec.ts
│   │   │   └── progress-status.spec.ts
│   │   ├── os/
│   │   │   ├── window-progress.spec.ts
│   │   │   └── windows-network-drives.spec.ts
│   │   ├── utils/
│   │   │   └── middle-ellipsis.spec.ts
│   │   └── window-config.json
│   ├── shared/
│   │   ├── drive-constraints.spec.ts
│   │   ├── errors.spec.ts
│   │   ├── messages.spec.ts
│   │   ├── supported-formats.spec.ts
│   │   ├── units.spec.ts
│   │   └── utils.spec.ts
│   └── test.e2e.ts
├── tsconfig.json
├── tsconfig.sidecar.json
├── wdio.conf.ts
└── webpack.config.ts
Download .txt
SYMBOL INDEX (328 symbols across 57 files)

FILE: forge.sidecar.ts
  function isStartScrpt (line 17) | function isStartScrpt(): boolean {
  function addWebpackDefine (line 21) | function addWebpackDefine(
  function build (line 56) | function build(
  function copyArtifact (line 106) | function copyArtifact(
  class SidecarPlugin (line 126) | class SidecarPlugin extends PluginBase<void> {
    method constructor (line 129) | constructor() {
    method getHooks (line 135) | getHooks(): ForgeMultiHookMap {

FILE: lib/gui/app/app.ts
  function pluralize (line 84) | function pluralize(word: string, quantity: number) {
  function setDrives (line 121) | function setDrives(drives: Dictionary<DrivelistDrive>) {
  function main (line 193) | async function main() {

FILE: lib/gui/app/components/drive-selector/drive-selector.tsx
  type UsbbootDrive (line 48) | interface UsbbootDrive extends sourceDestination.UsbbootDrive {
  type DriverlessDrive (line 52) | interface DriverlessDrive {
  type Drive (line 61) | type Drive = DrivelistDrive | DriverlessDrive | UsbbootDrive;
  function isUsbbootDrive (line 63) | function isUsbbootDrive(drive: Drive): drive is UsbbootDrive {
  function isDriverlessDrive (line 67) | function isDriverlessDrive(drive: Drive): drive is DriverlessDrive {
  function isDrivelistDrive (line 71) | function isDrivelistDrive(drive: Drive): drive is DrivelistDrive {
  function badgeShadeFromStatus (line 100) | function badgeShadeFromStatus(status: string) {
  type DriveSelectorProps (line 139) | interface DriveSelectorProps
  type DriveSelectorState (line 154) | interface DriveSelectorState {
  function isSystemDrive (line 162) | function isSystemDrive(drive: Drive) {
  class DriveSelector (line 166) | class DriveSelector extends React.Component<
    method constructor (line 174) | constructor(props: DriveSelectorProps) {
    method driveShouldBeDisabled (line 264) | private driveShouldBeDisabled(drive: Drive, image?: SourceMetadata) {
    method getDisplayedDrives (line 273) | private getDisplayedDrives(drives: Drive[]): Drive[] {
    method getDisabledDrives (line 285) | private getDisabledDrives(drives: Drive[], image?: SourceMetadata): st...
    method renderProgress (line 291) | private renderProgress(progress: number) {
    method warningFromStatus (line 300) | private warningFromStatus(
    method renderStatuses (line 326) | private renderStatuses(drive: DrivelistDrive) {
    method installMissingDrivers (line 356) | private installMissingDrivers(drive: DriverlessDrive) {
    method componentDidMount (line 362) | componentDidMount() {
    method componentWillUnmount (line 376) | componentWillUnmount() {
    method render (line 380) | render() {

FILE: lib/gui/app/components/finish/finish.tsx
  function restart (line 30) | function restart(goToMain: () => void) {
  function getSuccessBannerURL (line 42) | async function getSuccessBannerURL() {
  function FinishPage (line 49) | function FinishPage({ goToMain }: { goToMain: () => void }) {

FILE: lib/gui/app/components/flash-another/flash-another.tsx
  type FlashAnotherProps (line 22) | interface FlashAnotherProps {

FILE: lib/gui/app/components/flash-results/flash-results.tsx
  type FlashError (line 77) | interface FlashError extends Error {
  function formattedErrors (line 83) | function formattedErrors(errors: FlashError[]) {
  function getEffectiveSpeed (line 107) | function getEffectiveSpeed(results: {
  function FlashResults (line 120) | function FlashResults({

FILE: lib/gui/app/components/progress-button/progress-button.tsx
  type ProgressButtonProps (line 48) | interface ProgressButtonProps {
  class ProgressButton (line 82) | class ProgressButton extends React.PureComponent<ProgressButtonProps> {
    method render (line 83) | public render() {

FILE: lib/gui/app/components/reduced-flashing-infos/reduced-flashing-infos.tsx
  type ReducedFlashingInfosProps (line 25) | interface ReducedFlashingInfosProps {
  class ReducedFlashingInfos (line 34) | class ReducedFlashingInfos extends React.Component<ReducedFlashingInfosP...
    method constructor (line 35) | constructor(props: ReducedFlashingInfosProps) {
    method render (line 40) | public render() {

FILE: lib/gui/app/components/safe-webview/safe-webview.tsx
  constant ELECTRON_SESSION (line 28) | const ELECTRON_SESSION = 'persist:success-banner';
  constant ETCHER_VERSION_PARAM (line 33) | const ETCHER_VERSION_PARAM = 'etcher-version';
  constant API_VERSION_PARAM (line 38) | const API_VERSION_PARAM = 'api-version';
  constant OPT_OUT_ANALYTICS_PARAM (line 43) | const OPT_OUT_ANALYTICS_PARAM = 'optOutAnalytics';
  constant API_VERSION (line 56) | const API_VERSION = '2';
  type SafeWebviewProps (line 58) | interface SafeWebviewProps {
  type SafeWebviewState (line 66) | interface SafeWebviewState {
  class SafeWebview (line 73) | class SafeWebview extends React.PureComponent<
    method constructor (line 81) | constructor(props: SafeWebviewProps) {
    method logWebViewMessage (line 107) | private static logWebViewMessage(event: electron.ConsoleMessageEvent) {
    method render (line 111) | public render() {
    method componentDidMount (line 131) | public componentDidMount() {
    method componentWillUnmount (line 154) | public componentWillUnmount() {
    method handleDomReady (line 173) | handleDomReady() {
    method didFailLoad (line 183) | public didFailLoad() {
    method didGetResponseDetails (line 193) | public didGetResponseDetails(event: electron.OnCompletedListenerDetail...

FILE: lib/gui/app/components/settings/settings.tsx
  type Setting (line 29) | interface Setting {
  function getSettingsList (line 34) | async function getSettingsList(): Promise<Setting[]> {
  type SettingsModalProps (line 54) | interface SettingsModalProps {
  function SettingsModal (line 69) | function SettingsModal({ toggleModal }: SettingsModalProps) {

FILE: lib/gui/app/components/source-selector/source-selector.tsx
  function normalizeRecentUrlImages (line 78) | function normalizeRecentUrlImages(urls: any[]): URL[] {
  function getRecentUrlImages (line 95) | function getRecentUrlImages(): URL[] {
  function setRecentUrlImages (line 105) | function setRecentUrlImages(urls: URL[]) {
  function getState (line 130) | function getState() {
  function isString (line 139) | function isString(value: any): value is string {
  type Flow (line 269) | interface Flow {
  type SourceSelectorProps (line 309) | interface SourceSelectorProps {
  type SourceSelectorState (line 314) | interface SourceSelectorState {
  class SourceSelector (line 327) | class SourceSelector extends React.Component<
    method constructor (line 333) | constructor(props: SourceSelectorProps) {
    method componentDidMount (line 350) | public componentDidMount() {
    method componentWillUnmount (line 358) | public componentWillUnmount() {
    method componentDidUpdate (line 363) | public componentDidUpdate(
    method onSelectImage (line 377) | private async onSelectImage(_event: IpcRendererEvent, imagePath: strin...
    method normalizeImagePath (line 386) | public normalizeImagePath(imgPath: string) {
    method reselectSource (line 394) | private reselectSource() {
    method selectSource (line 399) | private selectSource(
    method handleError (line 491) | private handleError(
    method openImageSelector (line 508) | private async openImageSelector() {
    method onDrop (line 526) | private async onDrop(event: React.DragEvent<HTMLDivElement>) {
    method openURLSelector (line 533) | private openURLSelector() {
    method openDriveSelector (line 539) | private openDriveSelector() {
    method onDragOver (line 545) | private onDragOver(event: React.DragEvent<HTMLDivElement>) {
    method onDragEnter (line 550) | private onDragEnter(event: React.DragEvent<HTMLDivElement>) {
    method showSelectedImageDetails (line 555) | private showSelectedImageDetails() {
    method setDefaultFlowActive (line 561) | private setDefaultFlowActive(defaultFlowActive: boolean) {
    method closeModal (line 565) | private closeModal() {
    method render (line 572) | public render() {

FILE: lib/gui/app/components/svg-icon/svg-icon.tsx
  constant DEFAULT_SIZE (line 21) | const DEFAULT_SIZE = '40px';
  function tryParseSVGContents (line 27) | function tryParseSVGContents(contents?: string): string | undefined {
  type SVGIconProps (line 39) | interface SVGIconProps {
  class SVGIcon (line 56) | class SVGIcon extends React.PureComponent<SVGIconProps> {
    method render (line 57) | public render() {

FILE: lib/gui/app/components/target-selector/target-selector-button.tsx
  type TargetSelectorProps (line 36) | interface TargetSelectorProps {
  function getDriveWarning (line 46) | function getDriveWarning(status: DriveStatus) {
  function TargetSelectorButton (line 78) | function TargetSelectorButton(props: TargetSelectorProps) {

FILE: lib/gui/app/components/target-selector/target-selector.tsx
  type TargetSelectorProps (line 86) | interface TargetSelectorProps {

FILE: lib/gui/app/i18n.ts
  function langParser (line 7) | function langParser() {

FILE: lib/gui/app/models/available-drives.ts
  function hasAvailableDrives (line 20) | function hasAvailableDrives() {
  function setDrives (line 24) | function setDrives(drives: any[]) {
  function getDrives (line 31) | function getDrives(): DrivelistDrive[] {

FILE: lib/gui/app/models/flash-state.ts
  function resetState (line 27) | function resetState() {
  function isFlashing (line 37) | function isFlashing(): boolean {
  function setFlashingFlag (line 48) | function setFlashingFlag() {
  function unsetFlashingFlag (line 63) | function unsetFlashingFlag(results: {
  function setDevicePaths (line 77) | function setDevicePaths(devicePaths: string[]) {
  function addFailedDeviceError (line 84) | function addFailedDeviceError({
  function setProgressState (line 113) | function setProgressState(
  function getFlashResults (line 140) | function getFlashResults() {
  function getFlashState (line 144) | function getFlashState() {
  function wasLastFlashCancelled (line 148) | function wasLastFlashCancelled() {
  function getLastFlashSourceChecksum (line 152) | function getLastFlashSourceChecksum(): string {
  function getLastFlashErrorCode (line 156) | function getLastFlashErrorCode() {
  function getFlashUuid (line 160) | function getFlashUuid() {

FILE: lib/gui/app/models/leds.ts
  function createAnimationFunction (line 31) | function createAnimationFunction(
  function blink (line 41) | function blink(t: number) {
  function one (line 45) | function one() {
  type LEDColors (line 49) | type LEDColors = {
  type LEDAnimationFunctions (line 58) | type LEDAnimationFunctions = {
  type LedsState (line 71) | interface LedsState {
  function setLeds (line 79) | function setLeds(animation: AnimationFunction, drivesPaths: Set<string>) {
  function updateLeds (line 105) | function updateLeds({
  function stateObserver (line 190) | function stateObserver() {
  function init (line 231) | async function init(): Promise<void> {

FILE: lib/gui/app/models/selection-state.ts
  function selectDrive (line 26) | function selectDrive(driveDevice: string) {
  function toggleDrive (line 36) | function toggleDrive(driveDevice: string) {
  function selectSource (line 44) | function selectSource(source: SourceMetadata) {
  function getSelectedDevices (line 54) | function getSelectedDevices(): string[] {
  function getSelectedDrives (line 61) | function getSelectedDrives(): DrivelistDrive[] {
  function getImage (line 71) | function getImage(): SourceMetadata | undefined {
  function hasDrive (line 78) | function hasDrive(): boolean {
  function hasImage (line 85) | function hasImage(): boolean {
  function deselectDrive (line 92) | function deselectDrive(driveDevice: string) {
  function deselectImage (line 99) | function deselectImage() {
  function deselectAllDrives (line 106) | function deselectAllDrives() {
  function clear (line 113) | function clear() {
  function isDriveSelected (line 121) | function isDriveSelected(driveDevice: string) {

FILE: lib/gui/app/models/settings.ts
  constant JSON_INDENT (line 27) | const JSON_INDENT = 2;
  constant DEFAULT_WIDTH (line 29) | const DEFAULT_WIDTH = 800;
  constant DEFAULT_HEIGHT (line 30) | const DEFAULT_HEIGHT = 480;
  function getConfigPath (line 44) | function getConfigPath() {
  function readConfigFile (line 49) | async function readConfigFile(filename: string): Promise<_.Dictionary<an...
  function readAll (line 65) | async function readAll() {
  function writeConfigFile (line 70) | async function writeConfigFile(
  constant DEFAULT_SETTINGS (line 77) | const DEFAULT_SETTINGS: _.Dictionary<any> = {
  function load (line 87) | async function load(): Promise<void> {
  function set (line 95) | async function set(
  function get (line 113) | async function get(key: string): Promise<any> {
  function getSync (line 118) | function getSync(key: string): any {
  function getAll (line 122) | async function getAll() {

FILE: lib/gui/app/models/store.ts
  function verifyNoNilFields (line 31) | function verifyNoNilFields(
  constant DEFAULT_STATE (line 57) | const DEFAULT_STATE = Immutable.fromJS({
  type Actions (line 81) | enum Actions {
  type Action (line 97) | interface Action {
  function getAvailableDrives (line 108) | function getAvailableDrives(state: typeof DEFAULT_STATE) {
  function storeReducer (line 115) | function storeReducer(
  function observe (line 537) | function observe(onChange: (state: typeof DEFAULT_STATE) => void) {

FILE: lib/gui/app/modules/analytics.ts
  type AnalyticsPayload (line 21) | type AnalyticsPayload = _.Dictionary<any>;
  function logException (line 133) | function logException(error: any) {

FILE: lib/gui/app/modules/api.ts
  constant THREADS_PER_CPU (line 22) | const THREADS_PER_CPU = 16;
  function writerArgv (line 26) | async function writerArgv(): Promise<string[]> {
  function spawnChild (line 45) | async function spawnChild(
  type ChildApi (line 88) | type ChildApi = {
  function connectToChildProcess (line 94) | async function connectToChildProcess(
  function spawnChildAndConnect (line 187) | async function spawnChildAndConnect({

FILE: lib/gui/app/modules/exception-reporter.ts
  function report (line 23) | function report(exception?: Error) {

FILE: lib/gui/app/modules/image-writer.ts
  type FlashResults (line 28) | interface FlashResults {
  function performWrite (line 41) | async function performWrite(
  function flash (line 140) | async function flash(
  function cancel (line 180) | async function cancel(type: string) {

FILE: lib/gui/app/modules/progress-status.ts
  type FlashState (line 20) | interface FlashState {
  function fromFlashState (line 29) | function fromFlashState({
  function titleFromFlashState (line 79) | function titleFromFlashState(

FILE: lib/gui/app/os/dialog.ts
  function mountSourceDrive (line 26) | async function mountSourceDrive() {
  function selectImage (line 44) | async function selectImage(): Promise<string | undefined> {
  function showWarning (line 76) | async function showWarning(options: {
  function showError (line 113) | function showError(error: Error) {

FILE: lib/gui/app/os/notification.ts
  function send (line 24) | async function send(title: string, body: string, icon: string) {

FILE: lib/gui/app/os/open-external/services/open-external.ts
  function open (line 23) | async function open(url: string) {

FILE: lib/gui/app/os/window-progress.ts
  constant INITIAL_TITLE (line 26) | const INITIAL_TITLE = document.title;
  function getWindowTitle (line 31) | function getWindowTitle(state?: FlashState) {
  function set (line 52) | function set(state: FlashState) {
  function clear (line 62) | function clear() {

FILE: lib/gui/app/os/windows-network-drives.ts
  function getWmicNetworkDrivesOutput (line 33) | async function getWmicNetworkDrivesOutput(): Promise<string> {
  function getWindowsNetworkDrives (line 67) | async function getWindowsNetworkDrives(
  function replaceWindowsNetworkDriveLetter (line 97) | async function replaceWindowsNetworkDriveLetter(

FILE: lib/gui/app/pages/main/Flash.tsx
  constant COMPLETED_PERCENTAGE (line 41) | const COMPLETED_PERCENTAGE = 100;
  constant SPEED_PRECISION (line 42) | const SPEED_PRECISION = 2;
  function notifySuccess (line 62) | function notifySuccess(
  function notifyFailure (line 75) | function notifyFailure(iconPath: string, basename: string, drives: any) {
  function flashImageToDrive (line 83) | async function flashImageToDrive(
  type FlashStepProps (line 142) | interface FlashStepProps {
  type DriveWithWarnings (line 157) | interface DriveWithWarnings extends constraints.DrivelistDrive {
  type FlashStepState (line 161) | interface FlashStepState {
  class FlashStep (line 169) | class FlashStep extends React.PureComponent<
    method constructor (line 173) | constructor(props: FlashStepProps) {
    method handleWarningResponse (line 184) | private async handleWarningResponse(shouldContinue: boolean) {
    method handleFlashErrorResponse (line 198) | private handleFlashErrorResponse(shouldRetry: boolean) {
    method hasListWarnings (line 206) | private hasListWarnings(drives: any[]) {
    method tryFlash (line 213) | private async tryFlash() {
    method render (line 253) | public render() {

FILE: lib/gui/app/pages/main/MainPage.tsx
  function getDrivesTitle (line 57) | function getDrivesTitle() {
  function getImageBasename (line 71) | function getImageBasename(image?: SourceMetadata) {
  constant ANALYTICS_ALERT_VISIBILITY_KEY (line 103) | const ANALYTICS_ALERT_VISIBILITY_KEY = 'analytics_alert_visible';
  type MainPageStateFromStore (line 105) | interface MainPageStateFromStore {
  type MainPageState (line 116) | interface MainPageState {
  class MainPage (line 124) | class MainPage extends React.Component<
    method constructor (line 128) | constructor(props: object) {
    method stateHelper (line 140) | private stateHelper(): MainPageStateFromStore {
    method getFeaturedProjectURL (line 154) | private async getFeaturedProjectURL() {
    method componentDidMount (line 171) | public async componentDidMount() {
    method componentDidUpdate (line 178) | public componentDidUpdate(
    method renderMain (line 189) | private renderMain() {
    method renderSuccess (line 323) | private renderSuccess() {
    method render (line 334) | public render() {

FILE: lib/gui/app/preload.ts
  type Window (line 7) | interface Window {

FILE: lib/gui/app/styled-components.tsx
  type GenericTableProps (line 243) | interface GenericTableProps<T> extends BaseTableProps<T> {
  function GenericTable (line 251) | function GenericTable<T>(
  function StyledTable (line 261) | function StyledTable<T>() {

FILE: lib/gui/app/utils/etcher-pro-specific.ts
  type BalenaTag (line 19) | type BalenaTag = {
  class EtcherPro (line 25) | class EtcherPro {
    method constructor (line 31) | constructor(supervisorAddr: string, supervisorKey: string) {
    method get_tags (line 39) | async get_tags(): Promise<Dictionary<string>> {
    method get_serial (line 56) | public get_serial(): string | undefined {
  function etcherProInfo (line 65) | function etcherProInfo(): EtcherPro | undefined {

FILE: lib/gui/app/utils/middle-ellipsis.ts
  function middleEllipsis (line 21) | function middleEllipsis(input: string, limit: number): string {

FILE: lib/gui/etcher.ts
  function checkForUpdates (line 53) | async function checkForUpdates(interval: number) {
  function logMainProcessException (line 75) | function logMainProcessException(error: any) {
  function isFile (line 83) | async function isFile(filePath: string): Promise<boolean> {
  function getCommandLineURL (line 93) | async function getCommandLineURL(argv: string[]): Promise<string | undef...
  function selectImageURL (line 132) | async function selectImageURL(url?: string) {
  function createMainWindow (line 151) | async function createMainWindow() {
  function main (line 255) | async function main(): Promise<void> {

FILE: lib/gui/menu.ts
  function buildWindowMenu (line 25) | function buildWindowMenu(window: electron.BrowserWindow) {

FILE: lib/gui/webapi.ts
  function getEtcherUtilPath (line 11) | async function getEtcherUtilPath(): Promise<string> {

FILE: lib/shared/drive-constraints.ts
  constant UNKNOWN_SIZE (line 27) | const UNKNOWN_SIZE = 0;
  type DrivelistDrive (line 29) | type DrivelistDrive = Drive & {
  function isSystemDrive (line 40) | function isSystemDrive(drive: DrivelistDrive): boolean {
  function sourceIsInsideDrive (line 44) | function sourceIsInsideDrive(source: string, drive: DrivelistDrive) {
  function isSourceDrive (line 60) | function isSourceDrive(
  function isDriveLargeEnough (line 78) | function isDriveLargeEnough(
  function isDriveValid (line 110) | function isDriveValid(
  function isDriveSizeRecommended (line 129) | function isDriveSizeRecommended(
  constant LARGE_DRIVE_SIZE (line 140) | const LARGE_DRIVE_SIZE = 128e9;
  function isDriveSizeLarge (line 145) | function isDriveSizeLarge(drive: DrivelistDrive): boolean {
  constant COMPATIBILITY_STATUS_TYPES (line 156) | const COMPATIBILITY_STATUS_TYPES = {
  function getDriveImageCompatibilityStatuses (line 198) | function getDriveImageCompatibilityStatuses(
  function getListDriveImageCompatibilityStatuses (line 249) | function getListDriveImageCompatibilityStatuses(
  function hasDriveImageCompatibilityStatus (line 265) | function hasDriveImageCompatibilityStatus(
  type DriveStatus (line 275) | interface DriveStatus {

FILE: lib/shared/errors.ts
  type ErrorWithPath (line 17) | type ErrorWithPath = Error & {
  constant HUMAN_FRIENDLY (line 25) | const HUMAN_FRIENDLY = {
  function getUserFriendlyMessageProperty (line 62) | function getUserFriendlyMessageProperty(
  function isBlank (line 72) | function isBlank(s: string | number | null | undefined) {
  function getTitle (line 86) | function getTitle(error: ErrorWithPath): string {
  function getDescription (line 108) | function getDescription(
  function createError (line 127) | function createError(options: {
  function createUserError (line 164) | function createUserError(options: {
  function toJSON (line 191) | function toJSON(
  function fromJSON (line 221) | function fromJSON(json: any): Error {

FILE: lib/shared/exit-codes.ts
  constant SUCCESS (line 17) | const SUCCESS = 0;
  constant GENERAL_ERROR (line 18) | const GENERAL_ERROR = 1;
  constant VALIDATION_ERROR (line 19) | const VALIDATION_ERROR = 2;
  constant CANCELLED (line 20) | const CANCELLED = 3;

FILE: lib/shared/permissions.ts
  constant UNIX_SUPERUSER_USER_ID (line 33) | const UNIX_SUPERUSER_USER_ID = 0;
  function commandWithEnv (line 38) | function commandWithEnv(
  function isElevated (line 61) | async function isElevated(): Promise<boolean> {
  function isElevatedUnixSync (line 82) | function isElevatedUnixSync(): boolean {
  function elevateCommand (line 86) | async function elevateCommand(

FILE: lib/shared/sudo/darwin.ts
  constant SUCCESSFUL_AUTH_MARKER (line 22) | const SUCCESSFUL_AUTH_MARKER = 'AUTHENTICATION SUCCEEDED';
  function getAskPassScriptPath (line 24) | function getAskPassScriptPath(lang: string): string {
  function sudo (line 33) | async function sudo(

FILE: lib/shared/sudo/linux.ts
  constant SUCCESSFUL_AUTH_MARKER (line 20) | const SUCCESSFUL_AUTH_MARKER = 'AUTHENTICATION SUCCEEDED';
  function checkLinuxBinary (line 23) | function checkLinuxBinary() {
  function escapeDoubleQuotes (line 43) | function escapeDoubleQuotes(escapeString: string) {
  function sudo (line 47) | async function sudo(

FILE: lib/shared/sudo/windows.ts
  function sudo (line 19) | async function sudo(

FILE: lib/shared/supported-formats.ts
  constant SUPPORTED_EXTENSIONS (line 19) | const SUPPORTED_EXTENSIONS = [
  function looksLikeWindowsImage (line 38) | function looksLikeWindowsImage(imagePath: string): boolean {

FILE: lib/shared/units.ts
  constant MEGABYTE_TO_BYTE_RATIO (line 17) | const MEGABYTE_TO_BYTE_RATIO = 1000000;
  function bytesToMegabytes (line 19) | function bytesToMegabytes(bytes: number): number {

FILE: lib/shared/utils.ts
  function isValidPercentage (line 19) | function isValidPercentage(percentage: any): boolean {
  function percentageToFloat (line 23) | function percentageToFloat(percentage: any) {
  function delay (line 32) | async function delay(duration: number): Promise<void> {
  function isJson (line 38) | function isJson(jsonString: string) {

FILE: lib/util/api.ts
  function injectEnvFromArgs (line 33) | function injectEnvFromArgs() {
  constant ETCHER_SERVER_ADDRESS (line 54) | const ETCHER_SERVER_ADDRESS = process.env.ETCHER_SERVER_ADDRESS as string;
  constant ETCHER_SERVER_PORT (line 55) | const ETCHER_SERVER_PORT = process.env.ETCHER_SERVER_PORT as string;
  constant ETCHER_TERMINATE_TIMEOUT (line 58) | const ETCHER_TERMINATE_TIMEOUT: number = parseInt(
  function terminate (line 81) | async function terminate(exitCode?: number) {
  function setTerminateTimeout (line 89) | function setTerminateTimeout() {
  type EmitLog (line 114) | interface EmitLog {
  function setup (line 119) | function setup(): Promise<EmitLog> {

FILE: lib/util/child-writer.ts
  function write (line 44) | async function write(options: WriteOptions) {
  function cleanup (line 135) | async function cleanup(until: number) {
  function writeAndValidate (line 149) | async function writeAndValidate({

FILE: lib/util/scanner.ts
  function hasAvailableDrives (line 11) | function hasAvailableDrives() {
  function setDrives (line 25) | function setDrives(drives: Dictionary<DrivelistDrive>) {
  function getDrives (line 30) | function getDrives() {
  function addDrive (line 34) | async function addDrive(drive: Drive) {
  function removeDrive (line 45) | function removeDrive(drive: Drive) {
  function driveIsAllowed (line 52) | async function driveIsAllowed(drive: {
  type Drive (line 66) | type Drive =
  function prepareDrive (line 71) | function prepareDrive(drive: Drive) {
  constant USB_ID_RADIX (line 123) | const USB_ID_RADIX = 16;
  constant USB_ID_LENGTH (line 128) | const USB_ID_LENGTH = 4;
  function usbIdToString (line 137) | function usbIdToString(id: number): string {
  function updateDriveProgress (line 141) | function updateDriveProgress(
  constant USB_PRODUCT_ID_BCM2708_BOOT (line 159) | const USB_PRODUCT_ID_BCM2708_BOOT = 0x2763;
  constant USB_PRODUCT_ID_BCM2710_BOOT (line 164) | const USB_PRODUCT_ID_BCM2710_BOOT = 0x2764;
  constant COMPUTE_MODULE_DESCRIPTIONS (line 169) | const COMPUTE_MODULE_DESCRIPTIONS: Dictionary<string> = {

FILE: lib/util/source-metadata.ts
  function isString (line 17) | function isString(value: any): value is string {
  function createSource (line 21) | async function createSource(
  function getMetadata (line 49) | async function getMetadata(
  function getSourceMetadata (line 68) | async function getSourceMetadata(

FILE: lib/util/types/types.d.ts
  type WriteResult (line 5) | interface WriteResult {
  type FlashError (line 15) | interface FlashError extends Error {
  type FlashResults (line 21) | interface FlashResults extends WriteResult {
  type WriteOptions (line 26) | interface WriteOptions {

FILE: tests/gui/models/settings.spec.ts
  function checkError (line 22) | async function checkError(promise: Promise<any>, fn: (err: Error) => any) {

FILE: tests/gui/os/windows-network-drives.spec.ts
  function mockGetWmicOutput (line 25) | function mockGetWmicOutput() {
Condensed preview — 126 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (2,366K chars).
[
  {
    "path": ".dockerignore",
    "chars": 20,
    "preview": "*\n!requirements.txt\n"
  },
  {
    "path": ".editorconfig",
    "chars": 265,
    "preview": "# editorconfig.org\nroot = true\n\n[*]\nindent_style = space\nindent_size = 2\nend_of_line = lf\ncharset = utf-8\ntrim_trailing_"
  },
  {
    "path": ".eslintrc.js",
    "chars": 304,
    "preview": "module.exports = {\n  extends: [\"./node_modules/@balena/lint/config/.eslintrc.js\"],\n  root: true,\n  ignorePatterns: [\"nod"
  },
  {
    "path": ".gitattributes",
    "chars": 1255,
    "preview": "# default\n* text\n\n# Javascript files must retain LF line-endings (to keep eslint happy)\n*.js text eol=lf\n*.jsx text eol="
  },
  {
    "path": ".github/ISSUE_TEMPLATE.md",
    "chars": 755,
    "preview": "- **Etcher version:** \n- **Operating system and architecture:** \n- **Image flashed:** \n- **What do you think should have"
  },
  {
    "path": ".github/actions/publish/action.yml",
    "chars": 8112,
    "preview": "---\nname: package and publish GitHub (draft) release\n# https://github.com/product-os/flowzone/tree/master/.github/action"
  },
  {
    "path": ".github/actions/test/action.yml",
    "chars": 3878,
    "preview": "---\nname: test release\n# https://github.com/product-os/flowzone/tree/master/.github/actions\ninputs:\n  json:\n    descript"
  },
  {
    "path": ".github/workflows/flowzone.yml",
    "chars": 1306,
    "preview": "name: Flowzone\non:\n  pull_request:\n    types: [opened, synchronize, closed]\n    branches: [main, master]\n  # allow exter"
  },
  {
    "path": ".github/workflows/winget.yml",
    "chars": 426,
    "preview": "name: Publish to WinGet\non:\n  release:\n    types: [released]\njobs:\n  publish:\n    runs-on: windows-latest # action can o"
  },
  {
    "path": ".gitignore",
    "chars": 1675,
    "preview": "\n# -- ADD NEW ENTRIES AT THE END OF THE FILE ---\n\n# Logs\nlogs\n*.log\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\nlerna"
  },
  {
    "path": ".nvmrc",
    "chars": 3,
    "preview": "18\n"
  },
  {
    "path": ".prettierrc.js",
    "chars": 198,
    "preview": "const fs = require(\"fs\");\nconst path = require(\"path\");\n\nmodule.exports = JSON.parse(\n  fs.readFileSync(path.join(__dirn"
  },
  {
    "path": ".versionbot/CHANGELOG.yml",
    "chars": 546253,
    "preview": "- commits:\n    - subject: \"patch: fix ubuntu 24 build and flash issues - bump electron-forge to\n        7.8.1 - bump ele"
  },
  {
    "path": "CHANGELOG.md",
    "chars": 82489,
    "preview": "# Change Log\n\nAll notable changes to this project will be documented in this file.\nThis project adheres to [Semantic Ver"
  },
  {
    "path": "LICENSE",
    "chars": 9724,
    "preview": "\n                              Apache License\n                        Version 2.0, January 2004\n                     htt"
  },
  {
    "path": "README.md",
    "chars": 3910,
    "preview": "# Etcher\n\n> Flash OS images to SD cards & USB drives, safely and easily.\n\nEtcher is a powerful OS image flasher built wi"
  },
  {
    "path": "after-install.tpl",
    "chars": 357,
    "preview": "#!/bin/bash\n\n# Link to the binary\n# Must hardcode balenaEtcher directory; no variable available\nln -sf '/opt/balenaEtche"
  },
  {
    "path": "docs/ARCHITECTURE.md",
    "chars": 2699,
    "preview": "Etcher Architecture\n===================\n\nThis document aims to serve as a high-level overview of how Etcher works,\nspeci"
  },
  {
    "path": "docs/COMMIT-GUIDELINES.md",
    "chars": 2446,
    "preview": "Commit Guidelines\n=================\n\nWe enforce certain rules on commits with the following goals in mind:\n\n- Be able to"
  },
  {
    "path": "docs/CONTRIBUTING.md",
    "chars": 5367,
    "preview": "Contributing Guide\n==================\n\nThanks for your interest in contributing to this project! This document aims to\ns"
  },
  {
    "path": "docs/FAQ.md",
    "chars": 4311,
    "preview": "## Why is my drive not bootable?\n\nEtcher copies images to drives byte by byte, without doing any transformation to the f"
  },
  {
    "path": "docs/MAINTAINERS.md",
    "chars": 4136,
    "preview": "# Maintaining Etcher\n\nThis document is meant to serve as a guide for maintainers to perform common tasks.\n\n## Releasing\n"
  },
  {
    "path": "docs/MANUAL-TESTING.md",
    "chars": 3888,
    "preview": "# Manual Testing\n\nThis document describes a high-level script of manual tests to check for. We\nshould aim to replace ite"
  },
  {
    "path": "docs/PUBLISHING.md",
    "chars": 2614,
    "preview": "Publishing Etcher\n=================\n\nThis is a small guide to package and publish Etcher to all supported operating\nsyst"
  },
  {
    "path": "docs/SUPPORT.md",
    "chars": 1450,
    "preview": "Getting help with BalenaEtcher\n===============================\n\nThere are various ways to get support for Etcher if you "
  },
  {
    "path": "docs/USER-DOCUMENTATION.md",
    "chars": 7949,
    "preview": "Etcher User Documentation\n=========================\n\nThis document contains how-tos and FAQs oriented to Etcher users.\n\n"
  },
  {
    "path": "entitlements.mac.plist",
    "chars": 830,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "forge.config.ts",
    "chars": 4298,
    "preview": "import type { ForgeConfig } from '@electron-forge/shared-types';\nimport { MakerSquirrel } from '@electron-forge/maker-sq"
  },
  {
    "path": "forge.sidecar.ts",
    "chars": 4647,
    "preview": "import { PluginBase } from '@electron-forge/plugin-base';\nimport type {\n\tForgeMultiHookMap,\n\tResolvedForgeConfig,\n} from"
  },
  {
    "path": "lib/gui/app/app.ts",
    "chars": 6283,
    "preview": "/*\n * Copyright 2016 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/gui/app/components/drive-selector/drive-selector.tsx",
    "chars": 15127,
    "preview": "/*\n * Copyright 2019 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/gui/app/components/drive-status-warning-modal/drive-status-warning-modal.tsx",
    "chars": 2335,
    "preview": "import ExclamationTriangleSvg from '@fortawesome/fontawesome-free/svgs/solid/triangle-exclamation.svg';\nimport * as Reac"
  },
  {
    "path": "lib/gui/app/components/finish/finish.tsx",
    "chars": 3320,
    "preview": "/*\n * Copyright 2019 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/gui/app/components/flash-another/flash-another.tsx",
    "chars": 951,
    "preview": "/*\n * Copyright 2019 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/gui/app/components/flash-results/flash-results.tsx",
    "chars": 6410,
    "preview": "/*\n * Copyright 2019 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/gui/app/components/progress-button/progress-button.tsx",
    "chars": 3152,
    "preview": "/*\n * Copyright 2016 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/gui/app/components/reduced-flashing-infos/reduced-flashing-infos.tsx",
    "chars": 2077,
    "preview": "/*\n * Copyright 2016 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/gui/app/components/safe-webview/safe-webview.tsx",
    "chars": 5882,
    "preview": "/*\n * Copyright 2017 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/gui/app/components/settings/settings.tsx",
    "chars": 4037,
    "preview": "/*\n * Copyright 2019 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/gui/app/components/source-selector/source-selector.tsx",
    "chars": 20841,
    "preview": "/*\n * Copyright 2016 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/gui/app/components/svg-icon/svg-icon.tsx",
    "chars": 2189,
    "preview": "/*\n * Copyright 2018 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/gui/app/components/target-selector/target-selector-button.tsx",
    "chars": 4251,
    "preview": "/*\n * Copyright 2019 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/gui/app/components/target-selector/target-selector.tsx",
    "chars": 4629,
    "preview": "/*\n * Copyright 2016 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/gui/app/css/main.css",
    "chars": 1487,
    "preview": "/*\n * Copyright 2016 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/gui/app/i18n/README.md",
    "chars": 1236,
    "preview": "# i18n\n\n## How it was done\n\nUsing the open-source lib [i18next](https://www.i18next.com/).\n\n## How to add your own langu"
  },
  {
    "path": "lib/gui/app/i18n/en.ts",
    "chars": 6266,
    "preview": "const translation = {\n\ttranslation: {\n\t\tcontinue: 'Continue',\n\t\tok: 'OK',\n\t\tcancel: 'Cancel',\n\t\tskip: 'Skip',\n\t\tsure: \"Y"
  },
  {
    "path": "lib/gui/app/i18n/zh-CN.ts",
    "chars": 4043,
    "preview": "const translation = {\n\ttranslation: {\n\t\tok: '好',\n\t\tcancel: '取消',\n\t\tcontinue: '继续',\n\t\tskip: '跳过',\n\t\tsure: '我确定',\n\t\twarnin"
  },
  {
    "path": "lib/gui/app/i18n/zh-TW.ts",
    "chars": 4144,
    "preview": "const translation = {\n\ttranslation: {\n\t\tcontinue: '繼續',\n\t\tok: '好',\n\t\tcancel: '取消',\n\t\tskip: '跳過',\n\t\tsure: '我確定',\n\t\twarnin"
  },
  {
    "path": "lib/gui/app/i18n.ts",
    "chars": 991,
    "preview": "import * as i18next from 'i18next';\nimport { initReactI18next } from 'react-i18next';\nimport zh_CN_translation from './i"
  },
  {
    "path": "lib/gui/app/index.html",
    "chars": 156,
    "preview": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"UTF-8\">\n    <title>balenaEtcher</title>\n  </head>\n  <body>\n    <main "
  },
  {
    "path": "lib/gui/app/models/available-drives.ts",
    "chars": 1006,
    "preview": "/*\n * Copyright 2016 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/gui/app/models/flash-state.ts",
    "chars": 3892,
    "preview": "/*\n * Copyright 2016 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/gui/app/models/leds.ts",
    "chars": 8168,
    "preview": "/*\n * Copyright 2020 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/gui/app/models/selection-state.ts",
    "chars": 2955,
    "preview": "import type { DrivelistDrive } from '../../../shared/drive-constraints';\n/*\n * Copyright 2016 balena.io\n *\n * Licensed u"
  },
  {
    "path": "lib/gui/app/models/settings.ts",
    "chars": 3264,
    "preview": "/*\n * Copyright 2016 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/gui/app/models/store.ts",
    "chars": 14136,
    "preview": "/*\n * Copyright 2016 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/gui/app/modules/analytics.ts",
    "chars": 3679,
    "preview": "/*\n * Copyright 2016 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/gui/app/modules/api.ts",
    "chars": 7369,
    "preview": "/** This function will :\n * \t- start the ipc server (api)\n *  - spawn the child process (privileged or not)\n *  - wait f"
  },
  {
    "path": "lib/gui/app/modules/exception-reporter.ts",
    "chars": 869,
    "preview": "/*\n * Copyright 2016 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/gui/app/modules/image-writer.ts",
    "chars": 4966,
    "preview": "/*\n * Copyright 2016 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/gui/app/modules/progress-status.ts",
    "chars": 2351,
    "preview": "/*\n * Copyright 2017 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\")\n * you may not use t"
  },
  {
    "path": "lib/gui/app/os/dialog.ts",
    "chars": 3469,
    "preview": "/*\n * Copyright 2016 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/gui/app/os/notification.ts",
    "chars": 1071,
    "preview": "/*\n * Copyright 2017 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/gui/app/os/open-external/services/open-external.ts",
    "chars": 948,
    "preview": "/*\n * Copyright 2016 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/gui/app/os/window-progress.ts",
    "chars": 1886,
    "preview": "/*\n * Copyright 2016 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/gui/app/os/windows-network-drives.ts",
    "chars": 3796,
    "preview": "/*\n * Copyright 2019 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/gui/app/pages/main/Flash.tsx",
    "chars": 9542,
    "preview": "/*\n * Copyright 2016 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/gui/app/pages/main/MainPage.tsx",
    "chars": 11409,
    "preview": "/*\n * Copyright 2019 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/gui/app/preload.ts",
    "chars": 292,
    "preview": "// See the Electron documentation for details on how to use preload scripts:\n// https://www.electronjs.org/docs/latest/t"
  },
  {
    "path": "lib/gui/app/renderer.ts",
    "chars": 195,
    "preview": "// @ts-nocheck\nimport { main } from './app';\nimport './i18n';\nimport { langParser } from './i18n';\nimport { ipcRenderer "
  },
  {
    "path": "lib/gui/app/styled-components.tsx",
    "chars": 6637,
    "preview": "/*\n * Copyright 2018 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/gui/app/theme.ts",
    "chars": 2259,
    "preview": "/*\n * Copyright 2018 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"),\n * you may not use "
  },
  {
    "path": "lib/gui/app/utils/etcher-pro-specific.ts",
    "chars": 2071,
    "preview": "/*\n * Copyright 2022 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/gui/app/utils/middle-ellipsis.ts",
    "chars": 1747,
    "preview": "/*\n * Copyright 2016 Juan Cruz Viotti. https://github.com/jviotti\n * Copyright 2018 balena.io\n *\n * Licensed under the A"
  },
  {
    "path": "lib/gui/etcher.ts",
    "chars": 9648,
    "preview": "/*\n * Copyright 2016 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/gui/menu.ts",
    "chars": 3095,
    "preview": "/*\n * Copyright 2017 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/gui/webapi.ts",
    "chars": 548,
    "preview": "//\n// Anything exported from this module will become available to the\n// renderer process via preload. They're accessibl"
  },
  {
    "path": "lib/shared/drive-constraints.ts",
    "chars": 7019,
    "preview": "/*\n * Copyright 2016 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/shared/errors.ts",
    "chars": 5269,
    "preview": "/*\n * Copyright 2016 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/shared/exit-codes.ts",
    "chars": 714,
    "preview": "/*\n * Copyright 2016 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/shared/messages.ts",
    "chars": 4481,
    "preview": "/*\n * Copyright 2016 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/shared/permissions.ts",
    "chars": 4663,
    "preview": "/*\n * Copyright 2017 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/shared/sudo/darwin.ts",
    "chars": 2782,
    "preview": "/*\n * Copyright 2025 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/shared/sudo/linux.ts",
    "chars": 3199,
    "preview": "/*\n * Copyright 2025 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/shared/sudo/sudo-askpass.osascript-en.js",
    "chars": 490,
    "preview": "#!/usr/bin/env osascript -l JavaScript\n\nObjC.import('stdlib')\n\nconst app = Application.currentApplication()\napp.includeS"
  },
  {
    "path": "lib/shared/sudo/sudo-askpass.osascript-zh.js",
    "chars": 435,
    "preview": "#!/usr/bin/env osascript -l JavaScript\n\nObjC.import('stdlib')\n\nconst app = Application.currentApplication()\napp.includeS"
  },
  {
    "path": "lib/shared/sudo/windows.ts",
    "chars": 2894,
    "preview": "/*\n * Copyright 2025 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/shared/supported-formats.ts",
    "chars": 968,
    "preview": "/*\n * Copyright 2016 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/shared/units.ts",
    "chars": 734,
    "preview": "/*\n * Copyright 2016 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/shared/utils.ts",
    "chars": 1247,
    "preview": "/*\n * Copyright 2017 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/util/api.ts",
    "chars": 8561,
    "preview": "/*\n * Copyright 2017 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/util/child-writer.ts",
    "chars": 5405,
    "preview": "/*\n * Copyright 2023 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/util/drive-scanner.ts",
    "chars": 1402,
    "preview": "/*\n * Copyright 2016 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "lib/util/scanner.ts",
    "chars": 4704,
    "preview": "import { scanner as driveScanner } from './drive-scanner';\nimport * as sdk from 'etcher-sdk';\nimport type { DrivelistDri"
  },
  {
    "path": "lib/util/source-metadata.ts",
    "chars": 2388,
    "preview": "/** Get metadata for a source */\n\nimport { sourceDestination } from 'etcher-sdk';\nimport { replaceWindowsNetworkDriveLet"
  },
  {
    "path": "lib/util/types/types.d.ts",
    "chars": 745,
    "preview": "import type { Metadata } from 'etcher-sdk/build/source-destination';\nimport type { SourceMetadata } from '../../shared/t"
  },
  {
    "path": "npm-shrinkwrap.json",
    "chars": 1057178,
    "preview": "{\n  \"name\": \"balena-etcher\",\n  \"version\": \"2.1.4\",\n  \"lockfileVersion\": 3,\n  \"requires\": true,\n  \"packages\": {\n    \"\": {"
  },
  {
    "path": "package.json",
    "chars": 4622,
    "preview": "{\n  \"name\": \"balena-etcher\",\n  \"private\": true,\n  \"displayName\": \"balenaEtcher\",\n  \"productName\": \"balenaEtcher\",\n  \"ver"
  },
  {
    "path": "pkg-sidecar.json",
    "chars": 310,
    "preview": "{\n  \"assets\": [\n    \"node_modules/usb/**\",\n    \"node_modules/lzma-native/**\",\n    \"node_modules/drivelist/**\",\n    \"node"
  },
  {
    "path": "repo.yml",
    "chars": 512,
    "preview": "---\ntype: electron\nrelease: github\npublishMetadata: true\nsentry:\n  org: balenaetcher\n  team: resinio\n  type: electron\ntr"
  },
  {
    "path": "tests/.eslintrc.yml",
    "chars": 275,
    "preview": "rules:\n  require-jsdoc:\n    - off\n  no-undefined:\n    - off\n  init-declarations:\n    - off\n  no-unused-expressions:\n    "
  },
  {
    "path": "tests/gui/allow-renderer-process-reuse.ts",
    "chars": 246,
    "preview": "const { app } = require('electron');\n\nif (app !== undefined) {\n\tconst remoteMain = require('@electron/remote/main');\n\n\tr"
  },
  {
    "path": "tests/gui/models/available-drives.spec.ts",
    "chars": 11502,
    "preview": "/*\n * Copyright 2016 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "tests/gui/models/flash-state.spec.ts",
    "chars": 15702,
    "preview": "/*\n * Copyright 2016 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "tests/gui/models/selection-state.spec.ts",
    "chars": 20787,
    "preview": "/*\n * Copyright 2016 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "tests/gui/models/settings.spec.ts",
    "chars": 3265,
    "preview": "/*\n * Copyright 2017 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "tests/gui/modules/image-writer.spec.ts",
    "chars": 3862,
    "preview": "/*\n *\n * TODO:\n * This test should be replaced by an E2E test.\n *\n */\n\n/*\n * Copyright 2020 balena.io\n *\n * Licensed und"
  },
  {
    "path": "tests/gui/modules/progress-status.spec.ts",
    "chars": 2863,
    "preview": "/*\n * Copyright 2020 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "tests/gui/os/window-progress.spec.ts",
    "chars": 3497,
    "preview": "/*\n *\n * TODO:\n * This test should be replaced by an E2E test.\n *\n */\n\n/*\n * Copyright 2016 balena.io\n *\n * Licensed und"
  },
  {
    "path": "tests/gui/os/windows-network-drives.spec.ts",
    "chars": 1435,
    "preview": "/*\n * Copyright 2016 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "tests/gui/utils/middle-ellipsis.spec.ts",
    "chars": 1578,
    "preview": "/*\n * Copyright 2018 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "tests/gui/window-config.json",
    "chars": 61,
    "preview": "{\n  \"webPreferences\": {\n    \"enableRemoteModule\": true\n  }\n}\n"
  },
  {
    "path": "tests/shared/drive-constraints.spec.ts",
    "chars": 34919,
    "preview": "/*\n * Copyright 2017 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "tests/shared/errors.spec.ts",
    "chars": 19436,
    "preview": "/*\n * Copyright 2016 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "tests/shared/messages.spec.ts",
    "chars": 3192,
    "preview": "/*\n * Copyright 2016 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "tests/shared/supported-formats.spec.ts",
    "chars": 1787,
    "preview": "/*\n * Copyright 2016 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "tests/shared/units.spec.ts",
    "chars": 944,
    "preview": "/*\n * Copyright 2016 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "tests/shared/utils.spec.ts",
    "chars": 4160,
    "preview": "/*\n * Copyright 2017 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use "
  },
  {
    "path": "tests/test.e2e.ts",
    "chars": 206,
    "preview": "import { browser } from '@wdio/globals';\n\ndescribe('Electron Testing', () => {\n\tit('should print application title', asy"
  },
  {
    "path": "tsconfig.json",
    "chars": 503,
    "preview": "{\n\t\"compilerOptions\": {\n\t\t\"strict\": true,\n\t\t\"target\": \"es2019\",\n\t\t\"typeRoots\": [\"./node_modules/@types\", \"./typings\"],\n\t"
  },
  {
    "path": "tsconfig.sidecar.json",
    "chars": 441,
    "preview": "{\n  \"compilerOptions\": {\n    \"target\": \"ES2020\",\n    \"allowJs\": false,\n    \"skipLibCheck\": true,\n    \"esModuleInterop\": "
  },
  {
    "path": "wdio.conf.ts",
    "chars": 12341,
    "preview": "/// <reference types=\"wdio-electron-service\" />\nimport type { Options } from '@wdio/types';\n\nexport const config: Option"
  },
  {
    "path": "webpack.config.ts",
    "chars": 2942,
    "preview": "/*\n * Copyright 2017 balena.io\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\")\n * you may not use t"
  }
]

// ... and 3 more files (download for full content)

About this extraction

This page contains the full source code of the balena-io/etcher GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 126 files (2.1 MB), approximately 552.0k tokens, and a symbol index with 328 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!