Rails 8.1.0 (October 22, 2025)

  • De-couple @rails/actiontext/attachment_upload.js from Trix.Attachment

    Implement @rails/actiontext/index.js with a direct-upload:progress event listeners and Promise resolution.

    Sean Doyle

  • Capture block content for form helper methods

    <%= rich_textarea_tag :content, nil do %>
      <h1>hello world</h1>
    <% end %>
    <!-- <input type="hidden" name="content" id="trix_input_1" value="&lt;h1&gt;hello world&lt;/h1&gt;"/><trix-editor … -->
    
    <%= rich_textarea :message, :content, input: "trix_input_1" do %>
      <h1>hello world</h1>
    <% end %>
    <!-- <input type="hidden" name="message[content]" id="trix_input_1" value="&lt;h1&gt;hello world&lt;/h1&gt;"/><trix-editor … -->
    
    <%= form_with model: Message.new do |form| %>
      <%= form.rich_textarea :content do %>
        <h1>hello world</h1>
      <% end %>
    <% end %>
    <!-- <form action="/messages" accept-charset="UTF-8" method="post"><input type="hidden" name="message[content]" id="message_content_trix_input_message" value="&lt;h1&gt;hello world&lt;/h1&gt;"/><trix-editor … -->

    Sean Doyle

  • Generalize :rich_text_area Capybara selector

    Prepare for more Action Text-capable WYSIWYG editors by making :rich_text_area rely on the presence of [role="textbox"] and [contenteditable] HTML attributes rather than a <trix-editor> element.

    Sean Doyle

  • Forward fill_in_rich_text_area options to Capybara

    fill_in_rich_textarea "Rich text editor", id: "trix_editor_1", with: "Hello world!"
    

    Sean Doyle

  • Attachment upload progress accounts for server processing time.

    Jeremy Daer

  • The Trix dependency is now satisfied by a gem, action_text-trix, rather than vendored files. This allows applications to bump Trix versions independently of Rails releases. Effectively this also upgrades Trix to >= 2.1.15.

    Mike Dalessio

  • Change ActionText::RichText#embeds assignment from before_save to before_validation

    Sean Doyle

Please check 8-0-stable for previous changes.