bartblast

bartblast

Creator of Hologram

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.

Showing Posts 1 to 6

bartblast

bartblast OP

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 OP

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 OP

Creator of Hologram

Hologram v0.9.1

A quick patch for a compile-time performance problem recently reported by a user: with deeply nested templates, the Biome formatter could make compilation disproportionately slow and peg CPU. Removing it from the compiler keeps builds fast.

Performance

  • Remove the Biome formatter from the compiler to fix exponentially slow compilation with deeply nested templates (#809)
bartblast

bartblast OP

Creator of Hologram

Hologram v0.9.2

Bug Fixes

  • Fix SSE response not being halted, raising Plug.Conn.AlreadySentError when Hologram.Router is mounted ahead of another router (#811)
  • Fix Hologram.Router raising a “no persistent term” error when Hologram is disabled, breaking mix test (#813)
bartblast

bartblast OP

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)
bartblast

bartblast OP

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)
— All posts loaded —

Where Next? Top

Trending in News & Updates Top

sorenone
Today we’re releasing Oban for Python. Not an Oban client in Python. Not a pythonx wrapper embedded in Elixir. Nope, it’s a fully operati...
New
kip
I’m a bit excited to announce that Localize and friends are now at release 1.0. Even though it’s a 1.0 release, it stands on 8 years of w...
New
bartblast
Hologram v0.11 is out! Two headline features this release. First, Elixir regexes now run in the browser. They were server-only until now,...
New
nseaSeb
Just published search_ash 0.5.0 (with search_core 0.4.0) on Hex. What’s new: synonyms You can now declare a synonym dictionary per lang...
New
mudasobwa
MdexMultilineCells is an MDEx plugin enabling multi-line cells in Markdown tables with full inline/block Markdown rendering and automati...
New
sullyMusty
ActiveMemory 0.8.0 — in-memory tables that speak Ecto ActiveMemory 0.8.0 is now on Hex. ActiveMemory is an in-memory store built on ETS ...
New
jvoegele
Bond brings Design by Contract to Elixir: preconditions, postconditions and invariants as executable specifications, checked at runtime a...
New

Other Trending Topics Top

garrison
Hobbes is a low-level distributed database for the Elixir programming language. Hobbes provides a simple, safe, and scalable storage lay...
New
mcass19
ExRatatui lets you cook up rich terminal UIs in Elixir, powered by Rust’s ratatui via Rustler NIFs. Build interactive terminal applicatio...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge &amp; Solve. They are GUI (Emerge) and State management (S...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
wintermeyer
There are three potential reasons for members of this forum to have a look at https://vutuv.de You are tired or annoyed of LinkedIn. Yo...
New
aseigo
ICal is a library for interacting with iCalendar data. It parses iCalendars into typed Elixir structs via ICal.from_ics, and can prepare ...
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews