Skip to content

Conversation

@straight-shoota
Copy link
Member

libevent is no longer a required dependency on any major platform. Since release 1.15 (crystal-lang/crystal#14996) we're directly using the system selectors (epoll, kqueue) on Linux, macOS, and FreeBSD. Libevent is still supported, but it needs opt-in via a compile-time flag -Devloop=libevent.

It's safe to assume that barely anyone uses that.
So we should be able to remove this library from our distribution artifacts, reducing dependencies and size.

With this change, libevent is still supported, but it's an optional dependency and you have to install it explicitly if you want to use it.

We may want to use libevent in stdlib specs, so I'm adding it to the -build images.

Copy link
Contributor

@ysbaddaden ysbaddaden left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's get this merged dropped!

@straight-shoota straight-shoota merged commit bdafdd7 into master Nov 6, 2025
@straight-shoota straight-shoota deleted the feat/drop-libevent branch November 6, 2025 12:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants