Changelog
Apa yang baru di Cloudman.id
Riwayat pembaruan fitur, perbaikan, dan peningkatan platform.
v0.25.133
2026-09-01
- Sign-up - Long but perfectly valid details no longer break registration. An email address over 32 characters passed the form and the verification code, then failed at the very last step; a company name over 64 characters failed before the code was even sent.
v0.25.132
2026-08-31
- Date filters - Choosing a date range now takes two clicks that mean what they say: the first sets the start date, the second the end. Before, the first click closed the calendar straight away with both ends on the same day, and re-opening the picker over an existing range only ever moved the end - the start stayed where it was.
v0.25.131
2026-08-31
- Clients - The Client List title no longer wraps onto two lines, and the filters and buttons now line up against the right edge instead of drifting left when they wrap onto a second row.
v0.25.130
2026-08-31
- Packages - A failed limitation save now shows the reason the server gave instead of a generic error, and a half-filled burst is rejected by the server as well, not only by the form.
v0.25.129
2026-08-31
- Packages - A limitation can now carry a burst: a higher speed the client gets in short spurts, set as burst limit, burst threshold and burst time. All three go together - fill one and the form asks for the rest, because MikroTik reads them as a fixed sequence and a half-filled burst is applied wrong.
v0.25.128
2026-08-31
- Map - Zoom now goes three levels closer than before, so you can drop an ODP on the right house instead of the right block. Past the level where the tile provider stops, the imagery is upscaled and turns blurry - the position stays exact.
- Map - Node and router names are now drawn on the map itself once you zoom in close enough. In a dense area only one name per area is shown so the labels never pile on top of each other; zoom in further and the neighbours get their own.
v0.25.126
2026-08-30
- Invoices - Generate All now asks for confirmation first. A stray click used to bill every client on the spot, including those whose next invoice was not due until the following month.
v0.25.125
2026-08-30
- Tables - The search box on every list page now keeps a usable width. On crowded toolbars it used to be squeezed to a sliver by the filters and buttons sharing its row.
v0.25.124
2026-08-29
- Isolir - Each router now carries its own isolir IP pool, set on the router form instead of company settings. The suspended-client portal is routed back through the router that owns the pool, so on a multi-router network every router shows the portal instead of just one; two routers may no longer share a pool.
- Isolir - The router setup guide now fills the IP pool command with that router's own isolir pool, falling back to the default 10.10.252.0/22 when it has none, so the block can be pasted as-is.
- Isolir - Fixed: enabling isolir on a company that had never filled in the old company-wide IP pool field left the isolir RADIUS profile unprovisioned, so suspended clients kept their full bandwidth.
v0.25.121
2026-08-29
- Isolir - The suspended-client portal now starts working the moment you save the isolir pool. The routing that lets the portal answer a suspended client used to be installed only when the router tunnel reconnected, so a pool that was newly set or changed left those customers with a page that never loaded and no sign-in notification on their phone.
v0.25.120
2026-08-28
- Isolir - The suspended-client portal now shows your company name alongside your logo, so a customer who lands there knows straight away whose network they are on.
- Isolir - Your contact details stay on the portal at all times, not only after a failed lookup. A customer who cannot or will not fill in the identification form still sees your name, phone and email, and a link that arrives without a company simply shows the notice instead of a form that could never work.
v0.25.118
2026-08-28
- Isolir - Suspended clients can now identify themselves on the portal. The portal shows who you are when a username and phone number match an outstanding invoice, together with how much to pay and a QR code that opens the payment page on mobile data, outside the restricted network.
v0.25.117
2026-08-27
- Router - The isolir setup commands are fixed so the portal actually loads and isolation holds. They previously redirected every HTTP request into a loop (the portal host was caught by the redirect rule too) and appended the isolir drop rule to the bottom of the chain, where any existing accept rule let isolated traffic straight through. The commands now keep the portal and API hosts reachable, install the whole isolir block at the top of each chain, and can be safely re-applied whenever you need them.
v0.25.116
2026-08-25
- Clients - Editing an isolated client no longer brings it back online. Saving any change (even just a phone number) used to restore the client's package while the list still showed it as isolated; the client now stays isolated until it is released manually or the invoice is paid.
v0.25.115
2026-08-25
- Clients - A client can now be set to PPPoE, Hotspot, or Both, so hotspot logins are no longer treated the same as PPPoE and get their own rate limit. Choose the service type when creating or editing a client.
- Clients - Hotspot sessions now receive the rate limit and isolation protection intended for them. Previously a client logging in over hotspot could bypass both, because the system only checked for PPPoE sessions.
v0.25.113
2026-08-24
- Router - The TR-069 DHCP range now accepts several networks at once. Separate them with a comma (for example 192.168.18.0/24, 192.168.19.0/24) and every one of them gets its own route, so ONUs spread across multiple /24s all reach the device manager. Editing the list only touches the networks you actually added or removed.
- ONU - Fixed a routing conflict between companies that hand out the same management IP range. Each company now gets its own routing mark, so saving or deleting one company's router can no longer drop another company's TR-069 route or send its traffic through the wrong gateway.
- ONU - The device count above the list now covers your whole fleet. It previously counted only the page on screen, so with more than one page of devices the "online" figure could never rise above the page size and looked like an outage. The figures also stay put when you filter by status.
v0.25.110
2026-08-23
- ONU - A device that has just started informing can be provisioned right away. Every ONU your own device manager reports is registered to your company automatically the first time it appears in the list or on its detail page, so you no longer have to link a customer first just to push a configuration. Linking a client stays a separate step, and a device that never appeared under your company is still refused.
v0.25.109
2026-08-23
- ONU - A failed Request Inform or provisioning now tells you why. Instead of a bare "Summon failed" / "Provisioning failed", the toast carries the real reason: the ONU is not linked to your company yet, its model profile is still unverified, the device manager could not be reached, or GenieACS's own rejection text. Every refusal is also written to the superadmin log with the device, the task and the parameters involved.
v0.25.108
2026-08-22
- ONU - The refresh button on the device list now really re-reads the devices instead of redrawing the same cached page, so an ONU that just started informing shows up straight away rather than up to a minute later. The button also explains itself on hover now.
v0.25.107
2026-08-22
- Clients, Profiles & Limitations - Fixed the CSV import reporting a red "Import successful" error the moment it started, even though the import itself was running fine.
v0.25.106
2026-08-22
- Clients - The CSV import no longer freezes on a large file. It now checks the whole file first, reports every bad row up front without writing anything, then imports in the background behind a live progress bar.
- Profiles & Limitations - Same background import with a progress bar. Row errors are listed inside the dialog instead of arriving as a stack of toasts.
- Fiber map - The KMZ/KML import now shows how many points and cables have been written while it runs.
- Accounts - The superadmin account import now uploads the file in one go and validates every row before creating anything, instead of creating accounts one request at a time.
v0.25.102
2026-08-22
- Clients - Fixed the CSV import failing outright when a password, phone number, NIK or price was written as plain digits.
v0.25.101
2026-08-21
- Profiles - Bulk-import profiles from CSV. Name an existing limitation to reuse it, or fill the attribute columns and a missing limitation is created along with the profile.
- Limitation - Bulk-import and export limitations as CSV, with an opt-in switch for updating limitations that already exist.
v0.25.99
2026-08-20
- Clients - The CSV import now covers every client column (NAS binding, billing, isolir, pricing, coordinates) and an exported CSV can be edited and re-imported straight back.
- Clients - Fixed CSV import: empty cells no longer become zero, and leading-zero values like phone numbers are preserved as strings.
v0.25.97
2026-08-11
- Audit - The activity log now records the visitor's own IP address. It was showing the internal address of the web server, while the login history already showed the real one.
v0.25.96
2026-08-08
- Settings - The raw key-value Configuration list is gone. Every setting it held now has its own control in the Profile, WhatsApp or Email section.
- Clients - Editing a client now saves the email address and the reminder channel. Both were shown in the form but silently dropped on save.
- Clients - Email is now available as a column in the client table, off by default — turn it on from the column picker.
- Clients - Reminder and invoice-send wording no longer says WhatsApp, since a client can be reminded by email instead.
v0.25.92
2026-08-08
- Clients - A client can now carry an email address and choose whether reminders arrive over WhatsApp or email. Filling in the email address preselects email.
- Billing - New invoices, due reminders, overdue reminders and payment confirmations can now be delivered by email, with the invoice PDF attached.
- Settings - Each company can now configure its own outgoing mail server, edit the subject and message of every email notification, and send a test email.
v0.25.89
2026-08-08
- Invoices - The edit-invoice form marks every field it needs with a red asterisk. Editing an invoice replaces it in full, so the customer details and each line's name, price and quantity all have to be filled in
- Network - The fiber map's node form marks the node name, and the port count for ODP and ODC. That port count is what the map flags as incomplete afterwards, so it is now asked for up front; joints, poles and POPs have no ports and are not marked
- WhatsApp - The test-message number is no longer marked as mandatory on the company WhatsApp settings. Nothing on that page has to be filled in to save it, and the number only matters if you choose to send a test
v0.25.86
2026-08-08
- Clients - The add-client form now marks its mandatory fields (full name, username, password, profile) with the same red asterisk as the rest of the app; it had been missed when the marking was rolled out
v0.25.85
2026-08-08
- Navigation - Only the page you are actually on is highlighted in the sidebar. Opening Accounts no longer also lights up Account, Company or Billing, so the menu stops disagreeing with the page you are looking at
- Accounts - The company accounts page and the Roles & Access matrix now show real wording instead of internal placeholder text: the empty and no-results states, the hints inside every account field, and the Report and Audit rows in the permission list
v0.25.83
2026-08-07
- Forms - Fields that must be filled in are now marked with a red asterisk next to their label, so it is clear before submitting rather than only after. Applies across the tenant, provider and superadmin forms
v0.25.82
2026-08-07
- Forms - Validation messages now appear directly under the field they belong to instead of being collected in one line at the bottom of the dialog, and every problem is listed at once instead of one at a time. Affects the company accounts form, the superadmin account form, and the superadmin profile form
v0.25.81
2026-08-07
- Accounts - Usernames for staff and superadmin accounts must now be a valid email address (email is the login identity and OTP recipient). Availability checking and every account form show a clear "must be an email" message instead of a server error or a misleading "already taken", the availability check no longer runs for non-email usernames, and saving is blocked until the username is an email
v0.25.80
2026-08-07
- Login - Changing your email address from the verification-code page now asks for your current password first
v0.25.79
2026-08-06
- Login - If your saved email can no longer receive the two-factor verification code, the code page now offers a "Change email address" link so you can switch to a working address instead of being locked out
v0.25.78
2026-08-05
- Settings - Superadmin can now configure service settings (SMTP mail, WhatsApp pacing, payment gateway, VPN jump host, subscription and provisioning) directly from the UI instead of environment variables; secrets are stored encrypted and are never shown back
v0.25.77
2026-08-04
- Audit - Added superadmin activity audit and page-view tracking dashboard for security and usage monitoring
v0.25.76
2026-08-01
- Reports - New Monthly Report page (under Finance): each month, every client's end-of-month status (Active / Isolir / Inactive) with last-online date is captured into a snapshot you can filter, sort, search and export to CSV — handy for reconciliation and seeing how the network evolves month over month
- Clients - The client list now flags clients suggested for dismantle (isolated for a full month or more) with a dedicated filter, and shows how long each isolated client has been isolated next to the status badge
v0.25.74
2026-08-01
- Reports - The default date range on the payment, invoice and log pages always follows the Jakarta calendar month now, fixing a page error that could appear between midnight and 7 AM on the first day of a month
v0.25.73
2026-08-01
- Provider - Exporting from the mitra invoice list now uses the same dialog as payments: one button in the top-right corner opens it, and you pick invoices or arrears and choose the date range inside the dialog
v0.25.72
2026-08-01
- Provider - Invoice list can now be exported to CSV, with the same filters and the same rows as on screen, plus an arrears age column
- Provider - Per-partner arrears (tunggakan) can be exported to CSV, one row per customer that still owes
- Provider - Payment list can be exported to CSV, matching the active filters and date range
- Provider - An income recap (Rekap Pendapatan) can be exported to CSV, grouped by partner and month, with totals
- Provider - A partner's customer list can be exported to CSV
v0.25.67
2026-08-01
- Scheduled jobs - Automatic invoice generation, due reminders and isolir now run at the Jakarta time they are documented at, instead of 7 hours late: reminders go out at 08:00 WIB (previously around 15:00), invoices are generated just after midnight, and the nightly isolir runs at 23:59 the same night
- Voucher - Hotspot voucher expiry is now registered to RADIUS in Jakarta time; it was previously recorded 7 hours early, cutting every voucher short
- Reports - Date filters on payments, vouchers and ISP invoices now cover the full Jakarta day, and the dashboard's this-month figures follow the Jakarta month
- Isolir - Prepaid and cycle-billed clients are now isolated on the night their own invoice falls due, instead of waiting for the company due date or the end of the month; postpaid clients are unchanged and are still isolated on the company due date
- Isolir - Restarting the service no longer re-isolates clients that were released by hand during the month; a manual release for a postpaid client holds until the end of the month, and for a prepaid or cycle client it holds until that client's next unpaid invoice falls due
- Invoice - Billing periods now follow Jakarta time, so an invoice created between midnight and 7 AM on the 1st of a month is no longer stamped with the previous month's period and product name
v0.25.61
2026-07-31
- WhatsApp - Messages are now sent roughly every half a minute instead of once a minute, and each WhatsApp account sends to at most 200 distinct phone numbers per day — repeat messages to the same number no longer count separately, messages that would push past the limit wait for the next day instead of failing, and payment confirmations are never held back
- WhatsApp - Each client can now opt out of WhatsApp reminders (due, overdue and invoice notifications) from the client screen; payment confirmations are still always sent
- WhatsApp - Company settings gained a Meta Verified switch that raises the daily limit from 200 to 1000 different numbers; turn it on only if the connected number really is verified with Meta, because enabling it on an ordinary account increases the risk of the number being blocked
v0.25.58
2026-07-31
- Devices - The ONU list no longer fails with a server error when the device database credentials of a company drift out of sync; they are now repaired automatically in the background, and until that finishes the page explains what is going on instead of showing a raw error
v0.25.57
2026-07-26
- WhatsApp - Every WhatsApp message now goes through one queue and is sent at most once per minute per WhatsApp account, whether it was triggered automatically (invoice blast, due and overdue reminders, payment confirmation, ticket assignment) or by hand — nothing is dropped, sends are just spread out so the number stays clear of WhatsApp spam limits
- WhatsApp - Buttons that send a WhatsApp now report the message as queued instead of sent: a big invoice blast drains gradually, and Send Activity stays the record of what was actually delivered
v0.25.55
2026-07-25
- Hotspot - New Vouchers page (under Clients): create prepaid voucher packages with their own speed limit, session length, validity and price, and see every voucher that has been sold
- Hotspot - Customers can buy a voucher themselves from a public page and pay via Winpay; the code is issued automatically once the payment is confirmed and shown on the result page ready to copy
- Hotspot - Voucher codes expire on their own a set number of hours after payment, and you can revoke a code anytime — an active session is disconnected immediately
- Hotspot - Voucher sales land in your Payments list (marked as voucher) so revenue and reimbursement reports stay complete
v0.25.51
2026-07-20
- Billing - There's a new Subscription page under Settings where you can see your current plan, the features it includes, its status, and until when it's valid
- Billing - If you manage your own subscription you can pick a plan (monthly or yearly) and pay online via Winpay right from that page; if your subscription is handled by your provider, the page shows your plan as information only — no prices or payment
v0.25.49
2026-07-20
- Map - Fiber cables from a KMZ/KML import now appear on the map straight after importing — previously the nodes showed up but the cable routes only came in after refreshing the page
- Map - A flagged cable (the red dashed ones with a loose end) can now be re-routed instead of only being clipped straight to a node: choose 'Continue route', click along the real cable path to add points, and finish at a node, a free end, or a brand-new ODP — the review flag clears once it's saved
- Map - Zoomed-out and wide views are no longer a wall of pins: nearby customers, nodes and cables are summarised as a single representative per area so the map stays readable, and the rest reappears as you zoom in (items needing attention still stand out in red and amber)
- Map - The map legend can now be collapsed on phones so it doesn't take over the screen — it starts as a small tag you tap to open, and closes again with a single tap
v0.25.45
2026-07-18
- Map - You can now import your fiber network from a KMZ or KML file (for example one exported from Google Earth): ODPs, ODCs, poles, POPs and cable routes are read from the file, you choose which kinds to bring in, and they're placed on the map for you — splitter and port details are picked up from each point's description where available
- Map - After an import, points and cables the system couldn't match with confidence are flagged for review so nothing silently goes wrong: nodes needing attention pulse red, ones still missing port capacity show amber, and cables with a loose end appear as red dashed lines
- Map - Flagged items come with one-tap fixes — connect a loose cable end to a nearby node, fill in a node's ports, edit a wrongly-guessed name or type, or mark it as already correct; the review counters at the bottom fly you straight to the items that still need attention
- Map - Added POP (OLT / central office) as a node type you can place on the map, alongside ODP, ODC, joint and pole
- Map - Added Undo and Redo for map edits, the map now zooms to fit your whole network when it opens, and fully-verified nodes are hidden when you're zoomed far out so items needing attention stand out
v0.25.40
2026-07-18
- Mobile - The dashboard is now far more compact on phones: card padding, page titles, and spacing all tighten on small screens so more fits without feeling cramped — the desktop layout is unchanged
- Mobile - Page toolbar buttons (Add, Export, Import and the like) collapse to compact icons on narrow screens instead of full text buttons, keeping toolbars on one tidy row
- Support Tickets - On phones, typing a customer name that doesn't match a registered subscriber no longer opens a hard-to-close 'no customer found' popup; the text is simply kept as a free-text customer name
v0.25.37
2026-07-17
- Support Tickets - Opening a ticket now has its own link, so refreshing the page (or bookmarking/sharing the URL) takes you straight back to that ticket instead of dropping you back to the ticket list
- Map - Tightened the on-map controls on phones so they fit one compact row without overlapping: the Add ODP button and layer switcher shrink to edge-hugging icons with the search between them, and both step aside while you draw a fiber path or place an ODP
- Clients - The client list toolbar buttons (Export, Add, Import, Sync) now wrap neatly onto the next line on narrow screens instead of the Sync button running off the edge
- Map - Search now also finds ODPs and fiber paths, not just customers — picking a result flies to that node or frames the whole path on the map
- Map - Fixed adding a fiber path so the first point no longer lands on the 'Add path' button you just clicked; the path now starts where you click on the map
- Company (superadmin) - When creating or renaming a company, the name is now checked to match the required format (must start with a letter or number, and use only letters, numbers, hyphens and underscores) so it can't produce a broken service container
- Subscriptions (superadmin) - The company selector on the subscription page now shows the company's name instead of an internal id number
v0.25.30
2026-07-17
- Reports - You can now export your Clients, Payments, and Invoices/Receivables (piutang) lists to CSV straight from each page's Export button, and there's a new monthly income recap (Rekap Pendapatan) that totals payments per month — handy for bookkeeping and reconciliation
- Invoices - The invoice list now shows a full page of results again. Previously an invoice that carries over unpaid arrears (several billing periods combined into one) took up extra room and made pages look short
- Invoices - When arrears are consolidated into a single invoice, the old superseded periods are now hidden from the invoice list and the CSV export instead of appearing as confusing voided lines
- Support Tickets - When creating or reassigning a ticket you can now pick the customer from a searchable list instead of typing it in, and the technician you assign is automatically notified on WhatsApp
v0.25.26
2026-07-14
- Clients - Changing a client's plan (Change profile) no longer requires billing permission when the switch doesn't change the amount — Manage Clients is enough. Billing (Manage Invoice) permission is only needed when the change actually charges a prorated top-up or credits the balance, and the Change profile dialog now states this clearly up front instead of failing with a vague permission error
- Clients - Fixed the customer list continuing to show the old plan right after a plan change; it now updates immediately
v0.25.24
2026-07-13
- Performance - Client, invoice, and ONU lists, the tenant dashboard, and the superadmin company page now load noticeably faster and put far less load on the database. Results and rarely-changing data (permissions/roles, feature subscriptions, company settings, and login sessions) are cached and refreshed automatically
- Security - Payment callbacks are now verified directly with Winpay (server-to-server) before an invoice is marked paid, and repeated callbacks are handled safely without creating duplicate payments - closing a gap where a forged callback could have marked invoices paid
- Security - Admin payment endpoints (transaction list, reimbursement, and gateway lookup) are now restricted to provider/superadmin accounts, preventing cross-tenant access
- Security - Login sessions are hardened: expired tokens are now properly rejected, authentication cookies are HTTP-only and secure, and login is rate-limited to 20 attempts per minute per IP to deter brute-force attempts
- Security - Additional internal hardening: stricter validation of dangerous inputs (database identifiers and RADIUS disconnect attributes), authenticated calls between the API and the container manager, and reduced sensitive data in logs
v0.25.19
2026-07-11
- Billing - A client with nothing to charge (a free plan or a 100% discount, and no unpaid arrears from earlier months) no longer receives a Rp0 invoice — none is created at all, whether from the daily run or the "Generate all" action. Generating an invoice manually for such a client now clearly says there is nothing to bill instead of producing an empty invoice
- Invoices - Invoice reference numbers can optionally carry a fixed 2-digit project code just after the settlement prefix (for example AAA-07-01260001), set once per installation, to keep references distinct across separate deployments that share one payment gateway. When it is not configured, references keep their previous format and numbering continues uninterrupted
v0.25.17
2026-07-10
- Sessions - A new Sessions page under Network shows current and past RADIUS sessions straight from the accounting table. Search by username or IP, filter by online/offline status (defaults to online), by NAS, and by start date, with sortable columns plus per-session duration and data usage; use the column control to show or hide fields
- Navigation - The sidebar menu is now organized into labeled groups (Clients, Finance, Network) matching the superadmin layout, so items are easier to find at a glance
- Invoices - The A4 invoice PDF footer now shows the support/branding line exactly as configured, without the automatic "Powered by" prefix
- Logs - Failed-login (Access-Reject) events from RADIUS are no longer recorded as warnings, so the logs stay focused on real problems while genuine RADIUS errors are still captured
v0.25.13
2026-07-09
- WhatsApp - Invoice notifications can now include the invoice as a PDF attachment. Turn on "Attach invoice PDF" in WhatsApp settings; it applies both to invoices sent automatically when they are generated and to invoices you send manually. With it off, notifications stay plain text as before
- WhatsApp - You can now choose the language (Indonesian or English) of the attached invoice PDF in WhatsApp settings, independent of your dashboard language, so every customer's invoice is rendered consistently regardless of which admin sent it
- WhatsApp - Fixed a connection issue where the session could get stuck in a rapid reconnect loop; sends now reliably go out (or clearly fail) instead of appearing successful while the message never arrived
v0.25.10
2026-07-01
- Routers - Deleting a router now also removes its VPN tunnel credential from the VPN server (and deleting a company cleans up all of them), so no unused dial-in secrets are left behind
- Routers - Adding a new router or changing its RADIUS secret now takes effect almost immediately without disrupting connected customers; previously this required a full restart that briefly dropped everyone's connection
- Router Setup Guide - The MikroTik commands are now safe to re-run (each removes the previous entry before re-adding), the gateway step is hidden when no Local IP is set instead of showing an invalid command, and the isolir redirect URL is escaped so it works on RouterOS 6
- UI - Improve calendar selector on mobile
v0.25.6
2026-06-30
- Payment Monitor - The reimbursement status and the bulk "Mark Reimbursed" action now appear only for payments that landed in the shared central account. Payments already settled directly to a company's own bank account are shown as not-applicable instead of a misleading Pending/Reimbursed badge, and can no longer be selected (selecting them previously did nothing)
- Clients - The NIK (national ID) field is now optional in line with personal-data policy; leave it blank, or enter a full 16-digit number
v0.25.4
2026-06-30
- Billing - Clients set to pay in arrears (bayar di belakang) are no longer suspended on the due date; they stay connected past the deadline and their unpaid months roll into the next consolidated invoice automatically
- Invoices - A paid invoice now keeps a snapshot of its customer's name and phone, so it still shows who it belonged to even after that customer is deleted or their username is reused by a new client; existing paid invoices are backfilled from their payment record
v0.25.0
2026-06-28
- ONU Provisioning - Cloudman now learns each ONU model's TR-069 parameter layout automatically from the device itself, so VLAN, service-list and port-binding settings are read correctly even for brand-new or unknown models — no manual per-model setup. A mapping learned from one company's device is shared with every company running the same ONU
- ONU - The ONU detail now shows optical signal levels (RX/TX power in dBm) for supported devices
- ONU Profiles (superadmin) - New superadmin page to review the auto-learned ONU parameter mappings, correct their paths and mark them verified. For safety, provisioning writes to an ONU are only allowed once that model's profile has been verified
v0.24.1
2026-06-27
- Settlement - You can now mark one settlement account as the primary (shared) account from the superadmin Settlement page. Reimbursement now applies only to payments that landed in this shared account (or legacy invoices); payments routed to a company's own settlement account are excluded, since that money is already in their account. The primary account can't be deleted or deactivated until another is set as primary
v0.24.0
2026-06-27
- Sortable tables - Click a column header to sort the list ascending or descending; click again to reverse, once more to clear. Available across Clients, Invoices, Payments, Routers, OLTs, Profiles and Limitations, plus the superadmin Companies, Payments, Accounts, Logs, Roles and Provider Accounts tables
v0.23.4
2026-06-27
- Clients & Accounts - Fixed an error when re-creating a client, staff account or company that reuses the username or name of a previously deleted one ('already in use'); a deleted client is now restored and overwritten instead of blocking, and account/company creation report a clear conflict
- Clients - Fixed a client's assigned static IP not taking effect on the router even though it was saved; it is now sent correctly to MikroTik for new clients, and existing affected clients are migrated automatically
- Clients - Fixed clients with no price (e.g. from a bulk import that stored 0) being billed Rp0 instead of their plan price; an empty client price now falls back to the profile price, and existing imported 0-prices are corrected automatically
- Lists - Fixed rows occasionally appearing on more than one page (and others going missing) when paging through long lists; every paginated list now uses a stable, predictable order
v0.23.0
2026-06-25
- Roles & Permissions - New Roles page (Settings → Roles) where companies can create their own roles with fine-grained, per-module View/Manage permissions. Start from a ready-made preset (Company Admin, Finance, Technical, Customer Service) and adjust from there
- Team Accounts - New Accounts page (Settings → Accounts) for companies to add and manage their own staff logins and assign each one a role, separate from the Cloudman provider accounts
- Access control - Sidebar menus, dashboard cards and pages now appear based on the signed-in user's role: staff only see and can act on the areas their permissions allow
- Get started - The setup checklist now only lists steps a role can actually perform — e.g. a technician without billing access is no longer prompted to generate invoices — and hides itself once everything relevant is set up
v0.22.2
2026-06-24
- Payment - Invoices created before settlements were introduced now settle to the company's assigned account when paid online — the payment reference adopts the settlement code at checkout, keeping the same invoice number
- Payment - Fixed the online payment-status page showing 'Total Paid' after deducting the gateway fee; it now shows the full amount the customer paid (the fee is borne by the company)
v0.22.0
2026-06-23
- Settlement - New Settlement page (superadmin) to map each 3-character settlement code to its destination bank account. Each company is now assigned a settlement, and its code prefixes the payment reference so Winpay settles to the correct account
- Clients - Fixed the Change Profile dialog only listing the first 20 profiles; it's now a searchable dropdown that shows and filters all available profiles
v0.20.8
2026-06-21
- Clients - The add/edit client form now shows example placeholders in the name, username, password, phone, NIK, address and price fields, so it's clearer what to enter in each one
- ONU - Fixed the row actions (⋯) menu on the ONU list, which could trigger a browser rendering warning caused by nested buttons
v0.20.6
2026-06-21
- Interface - Dark mode now applies consistently across every dashboard page — cards, tables and panels that previously stayed white now follow the selected theme
- Interface - Refreshed dashboard layout: the sidebar and content area now sit as cards floating on a single unified background, with consistent spacing throughout
- Interface - Status colors (paid / pending / overdue, online / offline), icon sizes and page titles are now uniform across the whole app
v0.20.3
2026-06-19
- Invoice & Payment - Filtering by date is now a single date-range picker with quick presets (this month, last month, last 2/3/6 months, this year, last year) instead of two separate date fields — also used on the payment export and the superadmin logs and payment pages
- Interface - Icon-only buttons (edit, delete, view, pagination arrows, menu) now show a descriptive tooltip on hover, so it's clear what each one does
- Clients - In the client form, the Prepaid and Pay-later (arrears) options now clear each other when you pick one, instead of greying the other out — switching between them takes a single click
v0.20.0
2026-06-19
- Clients - You can now set a client's billing per-client: mark them as Prepaid (billing cycle) or allow Arrears (pay later), even when your company default is fixed billing. Choosing Prepaid reveals the activation date and due-day fields automatically; the two options are mutually exclusive
- Billing - New "Pay in advance": bill a client for several upcoming months at once in a single invoice, with a live preview of each month and the total. Months already paid are skipped automatically
- Billing - With Arrears enabled, a client's unpaid months are merged into one rolling invoice instead of blocking new ones; the original invoices are kept for the audit trail
- Clients - New "Change profile" flow prorates the switch by the day — moving plans mid-period only charges or credits the difference (a top-up invoice when upgrading, balance credit when downgrading). The profile can no longer be changed silently from the edit form; use the Change button instead
- Clients - Each client now has a Balance (saldo): credit from a downgrade or overpayment lands here and is auto-applied to the next invoice. You can review the full history and cash it out manually
v0.19.2
2026-06-18
- OLT & Routers - These pages now open instantly with the last known status and refresh device reachability in the background, instead of waiting on live checks before showing anything — fresh status appears on the next auto-refresh
v0.19.1
2026-06-18
- OLT - The OLT list now checks each device live while you're viewing the page (auto-refreshing about once a minute) and stops when you switch away, so the status reflects right now instead of a fixed background schedule
v0.19.0
2026-06-18
- Clients - You can now restrict a client to a single NAS/router: pick one in the client form and they can only connect through that router; leave it blank to allow any. Deleting a router automatically frees its clients back to "any router"
v0.18.1
2026-06-18
- OLT - Online status now also recognizes an OLT that replies to ping when its SNMP is turned off, so reachable devices no longer show as offline
v0.18.0
2026-06-15
- Dashboard - A new "Get started" checklist guides you through setting up routers, RADIUS packages, clients, OLTs, ONUs, and invoices — progress is tracked automatically from your data and the checklist disappears once you're all set
- Guided tours - Each main page now has an interactive walkthrough you can replay anytime from the sidebar; the setup tours even open the create form for you so you can add your first record while following along
- Forms - When a picker has nothing to choose from, a shortcut now appears to jump straight to where you create the missing item (add a profile from the client form, a router from the OLT form, or a limitation from the profile form)
- Dashboard - Now loads correctly for brand-new companies even while their backend is still being set up
v0.17.12
2026-06-11
- Client - You can now set a static IP (Framed-IP) for a client; it's applied to their PPPoE session automatically and removed while they're isolated
- Client - The client form now lets you edit the username and password and view the current password (with a show/hide toggle); changing either disconnects the client until the device's PPPoE settings are updated with the new credentials
- Client - The form has been reorganized: address and map location now sit with the contact details, while profile, static IP, price, and discount are grouped under a new "Service Details" section
- Router - VPN tunnel credentials are now generated automatically using a safe, easy-to-type 8-character format, fixing a bug where two routers could end up sharing the same credentials and disconnecting each other
- Router - The router detail dialog now lets you rename the router and update its RADIUS secret directly, with read-only fields (IP, tunnel credentials) shown alongside a copy button
v0.17.7
2026-06-10
- Limitation - The "PPP Profile (MikroTik)" field has moved from profile groups to limitations, where it belongs alongside the other RADIUS attributes
- Profile/Limitation - Fixed a bug where saving a profile and a limitation with the same name could overwrite each other's RADIUS attributes (rate limit, address list, MikroTik group, etc.)
- Profile - Deleting a profile group now also cleans up its leftover RADIUS group assignment
v0.17.6
2026-06-10
- Client - Profile field on the add/edit client form is now a searchable dropdown — type to find a profile instead of scrolling a list capped at 100 entries
v0.17.5
2026-06-10
- Profile - New "PPP Profile (MikroTik)" field on profile group: when set, the profile sends the Mikrotik-Group RADIUS attribute so clients are placed into the specified PPP profile on the router automatically
v0.17.4
2026-06-05
- Company - A company's network subnet is now editable; changing it remaps all of its routers to the new range, recreating VPN tunnels, mangle rules, and the container automatically. The company list now shows each company's network.
v0.17.3
2026-06-05
- Router - New "Local IP" (PPPoE gateway) field on a router; the setup guide's PPP-profile command auto-fills it so it's ready to copy-paste — fixes clients getting an IP with no gateway
- Router - The router detail dialog now saves Local IP, TR-069 range, and map location together with a single Save button
- Monitor - Fixed the Restart and Recreate buttons that reported success but never actually restarted the container; both now show a success/error notification
v0.17.0
2026-06-01
- OLT - New device management for GPON/EPON OLTs: register an OLT with its router, IP, SNMP community, and SSH/Telnet/Web ports
- OLT - Device detail panel with on-demand SNMP polling: vendor, model, hostname, uptime, location, and a live physical-port list (status + link speed)
- OLT - Remote terminal (SSH/Telnet) to the OLT directly from the browser
- OLT - One-click access to the OLT's web management UI through a secure in-dashboard gateway
- OLT - Online/offline status and last-polled time shown in the device list
v0.16.0
2026-05-28
- Monitor - Complete redesign: real-time system dashboard with host CPU load, RAM, and disk metrics (sparkline charts + progress bars), per-container CPU/RAM/status/uptime table, container lifecycle event log, and 3-second live polling that pauses automatically when the tab is inactive
- Monitor - Restart and Recreate actions directly from the container table
- Monitor - Container start and restart events are now logged and visible in the event history
v0.15.3
2026-05-28
- Fix: impersonation banner now visible on mobile — was hidden behind the top navigation bar, making it impossible to exit impersonation on small screens
v0.15.2
2026-05-28
- Fix: client list pagination no longer shows the same client on multiple pages — rows with identical creation timestamps are now sorted deterministically
v0.15.1
2026-05-27
- Client List - New "Sync Status" button: sends reconnect signal to all offline non-isolated clients, prompting clients still connected on the router to re-authenticate and appear online
v0.15.0
2026-05-23
- UI - Updated app color scheme to match brand colors across dashboard, landing page, and statistics charts
- Superadmin - Per-company payment gateway credentials: configure custom keys per company with automatic fallback to global defaults when empty
- Payment - Fix: per-company payment gateway credentials now correctly applied to all invoice operations
- Logs - Fix: long messages in log viewer no longer overflow the table; message wraps when detail panel is expanded
v0.14.0
2026-05-21
- Docs - New documentation site at /docs powered by Nextra v4 (id/en)
- Landing - Full English/Indonesian i18n for all landing page sections
- Landing - Added Docs link in navbar and footer Resources column
- Sidebar - Documentation shortcut above Settings in both tenant and superadmin sidebar
v0.13.4
2026-05-20
- Landing - Fix: login button now visible on mobile
- Client import - Fix: error messages now show per-row details (invalid phone, invalid NIK, profile not found, duplicate username)
- Client - Fix: server error messages now passed through to the UI on create/update
- Validation - Phone number must be Indonesian format (08xx/628xx), auto-normalized on save
- Validation - NIK must be exactly 16 digits
- Validation - Rate limit must follow MikroTik format (e.g. 10M/10M)
- Validation - Framed IP and OLT IP address must be valid IPv4
- Validation - TR-069 DHCP range must be valid CIDR notation
v0.13.3
2026-05-18
- ONU - Support Huawei HG8346M: optical power (Rx/Tx) now displayed correctly
- ONU - Support Huawei HG8346M: VLAN ID now detected from X_HW_VLAN at connection level
v0.13.2
2026-05-17
- ONU - Delete device from GenieACS directly from detail page
- ONU - Search by linked client username in addition to device serial
- ONU - Status filter (online/offline/never) now works correctly
- ONU - Overview now shows correct WAN IP across all vendors and connection indices
- ONU - Fix: status filter no longer shows setup guide when no devices match the filter
v0.13.1
2026-05-17
- ONU - Multi-vendor support: ZTE (X_CMCC_*) and CMDC devices now detected and configured correctly alongside CT-COM
- ONU - Provision dialog: refresh button now targets only the active tab's parameters instead of the full device tree
- ONU - Fix: port binding display now handles full TR-069 path format (converts to LAN1, WLAN1, etc.)
v0.13.0
2026-05-16
- ONU - WAN connection management: add (3-step TR-069), edit, and delete with CT-COM device support
- ONU - WLAN enable/disable toggle; detail fields hidden when radio is off
- ONU - New DHCP server configuration tab
- ONU - New Ethernet port status and configuration tab
- ONU - GenieACS tags: add and remove tags per device directly from detail page
- ONU - Bulk actions on ONU list: reboot, apply template, and add tag to multiple devices at once
- ONU - Provision dialog now auto-closes with 2s applying animation after save
- ONU - All provision saves trigger immediate device connection request
- Payment - Fix: nett_amount now correctly calculated as amount minus fee (was using incorrect gateway value)
v0.12.0
2026-04-17
- Superadmin - New application log viewer to monitor errors from API, container manager, and RADIUS services
- System - Persistent error logging to database with automatic cleanup after 30 days
v0.11.7
2026-04-17
- Payment - Fix phone number sent to payment gateway now digits-only, preventing bad request errors
- Invoice - Billing period now displayed as formatted month name (e.g. Januari 2026) in invoice detail, print receipt, and WhatsApp messages
- Superadmin - New Winpay invoice lookup page to check payment gateway status by merchant reference
- UI - Invoice detail and all modals now scrollable with max height to prevent overflow on small screens
- UI - Dialog close button now has background to stay visible when content is scrolled
v0.11.2
2026-04-17
- Invoice - Prevent duplicate invoice: blocked if client has a pending/overdue invoice or a paid invoice this month
- Invoice & Payments - Fix filter clear button: now shows all records instead of restoring current month
- Settings - Due date and generate date inputs now capped at 28
- WhatsApp - Fix: WA session no longer disconnects after sending payment confirmation
- WhatsApp - Fix: connection failures now appear in message send activity log
v0.11.1
2026-04-13
- Bug fix - Fix client price shown as profile price when no price is set
- Security - Fix security vulnerability
v0.11.0
2026-04-04
- Statistics - New statistics page with monthly revenue, new & churned clients, and paid invoices charts
- Statistics - Year filter to view historical data per year
v0.10.1
2026-04-04
- Bug fix - WhatsApp payment confirmation messages now correctly appear in the send activity log
v0.10.0
2026-04-05
- WhatsApp messages - Add template for overdue invoice reminders
- WhatsApp messages - Add logs for sent messages to improve tracking and debugging
v0.9.2
2026-04-04
- Invoices & Payments - Add default filter to show current month
- UI - New Datepicker for best experience
v0.9.0
2026-04-03
- Invoice - Clients with overdue invoices now receive a WhatsApp reminder when new invoices are generated
- Map - My Location button to jump to your current position with accuracy indicator
v0.8.1
2026-04-03
- Bug fix - Invoice delete button incorrectly appeared on paid invoices
- Bug fix - Check invoice page incorrectly showed unpaid status for invoices that had already been paid
v0.8.0
2026-04-02
- Dashboard - Tenant dashboard with client stats, invoice summary, and monthly revenue at a glance
- Dashboard - Superadmin dashboard with company stats and pending reimbursement overview
v0.7.1
2026-04-02
- Localization - Provider Accounts, Roles, and Company Settings pages now fully support language switching
- Bug fix - Fix payment API response inconsistency
v0.7.0
2026-04-02
- Access control - Role-based access control for provider accounts
- Provider Accounts - Superadmin can create and manage sub-accounts with limited access
- Roles - Define roles with granular capability permissions
v0.6.0
2026-03-31
- Payment - Reimbursement tracking for non-cash (Winpay) payments
- Payment - Superadmin can batch mark payments as reimbursed
- Payment - Filter payments by reimbursement status (pending / done)
- Payment - Export unreimbursed payments to CSV
- Settings - Toggle reimbursement tracking per app configuration
v0.5.1
2026-03-28
- Accounts - Handle account profile
- Company Settings - Add company tags on WhatsApp and Receipt
v0.4.9
2026-03-27
- Optimize UI - Optimize layout on mobile view
v0.4.8
2026-03-27
- WhatsApp messages - Add trigger send invoice via WhatsApp from client details
- WhatsApp messages - Trigger notifications via WhatsApp after client successfully pays invoice
- WhatsApp messages - Add template message for payments notifications
- Geolocation - Find client location by searching for their name or username
- Geolocation - Share client location via Google Maps
v0.4.3
2026-03-27
- Bug fix - Fix invoice unable to fetch gateway details
- Bug fix - Handle api error gracefully
- Bug fix - Fix radius monitor page on superadmin
v0.4.0
2026-03-26
- Geolocation - Pin client location to map
- Geolocation - Pin router nas location to map
- Geolocation - Show client and router nas location on map view
v0.3.2
2026-03-24
- WhatsApp messages - Make client easier to reach invoices by sending URL via WhatsApp
v0.3.1
2026-03-24
- Router setup guide - Adding step to enable RADIUS Accounting & Interim-Update
v0.3.0
2026-03-24
- Update invoices - User now unable to delete paid invoices
v0.2.4
2026-03-24
- What's new - Show missed changelog updates instead of last changelog
v0.2.3
2026-03-24
- Bug fix - Redirect payment gateway into local pages
- Bug fix - QR Code does'nt display correctly
v0.2.2
2026-03-24
- Language support - Extends multi-language support to include in public pages
v0.2.1
2026-03-24
- Language support — English and Bahasa Indonesia
v0.2.0
2026-03-24
- WhatsApp notifications — connect your WA number to send invoice and due date reminders automatically
- Customizable message templates with client variables ({client_name}, {amount}, {due_date}, etc.)
- What's new modal — see release highlights after each update
v0.1.0
2026-03-24
- Client isolir via MikroTik NAT (PPPoE block)
- Daily invoice scheduler — auto-generate & isolir enforcement
- Payment gateway on-demand with auto-renewal on overdue
- Superadmin payment monitor & tenant payment summary stats
- Company deactivate / soft-delete
- Client filter by status and profile
- Router setup guide
- Auto-disconnect stale PPPoE sessions