celluloid 0.18.0.pre → 0.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (177) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGES.md +258 -39
  3. data/CONDUCT.md +13 -0
  4. data/CONTRIBUTING.md +39 -0
  5. data/README.md +54 -165
  6. data/REFACTOR.md +1 -0
  7. data/architecture.md +120 -0
  8. data/examples/basic_usage.rb +1 -1
  9. data/examples/configurations.rb +78 -0
  10. data/examples/futures.rb +1 -1
  11. data/examples/ring.rb +5 -4
  12. data/examples/simple_pmap.rb +1 -1
  13. data/examples/stack.rb +2 -2
  14. data/examples/supervisors_and_registry.rb +82 -0
  15. data/examples/timers.rb +2 -2
  16. data/lib/celluloid.rb +72 -47
  17. data/lib/celluloid/actor.rb +27 -17
  18. data/lib/celluloid/actor/system.rb +13 -29
  19. data/lib/celluloid/autostart.rb +5 -5
  20. data/lib/celluloid/call/async.rb +2 -0
  21. data/lib/celluloid/call/sync.rb +10 -3
  22. data/lib/celluloid/calls.rb +5 -12
  23. data/lib/celluloid/cell.rb +5 -9
  24. data/lib/celluloid/condition.rb +3 -3
  25. data/lib/celluloid/core_ext.rb +0 -2
  26. data/lib/celluloid/debug.rb +3 -0
  27. data/lib/celluloid/exceptions.rb +2 -2
  28. data/lib/celluloid/future.rb +7 -9
  29. data/lib/celluloid/group.rb +12 -8
  30. data/lib/celluloid/group/pool.rb +1 -3
  31. data/lib/celluloid/group/spawner.rb +2 -6
  32. data/lib/celluloid/internals/call_chain.rb +15 -0
  33. data/lib/celluloid/internals/cpu_counter.rb +62 -0
  34. data/lib/celluloid/internals/handlers.rb +42 -0
  35. data/lib/celluloid/internals/links.rb +38 -0
  36. data/lib/celluloid/internals/logger.rb +104 -0
  37. data/lib/celluloid/internals/method.rb +34 -0
  38. data/lib/celluloid/internals/properties.rb +32 -0
  39. data/lib/celluloid/internals/receivers.rb +64 -0
  40. data/lib/celluloid/internals/registry.rb +102 -0
  41. data/lib/celluloid/internals/responses.rb +46 -0
  42. data/lib/celluloid/internals/signals.rb +24 -0
  43. data/lib/celluloid/internals/stack.rb +74 -0
  44. data/lib/celluloid/internals/stack/dump.rb +12 -0
  45. data/lib/celluloid/internals/stack/states.rb +72 -0
  46. data/lib/celluloid/internals/stack/summary.rb +12 -0
  47. data/lib/celluloid/internals/task_set.rb +51 -0
  48. data/lib/celluloid/internals/thread_handle.rb +52 -0
  49. data/lib/celluloid/internals/uuid.rb +40 -0
  50. data/lib/celluloid/logging/incident.rb +21 -0
  51. data/lib/celluloid/logging/incident_logger.rb +147 -0
  52. data/lib/celluloid/logging/incident_reporter.rb +49 -0
  53. data/lib/celluloid/logging/log_event.rb +20 -0
  54. data/lib/celluloid/logging/ring_buffer.rb +64 -0
  55. data/lib/celluloid/mailbox.rb +22 -9
  56. data/lib/celluloid/mailbox/evented.rb +13 -5
  57. data/lib/celluloid/notifications.rb +95 -0
  58. data/lib/celluloid/pool.rb +6 -0
  59. data/lib/celluloid/probe.rb +81 -0
  60. data/lib/celluloid/proxy/abstract.rb +9 -9
  61. data/lib/celluloid/proxy/async.rb +1 -1
  62. data/lib/celluloid/proxy/block.rb +2 -2
  63. data/lib/celluloid/proxy/cell.rb +1 -1
  64. data/lib/celluloid/proxy/future.rb +2 -4
  65. data/lib/celluloid/proxy/sync.rb +1 -3
  66. data/lib/celluloid/rspec.rb +22 -33
  67. data/lib/celluloid/supervision.rb +17 -0
  68. data/lib/celluloid/supervision/configuration.rb +169 -0
  69. data/lib/celluloid/supervision/configuration/injections.rb +8 -0
  70. data/lib/celluloid/supervision/configuration/instance.rb +113 -0
  71. data/lib/celluloid/supervision/constants.rb +123 -0
  72. data/lib/celluloid/supervision/container.rb +144 -0
  73. data/lib/celluloid/supervision/container/behavior.rb +89 -0
  74. data/lib/celluloid/supervision/container/behavior/pool.rb +71 -0
  75. data/lib/celluloid/supervision/container/behavior/tree.rb +23 -0
  76. data/lib/celluloid/supervision/container/injections.rb +8 -0
  77. data/lib/celluloid/supervision/container/instance.rb +116 -0
  78. data/lib/celluloid/supervision/container/pool.rb +210 -0
  79. data/lib/celluloid/supervision/service.rb +27 -0
  80. data/lib/celluloid/supervision/supervise.rb +34 -0
  81. data/lib/celluloid/supervision/validation.rb +40 -0
  82. data/lib/celluloid/supervision/version.rb +5 -0
  83. data/lib/celluloid/system_events.rb +11 -6
  84. data/lib/celluloid/task.rb +25 -12
  85. data/lib/celluloid/task/fibered.rb +2 -0
  86. data/lib/celluloid/task/threaded.rb +3 -3
  87. data/lib/celluloid/test.rb +5 -2
  88. data/lib/celluloid/thread.rb +0 -2
  89. data/lib/celluloid/version.rb +1 -1
  90. data/spec/celluloid/block_spec.rb +29 -32
  91. data/spec/celluloid/calls_spec.rb +5 -15
  92. data/spec/celluloid/future_spec.rb +2 -2
  93. data/spec/celluloid/internals/cpu_counter_spec.rb +129 -0
  94. data/spec/celluloid/internals/links_spec.rb +43 -0
  95. data/spec/celluloid/internals/properties_spec.rb +40 -0
  96. data/spec/celluloid/internals/registry_spec.rb +62 -0
  97. data/spec/celluloid/internals/stack/dump_spec.rb +4 -0
  98. data/spec/celluloid/internals/stack/summary_spec.rb +4 -0
  99. data/spec/celluloid/internals/thread_handle_spec.rb +60 -0
  100. data/spec/celluloid/internals/uuid_spec.rb +9 -0
  101. data/spec/celluloid/logging/ring_buffer_spec.rb +36 -0
  102. data/spec/celluloid/mailbox/evented_spec.rb +11 -22
  103. data/spec/celluloid/misc/leak_spec.rb +3 -4
  104. data/spec/celluloid/notifications_spec.rb +140 -0
  105. data/spec/celluloid/probe_spec.rb +102 -0
  106. data/spec/celluloid/proxy_spec.rb +30 -30
  107. data/spec/celluloid/supervision/behavior_spec.rb +74 -0
  108. data/spec/celluloid/supervision/configuration_spec.rb +181 -0
  109. data/spec/celluloid/supervision/container_spec.rb +72 -0
  110. data/spec/celluloid/supervision/instance_spec.rb +13 -0
  111. data/spec/celluloid/supervision/root_spec.rb +28 -0
  112. data/spec/celluloid/supervision/supervisor_spec.rb +93 -0
  113. data/spec/celluloid/task/fibered_spec.rb +1 -3
  114. data/spec/celluloid/task/threaded_spec.rb +1 -3
  115. data/spec/shared/actor_examples.rb +58 -33
  116. data/spec/shared/group_examples.rb +2 -2
  117. data/spec/shared/mailbox_examples.rb +1 -1
  118. data/spec/shared/stack_examples.rb +87 -0
  119. data/spec/shared/task_examples.rb +2 -3
  120. data/spec/spec_helper.rb +2 -4
  121. data/spec/support/configure_rspec.rb +2 -3
  122. data/spec/support/coverage.rb +2 -4
  123. data/spec/support/crash_checking.rb +2 -2
  124. data/spec/support/examples/actor_class.rb +3 -8
  125. data/spec/support/examples/call_class.rb +2 -2
  126. data/spec/support/examples/container_class.rb +35 -0
  127. data/spec/support/examples/evented_mailbox_class.rb +1 -2
  128. data/spec/support/examples/stack_classes.rb +58 -0
  129. data/spec/support/examples/stack_methods.rb +23 -0
  130. data/spec/support/examples/subordinate_class.rb +19 -0
  131. data/spec/support/logging.rb +2 -34
  132. data/spec/support/loose_threads.rb +3 -16
  133. data/spec/support/reset_class_variables.rb +5 -1
  134. data/spec/support/stubbing.rb +1 -1
  135. metadata +91 -323
  136. data/culture/CONDUCT.md +0 -38
  137. data/culture/GSoC/1010-why_we_will_participate.md +0 -17
  138. data/culture/GSoC/1020-how_mentors_stay_engaged.md +0 -7
  139. data/culture/GSoC/1030-keeping_students_on_schedule.md +0 -9
  140. data/culture/GSoC/1040-getting_students_involved.md +0 -5
  141. data/culture/GSoC/1050-student_involvement_after.md +0 -5
  142. data/culture/GSoC/README.md +0 -16
  143. data/culture/Gemfile +0 -9
  144. data/culture/LICENSE.txt +0 -22
  145. data/culture/README.md +0 -22
  146. data/culture/Rakefile +0 -5
  147. data/culture/SYNC.md +0 -70
  148. data/culture/celluloid-culture.gemspec +0 -18
  149. data/culture/gems/README.md +0 -39
  150. data/culture/gems/dependencies.yml +0 -93
  151. data/culture/gems/loader.rb +0 -101
  152. data/culture/rubocop/README.md +0 -38
  153. data/culture/rubocop/lint.yml +0 -8
  154. data/culture/rubocop/metrics.yml +0 -15
  155. data/culture/rubocop/perf.yml +0 -0
  156. data/culture/rubocop/rubocop.yml +0 -5
  157. data/culture/rubocop/style.yml +0 -61
  158. data/culture/spec/gems_spec.rb +0 -2
  159. data/culture/spec/spec_helper.rb +0 -0
  160. data/culture/spec/sync_spec.rb +0 -2
  161. data/culture/sync.rb +0 -56
  162. data/culture/tasks/rspec.rake +0 -5
  163. data/culture/tasks/rubocop.rake +0 -2
  164. data/lib/celluloid/actor/manager.rb +0 -7
  165. data/lib/celluloid/backported.rb +0 -2
  166. data/lib/celluloid/current.rb +0 -2
  167. data/lib/celluloid/deprecate.rb +0 -34
  168. data/lib/celluloid/fiber.rb +0 -32
  169. data/lib/celluloid/managed.rb +0 -3
  170. data/lib/celluloid/notices.rb +0 -15
  171. data/spec/deprecate/actor_system_spec.rb +0 -72
  172. data/spec/deprecate/block_spec.rb +0 -52
  173. data/spec/deprecate/calls_spec.rb +0 -39
  174. data/spec/deprecate/evented_mailbox_spec.rb +0 -34
  175. data/spec/deprecate/future_spec.rb +0 -32
  176. data/spec/deprecate/internal_pool_spec.rb +0 -4
  177. data/spec/support/env.rb +0 -21
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 6567bb5a07a228657c325a1a1edd3e381a67472f
4
- data.tar.gz: cf7f91e7a2ff18d99d882a896227e3080e50a3d8
2
+ SHA256:
3
+ metadata.gz: fede4c9c3907c29a0dc303e711077a7b3196fc2acaf3b099ee98b197076c3fdc
4
+ data.tar.gz: f8bd8ffc37cddd24000d66e56d1bafc03796e309101fa4b6f5e02ab5e11f9aac
5
5
  SHA512:
6
- metadata.gz: 9b6257f3e3720fd9e4672719aa6fb711b58d01a6c8bfd71cfa9c41d5e02af64094155a05ba1081ae1d0d7eaf236f34f32f2a645388ff3c245da90d91126d2405
7
- data.tar.gz: de12fdb823cd615c66402fdd14aa45187d7fc950ee6ec52adf039bb884687e07d048d181466bafb8d1b900ba88be5ca276eac4e1c4a083d0a4e8f0ee43b3fdae
6
+ metadata.gz: dc813a35e9f74a49a0f875d290e41fe6445dfd7f6778b46bd3e19b741446c590e1b05be2bc697e6d8641548165baee2494a49960fa7e3782f71b50a13cb50ee1
7
+ data.tar.gz: 9a47f043d4929f833b05187c88a487351e4f26da10038b1045497ed3c7e0fdf980e4b5fe753d7cc4ae1f2db70d0d5fe5966520e2bdff5f08a558c62d82c12fee
data/CHANGES.md CHANGED
@@ -1,8 +1,154 @@
1
- ## 0.18.0.pre (Final release TBD)
1
+ ## 0.18.0 (2020-12-05)
2
2
 
3
- * Release notes coming soon!
3
+ [0.18.0]: https://github.com/celluloid/celluloid/compare/v0.17.3...v0.18.0
4
4
 
