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.
Trending in News & Updates
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
I’ll be using this thread to share Hologram patch release announcements. Minor releases will continue to get dedicated threads with blog ...
New
This release unifies configuration for queues, repos, and services, swaps opaque timing integers for readable durations, and backports pe...
New
:heart::heart::heart::heart::heart::heart::heart::heart::heart::heart::heart::heart::heart::heart::heart::heart::heart::heart::heart::hea...
New
NatureWhistle v0.4.1 is out! :tada:
This release is a pretty significant step forward for the project.
When I first built NatureWhistle,...
New
Aludel 0.7.0 is released :tada:
Since 0.5.0, Aludel has grown into a much more complete LLM evaluation toolkit for Elixir and Phoenix app...
New
Other Trending Topics
I am happy to introduce the very α version of the new programming language compiled to BEAM.
Welcome Cure.
It has literally three kille...
New
Hi there! We created Gust: A task orchestrator inspired by Airflow.
For those who have never heard about Aiflow, it’s a Python-based wor...
New
Hi everyone!
The first release candidate for the Expert language server project is now available!
We’ve published a press release detai...
New
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixirconf-us
- #ai
- #blog-post
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #hex
- #security
- #metaprogramming











Showing Posts 1 to 7- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
bartblast
Hologram v0.8.2
Bug Fixes
Fix
Calendar.ISO.valid_date?/3undefined when invokingDate.new!/3in an action (#740)Fix client-side Date struct rendering in templates crashing with
:lists.flatten/1error (#742)Fix
:erlang.list_to_binary/1handling of nested improper-list iodata (#751)Fix
:erlang.iolist_to_binary/1semantics 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/1reachability through module verticesFix 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.execommand line length limitEnhancements
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, andApplication.get_env/3to JavaScript to reduce client-side bundle sizeAdd debugging mix tasks:
holo.compiler.runtime_mfa_cascades,holo.compiler.page_mfa_cascadesInclude diagnostic details in Biome formatter error messages
bartblast
Hologram v0.8.3
Backward Incompatible Changes
mix holo.compiler.page_mfa_cascadesandmix holo.compiler.runtime_mfa_cascadestasksEnhancements
withexpression support (#735)Date,Time,NaiveDateTime, andDateTimemodulesBug Fixes
bartblast
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
bartblast
Hologram v0.9.2
Bug Fixes
Plug.Conn.AlreadySentErrorwhenHologram.Routeris mounted ahead of another router (#811)Hologram.Routerraising a “no persistent term” error when Hologram is disabled, breakingmix test(#813)bartblast
Hologram v0.9.3
Enhancements
:string.to_graphemes/1to JavaScript (#844):string.jaro_similarity/2to JavaScript (#842):lists.suffix/2to JavaScript (#851)Bug Fixes
CaseClauseErrorwhen an Erlang dependency uses Elixir-style module names, e.g.luerl(#776)<Link>for a route that declares aparam(#833):erlang.div/2raisingArgumentErrorinstead ofArithmeticErrorfor invalid arguments (#848)cp/1/gc/1chardata iteration dropping multi-element improper-list tails, affecting:elixir_utils.jaro_similarity/2(#845)bartblast
Hologram v0.10.1
Bug Fixes
crypto.randomUUID()is unavailable (#933)Security
plug,cowlib, andphoenixpast flagged releases for security advisories (#915, #934)bartblast
Hologram v0.11.1
Enhancements
Reconcile the DOM by keys rather than comment markers, so served HTML and the live DOM hold only the nodes your templates describe (#1021)
Tie every action to the page it belongs to, so a dispatch can no longer resolve against a page the user has already left (#1047)
Performance
Paint a navigated page in a single round trip, so client-side navigation is no longer slower than a full document load (#1026)
Escape binaries in a single pass, removing quadratic string escaping from the term encoder (#1067)
Send a navigated page’s render as data rather than markup, shrinking the navigation payload (#1068)
Send a page’s hydration state beside its render instead of nested inside it, dropping a redundant encoding round trip (#1069)
Bug Fixes
Fix initial page load rebuilding the entire DOM instead of hydrating server-rendered markup (#926)
Fix the flash of unstyled content caused by the first render rebuilding the document head (#932)
Fix a serialized
</script>in page state truncating the inline mount data script (#959)Fix
put_subscriptionin a command being silently dropped on a tab’s first connect (#975)Fix
:binary.replace/4letting replacement fun errors escape instead of raisingbadarg(#980)Fix a map comparing equal to any map that contains it (#986)
Fix subscriptions silently not working with more than one server instance (#992)
Fix
js_importnot resolving in a component referenced in broadcast code (#998)Fix an action that runs during a render corrupting the DOM (#1001)
Fix a struct pattern in a clause head being evaluated instead of matched (#1004)
Fix client-side
:maps.find/2returning the bare value instead of{:ok, value}(#1005)Fix actions scheduled before a navigation still running on the new page (#1006)
Fix reordering a list whose body holds a block corrupting the DOM (#1019)
Fix elements whose tag name carries case losing DOM identity on initial page load (#1024)
Fix a realtime stream that dies right after connecting being retried without backoff (#1028)
Fix realtime connections crashing for several seconds after every server start (#1029)
Fix two compilations being able to hold the compiler lock at the same time (#1032)
Fix debounced and throttled dispatches landing on the wrong side of a navigation (#1045)
Fix an inline script’s action landing on the previous page when the page is reached by a link (#1046)
Fix asset paths reaching the manifest script unescaped (#1074)
Fix interpolation inside a
<script>element being made safe by altering the value (#1075)Fix a binary that is not valid UTF-8 changing on its way to the client (#1076)
Fix CSS in an inline
<style>element reaching the browser entity-encoded (#1100)Fix an SVG element built on the client losing its tag name’s case (#1106)
Fix a prop written as literal text arriving entity-encoded on the server (#1130)
Fix an integer and a float no longer comparing equal inside a list, tuple or map (#1140)
Fix a middleware redirect reached by navigating keeping the clicked link’s URL (#1148)
Documentation
Document that state takes precedence over a same-named prop, and the copy-a-prop-into-state trap that follows from it (#796)
Add a security policy and a page describing how to report a vulnerability privately (#1112)
Bring the shipped LLM documentation back in line with the website (#1146)