rpush 4.2.0 → 5.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +248 -163
  3. data/README.md +103 -17
  4. data/lib/generators/templates/add_gcm.rb +4 -4
  5. data/lib/generators/templates/add_rpush.rb +4 -4
  6. data/lib/generators/templates/rpush.rb +4 -0
  7. data/lib/generators/templates/rpush_3_3_1_updates.rb +2 -2
  8. data/lib/rpush/cli.rb +1 -1
  9. data/lib/rpush/client/active_model.rb +4 -1
  10. data/lib/rpush/client/active_model/adm/data_validator.rb +1 -1
  11. data/lib/rpush/client/active_model/apns/device_token_format_validator.rb +2 -2
  12. data/lib/rpush/client/active_model/apns/notification.rb +9 -1
  13. data/lib/rpush/client/active_model/apns/notification_payload_size_validator.rb +15 -0
  14. data/lib/rpush/client/active_model/apns2/notification.rb +14 -0
  15. data/lib/rpush/client/active_model/gcm/expiry_collapse_key_mutual_inclusion_validator.rb +1 -1
  16. data/lib/rpush/client/active_model/gcm/notification.rb +2 -2
  17. data/lib/rpush/client/active_model/payload_data_size_validator.rb +1 -1
  18. data/lib/rpush/client/active_model/registration_ids_count_validator.rb +1 -1
  19. data/lib/rpush/client/active_model/webpush/app.rb +41 -0
  20. data/lib/rpush/client/active_model/webpush/notification.rb +66 -0
  21. data/lib/rpush/client/active_record.rb +4 -0
  22. data/lib/rpush/client/active_record/apns/active_record_serializable_notification.rb +65 -0
  23. data/lib/rpush/client/active_record/apns/notification.rb +1 -57
  24. data/lib/rpush/client/active_record/apns2/notification.rb +4 -1
  25. data/lib/rpush/client/active_record/apnsp8/notification.rb +1 -0
  26. data/lib/rpush/client/active_record/webpush/app.rb +11 -0
  27. data/lib/rpush/client/active_record/webpush/notification.rb +12 -0
  28. data/lib/rpush/client/redis.rb +3 -0
  29. data/lib/rpush/client/redis/apns2/notification.rb +1 -0
  30. data/lib/rpush/client/redis/apnsp8/notification.rb +2 -0
  31. data/lib/rpush/client/redis/pushy/notification.rb +0 -1
  32. data/lib/rpush/client/redis/webpush/app.rb +15 -0
  33. data/lib/rpush/client/redis/webpush/notification.rb +15 -0
  34. data/lib/rpush/configuration.rb +3 -2
  35. data/lib/rpush/daemon.rb +4 -1
  36. data/lib/rpush/daemon/apns/feedback_receiver.rb +1 -1
  37. data/lib/rpush/daemon/apns2/delivery.rb +13 -2
  38. data/lib/rpush/daemon/apnsp8/delivery.rb +7 -2
  39. data/lib/rpush/daemon/app_runner.rb +1 -1
  40. data/lib/rpush/daemon/batch.rb +12 -5
  41. data/lib/rpush/daemon/delivery.rb +1 -2
  42. data/lib/rpush/daemon/store/active_record/reconnectable.rb +1 -1
  43. data/lib/rpush/daemon/webpush.rb +10 -0
  44. data/lib/rpush/daemon/webpush/delivery.rb +114 -0
  45. data/lib/rpush/logger.rb +1 -0
  46. data/lib/rpush/version.rb +2 -2
  47. data/spec/functional/apns2_spec.rb +97 -2
  48. data/spec/functional/gcm_priority_spec.rb +40 -0
  49. data/spec/functional/webpush_spec.rb +30 -0
  50. data/spec/spec_helper.rb +2 -0
  51. data/spec/support/simplecov_helper.rb +1 -1
  52. data/spec/unit/client/active_record/adm/app_spec.rb +2 -54
  53. data/spec/unit/client/active_record/adm/notification_spec.rb +2 -39
  54. data/spec/unit/client/active_record/apns/app_spec.rb +3 -26
  55. data/spec/unit/client/active_record/apns/feedback_spec.rb +1 -5
  56. data/spec/unit/client/active_record/apns/notification_spec.rb +29 -293
  57. data/spec/unit/client/active_record/apns2/app_spec.rb +4 -0
  58. data/spec/unit/client/active_record/apns2/notification_spec.rb +65 -0
  59. data/spec/unit/client/active_record/apnsp8/notification_spec.rb +28 -0
  60. data/spec/unit/client/active_record/app_spec.rb +1 -26
  61. data/spec/unit/client/active_record/gcm/app_spec.rb +3 -1
  62. data/spec/unit/client/active_record/gcm/notification_spec.rb +6 -88
  63. data/spec/unit/client/active_record/notification_spec.rb +3 -11
  64. data/spec/unit/client/active_record/pushy/app_spec.rb +2 -13
  65. data/spec/unit/client/active_record/pushy/notification_spec.rb +2 -55
  66. data/spec/unit/client/active_record/shared/app.rb +14 -0
  67. data/spec/unit/{notification_shared.rb → client/active_record/shared/notification.rb} +12 -7
  68. data/spec/unit/client/active_record/webpush/app_spec.rb +6 -0
  69. data/spec/unit/client/active_record/webpush/notification_spec.rb +6 -0
  70. data/spec/unit/client/active_record/wns/badge_notification_spec.rb +1 -11
  71. data/spec/unit/client/active_record/wns/raw_notification_spec.rb +3 -12
  72. data/spec/unit/client/active_record/wpns/app_spec.rb +3 -1
  73. data/spec/unit/client/active_record/wpns/notification_spec.rb +2 -17
  74. data/spec/unit/client/redis/adm/app_spec.rb +5 -0
  75. data/spec/unit/client/redis/adm/notification_spec.rb +5 -0
  76. data/spec/unit/client/redis/apns/app_spec.rb +5 -0
  77. data/spec/unit/client/redis/apns/feedback_spec.rb +5 -0
  78. data/spec/unit/client/redis/apns/notification_spec.rb +50 -0
  79. data/spec/unit/client/redis/apns2/app_spec.rb +4 -0
  80. data/spec/unit/client/redis/apns2/notification_spec.rb +50 -0
  81. data/spec/unit/client/redis/apnsp8/notification_spec.rb +29 -0
  82. data/spec/unit/client/redis/app_spec.rb +5 -0
  83. data/spec/unit/client/redis/gcm/app_spec.rb +5 -0
  84. data/spec/unit/client/redis/gcm/notification_spec.rb +5 -0
  85. data/spec/unit/client/redis/notification_spec.rb +5 -0
  86. data/spec/unit/client/redis/pushy/app_spec.rb +5 -0
  87. data/spec/unit/client/redis/pushy/notification_spec.rb +5 -0
  88. data/spec/unit/client/redis/webpush/app_spec.rb +5 -0
  89. data/spec/unit/client/redis/webpush/notification_spec.rb +5 -0
  90. data/spec/unit/client/redis/wns/badge_notification_spec.rb +5 -0
  91. data/spec/unit/client/redis/wns/raw_notification_spec.rb +22 -0
  92. data/spec/unit/client/redis/wpns/app_spec.rb +5 -0
  93. data/spec/unit/client/redis/wpns/notification_spec.rb +5 -0
  94. data/spec/unit/client/shared/adm/app.rb +51 -0
  95. data/spec/unit/client/shared/adm/notification.rb +39 -0
  96. data/spec/unit/client/shared/apns/app.rb +29 -0
  97. data/spec/unit/client/shared/apns/feedback.rb +9 -0
  98. data/spec/unit/client/shared/apns/notification.rb +262 -0
  99. data/spec/unit/client/shared/app.rb +17 -0
  100. data/spec/unit/client/shared/gcm/app.rb +4 -0
  101. data/spec/unit/client/shared/gcm/notification.rb +77 -0
  102. data/spec/unit/client/shared/notification.rb +10 -0
  103. data/spec/unit/client/shared/pushy/app.rb +17 -0
  104. data/spec/unit/client/shared/pushy/notification.rb +55 -0
  105. data/spec/unit/client/shared/webpush/app.rb +33 -0
  106. data/spec/unit/client/shared/webpush/notification.rb +83 -0
  107. data/spec/unit/client/shared/wns/badge_notification.rb +15 -0
  108. data/spec/unit/client/shared/wns/raw_notification.rb +21 -0
  109. data/spec/unit/client/shared/wpns/app.rb +4 -0
  110. data/spec/unit/client/shared/wpns/notification.rb +18 -0
  111. data/spec/unit/daemon/batch_spec.rb +50 -2
  112. data/spec/unit/daemon/delivery_spec.rb +10 -0
  113. data/spec/unit/daemon/pushy/delivery_spec.rb +5 -3
  114. data/spec/unit/daemon/shared/store.rb +312 -0
  115. data/spec/unit/daemon/store/active_record/reconnectable_spec.rb +7 -7
  116. data/spec/unit/daemon/store/active_record_spec.rb +2 -290
  117. data/spec/unit/daemon/store/redis_spec.rb +2 -291
  118. data/spec/unit/daemon/webpush/delivery_spec.rb +144 -0
  119. data/spec/unit_spec_helper.rb +3 -0
  120. metadata +135 -12
  121. data/lib/rpush/client/active_model/apns/binary_notification_validator.rb +0 -16
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 91aa7f4768e10352a77935b5ac2fbf8dd8c992de2267718c15621d1a50b7a890
4
- data.tar.gz: bd90e3daaac2067e15848a5616b01e3e76aa51d62e177b3307a7147488fccbe6
3
+ metadata.gz: 1166c47df63fee1cfaaa6e869d382923c65a0e3cae24ca36bc73d1736590dcac
4
+ data.tar.gz: d97ca83af8fb3959ca5d782d65af6e8f0bfddbc5b928753dcc3439f497a84edc
5
5
  SHA512:
6
- metadata.gz: 3efd360c52d048188749ad07de23b0aec1590f306ecd735eeb676fa7026273429a97c2719caf050a72d91ef533005f99adb0499b7c3f6aa5269a5143d6643c72
7
- data.tar.gz: c7b3d1acbb95bf1e298851f3cdbd5b17833dc90aa621dd5482578e0400266e11d87580578087cd402e0449f69f076bcf621db200f175b8393c59277f23ff8482
6
+ metadata.gz: 4ea1ec176522f0a766718a0de5c7840504d137eb93db1bcd8e76c47975f450e60f61c818726c9ec0b62a50885e201570c4807c2e97e4597f710d6c4143a95c0b
7
+ data.tar.gz: bec1191493bc5540e3c329cf39cb717b8c8fe86217c03d4461f4be275cead69c5e0c52e8c6525767b4899379aed8b4dbbe688beeb384628ea569c941d3305835
data/CHANGELOG.md CHANGED
@@ -1,8 +1,61 @@
1
1
  # Changelog
2
2
 
3
- ## Unreleased
3
+ ## [v5.4.0](https://github.com/rpush/rpush/tree/v5.4.0) (2021-02-15)
4
4
 
5
- Nothing so far.
5
+ [Full Changelog](https://github.com/rpush/rpush/compare/v5.3.0...v5.4.0)
6
+
7
+ **Merged pull requests:**
8
+
9
+ - fix typo in README.md [\#587](https://github.com/rpush/rpush/pull/587) ([yltsrc](https://github.com/yltsrc))
10
+ - Support Ruby 3.0 & Rails 6.1 [\#586](https://github.com/rpush/rpush/pull/586) ([andreaslillebo](https://github.com/andreaslillebo))
11
+
12
+ ## [v5.3.0](https://github.com/rpush/rpush/tree/v5.3.0) (2021-01-07)
13
+
14
+ [Full Changelog](https://github.com/rpush/rpush/compare/v5.2.0...v5.3.0)
15
+
16
+ **Implemented enhancements:**
17
+
18
+ - support for Webpush with VAPID [\#574](https://github.com/rpush/rpush/pull/574) ([jkraemer](https://github.com/jkraemer))
19
+
20
+ **Merged pull requests:**
21
+
22
+ - Bug fix: APNS P8 Notifications Are Marked as Invalid When the Payload Exceeds 2kb \(2048 bytes\) [\#583](https://github.com/rpush/rpush/pull/583) ([gregblake](https://github.com/gregblake))
23
+ - Fix more Rails 6.1 deprecation warnings [\#582](https://github.com/rpush/rpush/pull/582) ([jas14](https://github.com/jas14))
24
+ - Feature/apns2 default headers [\#579](https://github.com/rpush/rpush/pull/579) ([jkraemer](https://github.com/jkraemer))
25
+ - Fix APNS2 documentation in README [\#578](https://github.com/rpush/rpush/pull/578) ([jamestjw](https://github.com/jamestjw))
26
+ - Fixed typo with misspell [\#575](https://github.com/rpush/rpush/pull/575) ([hsbt](https://github.com/hsbt))
27
+
28
+ ## [v5.2.0](https://github.com/rpush/rpush/tree/v5.2.0) (2020-10-08)
29
+
30
+ [Full Changelog](https://github.com/rpush/rpush/compare/v5.1.0...v5.2.0)
31
+
32
+ **Merged pull requests:**
33
+
34
+ - Allow opting out of foreground stdout logging [\#571](https://github.com/rpush/rpush/pull/571) ([benlangfeld](https://github.com/benlangfeld))
35
+ - Do not retry notifications which already have been delivered/failed [\#567](https://github.com/rpush/rpush/pull/567) ([AlexTatarnikov](https://github.com/AlexTatarnikov))
36
+ - Improve APNs documentation. [\#553](https://github.com/rpush/rpush/pull/553) ([timdiggins](https://github.com/timdiggins))
37
+
38
+ ## [v5.1.0](https://github.com/rpush/rpush/tree/v5.1.0) (2020-09-25)
39
+
40
+ [Full Changelog](https://github.com/rpush/rpush/compare/v5.0.0...v5.1.0)
41
+
42
+ **Merged pull requests:**
43
+
44
+ - Resume APNS2 delivery when async requests timeout [\#564](https://github.com/rpush/rpush/pull/564) ([benlangfeld](https://github.com/benlangfeld))
45
+ - Improve DB reconnection for big tables [\#563](https://github.com/rpush/rpush/pull/563) ([AlexTatarnikov](https://github.com/AlexTatarnikov))
46
+ - Default the Rails environment to RAILS_ENV if set [\#562](https://github.com/rpush/rpush/pull/562) ([benlangfeld](https://github.com/benlangfeld))
47
+ - Allow Apns2 payloads to be up to 4096 bytes [\#561](https://github.com/rpush/rpush/pull/561) ([benlangfeld](https://github.com/benlangfeld))
48
+ - Improve test coverage [\#528](https://github.com/rpush/rpush/pull/528) ([jhottenstein](https://github.com/jhottenstein))
49
+
50
+ ## [v5.0.0](https://github.com/rpush/rpush/tree/v5.0.0) (2020-02-21)
51
+
52
+ [Full Changelog](https://github.com/rpush/rpush/compare/v4.2.0...v5.0.0)
53
+
54
+ **Merged pull requests:**
55
+
56
+ - Test with Ruby 2.7 [\#550](https://github.com/rpush/rpush/pull/550) ([aried3r](https://github.com/aried3r))
57
+ - Fix GCM priority when using Redis [\#549](https://github.com/rpush/rpush/pull/549) ([daniel-nelson](https://github.com/daniel-nelson))
58
+ - Drop support for Rails 4.2 [\#547](https://github.com/rpush/rpush/pull/547) ([aried3r](https://github.com/aried3r))
6
59
 
7
60
  ## 4.2.0 (2019-12-13)
8
61
 
@@ -178,15 +231,15 @@ When upgrading, don't forget to run `bundle exec rpush init` to get all the late
178
231
 
179
232
  #### Fixes
180
233
 
181
- * Fixes migrations added in 3.0.1 ([#396](https://github.com/rpush/rpush/pull/396) by [@grosser](https://github.com/grosser))
182
- * Actually run these migrations in the test suite ([#399](https://github.com/rpush/rpush/pull/399) by [@aried3r](https://github.com/aried3r))
234
+ - Fixes migrations added in 3.0.1 ([#396](https://github.com/rpush/rpush/pull/396) by [@grosser](https://github.com/grosser))
235
+ - Actually run these migrations in the test suite ([#399](https://github.com/rpush/rpush/pull/399) by [@aried3r](https://github.com/aried3r))
183
236
 
184
237
  ## 3.0.1 (2017-11-30)
185
238
 
186
239
  #### Enhancements
187
240
 
188
- * Reduce booleans to true/false, do not allow nil ([#384](https://github.com/rpush/rpush/pull/384)) by [@grosser](https://github.com/grosser)
189
- * Better error message for error 8 in APNS ([#387](https://github.com/rpush/rpush/pull/387/files)) by [@grosser](https://github.com/grosser)
241
+ - Reduce booleans to true/false, do not allow nil ([#384](https://github.com/rpush/rpush/pull/384)) by [@grosser](https://github.com/grosser)
242
+ - Better error message for error 8 in APNS ([#387](https://github.com/rpush/rpush/pull/387/files)) by [@grosser](https://github.com/grosser)
190
243
 
191
244
  ## 3.0.0 (2017-09-15)
192
245
 
@@ -194,7 +247,7 @@ Same as 3.0.0.rc1 including:
194
247
 
195
248
  #### Features
196
249
 
197
- * Added support for latest modis version ([#378](https://github.com/rpush/rpush/pull/378)) by [@milgner](https://github.com/milgner)
250
+ - Added support for latest modis version ([#378](https://github.com/rpush/rpush/pull/378)) by [@milgner](https://github.com/milgner)
198
251
 
199
252
  ## 3.0.0.rc1 (2017-08-31)
200
253
 
@@ -202,233 +255,265 @@ When upgrading, don't forget to run `bundle exec rpush init` to get all the late
202
255
 
203
256
  #### Features
204
257
 
205
- * Added support for APNS `mutable-content` ([#296](https://github.com/rpush/rpush/pull/296) by [@tdtran](https://github.com/tdtran))
206
- * Added support for HTTP2 base APNS Api ([#315](https://github.com/rpush/rpush/pull/315) by [@soulfly](https://github.com/soulfly) and [@Nattfodd](https://github.com/Nattfodd))
258
+ - Added support for APNS `mutable-content` ([#296](https://github.com/rpush/rpush/pull/296) by [@tdtran](https://github.com/tdtran))
259
+ - Added support for HTTP2 base APNS Api ([#315](https://github.com/rpush/rpush/pull/315) by [@soulfly](https://github.com/soulfly) and [@Nattfodd](https://github.com/Nattfodd))
207
260
 
208
261
  #### Changes
209
262
 
210
- * **Breaking:** Dropped support for old Rubies and Rails versions. rpush 3.0 only supports Ruby versions 2.2.2 or higher and
263
+ - **Breaking:** Dropped support for old Rubies and Rails versions. rpush 3.0 only supports Ruby versions 2.2.2 or higher and
211
264
  Rails 4.2 or higher. ([#366](https://github.com/rpush/rpush/pull/366) by [@aried3r](https://github.com/aried3r))
212
- * **Breaking:** Dropped MongoDB support because there was no one maintaining it. But we're open to adding it back in. ([#366](https://github.com/rpush/rpush/pull/366) by [@aried3r](https://github.com/aried3r))
213
- * **Breaking:** Dropped JRuby support. ([#366](https://github.com/rpush/rpush/pull/366) by [@aried3r](https://github.com/aried3r))
265
+ - **Breaking:** Dropped MongoDB support because there was no one maintaining it. But we're open to adding it back in. ([#366](https://github.com/rpush/rpush/pull/366) by [@aried3r](https://github.com/aried3r))
266
+ - **Breaking:** Dropped JRuby support. ([#366](https://github.com/rpush/rpush/pull/366) by [@aried3r](https://github.com/aried3r))
214
267
 
215
- * Make synchronizer aware of GCM and WNS apps ([#254](https://github.com/rpush/rpush/pull/254) by [@wouterh](https://github.com/wouterh))
216
- * Precise after init commit msg ([#266](https://github.com/rpush/rpush/pull/266) by [@azranel](https://github.com/azranel))
217
- * Use new GCM endpoint ([#303](https://github.com/rpush/rpush/pull/303) by [@aried3r](https://github.com/aried3r))
218
- * Remove sound default value ([#320](https://github.com/rpush/rpush/pull/320) by [@amaierhofer](https://github.com/amaierhofer))
268
+ - Make synchronizer aware of GCM and WNS apps ([#254](https://github.com/rpush/rpush/pull/254) by [@wouterh](https://github.com/wouterh))
269
+ - Precise after init commit msg ([#266](https://github.com/rpush/rpush/pull/266) by [@azranel](https://github.com/azranel))
270
+ - Use new GCM endpoint ([#303](https://github.com/rpush/rpush/pull/303) by [@aried3r](https://github.com/aried3r))
271
+ - Remove sound default value ([#320](https://github.com/rpush/rpush/pull/320) by [@amaierhofer](https://github.com/amaierhofer))
219
272
 
220
273
  #### Bugfixes
221
274
 
222
- * ~~~Lock `net-http-persistent` dependency to `< 3`. See also [#306](https://github.com/rpush/rpush/issues/306) for more details. (by [@amaierhofer](https://github.com/amaierhofer))~~~
223
- * Fix `net-http-persistent` initializer to support version 2.x as well as 3.x. ([#309](https://github.com/rpush/rpush/pull/309) by [@amirmujkic](https://github.com/amirmujkic))
224
- * Fixed Rpush::ApnsFeedback being run on every application type when using Redis. ([#318](https://github.com/rpush/rpush/pull/318) by [@robertasg](https://github.com/robertasg))
275
+ - ~~~Lock `net-http-persistent` dependency to `< 3`. See also [#306](https://github.com/rpush/rpush/issues/306) for more details. (by [@amaierhofer](https://github.com/amaierhofer))~~~
276
+ - Fix `net-http-persistent` initializer to support version 2.x as well as 3.x. ([#309](https://github.com/rpush/rpush/pull/309) by [@amirmujkic](https://github.com/amirmujkic))
277
+ - Fixed Rpush::ApnsFeedback being run on every application type when using Redis. ([#318](https://github.com/rpush/rpush/pull/318) by [@robertasg](https://github.com/robertasg))
225
278
 
226
279
  ## 2.7.0 (February 9, 2016)
227
280
 
228
281
  #### Features
229
282
 
230
- * Added support for GCM priorities. ([#243](https://github.com/rpush/rpush/pull/243) by [@aried3r](https://github.com/aried3r))
231
- * Added support for GCM notification payload ([#246](https://github.com/rpush/rpush/pull/246) by [@aried3r](https://github.com/aried3r))
232
- * Added support for Windows Raw Notifications (in JSON form) ([#238](https://github.com/rpush/rpush/pull/238) by [@mseppae](https://github.com/mseppae))
233
- * Added WNS badge notifications ([#247](https://github.com/rpush/rpush/pull/247) by [@wouterh](https://github.com/wouterh))
234
- * Added the `launch` argument of WNS toast notifications ([#247](https://github.com/rpush/rpush/pull/247) by [@wouterh](https://github.com/wouterh))
235
- * Added sound in WNS toast notifications ([#247](https://github.com/rpush/rpush/pull/247) by [@wouterh](https://github.com/wouterh))
283
+ - Added support for GCM priorities. ([#243](https://github.com/rpush/rpush/pull/243) by [@aried3r](https://github.com/aried3r))
284
+ - Added support for GCM notification payload ([#246](https://github.com/rpush/rpush/pull/246) by [@aried3r](https://github.com/aried3r))
285
+ - Added support for Windows Raw Notifications (in JSON form) ([#238](https://github.com/rpush/rpush/pull/238) by [@mseppae](https://github.com/mseppae))
286
+ - Added WNS badge notifications ([#247](https://github.com/rpush/rpush/pull/247) by [@wouterh](https://github.com/wouterh))
287
+ - Added the `launch` argument of WNS toast notifications ([#247](https://github.com/rpush/rpush/pull/247) by [@wouterh](https://github.com/wouterh))
288
+ - Added sound in WNS toast notifications ([#247](https://github.com/rpush/rpush/pull/247) by [@wouterh](https://github.com/wouterh))
236
289
 
237
290
  #### Changes
238
291
 
239
- * Change `alert` type from `string` to `text` in ActiveRecord to allow bigger alert dictionaries. ([#248](https://github.com/rpush/rpush/pull/248) by [@schmidt](https://github.com/schmidt))
292
+ - Change `alert` type from `string` to `text` in ActiveRecord to allow bigger alert dictionaries. ([#248](https://github.com/rpush/rpush/pull/248) by [@schmidt](https://github.com/schmidt))
240
293
 
241
294
  #### Fixes
242
295
 
243
- * Fixed issue where setting the `mdm` parameter broke `to_binary` for MDM APNs ([#234](https://github.com/rpush/rpush/pull/234) by [@troya2](https://github.com/troya2))
244
- * Fixed `as_json` ([#231](https://github.com/rpush/rpush/issues/231) by [@aried3r](https://github.com/aried3r))
296
+ - Fixed issue where setting the `mdm` parameter broke `to_binary` for MDM APNs ([#234](https://github.com/rpush/rpush/pull/234) by [@troya2](https://github.com/troya2))
297
+ - Fixed `as_json` ([#231](https://github.com/rpush/rpush/issues/231) by [@aried3r](https://github.com/aried3r))
245
298
 
246
299
  ## 2.6.0 (January 25, 2016)
247
300
 
248
301
  #### Features
249
302
 
250
- * Added support for GCM for iOS' `content_available`. ([#221](https://github.com/rpush/rpush/pull/221))
303
+ - Added support for GCM for iOS' `content_available`. ([#221](https://github.com/rpush/rpush/pull/221))
251
304
 
252
305
  #### Fixes
253
306
 
254
- * Fix typo in Oracle support. ([#185](https://github.com/rpush/rpush/pull/185))
255
- * Remove `param` tag from WNS message. ([#190](https://github.com/rpush/rpush/pull/190))
256
- * Fixed WNS response headers parser. ([#192](https://github.com/rpush/rpush/pull/192))
257
- * GCM: fixed raise of unhandled errors. ([#193](https://github.com/rpush/rpush/pull/193))
258
- * Fix issue with custom PID file set in `Rpush.config`. ([#224](https://github.com/rpush/rpush/pull/224), [#225](https://github.com/rpush/rpush/pull/225))
307
+ - Fix typo in Oracle support. ([#185](https://github.com/rpush/rpush/pull/185))
308
+ - Remove `param` tag from WNS message. ([#190](https://github.com/rpush/rpush/pull/190))
309
+ - Fixed WNS response headers parser. ([#192](https://github.com/rpush/rpush/pull/192))
310
+ - GCM: fixed raise of unhandled errors. ([#193](https://github.com/rpush/rpush/pull/193))
311
+ - Fix issue with custom PID file set in `Rpush.config`. ([#224](https://github.com/rpush/rpush/pull/224), [#225](https://github.com/rpush/rpush/pull/225))
259
312
 
260
313
  ## 2.5.0 (July 19, 2015)
261
- Features:
262
- * Add 'rpush status' to inspect running Rpush internal status.
263
- * ActiveRecord logging is no longer redirected to rpush.log when embedded (#138).
264
- * Support for WNS (Windows RT) (#137).
265
- * Indexes added to some Mongoid fields (#151).
266
- * Added support for Oracle.
267
314
 
268
- Bug fixes:
269
- * Fix for handling APNs error when using `rpush push` or `Rpush.push`.
270
- * Fix backwards compatibility issue with ActiveRecord (#144).
315
+ Features:
316
+
317
+ - Add 'rpush status' to inspect running Rpush internal status.
318
+ - ActiveRecord logging is no longer redirected to rpush.log when embedded (#138).
319
+ - Support for WNS (Windows RT) (#137).
320
+ - Indexes added to some Mongoid fields (#151).
321
+ - Added support for Oracle.
322
+
323
+ Bug fixes:
324
+
325
+ - Fix for handling APNs error when using `rpush push` or `Rpush.push`.
326
+ - Fix backwards compatibility issue with ActiveRecord (#144).
271
327
 
272
328
  ## 2.4.0 (Feb 18, 2015)
273
- Features:
274
- * Support for MongoDB (using Mongoid).
275
- * config.feedback_poll is now deprecated, use config.apns.feedback_receiver.frequency instead.
276
- * Add config.apns.feedback_receiver.enabled to optionally enable the APNs feedback receiver (#129).
277
- * Passing configuration options directly to Rpush.embed and Rpush.push is now deprecated.
278
-
279
- Bug fixes:
280
- * Fix setting the log level when using Rails 4+ or without Rails (#124).
281
- * Fix the possibility for excessive error logging when using APNs (#128).
282
- * Re-use timestamp when replacing a migration with the same name (#91).
283
- * Ensure App/Notification type is updated during 2.0 upgrade migration (#102).
329
+
330
+ Features:
331
+
332
+ - Support for MongoDB (using Mongoid).
333
+ - config.feedback_poll is now deprecated, use config.apns.feedback_receiver.frequency instead.
334
+ - Add config.apns.feedback_receiver.enabled to optionally enable the APNs feedback receiver (#129).
335
+ - Passing configuration options directly to Rpush.embed and Rpush.push is now deprecated.
336
+
337
+ Bug fixes:
338
+
339
+ - Fix setting the log level when using Rails 4+ or without Rails (#124).
340
+ - Fix the possibility for excessive error logging when using APNs (#128).
341
+ - Re-use timestamp when replacing a migration with the same name (#91).
342
+ - Ensure App/Notification type is updated during 2.0 upgrade migration (#102).
284
343
 
285
344
  ## 2.3.2 (Jan 30, 2015)
286
- Bug fixes:
287
- * Internal sleep mechanism would sometimes no wait for the full duration specified.
288
- * Rpush.push nows delivers all pending notifications before returning.
289
- * Require thor >= 0.18.1 (#121).
345
+
346
+ Bug fixes:
347
+
348
+ - Internal sleep mechanism would sometimes no wait for the full duration specified.
349
+ - Rpush.push nows delivers all pending notifications before returning.
350
+ - Require thor >= 0.18.1 (#121).
290
351
 
291
352
  ## 2.3.1 (Jan 24, 2015)
292
- * Fix CPU thrashing while waiting for an APNs connection be established (#119).
353
+
354
+ - Fix CPU thrashing while waiting for an APNs connection be established (#119).
293
355
 
294
356
  ## 2.3.0 (Jan 19, 2015)
295
- * Add 'version' CLI command.
296
- * Rpush::Wpns::Notification now supports setting the 'data' attribute.
297
- * ActiveRecord is now directed to the configured Rpush logger (#104).
298
- * Logs are reopened when the HUP signal is received (#95).
299
- * Fix setting config.redis_options (#114).
300
- * Increase frequency of TCP keepalive probes on Linux.
301
- * APNs notifications are no longer marked as failed when a dropped connection is detected, as it's impossible to know exactly how many actually failed (if any).
302
- * Notifications are now retried instead of being marked as failed if a TCP/HTTP connection cannot be established.
357
+
358
+ - Add 'version' CLI command.
359
+ - Rpush::Wpns::Notification now supports setting the 'data' attribute.
360
+ - ActiveRecord is now directed to the configured Rpush logger (#104).
361
+ - Logs are reopened when the HUP signal is received (#95).
362
+ - Fix setting config.redis_options (#114).
363
+ - Increase frequency of TCP keepalive probes on Linux.
364
+ - APNs notifications are no longer marked as failed when a dropped connection is detected, as it's impossible to know exactly how many actually failed (if any).
365
+ - Notifications are now retried instead of being marked as failed if a TCP/HTTP connection cannot be established.
303
366
 
304
367
  ## 2.2.0 (Oct 7, 2014)
305
- * Numerous command-line fixes, sorry folks!
306
- * Add 'rpush push' command-line command for one-off use.
368
+
369
+ - Numerous command-line fixes, sorry folks!
370
+ - Add 'rpush push' command-line command for one-off use.
307
371
 
308
372
  ## 2.1.0 (Oct 4, 2014)
309
- * Bump APNs max payload size to 2048 for iOS 8.
310
- * Add 'category' for iOS 8.
311
- * Add url_args for Safari Push Notification Support (#77).
312
- * Improved command-line interface.
313
- * Rails integration is now optional.
314
- * Added log_level config option.
315
- * log_dir is now deprecated and has no effect, use log_file instead.
373
+
374
+ - Bump APNs max payload size to 2048 for iOS 8.
375
+ - Add 'category' for iOS 8.
376
+ - Add url_args for Safari Push Notification Support (#77).
377
+ - Improved command-line interface.
378
+ - Rails integration is now optional.
379
+ - Added log_level config option.
380
+ - log_dir is now deprecated and has no effect, use log_file instead.
316
381
 
317
382
  ## 2.0.1 (Sept 13, 2014)
318
- * Add ssl_certificate_revoked reflection (#68).
319
- * Fix for Postgis support in 2.0.0 migration (#70).
383
+
384
+ - Add ssl_certificate_revoked reflection (#68).
385
+ - Fix for Postgis support in 2.0.0 migration (#70).
320
386
 
321
387
  ## 2.0.0 (Sept 6, 2014)
322
- * Use APNs enhanced binary format version 2.
323
- * Support running multiple Rpush processes when using ActiveRecord and Redis.
324
- * APNs error detection is now performed asynchronously, 'check_for_errors' is therefore deprecated.
325
- * Deprecated attributes_for_device accessors. Use data instead.
326
- * Fix signal handling to work with Ruby 2.x. (#40).
327
- * You no longer need to signal HUP after creating a new app, they will be loaded automatically for you.
328
- * APNs notifications are now delivered in batches, greatly improving throughput.
329
- * Signaling HUP now also causes Rpush to immediately check for new notifications.
330
- * The 'wakeup' config option has been removed.
331
- * The 'batch_storage_updates' config option has been deprecated, storage backends will now always batch updates where appropriate.
332
- * The rpush process title updates with number of queued notifications and number of dispatchers.
333
- * Rpush::Apns::Feedback#app has been renamed to app_id and is now an Integer.
334
- * An app is restarted when the HUP signal is received if its certificate or environment attribute changed.
388
+
389
+ - Use APNs enhanced binary format version 2.
390
+ - Support running multiple Rpush processes when using ActiveRecord and Redis.
391
+ - APNs error detection is now performed asynchronously, 'check_for_errors' is therefore deprecated.
392
+ - Deprecated attributes_for_device accessors. Use data instead.
393
+ - Fix signal handling to work with Ruby 2.x. (#40).
394
+ - You no longer need to signal HUP after creating a new app, they will be loaded automatically for you.
395
+ - APNs notifications are now delivered in batches, greatly improving throughput.
396
+ - Signaling HUP now also causes Rpush to immediately check for new notifications.
397
+ - The 'wakeup' config option has been removed.
398
+ - The 'batch_storage_updates' config option has been deprecated, storage backends will now always batch updates where appropriate.
399
+ - The rpush process title updates with number of queued notifications and number of dispatchers.
400
+ - Rpush::Apns::Feedback#app has been renamed to app_id and is now an Integer.
401
+ - An app is restarted when the HUP signal is received if its certificate or environment attribute changed.
335
402
 
336
403
  ## 1.0.0 (Feb 9, 2014)
337
- * Renamed to Rpush (from Rapns). Version number reset to 1.0.0.
338
- * Reduce default batch size to 100.
339
- * Fix sqlite3 support (#160).
340
- * Drop support for Ruby 1.8.
341
- * Improve APNs certificate validation errors (#192) @mattconnolly).
342
- * Support for Windows Phone notifications (#191) (@matiaslina).
343
- * Support for Amazon device messaging (#173) (@darrylyip).
344
- * Add two new GCM reflections: gcm_delivered_to_recipient, gcm_failed_to_recipient (#184) (@jakeonfire).
345
- * Fix migration issues (#181) (@jcoleman).
346
- * Add GCM gcm_invalid_registration_id reflection (#171) (@marcrohloff).
347
- * Feature: wakeup feeder via UDP socket (#164) (@mattconnolly).
348
- * Fix reflections when using batches (#161).
349
- * Only perform APNs certificate validation for APNs apps (#133).
350
- * The deprecated on_apns_feedback has now been removed.
351
- * The deprecated airbrake_notify config option has been removed.
352
- * Removed the deprecated ability to set attributes_for_device using mass-assignment.
353
- * Fixed issue where database connections may not be released from the connection pool.
404
+
405
+ - Renamed to Rpush (from Rapns). Version number reset to 1.0.0.
406
+ - Reduce default batch size to 100.
407
+ - Fix sqlite3 support (#160).
408
+ - Drop support for Ruby 1.8.
409
+ - Improve APNs certificate validation errors (#192) @mattconnolly).
410
+ - Support for Windows Phone notifications (#191) (@matiaslina).
411
+ - Support for Amazon device messaging (#173) (@darrylyip).
412
+ - Add two new GCM reflections: gcm_delivered_to_recipient, gcm_failed_to_recipient (#184) (@jakeonfire).
413
+ - Fix migration issues (#181) (@jcoleman).
414
+ - Add GCM gcm_invalid_registration_id reflection (#171) (@marcrohloff).
415
+ - Feature: wakeup feeder via UDP socket (#164) (@mattconnolly).
416
+ - Fix reflections when using batches (#161).
417
+ - Only perform APNs certificate validation for APNs apps (#133).
418
+ - The deprecated on_apns_feedback has now been removed.
419
+ - The deprecated airbrake_notify config option has been removed.
420
+ - Removed the deprecated ability to set attributes_for_device using mass-assignment.
421
+ - Fixed issue where database connections may not be released from the connection pool.
354
422
 
355
423
  ## 3.4.1 (Aug 30, 2013)
356
- * Silence unintended airbrake_notify deprecation warning (#158).
357
- * Add :dependent => :destroy to app notifications (#156).
424
+
425
+ - Silence unintended airbrake_notify deprecation warning (#158).
426
+ - Add :dependent => :destroy to app notifications (#156).
358
427
 
359
428
  ## 3.4.0 (Aug 28, 2013)
360
- * Rails 4 support.
361
- * Add apns_certificate_will_expire reflection.
362
- * Perform storage update in batches where possible, to increase throughput.
363
- * airbrake_notify is now deprecated, use the Reflection API instead.
364
- * Fix calling the notification_delivered reflection twice (#149).
429
+
430
+ - Rails 4 support.
431
+ - Add apns_certificate_will_expire reflection.
432
+ - Perform storage update in batches where possible, to increase throughput.
433
+ - airbrake_notify is now deprecated, use the Reflection API instead.
434
+ - Fix calling the notification_delivered reflection twice (#149).
365
435
 
366
436
  ## 3.3.2 (June 30, 2013)
367
- * Fix Rails 3.0.x compatibility (#138) (@yoppi).
368
- * Ensure Rails does not set a default value for text columns (#137).
369
- * Fix error in down action for add_gcm migration (#135) (@alexperto).
437
+
438
+ - Fix Rails 3.0.x compatibility (#138) (@yoppi).
439
+ - Ensure Rails does not set a default value for text columns (#137).
440
+ - Fix error in down action for add_gcm migration (#135) (@alexperto).
370
441
 
371
442
  ## 3.3.1 (June 2, 2013)
372
- * Fix compatibility with postgres_ext (#104).
373
- * Add ability to switch the logger (@maxsz).
374
- * Do not validate presence of alert, badge or sound - not actually required by the APNs (#129) (@wilg).
375
- * Catch IOError from an APNs connection. (@maxsz).
376
- * Allow nested hashes in APNs notification attributes (@perezda).
443
+
444
+ - Fix compatibility with postgres_ext (#104).
445
+ - Add ability to switch the logger (@maxsz).
446
+ - Do not validate presence of alert, badge or sound - not actually required by the APNs (#129) (@wilg).
447
+ - Catch IOError from an APNs connection. (@maxsz).
448
+ - Allow nested hashes in APNs notification attributes (@perezda).
377
449
 
378
450
  ## 3.3.0 (April 21, 2013)
379
- * GCM: collapse_key is no longer required to set expiry (time_to_live).
380
- * Add reflection for GCM canonical IDs.
381
- * Add Rpush::Daemon.store to decouple storage backend.
451
+
452
+ - GCM: collapse_key is no longer required to set expiry (time_to_live).
453
+ - Add reflection for GCM canonical IDs.
454
+ - Add Rpush::Daemon.store to decouple storage backend.
382
455
 
383
456
  ## 3.2.0 (Apr 1, 2013)
384
- * Rpush.apns_feedback for one time feedback retrieval. Rpush.push no longer checks for feedback (#117, #105).
385
- * Lazily connect to the APNs only when a notification is to be delivered (#111).
386
- * Ensure all notifications are sent when using Rpush.push (#107).
387
- * Fix issue with running Rpush.push more than once in the same process (#106).
457
+
458
+ - Rpush.apns_feedback for one time feedback retrieval. Rpush.push no longer checks for feedback (#117, #105).
459
+ - Lazily connect to the APNs only when a notification is to be delivered (#111).
460
+ - Ensure all notifications are sent when using Rpush.push (#107).
461
+ - Fix issue with running Rpush.push more than once in the same process (#106).
388
462
 
389
463
  ## 3.1.0 (Jan 26, 2013)
390
- * Rpush.reflect API for fine-grained introspection.
391
- * Rpush.embed API for embedding Rpush into an existing process.
392
- * Rpush.push API for using Rpush in scheduled jobs.
393
- * Fix issue with integration with ActiveScaffold (#98) (@jeffarena).
394
- * Fix content-available setter for APNs (#95) (@dup2).
395
- * GCM validation fixes (#96) (@DianthuDia).
464
+
465
+ - Rpush.reflect API for fine-grained introspection.
466
+ - Rpush.embed API for embedding Rpush into an existing process.
467
+ - Rpush.push API for using Rpush in scheduled jobs.
468
+ - Fix issue with integration with ActiveScaffold (#98) (@jeffarena).
469
+ - Fix content-available setter for APNs (#95) (@dup2).
470
+ - GCM validation fixes (#96) (@DianthuDia).
396
471
 
397
472
  ## 3.0.1 (Dec 16, 2012)
398
- * Fix compatibility with Rails 3.0.x. Fixes #89.
473
+
474
+ - Fix compatibility with Rails 3.0.x. Fixes #89.
399
475
 
400
476
  ## 3.0.0 (Dec 15, 2012)
401
- * Add support for Google Cloud Messaging.
402
- * Fix Heroku logging issue.
403
477
 
404
- ## 2.0.5 (Nov 4, 2012) ##
405
- * Support content-available (#68).
406
- * Append to log files.
407
- * Fire a callback when Feedback is received.
478
+ - Add support for Google Cloud Messaging.
479
+ - Fix Heroku logging issue.
480
+
481
+ ## 2.0.5 (Nov 4, 2012)
482
+
483
+ - Support content-available (#68).
484
+ - Append to log files.
485
+ - Fire a callback when Feedback is received.
486
+
487
+ ## 2.0.5.rc1 (Oct 5, 2012)
488
+
489
+ - Release db connections back into the pool after use (#72).
490
+ - Continue to start daemon if a connection cannot be made during startup (#62) (@mattconnolly).
491
+
492
+ ## 2.0.4 (Aug 6, 2012)
493
+
494
+ - Don't exit when there aren't any Rpush::App instances, just warn (#55).
495
+
496
+ ## 2.0.3 (July 26, 2012)
497
+
498
+ - JRuby support.
499
+ - Explicitly list all attributes instead of calling column_names (#53).
408
500
 
409
- ## 2.0.5.rc1 (Oct 5, 2012) ##
410
- * Release db connections back into the pool after use (#72).
411
- * Continue to start daemon if a connection cannot be made during startup (#62) (@mattconnolly).
501
+ ## 2.0.2 (July 25, 2012)
412
502
 
413
- ## 2.0.4 (Aug 6, 2012) ##
414
- * Don't exit when there aren't any Rpush::App instances, just warn (#55).
503
+ - Support MultiJson < 1.3.0.
504
+ - Make all model attributes accessible.
415
505
 
416
- ## 2.0.3 (July 26, 2012) ##
417
- * JRuby support.
418
- * Explicitly list all attributes instead of calling column_names (#53).
506
+ ## 2.0.1 (July 7, 2012)
419
507
 
420
- ## 2.0.2 (July 25, 2012) ##
421
- * Support MultiJson < 1.3.0.
422
- * Make all model attributes accessible.
508
+ - Fix delivery when using Ruby 1.8.
509
+ - MultiJson support.
423
510
 
424
- ## 2.0.1 (July 7, 2012) ##
425
- * Fix delivery when using Ruby 1.8.
426
- * MultiJson support.
511
+ ## 2.0.0 (June 19, 2012)
427
512
 
428
- ## 2.0.0 (June 19, 2012) ##
513
+ - Support for multiple apps.
514
+ - Hot Updates - add/remove apps without restart.
515
+ - MDM support.
516
+ - Removed rpush.yml in favour of command line options.
517
+ - Started the changelog!
429
518
 
430
- * Support for multiple apps.
431
- * Hot Updates - add/remove apps without restart.
432
- * MDM support.
433
- * Removed rpush.yml in favour of command line options.
434
- * Started the changelog!
519
+ \* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*