All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Add
Pond.drain(&)
class method
- Replace internal fiber collection with an internal counter
- Reduce memory footprint for long running processes
- Remove
Pond#<<
method - Remove
Pond.drain(Fiber)
class method - Remove
Pond.drain(Array(Fiber))
class method - Remove
Pond#fill(Fiber)
overload - Remove
Pond#fill(Array(Fiber))
overload
- Replace
Fiber.yield
withsleep 1.microsecond
in loops to reduce CPU load
- First stable release
- Update GitHub actions
- Change argument type of
Pond.drain(Array(Fiber))
toIndexable(Fiber)
- Ensure support for Crystal v1.3.0
- Add support for Crystal v1.2
- Fix segmentation fault while reading fibers collection
- Clear Pond when all fibers are dead
- Check fiber is alive before adding to pond
- Fix segfault while removing dead fibers
- Add
Pond#fill
overload that accepts an array of fibers
- Ensure dead fibers continue to be removed whenever pond is refilled
- Allow refilling and draining a drained pond
- Add
Pond#size
that returns number of fibers in a pond
- Replace travis-ci with GitHub actions
- Add
Pond.drain
class methods
- Initial public release