I’m happy to announce the final new Copas release, the first in 4 years.
Copas is a dispatcher based on coroutines that can be used for asynchronous networking. For example TCP or UDP based servers. But it also features timers and client support for http(s), ftp and smtp requests. It uses LuaSocket as the interface with the TCP/IP stack and LuaSec for TLS support.
Though the version of the previous RC was 2.1, the final became 3.0.0 since there was a small breaking change. But the new major version also does justice to the list of new features, most notably the support for timeouts on socket operations, and the addition of synchronisation primitives.
Installation is as simple as: "luarocks install copas"
Github repo: https://github.com/keplerproject/copas
Some main new features:
- [FINALLY!] copas.settimeout() so Copas can manage its own timeouts instead of spinning forever
- SNI support in the TLS handshake
- timer class, see module "copas.timer"
- lock class, see module "copas.lock"
- semaphore class, see module "copas.semaphore"
Many thanks to the contributors! This release contains contributions from; @amyspark, Patrick Barrett, Hisham Muhammad, Francois Perrad, Francisco Castro, and myself.