🛠 Fix: fixed a missing
statickeyword in the Ruby<=>C storage bridge which caused performance degradation and introduced namespace conflict risks.
🛠 Fix: fixed the
on_worker_forkcallback timing, to be performed before forking the process (Puma compatibility).
🛠 Fix: fixes to minor issues are included in the facil.io edge update.
⚡️ Optimize: minor optimization to memory use, included in facil.io edge updates.
🛠 Fix: (facil.io) updating facil.io fixes a channel name memory leak that was fixed in facil.io's edge version.
⚡️ Updated: Improved logging for server data, allowing for total log silencing - this doesn't effect HTTP logging, only iodine's core logging system.
⚡️ Updated: updated the logging for HTTP services startup, to minimize log clutter.
🔋 Feature: (mustache) added features to
Iodine::Mustache, to expose more of the functionality offered by facil.io.
🛠 Fix: (facil.io) updated from the facil.io edge (master) branch. This should fix some exposed symbols (that should have been private), minimize name-collision risks, and fix an unknown issue with the mime-type registry cleanup and other possible issues.
🛠 Fix: Fixed compilation issues with older
This version bump is performed because the internal engine changed significantly and might be considered less mature. The public API remains unbroken.
🛠 Fix: Fixed a documentation error. Credit to @Fonsan (Erik Fonselius) for PR #41.
🔋 Feature: (mustache) Added a bridge to facil.io's mustache template rendering engine. This isn't really a server concern, but facil.io's C code includes this functionality anyway and it offers increased XSS protection by utilizing aggressive HTML escaping (and it's also faster than the Ruby canonical version).
⚡️ Update: (facil.io) Updated to facil.io version 0.7.0 (edge). This could effect memory consumption behavior but otherwise shouldn't effect iodine all that much.
🛠 Fix: (facil.io - logging) Fix typo in log output. Credit to @bjeanes (Bo Jeanes) for PR #39.
🛠 Fix: (HTTP/WebSockets) fixed an issue where negative status return values (such as ActionCable's
-1status code) could cause iodine to assume an abnormal error and shut down the connection. Credit to @mdesantis (Maurizio De Santis) for opening issue #38.
🛠 Fix: (WebSockets) fixed an issue where WebSocket message events would attempt to create a String object outside the GVL.
🛠 Fix: (
Iodine::Connection) minor updated to the documentation and memory validation system.
🛠 Fix: (
Iodine::PubSub) fixed an issue where lazy initialization would cause the shutdown process to crash if no Pub/Sub engines were ever registered (fixes an attempt to seek within an uninitialized data structure). Credit to @sj26 (Samuel Cochran) for reporting the issue.
🛠 Fix: (
Iodine::PubSub) fixed typo,
Iodine::PubSub.detachis now correctly spelled.
🛠 Fix: (
Iodine::PubSub) fix issue #37 where iodine would crash after the server's shutdown process due to Ruby Pub/Sub engines still being attached (or set as default) even after the Ruby interpreter freed all the Ruby objects. Credit to @sj26 (Samuel Cochran) for reporting the issue.