Changelog

Apa yang baru di Cloudman.id

Riwayat pembaruan fitur, perbaikan, dan peningkatan platform.

v0.35.1
2026-10-10
  • Laporan - diperbaiki: ekspor Pembayaran di tab Keuangan kini berisi tanggal, pelanggan, nomor transaksi, dan kanal, urut dari yang terbaru.
  • Laporan - diperbaiki: di layar ponsel, tab laporan kini dipindah dengan tombol panah kiri/kanan dan tidak lagi membuat halaman bergeser ke samping. Kartu Penagihan dan Pendapatan juga diberi jarak yang rapi.
v0.35.0
2026-10-10
  • Laporan - baru: tab Keuangan menampilkan penagihan per bulan (invoice terbit, lunas, belum lunas, dihapuskan, dan tingkat penagihan) serta pendapatan yang masuk dibanding target, lengkap dengan asal uangnya: invoice bulan ini, tunggakan, atau voucher.
v0.34.0
2026-10-10
  • Notifikasi - baru: lonceng notifikasi kini punya bagian "Perlu tindakan" untuk hal yang harus dibereskan, dimulai dari router yang belum diisi IP pool isolir. Klik untuk langsung membuka form router-nya; item hilang sendiri setelah diperbaiki.
v0.33.0
2026-10-10
  • Pelanggan - baru: ODP kini bisa dipilih langsung dari form tambah dan edit pelanggan. ODP dicari berdasarkan nama, diurutkan dari yang terdekat dengan lokasi pelanggan, lengkap dengan jarak dan port terpakai; kabelnya otomatis tergambar di peta sebagai garis lurus.
v0.32.2
2026-10-10
  • Laporan - diperbaiki: tabel Rekap bulanan di tab Dismantle dihapus karena kartu ringkasan sudah menampilkan angka bulan yang dipilih; bulan lain dibuka lewat pilihan bulan di toolbar.
v0.32.1
2026-10-10
  • Laporan - diperbaiki: tab Dismantle kini memilih bulan lewat pilihan bulan di toolbar seperti tab Status Pelanggan, sehingga ekspor selalu mengikuti bulan yang terlihat; warna status disamakan dengan Daftar Pengguna, dan filter yang tidak menemukan apa pun kini bisa langsung direset.
v0.32.0
2026-10-10
  • Laporan - baru: tab Dismantle menampilkan rekap bulanan pelanggan yang ditandai dismantle — berapa yang selesai dihapus, dibatalkan, dan yang masih terbawa ke bulan berikutnya — lengkap dengan daftar pelanggan per bulan (filter asal dan status) dan ekspor CSV.
v0.31.4
2026-10-10
  • Pelanggan - diperbaiki: import CSV pelanggan dengan kolom nomor HP kosong kini berhasil, sama seperti menambah pelanggan tanpa nomor HP lewat form.
v0.31.3
2026-10-10
  • Pelanggan - diperbaiki: pelanggan yang ditambahkan ulang dengan username pelanggan lama yang sudah dihapus setelah dismantle kini kembali ditagih dan diingatkan seperti pelanggan biasa.
v0.31.2
2026-10-10
  • WhatsApp - diperbaiki: pengingat jatuh tempo dan pengingat tunggakan yang masih mengantre kini dibatalkan begitu tagihannya digabung ke tagihan bulan berikutnya, dibayar, atau dihapus, sehingga pelanggan tidak lagi menerima pengingat tagihan bulan lalu.
v0.31.1
2026-10-08
  • Statistik - diperbaiki: tagihan, pembayaran, dan pelanggan yang tercatat 1 Januari pukul 00.00–07.00 WIB kini masuk ke tahun yang benar di grafik tahunan.
v0.31.0
2026-10-08
  • WhatsApp - baru: daftar pesan yang masih mengantre di pengaturan WhatsApp. Pesan bisa dihapus sesuai pilihan atau semuanya (bisa per jenis), setelah konfirmasi jumlahnya.
v0.30.7
2026-10-08
  • WhatsApp - diperbaiki: pesan sebuah perusahaan tidak lagi tertahan di belakang antrean perusahaan lain yang sesi WhatsApp-nya terputus, kena batas harian, atau sedang jam tenang. Jumlah antrean di pengaturan WhatsApp kini juga dihitung tepat.
