rpush 4.1.1 → 5.3.0

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