5
- ## 0.17.3 (2016-01-18)
5
+ * [#804](https://github.com/celluloid/celluloid/pull/804)
6
+ Remove deprecation warnings
7
+
8
+ * [#802](https://github.com/celluloid/celluloid/pull/802)
9
+ Remove lattice link itself.
10
+
11
+ * [#797](https://github.com/celluloid/celluloid/pull/797)
12
+ Update Ruby versions in CI script
13
+
14
+ * [#801](https://github.com/celluloid/celluloid/pull/801)
15
+ Associate Open Collective sponsorship option
16
+
17
+ * [#800](https://github.com/celluloid/celluloid/pull/800)
18
+ Streamline README
19
+
20
+ * [#799](https://github.com/celluloid/celluloid/pull/799)
21
+ Update links, add diagram preview.
22
+
23
+ * [#796](https://github.com/celluloid/celluloid/pull/796)
24
+ Create Class Diagram in Draw.io
25
+
26
+ * [#798](https://github.com/celluloid/celluloid/pull/798)
27
+ Pertinent Newsflash
28
+
29
+ * [#792](https://github.com/celluloid/celluloid/pull/792)
30
+ CI: 2.5.5, 2.6.2
31
+
32
+ * [#788](https://github.com/celluloid/celluloid/pull/788)
33
+ Travis: Include Ruby 2.5, 2.6
34
+
35
+ * [#787](https://github.com/celluloid/celluloid/pull/787)
36
+ Travis config: drop old configuration sudo: false
37
+
38
+ * [#786](https://github.com/celluloid/celluloid/pull/786)
39
+ Travis: use jruby-9.2.5.0
40
+
41
+ * [#783](https://github.com/celluloid/celluloid/pull/783)
42
+ v0.18.0.pre2
43
+
44
+ * [#782](https://github.com/celluloid/celluloid/pull/782)
45
+ Merge 'celluloid-supervision' back into the tree
46
+
47
+ * [#781](https://github.com/celluloid/celluloid/pull/781)
48
+ .gitmodules: No longer used
49
+
50
+ * [#780](https://github.com/celluloid/celluloid/pull/780)
51
+ README.md: Link to unmaintained issue
52
+
53
+ * [#778](https://github.com/celluloid/celluloid/pull/778)
54
+ README.md: Add "maintained: no! (as of 2016)" badge
55
+
56
+ * [#777](https://github.com/celluloid/celluloid/pull/777)
57
+ gemspec: Metadata with supported links
58
+
59
+ * [#776](https://github.com/celluloid/celluloid/pull/776)
60
+ Travis: use jruby-9.2.0.0
61
+
62
+ * [#775](https://github.com/celluloid/celluloid/pull/775)
63
+ Travis: jruby-9.1.17.0
64
+
65
+ * [#769](https://github.com/celluloid/celluloid/pull/769)
66
+ Travis: jruby-9.1.15.0
67
+
68
+ * [#768](https://github.com/celluloid/celluloid/pull/768)
69
+ Travis: use latest JRuby
70
+
71
+ * [#767](https://github.com/celluloid/celluloid/pull/767)
72
+ CHANGES: Add GitHub compare link on each heading
73
+
74
+ * [#766](https://github.com/celluloid/celluloid/pull/766)
75
+ Fix celluloid/celluloid#758
76
+
77
+ * [#765](https://github.com/celluloid/celluloid/pull/765)
78
+ Travis: jruby-9.1.13.0
79
+
80
+ * [#761](https://github.com/celluloid/celluloid/pull/761)
81
+ Travis: jruby-9.1.12.0
82
+
83
+ * [#760](https://github.com/celluloid/celluloid/pull/760)
84
+ Travis: jruby-9.1.10.0
85
+
86
+ * [#759](https://github.com/celluloid/celluloid/pull/759)
87
+ Travis: jruby-9.1.9.0
88
+
89
+ * [#757](https://github.com/celluloid/celluloid/pull/757)
90
+ parameterize error message so old and new Rubies match text
91
+
92
+ * [#756](https://github.com/celluloid/celluloid/pull/756)
93
+ Travis: latest stable rubies
94
+
95
+ * [#754](https://github.com/celluloid/celluloid/pull/754)
96
+ README: Fix badge rendering in Markdown
97
+
98
+ * [#753](https://github.com/celluloid/celluloid/pull/753)
99
+ Travis: use jruby-9.1.8.0
100
+
101
+ * [#752](https://github.com/celluloid/celluloid/pull/752)
102
+ Misspellings
103
+
104
+ * [#749](https://github.com/celluloid/celluloid/pull/749)
105
+ Return false from Celluloid.running? if Celluloid.boot hasn't been called
106
+
107
+ * [#751](https://github.com/celluloid/celluloid/pull/751)
108
+ Travis: Use JRuby 9.1.7.0
109
+
110
+ * [#740](https://github.com/celluloid/celluloid/pull/740)
111
+ Global variables: stop the bleeding
112
+
113
+ * [#739](https://github.com/celluloid/celluloid/pull/739)
114
+ Remove hacks around old MRIs, JRuby, and rbx
115
+
116
+ * [#738](https://github.com/celluloid/celluloid/pull/738)
117
+ Update to RuboCop 0.45.0 (with new rubocop.yml policy)
118
+
119
+ * [#737](https://github.com/celluloid/celluloid/pull/737)
120
+ Simplify dependencies: merge 'essentials' and 'culture' repos
121
+
122
+ * [#736](https://github.com/celluloid/celluloid/pull/736)
123
+ Remove $CELLULOID_BACKPORTED and $CELLULOID_MANAGED
124
+
125
+ * [#735](https://github.com/celluloid/celluloid/pull/735)
126
+ Require Ruby 2.2.6+
127
+
128
+ * [#729](https://github.com/celluloid/celluloid/pull/729)
129
+ Remove mysterious Fiber.yield
130
+
131
+ * [#721](https://github.com/celluloid/celluloid/pull/721)
132
+ Instruction for cloning Celluloid via github
133
+
134
+ * [#715](https://github.com/celluloid/celluloid/pull/715)
135
+ fix error response reference in Future#cancel
136
+
137
+ * [#712](https://github.com/celluloid/celluloid/pull/712)
138
+ Add RBX-3 to the build
139
+
140
+ * [#711](https://github.com/celluloid/celluloid/pull/711)
141
+ Added bundler cache
142
+
143
+ * [#709](https://github.com/celluloid/celluloid/pull/709)
144
+ Fix autostart. Fixes https://github.com/celluloid/celluloid/issues/698
145
+
146
+ * [#705](https://github.com/celluloid/celluloid/pull/705)
147
+ Adding method source code path to backtrace
148
+
149
+ ## [0.17.3] (2016-01-18)
150
+
151
+ [0.17.3]: https://github.com/celluloid/celluloid/compare/v0.17.2...v0.17.3
6
152
 
7
153
  * [#701](https://github.com/celluloid/celluloid/pull/701)
8
154
  Conditions in loose threads loop does not take into account the difference between
@@ -37,22 +183,30 @@
37
183
  * [#666](https://github.com/celluloid/celluloid/pull/666)
38
184
  Don't catch IOError.
39
185
 
40
- ## 0.17.2 (2015-09-30)
186
+ ## [0.17.2] (2015-09-30)
187
+
188
+ [0.17.2]: https://github.com/celluloid/celluloid/compare/v0.17.1.2...v0.17.2
41
189
 
42
190
  * Revamped test suite, using shared RSpec configuration layer provided by Celluloid itself.
43
191
  * Updated gem dependencies provided by Celluloid::Sync... extraneous gems removed, or marked as development dependencies.
44
192
  * Clean up deprecation notes.
45
193
 
46
- ## 0.17.1.2 (2015-08-21)
194
+ ## [0.17.1.2] (2015-08-21)
195
+
196
+ [0.17.1.2]: https://github.com/celluloid/celluloid/compare/v0.17.1.1...v0.17.1.2
47
197
 
48
198
  * Fixes to posted markdown content.
49
199
  * Pull in new gem dependencies.
50
200
 
51
- ## 0.17.1.1 (2015-08-07)
201
+ ## [0.17.1.1] (2015-08-07)
202
+
203
+ [0.17.1.1]: https://github.com/celluloid/celluloid/compare/v0.17.1...v0.17.1.1
52
204
 
53
205
  * Revert "no task to suspend" code from #232.
54
206
 
55
- ## 0.17.1 (2015-08-06)
207
+ ## [0.17.1] (2015-08-06)
208
+
209
+ [0.17.1]: https://github.com/celluloid/celluloid/compare/v0.17.0...v0.17.1
56
210
 
57
211
  * `Celluloid::ActorSystem` moved to `Celluloid::Actor::System`, and from `celluloid/actor_system.rb` to `celluloid/actor/system.rb`
58
212
  * Added extensible API for defining new SystemEvents, and having them handled... without everyone changing `Actor#handle_system_event`.
@@ -60,7 +214,9 @@
60
214
  * General round-up of all "errors" emitted throughout Celluloid, to either be derived from `Celluloid::Error` or `Celluloid::Interruption`.
61
215
  * Added ability to pass a block to `Condition#wait` which runs a `{ |value| ... }` type block if present, once the value is obtained by waiting.
62
216
 
63
- ## 0.17.0 (2015-07-04)
217
+ ## [0.17.0] (2015-07-04)
218
+
219
+ [0.17.0]: https://github.com/celluloid/celluloid/compare/v0.16.0...v0.17.0
64
220
 
65
221
  * Fix $CELLULOID_TEST warnings
66
222
  * Massive overhaul of test suite, end-to-end.
@@ -91,7 +247,9 @@
91
247
  * Implement `Group::Manager` as base for future `Group::Unlocker` and other such systems traversing `ActorSystem#group` regularly.
92
248
  * Reduce number of supervisors instantiated by `ActorSystem` by consolidating them down to `Service::Root` container instances.
93
249
 
94
- ## 0.16.0 (2014-09-04)
250
+ ## [0.16.0] (2014-09-04)
251
+
252
+ [0.16.0]: https://github.com/celluloid/celluloid/compare/v0.15.2...v0.16.0
95
253
 
96
254
  * Factor apart Celluloid::Cell (concurrent objects) from Celluloid::Actor
97
255
  * Introduce Celluloid::ActorSystem as an abstraction around the backend
@@ -110,15 +268,21 @@
110
268
  * Better thread names on JRuby for easier debugging
111
269
  * Thread safety fixes to internal thread pool
112
270
 
113
- ## 0.15.2 (2013-10-06)
271
+ ## [0.15.2] (2013-10-06)
272
+
273
+ [0.15.2]: https://github.com/celluloid/celluloid/compare/v0.15.1...v0.15.2
114
274
 
115
275
  * require 'celluloid/test' for at_exit-free testing
116
276
 
117
- ## 0.15.1 (2013-09-06)
277
+ ## [0.15.1] (2013-09-06)
278
+
279
+ [0.15.1]: https://github.com/celluloid/celluloid/compare/v0.15.0...v0.15.1
118
280
 
119
281
  * Only raise on nested tasks if $CELLULOID_DEBUG is set
120
282
 
121
- ## 0.15.0 (2013-09-04)
283
+ ## [0.15.0] (2013-09-04)
284
+
285
+ [0.15.0]: https://github.com/celluloid/celluloid/compare/v0.14.0...v0.15.0
122
286
 
123
287
  * Remove legacy support for "bang"-method based async invocation
124
288
  * Generic timeout support with Celluloid#timeout
@@ -134,7 +298,9 @@
134
298
  * Reimplement signal system on top of Conditions
135
299
  * Add metadata like the current method to Celluloid::StackDumps
136
300
 
137
- ## 0.14.0 (2013-05-07)
301
+ ## [0.14.0] (2013-05-07)
302
+
303
+ [0.14.0]: https://github.com/celluloid/celluloid/compare/v0.13.0...v0.14.0
138
304
 
139
305
  * Use a Thread-subclass for Celluloid
140
306
  * Implement actor-local variables
@@ -149,7 +315,9 @@
149
315
  * Execute blocks on the sender by default
150
316
  * Fix CPU counter on windows
151
317
 
152
- ## 0.13.0
318
+ ## [0.13.0]
319
+
320
+ [0.13.0]: https://github.com/celluloid/celluloid/compare/v0.12.4...v0.13.0
153
321
 
154
322
  * API change: Require Celluloid with: require 'celluloid/autostart' to
155
323
  automatically start support actors and configure at_exit handler which
@@ -164,7 +332,9 @@
164
332
  * Celluloid#call_chain_id provides UUIDs for calls across actors
165
333
  * Give all thread locals a :celluloid_* prefix
166
334
 
167
- ## 0.12.4
335
+ ## [0.12.4]
336
+
337
+ [0.12.4]: https://github.com/celluloid/celluloid/compare/v0.12.3...v0.12.4
168
338
 
169
339
  * Bugfix: Clear dead/crashed actors out of links
170
340
  * Bugfix: Exclusive mode was broken
@@ -175,16 +345,23 @@
175
345
  * Use #public_send to dispatch Celluloid methods
176
346
  * #idle_size and #busy_size for Celluloid::PoolManager
177
347
 
178
- ## 0.12.3
348
+ ## [0.12.3]
349
+
350
+ [0.12.3]: https://github.com/celluloid/celluloid/compare/v0.12.2...v0.12.3
351
+
179
352
 
180
353
  * Bugfix: Ensure exclusive mode works correctly for per-method case
181
354
  * Bugfix: Exit handlers were not being inherited correctly
182
355
 
183
- ## 0.12.2
356
+ ## [0.12.2]
357
+
358
+ [0.12.2]: https://github.com/celluloid/celluloid/compare/v0.12.1...v0.12.2
184
359
 
185
360
  * Disable IncidentReporter by default
186
361
 
187
- ## 0.12.1
362
+ ## [0.12.1]
363
+
364
+ [0.12.1]: https://github.com/celluloid/celluloid/compare/v0.12.0...v0.12.1
188
365
 
189
366
  * Fix bug in unsetting of exclusive mode
190
367
  * New incident report system for providing better debugging reports
@@ -195,7 +372,9 @@
195
372
  * Remove Celluloid#alive? as it cannot be called in any manner that will ever
196
373
  return anything but true, rendering it useless
197
374
 
198
- ## 0.12.0
375
+ ## [0.12.0]
376
+
377
+ [0.12.0]: https://github.com/celluloid/celluloid/compare/v0.11.1...v0.12.0
199
378
 
200
379
  * Alternative async syntax: actor.async.method in lieu of actor.method!
201
380
  Original syntax still available but will be removed in Celluloid 1.0
@@ -219,7 +398,9 @@
219
398
  defined by use_mailbox. This is now fixed.
220
399
  * `exclusive` class method without arguments makes the whole actor exclusive
221
400
 
222
- ## 0.11.1
401
+ ## [0.11.1]
402
+
403
+ [0.11.1]: https://github.com/celluloid/celluloid/compare/v0.11.0...v0.11.1
223
404
 
224
405
  * 'exclusive' class method marks methods as always exclusive and runs them
225
406
  outside of a Fiber (useful if you need more stack than Fibers provide)
@@ -229,7 +410,9 @@
229
410
  * Celluloid::Timers extracted into the timers gem, which Celluloid now
230
411
  uses for its own timers
231
412
 
232
- ## 0.11.0
413
+ ## [0.11.0]
414
+
415
+ [0.11.0]: https://github.com/celluloid/celluloid/compare/v0.10.0...v0.11.0
233
416
 
234
417
  * Celluloid::Application constant permanently removed
235
418
  * Celluloid::Pool removed in favor of Celluloid.pool
@@ -244,21 +427,27 @@
244
427
  * abort can now accept a string instead of an exception object and will raise
245
428
  RuntimeError in the caller's context
246
429
 
247
- ## 0.10.0
430
+ ## [0.10.0]
431
+
432
+ [0.10.0]: https://github.com/celluloid/celluloid/compare/v0.9.1...v0.10.0
248
433
 
249
434
  * Celluloid::Actor.current is now the de facto way to obtain the current actor
250
435
  * #terminate now uses system messages, making termination take priority over
251
436
  other pending methods
252
437
  * #terminate! provides asynchronous termination
253
438
 
254
- ## 0.9.1
439
+ ## [0.9.1]
440
+
441
+ [0.9.1]: https://github.com/celluloid/celluloid/compare/v0.9.0...v0.9.1
255
442
 
256
443
  * Recurring timers with Celluloid#every(n) { ... }
257
444
  * Obtain UUIDs with Celluloid.uuid
258
445
  * Obtain the number of CPU cores available with Celluloid.cores
259
446
  * Celluloid::Pool defaults to one actor per CPU core max by default
260
447
 
261
- ## 0.9.0
448
+ ## [0.9.0]
449
+
450
+ [0.9.0]: https://github.com/celluloid/celluloid/compare/v0.8.0...v0.9.0
262
451
 
263
452
  * Celluloid::Pool supervises pools of actors
264
453
  * Graceful shutdown which calls #terminate on all actors
@@ -268,7 +457,9 @@
268
457
  * Celluloid.exception_handler { |ex| ... } defines a callback for notifying
269
458
  exceptions (for use with Airbrake, exception_notifier, etc.)
270
459
 
271
- ## 0.8.0
460
+ ## [0.8.0]
461
+
462
+ [0.8.0]: https://github.com/celluloid/celluloid/compare/v0.7.2...v0.8.0
272
463
 
273
464
  * Celluloid::Application is now Celluloid::Group
274
465
  * Futures no longer use a thread unless created with a block
@@ -280,19 +471,25 @@
280
471
  * Celluloid::FSMs are no longer actors themselves
281
472
  * Benchmarks using benchmark_suite
282
473
 
283
- ## 0.7.2
474
+ ## [0.7.2]
475
+
476
+ [0.7.2]: https://github.com/celluloid/celluloid/compare/v0.7.1...v0.7.2
284
477
 
285
478
  * Workaround fiber problems on JRuby 1.6.5.1 in addition to 1.6.5
286
479
  * Fix class displayed when inspecting dead actors
287
480
 
288
- ## 0.7.1
481
+ ## [0.7.1]
482
+
483
+ [0.7.1]: https://github.com/celluloid/celluloid/compare/v0.7.0...v0.7.1
289
484
 
290
485
  * More examples!
291
486
  * Cancel all pending tasks when actors crash
292
487
  * Log all errors that occur during signaling failures
293
488
  * Work around thread-local issues on rbx (see 52325ecd)
294
489
 
295
- ## 0.7.0
490
+ ## [0.7.0]
491
+
492
+ [0.7.0]: https://github.com/celluloid/celluloid/compare/v0.6.2...v0.7.0
296
493
 
297
494
  * Celluloid::Task abstraction replaces Celluloid::Fiber
298
495
  * Celluloid#tasks API to introspect on running tasks
@@ -307,13 +504,17 @@
307
504
  * Celluloid.receive and Celluloid#receive now accept an optional timeout
308
505
  * Celluloid::Mailbox#receive now accepts an optional timeout
309
506
 
310
- ## 0.6.2
507
+ ## [0.6.2]
508
+
509
+ [0.6.2]: https://github.com/celluloid/celluloid/compare/v0.6.1...v0.6.2
311
510
 
312
511
  * List all registered actors with Celluloid::Actor.registered
313
512
  * All logging now handled through Celluloid::Logger
314
513
  * Rescue DeadActorError in Celluloid::ActorProxy#inspect
315
514
 
316
- ## 0.6.1
515
+ ## [0.6.1]
516
+
517
+ [0.6.1]: https://github.com/celluloid/celluloid/compare/v0.6.0...v0.6.1
317
518
 
318
519
  * Celluloid#links obtains Celluloid::Links for a given actor
319
520
  * The #class method is now proxied to actors
@@ -321,7 +522,9 @@
321
522
  * Use Thread.mailbox instead of Thread.current.mailbox to obtain the mailbox
322
523
  for the current thread
323
524
 
324
- ## 0.6.0
525
+ ## [0.6.0]
526
+
527
+ [0.6.0]: https://github.com/celluloid/celluloid/compare/v0.5.0...v0.6.0
325
528
 
326
529
  * Celluloid::Application classes for describing the structure of applications
327
530
  built with Celluloid
@@ -335,7 +538,9 @@
335
538
  * Add Celluloid.fiber and Celluloid.resume_fiber to allow extension APIs to
336
539
  participate in the Celluloid fiber protocol
337
540
 
338
- ## 0.5.0
541
+ ## [0.5.0]
542
+
543
+ [0.5.0]: https://github.com/celluloid/celluloid/compare/v0.4.0...v0.5.0
339
544
 
340
545
  * "include Celluloid::Actor" no longer supported. Use "include Celluloid"
341
546
  * New Celluloid::IO module for actors that multiplex IO operations
@@ -351,15 +556,21 @@
351
556
  * Magically skip ahead a few version numbers to impart the magnitude of this
352
557
  release. It's my versioning scheme and I can do what I wanna.
353
558
 
354
- ## 0.4.0
559
+ ## [0.4.0]
560
+
561
+ [0.4.0]: https://github.com/celluloid/celluloid/compare/v0.3.0...v0.4.0
355
562
 
356
563
  * This version was mysteriously lost to the sands of time
357
564
 
358
- ## 0.3.0
565
+ ## [0.3.0]
566
+
567
+ [0.3.0]: https://github.com/celluloid/celluloid/compare/v0.2.2...v0.3.0
359
568
 
360
569
  * This version was also mysteriously lost to the sands of time
361
570
 
362
- ## 0.2.2
571
+ ## [0.2.2]
572
+
573
+ [0.2.2]: https://github.com/celluloid/celluloid/compare/v0.2.1...v0.2.2
363
574
 
364
575
  * AbortErrors now reraise in caller scope and get a caller-focused backtrace
365
576
  * Log failed async calls instead of just letting them fail silently
@@ -367,11 +578,15 @@
367
578
  * Actors can now make async calls to themselves
368
579
  * Resolve crashes that occur when sending responses to exited/dead callers
369
580
 
370
- ## 0.2.1
581
+ ## [0.2.1]
582
+
583
+ [0.2.1]: https://github.com/celluloid/celluloid/compare/v0.2.0...v0.2.1
371
584
 
372
585
  * Hack around a bug of an indeterminate cause (2baba3d2)
373
586
 
374
- ## 0.2.0
587
+ ## [0.2.0]
588
+
589
+ [0.2.0]: https://github.com/celluloid/celluloid/compare/v0.1.0...v0.2.0
375
590
 
376
591
  * Support for future method calls with MyActor#future
377
592
  * Initial signaling support via MyActor#signal and MyActor#wait
@@ -380,7 +595,9 @@
380
595
  * Add an underscore prefix to all of Celluloid's instance variables so they don't
381
596
  clash with user-defined ones.
382
597
 
383
- ## 0.1.0
598
+ ## [0.1.0]
599
+
600
+ [0.1.0]: https://github.com/celluloid/celluloid/compare/v0.0.3...v0.1.0
384
601
 
385
602
  * Fiber-based reentrant actors. Requires Ruby 1.9
386
603
  * MyActor.new (where MyActor includes Celluloid::Actor) is now identical to .spawn
@@ -390,7 +607,9 @@
390
607
  * Synchronization now based on ConditionVariables instead of Celluloid::Waker
391
608
  * Determine if you're in actor scope with Celluloid.actor?
392
609
 
393
- ## 0.0.3
610
+ ## [0.0.3]
611
+
612
+ [0.0.3]: https://github.com/celluloid/celluloid/compare/v0.0.1...v0.0.3
394
613
 
395
614
  * Remove self-referential dependency in gemspec
396
615