diff --git a/README.md b/README.md index 3b3771a..81f4c22 100644 --- a/README.md +++ b/README.md @@ -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). -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"). ## Features @@ -19,8 +19,8 @@ page (see "Installing"). series prefix or digits. - **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 - and layout. Line items are a fixed amount or rate x quantity (per second, minute, hour, session or unit), with - item presets. + and layout. Line items are a fixed amount or rate x quantity in a unit of measure (time, distance, area, weight, + 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 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. @@ -85,11 +85,11 @@ The release procedure, including the manual first-run checklist, is in `docs/REL ## Installing 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". -- **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 pre-filled. Uninstalling does not delete your data (see "Where data lives"); to start from scratch use diff --git a/docs/RELEASE.md b/docs/RELEASE.md index c1bc3c9..67aaa8e 100644 --- a/docs/RELEASE.md +++ b/docs/RELEASE.md @@ -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. - **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. +- **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 a template that uses it changes, remove it again. - **Clients.** Create a client with structured address and GST category; use it on an invoice. diff --git a/package-lock.json b/package-lock.json index fcc978c..b22ac39 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "voiced", - "version": "1.0.2", + "version": "1.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "voiced", - "version": "1.0.2", + "version": "1.1.0", "dependencies": { "@carbon/icons-react": "^11.89.0", "@carbon/react": "^1.117.0", diff --git a/package.json b/package.json index 9063877..1ef0e54 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "voiced", "private": true, - "version": "1.0.2", + "version": "1.1.0", "license": "Apache-2.0", "description": "Voiced — offline invoicing desktop app by Bongbetic", "type": "module", diff --git a/packaging/void/template b/packaging/void/template index fb222f0..0195fa5 100644 --- a/packaging/void/template +++ b/packaging/void/template @@ -28,7 +28,7 @@ # pure Rust and need no extra system libraries. # pkgname=voiced -version=1.0.2 +version=1.1.0 revision=1 archs="x86_64*" hostmakedepends="rust nodejs pkg-config" diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index aa6f428..2f34aec 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -4647,7 +4647,7 @@ checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "voiced" -version = "1.0.2" +version = "1.1.0" dependencies = [ "base64 0.22.1", "chrono", diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 846aebd..c697a94 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "voiced" -version = "1.0.2" +version = "1.1.0" license = "Apache-2.0" description = "Voiced — offline invoicing desktop app by Bongbetic" authors = ["Bongbetic"] diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json index 9a7266e..68660e1 100644 --- a/src-tauri/tauri.conf.json +++ b/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "Voiced", - "version": "1.0.2", + "version": "1.1.0", "identifier": "com.bongbetic.voiced", "build": { "beforeDevCommand": "npm run dev",