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.

3 Likes

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

4 Likes

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)
2 Likes