Releases: CommonBerry/Invoice
v1.0.4
v1.0.3
🚀 Release v1.0.3 (First Stable Version)
This release marks the debut of the stable version of Invoice, prioritizing architectural robustness, standardized error handling and an improved user experience.
🛠️ Major Improvements
-
Failsafe Database Initialization: We implemented a centralized prepareDB function that recursively ensures the existence of the database directory and elegantly handles connection errors before the process starts.
-
"Fail Fast" Error Handling: We standardized process.exit(1) across all critical tools (Exporters, Filters, Finder, and Creator) to prevent the CLI from running in an inconsistent state after a failure.
-
Go-Style Configuration Logic: We refactored the configuration command to return a result/error tuple [boolean, Error | null], allowing accurate feedback when a user interrupts configuration or when a system error occurs.
-
Improved UX and Feedback:
-
We optimize error messages by removing redundant prefixes and displaying raw system errors.
-
We've added a fallback for "Operation Canceled" messages to prevent null values from being displayed in the terminal.
-
-
Data Integrity: We fixed potential null pointer flaws in filters, ensuring that project arrays are validated before checking their length.
📦 Technical Changes
-
Centralized Data Access: The readRaw tool now shares the same prepareDB logic as the main database module to ensure environment consistency.
-
Better Type Safety: We removed unsafe(!) non-null assertions in favor of proper existence checks.
-
Version Update: Officially updated to 1.0.3.
🧪 Stability Verified
-
Unit Tests: 100% approval rate for filter, finder and reader tools.
-
Environment Tests: Checked elegant outputs on read-only file systems and missing directory structures.
v1.0.2 - RC 2
v1.0.2-rc2 Add tests
v1.0.2 - RC 1
v1.0.2
1.0.1 Beta 2
1.0.1-2 Fix no flags errors
1.0.0 Beta 2
1.0.0-2 Remove PDFs
1.0.0 Beta 1
Bugfix on JSON Output