$ the-wire · showcase
Comment nodes land in the Elixir AST, Ecto normalizes DateTime casts to UTC
By RepoJournal · Filed · About Elixir & Phoenix · Composed from the cited sources · methodology
Two changes with long tails shipped today: Elixir's linker gains a comments-in-AST representation before any public API is committed to, and Ecto closes the last gap in its UTC normalization of DateTime casts.
Add comment nodes to Elixir AST elixir-lang/elixir
The formatter now attaches Elixir comments to AST nodes, an intermediate step toward the public comment API behind issue #14352, with the substantive work in code.ex and the formatter changes mostly cleanup. There is deliberately no public API yet: José Valim describes it as validating and refining the approach before exposing it, so tooling authors should not build against the node shape.
Soft-deprecate IO ANSI escape sequences for compatibility with Erlang elixir-lang/elixir
IO's ANSI escape sequences are now soft-deprecated in favor of Erlang's, so anything formatting terminal output by hand should plan a migration rather than expect the Elixir-local functions to survive. Soft deprecation means the old functions still work; they just carry a warning.
Normalize `DateTime` casts to UTC for `:time` and `:time_usec` elixir-ecto/ecto
A non-UTC %DateTime{} cast to :time or :time_usec fell through cast_time/1, which has no DateTime clause, into the map clauses and rebuilt a Time from the wall-clock fields; the PR normalizes to the UTC instant to match what #4775 already did for :date, :naive_datetime and :naive_datetime_usec. The input's own example shows the size of the skew: 2020-06-01 00:30:07.008+02:00 CEST casts to ~D[20...
Clarify potential resource exhaustion with long polling phoenixframework/phoenix
The long polling documentation now spells out the resource exhaustion risk of the transport, which matters if you run long polling as a fallback behind WebSockets and have sized connection pools around it.
Ensure closestLock check respects view phoenixframework/phoenix_live_view
Also in LiveView, the closestLock check now respects the view, closing the case where a lock lookup matched outside the component that owned it. Teleported elements in a stream no longer drop out on reset, and the bundled JS assets were rebuilt alongside these fixes.