v0.30.6
2026-10-08
  • WhatsApp - diperbaiki: notifikasi penugasan tiket yang belum terkirim dalam 3 jam kini dibatalkan, dan "Kirim ulang yang gagal" tidak lagi mengirim ulang pesan yang sudah kedaluwarsa.
v0.30.5
2026-10-03
  • Tagihan - diperbaiki: mengubah tagihan yang sudah terdaftar di payment gateway tidak lagi menghapus tautan kembali ke halaman cek tagihan setelah pelanggan membayar.
v0.30.4
2026-10-02
  • Notifikasi - diperbaiki: tanggal jatuh tempo di pesan WhatsApp dan email tagihan kini mengikuti tanggal isolir masing-masing pelanggan. Sebelumnya pelanggan prabayar atau dengan penagihan siklus menerima tanggal jatuh tempo umum perusahaan.
v0.30.3
2026-10-02
  • Dashboard - diperbaiki: grafik pendapatan yang diharapkan tidak lagi menghitung tagihan yang sudah digabung ke tagihan tunggakan atau yang sudah dihapusbukukan. Angka beberapa bulan bisa turun dibanding sebelumnya; itu koreksi, bukan data yang hilang.
v0.30.2
2026-10-02
  • Tagihan - diperbaiki: cetak ulang invoice A4 dari dasbor kini menampilkan tanggal jatuh tempo yang berlaku (tanggal isolir), bukan batas waktu pembayaran virtual account.
v0.30.1
2026-10-02
  • Pelanggan - diperbaiki: lama isolir kini dihitung ulang setiap kali isolir pelanggan dibuka, baik dibuka manual (janji bayar) maupun karena tagihannya dibayar. Sebelumnya pelanggan yang pernah dibuka lalu terisolir lagi bulan berikutnya langsung tertulis "Isolir 2 bln" dan bisa ikut disarankan dismantle. Pelanggan yang dibuka sebelum perbaikan ini masih membawa tanggal lama sampai tagihannya dibayar atau isolirnya dibuka lagi.
v0.30.0
2026-09-29
  • Mitra - baru: pelanggan mitra kini melihat nama, logo, dan tulisan "didukung oleh" milik ISP induknya di halaman cek tagihan, invoice PDF, pesan WhatsApp, email, halaman isolir, halaman voucher, serta cetakan invoice dan kuitansi. Nomor telepon, email, dan alamat yang tampil tetap milik mitra, karena mitra yang melayani pelanggan di lapangan.
v0.29.4
2026-09-28
  • Tagihan - diperbaiki: halaman cek tagihan dan PDF invoice kini menampilkan tanggal jatuh tempo yang diatur perusahaan, yaitu tanggal pelanggan akan diisolir, bukan batas akhir pembayaran Winpay di akhir bulan. Pelanggan prabayar yang menekan "Bayar" setelah jatuh tempo juga tidak lagi ikut memundurkan jatuh temponya.
v0.29.3
2026-09-22
  • Notifikasi - diperbaiki: mengaktifkan notifikasi browser di HP untuk pertama kali tidak lagi memunculkan pesan gagal, padahal notifikasi sebenarnya sudah aktif.
v0.29.2
2026-09-22
  • Keamanan - diperbaiki: tombol Keluar saat Anda sedang masuk sebagai akun lain kini juga mengakhiri sesi akun asal Anda, sehingga login berikutnya di perangkat yang sama selalu dimulai dari akun yang baru login.
v0.29.1
2026-09-21
  • Notifikasi - diperbaiki: saat Anda masuk sebagai akun lain, notifikasi browser di perangkat Anda tidak lagi berpindah ke akun tersebut. Notifikasi tetap milik akun Anda sendiri.
v0.29.0
2026-09-21
  • Notifikasi - baru: ikon lonceng di sidebar menampilkan notifikasi tiket, yaitu tiket yang ditugaskan kepada Anda serta perubahan status, catatan, dan foto pada tiket yang Anda buat. Klik notifikasi untuk langsung membuka tiketnya.
  • Notifikasi - baru: aktifkan notifikasi browser dari lonceng agar pemberitahuan tiket tetap muncul di perangkat Anda walau tab cloudman sedang tertutup. Logout menghentikan notifikasi di perangkat tersebut.
  • Notifikasi - baru: di HP, panel lonceng menyediakan tombol Pasang aplikasi. Di Android tombol ini langsung memasang cloudman; di iPhone tombol ini menampilkan langkah Tambah ke Layar Utama, karena iPhone hanya mengizinkan notifikasi dari aplikasi di Layar Utama. Aplikasi yang terpasang langsung membuka dashboard.
v0.28.1
2026-09-17
  • Riwayat perubahan - diperbaiki: entri riwayat kini menyebut nama orang yang mengubah, bukan nomor akun. Akun yang sudah dihapus tetap terbaca namanya.
v0.28.0
2026-09-17
  • Riwayat perubahan per baris - baru: tombol riwayat di tabel Tagihan dan Pelanggan membuka catatan siapa mengubah apa dan kapan, termasuk nilai sebelum dan sesudah tiap kolom. Hanya tampil untuk akun yang punya akses audit.
v0.27.8
2026-09-17
  • Client import - fixed: phone numbers the client form accepted are no longer rejected by CSV import. Any of the four shapes (0812..., +62812..., 81234..., 620812...) now lands as the same stored form, on the form and in the import alike.
v0.27.7
2026-09-17
  • Provider dashboard - fixed: the "Pendapatan Bulan Ini" card no longer spills its rupiah figure outside the card on a phone. The card now takes the full width of the row on a small screen while the four mitra counters stay side by side.
v0.27.6
2026-09-17
  • Reports - fixed: on the Langganan tab, the rupiah figures in the summary cards no longer run past the edge of their card on a phone. The cards now sit one per row on a small screen and the number is set a size smaller, so a figure like Rp 1.590.000 stays inside the card it belongs to.
v0.27.5
2026-09-17
  • WhatsApp - fixed: messages meant for a company that never set up WhatsApp are now refused at the door instead of queuing for a delivery that can never happen. They no longer sit in the queue for up to an hour only to come back as failed, and they no longer clutter the send history with row after row of known-dead sends.
v0.27.4
2026-09-17
  • Tickets - fixed: filtering the ticket list by a date range no longer drops tickets created early in the morning. The dates are now read as WIB calendar days, so a ticket created at 00:01 on the 1st stays inside a 1st-to-30th filter instead of being counted into the previous day.
v0.27.3
2026-09-17
  • Tickets - fixed: the Create and Export buttons on the ticket list now sit together in the top-right corner, so the Create button no longer floats on its own in the middle of the page.
v0.27.2
2026-09-16
  • Invoices - fixed: filtering the invoice list by a date range no longer hides invoices created between midnight and 7am. An invoice issued at 00:01 on the 1st was being counted into the previous month, so it vanished from the current-month filter while still blocking a re-generate; clearing the date filter was the only way to see it. The CSV export had the same wrong range at both ends and is fixed with it.
v0.27.1
2026-09-16
  • Router - fixed: the isolir portal's return route is now repaired on its own. If it was never installed - the router was saved while the network side was unreachable - it is put back automatically within a few minutes, instead of staying silently missing until an isolated customer reported never seeing the suspension page.
  • Router - fixed: saving a router re-applies its Isolir IP Pool even when you did not change the value, so re-saving is now a working way to re-apply the route by hand. If that fails, the save is confirmed with a warning instead of a plain "saved", so you are never told it worked when nothing reached the network.
v0.27.0
2026-09-16
  • Reports - added: the report page now has tabs, and a new Langganan tab shows what each package actually earns and how much bandwidth it sells - monthly revenue after discount, total Mbps sold, active customers, average price per customer, and total discount given, with a per-package breakdown you can export to CSV.
  • Reports - added: packages whose speed limit cannot be read (no limitation attached) are listed separately and counted out of the bandwidth total instead of being hidden, so the Mbps figure is never quietly short. Their revenue is still counted in full.
v0.26.2
2026-09-16
  • Tickets - fixed: the exported CSV now lists each ticket's timeline strictly in the order the entries happened, instead of relying on the order the database happened to return them in.
v0.26.1
2026-09-16
  • Profiles - added: a profile can now be renamed, and every customer on it moves to the new name in one step (customer list and RADIUS package included). The name field checks availability before you save, and a profile that is set as the isolir profile stays locked until that setting is changed.
v0.26.0
2026-09-16
  • Tickets - added: export any month as CSV, one row per ticket with the full progress timeline (status transitions included) and attached photos as links.
v0.25.186
2026-09-16
  • Clients - fixed: phone numbers stored before validation was enforced have been normalised to 08xxxx format, so the isolir captive-portal form can resolve those customers again.
v0.25.185
2026-09-16
  • Map - added: an ODP node popup now has the same "Open in Google Maps" link the customer and router pins already had, so a coordinate can be handed to a field tech straight from the node.
v0.25.184
2026-09-15
  • Billing - changed: plans no longer charge extra for clients above their quota. Each plan has a client limit instead: once it is reached, adding or importing clients stops until you upgrade, and existing clients keep their service. Unpaid on-demand bills have been cancelled.
v0.25.183
2026-09-14
  • WhatsApp - fixed: the queue panel now counts messages the moment they are queued, instead of leaving a large batch out of the count for several minutes.
v0.25.182
2026-09-14
  • WhatsApp - fixed: pressing "Resend failed" again no longer sends a message a second time when it was already delivered or is still waiting in the queue.
v0.25.181
2026-09-14
  • WhatsApp - added: a "Resend failed" button on the delivery history queues every failed message from the last 7 days again in one go, sending each distinct message only once.
v0.25.180
2026-09-14
  • WhatsApp - changed: payment receipts and ticket notifications now go out ahead of invoice reminders, and they count toward the hourly sending limit. Marking many invoices paid at once now spreads the receipts over a few hours instead of sending them all within half an hour - that burst is what gets a number blocked. Receipts are still never held overnight.
v0.25.179
2026-09-14
  • WhatsApp - fixed: messages no longer fail when the WhatsApp connection is down for more than a day. They wait in the queue until the number is reconnected (up to 30 days) and then go out as normal. A company that never connected WhatsApp still sees them fail, after 1 hour instead of 24, with the reason "Connect WhatsApp first".
v0.25.178
2026-09-14
  • Email settings - fixed: on a phone the SMTP form no longer squeezes its fields into a narrow column with overlapping labels; every field now takes the full width.
v0.25.177
2026-09-09
  • WhatsApp - changed: reminders and invoice blasts are no longer sent between 21:00 and 08:00. Invoices are still generated at midnight as before; only the messages wait until morning. A batch that arrives while everyone is asleep gets no replies and is read the next day as unsolicited, which is what WhatsApp scores when it blocks a number - it weighs that far more heavily than how many messages were sent.
  • WhatsApp - fixed: customers whose number is stored without the leading 0 now actually receive their messages. A number saved as "81234159707" was dialled as a Japanese number and one saved as "85850810370" as a country code that does not exist. The message was logged as sent, nothing was ever delivered, and every one of those counted against the sender as messaging a dead number.
  • WhatsApp - changed: payment confirmations and technician dispatch notices now count towards the daily message quota, so the number shown is the real load on your WhatsApp. They are still never held back by it, and they are still sent during quiet hours - they answer something that just happened.
  • WhatsApp - changed: a queued message that has been waiting more than 30 days is dropped instead of eventually sent, and appears in the history as failed with the reason. Last month's reminder arriving now only confuses the customer and uses up a slot this month's invoice needed.
  • WhatsApp - added: the queue panel now says "quiet hours" and when sending resumes, instead of showing an estimated finish time that could not happen.
v0.25.172
2026-09-08
  • WhatsApp - fixed: a message is no longer written into the history as "not sent - WhatsApp not connected" when the connection drops in the moment between the check and the send. It now waits and goes out on a later attempt, the same way a session that was already down did. Those entries were showing up for messages that were in fact delivered a few minutes later.
  • WhatsApp - fixed: the connection is no longer closed from underneath a message that is still being prepared. Attaching an invoice PDF can take longer than the idle timer that closes an unused connection, so the connection disappeared mid-send.
v0.25.170
2026-09-08
  • Customers - changed: a price of 0 now means the customer is free, and it stays 0. Setting 0 used to be read as "no price set" and quietly billed them the package price instead. To go back to the package price, empty the field rather than zeroing it - the hint under the box says so.
  • Customers - fixed: opening a customer and saving no longer copies the package price onto them as a fixed price. The form was pre-filled with the price shown in the list, which for most customers is simply their package price, so saving any unrelated edit - a phone number, an address - pinned that amount to the customer for good and later package price changes no longer reached them.
  • Customers - fixed: clearing the price field now really removes the fixed price. Emptying the box saved without complaint but left the old amount in place.
  • Customers - changed: the customer CSV export now writes only the customer's own price, left blank when they follow their package. It used to write the package price for everyone, so re-importing that file pinned a fixed price on every customer at once.
v0.25.166
2026-09-07
  • WhatsApp - changed: sending is now much more cautious. Fewer people are messaged per day, and no more than a dozen new numbers in any one hour. A number that has just been connected starts slower still and works up over about two weeks. A WhatsApp number was blocked after reaching 80 new customers in 40 minutes, and spacing messages apart was not enough on its own - how many strangers a number reaches, and how new it is, matter more than the speed.
  • WhatsApp - added: sending now stops on its own if WhatsApp appears to be quietly blocking the number. When messages stop being confirmed as delivered, scheduled sends pause for a few hours and the settings page says so. Previously a blocked number kept accepting messages that were never delivered, and everything looked normal right up until the number was lost.
  • WhatsApp - changed: reconnecting a different number now restarts its warm-up from the beginning instead of treating it as an established one.
v0.25.163
2026-09-06
  • WhatsApp - added: the settings page now shows how many messages are still queued and roughly when the queue will be cleared. Sends are spaced 25 to 45 seconds apart on purpose, so until now a queued message and a lost one looked exactly the same. When the queue is stuck because WhatsApp is disconnected it says so plainly instead of guessing a time - nothing sends until the connection is back.
v0.25.162
2026-09-06
  • WhatsApp - fixed: a message whose WhatsApp session was disconnected used to be fired at the dead connection anyway, burn its three retries in about half a minute and vanish. It now waits for the session to come back - rechecking every 5 minutes for up to 24 hours - and sends once WhatsApp is connected again. Text messages that failed this way also left no trace at all in the send history; every failure is now recorded with its reason.
  • WhatsApp history - added: the send history can be searched by phone number or message text, filtered to failed or sent only, and paged through. Before this it showed one unfiltered page of the newest 50 with failures on top, so a bad day pushed every successful send out of sight.
  • WhatsApp history - added: a resend button on each failed message, which re-queues the exact text that was sent to the same recipient. Messages logged before this release did not keep their text and cannot be resent.
  • Email settings - fixed: the Email Notifications panel always claimed SMTP was "not configured" and the test-send button always failed, on every company, since the panel shipped. Both now work.
v0.25.158
2026-09-06
  • Ticket assignment - added: a technician can now be notified by email as well as WhatsApp when a ticket is handed to them. The switch sits in Company settings under Email Notifications, is off until you turn it on, and works independently of the WhatsApp switch - leave both on and the technician gets both. The address used is the technician's own login email, the subject and body can be customised (leaving the body blank reuses your WhatsApp ticket text), and these staff emails are never held back by the daily sending limit.
v0.25.157
2026-09-04
  • Client dialog - fixed: with billing and WhatsApp on, the row of buttons at the bottom of the edit dialog was wider than the dialog itself, so the whole thing slid left and right. "Tandai dismantle" is now the same unplug icon the client list uses (its wording still shows on a phone, where the buttons stack), which brings the row back inside the dialog; any dialog whose buttons still do not fit now wraps them onto a second line instead of growing sideways.
v0.25.156
2026-09-04
  • Location picker - changed: the map dialog now fills 80% of the screen instead of a small box, so a pin can be aimed at the right house without panning through a letterbox.
  • Location picker - fixed: the map no longer opens in the middle of the sea. It starts on the client's own coordinate when there is one, otherwise where you last confirmed a pin on this computer, and only falls back to the whole-Indonesia view on a browser that has never picked a location. Opening a client that already has a coordinate no longer jumps away to your own position.
