This repository has been archived by the owner on Sep 5, 2023. It is now read-only.
forked from urbanairship/ios-library
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
656 lines (575 loc) · 31.9 KB
/
CHANGELOG
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
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
iOS Changelog
=============
Migration Guide: http://docs.urbanairship.com/topic_guides/ios_migration.html.
6.4.0 - October 29, 2015
========================
- Added a flag to disable sending the device token with channel registration.
- Added support for screen tracking.
- Updated sample UI to search for bundle resources by class.
6.3.0 - October 1, 2015
=======================
- Added support for custom defined properties in custom events.
- Added support for setting associated device identifiers for analytics.
- Added install attribution event to track install attributions.
- In-app messaging now has a display ASAP mode, which will display incoming
messages as soon as possible when they arrive in the foreground.
- Fixed displaying in-app messages and landing pages in split view multitasking.
6.2.2 - September 17, 2015
==========================
- Disabled modules in the static library to resolve Xcode 7 module cache warnings.
Note: While this change should be backwards compatible with most existing apps, Swift apps
built against the static library will need to explicitly link against CoreTelephony.framework
when building with Xcode 6.4.
6.2.1 - September 14, 2015
==========================
- Added a separate build compiled with Xcode 7 for bitcode support.
- Updated UAirship, UAPush, UAInbox, and UAUser nullability attribute to be null_unspecified instead of nullable.
- Fixed rotation in push sample.
6.2.0 - August 21, 2015
=======================
- Added nullability attributes.
- Added lightweight generics support.
- Added basic support for text input behaviors in interactive notifications.
- Minimum Xcode version is now 6.4.
6.1.4 - August 3, 2015
======================
- Fixed race condition that prevented the SDK from associating a channel with the user in some firstrun scenarios.
6.1.3 - July 28, 2015
=====================
- Location service now sets allowsBackgroundLocationUpdates on iOS 9 devices if background location is enabled in
the application's capabilities.
- Added a UA-UI-Bridging.h header for Swift applications.
- Samples are now compatible with AirshipKit.
- Fixed crash in the Inbox sample caused by displaying the message list when it is already visible.
6.1.2 - July 10, 2015
=====================
- Fixed possible NSInvalidArgumentException on app foreground due to data decoding error.
6.1.1 - July 6, 2015
====================
- Improved tag group error logging.
- Fixed nullability warnings.
6.1.0 - June 22, 2015
=====================
- Support for channel and named user tag groups.
- Added new action "open_mc_overlay_action" that displays an inbox messages in a landing page.
- Updated "open_mc_action" action to fall back to displaying an inbox messages in a landing page if
the inbox delegate is not assigned.
- Notification opens that are associated with an inbox message will now automatically trigger the
"open_mc_action" action if neither the "open_mc_overlay_action" or "open_mc_action" is present.
- Added pasteboard action that allows copying text to the pasteboard.
- Added channel capture test tool to retrieve the Urban Airship Channel ID from a device for testing
and diagnostics in end user devices.
- Added new action "wallet_action" that allows downloads and displays a Passbook pass.
- Fixed coredata concurrency violations.
- Fixed automatic app delegate setup for swift applications.
- Fixed invalid architectures issue when building applications with AirshipKit.
6.0.2 - April 28, 2015
======================
- Prefixed all constants in public headers with 'UA'.
- Fixed race condition preventing the display of in-app messages on some devices.
- Fixed missing InboxMessage metadata when running an action from a WebView with an associated message.
- Fixed Urban Airship Javascript bridge when running actions that returns a result with unescaped JSON values.
6.0.1 - April 9, 2015
=====================
- Fixed issue where displaying an in-app message in certain
circumstances could cause an autolayout crash.
6.0.0 - March 31, 2015
======================
- Support for in-app messaging.
- Support for associating and disassociating a channel to a named user.
- Added new region events for proximity triggers.
- Added a flag to enable/disable analytics at runtime. Useful for providing a privacy opt-out switch.
- Disabling 'userPushNotificationsEnabled' in UAPush is now prevented by the flag 'requireSettingsAppToDisableUserNotifications' in
iOS8. It is strongly recommended to link the Settings app instead of providing an in-app toggle to turn on and off push. This is
to work around ongoing bugs in iOS8 (Radar #17878212).
- Modernized public BOOL properties to include the prefix "is" on the getter.
- Reduced the number of internal singletons. UAPush, UAInbox, UAUser, UAActionRegistry shared methods have been deprecated
and are now accessible from class methods on UAirship.
- Removed action name from action method signatures. The action name is now available with the action arguments metadata.
- UAPushNotificationHandler is no longer automatically set as the push handler if the class was present.
- Fixed Urban Airship Javascript bridge when the associated InboxMessage contains invalid characters in its title.
- Fixed Inbox not repopulating its messages when an upgrade causes the inbox's internal cache to be dropped.
5.1.1 - December 11, 2014
=========================
- Add workaound for possible CoreTelephony crash.
- Fix compiler warnings in UAInboxMessageListController.
5.1.0 - December 2, 2014
========================
- Added whitelisting to Urban Airship Javascript interface injection.
- Added UAWebViewDelegate to simplify Urban Airship Javascript interface injection into custom webview implementations.
- Prevents the Urban Airship Javascript interface from being injected multiple times into a page with frames.
- Fixed crash when using the Share Action on iPad devices.
5.0.3 - October 8, 2014
=======================
- Fixed missing headers in AirshipKit.
- Fixed custom events attribution from a message center page if the page was
displayed using the UALandingPageOverlayController.
5.0.2 - September 25, 2014
==========================
- Fixed issue where inbox messages were coming back after being deleted.
5.0.1 - September 23, 2014
==========================
- Verify channel location exists during channel creation.
- Fixed "No Messages" not being displayed for Inbox.
- Updated build scripts to handle paths with spaces.
5.0.0 - September 17, 2014
==========================
New Features
------------
- Full support for iOS 8, including compatibility with Swift applications.
- Includes an Embedded.framework for use in applications with a minimum SDK version of 8.0.
- Includes support for interactive notifications and the new iOS 8 notification registration model.
- Includes more than 25 built-in interactive notification sets, including button resources
for 9 languages.
- Additional/replacement localization strings may be added to built-in actions.
- Includes a new action for social sharing that can be called from pushes or web views.
- Includes support for defining custom events in our reporting system.
- Background push can now be used without an opt-in prompt (request remote-notification
background type in your Info.plist).
- The inbox now stores local state for read/delete. The UI no longer needs to block while
updates are made.
- Inbox core data operations are now performed on a background queue.
Major API Changes
-----------------
- User notifications (badge, alert, sound) now default to OFF. This change is designed to
make it easier to prompt for permission in the right spot. If you were relying on the
old default (push enabled at start), you will need to update your registration logic.
- Supports iOS 6+. (Support for iOS 5 has been removed).
- UA location now handles iOS8-style authorization. Once location reporting is started and
an authorization prompt is presented, changes to the authorization level are not possible
without updating the app in the App Store. By default, "always" authorization will be requested.
To request "when in use" set the property 'requestAlwaysAuthorization' to NO on UALocationService.
- Replaced existing tag modifiers on UAPush with more concisely named methods: addTag, addTags,
removeTag, and removeTags.
- FOR DETAILED INFO: http://docs.urbanairship.com/topic_guides/ios_migration.html
Sample UI Changes
-----------------
- Removed UAInboxUI and UAPushUI protocols. Sample code now displays views directly.
- Refactored the localization in both sample projects.
- Moved sample resources to a new common folder (including those used in the interactive
notifications).
- Sample projects now include targets that use the embedded framework (static library
still used in the original targets).
General Modernization
---------------------
- Modernized init and factory methods. All now return `instancetype` rather than `id` or
concrete classes.
- NS_ENUM and NS_OPTIONS are now used throughout.
- Removed previously deprecated methods and classes.
- Removed use of methods deprecated in iOS 6 (now that iOS 5 support has been dropped).
Documentation Updates
---------------------
- The SDK distribution now includes the API reference documentation in the `reference-docs` folder.
- The generated (header) documentation (in reference-docs) now has complete coverage of our public interface,
including enums and block types.
4.0.4 - September 10, 2014
==========================
- Fixed iOS 8 push prompt on first-run and immediate opt-out.
- Fixed quiet time setting not persisting between application restarts.
- Added work around for iOS 8 registration bug where disabling push registering prevents registering for notification types
without a device restart. Instead of registering for 0 notification types, the device will just be marked as opted-out. This only
affects newer iOS 8 devices. For more information, see the documentation for allowUnregisteringUserNotificationTypes on UAPush.
- UA location is now compatible with iOS 8 authorization modes. If building against Xcode 6, make sure to add the new authorization
keys (NSLocationAlwaysUsageDescription and NSLocationWhenInUseUsageDescription) to the application's info.plist. You must also manually
request the correct authorization before starting location on Urban Airship by calling either requestWhenInUseAuthorization or requestAlwaysAuthorization on CLLocationManager.
4.0.3 - August 28, 2014
=======================
- Fix undefined symbols build issue when building against the iOS 5 version of the static library.
4.0.2 - August 18, 2014
=======================
This update is only required if building against the iOS 8 SDK.
- Add basic support for new iOS 8 notification registration.
4.0.1 - July 25, 2014
=====================
- Tag utility now uses OS preferred language.
- Renamed methods to prevent false positives when apps are scanned by Apple for use of undocumented APIs.
- Aliases and tags are now trimmed to prevent device registration errors.
- Added custom inbox UIs are now checked that they conform to the UAInboxUI protocol.
- UAInboxMessage no longer extends NSManagedObject to protect against possible inbox message crashes.
- Prefixed internal category extension names with 'UA' to prevent name conflicts with other libraries.
- Fixed possible crash with background tasks.
4.0.0 - March 25, 2014
======================
- Added Urban Airship Actions framework - a generic framework that provides a convenient way to
automatically perform tasks by name in response to push notifications, Rich App Page interactions and JavaScript.
- Introduced a new device identifier, the Channel ID, which will replace the device token as the push address in Urban
Airship API calls.
- Use background tasks for all registration and analytics traffic.
- Refactored Urban Airship Javascript interface injection and webview url interception into UAWebViewTools and UIWebView+UAAdditions.
- Deprecated Urban Airship scheme "ua" in favor of the new scheme "uairship".
- Added Javascript interface methods - getMessageSentDateMS, getMessageSentDate, getMessageTitle, getMessageId, getUserId and getDeviceModel
to match the Android Urban Airship Javascript interface.
3.1.1 (Internal Release) - November 21, 2013
============================================
- Added logging channel id
- Added 3.0.2 changes:
- Moved headers to project level.
- Fixed possible crash on iOS5 when opening rich push messages with embedded images.
- Fixed duplicate notification handling on background push applications.
- Fixed possible crash with auto app integration when sending performSelector methods to the app delegate.
3.0.4 - March 4, 2014
=====================
- Allow registrations in the background.
- Fix an issue with inbox count.
3.0.3 - February 18, 2014
=========================
- Fix detectProvisioningMode behavior when inProduction is not set.
3.0.2 - November 21, 2013
=========================
- Moved headers to project level.
- Fixed possible crash on iOS5 when opening rich push messages with embedded images.
- Fixed duplicate notification handling on background push applications.
- Fixed possible crash with auto app integration when sending performSelector methods to the app delegate.
3.1.0 (Internal Release) - November 14, 2013
============================================
- Added ability to address opted out devices through channels.
3.0.1 - October 9, 2013
=======================
- Added Inbox message caching through UAURLProtocol.
- Added deleting expired Inbox messages even when the device is offline.
- Added deviceToken validation checks when being set in UAPush.
- Fixed bug where server side deleted Inbox messages were not being deleted on the client.
- Fixed several 64 bit warnings.
3.0.0 - September 18, 2013
==========================
- Removed iOS 4 support. This library version supports iOS 5, 6 and 7.
- Converted to ARC (Automatic Reference Counting).
- Removed SBJSON and replaced with NSJSONSerialization.
- Removed FMDB and replaced with CoreData.
- Removed UAInboxCache.
- Use Urban Airship API V3 'Accepts' Header.
- Send Push Address in request header for location events.
- Added logging for iOS registration.
- Deprecated UAObservable and all related protocols/methods.
- UAPush has a registrationDelegate and the "delegate" property has been deprecated and renamed pushNotificationDelegate.
- UAInboxMessageList/UAInboxMessage exposes new block and delegate-based APIs.
2.1.0 - September 18, 2013
==========================
- Added background push notification support.
- Added 64bit compatibility when building from source (Shipped binaries only contain 32bit support).
- Improved the automatic integration feature by allowing app delegates to inherit from additional classes and protocols.
- Fixed inbox message webview layout for iOS7 in sample UI.
- Fixed a possible crash in UAObservable.
2.0.4 - September 5, 2013
=========================
- Fixed a bug that could cause failing Inbox API requests to retry indefinitely.
- Fixed Inbox database schema error resulting in the Inbox message list to be unavailable when the device is offline.
2.0.3 - August 23, 2013
=======================
- Fixed an analytics bug where opening an application for the first time from a push notification would not count it
as a direct open.
2.0.2 - August 15, 2013
=======================
- Added the entire raw message object to UAInboxMessage to be able to retrieve data that is missing from the model.
2.0.1 - August 7, 2013
======================
- Fixed a bug in UAHTTPConnectionOperation causing intermittent crashes
during push registration.
2.0.0 - July 23, 2013
=====================
- Replaced the NSDictionary passed to takeOff with a UAConfig model object. More configuration
options are available and can be set directly on the object (or through the AirshipConfig.plist).
- New AirshipConfig.plist format. The new key names match the property names on UAConfig, though the old
keys are still valid.
- Added an auto-integration feature. By default, it is no longer necessary to add remote notification
callbacks to your app delegate or explicitly register for push. This can be configured with a UAConfig option.
- The UA app key can now be automatically toggled between development and production based on the status
of an app as indicated in the embedded .mobileprovision file.
- Push conversion events are now automatically collected - no integration required.
- Simplified the UAPushNotificationDelegate and UAInboxNotificationDelegate so that they provide callbacks
when the app is launched from a notification and when one is received while the app is already in the foreground
The Inbox delegate protocol also provides methods for receiving callbacks when a new or launch message is available
for viewing.
- Renamed the UAInboxUIProtocol methods for clarity.
- Removed fragile Inbox header badge in sample UI, and replaced with Mail.app style (%d) unread count.
- Rich Push Inbox cache is now optional.
- Removed In-App Purchase and Subscriptions.
- Replaced ASIHTTPRequest with a wrapper around NSURLRequest/Connection.
- Added KIF (functional) tests to PushSample (available in our GitHub repo).
- Reports data now includes the Olson/IANA timezone and Locale. This will enable future reports and push
segmentation features.
- Updated much of the code with more modern Obj-C features.
- Improved header documentation (which feeds http://docs.urbanairship.com/ios-lib/).
- Removed deprecated methods from UAPush.
- Direct access to the device token registration API can now be done directly with UADeviceAPIClient.
- UAUser now uses the same tags and aliases as the device token.
- The Urban Airship API and UI now provides a mechanismm for addressing a rich push user by the
device token, rather than the User ID.
- User ID is now displayed in the PushSample application.
- Updated localization bundle strings.
- Removed outdated library macros.
- Added built-in variables for JavaScript embedded in rich push messages: UAirship.messageSentDate,
UAirship.messageSentDateMS, and UAirship.messageTitle.
1.4.0 - Feb 7, 2013
===================
- Removed all IAP/Subscriptions code from libUAirship-version.a. Applications using subscriptions
or in-app purchase must use libUAirshipFull-version.a. libUAirshipPush is no longer distributed
as libUAirship is taking its place.
- Updated projects for Xcode 4.6 compatibility.
- Added AppleHostedStoreFrontSample - a modified version of our StoreFront sample that uses
Apple's StoreKit download feature.
- Removed original files for external dependencies
- Updated the README with more documentation and a section on contributing code.
- Added more explanatory comments to the sample app delegates.
- The library no longer displays UIAlertViews with error messages - look for errors in the console log.
- Added hooks for internal CI systems.
1.3.7 Nov 28, 2012
==================
- fixed crash in UAAnalyticsDBManager that occured when adding events
in a background task
1.3.6 Nov 28, 2012
==================
- fixed crash on [UAirship land] associated with releasing key/value observers
in the wrong order
- updated logging, added UALogLevel enum to set logging preferences in UAGlobal
- changed device token handling in UAUser to fix issue with device tokens not
being updated properly
- updated splash screens and GUI to support iPhone 5
- started caching UA-ID to speed up analytics
1.3.5 Nov 14, 2012
==================
- fixed crash because of weak reference in UAPush to NSUserDefaults
- fixed issue in UAPush when unregistering with a nil device token
- added ability to set a default value for push in NSUserDefaults, previously
defaulted to yes
- updated PushSample app to demonstrate new push functionality
- updated README with new documentation
1.3.4 Oct 23, 2012
==================
- fixed issue when displaying cached Rich Push messages with UTF8
- fixed edge case where a location event could be discarded while waiting
for user to allow location based services
- fixed analyzer issues in UAInboxURLCache, UAInboxOverlayController
- library now disables analytics if no server is specified
- moved deviceTokenHasChanged observation to UAUser
- added queuing for analytics read/write access
1.3.3 Sep 17, 2012
==================
- Updated projects for iOS 6 and Xcode 4.5
- Added exception when [UAirship takeOff:<options>] is called
on a thread other than the main thread
- Fixed registration error that occurred when a device unregistered,
then re registered
- Added delegate callback for the significant change location service
1.3.2 Aug 15, 2012
==================
- Updated sample projects and UI to reflect new registration workflow
- Quiet time fixes in sample app
- Fixed alias migration bug
- Setting the pusheEnabled property registers and unregisters device tokens
- Deprecated unRegisterDeviceToken
- Fixed unit tests
1.3.1 Aug 7, 2012
=================
- Fixed issue with unregistration that prevented
subsequent registration
1.3.0 - Aug 7, 2012
===================
- Deprecated registration related methods in UAirship and moved them to UAPush
- Changed behavior for alias,tags, and quiet time, property setters no longer
automatically trigger a registration API call, refer to UAPush.h for details
- Device metadata (tags,alias,quiet time) is now persisted before a successful
registration update
- Added auto retry for certain server responses in UAPush during registration
1.2.2 - June 18, 2012
=====================
- Fixed problem reporting hard push conversions in some situations
- Updated UALocationService to shut down single location tasks in a timely
manner when unrecoverable CLLocationManager errors occurred
- Modified UALocationService single location settings to prevent high accuracy
location calls from constantly timing out in poor GPS conditions
- Changed UALocationService delegate callbacks when the location service cannot
retrieve a location that meets accuracy requirements
1.2.1 - April 26, 2012
======================
- Dropped support for iOS versions prior to 4.0
- Location service improvements
- Fixed crash when reporting location to UALocationService from background thread
- Modified UALocationServiceNSDefaultsKey values to contain the "UALocationService" prefix
- CoreTelephony is now required
1.2.0 - April 3, 2012
=====================
- Added location support
- IAP and Subscription content URL cache fixes
1.1.5 - March 28, 2012
======================
- Removed all UDID usage
- Added UA-specific device ID
- Added the ability for devs to access the UAUser ID through a Settings.bundle for support purposes
1.1.4 - January 26, 2012
==========================
- Added nil product check to pending download and decompression logic
- Cleared sessions have an empty string session_id value after app backgrounding
1.1.3 - December 30, 2011
==========================
- Fixed incompatibility between ASIHTTPRequest and UA_ASIHTTPRequest introduced in recent update
- Fixed Subscriptions decompression path bug that resulted in content unzipping into a
content key subdirectory
1.1.2 - December 20, 2011
==========================
- Updated HTTP client libraries
- IAP and Subscription content URLs are cached for 24 hours after purchase
- Improvements to resuming incomplete installs for IAP and Subscription content
- Subscriptions UI now supports free subscriptions
- Subscriptions checks if products are available before submitting receipts
- FIX: takeOff no longer crashes if the build field in Xcode is not set
- FIX: Downloaded content is stored in Caches on iOS 5.0 and marked with the "do not back up"
attribute on iOS 5.0.1
- FIX: Tag API is working properly
- FIX: Inbox "Mark as Read" button is unavailable once a message is marked as read
1.1.1 - October 23, 2011
==========================
- Registrations will no longer be performed when the app is running in the background
- FIX: Background download tasks will only be created when there are pending downloads.
- FIX: Properly release UIAlertView displayed in the Inbox UI when messages arrive while the app
is running.
1.1.0 - October 10, 2011
==========================
General
-------
- Code-level docs are available at http://urbanairship.com/docs/ios-lib/ (a work in progress)
- Silenced analytics/reports-related logging by default.
- Added new iOS5-related analytics events
- Trim whitespace from AirshipConfig.plist keys and secrets
- Removed the need for extra linker flags (all_load and the weak ref to libSystem.B)
IAP
---
- Fixed decompression failure error message text in In-App Purchase
Push
----
- Fix URL-encoding issue in UAPush single-tag methods
- UAPushNotificationDelegate's methods are now optional
- Fixed a UAPushNotificationDelegate selector with an empty parameter name
Subscriptions
-------------
- Fixed a bug in the autorenewable product renewal flow. Renewals are now handled properly.
- Fixed a bug in the SKTransaction handling when both SubscriptionLib and StoreFrontLib were used.
- Fixed a bug in subscription receipt validation. Transactions are now kept open until a receipt
is validated.
InboxLib
--------
- Major updates to InboxLib and the Rich Push Inbox sample
- Methods and properties related to setting the "active" inbox have been eliminated or renamed
- UAInboxAlertProtocol has been removed
- The inbox database has been renamed from "Airmail.db" to "UAInbox.db"
- Inbox messages can carry an explicit content type other than text/html
- UAInboxMessageList supports concurrent batch updates
- Message extras are now retrieved and cached locally
- Improvements to message and asset cache for performance
- Improvements to Obj-C <-> Javascript bridge
- Added message id and user id values to the message detail's JS environment
- See http://support.urbanairship.com/customer/portal/articles/200710-upgrading-to-rich-push-in-1-1-
for information on specific items added, removed or modified
Inbox Protocols
---------------
- UAInboxMessageListObserver breaks out batch update events in explicit success/failure methods
- Cleaner separation from UAUser observer patterns
- New UAInboxPushHandlerDelegate protocol allows for a user-specified delegate to respond to
incoming in-app messages
Inbox UI Classes
----------------
- iPad specific classes and xib files have been removed
- iPhone interfaces have been generalized to be adaptable to the iPad UI idiom
- New UAInboxOverlayController allows for displaying incoming Rich Push messages
in an overlay window superimposed over your content
- UAInboxMessageListController and UAInboxMessageViewController have been redesigned to be
embeddable in non-modal contexts, like navigation controller stacks and tab bar controllers
- New UAInboxNavUI embeds the inbox in a navigation controller or popover controller
- The InboxSample project allows you to select between multiple UI classes on the fly
as a quick overview of the different inbox interface styles
1.0.7 - August 29, 2011
=========================
- Rebuilt 1.0.6 in Xcode 4.1 to address an armv7 issue in the Xcode 4.2 generated static library
1.0.6 - August 26, 2011
=======================
Autorenewable Subscriptions
---------------------------
- Added Autorenewable subscription support. Purchasing is identical to the non-autorenewable process.
- Added a restore process that will work on multiple devices without email entry. To trigger
a restore, call UASubscriptionManager's restoreAutorenewables method. The subscription list will
be automatically reloaded when the restore is complete.
- Added new events in UASubscriptionManagerObserver (see UASubscriptionManager.h for
details on their use).
- Added UASubscriptionAlertType value that indicates restore failure: UASubscriptionAlertFailedRestore
Newsstand and Other Subscription Updates
----------------------------------------
- The inventory now has an availableProducts property that contains items that are available for sale.
- Added contentForKey: convenience getter to UASubscriptionInventory
- Added publish date for subscription content
- Added option to set custom download directory for subscription content
- Subscription content is now placed in a subdirectory named with the content key OR the specified
product ID if it is available
Subscription Sample UI
----------------------
- The "Settings" button has been replaced with a "Restore" button.
- The email entry interstitial UIAlertView has been removed.
- Modified sample app to use the product ID string rather than the subscription product object
iOS5-Specific Updates
---------------------
- Fixed modal view issues in each sample UI
- Fixed a crash caused by the unread count graphic in the Inbox UI
- Updated purchase calls so they no longer use iOS5-deprecated purchase methods
Misc updates
------------
- UAUser may now be instantiated before takeOff so that you can add observers for the creation process.
- Added UAUserStateCreating value to the UAUserState enum
- Fixed crash in IAP library caused when a product was purchased multiple times in a single app session.
- Added flexibility to UAHTTPConnection. Supports multiple methods, auth.
- Disabled reports uploads when app is not active
- The library header imports have been cleaned up to prevent conflicts. You
may need to add some additional imports to any custom UI classes (e.g., UASubscriptionProduct.h)
- Instance variables are now private
- Better documentation. New AR functionality is documented in headers.
- Updates for Xcode 4.1 and 4.2 beta
1.0.5 - April 26, 2011
======================
- Fixed bug where the StoreFront sample UI would not return control to the original window.
- Fixed bug where product_id was missing from subscription objects.
- Fixed enum collisions with external libraries.
- Fixed multiple exec_bad_access crashes in StoreFront UI.
- Fixed bug that would append product_id to download custom download directories.
- Fixed bug that would append trailing slashes to tags.
- Fixed bad property assignment in UAInboxUI.
- Fixed early SKTransaction finish calls that could cause a crash.
- Fixed bug that could cause downloads to fail on retry and appear stuck.
- Fixed bug where StoreFrontDetails viewcontroller could be pushed twice and crash.
- Fixed arm6 LLVM bug that would cause crashing on older devices when launching UAirship.
- Moved UAInboxMessageListCell to shared.
- Removed extra logging, and changed logs to be triggered by a takeOff options flag LOGGING_ENABLED
- Removed all non-essential code files from Airship/External directory.
- Library is now a single arm6/arm7/i386 universal release file.
- Xcode4 support for all projects.
1.0.4 - February 23, 2011
=========================
- Added Analytics to all products and samples. Gathering basic device data and tracking app state
to determine push conversion related data. Can be enabled/disabled via takeOffOptions, on by default.
- Added a completely re-worked PushLib with an all new sample project and UI. Includes a number
of handlers for making push, alias, tags, and auto-badge much simpler to use.
- Add ability to send key/secret and other settings via takeOffOptions.
- Added cleaner exits and error handling for missing UI classes.
- Renamed log macros to have a UA_ prefix.
- Fixed enum linker collisions on Reachability and asihttp.
- Fixed IAP iPad UI crash in landscape mode.
1.0.3 - January 31, 2011
========================
- Updated copyrights
- Fixed storeFrontWillHide delegate call. Removed storeFrontDidHide.
- Updated all projects to use Clang/LLVM 1.6 as default (fully compatible now)
- Fixed numerous LLVM/Analyzer warnings
1.0.2 - January 27, 2011
========================
- Fixed bug causing downloads to still go to NSDocuments instead of NSLibrary
- Removed category on UIDevice, eliminating -all_load flag requirement, and moved the functionality to UAUtils
- Fixed dateFormatter to require GMT and en_us_posix locale
- Fixed bug where download directory intermediate dirs were not initialized
1.0.1 - January 20, 2011
========================
- Fixed bug that would erroneously cause subscription transactions to finish early with rare network issues.
- Moved keys to AirshipConfig.plist
- Added missing -all_load linker flags
- Added UATagUtils helper class for setting typical device tags
- Removed unused class UAInboxDelegate
- Updated README
1.0.0 - December 27, 2010
=========================
- First Static Library Release