一个简单的共享预算管理网页应用。
项目描述
I hate money
我讨厌金钱 是一个旨在简化共享预算管理的网页应用程序。它可以追踪谁买了什么,何时买,为谁买;并帮助结算账单。
代码根据BSD 啤酒 衍生许可证分发:如果你亲自遇见这些人并且想请他们喝一杯手工啤酒,我们强烈鼓励你这么做。
需求
- Python:版本 3.7 到 3.11。
- 后端:SQLite、PostgreSQL、MariaDB(版本 10.3.2 或更高版本)、内存。
贡献
你想为 IHateMoney 做贡献吗?太棒了!官方 贡献 页面有很多非常有用的帮助。
加入其他贡献者。
翻译状态
变更日志
本文档描述了每个过去版本之间的更改。
6.1.5 (2024-03-19)
- 修复 README 和变更日志在 PyPI 上未显示的问题
- 修复在项目存在现有货币时无法更改项目设置的问题(#1292)
- 更新荷兰语和德语的翻译
6.1.4 (2023-12-14)
- 修复 manifest 中缺少 markdown 包含的问题(#1274)
- 更新中文、土耳其语、捷克语、西班牙语(拉丁美洲)、瑞典语的翻译
6.1.3 (2023-11-23)
- 由于回归,撤销对 flask 和 werkzeug 2.3 的更新(参见 #1272)
6.1.2 (2023-11-19)
- 修复密码生成命令行崩溃(#1242)
- 更新到 flask 和 werkzeug 2.3(#1244)
6.1.1 (2023-10-04)
货币转换 API 工作绕
我们正在使用外部 API 进行货币转换。这个 API 最近开始要求 API 密钥,这导致 I Hate Money 在许多方面都无法使用。
此版本添加了一套针对此问题的解决方案。这应该会恢复添加账单等基本功能。然而,为了防止崩溃,我们不得不禁用一些操作。
- 在现有项目中设置或更改默认货币不再可能。但是,可以将项目设置为“无货币”。
- 添加或编辑与项目默认货币不同的货币的账单不再可能
正在讨论长期解决方案。如果您在项目中使用货币,欢迎您提供意见。
新增
- 仅使用键盘简化添加账单(#1221)
- 在历史记录中添加账单详情(#1223)
- 添加新账单时记住最后的“为谁?”字段(#1222)
- 加快单元测试速度(#1214)
- 更新西班牙语、俄语、卡纳达语、瑞典语、波兰语、德语和意大利语的翻译
修复
- 修复在切换项目时记住最后选择的付款人(#1224)
6.1.0 (2023-07-29)
新增
- 为每个项目添加 RSS 源(#1158)
- 安全:编辑项目设置时需要私有代码(#1204)
修复
- 修复 404 页面崩溃(#1201)
6.0.1 (2023-07-22)
新增
- 支持 Docker 容器中的
APPLICATION_ROOT
(#1189) - 改进 docker-compose 示例:数据库的管理员密码和卷(#1169)
修复
- 修复 docker-compose 示例引号问题(#1164)
- 修复使用现有会话时的崩溃(将它们迁移到字典)(#1194)
- 将新创建的项目添加到项目列表(#1193)
6.0.0 (2023-07-13)
重大变更
- 删除 Python 3.6 支持
- 添加 Python 3.11 支持
现在最低支持版本是 Python 3.7,项目经过 Python 3.11 的测试
新增
- 启用新语言:加泰罗尼亚语、捷克语、西班牙语、波斯语、希伯来语、匈牙利语、卡纳达语、塞尔维亚语、泰卢固语、泰语
- 构建 ARM64 和 ARMv7 Docker 镜像(#1141)
- 允许金额为零的账单(#1133)
- 添加删除费用的确认功能 (#1096)
- 在邀请人员时显示二维码 (#1000)
- 编辑账单时添加取消按钮,以改善用户体验 (#1013)
修复
- 修复仪表板中的项目删除问题 (#1094)
- 修复下拉列表中的重复项目名称 (#1082)
- 修复验证码验证,应在不区分大小写的情况下进行 (#1061)
- 修复登出时的CSRF问题 (#1040)
- 修复通过电子邮件邀请人员时的XSS问题 (#1044)
已更改
- 使用更高质量的favicon (#1102)
- 使用Flask-Limiter实现速率限制 (#1054)
5.2.0 (2022-04-07)
新增
- 使Docker镜像生产就绪:支持PostgreSQL,允许自定义端口、PUID、PGID (#919)
- 在API的api/currencies下列出支持的货币 (#961)
- 允许以CSV格式导入账单,与Cospend兼容 (#951) 注意,此新功能存在已知问题 [链接]
新增设置
- 添加SHOW_ADMIN_EMAIL设置 (#965)
更改设置
- MAIL_DEFAULT_SENDER现在是一个字符串,而不是一个元组。旧语法仍然被接受,但将在下一个主要版本中停止支持 (#1007)
修复
- 修复支持大写字母的项目ID (#925, #934)
- 删除项目时清除项目历史记录 (#989)
- 防止大整数输入以避免崩溃 (#994)
- [性能] 与账单一起获取权重总和 (#949)
- 在使用API时不需要验证码 (#931)
- 修复Docker中的默认“法律链接”值 (#950)
- 修复子目录安装时的展示图片 (#974)
- 检查所选语言是否在支持列表中 (#971)
已更改
- 用户界面修复,特别是针对移动设备 (#901, #904, #905, #929, #943, #944, #945, #991)
- 始终在账单列表中显示顶部按钮:新建账单按钮和分页 (#956)
- 显示项目活跃月份范围内的月度统计信息 (#885)
- 当只有一个收款人时隐藏“每个”金额 (#1008)
- 在密码提示错误消息中显示管理员电子邮件 (#965)
- 当通过API创建项目时发送电子邮件 (#938)
- 添加对Python 3.10的兼容性 (#921)
- 支持WTForms 3 (#916)
5.1.1 (2021-10-26)
- 没有实际更改,这是一个修复发布,因为5.1.0未上传到pypi
5.1.0 (2021-10-26)
新增
- 添加在页面底部显示“法律链接”的选项 (#883)
新增设置
- 添加LEGAL_LINK设置 (#883)
已更改
- 改进余额和统计计算的性能 (#890)
- 将展示图片的分辨率降低50% (#880)
- 改进账单列表中的分页样式 (#873)
5.0.1 (2021-10-20)
- 将图片包含在包存档中 (#872)
5.0.0 (2021-10-19)
重大变更
- 将项目代码包含到项目身份验证令牌中。这使所有旧版本的API令牌和邀请链接失效 (#802 #843)
- 停止支持Python 2 (#483)
- 停止支持Python 3.5 (#571)
- 停止支持MySQL (#743)
- 需要MariaDB版本10.3.2或更高版本 (#632)
- 默认启用会话cookie安全 (#845)
- 将令牌路径认证更改为/{project}/join/{token} (#843)
现在最低支持的版本是Python 3.6,项目已测试到Python 3.9
查看升级说明,以确保升级顺利进行。
安全
- 在破坏性操作上添加CSRF验证 (#796)
- 要求删除项目或项目历史记录的私有代码 (#796)
- 添加标题以减轻点击劫持、跨站脚本(XSS)和其他攻击:[X-Frame-Options]{.title-ref}、[X-XSS-Protection]{.title-ref}、[X-Content-Type-Options]{.title-ref}、[Content-Security-Policy]{.title-ref}、[Referrer-Policy]{.title-ref} (#845)
- 为外部链接添加URL验证以防止XSS (#846)
新增
- 允许导入之前导出的json数据 (#518)
- 在账单表中添加新的可选字段“外部链接” (#429)
- 在项目和账单中添加可选货币 (#541, #864)
- 添加显示月度支出的新统计信息 (#526)
- 在账单列表中添加分页 (#480)
- 在管理员仪表板上添加排序、分页和搜索 (#538)
- 添加记录所有更改的项目历史页面 (#553)
- 为API添加基于令牌的认证 (#504)
- 添加作为展示的插图,目前仅限法语 (#544)
- 添加下载移动应用程序的页面 (#688)
- 添加可选的支持简单的CAPTCHA (#844)
- 添加希腊语、世界语、意大利语、日语、葡萄牙语和瑞典语的翻译
- 发布官方的Docker镜像
新增设置
- 添加ENABLE_CAPTCHA设置 (#844)
- 使用并记录SESSION_COOKIE_SECURE设置 (#845)
- 使用并记录BABEL_DEFAULT_TIMEZONE设置 (#590)
已更改
- 使用外部债务库来解决结算 (#476)
- 在统计视图中移除余额列 (#323)
- 使语言选择持久化 (#547)
- 在当前语言中本地化日期字符串 (#590)
- 区分“快速警报”通知 (#594)
- 持久显示“快速消息”而不是使其消失 (#856)
- 改进菜单栏间距,将历史和设置放在子菜单中 (#739)
- 将Dockerfile更改为在构建时安装python依赖项 (#793)
- 更新项目设置不需要输入或更新项目代码 (#774)
- 增加依赖项:WTForms (#768) jinja2 (#753) itsdangerous (#756) flask (#755 #757 #764)
- 删除要求文件,以支持setup.cfg锁定 (#558)
- 使语言选择持久化 (#547)
- 闪存消息必须手动删除 (#856)
- 增加标志的字体大小 (#828)
修复
- 改善邀请人们加入项目时电子邮件地址的输入 (#133)
- 修复统计页面中参与者的顺序 (#608)
- 阐明项目版本表单:私有代码不是必需的 (#774)
- 修复Python依赖项约束,使其不那么严格
- 改进文档 (#781 #819 #821)
- 修复某些浏览器上显示两次的日期选择器 (#221)
- 成员权重现在四舍五入到两位小数 (#838)
文档
- 重新组织“贡献”文档,使其对新贡献者更容易访问
- 改进有关数据库迁移的文档 (#569)
- 添加关于安全模型的页面 (#858)
4.1.5 (2020-07-26)
此版本修复了一个严重安全问题。
鼓励所有用户升级。
修复
- 修复项目数据的未经授权访问和修改(CVE-2020-15120)(#663)
已更改
- 更改移动图标链接 (#598)
- 改进电子邮件模板的法语翻译 (#593)
新增
- 添加葡萄牙语(巴西)、泰米尔语、印地语的翻译
4.1.4 (2020-06-07)
这是一个仅修复错误的版本。这很可能是最后一个支持Python 2的版本:您应该升级到Python 3!
修复
- 修复由于依赖项未锁定而导致安装失败 (#540, #545, #558)
- 后端:修剪用户名以删除前导或尾随空格。这避免了不同名称在视觉上相同的情况 (#367)
- 后端:修复当[ALLOW_PUBLIC_PROJECT_CREATION]{.title-ref}设置为false时禁止创建项目的API (#496)
- 后端:修复缺少本地化电子邮件模板时的崩溃 (#592)
- 后端:修复语言代码解析 (#589)
- 后端:改进发送电子邮件时的错误处理 (#595)
- 用户界面:修复某些浏览器上显示两次的日期选择器 (#221)
- UI:修复添加账单时“提交并添加新账单”按钮无效的问题(#498)
- UI:取消自动完成时防止取消账单(#506)
- UI:修复小屏幕上主页的响应式宽度问题(#549)
- UI:修复“添加成员”按钮的颜色(#499)
- UI:修复缺失的HTML标签(#583)
- UI:修复法语项目提醒电子邮件中的小错误(#486)
- UI:修复添加成员时显示的消息中的错误(#575)
- UI:修复关于私有代码的错误工具提示信息(#623)
- UI:修复工具提示信息的错误(#635)
新增
- 添加德语、西班牙语(拉丁美洲)、挪威语(博克马尔)、印尼语、波兰语、俄语、中文、土耳其语、乌克兰语的翻译
- 更新所有语言的翻译
4.1.3 (2019-09-18)
修复
- 修复打包问题。之前的(4.1)版本在所有系统上都无法使用pip安装。
- 修复readme和requirements.txt文件以便上传到PyPI。
已更改
- 在新页面上显示密码提醒信息,而不是在闪存消息中显示(#455,#469)
4.1 (2019-09-08)
新增
- 在makefile中添加
compress_assets
目标以压缩PNG(#459) - 记录如何使用systemd(#435)
- 添加对Python 3.7的支持
- 在页脚中添加指向文档、移动应用和git仓库的链接(#445)
- 使用weblate处理翻译
- 添加荷兰语翻译
- 如果已经登录,在登录页面上添加项目切换器(#445)
已更改
- 文档已清理和重新组织。
- 当账单列表中没有条目时,显示占位符。(#457)
- 在成员存在之前禁用“添加账单”操作(#457)
- 改进邀请用户体验(#451)
- 在账单列表中,将“添加时间”列显示为工具提示(#443)
- 更新到最新稳定的bootstrap(#440)
- 改进“项目已存在”信息(#442)
- 特别改进小屏幕的可用性(#441)
- 用链接替换导出表单(#450)
- 重新设计主页设计(#445)
- Docker现在从PyPI或参考git仓库下载IHM(#446)
- 根据功能排列导航栏项目(#445)
4.0 (2019-01-24)
新增
- 在API中添加CORS头(#407)
- 记录数据库迁移(#390)
- 允许在金额字段中执行基本数学运算(#413)
- 添加bill.creation_date字段(#327)
- 记录PostgreSQL配置(#415)
修复
- 不允许用户有负权重(#366)
- 修复Docker镜像(#398)
- 轻微的文档更改
已更改
- 更新API项目列表(#405)
3.0 (2018-11-25)
修复
- 修复pip ≥ 10时安装损坏的问题(#340)
- 修复生成supervisord模板的错误(#309)
- 修复Apache conf模板的错误(#359)
- 重新生成翻译并改进法语翻译(#338)
- 修复哈希密码验证的错误(#310)
- 修复访问/时发生的无限循环(#358)
- 修复发送邀请时的电子邮件验证错误
- 修复删除账单时的双击问题(#349)
- 修复错误转义问题(#388)
- 修复已存在的参与者的表单错误(#370)
- 修复通过API创建账单的文档(#391)
- 修复Docker中的ADMIN_PASSWORD配置(#384)
- 修复Docker中配置在每个运行时重复的bug(#392)
- 修复Dockerfile中的cffi安装问题(#364)
新增
- 记录MySQL设置(#357)
- 添加favicon.ico(#381)
- 记录外部邮件服务器配置(#278)
- 改进设置文档的样式(#251)
- 添加ihatemoney delete-project命令以删除项目(#375)
- 添加漂亮的404错误页面(#379)
已更改
- 增强翻译工具(#360)
- 改进Makefile(#387)
- 在新账单表单中按字母顺序排列成员。 (#374)
- 在鼠标悬停时下划线操作链接(#377)
已移除
- 移除Sentry,因为它在prod上不再使用。(#380)
2.1 (2018-02-16)
已更改
- 使用flask-restful代替已弃用的flask-rest进行REST API(#315)
- 使侧边栏可滚动。对于大型组很有用(#316)
修复
- 修复运行[ihate
- 使左侧边栏可滚动(#318)
- 修复并增强Docker支持(#320,#321)
新增
- 统计API(#343)
- 允许通过API禁用/启用成员(#301)
- 为API启用基本的Apache身份验证代理(#303)
2.0 (2017-12-27)
重大变更
ADMIN_PASSWORD
现在以哈希形式存储。现在可以使用ihatemoney generate_password_hash
命令来生成正确的密码哈希 (#236)- 将 WSGI 文件转换为 Python 模块,将 budget/ihatemoney.wsgi 重命名为 ihatemoney/wsgi.py。请更新您的 Apache/Gunicorn 配置! (#218)
- 现在需要管理员权限才能访问仪表板 (#262)
- 已从项目 API GET 视图中删除 [password]{.title-ref} 字段 (#289)
已更改
- 已登录管理员可以查看任何项目 (#262)
- 更简单、更安全的身份验证逻辑 (#270)
- 使用基于令牌的认证来重置密码 (#269)
- 更好的安装文档 (#275)
- 在邀请电子邮件中使用基于令牌的认证 (#280)
- 为项目使用哈希密码 (#286)
新增
ihatemoney generate-config
以提供配置文件的工作示例 (#275)- 统计选项卡 (#257)
- 支持 Python3.6 (#259)
- ALLOW_PUBLIC_PROJECT_CREATION 设置 (#262)
- 可以从仪表板编辑/删除项目 (#262)
- ACTIVATE_ADMIN_DASHBOARD 设置 (#262)
- 在导航栏中链接到仪表板 (#262)
- Dockerfile
- 解释升级过程的文档
修复
- 修复 [PUT api/project/:code/members/:id]{.title-ref} API 端点 (#295)
- 修复 API 中的成员名称唯一性验证 (#299)
已移除
- 在设置脚本中删除未使用的选项
1.0 (2017-06-20)
新增
- Apache WSGI 支持 (#191)
- 改进 Makefile (#207, #201)
- 将设置从源文件夹外部化 (#193)
- Makefile:添加新规则以编译翻译 (#207)
- 可以将项目创建限制为管理员 (#210)
- 更响应式的布局 (#213)
已更改
- 一些 README 优化
- 将测试移动到 budget.tests (#205)
- 可以禁用演示项目 (#209)
修复
- 修复 sphinx 集成 (#208)
0.9 (2017-04-04)
- 项目的第一个版本。
项目详情
关闭
ihamemoney-6.1.5.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 32f5234892af6909a0f4b40da01a0b0af2f16497a335305cdf380f8e3b26eed7 |
|
MD5 | 9e69c3310ba4922756f276db7538895a |
|
BLAKE2b-256 | a85873e9cc517dc7bffdaea9ff89c2e39de47e5fa41b6bf6be52f65dced5f26d |