v0.25.154
2026-09-04
  • Map - changed: the map now zooms in half steps. One scroll notch used to jump a whole level (two on some mice), overshooting the block you were aiming at; it now moves half a level at a time, and the + / − buttons follow the same step. Both the network map and the coordinate picker behave this way.
v0.25.153
2026-09-04
  • Dropdowns - changed: a closed dropdown now always stays on one line — a label too long for the box is shortened with "…" instead of wrapping onto a second line and making the filter row look ragged. The open list still shows every option in full, and the status, service and type filters were widened so their normal wording fits without being shortened at all.
v0.25.152
2026-09-04
  • Dropdowns - fixed: a chosen option showed its internal value instead of its wording — the client list status filter read "DISMANTLE_PENDING" rather than "Proses dismantle", and filters keyed on an id showed the id. Every dropdown in the app now shows the option's own label.
  • Dropdowns - changed: a long option is no longer cut off at the edge of the box — it wraps onto a second line, both in the open list and in the closed field.
v0.25.150
2026-09-04
  • Client list - new: a client can be marked for dismantle straight from their detail dialog, not only from the row actions.
  • Client list - fixed: after a dismantle ticket was resolved the list kept showing the client as still being dismantled, and the "Equipment returned" action then failed with "client is not pending dismantle".
  • Client list - changed: marking the equipment as returned by hand now closes the open dismantle visit, so no technician is left holding a job nobody needs.
  • Client list - changed: deleting a client whose dismantle visit never happened now warns that the equipment is being written off and asks you to confirm; deleting any client cancels every ticket still open for them.
  • Client list - changed: the isolir toggle is hidden while a client is being dismantled — the dismantle already cut the service, and un-isolir would not bring them back.
  • Confirmations - changed: the last browser pop-up confirmations (equipment returned, dismantle reversal, revoking a trusted device, deleting an ONU profile) are now proper in-app dialogs, translated and styled like everything else.
v0.25.144
2026-09-04
  • Client list - new: mark a client for dismantle. The service is cut straight away and a dismantle ticket is created for the visit; closing that ticket marks the client ready to remove, while a cancelled visit deliberately leaves it pending. The decision can be reversed, which restores the service and calls off the ticket.
  • Client list - changed: deleting a client who still owes money is now blocked instead of quietly hiding the debt. The confirmation dialog lists the unpaid invoices with the total and offers to write them off, which needs the invoice management right.
  • Billing - changed: a client being dismantled stops being invoiced, reminded and auto-isolated, and no longer counts towards your package quota or on-demand charge.
v0.25.141
2026-09-04
  • Subscription ledger - fixed: the superadmin subscription invoice list showed "No data" and Rp 0 totals even when invoices existed, and the On-demand kind filter matched nothing.
v0.25.140
2026-09-04
  • Billing page - fixed: the subscription expiry date could appear one day early for a moment before the page corrected itself. Dates on the page now always follow WIB.
v0.25.139
2026-09-04
  • On-demand bill for yearly plans - fixed: the billing page showed the whole plan price as the amount due (Rp 775.890 instead of Rp 111.000), and paying it raised a full plan invoice that switched the yearly subscription to monthly.
v0.25.138
2026-09-04
  • On-demand billing for yearly plans - fixed: a yearly company over its quota was being sent a full monthly plan invoice every day instead of one on-demand invoice per month.
  • Adding clients is blocked while on-demand invoices are unpaid - two unpaid on-demand invoices, or one older than 45 days, and new clients (single or CSV import) are refused until they are settled. Existing subscribers are never disconnected.
v0.25.136
2026-09-04
  • On-demand billing for yearly plans & accrual - Companies on a yearly plan over their client quota now get a monthly on-demand invoice too, just like free plans. Unpaid on-demand overage builds up on the subscription page and can be settled in one go from the Pay button.
v0.25.135
2026-09-03
  • Subscription ledger - Providers can now see every company's subscription invoices in one place, filter by tenant, status and type, and export the whole month to CSV. The on-demand (over-quota) bills are shown side by side with regular renewals.
  • Usage quota & on-demand billing - The subscription page now shows how many clients you have against your plan's quota, and each plan's exact price breakdown (base, over-quota, PPN, total). Companies over their free quota get an on-demand bill they can pay right away.
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