Release Notes
Release Notes
Project: Bilko Version: 0.1 Date: 2026-02-23 Author: Ops Architect Status: Draft (Template — fill in per release) Reviewers: Tech Lead, Alem Bašić
Document History
| Version | Date | Author | Changes |
|---|---|---|---|
| 0.1 | 2026-02-23 | Ops Architect | Initial draft |
INSTRUCTIONS
Create release notes for every production deploy. Audience: internal team and, for major releases, Bilko users.
File: RELEASE-NOTES-vX.X.X.md in docs/releases/
Versioning: Semantic versioning — MAJOR.MINOR.PATCH
- MAJOR: breaking API changes or database schema changes requiring migration downtime
- MINOR: new features, non-breaking
- PATCH: bug fixes, performance improvements, security patches
Release Notes — Bilko v1.0.0 (MVP Launch)
Release Date: TBD (backend MVP complete) Environment: Production Deploy window: TBD
Summary
This is the first production release of Bilko — cloud accounting for Balkan SMBs. It includes the core accounting engine (invoicing, expenses, VAT reporting) with multi-country support for Serbia, Bosnia & Herzegovina, and Croatia.
New Features
Core Accounting Engine
Invoice Management
- Create invoices via 6-step wizard
- Support for RSD, EUR, BAM currencies
- Multi-country VAT: Serbia (20%), BiH (17%), Croatia (25%), zero-rate exports
- NUMERIC(19,4) precision throughout — no float arithmetic
- Invoice statuses: Draft → Sent → Paid → Void
- Auto-generated invoice numbers (INV-XXXX format)
- PDF generation and download
- Email invoice to customer via SendGrid
Expense Tracking
- Create expenses with receipt photo upload (JPG/PNG → Cloudflare R2)
- Expense statuses: Pending → Approved → Paid / Rejected
- RBAC: Admin/Owner approval required for expenses
- Vendor management (contact book)
Financial Reports
- VAT Report (RS/BA/HR compliant) — monthly export
- Profit & Loss statement (by date range)
- Revenue and expense summaries
Chart of Accounts
- Standard Balkan chart of accounts pre-loaded
- Double-entry bookkeeping enforced (debit = credit, always)
- Exchange rate locking at transaction date
Authentication & Multi-Tenancy
- Organization-scoped data (strict multi-tenancy)
- RBAC: owner, admin, accountant, viewer roles
- JWT access tokens (15 min expiry) + refresh tokens (7 days)
- bcrypt password hashing (12 rounds)
- Audit trail: LoggedAction table (append-only, GDPR compliant)
Infrastructure
- Frontend: Next.js 15 on Vercel (bilko.io)
- Backend: Express API on Railway EU West (api.bilko.io, GDPR EU data residency)
- Database: PostgreSQL 15 on Railway (15 models, Prisma ORM)
- Storage: Cloudflare R2 (zero egress fees, GDPR compliant)
- Email: SendGrid (
[email protected])
Bug Fixes
N/A — initial release
Security Updates
N/A — initial release
Breaking Changes
N/A — initial release
Database Migrations
| Migration | Description |
|---|---|
0001_initial_schema |
Create all 15 models: Organization, User, Account, Invoice, Expense, Contact, Transaction, etc. |
0002_indexes |
Performance indexes on organizationId foreign keys |
Migration time: < 10 seconds on empty database
Known Issues
| Issue | Severity | Workaround | Fix in |
|---|---|---|---|
| Bank import not yet available | Medium | Manual transaction entry | v1.1.0 |
| 2FA not yet implemented | Medium | Strong password required | v1.1.0 |
| PDF export not yet available | Low | Print from browser | v1.1.0 |
Configuration Changes
No new environment variables for existing deployments. For new deployments, see docs/templates/INFRASTRUCTURE/environment-configuration.md.
Rollback Instructions
See rollback-plan.md — initial release, no previous version to roll back to.
Dependencies Updated
| Package | From | To | Breaking |
|---|---|---|---|
| Next.js | — | 15.0.0 | N/A |
| React | — | 19.0.0 | N/A |
| Prisma | — | Latest | N/A |
| Vitest | — | Latest | N/A |
| Playwright | — | Latest | N/A |
Release Notes Template — v[MAJOR.MINOR.PATCH]
Release Date: YYYY-MM-DD Environment: Production
Summary
[2-3 sentences: what this release contains, why it matters]
New Features
[Feature Area]
- [Feature name]: [Description. How it helps Bilko users.]
Bug Fixes
| # | Description | Severity | Reported by |
|---|---|---|---|
| [GitHub #XXX] | [Bug description — user-facing language] | P0/P1/P2 | [User/Internal] |
Security Updates
| CVE / Issue | Severity | Component | Description |
|---|---|---|---|
| [CVE-XXXX-XXXX] | Critical / High / Medium | [Component] | [Description] |
Breaking Changes
| Change | Migration Required | How to Migrate |
|---|---|---|
| [Breaking change description] | Yes / No | [Migration steps] |
Database Migrations
| Migration file | Description | Time (staging) |
|---|---|---|
XXXXXXXX_name |
[What it does] | X seconds |
Configuration Changes
| Variable | Change | Required | Notes |
|---|---|---|---|
NEW_ENV_VAR |
Added | Yes | [Description] |
OLD_ENV_VAR |
Removed | N/A | Replaced by NEW_ENV_VAR |
Rollback Instructions
[Specific rollback steps for this release, if different from standard procedure]
Approval
| Role | Name | Date | Signature |
|---|---|---|---|
| Author | |||
| Reviewer | Alem Bašić |