rpush 4.1.0 → 5.2.0

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