[241212] EasyOS Scarthgap 6.5 发布 | Phoenix LiveView 1.0.0 版本更新日志

195 阅读5分钟

EasyOS Scarthgap 6.5 发布!轻量级 Linux 发行版带来全新体验

EasyOS Scarthgap 6.5 正式发布!这是一个实验性的 Linux 发行版,继承了 Puppy Linux 的一些理念,并引入了独特的容器技术和安全锁定机制。其标志性的特点是小巧、快速且高度可定制。

与主流发行版的区别:

EasyOS Scarthgap 6.5 不同于其他主流 Linux 发行版,它更注重轻量级和灵活性,并采用了一些实验性技术。壁纸选择了一个偏远乡村的小火车站,象征着 EasyOS 的独特魅力,与主流发行版熙熙攘攘的城市景象形成对比。

主要特性:

  • 基于 OpenEmbedded 构建:
    Scarthgap 系列使用 OpenEmbedded 编译的二进制包,并针对 EasyOS 进行了优化。虽然软件仓库只有大约 1800 个软件包,但可以通过 AppImage 和 Flatpak 扩展软件选择。
  • 容器技术:
    Easy Scarthgap 可以运行 Easy Daedalus 容器,这意味着用户无需单独运行 Easy Daedalus 发行版。容器技术提供了额外的安全性和灵活性,但也存在一些限制。用户可以在容器内外快速切换,并通过共享文件夹和剪贴板进行数据交换。
  • WoofQ 构建系统:
    EasyOS 使用 WoofQ 构建系统创建,WoofQ 是 Puppy Linux 构建系统 Woof 的一个分支。WoofQ 可以构建 Puppy Linux 及其衍生发行版,并使用其他 Linux 发行版的二进制包或自行编译 的包。

Easy Daedalus 容器:

在 Easy Scarthgap 中运行 Easy Daedalus 容器的主要优势是可以访问 Daedalus 更大的软件仓库。但是,在容器中运行会受到一些安全限制,某些应用程序可能无法正常工作。

下载和安装:

EasyOS 以驱动器映像文件的形式发布,而不是 ISO 镜像。用户可以将映像写入 U 盘启动,或直接安装到硬盘。EasyOS 官网提供了详细的安装教程。值得注意的是,驱动器映像文件写入 U 盘后即完成安装,无需考虑持久性问题,会话会自动保存到 U 盘。

更多信息:

完整的发布说明:
distro.ibiblio.org/easyos/amd6…

来源:
bkhome.org/news/202412…

Phoenix LiveView 1.0.0 版本更新日志

Phoenix LiveView 1.0.0 发布了!这是一个重要的里程碑版本,带来了大量的改进、错误修复和一些向后不兼容的更改。本文将重点介绍这些关键更新。

向后不兼容的更改:

  • 移除 phx-feedback-for 1.0 版本移除了用于显示和隐藏输入反馈(例如验证错误)的基于客户端的 phx-feedback-for 注解。它已被 Phoenix.Component.used_input?/2 取代,后者使用标准服务器渲染处理反馈的显示和隐藏。提供了一个向后兼容的 shim,以便在现有应用程序中继续使用 phx-feedback-for。文章详细介绍了 shim 的使用方法以及如何迁移到新的 used_input? 方法,包括核心组件的 调整和 phx.gen.auth 生成的代码的修改。
  • 移除 phx-page-loading 属性: 现在推荐使用 page_loading: true 选项传递给 Phoenix.LiveView.JS.push/2 来实现页面加载指示。
  • 最低 Elixir 版本要求 v1.14+

主要功能和改进:

  • HEEx 模板增强: 扩展了 HEEx 模板的功能,支持在标签体中插入变量 {@foo},并新增 phx-no-curly-interpolation 属性来禁用特定标签体中的 HEEx 花括号插值。
  • Live Navigation 修复: 修复了在特定路由条件下,LiveView 会在后退导航时尝试使用 patch 而不是 navigate 的问题。
  • Live Upload 修复: 修复了大 chunk_size 可能导致慢速连接上出现块超时的问题,现在客户端会正确使用配置的 chunk_timeout
  • 输入焦点修复: 修复了在某些更新场景中,聚焦的输入会丢失焦点状态的问题。
  • 其他错误修复: 修复了其他一些错误,包括:
    • 浏览器后退/前进按钮使用 patch 而不是 navigate 的问题。
    • inputs_for 不使用传入的 id 生成输入的问题。
    • 在 JS.dispatch 之外调度自定义输入事件时抛出异常的问题。
    • 使用 JS.push 时未发送提交者的问题。
    • 传递现有表单时,to_form 未继承表单操作的问题。
    • 在不同路由下修补到同一个 LiveView 时,未强制执行 live_session 的问题。
  • Phoenix.Component.used_input?/1 增强: 支持嵌套输入。
  • Phoenix.LiveView.redirect/2 增强: 支持自定义重定向状态码。
  • JS 命令增强:
    • 暴露了可编程的 JS 命令接口给 hooks,以便从 hook 显示、隐藏、添加类等,并与服务器 DOM patching 集成。
    • 支持在 JS 命令中使用 to: {:inner, "a"}to: {:closest, "tr"} 等定位内部和最近的查询选择器。
  • HEEx 调试注解: 通过设置 config :phoenix_live_view, debug_heex_annotations: true,可以启用 HEEx 调试注解,它会在渲染的组件周围添加特殊的 HTML 注释,帮助识别 HTML 文档中的标记在函数组件树中的渲染位置。
  • 异步操作支持: 新增 assign_asyncstart_async<async_result>AsyncResult,用于在 LiveView 或 LiveComponent 中声明式地处理异步操作。
  • 客户端与服务器版本不匹配警告: 当客户端和服务器版本不匹配时会发出警告。
  • 其他增强功能:
    • 支持 <.live_title> 组件的 default 属性。
    • Phoenix.LiveViewTest 添加了 refute_push_event
    • 格式化注释时保留有意换行。
    • 支持 hook pushEvent 返回 promise。
    • push_navigate 回退到完整页面重新加载时记录警告。

弃用:

  • live_flash 已被弃用,推荐使用 Phoenix.Flash.get
  • push_redirect 已被弃用,推荐使用 push_navigate
  • phx-capture-click 已被移除(在 0.17.0 中已弃用)。
  • ~L sigil 已被弃用,推荐使用 ~H
  • preload/1 (LiveComponent) 已被弃用,推荐使用 update_many/1
  • live_component/2-3 已被弃用,推荐使用 <.live_component />
  • live_patch 已被弃用,推荐使用 <.link patch={...} />
  • live_redirect 已被弃用,推荐使用 <.link navigate={...} />
  • live_title_tag 已被弃用,推荐使用 <.live_title />

Phoenix LiveView 1.0.0 是一个重要的版本,带来了许多改进和新功能,同时也进行了一些必要的清理和优化。升级到 1.0.0 需要关注向后不兼容的更改,并根据指南进行迁移。建议开发者仔细阅读完整的更新 日志,并根据自身项目的需求进行升级。

来源:
hexdocs.pm/phoenix_liv…




更多内容请查阅 : blog-241212


关注微信官方公众号 : oh my x

获取开源软件和 x-cmd 最新用法