Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 211 lines (187 sloc) 8.729 kb
17b4079 @tarcieri Bump to 0.12.1 (with CHANGES)
tarcieri authored
1 0.12.1
2 ------
3 * Fix bug in unsetting of exclusive mode
4 * New incident report system for providing better debugging reports
43589b3 @tarcieri Changes
tarcieri authored
5 * Revert BasicObject proxies for now... they are causing problems
6 * String inspect that reveals bare object leaks
04a2286 @tarcieri Changes!
tarcieri authored
7 * Fix bug reporting proper task statuses
8 * Initial thread dumper support
4b764b4 @tarcieri Notes on removing Celluloid#alive?
tarcieri authored
9 * Remove Celluloid#alive? as it cannot be called in any manner that will ever
10 return anything but true, rendering it useless
e3246ed @jc00ke Use Facter for CPU count
jc00ke authored
11 * Use Facter to get CPU count
43589b3 @tarcieri Changes
tarcieri authored
12
cc6738c @tarcieri Bump version in CHANGES to 0.12.0
tarcieri authored
13 0.12.0
14 ------
c2d77a7 @tarcieri Note new async/future syntax in CHANGES
tarcieri authored
15 * Alternative async syntax: actor.async.method in lieu of actor.method!
16 Original syntax still available but will be removed in Celluloid 1.0
17 * Alternative future syntax: actor.future.method in lieu of future(:method)
4948ed4 @tarcieri All Celluloid methods are available through the singleton
tarcieri authored
18 * All methods in the Celluloid module are now available on its singleton
a000e8e @tarcieri Remove #join and #kill from the actor proxy
tarcieri authored
19 * The #join and #kill methods are no longer available on the actor proxy.
20 Please use Celluloid::Actor.join(actor) and .kill(actor) instead.
27b90ec @tarcieri Celluloid::Future#ready?
tarcieri authored
21 * Celluloid::Future#ready? can be used to query for future readiness
4f90a3b @tarcieri Remove legacy Celluloid::Group constant
tarcieri authored
22 * Celluloid::Group constant removed. Please use Celluloid::SupervisionGroup
c0446a8 @tarcieri Linking overhaul
tarcieri authored
23 * #monitor, #unmonitor, and #monitoring? provide unidirectional linking
b58b34e @tarcieri Initial Celluloid::TaskThread
tarcieri authored
24 * Linking is now performed via a SystemEvent
9861fd5 @tarcieri SystemEvents are no longer exceptions
tarcieri authored
25 * SystemEvents are no longer exceptions. Boo exceptions as flow control!
f087b25 @tarcieri Eliminate Celluloid::Mailbox#system_event
tarcieri authored
26 * Celluloid::Mailbox#system_event eliminated and replaced with Mailbox#<<
27 SystemEvents are now automatically high priority
d272a48 @tarcieri Changes
tarcieri authored
28 * The task_class class method can be used to override the class used for
29 tasks, allowing different task implementations to be configured on an
30 actor-by-actor-basis
b58b34e @tarcieri Initial Celluloid::TaskThread
tarcieri authored
31 * Celluloid::TaskThread provides tasks backed by Threads instead of Fibers
26300b5 @tarcieri Make ActorProxy a BasicObject
tarcieri authored
32 * ActorProxy is now a BasicObject
b44ff91 @tarcieri Subclasses should retain custom mailboxes
tarcieri authored
33 * A bug prevented Celluloid subclasses from retaining custom mailboxes
34 defined by use_mailbox. This is now fixed.
8d21eb3 @benlangfeld Changelog entry for #59
benlangfeld authored
35 * `exclusive` class method without arguments makes the whole actor exclusive
9861fd5 @tarcieri SystemEvents are no longer exceptions
tarcieri authored
36
4ff10f0 @tarcieri Bump version to 0.11.1
tarcieri authored
37 0.11.1
38 ------
ad678b1 @tarcieri 'exclusive' class method
tarcieri authored
39 * 'exclusive' class method marks methods as always exclusive and runs them
40 outside of a Fiber (useful if you need more stack than Fibers provide)
cd340b1 @tarcieri Update CHANGES
tarcieri authored
41 * Celluloid::PoolManager returns its own class when #class is called, instead
42 of proxying to a cell/actor in the pool.
43 * #receive now handles SystemEvents internally
44 * Celluloid::Timers extracted into the timers gem, which Celluloid now
45 uses for its own timers
ad678b1 @tarcieri 'exclusive' class method
tarcieri authored
46
c2e36c2 @tarcieri Prep for tagging 0.11.0
tarcieri authored
47 0.11.0
48 ------
3d6d735 @tarcieri Note removal of Celluloid::Application
tarcieri authored
49 * Celluloid::Application constant permanently removed
9a8e779 @tarcieri Remove Celluloid::Pool
tarcieri authored
50 * Celluloid::Pool removed in favor of Celluloid.pool
981fbfd @tarcieri Rename Celluloid::Group to Celluloid::SupervisionGroup
tarcieri authored
51 * Celluloid::Group renamed to Celluloid::SupervisionGroup, old name is
52 still available and has not been deprecated
2cd3a30 @tarcieri Initial generalized Celluloid::Worker
tarcieri authored
53 * Celluloid::ThreadPool renamed to Celluloid::InternalPool to emphasize its
8a2facc @tarcieri Rename Celluloid::ThreadPool to InternalPool
tarcieri authored
54 internalness
55 * Support for asynchronously calling private methods inside actors
2cd3a30 @tarcieri Initial generalized Celluloid::Worker
tarcieri authored
56 * Future is now an instance method on all actors
8a2facc @tarcieri Rename Celluloid::ThreadPool to InternalPool
tarcieri authored
57 * Async call exception logs now contain the failed method
20381f4 @tarcieri Add #async as an alternative to the predicate syntax
tarcieri authored
58 * MyActor#async makes async calls for those who dislike the predicate syntax
a41c883 @tarcieri Notes on abort changes
tarcieri authored
59 * abort can now accept a string instead of an exception object and will raise
60 RuntimeError in the caller's context
8a2facc @tarcieri Rename Celluloid::ThreadPool to InternalPool
tarcieri authored
61
dda9004 @tarcieri Sticking a fork in 0.10.0
tarcieri authored
62 0.10.0
63 ------
2046d0b @tarcieri Actor.current is the new current_actor
tarcieri authored
64 * Celluloid::Actor.current is now the de facto way to obtain the current actor
733998c @tarcieri Note new termination semantics
tarcieri authored
65 * #terminate now uses system messages, making termination take priority over
aedf3b3 @tarcieri The #terminate! method provides asynchronous termination
tarcieri authored
66 other pending methods
67 * #terminate! provides asynchronous termination
733998c @tarcieri Note new termination semantics
tarcieri authored
68
3f57cef @tarcieri Update CHANGES and bump version
tarcieri authored
69 0.9.1
70 -----
71 * Recurring timers with Celluloid#every(n) { ... }
8fde507 @tarcieri Changes
tarcieri authored
72 * Obtain UUIDs with Celluloid.uuid
73 * Obtain the number of CPU cores available with Celluloid.cores
74 * Celluloid::Pool defaults to one actor per CPU core max by default
75
54d284d @tarcieri CHANGES
tarcieri authored
76 0.9.0
77 -----
6aa41bb @tarcieri Graceful shutdown that terminates all running actors
tarcieri authored
78 * Celluloid::Pool supervises pools of actors
79 * Graceful shutdown which calls #terminate on all actors
c43bb41 @tarcieri Celluloid::Actor.all obtains all running actors
tarcieri authored
80 * Celluloid::Actor.all returns all running actors
115071e @tarcieri Fixups for Celluloid#exclusive semantics
tarcieri authored
81 * Celluloid#exclusive runs a high priority block which prevents other methods
82 from executing
d6b9937 @tarcieri Note Celluloid.exception_handler in changes
tarcieri authored
83 * Celluloid.exception_handler { |ex| ... } defines a callback for notifying
84 exceptions (for use with Airbrake, exception_notifier, etc.)
115071e @tarcieri Fixups for Celluloid#exclusive semantics
tarcieri authored
85
921570d @tarcieri Celluloid::FSMs as objects, not actors
tarcieri authored
86 0.8.0
18d70eb @tarcieri Add note about benchmark_suite
tarcieri authored
87 -----
0e9b9a3 @tarcieri Rename Celluloid::Application to Celluloid::Group
tarcieri authored
88 * Celluloid::Application is now Celluloid::Group
05a9231 @tarcieri Thread-free futures
tarcieri authored
89 * Futures no longer use a thread unless created with a block
90 * No more future thread-leaks! Future threads auto-terminate now
11259b9 @tarcieri Rename Celluloid#async to Celluloid#defer
tarcieri authored
91 * Rename Celluloid#async to Celluloid#defer
2e7d5a5 @tarcieri Store and return an array of tasks with a status attribute
tarcieri authored
92 * Celluloid#tasks now returns an array of tasks with a #status attribute
8ec7a45 @tarcieri Have Response objects reference their original calls
tarcieri authored
93 * Reduce coupling between Celluloid and DCell. Breaks compatibility with
94 earlier versions of DCell.
921570d @tarcieri Celluloid::FSMs as objects, not actors
tarcieri authored
95 * Celluloid::FSMs are no longer actors themselves
18d70eb @tarcieri Add note about benchmark_suite
tarcieri authored
96 * Benchmarks using benchmark_suite
97
6612ab7 @tarcieri Update changelog
tarcieri authored
98 0.7.2
99 -----
100 * Workaround fiber problems on JRuby 1.6.5.1 in addition to 1.6.5
101 * Fix class displayed when inspecting dead actors
102
6ca4a05 @tarcieri Changes for 0.7.1
tarcieri authored
103 0.7.1
104 -----
105 * More examples!
106 * Cancel all pending tasks when actors crash
107 * Log all errors that occur during signaling failures
108 * Work around thread-local issues on rbx (see 52325ecd)
109
2351de2 @tarcieri Celluloid.sleep/Celluloid#sleep
tarcieri authored
110 0.7.0
111 -----
1011dbe @tarcieri Enable introspection on Celluloid::Tasks via Celluloid#tasks
tarcieri authored
112 * Celluloid::Task abstraction replaces Celluloid::Fiber
113 * Celluloid#tasks API to introspect on running tasks
b8f6527 @tarcieri Factor Celluloid::IO into its own gem
tarcieri authored
114 * Move Celluloid::IO into its own gem, celluloid-io
61f92d2 @tarcieri Initial Celluloid::FSM that knows it's in the default state
tarcieri authored
115 * Finite state machines with Celluloid::FSM
1011dbe @tarcieri Enable introspection on Celluloid::Tasks via Celluloid#tasks
tarcieri authored
116 * Fix bugs in supervisors handling actors that crash during initialize
117 * Old syntax Celluloid::Future() { ... } deprecated. Please use the #future
118 method or Celluloid::Future.new { ... } to create futures
1b58aef @tarcieri Some additional methods for Celluloid::Timer
tarcieri authored
119 * New timer subsystem! Bullet point-by-bullet point details below
622f9f2 @tarcieri Celluloid#after schedules callbacks which fire after a given interval
tarcieri authored
120 * Celluloid#after registers a callback to fire after a given time interval
2351de2 @tarcieri Celluloid.sleep/Celluloid#sleep
tarcieri authored
121 * Celluloid.sleep and Celluloid#sleep let an actor continue processing messages
122 * Celluloid.receive and Celluloid#receive now accept an optional timeout
123 * Celluloid::Mailbox#receive now accepts an optional timeout
124
aea3512 @tarcieri Update CHANGES.md
tarcieri authored
125 0.6.2
126 -----
4b4adbb @tarcieri List all registered actors with Celluloid::Actor.registered
tarcieri authored
127 * List all registered actors with Celluloid::Actor.registered
aea3512 @tarcieri Update CHANGES.md
tarcieri authored
128 * All logging now handled through Celluloid::Logger
129 * Rescue DeadActorError in Celluloid::ActorProxy#inspect
130
7e81de8 @tarcieri Proxy #class to the actor
tarcieri authored
131 0.6.1
132 -----
1f81fd3 @tarcieri Refactor linking support, disentangling the mess leftover from the previ...
tarcieri authored
133 * Celluloid#links obtains Celluloid::Links for a given actor
7ad7720 @tarcieri Factor Celluloid.fiber and Celluloid.resume_fiber into Celluloid::Fiber
tarcieri authored
134 * The #class method is now proxied to actors
135 * Celluloid::Fiber replaces the Celluloid.fiber and Celluloid.resume_fiber API
bf31c2e @tarcieri Replace Thread.current.mailbox with Thread.mailbox
tarcieri authored
136 * Use Thread.mailbox instead of Thread.current.mailbox to obtain the mailbox
137 for the current thread
7e81de8 @tarcieri Proxy #class to the actor
tarcieri authored
138
b53f077 @tarcieri Initial ghetto Celluloid::Application implementation
tarcieri authored
139 0.6.0
140 -----
141 * Celluloid::Application classes for describing the structure of applications
142 built with Celluloid
e5749c0 @tarcieri First-class selective receive support
tarcieri authored
143 * Methods of actors can now participate in the actor protocol directly via
144 Celluloid#receive
81b8cd0 @tarcieri Rename 'with_mailbox' to 'use_mailbox'
tarcieri authored
145 * Configure custom mailbox types using Celluloid.use_mailbox
232fbe4 @tarcieri Custom finalizer support
tarcieri authored
146 * Define a custom finalizer for an actor by defining MyActor#finalize
3407042 @tarcieri Note Actor.call and Actor.async in the changelog
tarcieri authored
147 * Actor.call and Actor.async API for making direct calls to mailboxes
5034829 @tarcieri Note Celluloid::Supervisor bugfix in the changelog
tarcieri authored
148 * Fix bugs in Celluloid::Supervisors which would crash on startup if the actor
149 they're supervising also crashes on startup
20f4ac5 @tarcieri Celluloid.resume_fiber API for resuming fibers that live inside actors
tarcieri authored
150 * Add Celluloid.fiber and Celluloid.resume_fiber to allow extension APIs to
151 participate in the Celluloid fiber protocol
b53f077 @tarcieri Initial ghetto Celluloid::Application implementation
tarcieri authored
152
02c0c22 @tarcieri Fuck it, we're going to 0.5.0
tarcieri authored
153 0.5.0
b2cde26 @tarcieri Note Celluloid::Actor overhaul in CHANGES.md and bump version to 0.3.0
tarcieri authored
154 -----
0000197 @tarcieri Update CHANGES.md with info on Celluloid#async
tarcieri authored
155 * "include Celluloid::Actor" no longer supported. Use "include Celluloid"
1ee515e @tarcieri Note Celluloid::IO in CHANGES.md
tarcieri authored
156 * New Celluloid::IO module for actors that multiplex IO operations
b2cde26 @tarcieri Note Celluloid::Actor overhaul in CHANGES.md and bump version to 0.3.0
tarcieri authored
157 * Major overhaul of Celluloid::Actor internals (see 25e22cc1)
37727a6 @tarcieri Update changelog with a note about the speed improvements of the pool
tarcieri authored
158 * Actor threads are pooled in Celluloid::Actor::Pool, improving the speed
159 of creating short-lived actors by over 2X
0000197 @tarcieri Update CHANGES.md with info on Celluloid#async
tarcieri authored
160 * Classes that include Celluloid now have a #current_actor instance method
161 * Celluloid#async allows actors to make indefinitely blocking calls while
162 still responding to messages
2fc149e @tarcieri Fix a potential thread safety bug in Thread#mailbox
tarcieri authored
163 * Fix a potential thread safety bug in Thread#mailbox
99a45e6 @tarcieri Celluloid::TCPServer
tarcieri authored
164 * Experimental Celluloid::TCPServer for people wanting to write servers in
165 Celluloid. This may wind up in another gem, so use at your own risk!
02c0c22 @tarcieri Fuck it, we're going to 0.5.0
tarcieri authored
166 * Magically skip ahead a few version numbers to impart the magnitude of this
167 release. It's my versioning scheme and I can do what I wanna.
b2cde26 @tarcieri Note Celluloid::Actor overhaul in CHANGES.md and bump version to 0.3.0
tarcieri authored
168
f8f8ac9 @tarcieri The story of Celluloid 0.2.2
tarcieri authored
169 0.2.2
5aff772 @tarcieri Update CHANGES
tarcieri authored
170 -----
1f38ed7 @tarcieri 0.2.3 stuffins
tarcieri authored
171
608f67b @tarcieri Moar changes
tarcieri authored
172 * AbortErrors now reraise in caller scope and get a caller-focused backtrace
5aff772 @tarcieri Update CHANGES
tarcieri authored
173 * Log failed async calls instead of just letting them fail silently
058cfea @tarcieri Handle async calls to self. Fixes #5
tarcieri authored
174 * Properly handle arity of synchronous calls
175 * Actors can now make async calls to themselves
ec65dae @tarcieri Resolve crashes that occur when sending responses to exited/dead callers
tarcieri authored
176 * Resolve crashes that occur when sending responses to exited/dead callers
5aff772 @tarcieri Update CHANGES
tarcieri authored
177
f8f8ac9 @tarcieri The story of Celluloid 0.2.2
tarcieri authored
178 0.2.1
179 -----
180
181 * Hack around a bug of an indeterminate cause (2baba3d2)
182 * COLON!#@!
183
48964d4 @tarcieri Bump version number to 0.2.0
tarcieri authored
184 0.2.0
f50f5f9 @tarcieri Add an underscore prefix to all of Celluloid's instance variables so the...
tarcieri authored
185 -----
186
bde66ef @tarcieri Initial MyActor#future support
tarcieri authored
187 * Support for future method calls with MyActor#future
c74731f @tarcieri Initial signaling support
tarcieri authored
188 * Initial signaling support via MyActor#signal and MyActor#wait
f12b7e8 @tarcieri Allow 'include Celluloid' instead of 'include Celluloid::Actor'
tarcieri authored
189 * Just "include Celluloid" works in lieu of "include Celluloid::Actor"
599bb72 @tarcieri Terminate Celluloid::Futures implicitly when their values are obtained
tarcieri authored
190 * Futures terminate implicitly when their values are obtained
191 * Add an underscore prefix to all of Celluloid's instance variables so they don't
f12b7e8 @tarcieri Allow 'include Celluloid' instead of 'include Celluloid::Actor'
tarcieri authored
192 clash with user-defined ones.
f50f5f9 @tarcieri Add an underscore prefix to all of Celluloid's instance variables so the...
tarcieri authored
193
48dc32e @tarcieri Obtain current actor with Celluloid.current_actor
tarcieri authored
194 0.1.0
195 -----
3c001ab @tarcieri Note some important changes
tarcieri authored
196 * Fiber-based reentrant actors. Requires Ruby 1.9
197 * MyActor.new (where MyActor includes Celluloid::Actor) is now identical to .spawn
6ee9650 @tarcieri Termination support
tarcieri authored
198 * Terminate actors with MyActor#terminate
48dc32e @tarcieri Obtain current actor with Celluloid.current_actor
tarcieri authored
199 * Obtain current actor with Celluloid.current_actor
3c001ab @tarcieri Note some important changes
tarcieri authored
200 * Configurable logger with Celluloid.logger
201 * Synchronization now based on ConditionVariables instead of Celluloid::Waker
202 * Determine if you're in actor scope with Celluloid.actor?
48dc32e @tarcieri Obtain current actor with Celluloid.current_actor
tarcieri authored
203
e66f546 @tarcieri Update changelog
tarcieri authored
204 0.0.3
9111a92 @tarcieri Initial changelog
tarcieri authored
205 -----
206 * Remove self-referential dependency in gemspec
207
208 0.0.1
209 -----
f50f5f9 @tarcieri Add an underscore prefix to all of Celluloid's instance variables so the...
tarcieri authored
210 * Initial release
Something went wrong with that request. Please try again.