View Source Changelog

v1.0.0-a.2 (29.06.24)

  • Added implicit events: setting an input event attribute (such as onchange) to @method-key will make it fire the method with the specified key. The "pub" method can be triggered like so: @pub-[channel]-[method]-[key (optional)].

  • A component with a Tamnoon variable inside it (<p>@val</p>) will now set the inner text of the element instead of the inner HTML. The inner HTML can be set by prefixing the variable name with "raw-" like so: <p>@raw-val</p>.

  • Added the mix tamnoon.make_dirs task that creates a "lib/components" directory and a "tamnoon_out" directory.

  • Added Tamnoon.Compiler.escape_html/1 and made it available as <%= h.(content) %> inside components.

  • Completely rewrote the guides, the readme, and revamped some of the existing module documentation.

Minor changes:

  • Changed the default port to 8000 from 4000.

  • Fixed "imported function conflicts with local function" when invoking a method handler inside the methods module.

  • Fixed the client-side handling of updates for elements with the "value" attribute not functioning properly.

  • Changed the WebSocket script in the root layout to connect to the WebSocket at the current URL (instead of localhost:8000/ws).

  • Changed Tamnoon.Compiler.build_from_root/1 to no longer accept a WebSocket address.

v1.0.0-a.1 (26.06.24)

  • Added the sync method (Tamnoon.Methods.tmnn_sync/2) that returns the current state to the client. By default, it is invoked when the WebSocket connection is opened.

  • Added the keep_alive method (Tamnoon.Methods.tmnn_keep_alive/2) that is invoked every 55 seconds by the client in order to prevent idle timeouts.

  • Moved the WebSocket connection script to a separate file, and updated the default router (Tamnoon.Router) to serve a default root layout.

Minor changes:

v1.0.0-a.0 (25.06.24)

Added support for HEEx components and changed the default router to display the root page by default.

v0.1.1

Very minor changes.

v0.1.0

First release.