bartblast

bartblast

Creator of Hologram

Hologram patch releases

I’ll be using this thread to share Hologram patch release announcements. Minor releases will continue to get dedicated threads with blog announcement posts.

All releases are also available on the GitHub Releases page.

Most Liked

bartblast

bartblast

Creator of Hologram

Hologram v0.8.2

Bug Fixes

  • Fix Calendar.ISO.valid_date?/3 undefined when invoking Date.new!/3 in an action (#740)

  • Fix client-side Date struct rendering in templates crashing with :lists.flatten/1 error (#742)

  • Fix :erlang.list_to_binary/1 handling of nested improper-list iodata (#751)

  • Fix :erlang.iolist_to_binary/1 semantics and error handling (#752)

  • Fix call graph module edge handling for accurate dynamic call detection (#755)

  • Fix protocol dispatch edges not added for new implementations during live reload (incremental call graph patching)

  • Fix async MFA detection propagating Task.await/1 reachability through module vertices

  • Fix compiler normalizer to strip import residue aliases from block AST

  • Fix Erlang JS function extraction regex to handle comment lines between Start/End markers (#756)

  • Fix Biome formatter failing on Windows when file paths exceed cmd.exe command line length limit

Enhancements

  • Overhaul call graph traversal for protocols and structs - resulting in more accurate client-side bundles

  • Manually port IO.warn/1, IO.warn/2, IO.warn_once/3, and Application.get_env/3 to JavaScript to reduce client-side bundle size

  • Add debugging mix tasks: holo.compiler.runtime_mfa_cascades, holo.compiler.page_mfa_cascades

  • Include diagnostic details in Biome formatter error messages

bartblast

bartblast

Creator of Hologram

Hologram v0.8.3

Backward Incompatible Changes

  • Remove mix holo.compiler.page_mfa_cascades and mix holo.compiler.runtime_mfa_cascades tasks

Enhancements

  • Compiler groundwork for with expression support (#735)
  • Improve compiler call graph accuracy for Date, Time, NaiveDateTime, and DateTime modules

Bug Fixes

  • Fix bundle size explosion predominantly affecting Ash apps (#775)
bartblast

bartblast

Creator of Hologram

Hologram v0.9.3

Enhancements

  • Support Elixir 1.19 and Erlang/OTP 28 (#835)
  • Support Elixir 1.20 and Erlang/OTP 29 (#837)
  • Port :string.to_graphemes/1 to JavaScript (#844)
  • Port :string.jaro_similarity/2 to JavaScript (#842)
  • Port :lists.suffix/2 to JavaScript (#851)

Bug Fixes

  • Fix compilation crashing with CaseClauseError when an Erlang dependency uses Elixir-style module names, e.g. luerl (#776)
  • Fix client runtime crashing when navigating to or rendering a <Link> for a route that declares a param (#833)
  • Fix :erlang.div/2 raising ArgumentError instead of ArithmeticError for invalid arguments (#848)
  • Fix cp/1/gc/1 chardata iteration dropping multi-element improper-list tails, affecting :elixir_utils.jaro_similarity/2 (#845)

Last Post!

bartblast

bartblast

Creator of Hologram

Hologram v0.10.1

Bug Fixes

  • Fix client runtime crashing at startup after unrelated server-side dependency upgrades (#912)
  • Fix protocol implementations being bundled based on loaded modules rather than reachable types (#917)
  • Fix client runtime crashing in non-secure contexts where crypto.randomUUID() is unavailable (#933)

Security

  • Bump plug, cowlib, and phoenix past flagged releases for security advisories (#915, #934)

Where Next?

Popular in News & Updates Top

fhunleth
We recently released Nerves 1.5.0 and corresponding updates to the Nerves new project generator, nerves_bootstrap and our official system...
New
DominikWolek
Hey everyone! The Membrane Framework has a new website! It contains tutorials, blog posts, and other resources you’ll find handy while u...
New
hugobarauna
Discover Livebook 0.9’s new security features, including Hubs for centralized secret management, notebook stamping, and a sneak peek into...
New
fhunleth
It looks like it’s finally safe to announce that Nerves supports Erlang/OTP 26 and Elixir 1.15! We’ve updated dozens of Nerves and close...
New
lawik
It is my pleasure to announce the official release of the new generation of NervesHub with the v2.0.0 release. Containers are tagged. :p...
New
bartblast
Hey Elixir community! :waving_hand: First, I owe you all an apology. There’s a running joke among my friends that Hologram is like nucle...
New
zachdaniel
Hey folks! AshEvents Release We’ve just released the first version of AshEvents, an Event Sourcing tool for Ash Framework apps. Check o...
New

Other popular topics Top

nobody
Hi! In PHP: $_SERVER[‘SERVER_ADDR’] - in Elixir? Searched the docs for ip address and the web, no good results. Thanks!
New
Qqwy
Original source of discussion: This topic on the Pragmatic Programmers’ Functional Web Development with Elixir, OTP, and Phoenix forum. ...
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
Darmani72
If I have a post route which an argument: post /my_post_route/:my_param1, MyController.my_post_handler How would get the post params ...
New
bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New
albydarned
Hello all! I am typing this post from my new MacBook Pro with the M1 chip. I’m loving it so far, and will probably use it as my daily dr...
New

We're in Beta

About us Mission Statement