retro-imager/dependencies/drivelist/CHANGELOG.md

607 lines
15 KiB
Markdown
Raw Normal View History

2020-03-04 16:55:40 +01:00
# Change Log
All notable changes to this project will be documented in this file
automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY!
This project adheres to [Semantic Versioning](http://semver.org/).
## 8.0.9 - 2019-11-06
* Avoid segfaulting on mac when some disk description fields are null [Alexis Svinartchouk]
## 8.0.8 - 2019-10-08
* Fix tests [Alexis Svinartchouk]
* Fix typo in readme [Alexis Svinartchouk]
## 8.0.7 - 2019-09-20
* Update nan to ^2.14 to fix builds targetting electron 6 [Alexis Svinartchouk]
## 8.0.6 - 2019-03-20
* Update example in readme [Alexis Svinartchouk]
## 8.0.5 - 2019-03-20
* Update resin-lint to ^3.0.1 [Alexis Svinartchouk]
## 8.0.4 - 2019-03-19
* Unregister DASession callback to avoid crash [Robert Vojta]
## 8.0.3 - 2019-03-18
* Fix DASession and NSMutableArray leaks on macOS [Alexis Svinartchouk]
## 8.0.2 - 2019-03-04
* Fix isVirtual value on macOS [Robert Vojta]
## 8.0.1 - 2019-02-27
* Fix macOS crash when SD card is ejected [Robert Vojta]
## 8.0.0 - 2019-02-22
* Address PR comments [Alexis Svinartchouk]
* Try `lsblk --pairs` if parsing `lsblk --json` fails [Alexis Svinartchouk]
* Convert to typescript, use promises instead of callbacks [Alexis Svinartchouk]
## 7.0.3 - 2019-02-20
* Fix parsing lsblk --pairs output for disks with no partition table [Alexis Svinartchouk]
## 7.0.2 - 2019-02-20
* Update prebuild to ^8.1.2 [Alexis Svinartchouk]
## 7.0.1 - 2019-01-28
* Remove unused diskutil file and its tests [Alexis Svinartchouk]
## 7.0.0 - 2019-01-28
* Remove outdated docs. [Alexis Svinartchouk]
* Feat(mac): Native implementation for drivelist [Robin Andersson]
## 6.4.6 - 2019-01-10
* Fix tests incorrect mountpoints [Lorenzo Alberto Maria Ambrosi]
* Fix devices mountpoints for lsblk in pairs mode [Lorenzo Alberto Maria Ambrosi]
## 6.4.5 - 2019-01-10
* Fix tests incorrect device.size [Lorenzo Alberto Maria Ambrosi]
* Fix linting errors & add specs with plist return value assertions [Robin Andersson]
## 6.4.4 - 2019-01-10
* Fix build on xcode 10.1 [Alexis Svinartchouk]
## v6.4.3 - 2018-09-10
* Lsblk: Fix listing of empty mountpoints [Jonas Hermsmeier]
## v6.4.2 - 2018-09-03
* Lsblk: Check `hotplug` to set `isRemovable` [Jonas Hermsmeier]
* Ci: Add .resinci.yml [John (Jack) Brown]
## v6.4.1 - 2018-08-28
* Lsblk: Fix missing `devicePath` property [Jonas Hermsmeier]
## v6.4.0 - 2018-08-02
* Feat(diskutil): Populate devicePath on Mac OS #297 [Jonas Hermsmeier]
## v6.3.2 - 2018-08-02
* Fix(diskutil): Also probe Ejectable to determine removabililty #298 [Jonas Hermsmeier]
## v6.3.1 - 2018-08-01
* Test(lsblk): Add test case for root device mountpoints #293 [Jonas Hermsmeier]
* Fix(lsblk): Enumerate mountpoints on root devices #293 [Jonas Hermsmeier]
* Fix(lsblk): Fall back to mountpoint if no label given #293 [Jonas Hermsmeier]
* Fix(lsblk): Resolve relative device names #293 [Jonas Hermsmeier]
## v6.3.0 - 2018-07-09
* Fix(linux): Fix pair consolidation for lsblk #255 [Jonas Hermsmeier]
* Feat(lib): Use lsblk directly, parse json output #255 [Jonas Hermsmeier]
## v6.2.5 - 2018-07-06
* Fix(linux): Add flag to lsblk to list all devices #287 [Jonas Hermsmeier]
## v6.2.4 - 2018-07-04
* Fix(test): Add python requirements.txt for tests #288 [Jonas Hermsmeier]
## v6.2.3 - 2018-05-25
* Fix(src): Fix nan callback deprecation warning #284 [Jonas Hermsmeier]
## v6.2.2 - 2018-05-10
* Fix(ci): Fix Node version arg passed to prebuild script #280 [Jonas Hermsmeier]
## v6.2.1 - 2018-05-10
* Upgrade(package): Bump prebuild dependencies #279 [Jonas Hermsmeier]
* Fix(ci): Only prebuild with Node 10 #279 [Jonas Hermsmeier]
## v6.2.0 - 2018-05-09
* Feat(linux): Add unique device path #278 [User Name]
## v6.1.8 - 2018-04-26
* Chore(ci): Build, test & publish releases for Node.js v10 #273 [Tim Perry]
## v6.1.7 - 2018-04-16
* Fix(diskutil): Fall back to MediaName if EntryName is not available #270 [Jonas Hermsmeier]
* Fix(diskutil): Track & filter out device info errors #270 [Jonas Hermsmeier]
## v6.1.6 - 2018-04-13
* Fix(diskutil): Added an error for diskutil returning null [grumpyoldman-io]
## v6.1.5 - 2018-04-05
* Fix(diskutil): Fix ReferenceError when DeviceNode is undefined #266 [Jonas Hermsmeier]
## v6.1.4 - 2018-04-02
* Upgrade(package): Bump dependencies #264 [Jonas Hermsmeier]
## v6.1.3 - 2018-03-17
* Fix(diskutil): Use VolumeAllocationBlockSize if available #260 [Jonas Hermsmeier]
## v6.1.2 - 2018-03-16
* Fix(test): Avoid test timeout on AppVeyor #259 [Jonas Hermsmeier]
* Test(diskutil): Add tests for devices without partitions #259 [Jonas Hermsmeier]
* Fix(diskutil): Support mountpoints without partitions #259 [Jonas Hermsmeier]
* Fix(diskutil): Fix handling of devices without partitions #259 [Jonas Hermsmeier]
## v6.1.1 - 2018-03-13
* Fix(package): Remove obsolete bin entries #256 [Jonas Hermsmeier]
## v6.1.0 - 2018-03-09
* Feat(lib): Use diskutil directly, parse plist output #253 [Jonas Hermsmeier]
## v6.0.5 - 2018-03-02
* Upgrade(package): Bump dependencies #252 [Jonas Hermsmeier]
## v6.0.4 - 2018-01-18
* Fix(windows): Impl IsSystemDevice() #250 [Jonas Hermsmeier]
## v6.0.3 - 2018-01-18
* Fix crash on Windows 7 #249 [Jonas Hermsmeier]
## v6.0.2 - 2018-01-14
* Fix(darwin): Use proper flag to enable extended regexes in `sed` Fixes #247 #248 [Andrew Scheller]
## v6.0.1 - 2018-01-12
* Fix(darwin): Allow mountpoints containing space characters #246 [Andrew Scheller]
## v6.0.0 - 2018-01-05
* Feat: Rewrite native bindings to use IOCTL #243 [Jonas Hermsmeier]
## v5.2.12 - 2017-12-28
* Chore(package): Bump dependencies #242 [Jonas Hermsmeier]
## v5.2.11 - 2017-12-14
* Refactor: Remove lodash #235 [Jonas Hermsmeier]
## v5.2.10 - 2017-12-12
* Fix(package): Fix prebuild script being run on build #236 [Jonas Hermsmeier]
## v5.2.9 - 2017-12-09
* Fix: Remove the final usage of perl from darwin.sh #238 [Andrew Scheller]
## v5.2.8 - 2017-12-08
* Chore: pip on Travis OSX is now pip2 #239 [Andrew Scheller]
## v5.2.7 - 2017-10-17
* Upgrade(package): Bump dependencies #232 [Jonas Hermsmeier]
## v5.2.6 - 2017-10-13
* Fix(ci): Ensure the Travis box finds bash #230 [Jonas Hermsmeier]
## v5.2.5 - 2017-10-13
* Chore(ci): Add CI deployment scripts #227 [Jonas Hermsmeier]
## v5.2.4 - 2017-10-06
* Correctly execute macOS and GNU/Linux scripts inside directories mounted as `noexec`. #229 [Juan Cruz Viotti]
## v5.2.3 - 2017-10-06
* Fix: Bring back support for Node.js v4 #225 [Zoltan Kochan]
## v5.2.2 - 2017-10-02
* Chore(appveyor): Explicitly set base image #223 [Jonas Hermsmeier]
## v5.2.1 - 2017-09-28
* Upgrade(package): Update dependencies #221 [Jonas Hermsmeier]
## v5.2.0 - 2017-09-28
* Feat(package): Add prebuilds for native bindings #219 [Jonas Hermsmeier]
## v5.1.8 - 2017-08-28
* Store GNU/Linux temporary scripts in `$XDG_RUNTIME_DIR`. #209 [Juan Cruz Viotti]
## v5.1.7 - 2017-08-28
* Ensure all volume handles get closed on Windows. #212 [Juan Cruz Viotti]
## v5.1.6 - 2017-08-28
* Fix(windows): log the volume we're working on #211 [Juan Cruz Viotti]
## v5.1.5 - 2017-08-14
* Correctly handle BitLocker locked Windows volumes. #206 [Juan Cruz Viotti]
## v5.1.4 - 2017-08-07
* Get more detailed error codes from the Windows implementation. [Juan Cruz Viotti]
## v5.1.3 - 2017-08-01
* Fix "Couldn't scan the drives: An unknown error occurred" where there is a mounted virtual drive. [Juan Cruz Viotti]
## v5.1.2 - 2017-08-01
* Fix "Couldn't initialize the scanner: An unknown error occurred" error. [Juan Cruz Viotti]
## v5.1.1 - 2017-08-01
* Refactor(windows): don't use COM/WMI to retrieve a drive media type [Juan Cruz Viotti]
## v5.1.0 - 2017-07-31
* Feat: add a `displayName` property to drive objects [Juan Cruz Viotti]
## v5.0.28 - 2017-07-31
* Feat(windows): print HRESULT hex in debug information [Juan Cruz Viotti]
## v5.0.27 - 2017-07-19
* Fix: small typo in EAGAIN error message [Juan Cruz Viotti]
## v5.0.26 - 2017-07-18
* Fix: handle EAGAIN spawning errors [Juan Cruz Viotti]
* Refactor: reduce debug logging if unlink was successful [Juan Cruz Viotti]
## v5.0.25 - 2017-06-29
* Feat(windows): print debugging information when DRIVELIST_DEBUG is set [Juan Cruz Viotti]
* Fix: property clean up tmp file after exec [Jonas Hermsmeier]
* Fix(windows): ERROR_NOT_READY on empty SD Card reader [Juan Cruz Viotti]
* Chore(package): Fix missing EOL in package.json [Jonas Hermsmeier]
* Fix(windows): all drives are interpreted as read-only [Juan Cruz Viotti]
* Refactor(windows): don't use WMI to list volumes [Juan Cruz Viotti]
* Fix(windows): detect read-only flag on SD Cards without a filesystem (#183) [Juan Cruz Viotti]
* Refactor(windows): Use an IOCTL to determine the partition type (#181) [Juan Cruz Viotti]
## v5.0.24 - 2017-06-27
* Refactor(windows): implement volume::GetType() [Juan Cruz Viotti]
## v5.0.23 - 2017-06-15
* Upgrade(package): Bump dependencies [Jonas Hermsmeier]
* Doc(README): Add npm monthly download count [Jonas Hermsmeier]
* Adapt changelog for versionbot [Kostas Lekkas]
* Doc(README): Fix Travis link, use Etcher chat [Jonas Hermsmeier]
## v5.0.22
- Fix perl taking all the CPU in macOS in some cases
## v5.0.21
- Join volume and device names as descriptions if they both exists on macOS
## v5.0.20
- Inline platform scripts as a JSON file.
## v5.0.19
- Correctly deal with unicode characters coming from drive descriptions
- Correctly deal with invalid escape sequences coming from drive descriptions
## v5.0.18
- Fix mountpoints getting cut if they contain a `#` in GNU/Linux and macOS
## v5.0.17
- Fix literal `\040` on mountpoints that contain spaces in GNU/Linux
## v5.0.16
- Fix awk expression that replaces periods with underscores before evaluating
`udevadm` output in GNU/Linux.
## v5.0.15
- Increase debug logging in the case of script errors
- Prevent errors when unplugging drives while the scripts are running
## v5.0.14
- Catch the exit code of the wrapped VBScript on Windows.
## v5.0.13
**Important:** v5.0.11 and v5.0.12 were both published to NPM from a Windows
machine. This messed up the execution permissions of the drive detection
scripts, causing `EACCES` errors.
This version is equal to v5.0.12, but was released from a UNIX based system.
## v5.0.12 [BROKEN]
- Ensure the Windows script has execution permissions.
## v5.0.11 [BROKEN]
- Omit empty SD Card readers on Windows.
## v5.0.10
- Don't include drive letters assigned to no file system in Windows mount points.
## v5.0.9
- Print platform scripts `stderr` output to a debug channel instead of throwing if the script exitted with code zero.
- Fix bug where only the first mount point is reported on GNU/Linux.
- Ensure every potentially problematic value is double quoted in the GNU/Linux and macOS scripts.
## v5.0.8
- Fix "is not recognised as an internal or external command" errors on Windows.
## v5.0.7
- Interpret "Fixed" drives as system drives in macOS.
## v5.0.6
- Fix uncaught error caused by a weird Windows configuration edge where multiple partitions were reported to have the same drive letter.
## v5.0.5
- Fix system drives being detected as removable drives on Mac Mini.
## v5.0.4
- Replace periods with underscores before evaluating `udevadm` output in GNU/Linux.
## v5.0.3
- Fix `drivelist` not detecting mountpoints in Windows due to a space/tab YAML parsing issue.
## v5.0.2
- Don't require .NET VBScript classes in Windows platform script.
## v5.0.1
- Fix `YAMLException: bad indentation of a sequence entry` Windows error.
## v5.0.0
- Transform `mountpoint` into an array of objects called `mountpoints`.
- Improve GNU/Linux detection performance.
- Correctly get SD Card readers descriptions in GNU/Linux.
## v4.0.0
- Ignore invalid YAML output from platform scripts.
- Group mount points of drives with multiple partitions in Windows.
- Switch project to JavaScript.
- Switch license to Apache 2.0.
## v3.3.4
- Ensure `%SYSTEMROOT%\System32` is in the `%PATH%` before calling `cscript.exe` on Windows.
## v3.3.3
- Default device name to device id if drive doesn't have an assigned letter in Windows.
## v3.3.2
- List all partition's mountpoints in OS X.
## v3.3.1
- Fix `blkid: command not found` in GNU/Linux.
## v3.3.0
- Fix `null` device when unplugging a device while detecting drives.
- Expose a "raw" property in all devices.
- Attempt to display the volume name as description in OS X.
## v3.2.6
- Fix internal removable drives being considered "system" in macOS Sierra.
## v3.2.5
- Fix YAML error when a description contains question marks in GNU/Linux.
## v3.2.4
- Fix missing sizes in macOS Sierra.
## v3.2.3
- Handle mountpoints with spaces in GNU/Linux.
## v3.2.2
- Check if drive is removable when the drive has no file system in Windows.
## v3.2.1
- Make use of `df` to determine mountpoints in GNU/Linux.
## v3.2.0
- Add a property called `protected`.
## v3.1.2
- Prevent certain system drives to be detected as removable in GNU/Linux.
## v3.1.1
- Fix issue that caused some hard drives to be listed as removable drives.
## v3.1.0
- Show non-mountable disk drives in Windows.
## v3.0.0
- Parse size as a number representing bytes.
## v2.0.14
- Detect mount points of drives mounted by UUID on GNU/Linux.
## v2.0.13
- Keep once decimal in Windows drive sizes.
## v2.0.12
- Make sure MacBook's internal SDCard readers are marked as removable.
## v2.0.11
- Escape double quotes in description to prevent YAML errors.
## v2.0.10
- Improve the way we detect system drives in Windows.
## v2.0.9
- Use `udev` to determine if a drive is removable on GNU/Linux.
- Mark internal and non-removable drives as system drives in OS X.
- Omit loop devices in GNU/Linux.
- Omit CD/DVD drives in GNU/Linux.
## v2.0.8
- Omit mounted DMG images in OS X.
## v2.0.7
- Add a display name property called `name`.
## v2.0.6
- Fix boolean values being surrounded by quotes.
## v2.0.5
- Trim trailing commas on GNU/Linux mountpoints.
## v2.0.4
- Support running inside Electron.
## v2.0.3
- Treat multiple mountpoint as a comma separated list of paths in GNU/Linux.
## v2.0.2
- Escape paths including spaces in unix based operating systems.
## v2.0.1
- Escape backslashes in Windows devices to avoid weird characters.
## v2.0.0
- Add example file for easy testing.
- Redesign Windows script to match the new output scheme.
- Refer to `osx` as Darwin everywhere.
- Implement GNU/Linux scanning bash script.
- Unify parsing between all supported operating systems.
- Add `system` property to returned drives.
- Remove `drivelist.isSystem()` predicate.
- Fix issue that caused some OS X drives to not be detected.
## v1.3.2
- Handle edge case where OS X drives contain a description within parenthesis in `diskutil list`.
## v1.3.1
- Surround Windows script path in double quotes to avoid issues with paths incuding white space.
## v1.3.0
- Add `mountpoint` attribute to drives.
## v1.2.2
- Fix issue where a removable drive was detected as a system drive in Linux.
## v1.2.1
- Fix win32 issue where DeviceID gets part of the device description.
## v1.2.0
- Implement isSystem predicate.
## v1.1.2
- Prevent empty lsblk model crash the module. Return `undefined` description instead.
## v1.1.1
- Prevent empty wmic size crash the module. Return `undefined` size instead.
## v1.1.0
- Return non supported OS error to the callback instead of just throwing it.