forked from pubnub/objective-c
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGELOG
639 lines (498 loc) · 29.3 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
15-09-2017 - 5811cce - 4.7.1
. fixed telemetry shared data access issues.
28-08-2017 - 6638b35 - 4.7.0
. added 'delete message' functionality.
. fixed issue with wildcard subscription and presence events which treated as messages.
. fixed issue with copyWithConfiguration method which removed client itself from state change observers.
. fixed de-duplication messages cache size issue.
. fixed issue because of which requests metrics gathered only if 'metrics' log level has been enabled.
. removed deprecated flag from 'stripMobilePayload' so it will only print out deprecation warning in console w/o actual warning in Xcode.
. adjusted telemetry cache clean up interval.
21-08-2017 - 718ffe6 - 4.6.3
. fixed bug with channel group subscription from previous release.
19-07-2017 - 424bf71 - 4.6.2
. added ability to gather service performance information.
. fixed issue with macOS Keychain access in multi-user environment when none authorized.
. removed unsubscribe request cancellation by sequential call to subscribe API.
. added new error category PNRequestURITooLongCategory to properly handle and report issues to callbacks and completion blocks.
. reorganized code which is responsible for subscribe requests cancellation.
. fixed inline documentation.
26-04-2017 - 9087df2 - 4.6.1
. fixed dependency analysis warnings for Fabric integration via CocoaPods.
31-03-2017 - 10a7af7 - 4.6.0
. add support for presence deltas.
15-03-2017 - 0ca22f9 - 4.5.15
. added 'pn-' prefix for client-provided unique user identifiers.
. changed pre-compile macro for URLSession metrics gathering delegate usage.
. persistent UUID storage and tests deprecated API silenced.
. added OSSpinLock and os_unfair_lock switch.
08-03-2017 - 1d8e2ac - 4.5.14
. fixed uuid and auth keys encoding in query string.
03-02-2017 - 3c5c14c - 4.5.13
. added TCP metrics output to PubNub logs (added corresponding logger level).
. deprecated 'stripMobilePayload' property
. added information about 'stripMobilePayload' deprecation to Xcode console with guide what can be done next.
05-01-2017 - 96449f1 - 4.5.12
. changed default origin.
16-12-2016 - d0e711e - 4.5.11
. default origin reverted back to pubsub.pubnub.com
16-12-2016 - 464f67b - 4.5.10
. changed object which is stored in cache which is used for de-duplication.
. changed default origin.
26-11-2016 - 7808174 - 4.5.9
. fixed cached messages identifier list clean up.
25-11-2016 - b71546b - 4.5.8
. added new configuration property 'maximumMessagesCacheSize' which allow to enable (when non-zero value passed) messages de-duplication logic.
20-11-2016 - 2bc6d69 - 4.5.7
. removed PNClass and added manual service response parsers registration (in attempt to solve third-party classes initialization at run-time).
. added additional service response check and wrap (in case if still somehow non-dictionary reached data objects).
. fixed issue because of which "reverse" flag had same value as "include timetokens".
. added APPLICATION_EXTENSION_API_ONLY flag to PubNub.podspec and Framework targets.
16-11-2016 - 21726f3 - 4.5.6
. added multi-channel history request API to API call builder interface.
. added ability to subscribe / unsubscribe to/from channels and/or groups with single API call.
. added ability to receive message sender identifier.
. deprecated 'restoreSubscription' property.
. added verbose logs around subscription loop timetoken usage.
02-11-2016 - fddb1f1 - 4.5.4
. added ability to specify for how long published message should be stored in channel's storage (added into API call builder interface)
. fixed 'instanceID' which is placed inside of PNConfiguration - if it requesed to setup new client it will have same 'instanceID'. Now 'instanceID' is set per PubNub client instance.
27-10-2016 - 935ae96 - 4.5.4
. added application extension environment support (applicationExtensionSharedGroupIdentifier PNConfiguration property).
. added builder pattern for API calls.
. added 'fire' and 'replicate' options to publish API call builder.
. added messages count threshold configuration property (requestMessageCountThreshold) which allow to specify how many messages client can receive without PNRequestMessageCountExceededCategory status object sending (to -client:didReceiveStatus: observer callback).
. added 'instanceid' query property to simplify multi client debug.
. added 'requestid' query property for each request to force proxy servers to not cache responses and debug purposes.
. updated fastlane configuration to speed test stage up.
. fixed issue with shared auto-updating user calendar which is used with logger (calendar instance created every time when timestamp information is required).
26-09-2016 - 3cc8b7b - 4.5.3
. added NS_SWIFT_NAME with Swift equivalent specified in it to all public API. This allow to prevent Swift function signature generator from changing it between Swift releases.
13-09-2016 - 2c8d262 - 4.5.2
. added published message sequence number to publish API call (this information arrive as message envelope and used for issues debugging).
. added logger method which will allow to use it from Swift.
. added automatic heartbeat interval using formula and heartbeat value for calculated value.
. added 'channel' and 'subscription' properties to represent channel from which event arrived and actual data strean name which is used by PubNub client for subscription.
. deprecated 'actualChannel' and 'subscribedChannel' in favor of 'channel' and 'subscription' (properties still available, but will be eventually will be completelly removed).
02-09-2016 - ea0d9c7 - 4.5.1
. changed default logs directory which should be used for tvOS client.
31-08-2016 - d05b11d - 4.5.0
. added ability to complete issued API calls before application will be suspended (happens by default for iOS).
. added PNConfiguration property called 'completeRequestsBeforeSuspension' which allow to change default behavior (for iOS).
. removed dependency against CocoaLumberjack and replaced with own logger.
. added Carthage support.
. Framework targets build bundle with bitcode enabled by default
. added ability to disable message stripping (removing data which has been added by client during publish with mobile payload) which is enabled by default
08-07-2016 - 91a5176 - 4.4.1
. fixed timeout issue which caused by recently added shared NSURLSessionConfiguration configuration
. added tests to cover fixed issue
08-07-2016 - 0fbbf53 - 4.4.0
. added ability provide limited customization of NSURLSessionConfiguration
. added bitcode support for frameworks
17-05-2016 - 2123b8a - 4.3.3
. fixed podspec dependency version format compatibiliyty with CocoaPods 0.39
13-05-2016 - 06b92a1 - 4.3.2
. fixed issue for case when client doesn't use encryption and message has been received w/o mobile payload to clean up.
. original message (in case of decryption error) will be passed into associatedObject of PNStatus error instance.
12-05-2016 - 9d23825 - 4.3.1
. fixed issue with PNNumber on 32bit system, when passed NSNumber instance created from unix-timestamp multiplied on 10000000
. fixed message content descryption in case if it has been sent along with mobile push payload
. mobile push payload removed from received message
. 'pn_other' key has been removed and original object will be returned in delegate callback (this field used with message encryption and/or mobile push payload).
03-05-2016 - ce8b146 - 4.3.0
. added Pub/Sub V2 API support
. added message filtering basing on published message metadata
. added ability to publish message with additional metadata for filtering purposes
. added generics to collection properties and arguments
. added nulability annotations
. updated tests
. updated inline documentation formatting
. fixed occupancy value storage for state-change (it will be set if available)
. fixed issue with presence here now request where 'nil' passed as channel / group
. fixed script responsible for module map update in built frameworks
. fixed 'Universal Startic Frameork (iOS)' to use correct platform
. added missing files to Mac Framework
02-09-2016 - ad5d8a3 - 4.2.7
. changed way how heartbeat state notification is set. Now it can be specified in heartbeatNotificationOptions bitfield property using PNHeartbeatNotificationOptions options.
02-09-2016 - 161f2e8 - 4.2.6
. added new property to PNConfiguration class called notifyAboutFailedHeartbeatsOnly which allow to configure client to notify not only about failed heartbeat statuses but for success as well.
01-27-2016 - a5dd54a - 4.2.5
. added private persistent storage which allow to keep crucial data safe on device.
. added new target to build dynamic framework for tvOS
. fixed issue with time token precision verification in case if non-PubNub's time token value has been passe.
01-12-2016 - 8cfef05 - 4.2.4
. fixed issue because of which client may not restore subscription on list of channels which has been left after previous unsubscription request
12-20-2015 - 4210650 - 4.2.3
. fixed unsubscription issue because of which time token didn't get reset if there is no more channels on which client may continue subscription
. fixed issue with -unsubscribeFromAll which may issue unwanted subscribe requests in case if method call followed by subscribe method call
12-14-2015 - defff35 - 4.2.2
. added ability to build static library based frameworks (universal as well)
. added Fabric support
12-10-2015 - 0e6027c - 4.2.1
. fixed cient state cache issue because of which channel group state itself get updated even if state has been changed for one of channels from this group.
12-02-2015 - f77cd7d - 4.2.0
. extended subscribe API with ability to specify arbitrarily time token to catch up from
. added ability to specify time tokens not only as 17 digit, but time interval from NSDate acceptable too
. added stringified representation for category and operation fields.
. removed client initialisation code which affected PNLogger configuration
. fixed Mac OSX target and scripts for dynamic framework creation
11-24-2015 - 5d86110 - 4.1.4
. added watchOS deployment information to PubNub.podspec file
11-20-2015 - 17b4417 - 4.1.3
. adjusted Base64 decoding settings which will allow to decode encrypted messages from some clients which changed base64 encoding algorithms
11-16-2015 - 151de6e - 4.1.2
. fixed listener 'disconnect' status handling after client stumbled on network issues and reported 'unexpected disconnect'
. fixed issue because of which string has been stored inside of serviceData for PNErrorStatus created from NSError
. logger will print out current verbosity level information every time when it will be changed
. all components (except core components) will add information about component to log output in format <PubNub::{component}>
. changed 'build configuration' from Debug to Release for framework building targets.
. updated demo projects to correctly handle disconnection event (which happen for unsubscribe operation not for subscribe)
10-22-2015 - 0fbec04 - 4.1.1
. fixed memory issues with PNNetwork instance
. removed reprecated string encoding methods
10-15-2015 - 75dd61c - 4.1.0
. version bump because of backward compatible changes in public interface
. added ability to build dynamic frameworks for iOS 8.0+
10-14-2015 - 3fbb92d - 4.0.8
. exposed heartbeat error to -client:didReceiveStatus:
. fixed ping triggering logic after corner case with network issues
10.03-2015 - b7a8ff3 - 4.0.7
. fixed issue which prevented proper -retry execution.
10-01-2015 - ca7cc55 - 4.0.6
. updated logger macro usage
. updated Podspec file organization
. downgraded deployment target in Podspec file from 8.0 to 7.0
09-20-2015 - 1587492 - 4.0.5
. suppressed designated initializer warnings
. added client information class
. added conditional device ID specification in request constructor
. added ObjC/Swift test for crypto issue
. fixed issue with messages decryption in history and real-time messaging API
09-02-2015 - 82b22f5 - 4.0.4
. fixed issue with missing presence event handling
. fixed subscriber parser issue because of which channel group name and actual channel changed their places in
status object for presence event.
. fixed non-multiplexing subscription issue
. added additional presence events tests
07-24-2015 - 661d857 - 4.0.3
. fixed and changed data types for few data objects (which caused crash in swift environment)
. added custom 'User-Agent' header field
. fixed size tests to handle updated packet size during tests
. Fixed Podfile
. removed CocoaPods post-install script from Podfile
. changed test environment check
07-13-2015 - a9c8c46 - 4.0.2
. replaced AFNetworking with native NSURLSession wrapper
. fixed podspec to suppress warnings which appeared because private headers has been exposed to public
. fixed code which had warnings from clang
. fixed issues with composed message publish (with mobile push payloads)
. fixed demo application which provided wrong logger configuration for log file size
. fixed issue with number publishing
. if empty array of channels passed to enable push notifications SDK will report error
. added 'associatedObject' field to PNErrorStatus (for now only for decryption error on live feed)
. in case of decryption error only status object will arrive to lisetner (-client:didReceiveMessage: won't be called)
. fixed logger levels manipulation
. fixed inability to publish mobile gateway payloads only
06-30-2015 - bb6a001 - 4.0.1
. updated documentation hosted by CocoaPods
06-30-2015 - 8a76beb - 4.0
. The new, refactored PN 4.0 for iOS is Here!
06-09-2015 - c76f36e - 3.7.11
. allow nested client states
. handle reachability callbacks in separate queue
04-29-2015 - 50ee54b - 3.7.10.8
. parser adjustment
04-29-2015 - 3f319f53 - 3.7.10.7
. added check to ensure what CFRelease at least will receive non-NULL object (even in same frame)
. fixed condition collision when server respond with non keep alive connection header and malformed data at once
. documentation clean up according to clang warnings
. switch from dispatch_data_t to NSMutableData as read buffer
04-16-2015 - d171ec50 - 3.7.10.6
. unschedule streams from run-loop and let streamClose function only release resources
. additinal memory protection
. created additional reference on dispatch_data_t object from inside of PNResponseDeserialize -parseBufferContent:withBlock: method with attempt to prevent ARC from releasing last reference on passed buffer from outside of the method
04-14-2015 - 37efc2dc - 3.7.10.5
. fixed access rights population from upper layers to channel groups
. adjusted +connectingClientWithConfiguration: constructor methods to synchronise delegate assignment
. removed race of conditions with look up timer in PNReachability
. streams configuration done through local variables to make sure what till full configuration complete class properties will be intact
. returned back to target action behaviour in notification handling.
. fixed potential memory issues
. optimised memory allocation for read amount of data (will be reduced in size if required)
04-11-2015 - cd5870bb - 3.7.10.4
. fixed memory issues
. added new subscriptionMaximumIdleTime PNConfiguration property which allow to alter time after which subscription stream should re-initialise
. updated PNReachability to re-launch SCNetworkReachability in case if it reported 'not reachable' and at the same time interface has assigned address and time API completed successfully
. fix participants method related to pull request
. allocation on stack for some resources
. added spin lock to protect PNChannel cache from changes on different threads
. fixed wake up time crash inside of PNConnection
. storing copy of identifier passed to async operation
. moved copy outside of asynchronous block
. changed message publish API method signature to request compliance with NSCopying protocol
. PNMessage instance will copy passed object (which should be posted)
03-26-2015 - d0367a49 - 3.7.10.3
. adjusted read buffer behavior
. changed destruction queue for read buffer internals
03-25-2015 - 5549d1e4 - 3.7.10.2
. fixed crash caused by incomplete network layer configuration (only for deployment target lower then 6.x)
03-22-2015 - 56584a01 - 3.7.10.1
. removed debug PN_APP_EXTENSION macro from code
03-20-2015 - 189923b7 - 3.7.10
. added additional debug informatino for timeout log entry
. fixed subscription on new channel during subscription time token update process
. adjusted de-serializer
. updated soe tests which used old API
. migrated read buffer to GCD data objects and changed raw bytes parsing mechanism
. added PN_APP_EXTENSION macro to exclude from client's code on compile time code which is not compatible with extensions
03-12-2015 - c379c6d4 - 3.7.9.3
. fixed heartbeat timer.
03-12-2015 - cee45ef7 - 3.7.9.2
. adjustment in context objects used in CoreFoundation API to make sure that they will keep reference on object and nullify reference on it on release.
. fix typo in method signature thanks to Sai Shenoy.
03-04-2015 - 67a3042e - 3.7.9.1
. fixed general notification sending and crash on workspace sleep event on Mac OS
03-04-2015 - 47b7b6c3b - 3.7.9
. fixed un-subscription from channel groups with enabled presence observation
. fixed new callback mechanism for channel object state request error
. fixed callbacks call logic which is passed along with API method
02-23-2015 - 0359486 - 3.7.8.3
. fixed issue cause by inappropriate place where private queue has been released for PubNub client
02-14-2015 - 6518b765 - 3.7.8.2
. changed removeChannelFromCache method behaviour
02-13-2015 - 232506d - 3.7.8.1
. moved DNS cache clearing control to PNConfiguration and exposed to the user
02-07-2015 - f9d96dc - 3.7.8
. fixed issue when among of flushed postponed method calls is the one of the same type of operation which currently processed by the client
. reachability change block removed on PubNub client deallocation
. added clean up on events observation during client deallocation
. fixed heartbeat timer
. tweaked PubNub instance clean up
12-29-2015 - f9d96dc - 3.7.7
. fixed singleton code because of which reference on delegate has been used out of sequence outisde of private queue on which it has been sent
. fixed subscription update logic and queue clean up on reschedule during leave cycle
. fixed issue with state flag which prevented client from check whether subscription should be restored using last time token or not
. protected reuquests queue during reschedule process to emilinate posibility send any of them till process completion
12-18-2015 - 81269a6 - 3.7.6
. adjusted way how presence event detected from subscribe stream
. fix request object configuration completion process
. fixed race of conditions with private queue code
12-16-2015 - 458edbf - 3.7.5
. fixed race of conditions during sbuscription cycle update and
12–16-2015 - 49d44f7 - 3.7.4
. changed PNMessage object representation
. fixed callbacks for subscription on channels on which client already subscribed
. PNConnection read sream callback tweaked to forward reference on stream right to method which read out data on event
. tweaked request 'time out' timer cancelation
. changed log layout for few objects
. tweaked compound HTTP packet parsing
. created a new method that accepts an option to connect upon instantiation
. compile PubNub as a static library: Pubnub.a
. subscribing to channels with presence, or adding channel presence after subscribed now send presence events
. fixed double encoding of \n \r
. added description as for new client configuration method int README.md
. separated PubNub Objective-C client into separate project which is suitable for usage as static library (as standalone or dependency) or framework (standalone)
. fixed demo application channel information view
. updated APNS demo application
. adjusted client PNCannelGroup initialization code
. adjusted percent-encoding options
. extracted client code into separate project
. updated README.md with information about client usage as static library
. added missing delegate methods description in README.md
. Update source code in UnitTests, remove legacy PNLog usage
. Add test for PNResponseDeserializer
12-01-2014 - 0fe765c - 3.7.3
. hardened multithread protection code concerning issues with PNConnection and PNReachability
. strongified some weak pointers to prevent dying before block execution
. demo app improvements / fixes
. if the client receives some unexpected response, it will now be logged
. improvements to PNJSONSerialization class
. Provide ability for shorthand channel groups notation
. improvements made to reachability class
. fixed crash when wrong object was returned inside of associated error object
. fixed bug where message could be double-encrypted when resending of already encrypted message
. internal callbacks now pass queue on which block should be called
. added new connectingClientWithConfiguration method
. improved connection retry logic when connection channel reschedules incomplete requests
10-30-2014 - 57844d8 - 3.7.2
. Fixed decryption of history message bug
10-25-2014 - 594691c - 3.7.1
. Fixed bug in cryptohelper which fixes encryption
10-22-2014 - 240fab - 3.7.0
. Instance-based support
. Background thread support
. Thread safety support
. Channel Groups support
10-17-2014 - 4a945 - 3.6.8
. Enabled TLS auto-negotiation
9-10-2014 - f066f - 3.6.7
. Explicitly clean NSURLCache (optimization)
. Compressed logger on filesystem
. prefixed with pn_ category methods
8-22-2014 - 61c63 - 3.6.6
. Support for socket reconnect during during subscription restore process
. Fixed a crash bug in logger
8-11-2014 - 4c1c1 - 3.6.5
. added more verbosity to comments for clarity
. refactored out some redundant conditional expressions
. removed legacy comments about blocks only triggering on last requested calls
. fixed a crash condition possible when switching between WiFi and Cellular
. helper method support for sending GCM, APNS, and Native PubNub messaging in a single publish message
. sendMessage now has a storeInHistory flag which determines whether or not a message will be stored in history
. fixed a couple issues surrounding potential for hangs around postpones (procedural locks)
. willSuspendWithBlock delegate method added which allows a user to perform actions before suspend on background
. improved performance when full logging is enabled
. fixed potential hang when client is suspended during embryonic connection/reconnection phases
. added debug proxy support, tested using Charles Proxy
6-24-2014 - 8491d - 3.6.4
. Swift compatibility
. Fixed postpone race condition
. Added willSuspendWithBlock delegate
6-17-2014 - bdfed87 - 3.6.3
. added PNSDK url param to each request
. fixed crash on PAM grant bug
. leave operation will not block unsubscribe
. fixed indefinite postpone corner case
. added TCP handshake timer in rare cases where device hangs on handshake
5-20-2014 - 3.6.2
. New Demo App
. New presence state change support
. Fixed issue where channel name could be blank during global presence request
. Handling of API throttling response
. Handling of global here now with state
. Fixed issue where there was a subscribe dependency on unsubscribing from presence channels
. Added class based logger which allows dynamic configurable log levels, dump file size and HTTP packets storage at run-time
. Fixed Xcode warnings when PubNub client built for 64bit architecture
. Suppressed Xcode warning by replacement of C functions with utility classes
. Better JSON validation pre-processing
. Added crypto helper reset when empty key is provided
. Fixed issue with "Fetch History" button
. Fixed issue with wrong state in heartbeat after update client state API usage
3-19-2014 - 3.6.1
. new presence features
. fixed issue where rapid repeated sub/unsub could hang client
. deprecated and added deprecation warnings for methods that exposed custom presence event behavior
02-07-2014 - 3.5.6
. added ability to send messages compressed
. fix for timetoken race condition on failed leave
. always send apns deviceid in lowercase to PN servers
01-30-2014 - 3.5.5
. history can now optionally returned associated timetoken for each message
. didConnectToOrigin is fired when application resumes from background
. fixed an uplink ping bug
. removed unused vars and audited for newlines
. timetoken is now available from didSendMessage delegate in PNMessage reference via date property
01-24-2014 - 3.5.4
. fixes issues regarding sending/receiving data when going from foreground/background/foreground
12-23-2013 - 3.5.3
. added PAM Grant/Revoke functionality
. added PAM features to demo app
. fixed bug where kPNClientUnsubscriptionDidCompleteNotification may be called more than once
. added a UI to the APNS Demo App
. fixed a bug where history request could hang client
. improve reachability state detection time
. fixed bug where requestParticipantsListForChannel completion block may not be called
. make delegate methods report that subscription is restored upon suspend resume
. make encryption methods public in order to encrypt/decrypt external (eg APNS) messages
. fork JSONKit to support XCode 5 without warnings
. fixed bug when sending non-default (LMS) sized messages
. removed pncl artifacts from git repo
11-18-2013 - 3.5.2
. obscure keys in log files
. fixed an issue when switching from WiFi to Cellular in background with background app configuration
. fixed an issue when enabling presence via the PNChannel constructor
. optimize reconnect-delay performance
. fixed issue when history handle block was not always called on result
. JSONKit support no longer means JSONKit dependence (removed JSONKit requirement by default)
. Expose encryption methods publically
. Better handling of Presence abbreviated response
. Catchup is optional when changing UUID mid-subscribe cycle
. Verify push token is valid before using for APNS methods
10-08-2013 - 3.5.1
. unsubscribe on resume race condition removed
. setClientID and setConfiguration to be run mid-subscribe
. socket connections will wait maximum 10s before timeout/retry
. monitor each connection separately during connect/reconnect for connection errors
. changing channels while in background fix
. added an uplink check, which performs a PubNub time ping to verify connectivity in addition to Apple API detection
. added log rotation -- default 20mb max size, via PNMacro.h.40 - kPNLogMaximumLogFileSize
. fixed error handling block for history and unsubscribe when app is running in background
. fixed typos in error messages
. added newlines to source files
. fixed issue because of which in certain situation sub/unsub/presence requests failed
. fixed issue because of which client was able to postpone requests while workspace is sleeping (Mac OS)
. added error code in case if developer will try to issue requests while workspace is sleeping
. running enablePresenceObservation before subscribeOnChannel hangs app
. never reset the UUID unless setClientIdentifier is run
. fixed issue where quick succession of enable/disable presence would hang the subsequent subscribe on the same channel
. fixed bug where when running disablePresenceObservationForChannel: it would not allow subscribe to channel afterwards
09-16-2013 - 3.5.0
improvements all around concerning:
. iOS 7 tests complete and passing
. handling of radio transitions (WiFia -> WiFib -> 3G -> Edge -> No Service -> 3G -> WiFib -> ...)
. wake detection handling on iOS
. support for Mac OS maintenance wakes / sleeps
. catchup (resume) after wake
. JSON parsing
. Error handling from 3rd-party mobile network proxies
. PubNub AES compatibility
. handling of idle network connections
. Logging engine
. Reachability engine
. ARC detection reminders for misconfigurated applications
07-17-2013
. fixed bug of publish resume on reconnect
. misc networking reconnect issues under various network switching scenarios
06-25-2013
. fixed connection issue on race condition when switching between networks
. added paging history demo to demo iPad app
06-20-2013
. nil deviceToken handling on APNS methods
. added iOS 3.3 encryption handling support
06-18-2013
. added ULS methods
. fix for subscribe bug on sleep resume after lock/sleep
. added totally customizable history request
. added setter for cipherKey for dynamic key change support
06-07-2013
. 3.4.2 Release
. implements producedural method calls for quick start usage of PubNub
. fixes race conditions when connecting/disconnecting quickly
05-31-2013
. adding APNSVideoDemo
. adding APNSVideo cert concatenizer
05-13-2013
. make channel presence idempotent
. connection and reliability improvements
. force a disconnect after 5 minutes if connection zombies
. fixed bug in PNReachability
. added better handling of server-side SSL messages
. iOS and MacOS code bases are now unified
04-23-2013
. revved HOWTO lib files
04-04-2013
. special char support
04-03-2013
. reset state after disconnecting without reconnect enabled
04-02-2013
. fixing connection loss bug on sleep
04-01-2013
. support for flux-capacitor and hydroelectric-powered Apple devices
. fixed issue relating to reconnecting with presence enabled
. fixing some XCode warnings
03-29-2013
. fixed issue when encountered issues during repeated sub/unsub/sub, with and without presence
03-26-2013
. fix for NSRangeException integer overflow bug
03-20-2013
. aes encryption support added via new constructor
. when encryption is enabled and non-encrypted data is received, "DECRYPTION_ERROR" is displayed instead.
03-08-2013
. fixed resume on unlock bug
02-28-2013
. better handling of gzip responses
. better handling of corner-case malformed json
. removed xcode warnings
02-22-2013
. first production release of new 3.4 client! this is a COMPLETE, professional rewrite of the iOS client.
. please see the README and the example iPad app for usage instructions. more docs on the way!