1### v2.7.4 2 3* Reset colors prior to ending a line, to eliminate flicker when a line 4 is trucated between start and end color sequences. 5 6### v2.7.3 7 8* Only create our onExit handler when we're enabled and remove it when we're 9 disabled. This stops us from creating multiple onExit handlers when 10 multiple gauge objects are being used. 11* Fix bug where if a theme name were given instead of a theme object, it 12 would crash. 13* Remove supports-color because it's not actually used. Uhm. Yes, I just 14 updated it. >.> 15 16### v2.7.2 17 18* Use supports-color instead of has-color (as the module has been renamed) 19 20### v2.7.1 21 22* Bug fix: Calls to show/pulse while the progress bar is disabled should still 23 update our internal representation of what would be shown should it be enabled. 24 25### v2.7.0 26 27* New feature: Add new `isEnabled` method to allow introspection of the gauge's 28 "enabledness" as controlled by `.enable()` and `.disable()`. 29 30### v2.6.0 31 32* Bug fix: Don't run the code associated with `enable`/`disable` if the gauge 33 is already enabled or disabled respectively. This prevents leaking event 34 listeners, amongst other weirdness. 35* New feature: Template items can have default values that will be used if no 36 value was otherwise passed in. 37 38### v2.5.3 39 40* Default to `enabled` only if we have a tty. Users can always override 41 this by passing in the `enabled` option explicitly or by calling calling 42 `gauge.enable()`. 43 44### v2.5.2 45 46* Externalized `./console-strings.js` into `console-control-strings`. 47 48### v2.5.1 49 50* Update to `signal-exit@3.0.0`, which fixes a compatibility bug with the 51 node profiler. 52* [#39](https://github.com/iarna/gauge/pull/39) Fix tests on 0.10 and add 53 a missing devDependency. ([@helloyou2012](https://github.com/helloyou2012)) 54 55### v2.5.0 56 57* Add way to programmatically fetch a list of theme names in a themeset 58 (`Themeset.getThemeNames`). 59 60### v2.4.0 61 62* Add support for setting themesets on existing gauge objects. 63* Add post-IO callback to `gauge.hide()` as it is somtetimes necessary when 64 your terminal is interleaving output from multiple filehandles (ie, stdout 65 & stderr). 66 67### v2.3.1 68 69* Fix a refactor bug in setTheme where it wasn't accepting the various types 70 of args it should. 71 72### v2.3.0 73 74#### FEATURES 75 76* Add setTemplate & setTheme back in. 77* Add support for named themes, you can now ask for things like 'colorASCII' 78 and 'brailleSpinner'. Of course, you can still pass in theme objects. 79 Additionally you can now pass in an object with `hasUnicode`, `hasColor` and 80 `platform` keys in order to override our guesses as to those values when 81 selecting a default theme from the themeset. 82* Make the output stream optional (it defaults to `process.stderr` now). 83* Add `setWriteTo(stream[, tty])` to change the output stream and, 84 optionally, tty. 85 86#### BUG FIXES & REFACTORING 87 88* Abort the display phase early if we're supposed to be hidden and we are. 89* Stop printing a bunch of spaces at the end of lines, since we're already 90 using an erase-to-end-of-line code anyway. 91* The unicode themes were missing the subsection separator. 92 93### v2.2.1 94 95* Fix image in readme 96 97### v2.2.0 98 99* All new themes API– reference themes by name and pass in custom themes and 100 themesets (themesets get platform support autodetection done on them to 101 select the best theme). Theme mixins let you add features to all existing 102 themes. 103* Much, much improved test coverage. 104 105### v2.1.0 106 107* Got rid of ░ in the default platform, noUnicode, hasColor theme. Thanks 108 to @yongtw123 for pointing out this had snuck in. 109* Fiddled with the demo output to make it easier to see the spinner spin. Also 110 added prints before each platforms test output. 111* I forgot to include `signal-exit` in our deps. <.< Thank you @KenanY for 112 finding this. Then I was lazy and made a new commit instead of using his 113 PR. Again, thank you for your patience @KenenY. 114* Drastically speed up travis testing. 115* Add a small javascript demo (demo.js) for showing off the various themes 116 (and testing them on diff platforms). 117* Change: The subsection separator from ⁄ and / (different chars) to >. 118* Fix crasher: A show or pulse without a label would cause the template renderer 119 to complain about a missing value. 120* New feature: Add the ability to disable the clean-up-on-exit behavior. 121 Not something I expect to be widely desirable, but important if you have 122 multiple distinct gauge instances in your app. 123* Use our own color support detection. 124 The `has-color` module proved too magic for my needs, making assumptions 125 as to which stream we write to and reading command line arguments. 126 127### v2.0.0 128 129This is a major rewrite of the internals. Externally there are fewer 130changes: 131 132* On node>0.8 gauge object now prints updates at a fixed rate. This means 133 that when you call `show` it may wate up to `updateInterval` ms before it 134 actually prints an update. You override this behavior with the 135 `fixedFramerate` option. 136* The gauge object now keeps the cursor hidden as long as it's enabled and 137 shown. 138* The constructor's arguments have changed, now it takes a mandatory output 139 stream and an optional options object. The stream no longer needs to be 140 an `ansi`ified stream, although it can be if you want (but we won't make 141 use of its special features). 142* Previously the gauge was disabled by default if `process.stdout` wasn't a 143 tty. Now it always defaults to enabled. If you want the previous 144 behavior set the `enabled` option to `process.stdout.isTTY`. 145* The constructor's options have changed– see the docs for details. 146* Themes are entirely different. If you were using a custom theme, or 147 referring to one directly (eg via `Gauge.unicode` or `Gauge.ascii`) then 148 you'll need to change your code. You can get the equivalent of the latter 149 with: 150 ``` 151 var themes = require('gauge/themes') 152 var unicodeTheme = themes(true, true) // returns the color unicode theme for your platform 153 ``` 154 The default themes no longer use any ambiguous width characters, so even 155 if you choose to display those as wide your progress bar should still 156 display correctly. 157* Templates are entirely different and if you were using a custom one, you 158 should consult the documentation to learn how to recreate it. If you were 159 using the default, be aware that it has changed and the result looks quite 160 a bit different. 161