更改日志

v1.30 (2024-12-29)

增加了对 Beancount 3 版本的支持。Beancount 2 仍然受支持。Beancount 查询功能现在由 beanquery 包提供,其语法、提供的列和函数与 Beancount 2 中的 bean-query 功能存在一些细微差异。对于直接使用 Fava 的 query_shell 的扩展,由于方法和返回类型的变化,可能会导致兼容性问题。

对于导入器,v2 版本继续使用 beancount.ingest,v3 版本则使用 beangulp。由于与重复检测相关的更改,Fava 不再自动执行重复检测,但用户仍可手动指定钩子来实现此功能。

底层方面,此版本还将前端使用的 Svelte 框架升级至版本 5。

v1.29 (2024-10-09)

本次发布将查询结果移至前端渲染。HTML 渲染模板仍可使用,但建议扩展作者进行迁移,可参考统计报告了解如何实现。本版本新增了深色模式的 CSS 样式。Fava 过滤器现在支持对数量、价格或成本进行数值比较。由于基于 watchfiles 的监视器在某些网络文件系统环境中可能无法正常工作,您也可以切换至(较慢的)轮询式监视器。如果设置了 default-file 选项,则在插入条目时将优先使用该文件,而非“主”文件。

v1.28 (2024-07-07)

本次发布包含若干小修复和改进。底层文件变更检测现在由 watchfiles 替代轮询机制驱动,性能更优。

v1.27 (2024-01-06)

现在支持转换为一系列货币。条目表单中已支持 posting 元数据。编辑器性能有所提升,因为之前的解析结果将被更好地复用。为兼容使用旧版账户树的扩展,已重新添加了“旧版”账户树的 JavaScript 和 CSS 代码。

v1.26 (2023-09-04)

本次发布对图表进行了多项改进,例如允许通过点击图例中的货币名称来切换显示。Fava 中的账户余额树现在由前端渲染,修复了若干小问题并简化了维护工作。Fava 扩展现在也可提供自己的端点。

v1.25 (2023-07-17)

本次发布允许扩展向前端注入 JavaScript 代码。Fava 编辑器现在使用 tree-sitter 语法解析器生成完整的语法树,使编辑器功能更易维护,并提升了自动补全效果。Flask WSGI 应用现在采用应用工厂模式创建——直接使用 Fava WSGI 应用的用户应将 fava.application.app 替换为 fava.application 中的 create_app 函数。本版本不再支持 Python 3.7,并包含若干小修复和调整,特别是多种样式修复。

v1.24 (2023-02-21)

本次发布将部分报告(如文档报告)的渲染完全移至前端,以提升性能并便于维护。本版本还包含若干小修复和调整。

v1.23 (2022-10-15)

此版本包含若干小修复和更改。

v1.22 (2022-07-03)

此版本新增了堆叠条形图,这是一种绝佳的方式,可用于可视化按账户和月份细分的收入情况。货币的推断显示精度现在也已在前端使用,并可通过商品元数据进行覆盖。

已移除 journal-showjournal-show-documentjournal-show-transaction 这些 Fava 选项。现在,期刊中显示的条目类型会自动存储在用户的浏览器(localStorage)中。

与往常一样,此版本还包含若干错误修复和小幅改进。为避免某些竞争条件并提升性能,每个文件的 Ledger 类不再就地过滤,而是按请求生成过滤后的数据——某些扩展可能需要相应调整,对部分属性改用 g.filtered 而非 ledger

v1.21 (2022-02-06)

此版本的 Fava 停止支持 Python 3.6,主要包含若干小幅改进和修复。

v1.20.1 (2021-09-22)

修复浏览器渲染前端部分翻译加载问题的错误修复版本。

v1.20 (2021-09-19)

在此版本中,文档页面现在在账户树中显示计数,并允许折叠账户树中的账户。未来图表的部分内容现已降低饱和度。此版本同样包含若干错误修复。

v1.19 (2021-05-18)

已移除 conversioninterval 选项,其功能可通过新的 default-page 选项实现。编辑器组件已完全重构,支持在更多位置使用自动补全,并基于 CodeMirror 第 6 版构建。新增了 invert-income-liabilities-equity 选项,用于在损益表和资产负债表中反转这些账户的数值。此版本还新增了保加利亚语翻译,并包含若干其他小幅改进和修复。

v1.18 (2021-01-16)

此版本包含若干小幅改进和多种错误修复。

v1.17 (2020-11-15)

此版本在导入页面中添加了文档预览功能,并支持 Python 3.9,同时修复了若干错误。

v1.16 (2020-10-18)

此版本新增了区域图作为 Fava 中各种折线图的替代选项,并提供了加泰罗尼亚语翻译。现在还支持设置插入的 Beancount 条目的缩进。与往常一样,此版本也包含若干小幅修复和改进。

v1.15 (2020-05-30)

此版本汇集了若干小幅修复和改进,例如在期刊报告中从交易对手和元数据设置筛选器。

v1.14 (2020-02-16)

此版本主要为修复与主要依赖项(werkzeug)的兼容性问题。同时新增了 default-conversion 选项,用于设置默认转换方式。

v1.13 (2020-02-01)

Fava 现在可以为 BQL 查询显示图表——如果查询结果恰好有两列,第一列为日期或字符串,第二列为库存,则查询页面将显示折线图或树状图。

v1.12 (2019-12-03)

除大量错误修复外,此版本主要改进了添加交易的表单:现在可以拖动分录,并且应支持 Beancount 的完整成本语法。

v1.11 (2019-08-20)

Fava 的导入页面已重新设计——现在支持将文件移动到文档文件夹,导入过程也更具交互性。此版本还包含若干修复和一个新的 collapse-pattern 选项,可根据正则表达式折叠账户树中的账户(取代了原先使用的 fava-collapse-account 元数据条目)。

其他更改:

  • 命令行标志可通过设置环境变量来指定。

  • 已添加台湾中文翻译。

v1.10 (2019-01-31)

此版本主要包含一些较小的更改和修复。特别是,净资产图表现在将遵循所选的转换方式。

v1.9 (2018-10-08)

此版本更新了点击行为,以支持按交易对手过滤。交易输入表单现在允许输入价格和成本。一如既往,修复了若干错误。

v1.8 (2018-07-25)

日记账界面已更新,结构更加清晰。从本版本起,Fava 将不再发布任何 GUI 版本。GUI 频繁崩溃,维护成本过高,已不值得继续维护。

其他更改:

  • 下载文档时,将使用原始文件名。

  • 在过滤语法中新增了 any()all() 函数,以便根据分录的属性过滤交易条目。

  • 一如既往,修复了若干错误。

v1.7 (2018-03-09)

本版本重新设计了交易过滤器,现在支持更灵活的条目过滤。请参阅帮助页面了解新语法的使用方法。此外,在交易表单中填写交易对手时,系统将自动填充该对手最近一笔交易的分录。

其他更改:

  • 隐藏图表的 fava-option 已被移除。现在该设置通过页面 URL 进行跟踪。

  • 一如既往,修复了若干错误。

v1.6 (2017-10-06)

此版本包含若干小改动,主要提升了资产负债表和净资产计算的速度。此外,若选择“按价值”显示,资产负债表中将用括号显示当前未实现收益。

其他更改:

  • 现在可以从日记账页面导出当前过滤后的交易条目。

  • 命令行现在支持 --version 标志。

v1.5 (2017-07-23)

Fava 现在提供编辑单条交易的界面。在日记账中点击交易日期,将弹出一个覆盖层,显示该交易的上下文并允许仅编辑该条目的行内容。

其他更改:

  • 源代码编辑器现在包含一个菜单,可访问“全部折叠”等编辑器命令。

  • 现在可以使用 -#tag 排除具有匹配标签或链接的条目。

  • 键盘快捷键现在直接显示在相应位置。

  • 已移除 incognito 选项,替换为 --incognito 命令行开关。

  • 和以往一样,修复了若干错误。

v1.4 (2017-05-14)

Fava 现在提供了 Beancount 导入系统的接口,允许您从银行等来源导入交易记录。

如果您的文件包含必要的价格信息,Fava 现在可以按市价显示您的余额,或将其转换为单一货币。

我们现在还为 Linux 和 macOS 提供了 Fava 的编译版图形界面。此版本可能仍存在一些问题,欢迎提供任何反馈或帮助。

