celluloid 0.17.3 → 0.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (171) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGES.md +300 -73
  3. data/CONDUCT.md +13 -0
  4. data/CONTRIBUTING.md +39 -0
  5. data/README.md +54 -150
  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 +74 -64
  17. data/lib/celluloid/actor.rb +27 -17
  18. data/lib/celluloid/actor/system.rb +13 -29
  19. data/lib/celluloid/autostart.rb +6 -1
  20. data/lib/celluloid/call/async.rb +2 -0
  21. data/lib/celluloid/call/sync.rb +10 -3
  22. data/lib/celluloid/calls.rb +13 -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 +8 -10
  29. data/lib/celluloid/group.rb +16 -6
  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 +6 -2
  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 +7 -1
  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 +3 -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 -290
  136. data/culture/CONDUCT.md +0 -28
  137. data/culture/Gemfile +0 -9
  138. data/culture/LICENSE.txt +0 -22
  139. data/culture/README.md +0 -22
  140. data/culture/Rakefile +0 -5
  141. data/culture/SYNC.md +0 -70
  142. data/culture/celluloid-culture.gemspec +0 -18
  143. data/culture/gems/README.md +0 -39
  144. data/culture/gems/dependencies.yml +0 -85
  145. data/culture/gems/loader.rb +0 -101
  146. data/culture/rubocop/README.md +0 -38
  147. data/culture/rubocop/lint.yml +0 -8
  148. data/culture/rubocop/metrics.yml +0 -15
  149. data/culture/rubocop/perf.yml +0 -0
  150. data/culture/rubocop/rubocop.yml +0 -5
  151. data/culture/rubocop/style.yml +0 -57
  152. data/culture/spec/gems_spec.rb +0 -2
  153. data/culture/spec/spec_helper.rb +0 -0
  154. data/culture/spec/sync_spec.rb +0 -2
  155. data/culture/sync.rb +0 -56
  156. data/culture/tasks/rspec.rake +0 -5
  157. data/culture/tasks/rubocop.rake +0 -2
  158. data/lib/celluloid/actor/manager.rb +0 -7
  159. data/lib/celluloid/backported.rb +0 -2
  160. data/lib/celluloid/current.rb +0 -2
  161. data/lib/celluloid/deprecate.rb +0 -21
  162. data/lib/celluloid/fiber.rb +0 -32
  163. data/lib/celluloid/managed.rb +0 -3
  164. data/lib/celluloid/notices.rb +0 -15
  165. data/spec/deprecate/actor_system_spec.rb +0 -72
  166. data/spec/deprecate/block_spec.rb +0 -52
  167. data/spec/deprecate/calls_spec.rb +0 -39
  168. data/spec/deprecate/evented_mailbox_spec.rb +0 -34
  169. data/spec/deprecate/future_spec.rb +0 -32
  170. data/spec/deprecate/internal_pool_spec.rb +0 -4
  171. data/spec/support/env.rb +0 -21
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: eff22fc2c5057bb33885344388462730338e2b5c
4
- data.tar.gz: 45dab801f10eb84efedd3734f60a7e600bf77618
2
+ SHA256:
3
+ metadata.gz: fede4c9c3907c29a0dc303e711077a7b3196fc2acaf3b099ee98b197076c3fdc
4
+ data.tar.gz: f8bd8ffc37cddd24000d66e56d1bafc03796e309101fa4b6f5e02ab5e11f9aac
5
5
  SHA512:
6
- metadata.gz: 8d99c5e87c151a511a52c7b159cbd2b07ec2d898027aba8573260db4ead19381bfa629bff6ee8b3cc5a2537bef8cab3f626c42798d68717a35a7f8d3e8644767
7
- data.tar.gz: 03231c9ab4686ef1812ef88a7a44e51029db1c30743622e5dbbbc38eb6cb7db1f917942df887d57006e772a8936a8ae1cbe0f6fc8e29603f2dc979a97b584d9f
6
+ metadata.gz: dc813a35e9f74a49a0f875d290e41fe6445dfd7f6778b46bd3e19b741446c590e1b05be2bc697e6d8641548165baee2494a49960fa7e3782f71b50a13cb50ee1
7
+ data.tar.gz: 9a47f043d4929f833b05187c88a487351e4f26da10038b1045497ed3c7e0fdf980e4b5fe753d7cc4ae1f2db70d0d5fe5966520e2bdff5f08a558c62d82c12fee
data/CHANGES.md CHANGED
@@ -1,5 +1,155 @@
1
- 0.17.3 (2016-01-18)
2
- -----
1
+ ## 0.18.0 (2020-12-05)
2
+
3
+ [0.18.0]: https://github.com/celluloid/celluloid/compare/v0.17.3...v0.18.0
4
+
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
152
+
3
153
  * [#701](https://github.com/celluloid/celluloid/pull/701)
4
154
  Conditions in loose threads loop does not take into account the difference between
5
155
  backtraces from ruby 2.0.0 and greater than. Fixes celluloid/celluloid-io#165.
@@ -33,31 +183,41 @@
33
183
  * [#666](https://github.com/celluloid/celluloid/pull/666)
34
184
  Don't catch IOError.
35
185
 
36
- 0.17.2 (2015-09-30)
37
- -----
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
189
+
38
190
  * Revamped test suite, using shared RSpec configuration layer provided by Celluloid itself.
39
191
  * Updated gem dependencies provided by Celluloid::Sync... extraneous gems removed, or marked as development dependencies.
40
192
  * Clean up deprecation notes.
41
193
 
42
- 0.17.1.2 (2015-08-21)
43
- -----
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
197
+
44
198
  * Fixes to posted markdown content.
45
199
  * Pull in new gem dependencies.
46
200
 
47
- 0.17.1.1 (2015-08-07)
48
- -----
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
204
+
49
205
  * Revert "no task to suspend" code from #232.
50
206
 
51
- 0.17.1 (2015-08-06)
52
- -----
207
+ ## [0.17.1] (2015-08-06)
208
+
209
+ [0.17.1]: https://github.com/celluloid/celluloid/compare/v0.17.0...v0.17.1
210
+
53
211
  * `Celluloid::ActorSystem` moved to `Celluloid::Actor::System`, and from `celluloid/actor_system.rb` to `celluloid/actor/system.rb`
54
212
  * Added extensible API for defining new SystemEvents, and having them handled... without everyone changing `Actor#handle_system_event`.
55
213
  * Deprecated Task::TerminatedError & Task::TimeoutError... Consolidated in exceptions.rb, inherited from Exceptions vs. StandardError.
56
214
  * General round-up of all "errors" emitted throughout Celluloid, to either be derived from `Celluloid::Error` or `Celluloid::Interruption`.
57
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.
58
216
 
59
- 0.17.0 (2015-07-04)
60
- -----
217
+ ## [0.17.0] (2015-07-04)
218
+
219
+ [0.17.0]: https://github.com/celluloid/celluloid/compare/v0.16.0...v0.17.0
220
+
61
221
  * Fix $CELLULOID_TEST warnings
62
222
  * Massive overhaul of test suite, end-to-end.
63
223
  * Make "Terminating task" log messages debug-level events
@@ -87,8 +247,10 @@
87
247
  * Implement `Group::Manager` as base for future `Group::Unlocker` and other such systems traversing `ActorSystem#group` regularly.
88
248
  * Reduce number of supervisors instantiated by `ActorSystem` by consolidating them down to `Service::Root` container instances.
89
249
 
90
- 0.16.0 (2014-09-04)
91
- -----
250
+ ## [0.16.0] (2014-09-04)
251
+
252
+ [0.16.0]: https://github.com/celluloid/celluloid/compare/v0.15.2...v0.16.0
253
+
92
254
  * Factor apart Celluloid::Cell (concurrent objects) from Celluloid::Actor
93
255
  * Introduce Celluloid::ActorSystem as an abstraction around the backend
94
256
  actor implementation (idea borrowed from Akka)
@@ -106,16 +268,22 @@
106
268
  * Better thread names on JRuby for easier debugging
107
269
  * Thread safety fixes to internal thread pool
108
270
 
109
- 0.15.2 (2013-10-06)
110
- -----
271
+ ## [0.15.2] (2013-10-06)
272
+
273
+ [0.15.2]: https://github.com/celluloid/celluloid/compare/v0.15.1...v0.15.2
274
+
111
275
  * require 'celluloid/test' for at_exit-free testing
112
276
 
113
- 0.15.1 (2013-09-06)
114
- -----
277
+ ## [0.15.1] (2013-09-06)
278
+
279
+ [0.15.1]: https://github.com/celluloid/celluloid/compare/v0.15.0...v0.15.1
280
+
115
281
  * Only raise on nested tasks if $CELLULOID_DEBUG is set
116
282
 
117
- 0.15.0 (2013-09-04)
118
- -----
283
+ ## [0.15.0] (2013-09-04)
284
+
285
+ [0.15.0]: https://github.com/celluloid/celluloid/compare/v0.14.0...v0.15.0
286
+
119
287
  * Remove legacy support for "bang"-method based async invocation
120
288
  * Generic timeout support with Celluloid#timeout
121
289
  * Implement recursion detection for #inspect, avoiding infinite loop bugs
@@ -130,8 +298,10 @@
130
298
  * Reimplement signal system on top of Conditions
131
299
  * Add metadata like the current method to Celluloid::StackDumps
132
300
 
133
- 0.14.0 (2013-05-07)
134
- -----
301
+ ## [0.14.0] (2013-05-07)
302
+
303
+ [0.14.0]: https://github.com/celluloid/celluloid/compare/v0.13.0...v0.14.0
304
+
135
305
  * Use a Thread-subclass for Celluloid
136
306
  * Implement actor-local variables
137
307
  * Add helper methods to the class
@@ -145,8 +315,10 @@
145
315
  * Execute blocks on the sender by default
146
316
  * Fix CPU counter on windows
147
317
 
148
- 0.13.0
149
- -----
318
+ ## [0.13.0]
319
+
320
+ [0.13.0]: https://github.com/celluloid/celluloid/compare/v0.12.4...v0.13.0
321
+
150
322
  * API change: Require Celluloid with: require 'celluloid/autostart' to
151
323
  automatically start support actors and configure at_exit handler which
152
324
  automatically terminates all actors.
@@ -160,8 +332,10 @@
160
332
  * Celluloid#call_chain_id provides UUIDs for calls across actors
161
333
  * Give all thread locals a :celluloid_* prefix
162
334
 
163
- 0.12.4
164
- -----
335
+ ## [0.12.4]
336
+
337
+ [0.12.4]: https://github.com/celluloid/celluloid/compare/v0.12.3...v0.12.4
338
+
165
339
  * Bugfix: Clear dead/crashed actors out of links
166
340
  * Bugfix: Exclusive mode was broken
167
341
  * Bugfix: Celluloid::SupervisionGroup#run was broken
@@ -171,17 +345,24 @@
171
345
  * Use #public_send to dispatch Celluloid methods
172
346
  * #idle_size and #busy_size for Celluloid::PoolManager
173
347
 
174
- 0.12.3
175
- -----
348
+ ## [0.12.3]
349
+
350
+ [0.12.3]: https://github.com/celluloid/celluloid/compare/v0.12.2...v0.12.3
351
+
352
+
176
353
  * Bugfix: Ensure exclusive mode works correctly for per-method case
177
354
  * Bugfix: Exit handlers were not being inherited correctly
178
355
 
179
- 0.12.2
180
- -----
356
+ ## [0.12.2]
357
+
358
+ [0.12.2]: https://github.com/celluloid/celluloid/compare/v0.12.1...v0.12.2
359
+
181
360
  * Disable IncidentReporter by default
182
361
 
183
- 0.12.1
184
- -----
362
+ ## [0.12.1]
363
+
364
+ [0.12.1]: https://github.com/celluloid/celluloid/compare/v0.12.0...v0.12.1
365
+
185
366
  * Fix bug in unsetting of exclusive mode
186
367
  * New incident report system for providing better debugging reports
187
368
  * Revert BasicObject proxies for now... they are causing problems
@@ -191,8 +372,10 @@
191
372
  * Remove Celluloid#alive? as it cannot be called in any manner that will ever
192
373
  return anything but true, rendering it useless
193
374
 
194
- 0.12.0
195
- -----
375
+ ## [0.12.0]
376
+
377
+ [0.12.0]: https://github.com/celluloid/celluloid/compare/v0.11.1...v0.12.0
378
+
196
379
  * Alternative async syntax: actor.async.method in lieu of actor.method!
197
380
  Original syntax still available but will be removed in Celluloid 1.0
198
381
  * Alternative future syntax: actor.future.method in lieu of future(:method)
@@ -215,8 +398,10 @@
215
398
  defined by use_mailbox. This is now fixed.
216
399
  * `exclusive` class method without arguments makes the whole actor exclusive
217
400
 
218
- 0.11.1
219
- -----
401
+ ## [0.11.1]
402
+
403
+ [0.11.1]: https://github.com/celluloid/celluloid/compare/v0.11.0...v0.11.1
404
+
220
405
  * 'exclusive' class method marks methods as always exclusive and runs them
221
406
  outside of a Fiber (useful if you need more stack than Fibers provide)
222
407
  * Celluloid::PoolManager returns its own class when #class is called, instead
@@ -225,8 +410,10 @@
225
410
  * Celluloid::Timers extracted into the timers gem, which Celluloid now
226
411
  uses for its own timers
227
412
 
228
- 0.11.0
229
- -----
413
+ ## [0.11.0]
414
+
415
+ [0.11.0]: https://github.com/celluloid/celluloid/compare/v0.10.0...v0.11.0
416
+
230
417
  * Celluloid::Application constant permanently removed
231
418
  * Celluloid::Pool removed in favor of Celluloid.pool
232
419
  * Celluloid::Group renamed to Celluloid::SupervisionGroup, old name is
@@ -240,22 +427,28 @@
240
427
  * abort can now accept a string instead of an exception object and will raise
241
428
  RuntimeError in the caller's context
242
429
 
243
- 0.10.0
244
- -----
430
+ ## [0.10.0]
431
+
432
+ [0.10.0]: https://github.com/celluloid/celluloid/compare/v0.9.1...v0.10.0
433
+
245
434
  * Celluloid::Actor.current is now the de facto way to obtain the current actor
246
435
  * #terminate now uses system messages, making termination take priority over
247
436
  other pending methods
248
437
  * #terminate! provides asynchronous termination
249
438
 
250
- 0.9.1
251
- -----
439
+ ## [0.9.1]
440
+
441
+ [0.9.1]: https://github.com/celluloid/celluloid/compare/v0.9.0...v0.9.1
442
+
252
443
  * Recurring timers with Celluloid#every(n) { ... }
253
444
  * Obtain UUIDs with Celluloid.uuid
254
445
  * Obtain the number of CPU cores available with Celluloid.cores
255
446
  * Celluloid::Pool defaults to one actor per CPU core max by default
256
447
 
257
- 0.9.0
258
- -----
448
+ ## [0.9.0]
449
+
450
+ [0.9.0]: https://github.com/celluloid/celluloid/compare/v0.8.0...v0.9.0
451
+
259
452
  * Celluloid::Pool supervises pools of actors
260
453
  * Graceful shutdown which calls #terminate on all actors
261
454
  * Celluloid::Actor.all returns all running actors
@@ -264,8 +457,10 @@
264
457
  * Celluloid.exception_handler { |ex| ... } defines a callback for notifying
265
458
  exceptions (for use with Airbrake, exception_notifier, etc.)
266
459
 
267
- 0.8.0
268
- -----
460
+ ## [0.8.0]
461
+
462
+ [0.8.0]: https://github.com/celluloid/celluloid/compare/v0.7.2...v0.8.0
463
+
269
464
  * Celluloid::Application is now Celluloid::Group
270
465
  * Futures no longer use a thread unless created with a block
271
466
  * No more future thread-leaks! Future threads auto-terminate now
@@ -276,20 +471,26 @@
276
471
  * Celluloid::FSMs are no longer actors themselves
277
472
  * Benchmarks using benchmark_suite
278
473
 
279
- 0.7.2
280
- -----
474
+ ## [0.7.2]
475
+
476
+ [0.7.2]: https://github.com/celluloid/celluloid/compare/v0.7.1...v0.7.2
477
+
281
478
  * Workaround fiber problems on JRuby 1.6.5.1 in addition to 1.6.5
282
479
  * Fix class displayed when inspecting dead actors
283
480
 
284
- 0.7.1
285
- -----
481
+ ## [0.7.1]
482
+
483
+ [0.7.1]: https://github.com/celluloid/celluloid/compare/v0.7.0...v0.7.1
484
+
286
485
  * More examples!
287
486
  * Cancel all pending tasks when actors crash
288
487
  * Log all errors that occur during signaling failures
289
488
  * Work around thread-local issues on rbx (see 52325ecd)
290
489
 
291
- 0.7.0
292
- -----
490
+ ## [0.7.0]
491
+
492
+ [0.7.0]: https://github.com/celluloid/celluloid/compare/v0.6.2...v0.7.0
493
+
293
494
  * Celluloid::Task abstraction replaces Celluloid::Fiber
294
495
  * Celluloid#tasks API to introspect on running tasks
295
496
  * Move Celluloid::IO into its own gem, celluloid-io
@@ -303,22 +504,28 @@
303
504
  * Celluloid.receive and Celluloid#receive now accept an optional timeout
304
505
  * Celluloid::Mailbox#receive now accepts an optional timeout
305
506
 
306
- 0.6.2
307
- -----
507
+ ## [0.6.2]
508
+
509
+ [0.6.2]: https://github.com/celluloid/celluloid/compare/v0.6.1...v0.6.2
510
+
308
511
  * List all registered actors with Celluloid::Actor.registered
309
512
  * All logging now handled through Celluloid::Logger
310
513
  * Rescue DeadActorError in Celluloid::ActorProxy#inspect
311
514
 
312
- 0.6.1
313
- -----
515
+ ## [0.6.1]
516
+
517
+ [0.6.1]: https://github.com/celluloid/celluloid/compare/v0.6.0...v0.6.1
518
+
314
519
  * Celluloid#links obtains Celluloid::Links for a given actor
315
520
  * The #class method is now proxied to actors
316
521
  * Celluloid::Fiber replaces the Celluloid.fiber and Celluloid.resume_fiber API
317
522
  * Use Thread.mailbox instead of Thread.current.mailbox to obtain the mailbox
318
523
  for the current thread
319
524
 
320
- 0.6.0
321
- -----
525
+ ## [0.6.0]
526
+
527
+ [0.6.0]: https://github.com/celluloid/celluloid/compare/v0.5.0...v0.6.0
528
+
322
529
  * Celluloid::Application classes for describing the structure of applications
323
530
  built with Celluloid
324
531
  * Methods of actors can now participate in the actor protocol directly via
@@ -331,8 +538,10 @@
331
538
  * Add Celluloid.fiber and Celluloid.resume_fiber to allow extension APIs to
332
539
  participate in the Celluloid fiber protocol
333
540
 
334
- 0.5.0
335
- -----
541
+ ## [0.5.0]
542
+
543
+ [0.5.0]: https://github.com/celluloid/celluloid/compare/v0.4.0...v0.5.0
544
+
336
545
  * "include Celluloid::Actor" no longer supported. Use "include Celluloid"
337
546
  * New Celluloid::IO module for actors that multiplex IO operations
338
547
  * Major overhaul of Celluloid::Actor internals (see 25e22cc1)
@@ -347,8 +556,21 @@
347
556
  * Magically skip ahead a few version numbers to impart the magnitude of this
348
557
  release. It's my versioning scheme and I can do what I wanna.
349
558
 
350
- 0.2.2
351
- -----
559
+ ## [0.4.0]
560
+
561
+ [0.4.0]: https://github.com/celluloid/celluloid/compare/v0.3.0...v0.4.0
562
+
563
+ * This version was mysteriously lost to the sands of time
564
+
565
+ ## [0.3.0]
566
+
567
+ [0.3.0]: https://github.com/celluloid/celluloid/compare/v0.2.2...v0.3.0
568
+
569
+ * This version was also mysteriously lost to the sands of time
570
+
571
+ ## [0.2.2]
572
+
573
+ [0.2.2]: https://github.com/celluloid/celluloid/compare/v0.2.1...v0.2.2
352
574
 
353
575
  * AbortErrors now reraise in caller scope and get a caller-focused backtrace
354
576
  * Log failed async calls instead of just letting them fail silently
@@ -356,14 +578,15 @@
356
578
  * Actors can now make async calls to themselves
357
579
  * Resolve crashes that occur when sending responses to exited/dead callers
358
580
 
359
- 0.2.1
360
- -----
581
+ ## [0.2.1]
582
+
583
+ [0.2.1]: https://github.com/celluloid/celluloid/compare/v0.2.0...v0.2.1
361
584
 
362
585
  * Hack around a bug of an indeterminate cause (2baba3d2)
363
- * COLON!#@!
364
586
 
365
- 0.2.0
366
- -----
587
+ ## [0.2.0]
588
+
589
+ [0.2.0]: https://github.com/celluloid/celluloid/compare/v0.1.0...v0.2.0
367
590
 
368
591
  * Support for future method calls with MyActor#future
369
592
  * Initial signaling support via MyActor#signal and MyActor#wait
@@ -372,8 +595,10 @@
372
595
  * Add an underscore prefix to all of Celluloid's instance variables so they don't
373
596
  clash with user-defined ones.
374
597
 
375
- 0.1.0
376
- -----
598
+ ## [0.1.0]
599
+
600
+ [0.1.0]: https://github.com/celluloid/celluloid/compare/v0.0.3...v0.1.0
601
+
377
602
  * Fiber-based reentrant actors. Requires Ruby 1.9
378
603
  * MyActor.new (where MyActor includes Celluloid::Actor) is now identical to .spawn
379
604
  * Terminate actors with MyActor#terminate
@@ -382,12 +607,14 @@
382
607
  * Synchronization now based on ConditionVariables instead of Celluloid::Waker
383
608
  * Determine if you're in actor scope with Celluloid.actor?
384
609
 
385
- 0.0.3
386
- -----
610
+ ## [0.0.3]
611
+
612
+ [0.0.3]: https://github.com/celluloid/celluloid/compare/v0.0.1...v0.0.3
613
+
387
614
  * Remove self-referential dependency in gemspec
388
615
 
389
- 0.0.1
390
- -----
616
+ ## 0.0.1
617
+
391
618
  * Initial release
392
619
 
393
620
  [@ioquatix]: https://github.com/ioquatix