Fibers NEWS

Fibers is a facility that provides Go-like concurrency for Guile Scheme.

fibers 1.3.1 -- 2023-05-30
==========================

* Fix posix-clocks-darwin usage of extension library.

fibers 1.3.0 -- 2023-05-29
==========================

* Replace PSQ timer queue with new timer wheel.
  (see https://github.com/wingo/fibers/pull/84)

* Fix libevent cross-compilation issues.

* Always define (getaffinity) and (setaffinity) if not found.

* Rename 'scm_pipe2' to 'scm_fibers_pipe2' to fix a build error with Guile
  3.0.9.

* Fix bit-vector deprecation warnings.

fibers 1.2.0 -- 2022-12-22
==========================

* Add support for 'libevent' backend. Currently only native 'epoll' is
  supported. If 'epoll' is not detected we would default to 'libevent'. If you
  have 'epoll' but want to try 'libevent' you can always do './configure
  --disable-epoll'.

* Do not re-add FD finalisers on FDs that already have one.

* Introduce 'pipe2' (for 'epoll') and mark wake pipe as O_CLOEXEC.

* Implement operations for waiting for readability / writability.

* Support streaming responses in Fibers' web server to allow for bigger
  responses.

* Fix behaviour of 'epoll-wake!' after 'run-fibers'.

fibers 1.1.1 -- 2022-06-03
==========================

* Always add file descriptors finalizer in (schedule-task-when-fd-active).

* Do not load 'epoll.so' during cross-compilation.

* Pass '--target' and '-L' to 'guild compile' when cross-compiling.

* Do not refer to 'epoll.so'-provided variables at expansion time.

* Install .go files to …/site-ccache, not …/ccache.

fibers 1.1.0 -- 2022-01-31
==========================

* Destroy peer schedulers when returning from run-fibers.

* Handle EPOLLHUP like EPOLLERR.

* Don't use deprecated types scm_t_uint64 and scm_t_int64.

* Garbage collect synchronized items from channels queues.

* Added guix.scm for local development.

* Improve fibers performance by installing "catch" in scheduler instead of in
  the fiber itself.

* Rebased fibers on top of lighter-weight "tasks".

* Garbage collect old condition waiters.

* Multiple documentation fixes and improvements.

* Added benchmarks.

* Support Guile 3.0 compilation.

fibers 1.0.0 -- 2017-02-20
==========================

* See git log.

fibers 0.5.0 -- 2017-01-19
==========================

* Add parallelism support, with both work stealing and explicit work
  sharing.  Enabled by default.

* Allow channel sends and receives and other Concurrent ML-like
  operations to be performed from outside of fibers.

* Enable preemption by default.

fibers 0.4.0 -- 2016-12-16
==========================

* Added preemption support; see `run-fibers' documentation in the
  manual for more.

* Documented REPL commands and examples.

* Documented more pitfalls.

* Use `suspendable-continuation?' if present.

* Fibers each have their own dynamic state.

fibers 0.3.0 -- 2016-10-12
==========================

* See git log.

fibers 0.2.0 -- 2016-09-11
==========================

* See git log.

fibers 0.1.0 -- 2016-07-02
==========================

* First release.


Copyright (C) 2016-2022 Andy Wingo <wingo at pobox dot com>

Copying and distribution of this file, with or without modification, are
permitted in any medium without royalty provided the copyright notice
and this notice are preserved.
