From 7ee0ee704c852b716b21c3560736fdd0cbcb214b Mon Sep 17 00:00:00 2001 From: JetSquirrel Date: Wed, 4 Nov 2026 00:46:03 +0900 Subject: [PATCH] Release 0.9.0: month-end evidence, security checks and Simplified Chinese Month-end snapshots, invoice reconciliation and a monthly cost review export close the month with evidence. Insights flags AWS security groups open to the internet, the app is translated into Simplified Chinese, and the arch bridge replaces the old app and tray icons. The changelog's Unreleased section becomes 0.9.0, the roadmap records the release, and the scanner's install dialog gives its real size. Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 26 ++++++++++++++++---------- Cargo.lock | 2 +- Cargo.toml | 2 +- docs/roadmap.md | 7 +++++++ locales/ui.yml | 4 ++-- 5 files changed, 27 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 139b847..d5abf5c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,14 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] -### Changed -- **A new app icon.** An off-white arch bridge on black, with three - turquoise dots above it. It replaces the bar chart over an arc. - `assets/icon.svg` is the source, and `scripts/generate-icon.py` writes the - PNG, ICNS and ICO from it. -- **The menu bar and notification-area icon matches.** It is now a solid arch - bridge with three dots instead of a cloud, redrawn to stay legible at this - size. While an alert is open, an exclamation mark replaces the dots. +## [0.9.0] - 2026-11-04 + +Close the month with evidence: freeze a bill, check it against the provider's +invoice and export a review to share. Insights also flags security groups open +to the internet, and the app is translated into 简体中文 with a new icon. + ### Added - **Reconciliation.** A new page holds each invoice's final total against the ledger's authoritative billed cost, or a frozen snapshot, in the invoice's own @@ -48,6 +46,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 picks up a new language at the next launch. ### Changed +- **A new app icon.** An off-white arch bridge on black, with three + turquoise dots above it. It replaces the bar chart over an arc. + `assets/icon.svg` is the source, and `scripts/generate-icon.py` writes the + PNG, ICNS and ICO from it. +- **The menu bar and notification-area icon matches.** It is now a solid arch + bridge with three dots instead of a cloud, redrawn to stay legible at this + size. While an alert is open, an exclamation mark replaces the dots. - **Buttons are one size.** Buttons with a border or fill are now one height across every page, and refreshing, adding an account and alert actions no longer use the black emphasis. @@ -104,9 +109,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 edge, the Overview card links sit under their captions, and the actions on the Accounts table hold their columns from row to row. - **Installing the scanner failed on a dropped connection.** The Insights - scanner is a 46 MB download, and a connection cut partway through + scanner is a download of about 45 MB, and a connection cut partway through stopped the install with "io: unexpected end of file". A dropped or - timed-out download, or a server error, is now tried up to three times. + timed-out download, or a server error, is now tried up to three times. The + install dialog also gave its size as about 30 MB, and now says about 45 MB. ## [0.8.0] - 2026-10-31 diff --git a/Cargo.lock b/Cargo.lock index cd942b4..13112d7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1210,7 +1210,7 @@ dependencies = [ [[package]] name = "cloudbridge" -version = "0.8.0" +version = "0.9.0" dependencies = [ "aes-gcm", "anyhow", diff --git a/Cargo.toml b/Cargo.toml index c0362d2..76b8afe 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cloudbridge" -version = "0.8.0" +version = "0.9.0" edition = "2021" description = "A cross-platform desktop application for multi-cloud cost management" authors = ["JetSquirrel"] diff --git a/docs/roadmap.md b/docs/roadmap.md index 6028509..5956403 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -91,6 +91,13 @@ Gateways join the built-in findings, read from the bill alone. Scans move to corkscrew `cloudbridge-r4`, whose partial scans are imported and whose gaps are listed after the scan. +0.9.0 closes the month with evidence. A month-end snapshot freezes an account's +bill, Reconciliation holds a provider's invoice against the ledger or a snapshot +in the invoice's own currency, and Overview exports a month as one HTML review. +Insights gains a read-only check for AWS security groups open to the internet, +which says what it could not evaluate. Every page is translated into 简体中文, +and the arch bridge replaces the old app and tray icons. + A source is a `SourceDescriptor` registry entry rather than an enum variant. API-backed sources implement `BillingSource`; file-only sources provide a bill parser without an API client. The ingest pipeline persists diff --git a/locales/ui.yml b/locales/ui.yml index f7527ab..1391d35 100644 --- a/locales/ui.yml +++ b/locales/ui.yml @@ -2181,8 +2181,8 @@ insights: en: "Scan settings" zh-CN: "扫描设置" install_point_1: - en: "CloudBridge downloads corkscrew, a free open-source scanner (MIT licence, about 30 MB), and keeps it in its own data folder." - zh-CN: "CloudBridge 会下载免费开源扫描器 corkscrew(MIT 许可,约 30 MB),并保存在自己的数据文件夹中。" + en: "CloudBridge downloads corkscrew, a free open-source scanner (MIT licence, about 45 MB), and keeps it in its own data folder." + zh-CN: "CloudBridge 会下载免费开源扫描器 corkscrew(MIT 许可,约 45 MB),并保存在自己的数据文件夹中。" install_point_2: en: "Each AWS or Cloudflare account is scanned with the credential saved for it. The scan only reads: it lists resources and changes nothing." zh-CN: "每个 AWS 或 Cloudflare 账户都使用为其保存的凭据进行扫描。扫描只读:仅列出资源,不做任何更改。"