changelog

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 13, 2026 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Overview

Package changelog holds the "What's New" content shown in the web UI — one Release entry per git tag. Add a new entry to Releases as part of cutting each release, alongside bumping utils.Version and tagging.

Index

Constants

View Source
const (
	CategoryAdded   = "Added"
	CategoryChanged = "Changed"
	CategoryFixed   = "Fixed"
	CategoryRemoved = "Removed"
)

Conventional ChangeSection categories, matching Keep a Changelog.

Variables

View Source
var Releases = []Release{
	{
		Version: "0.1.7",
		Date:    time.Date(2026, 8, 8, 0, 0, 0, 0, time.UTC),
		Sections: []ChangeSection{
			{Category: CategoryAdded, Items: []string{
				"Product categories — tag products with one or more categories (type to add or reuse one), and filter the product list by category",
				"Inventory page filters for product type, category, and stock status alongside the existing search",
			}},
		},
	},
	{
		Version: "0.1.6",
		Date:    time.Date(2026, 8, 4, 0, 0, 0, 0, time.UTC),
		Sections: []ChangeSection{
			{Category: CategoryAdded, Items: []string{
				"Confirmation dialog before deleting a Product, Supplier, Customer, Discount, Branch, Station, or User — explains exactly what related data (recipes, stock history, past orders, sessions, payments) will be affected before you confirm",
			}},
			{Category: CategoryChanged, Items: []string{
				"Record Expense's Account field now only offers Operating Expenses and Supplier Costs — removed COGS, Inventory Write-off, and Sales Discount, which are posted automatically elsewhere and shouldn't be entered by hand",
			}},
			{Category: CategoryFixed, Items: []string{
				"Deleting a product still used as a recipe ingredient, or a user who owns a company, showed a generic error page — now shows a clear message explaining why it's blocked",
			}},
		},
	},
	{
		Version: "0.1.5",
		Date:    time.Date(2026, 8, 3, 0, 0, 0, 0, time.UTC),
		Sections: []ChangeSection{
			{Category: CategoryAdded, Items: []string{
				"Explanatory tooltips on every Reports and Finance summary card — hover the ⓘ icon to see exactly what each number means",
			}},
			{Category: CategoryFixed, Items: []string{
				"Reports and Finance profit & loss figures (Revenue, Expenses, Net Profit) showing zero even after recording sales and expenses — the accounting ledger wasn't being updated from the web app; it now posts correctly as orders are checked out and expenses are recorded",
				"Stock Movements and Stock Count quantities showing confusing trailing zeros (e.g. 12.000) for whole numbers — now displayed cleanly as 12, matching the Inventory page",
				"Stock Movements dates not respecting your locale's date format",
			}},
		},
	},
	{
		Version: "0.1.4",
		Date:    time.Date(2026, 8, 2, 0, 0, 0, 0, time.UTC),
		Sections: []ChangeSection{
			{Category: CategoryAdded, Items: []string{
				"Stock count on the Inventory page — switch into Stock Count mode to enter what you physically counted per product; the system reconciles it against current stock automatically, with no manual math",
				"Record Waste — a dedicated form for removing stock lost to spoilage, breakage, or expiry",
				"Creating a product now always shows a clear success confirmation and returns you to the product list, including for recipe products",
				"Coupon codes on discounts — give any discount a code, and cashiers can redeem it at POS checkout by typing it in instead of picking from the list",
				"Optional validity window (start/end date) on any discount, coded or not — it stops being selectable once outside that window",
				"Optional redemption limit on any discount, so a promo can be capped to a fixed number of uses across all orders",
			}},
		},
	},
	{
		Version: "0.1.2",
		Date:    time.Date(2026, 8, 2, 0, 0, 0, 0, time.UTC),
		Sections: []ChangeSection{
			{Category: CategoryAdded, Items: []string{
				"Assign a customer to a POS order — look up by email or phone, or create one on the spot",
				"Attach a supplier to a procurement entry",
				"Correct a mistaken stock movement (wrong quantity or cost) without editing the ledger — records a linked reversal plus a fresh correct entry, with full audit history",
				"New Stock Movements page under Inventory listing every movement, with a Correct action",
				"POS checkout now calculates and displays change due when the customer pays more than the total",
				"Closing a POS session now asks the cashier to confirm the counted cash in the drawer against the expected amount",
				"Low-stock and out-of-stock badges on POS product tiles, with protection against adding more than what's in stock",
			}},
			{Category: CategoryFixed, Items: []string{
				"Dark mode toggle not applying correctly",
				"A database migration issue that could make certain schema changes extremely slow",
			}},
		},
	},
	{
		Version: "0.1.0",
		Date:    time.Date(2026, 8, 1, 0, 0, 0, 0, time.UTC),
		Sections: []ChangeSection{
			{Category: CategoryAdded, Items: []string{
				"Point of sale: multi-branch, multi-station sessions with cart, discounts, and split payments (cash/card/transfer)",
				"Order history with void and return handling",
				"Product catalog: simple products, ingredients, and recipes with cost tracking",
				"Inventory: procurement recording, stock movements, low/out-of-stock alerts",
				"Customers and suppliers with contact records",
				"Discounts, expense tracking, and financial reports",
				"Multi-company, multi-branch setup with owner/manager/cashier roles",
				"Indonesian and English language support",
			}},
		},
	},
}

Releases lists every release, newest first.

Functions

This section is empty.

Types

type ChangeSection

type ChangeSection struct {
	Category string
	Items    []string
}

ChangeSection groups related changelog items under a conventional category (Added/Changed/Fixed/Removed).

type Release

type Release struct {
	Version  string // matches utils.Version / the git tag, without the "v" prefix
	Date     time.Time
	Sections []ChangeSection
}

Release is one entry in Releases — one per git tag.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL