Release 1.2.0: Reset all data #3

Merged
xavierk merged 7 commits from release/1.2.0 into main 2026-10-06 07:14:35 +00:00
8 changed files with 18 additions and 13 deletions
Showing only changes of commit 0faf3d63ee - Show all commits
+6 -6
View File
@@ -8,7 +8,7 @@ connection. The only optional network feature is the ERPNext push, which you con
Targets: Void Linux (xbps, WebKitGTK 2.50 or newer) and Windows 10/11 (NSIS installer, WebView2). Targets: Void Linux (xbps, WebKitGTK 2.50 or newer) and Windows 10/11 (NSIS installer, WebView2).
Current release: **1.0.2**. Installers and the Void package are attached to the release on the project's Gitea Current release: **1.1.0**. Installers and the Void package are attached to the release on the project's Gitea
page (see "Installing"). page (see "Installing").
## Features ## Features
@@ -19,8 +19,8 @@ page (see "Installing").
series prefix or digits. series prefix or digits.
- **Invoices.** Automatic numbering in a persistent series (for example `INV/2026-001`) with a one-click new series, - **Invoices.** Automatic numbering in a persistent series (for example `INV/2026-001`) with a one-click new series,
drafts, issue and cancel. An issued invoice is immutable: it stores a snapshot of the vendor, client, GST figures drafts, issue and cancel. An issued invoice is immutable: it stores a snapshot of the vendor, client, GST figures
and layout. Line items are a fixed amount or rate x quantity (per second, minute, hour, session or unit), with and layout. Line items are a fixed amount or rate x quantity in a unit of measure (time, distance, area, weight,
item presets. volume, a count, or a custom unit; a time typed as `4:30` counts as 4.5 hours), with item presets.
- **GST.** All money and tax maths is done in integer paise. CGST+SGST, IGST or UTGST follow from the supplier's - **GST.** All money and tax maths is done in integer paise. CGST+SGST, IGST or UTGST follow from the supplier's
state and the place of supply, and a mismatch is rejected. An unregistered vendor gets a plain "Invoice" with no state and the place of supply, and a mismatch is rejected. An unregistered vendor gets a plain "Invoice" with no
tax. GSTIN, PAN, IFSC, email and phone are validated; amounts are written in Indian words. tax. GSTIN, PAN, IFSC, email and phone are validated; amounts are written in Indian words.
@@ -85,11 +85,11 @@ The release procedure, including the manual first-run checklist, is in `docs/REL
## Installing ## Installing
Download the files for your platform from the release page of the project on `git.bongbetic.com` (Releases, then Download the files for your platform from the release page of the project on `git.bongbetic.com` (Releases, then
`v1.0.2`). `v1.1.0`).
- **Windows 10/11:** run `Voiced_1.0.2_x64-setup.exe`. It is a per-user install and is not code-signed, so Windows - **Windows 10/11:** run `Voiced_1.1.0_x64-setup.exe`. It is a per-user install and is not code-signed, so Windows
SmartScreen may warn: choose "More info", then "Run anyway". SmartScreen may warn: choose "More info", then "Run anyway".
- **Void Linux:** install `voiced-1.0.2_1.x86_64.xbps` from a local repository (see "Installing on Void Linux"). - **Void Linux:** install `voiced-1.1.0_1.x86_64.xbps` from a local repository (see "Installing on Void Linux").
On first launch the setup wizard asks for your business details, logo, bank account and invoice numbering. Nothing is On first launch the setup wizard asks for your business details, logo, bank account and invoice numbering. Nothing is
pre-filled. Uninstalling does not delete your data (see "Where data lives"); to start from scratch use pre-filled. Uninstalling does not delete your data (see "Where data lives"); to start from scratch use
+5
View File
@@ -71,6 +71,11 @@ Linux and Windows. Windows has never been run on real hardware, so treat it as u
- **Template picker.** Open all 14 templates; switch A4 and Letter and the margin presets; check the logo slots. - **Template picker.** Open all 14 templates; switch A4 and Letter and the margin presets; check the logo slots.
- **Export.** Issue an invoice; export searchable and flattened; change settings and re-export; "Original as issued" - **Export.** Issue an invoice; export searchable and flattened; change settings and re-export; "Original as issued"
must be byte-identical to the archived PDF. On Windows, check file names with `/`, `:` and reserved names. must be byte-identical to the archived PDF. On Windows, check file names with `/`, `:` and reserved names.
- **Export, then New invoice.** Issue and export in both formats through the real save dialog, press "New invoice",
issue and export a second one. The window must stay usable after every export (1.1.0 fixed a blank window caused
by buttons inside a Carbon notification; the dialog itself can only be checked by hand).
- **Units.** Add a rate line in hours typed as `4:30` (amount counts 4.5), one in km and one with a custom unit;
check the quantity and rate columns on a few templates and A4/Letter.
- **Fonts.** Settings, Fonts: import a TTF for Now, Gotham or Open Sauce One (if a licensed file is at hand), confirm - **Fonts.** Settings, Fonts: import a TTF for Now, Gotham or Open Sauce One (if a licensed file is at hand), confirm
a template that uses it changes, remove it again. a template that uses it changes, remove it again.
- **Clients.** Create a client with structured address and GST category; use it on an invoice. - **Clients.** Create a client with structured address and GST category; use it on an invoice.
+2 -2
View File
@@ -1,12 +1,12 @@
{ {
"name": "voiced", "name": "voiced",
"version": "1.0.2", "version": "1.1.0",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "voiced", "name": "voiced",
"version": "1.0.2", "version": "1.1.0",
"dependencies": { "dependencies": {
"@carbon/icons-react": "^11.89.0", "@carbon/icons-react": "^11.89.0",
"@carbon/react": "^1.117.0", "@carbon/react": "^1.117.0",
+1 -1
View File
@@ -1,7 +1,7 @@
{ {
"name": "voiced", "name": "voiced",
"private": true, "private": true,
"version": "1.0.2", "version": "1.1.0",
"license": "Apache-2.0", "license": "Apache-2.0",
"description": "Voiced — offline invoicing desktop app by Bongbetic", "description": "Voiced — offline invoicing desktop app by Bongbetic",
"type": "module", "type": "module",
+1 -1
View File
@@ -28,7 +28,7 @@
# pure Rust and need no extra system libraries. # pure Rust and need no extra system libraries.
# #
pkgname=voiced pkgname=voiced
version=1.0.2 version=1.1.0
revision=1 revision=1
archs="x86_64*" archs="x86_64*"
hostmakedepends="rust nodejs pkg-config" hostmakedepends="rust nodejs pkg-config"
+1 -1
View File
@@ -4647,7 +4647,7 @@ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
[[package]] [[package]]
name = "voiced" name = "voiced"
version = "1.0.2" version = "1.1.0"
dependencies = [ dependencies = [
"base64 0.22.1", "base64 0.22.1",
"chrono", "chrono",
+1 -1
View File
@@ -1,6 +1,6 @@
[package] [package]
name = "voiced" name = "voiced"
version = "1.0.2" version = "1.1.0"
license = "Apache-2.0" license = "Apache-2.0"
description = "Voiced — offline invoicing desktop app by Bongbetic" description = "Voiced — offline invoicing desktop app by Bongbetic"
authors = ["Bongbetic"] authors = ["Bongbetic"]
+1 -1
View File
@@ -1,7 +1,7 @@
{ {
"$schema": "https://schema.tauri.app/config/2", "$schema": "https://schema.tauri.app/config/2",
"productName": "Voiced", "productName": "Voiced",
"version": "1.0.2", "version": "1.1.0",
"identifier": "com.bongbetic.voiced", "identifier": "com.bongbetic.voiced",
"build": { "build": {
"beforeDevCommand": "npm run dev", "beforeDevCommand": "npm run dev",