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
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
|
# 0.1.11-alpha (01-15-2014)
### New
- **NPM** - deploy new versions using Travis 081a23f
- **FileOpener2 plugin** - created module and factory for fileOpener2 plugin 08970d0
- **inAppBrowser plugin** - refractor into a provider to set default options + override default options in `open()` method daeedd1 8d9e7fb
- **File Transfer plugin** - refractor out FileTransfer plugin from **File plugin** into its own module 11717fc
- **Local Notification** - added ` registerPermission()` method for iOS 8 742d961cfd91a19998029aa51d25602387cb4e29
- **OAuth** -Magento, ADFS, Vkontakte support 8bb4198
### Fix
- **ProgressIndicator** - add the `show()` method that exists for android. show expects one parameter which is the indicator message 67f5f0d f5b220f
- **OAuth** - fix promise resolve #544 e0b2457
- **OAuth** - `close()` browser only after login promise is complete 8bb4198
- **Push Notification** - `onNotification` check + replace `$rootscope.$apply()` with `$timeout` to avoid '$digest already in progress' error 1cb428a
- **Network** - improve eventListener auto initialized the eventListeners for `offline`, `online`. 8272f28 0c8c0fd 579c18f
- **Network** - replace `$apply()` with `$timeout()` for online and offline events d0028aa
- **Social Sharing** -add `shareViaFacebookWithPasteMessageHint` method a5df9db
- **localNotification** - replace `$rootscope.$apply()` with `$timeout()` to avoid $digest error for events 743ce58
- **Battery Status** - remove isolated `$rootScope.$new()` and replace with DI injection + check if plugin is installed. If installed, start EventListeners 0c6de57
- **Battery Status** - refractor out anonymous functions for better memory management + wrap `$broadcast` calls in a `$timeout` function to ensure `$rootscope.$apply()` occurs 600b30e
### Demo
- **Facebook** - FB variables to init.sh d0575a7
- **Contacts** - add contacts da92644
- **localNotification** - add detailed localNotification da92644
### Breaking Changes
- **Network** - standardise $broadcast naming 3566b7b
- **Push Notification** - standardise $broadcast naming dda9e80
- **Battery Status** - standardise $broadcast naming 6b6739f
- **Local Notifications** -standardize $broadcast naming 742d961
- **InAppBrowser** - rename `loadstart`, `loadstop`, `loaderror`, `exit` to `$cordovaInAppBrowser:[event]` for standardisation + refractor to `$rootScope.$broadcast()` to avoid new isolated scope dea2b8e
- **InAppBrowser** - remove `init()` function - refractor into `$cordovaInAppBrowserProvider.setDefaultOptions(options)` dea2b8e
##### Network
Before
```javascript
$rootScope.$on('networkOffline', function(e,state));
$rootScope.$on('networkOnline', function(e,state));
```
Now
```javascript
$rootScope.$on('$cordovaNetwork:offline', function(e,state));
$rootScope.$on('$cordovaNetwork:online', function(e,state));
```
##### Push Notifications
Before
```javascript
$rootScope.$on('pushNotificationReceived', function(e,state));
```
Now
```javascript
$rootScope.$on('$cordovaPush:notificationReceived', function(e,notification));
```
##### Battery Status
Before
```javascript
$cordovaBatteryStatus.$on('batterystatus', function(e,status));
$cordovaBatteryStatus.$on('batterycritical', function(e,status));
$cordovaBatteryStatus.$on('batterylow', function(e,status));
```
Now
```javascript
$rootScope.$on('$cordovaBatteryStatus:status', function(e,status));
$rootScope.$on('$cordovaBatteryStatus:critical', function(e,status));
$rootScope.$on('$cordovaBatteryStatus:low', function(e,status));
```
##### Local Notification
Before
```javascript
$rootScope.$on("localNotification:canceled", function(e,notification));
$rootScope.$on("localNotification:clicked", function(e,notification));
$rootScope.$on("localNotification:triggered", function(e,notification));
$rootScope.$on("localNotification:added", function(e,notification));
```
Now
```javascript
$rootScope.$on("$cordovaLocalNotification:canceled", function(e,notification));
$rootScope.$on("$cordovaLocalNotification:clicked", function(e,notification));
$rootScope.$on("$cordovaLocalNotification:triggered", function(e,notification));
$rootScope.$on("$cordovaLocalNotification:added", function(e,notification));
```
##### In App Browser
Before
```javascript
inApp.$on('loadstart', function(e, event));
inApp.$on('loadstop', function(e, event));
inApp.$on('loaderror', function(e, event));
inApp.$on('exit', function(e, event));
$cordovaInAppBrowser.init(options);
```
Now
```javascript
$rootScope.$on('$cordovaInAppBrowser:loadstart', function(e, event));
$rootScope.$on('$cordovaInAppBrowser:loadstop', function(e, event));
$rootScope.$on('$cordovaInAppBrowser:loaderror', function(e, event));
$rootScope.$on('$cordovaInAppBrowser:exit', function(e, event));
$cordovaInAppBrowserProvider.setDefaultOptions(options);
```
##### File Plugin
Before
```javascript
$cordovaFile.uploadFile(...)
$cordovaFile.downloadFile(...)
```
Now
```javascript
$cordovaFileTransfer.upload(...)
$cordovaFileTransfer.download(...)
```
# 0.1.10-alpha (01-4-2014)
This is a relatively small release to reflect more changes to the **FB plugin**. Important additions were made the **network plugin**, which now provides the ability to watch for `online` and `offline` events.
> NOTE: **ngCordova** is arriving at a very stable level and we hope to release the first **BETA** version in the next few weeks, after we complete some important fixes to the **file plugin**, **push notifications** and **local notifications** plugins. Expect 1 - 2 more **ALPHA** releases with changes made to these plugins, and send me an email @ paolo.enrico.bernasconi@gmail.com if you would like to help test these plugins.
### NEW
- **Network Plugin** : adding `$on('online')`, `$on('offline')` events 3cccfe409b44710e9677a3d9434b3efe346e6379
- **0Auth** : salesforce + strava support e0795ce
- **Facebook** : make more compliant with original plugin and remove unnecessary `init()` from login method. 64b5aa8036d23dd768a2b47c21e760871feb94dd 2218c4d
- **mocks** : better file plugin 2404142 78e9410 8bac9eb
- **docs**: ability to search plugins
### Fix
- **0Auth** : add code to handle cancel / exit events in the oauth browser flow 4d93e12
- **Keychain** : check if keychain exists before instantiating 7684643
### Breaking Changes
**Facebook Plugin:** (only relevant for browser testing)
**Before**
```
.config(function () {
$cordovaFacebookProvider.setAppID(appID, version);
});
```
**After**
```
.config(function () {
$cordovaFacebookProvider. browserInit(12345678, "v2.0")
});
```
# 0.1.9-alpha (12-22-2014)
A new release to reflect a few changes made to the docs and code respectively. Mainly `v0.1.9-alpha` has been released to fix the AngularJS dependency issue, which now resolves to anything higher than `v1.2.23`.
### NEW
- **MAJOR docs refractor**
- **Brightness** plugin
- **App Version** plugin
- **ActionSheet** plugin
- **Email Composer** plugin
- **Image Picker** plugin
### Fix
- **App** Rate plugin: add dep injection
- **Media** plugin: reduce promisifcation
- **StatusBar** : `isVisible` is not a method, but a value
- **Bower** -- update dependency to `>= 1.2.23`
# 0.1.8-alpha (12-11-2014)
### NEW
- **App Rate** plugin
- **In App Browser** plugin
- **HTTPd** plugin
- **Video Capture Plus** plugin
- **GoogleAds** plugin
- **FacebookAds** plugin
- **FlurryAds** plugin
- **iAd** plugin
- **mMediaAds** plugin
- **mobfoxAds** plugin
- **mopubAds** plugin
- **0Auth** - twitter, reddit, foresquare support
- **Date Picker** - Insert default options on datePicker
### FIXES
- **Module** - add zip plugin injection dependency
- **Push Notification** - wrapping $broadcast in an $apply() statement to bring notification into scope
- **Local Notification** - Updated localNotification wrapper with hasPermission and promptForPermission methods
- **Bluetooth Serial** - fix callback from `resolve` to `notify` for constant updates
- **File** - add timeout option to upload
### Breaking Changes
Changes were made to the promisification of `geolocation`, `deviceOrientation` and `deviceMotion` plugin `watch` methods.
**Before**:
```
watch = $cordovaDeviceMotion.watchAcceleration(options);
watch.promise.then(
function() {/* unused */},
function(err) {},
function(acceleration) {
});
$cordovaDeviceMotion.clearWatch(watch.watchID);
```
**Now**:
```
watch = $cordovaDeviceMotion.watchAcceleration(options).then(
function() {/* unused */},
function(err) {},
function(acceleration) {
});
watch.clear();
// or
$cordovaDeviceMotion.clearWatch(watch);
```
The same goes for `geolocation` and `DeviceOrientation`.
# 0.1.7-alpha (11-05-2014)
This is a micro-release to fix the issue with `bower` installing `v0.1.5-alpha`, resolving #418.
### New
- **Demo** - FB web-dev api is now working ec053ad 71d3961
- **PushNotifications** - Angular event broadcast for push notifications da0ef69
- **Contact* - new `pickContact` method 01319b853da56eeb7893abc93fb1ebbb2bb9fbe7
### Fixes
- **Printer** - fix `isAvailable` method + promise for `print` method ef452ed
# 0.1.6-alpha (10-30-2014)
This is a small release to reflect a few fixes in the **Facebook plugin**. The docs at [ngcordova.com/docs](http://ngcordova.com/docs) are now aligned with the fixes made.
### New
- [Bluetooth Low Energy plugin]() 7540bf2
- [Badge plugin](https://github.com/katzer/cordova-plugin-badge) 69fe14f
- AuthO plugin (web based) c775650
- AppRating plugin (still in development) 9aead73
### Fixes
- **Facebook** - refractor appID 48cb327
- **Facebook** - add version parameter to setAppID method 0e6f7b1
- **Flashlight** - add toggle method 0e24273
- **Spinner Dialog** - add `fixed` parameter to stop touch from removing spinner dialog d1a01df
# 0.1.5-alpha (10-17-2014)
The Facebook Plugin is now supported with many new plugins added and bugs fixed!
### Highlights
**FB plugin** - The highly demanded Facebook plugin now has docs and a working example in the demo file of ngCordova.
**TouchID** - Add iOS TouchID authentication to your apps easily with the touchid plugin. See the demo app for a working example.
**Travis CI testing** - We've integrated ngCordova into TravisCI, and have builds tested on each commit.
### New
- [TouchID plugin](https://github.com/leecrossley/cordova-plugin-touchid)
- [ZIP plugin](https://github.com/MobileChromeApps/zip)
- [Calendar plugin](https://github.com/apache/cordova-plugin-contacts)
- [Google Analytics plugin](https://github.com/phonegap-build/GAPlugin)
- Date Picker now has promises
- PinDialog now has promises
- Replacing javascript `window` with angular `$window`
- Testing for many plugins (check the /test folder)
### Fix
- Dialogs plugin : fixed prompt and confirm methods to return button index and input (if exists)
- Keychain : fix issue where keychain is not initialized properly
- StatusBar : fix the method overlaysWebView to honour the boolean param
- Remove ngCordova.min.js from bower for better grunt integration
- Fixes to the File Plugin (more fixes coming soon)
# 0.1.4-alpha (09-08-2014)
### New
- [Progress Indicator plugin](http://pbernasconi.github.io/cordova-progressIndicator/) d70f387
- [Clipboard plugin](https://github.com/VersoSolutions/CordovaClipboard) f54bdc8
- [SMS plugin](https://github.com/aharris88/phonegap-sms-plugin)
- [Bluetooth Serial plugin](https://github.com/don/BluetoothSerial)
- [AdMob Plugin](https://github.com/floatinghotpot/cordova-plugin-admob)
- [Background Geolocation Plugin](https://github.com/christocracy/cordova-plugin-background-geolocation)
- [Facebook Connect Plugin](https://github.com/Wizcorp/phonegap-facebook-plugin)
- [Printer Plugin](https://github.com/katzer/cordova-plugin-printer)
- [Native Audio Plugin](https://github.com/SidneyS/cordova-plugin-nativeaudio) 96f4570
- [Media plugin](https://github.com/apache/cordova-plugin-media) a235517
- [Battery Status plugin](org.apache.cordova.battery-status) 897dd65
- [Keychain plugin](https://github.com/shazron/KeychainPlugin)
- [Date Picker plugin](https://github.com/VitaliiBlagodir/cordova-plugin-datepicker)
### Fixes
- **Dialogs** - Adding promise support
- **Device Orientation** - Fixed compass.clearWatch missing the watchID parameter 9367bcf
- **Globalization** - Added more methods and endpoints 786ec67
- **Globalization** - Fixed unnecessary options parameter 4379b81e791c8aefa71ba84fe65cb6ef70b62a7c
- **File** - Adding writeFile logic for "file" plugin 46bd8b7
- **File** - Added relative path and filename fbd2e9d
- **File** - New methods for ReasAs [text, DataURL, BinaryString, ArrayBuffer] 0b30ba1
- **Printer** - Adding promise support
- **Social Sharing** - Added the (most important) `share` function
- **Social Sharing** - Renamed SMS phonenr param to indicate you can pass multiple by separating by a comma
- **Social Sharing** - Renamed all image params to file, because any file can be shared
- **Social Sharing** - Fixed `shareViaEmail`, because it was an unadjusted copy-paste of `shareViaSMS`
- **Social Sharing** - Added `shareVia`
- **Social Sharing** - Added `canShareViaEmail`
- **Social Sharing** - Fixed `canShareVia` (subject was missing)
- **Social Sharing** - Removed some now obsolete TODO's/notes
### New
- A new side-menu for quick navigation
- Flashlight plugin
- Progress Indicator plugin
- AdMob plugin
- AppAvailability plugin
- Battery Status plugin
- Clipboard plugin
- Keychain plugin
- Media plugin
- Printer Plugin
- Contributing guidelines
- CHANGELOG.md
### Demo
- **Completely new demos** with many new plugins 49d991f
- Quick-view the source code in the app
- Flashlight plugin
- Statusbar plugin
- Preferences plugin
- Barcode Scanner plugin
### Other
- **ng-cordova-mocks** - Mock are now in ngCordova! Documentation is **coming soon**, with examples in the demo too
- Adding js-lint testing in gulp 72e513b
- Adding .editorconfig for better contributing
- Fix bower.js file and bower install ngCordova
# 0.1.3-alpha (06-11-2014)
### NEW
- API Change for Geolocation, DeviceMotion, and DeviceOrientation plugins. They now return an object of the form:
```javascript
{
promise: deferrable,
watchId: watchId
}
```
Where promise is the internal promise, and watchId is the watchId that can be used to clear the watch later.
- [Capture](https://github.com/apache/cordova-plugin-media-capture) plugin
- [Flashlight](https://github.com/EddyVerbruggen/Flashlight-PhoneGap-Plugin) plugin
- [AppAvailability](https://github.com/ohh2ahh/AppAvailability) plugin
- Cordova preferences plugin
And lots of fixes!
# 0.1.2-alpha (06-11-2014)
### NEW
- Bower support
- File Plugin
- Globalization plugin.
- Google Analytics plugin
- Local Notifications Plugin
- Pin Dialog plugin
- Push Notifications plugin
- Social Sharing plugin
- Spinner Dialog plugin
- SQLite Plugin
- Toast Plugin
### FEATURES
- Progress event to **File Plugin** `upload()` + `download()`
- More commands in **Push Notification plugin**
- Handle `Connection.NONE` in **Network Information Plugin** for is`Offline()`
- Use `notify` not `resolve` with `watchHeading`
### FIXES
- Remove options in **BarcodeScanner** : `scan()`
- Remove options in **Device Motion** : `getCurrentAcceleration()`
# 0.1.1-alpha (06-03-2014)
### NEW
- StatusBar
### FIXES
- Renamed Accelerometer and Compass to deviceMotion and deviceOrientation, respectively
# 0.1.0-alpha (06-03-2014)
ngCordova is ready for some bleeding edge testing. So far we support the following Cordova plugins:
- org.apache.cordova.console
- org.apache.cordova.device
- org.apache.cordova.camera
- org.apache.cordova.vibration
- org.apache.cordova.network-information
- org.apache.cordova.geolocation
- org.apache.cordova.dialogs
- org.apache.cordova.device-motion
- org.apache.cordova.splashscreen
- org.apache.cordova.device-orientation
- org.apache.cordova.contacts
- https://github.com/driftyco/ionic-plugins-keyboard
- https://github.com/wildabeast/BarcodeScanner
Give it a try, and please report lots of issues and contribute PRs. :icecream:
|