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