其他更改:

  • 可以使用 insert-entry 选项控制交易的插入位置。

  • 交易表单现在支持在说明字段中添加标签和链接。

  • 预算现在会在适当情况下对所有子项进行累计。

  • 和以往一样,修复了若干错误。

感谢 @TZdyrski@Akuukis 的贡献。

v1.3 (2017-03-15)

Fava 的翻译现已迁至 POEditor.com,这帮助我们新增了五种语言的翻译:简体中文、荷兰语、法语、葡萄牙语和西班牙语。衷心感谢新加入的翻译者!

交易表单已改进,现在支持添加元数据,建议项将根据其出现频率和最近使用情况(使用指数衰减算法)进行排序。

查询页面支持 bean-query 命令行的所有命令,并共享最近使用查询的历史记录。

Fava 现在具备了基本的扩展机制。扩展允许您在多个节点运行钩子,例如在添加交易后。它们通过 extensions 选项指定,示例请参见 fava.ext.auto_commit 扩展。

其他更改:

  • 日记账的默认排序顺序已反转,最新条目现在排在最前面。

  • 新的 incognito 选项可用于隐藏所有数字。

  • 和以往一样,修复了若干错误。

感谢 @johannesharms@xentac 的贡献。

v1.2 (2016-12-25)

您现在可以直接在 Fava 中添加交易。表单支持大多数字段的自动补全功能。

Fava 现在会在侧边栏显示一个气泡,提示下周事件的数量。此功能可通过 upcoming-events 选项进行配置。

其他更改:

  • 收款人过滤器现在支持正则表达式过滤。

  • 标签过滤器现在也可以按链接进行过滤。

  • 异步页面加载时会显示一个漂亮的旋转指示器。

  • 日记账会显示元数据的小图标。

  • 和以往一样,修复了若干错误。

感谢 @fokusov 的贡献。

v1.1 (2016-11-19)

现在你可以通过将文档拖放到交易上来上传文件,系统会自动将文件路径作为 statement 元数据添加到交易中。Fava 还附带了一个插件,可将这些交易与生成的文档关联。详情请参阅帮助页面。

这是首次提供预编译二进制文件(适用于 macOS 和 Linux)的版本。这些文件无需任何依赖,可直接在终端中执行。

其他更改:

  • 账户页面上的条形图现在也显示预算信息。

  • 日记账现在可以根据日期、标记和摘要进行排序。

  • Fava 现在支持俄语翻译,感谢 @fokusov

  • 和以往一样,修复了若干错误。

感谢 @adamgibbins@xentac 的贡献。

v1.0 (2016-10-19)

这是一个重大更新版本,包含大量改进和变更,无法一一列举。部分亮点如下:

  • 界面布局已优化,并采用了更美观的字体。

  • Fava 在小屏幕设备上的显示和操作体验大幅提升。

  • Fava 现在异步加载大多数页面,因此导航更加迅速和流畅。

Fava 的配置不再从配置文件读取,而是可以通过 Beancount 文件中的自定义条目指定。部分选项已被移除或重命名,请在从 v0.3.0 升级时查阅 Fava 帮助页面以了解可用选项。

我们对 Fava 的底层代码进行了大量重构,修复了众多漏洞。

感谢 @adamgibbins@davidastephens@xentac@yegle 的贡献。

v0.3.0 (2016-03-24)

新增功能

  • 支持在多个 Beancount 文件之间切换。#213

  • 新增太阳图。#198

  • 当启用筛选器时,增加“清除筛选”按钮。#290

  • 账户视图中增加了简单的预算功能。有关预算的使用方法,请参阅帮助页面。#294

  • 新增德语翻译。#284

  • 在源代码编辑器中保存 Beancount 文件后,系统将自动重新加载。

  • 新增日记账筛选控制功能。感谢 @yagebu

  • 树形表格现在以层级方式显示。感谢 @yagebu

变更

  • 所有图表现在均使用 d3.js 渲染。感谢 @yagebu

  • 页面标题现在显示在页眉中,以节省屏幕空间。

  • 由于日记账名称已从“总账”更改为“日记账”,快捷键已从 g g 更改为 g j

