Changelog
Source of truth untuk halaman ini adalah file root CHANGELOG.md di root repository.
Changelog
All notable changes to this project will be documented in this file.
[v1.0.5] - 2026-03-17
Added
- Spreadsheet Import (Admin): Added admin-only spreadsheet import system for
packages,customers, andvoucherswith Google Service Account integration and default template IDs embedded in code. - File Import XLSX: Added
.xlsxupload import flow in Import Data modal (packages/customers/vouchers). - Template Download XLSX: Added XLSX template download action directly from Import Data modal.
- Data Export XLSX: Added XLSX export endpoint/data flow for migration use-case with template-compatible columns.
- Spreadsheet Autofill CLI (Internal): Added internal CLI flag
--autofill-sheetsto autofill default Google Sheets templates (hidden from--help). - Import Docs: Added dedicated VitePress user guide for spreadsheet import workflow.
Changed
- Import Format Policy: Enforced XLSX-only file/template/export flows for import feature (CSV removed from user flow).
- Customer Template Structure: Updated customer template to one-row-per-customer with dedicated PPPoE/Hotspot columns, coordinates, and notes.
- Voucher Template Structure: Voucher template now uses package dependency + auto status logic from
expires_at; example rows updated. - Import Modal UX: Separated Spreadsheet import and XLSX import actions into distinct sections, added clearer warning/info text, and adjusted button placement for template/export usability.
- Modal Close Behavior: Import modal now supports manual-close-only behavior (no close on outside click / ESC when enabled).
- Service Catalog UI: Package list now displays
package_codebeside package name for easier mapping.
Fixed
- Manager Voucher Page: Added explicit browser
<title>on voucher manager page. - Voucher Template Column: Removed
statuscolumn from voucher template output while keeping status auto-resolution during import.
[v1.0.4] - 2026-03-02
Added
- Update Engine: Added background auto-update worker for binary deployment mode on Linux. The worker periodically checks update metadata, evaluates stable version upgrades, and performs safe in-place binary replacement.
- CLI Version Flag: Added
-versionruntime flag to print the current app version and exit, used by update validation flow.
Changed
- Frontend Theme: Bootstrapped theme mode and primary color from browser-local cache before Svelte hydration so pages no longer flash the default theme while waiting for the settings API.
- Update Metadata Source: Switched static update manifest URL to the GitHub Pages
version.jsonendpoint. - Update Manifest Parsing: Expanded update manifest handling to support
prerelease,auto_update, and per-platformbinary_urls.
Fixed
- Auto Update Safety: Hardened update flow to skip prerelease/beta channels for automatic updates and prevent non-semver targets from being applied automatically.
- Binary Validation: Enforced staged download and executable validation before replacement by verifying downloaded binaries via
-versionoutput match.
[v1.0.3] - 2026-03-01
Fixed
- Database: Renamed default system area from "Unknown Area" to "Home" to correctly reflect default area assignment.
- Backend API: Restored missing backend API endpoints for
/api/pppoe-packagesunder the billing route group. Created the requiredPPPoEPackageRepository,PPPoEPackageService, andPPPoEPackageHandlerdependencies. This fixes the HTTP 404 Not Found error previously encountered when loading the Customer Details page and attempting to add or modify a PPPoE subscription. - Customer Manager: Resolved infinite "memuat pelanggan" (loading) state on
/manager/customersby adding proper null/undefined safeguards (|| []) for API payloads in the customer state model andCustomerTable.svelte. - Financial Dashboard: Fixed Svelte 5 strict iteration fatal crashes (
TypeError) on/manager/pembukuanandMobilePembukuan.svelteby ensuring fallback objects and arrays exist before looping.
[v1.0.2] - 2026-02-18
Added
- Network Map: Right-click context menu to Add ODP or Add Client directly on the map at clicked coordinates.
- Cable Connection Management: Visual cable linking between Client→ODP and Client→Client (Daisy Chain/Relay).
- "Connect..." button on customer marker popups enters Connection Mode.
- Client→ODP: Automatically binds to the next available port.
- Client→Client: Sets
parent_customer_idfor relay topology (purple dashed lines).
- Customer Model: Added
ParentCustomerIDfield to support daisy-chain/relay network topology. - Map Layer Control: Day (OpenStreetMap) and Satellite (Esri) base layer toggle.
- Map Polylines: Green (Online), Red (Offline), Purple (Daisy Chain) connection lines.
Changed
- ODP popup now includes port usage statistics (Capacity / Used).
- Customer marker popups show connection status (Online, Offline, Unlinked, Relay Client).
- "Simpan Lokasi" button renamed to "Simpan" for brevity.
- Improved placement banner responsiveness on mobile devices.
Fixed
- Resolved TypeScript lint errors for
windowproperty assignments in Leaflet popup callbacks. - Fixed accessibility warnings (ARIA roles, labels) on context menu backdrop and connection cancel button.
[v1.0.1] - 2026-02-18
Fixed
- Fixed documentation dead links and build issues.
- Fixed sidebar navigation visibility in documentation.
Added
- Added Changelog and custom 404 page to documentation.
- Added Branding (Logo, Favicon) and "HIJINETBILL DOCS" title.
- Web Installer: Locked SQLite driver selection when
DB_DRIVER=sqliteenv var is set.
Changed
- Updated documentation theme to Pink to match brand identity.
[v1.0.0] - 2024-03-20
Added
- Initial release of HIJINetBILL
- Docker support with SQLite
- Radius Server integration
- Payment Gateway integration (Duitku, BCA QRIS)
- WhatsApp Notification System