CHANGELOG.md 10.6 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297
# Changelog

### `v6.0.0`

#### Breaking Changes

- Dropped support for node v6. As of v6 we currently support node versions 8, 10, and 12 (latest).
- Updated to the latest version of SnoreToast. This removes support for the `wait` option in that environment as it is now always on. Prepares the way for other new features added to the WindowsToaster.

#### Other

- Update to latest version of dependencies.

### `v5.4.3`

- Reverts breaking dependency upgrades from `v5.4.2` as some dependencies has removed Node 6 which is a breaking change.

### `v5.4.2`

- Updates dependencies

### `v5.4.1`

- Reverts changes to default timeout as they are causing some issues. See [#271](https://github.com/mikaelbr/node-notifier/pull/271)

### `v5.4.0`

- Prevent Spotlight from indexing terminal-notifier.app ([#238](https://github.com/mikaelbr/node-notifier/pull/238))
- Changes from legacy url.parse api
- Adds default timeout to notification center
- Adds mapping from timeout to expire time for linux
- Enables the use of WindowsToaster when using WSL ([#260](https://github.com/mikaelbr/node-notifier/pull/260))

### `v5.3.0`

- Re-adds `notifu` update.

### `v5.2.1`

- Rollback `notifu` update as it triggered Avast virus scan.

### `v5.2.0`

- Updates `terminal-notifier` dependency to `v1.7.2`, fixing memory leak. But not to `v1.8.0` as this breaks how icons work.
- Updates `notifu` with new subtitle "Notification"
- Fix: issue with `appID` by removing default empty string (see README Windows section)
- Fix: link notifier time property to notify-send expire-time flag

- Minor change: use a more specific condition for enabling debug logging ([#171](https://github.com/mikaelbr/node-notifier/pull/171))

### `v5.1.2`

- Adds temporary workaround for `terminal-notifier` memory leak as seen in https://github.com/facebook/jest/issues/2999 and https://github.com/julienXX/terminal-notifier/issues/173.
- Add appName option and hide snoreToast if not setted ([#158](https://github.com/mikaelbr/node-notifier/pull/158))

### `v5.0.2`

Non-obligatory fail. Fixes issue with multiple actions for macOS.

### `v5.0.1`

Obligatory fail. Fixes minor issue with non-JSON output for macOS.

### `v5.0.0`

#### Breaking Changes

_Note/TL;DR_: If you are just using `node-notifier` with things like `message`, `title` and `icon`, v5 should work just as before.

1.  CLI is now removed. Can be found in separate project: https://github.com/mikaelbr/node-notifier-cli. This means you no longer get the `notify` bin when installing `node-notifier`. To get this do `npm i [-g] node-notifier-cli`
2.  Changed toaster implementation from `toast.exe` to [Snoretoast](https://github.com/KDE/snoretoast). This means if you are using your custom fork, you need to change. SnoreToast has some better default implemented functionality.
3.  [terminal-notifier](https://github.com/julienXX/terminal-notifier) dependency has been bumped to `v1.7.1`. With that there can be changes in the API, and supports now reply and buttons. Output has changed to JSON by default, this means the output of some functions of the terminal-notifier has broken. See https://github.com/julienXX/terminal-notifier for more details. See [README](https://github.com/mikaelbr/node-notifier#usage-notificationcenter) for documentation on how to use the new features, or [an example file](https://github.com/mikaelbr/node-notifier/blob/master/example/macInput.js).
4.  `notify` method will now throw error if second argument is something else than function (still optional): [#138](https://github.com/mikaelbr/node-notifier/pull/138).

#### Additions

1.  Now supports \*BSD systems: [#142](https://github.com/mikaelbr/node-notifier/pull/142).
2.  With the new toaster implementation you can do more! For instance customize sound and close notification. See all options:

```javascript
{
  title: void 0, // String. Required
  message: void 0, // String. Required if remove is not defined
  icon: void 0, // String. Absolute path to Icon
  sound: false, // Bool | String (as defined by http://msdn.microsoft.com/en-us/library/windows/apps/hh761492.aspx)
  wait: false, // Bool. Wait for User Action against Notification or times out
  id: void 0, // Number. ID to use for closing notification.
  appID: void 0, // String. App.ID. Don't create a shortcut but use the provided app id.
  remove: void 0, // Number. Refer to previously created notification to close.
  install: void 0 // String (path, application, app id).  Creates a shortcut <path> in the start menu which point to the executable <application>, appID used for the notifications.
}
```

#### Fixes

1.  Fixes new lines on messages on Windows: [#123](https://github.com/mikaelbr/node-notifier/issues/123)

#### Technical Changes

_Internal changes for those who might be interested_.

1.  Dependencies bumped
2.  Unnecessary dependencies removed (`lodash.deepClone`). Now uses JSON serialize/deserialize instead.
3.  Project is auto-formatted by [`prettier`](https://github.com/jlongster/prettier).
4.  [Linting is added](https://github.com/mikaelbr/node-notifier/blob/master/.eslintrc)
5.  Added way to better debug what is happening by setting `DEBUG` env-var to `true`. See [CONTRIBUTE.md](https://github.com/mikaelbr/node-notifier/blob/master/CONTRIBUTE.md) for more details.

### `v4.6.1`

1.  Adds npm ignore file, ignoring tests and examples from package.
2.  Fixes CI builds.

### `v4.6.0`

1.  Adds support for Icon URL in Growl ([by @gucong3000](https://github.com/mikaelbr/node-notifier/pull/115))
2.  Adds options for passing host and port to cli tool ([reported by @el-davo](https://github.com/mikaelbr/node-notifier/issues/106))
3.  Fixes sanitize response on `notify` callback ([by @MadLittleMods](https://github.com/mikaelbr/node-notifier/commit/a44454a11eff452a8b55f9fbe291e189ed088708))
4.  Fixes use of new line in messages ([by @gucong3000](https://github.com/mikaelbr/node-notifier/pull/115))
5.  Fixes use of `file:///xxx` protocol icon paths for Windows 8.1 ([by @gucong3000](https://github.com/mikaelbr/node-notifier/pull/118))
6.  Fixes non-TTY usage and piping messages ([reported by @simensen](https://github.com/mikaelbr/node-notifier/issues/109))
7.  Updates vendor terminal-notifier version to 1.6.3 ([reported by @kid-icarus](https://github.com/mikaelbr/node-notifier/pull/120))

### `v4.5.0`

#### Additions

1.  Adds syntactic sugar for `notify`. Now able to just pass message:

```js
notifier.notify('My message');
```

See [#45](https://github.com/mikaelbr/node-notifier/issues/45) for more info.

#### Fixes

1.  Improvements to docs and examples
2.  Updates `semver` dependency to support Webpacking with Electron.

### `v4.4.0`

1.  Changes to exec terminal-notifier through execFile to allow for asar-packages
2.  Adds support for remote growl server
3.  Adds support for win7 with electron asar-package

### `v4.3.1`

Obligatory patch fix:

1.  Adds new stdin CLI options to docs

### `v4.3.0`

1.  Adds support for piping messages in to CLI.
    (With `node-notifier` installed as a CLI `npm i -g node-notifier`)

```shell
echo "Message" | notify
echo "Message" | notify -t "My Title"
echo "Some message" | notify -t "My Title" -s
```

### `v4.2.3`

1.  Fixed input arguments to CLI to be strings where they should be strings.

### `v4.2.2`

1.  Fixed no notification when no message for the CLI. [#58](https://github.com/mikaelbr/node-notifier/pull/58)
2.  Changes `which` test to be sync, avoiding some edge cases with multiple notifications.

### `v4.2.1`

1.  Minor fix for docs in CLI usage

### `v4.2.0`

1.  Adds CLI support.
2.  Fixes Debug "HRESULT : 0xC00CE508" exception on Win8. PR [#49](https://github.com/mikaelbr/node-notifier/pull/49)

### `v4.1.2`

1.  Fixes correct terminal-notifier (own fork https://github.com/mikaelbr/terminal-notifier)
    to support activate / click.

### `v4.1.1`

1.  Fixes proper error codes for balloon: #42
2.  Removes unused debug files: #41
3.  Patches differences between subtitle for notify-send: #43
4.  Updates terminal-notifier dependency (removing black borders) #44 #18

### `v4.1.0`

1.  Adds support for changing host and port for Growl.

### `v4.0.3`

1.  Fixes Notification center issue with multiple callback events.
2.  Fixes error in source code: Fixes long-spaces to proper spaces

### `v4.0.2`

1.  Fixes issue with immidiate notifu notifications (with `wait : false`)
2.  Fixes issue with boolean flags for notifu.
3.  Restructures directories. Making it easier to require notifiers directly.

### `v4.0.1`

1.  Fixes issue with optional callback for notify-send

### `v4.0.0`

Major changes and breaking API.

1.  require('node-notifier') now returns an instance with fallbackable notifications.

```js
var notifier = require('node-notifier');
notifier.notify();
```

2.  Introduced a `wait` property (default `false`), to get user input for
    Notification Center, Windows Toaster, Windows Balloons and Growl. Sadly not
    for notify-send.

```js
var notifier = require('node-notifier');
notifier.notify({ wait: true }, function(err, response) {
  // response is response after user have interacted
  // with the notification or the notification has timed out.
});
```

3.  All notification instances are now event emitters, emitting events
    `click` or `timeout`. This is only applicable if `{ wait: true }`.

```js
var notifier = require('node-notifier');
notifier.on('click', function(notificationObject, options) {
  // options.someArbitraryData === 'foo'
});
notifier.notify({ wait: true, someArbitraryData: 'foo' });
```

4.  WindowsToaster and NotificationCenter now can have sounds by doing `{ sound: true }`.
    Default NotificationCenter sound is Bottle. Can still use define sound on
    Mac:

```js
var notifier = require('node-notifier');
notifier.notify({ sound: true });
// For mac (same as sound: true on Windows 8)
notifier.notify({ sound: 'Morse' });
```

### `v3.4.0`

1.  Adds Growl as priority over Balloons

### `v3.3.0`

1.  Adds support for native Windows 7 and earlier (through task bar balloons)
2.  Changes growl implementation. Adds better support for GNTP

### `v3.2.1`

1.  Fixes support for notifications from folders with spaces on Windows.

### `v3.2.0`

1.  Adds native Windows 8 support.

### `v3.1.0`

1.  Adds Growl as fallback for Mac OS X pre 10.8.

### `v3.0.6`

1.  Fixes typo: Changes Growl app name from `Gulp` to `Node`.

### `v3.0.5`

1.  Maps common options between the different notifiers. Allowing for common usage with different notifiers.

### `v3.0.4`

1.  Fixes expires for notify-send (Issue #13)

### `v3.0.2`

1.  Fixes version check for Mac OS X Yosemite

### `v3.0.0`

1.  Updates terminal-notifier to version 1.6.0; adding support for appIcon and contentImage
2.  Removes parsing of output sent from notifier (Notification Center)