新增配置选项

  • language:使用的语言。有效语言为 "en""de"(默认值:"en")。#284

  • 已移除 treemaps-show-negative-numbers 选项。

修复内容

  • 当启用时间筛选器时,商品价格现在会被过滤。#273

  • 对帮助页面进行了一些改进。

  • 修复了多个小错误。感谢@yagebu

v0.2.6 (2016-03-20)

新增功能

  • 图表和账户余额报告现在提供了更多时间间隔选项。时间间隔可通过图表旁的下拉菜单选择。#175

  • 在日记账中显示记账条目的元数据。感谢@corani#185

  • 编辑器现在支持 org-mode 风格的折叠功能。感谢@corani#209

  • 在日记账报告中为一笔交易的所有记账条目显示彩色圆点,以便快速识别被标记的记账条目。#195

  • 为保存到源编辑器添加了快捷键。#199

变更

  • 使用 Beancount 的 DisplayContext 来确定数字渲染的正确精度。#188

  • 改进了查询结果序列化为 XLS 等格式的方式。感谢@corani#168

  • 在商品报告中显示运营货币对的反向汇率。#139

  • 使用 Click 实现命令行接口,并在启动时检查 Beancount 文件是否存在。#216

  • 在树形表格中隐藏已关闭的账户。另请参见下方的新配置选项。

新增配置选项

  • editor-strip-trailing-whitespace 用于启用源编辑器中尾随空格的自动删除(默认值:"false")。感谢@corani#163

  • show-closed-accounts 用于在树形表格(例如资产负债表)中显示已关闭的账户(默认值:"false")。#91

  • show-accounts-with-zero-balance 用于在树形表格中显示余额为零的账户(默认值:"true")。#91

  • show-accounts-with-zero-transactions 用于在树形表格中显示无交易记录的账户(默认值:"true")。#91

修复内容

  • 修复了区间报告中月份偏移一个月的错误。#182

  • 修复了多币种净资产报告的问题。#207

  • 对帮助页面进行了一些改进。

  • 修复了多个小错误。

v0.2.5 (2016-02-28)

发布新版本以移除未使用的草稿代码。

v0.2.4 (2016-02-18)

新增功能

  • 补充了与 bean-web 相比缺失的持仓视图。感谢@yagebu#140

  • 自定义查询现在显示在侧边栏中。感谢@corani#135

  • 用户设置文件现在可在源编辑器中编辑。#136

  • 新增第二种主题。感谢 Rubén Gómez 提供的样式表。#59

  • 新增帮助页面。

  • 查询结果现在可以下载为 CSV、XLS、XLSX 和 ODS 格式。#143

  • 现在可以通过将文件拖放到账户页面和所有树形表格中的账户名称上来上传文档。#157

  • 日记账现在可以根据交易类型进行筛选。感谢 @yagebu

变更

  • 默认情况下,更新状态指示器现在会显示在所有位置,但仅对设置了元数据 fava-uptodate-indication: "True" 的账户启用,该元数据需在 open 指令中定义。#35

  • 日记账渲染速度更快。感谢 @yagebu#164

  • 日记账中仅显示文档的基名。感谢 @corani

  • 略微调整了侧边栏菜单的顺序。

  • 轻微的用户界面优化。

新增配置选项

  • sidebar-show-queries:在侧边栏中显示的自定义查询最大数量(默认值:5)。

  • theme:使用的主题。有效主题为 "default""alternative"(默认值:"default")。

  • editor-print-margin-column:在源代码编辑器中设置打印边距的列位置(默认值:60)。#161

  • uptodate-indicator-show-everywhere(默认值:“true”)。请参阅上述更改。

移除的配置选项

  • uptodate-indicator-exclude-accounts,详见上述更改。

修复内容

  • 修复了净资产计算。感谢 @yagebu

  • 修复了多个小错误。

v0.2.3 (2016-02-15)

升级版本以表明现在可通过 pip install 安装,所有依赖项均已包含。感谢 @blais@yagebu

早期版本

此前无法仅使用 pip 安装任何早期版本,如需查看更早的变更,请查阅 git 日志。Git 仓库中的首次提交时间为 2015 年 12 月 4 日。