Skip to content

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, and vouchers with Google Service Account integration and default template IDs embedded in code.
  • File Import XLSX: Added .xlsx upload 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-sheets to 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_code beside package name for easier mapping.

Fixed

  • Manager Voucher Page: Added explicit browser <title> on voucher manager page.
  • Voucher Template Column: Removed status column 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 -version runtime 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.json endpoint.
  • Update Manifest Parsing: Expanded update manifest handling to support prerelease, auto_update, and per-platform binary_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 -version output 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-packages under the billing route group. Created the required PPPoEPackageRepository, PPPoEPackageService, and PPPoEPackageHandler dependencies. 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/customers by adding proper null/undefined safeguards (|| []) for API payloads in the customer state model and CustomerTable.svelte.
  • Financial Dashboard: Fixed Svelte 5 strict iteration fatal crashes (TypeError) on /manager/pembukuan and MobilePembukuan.svelte by 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_id for relay topology (purple dashed lines).
  • Customer Model: Added ParentCustomerID field 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 window property 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=sqlite env 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