rpush 4.0.1 → 5.1.0

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