rpush 4.1.0 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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)*