@xbibzlibrary/whatsbibz 1.3.1 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,99 +1,128 @@
1
- # Changelog — @xbibzlibrary/whatsbibz
2
-
3
- ## 1.3.1 — patch pasca-rilis (2026-09-03)
4
-
5
- - `creds.update` → `saveCreds` kini menangani kegagalan tulis (folder sesi hilang/ENOENT saat wipe atau `close()` di tengah jalan):
6
- sebelumnya menjadi *unhandled rejection* yang bisa mematikan proses; `pairing.start()`/`printQR` juga dibungkus penanganan error.
7
- - Test: +1 `lifecycle.test.js` (folder sesi dihapus saat client hidup → tidak ada unhandled rejection).
8
-
9
- ## 1.3.0 — identitas perangkat tertaut: kustom atau otomatis; rilis npm `@xbibzlibrary/whatsbibz` (2026-09-03)
10
-
11
- - **Dipublish ke npm sebagai `@xbibzlibrary/whatsbibz`** (nama tampilan *WhatsBibz*; API `createBibzWhats`/`BIBZWHATS_*`
12
- tidak berubah, ditambah alias `createWhatsBibz`, `makeWhatsBibzSocket`, `Browsers.whatsbibz`, `BIBZWHATS_PACKAGE`).
13
- - Logo baru (gelembung + buku, `assets/logo/preview.png`) menggantikan set vektor "b"; ikon/ICO/banner diturunkan ulang.
14
- - `prepublishOnly` menjalankan seluruh test + `scripts/check.js`, jadi rilis rusak tidak bisa terpublish.
15
-
16
- - **Identitas perangkat tertaut: kustom atau otomatis** (`lib/BibzWhats/device-identity.js`). Default `identity: 'auto'`
17
- memilih profil paling stabil (Mac OS/Chrome) dan **berpindah otomatis** bila server menolak (428 sebelum QR / 400 pairing /
18
- 405) — diuji live: 428→pindah→pairing OK dalam 2,5 s; 400→pindah→sambung ulang→pairing OK dalam 3 s. Profil yang berhasil
19
- disimpan di `<authDir>/identity.json` (bertahan melewati wipe sesi) agar nama perangkat konsisten antar restart.
20
- Kustom lewat `identity` (tuple / `'archLinux:Firefox'` / `'Mac OS/Safari/15.6.1'` / id profil), alias lama `browser`,
21
- atau env `BIBZ_BROWSER` / `BIBZ_DEVICE_OS|BROWSER|VERSION` — dipakai apa adanya, tidak pernah diganti diam-diam.
22
- Event baru `identity-changed`; `client.identity` kini {mode, source, profileId, linkedDeviceName, pairingDisplay, tried}.
23
- `createPairingController` mendapat hook `onRejected`.
24
- - **Perbaikan hasil uji produksi (ditemukan saat verifikasi rilis):**
25
- - `close()` kini membatalkan reconnect yang sudah terjadwal & `connect()` menolak berjalan setelah ditutup — sebelumnya setiap
26
- client meninggalkan satu timer hidup (proses tidak bisa keluar sendiri, socket "hantu" bisa tersambung lagi). Diuji 40 siklus
27
- create→close offline + 3 siklus live: 0 timer tersisa, heap stabil (Δ 3 MB).
28
- - Putus jaringan setelah pairing code terbit: server menjawab **401 "pairing tertunda"** untuk kredensial yang sama. Dulu itu
29
- dihitung sebagai wipe 401 biasa (jeda 10 s + 10 s, dan mengikis kuota `maxSessionWipes`). Kini dikenali: kredensial diganti,
30
- kode diminta ulang dalam 2 s, tidak mengurangi kuota; percobaan pertama setelah putus jaringan pada koneksi sehat = 1 s
31
- (bukan backoff 10 s). Live: pairing code kedua terbit 10 s setelah putus paksa (sebelumnya 22 s).
32
- - **TypeScript**: `WAProto/index.d.ts` dibangkitkan ulang (866 KB, 217 namespace proto — upstream mengirim berkas 2 baris kosong
33
- sehingga `import { proto }` gagal kompilasi); `@types/ws` & `long` jadi dependensi; `.d.ts` tidak lagi bergantung pada
34
- deklarasi `whatsapp-rust-bridge` yang rusak. Konsumen TS kini lolos `tsc --strict` bahkan dengan `skipLibCheck: false`.
35
- - Versi WA Web bawaan → 2.3000.1046721733 (server 2026-09-03 siang).
36
- - Test: 54 offline (+3 `lifecycle.test.js`, +2 pemulihan pairing) + 11 live. Node 20/22/24/26 hijau.
37
- - Bot tidak diubah: `conn/connection.js` masih meneruskan `browser` eksplisit (mode kustom, identitas valid).
38
-
39
- ## 1.2.0 — identitas platform Mac OS & Arch Linux (2026-09-03)
40
- Diukur langsung ke server produksi WhatsApp (WA Web 2.3000.1046672143) dengan 70+ kombinasi identitas; semua hasil
41
- ada di `BibzWhats/test/identity-live.test.js` dan laporan `VERIFIKASI-IDENTITAS-2026-09-03.md`.
42
- - **`Browsers.macOS('Desktop')` + `syncFullHistory` kini berhasil**: `WebSubPlatform.DARWIN` ditutup server (428 sebelum QR,
43
- upstream masih mengirimnya) → BibzWhats mengirim `WEB_BROWSER` dan riwayat penuh tetap diminta lewat `requireFullSync`.
44
- - **`companion_platform_display` (pairing kode) memakai allow-list hasil ukur**: `Arch Linux`, `Desktop`, nama produk,
45
- `Mac OS X`, `GNU/Linux` dll. ditolak 400 oleh server. Modul baru `lib/Utils/platform-identity.js` menurunkan nilai yang
46
- pasti valid (`derivePairingDisplay`): Arch Linux → `Chrome (Linux)`, Mac OS Desktop → `Chrome (Mac OS)`, nama produk → OS host.
47
- Nama di *Perangkat tertaut* (`DeviceProps.os`) tetap apa adanya ("Arch Linux").
48
- - Preset baru `Browsers.archLinux(b)` = `['Arch Linux', b, '6.12.44']`, `Browsers.linux(b)`; `Browsers.macOS` → versi `15.6.1`;
49
- `Browsers.appropriate` membaca distro dari `/etc/os-release` (Arch → "Arch Linux", bukan "Ubuntu").
50
- - Opsi socket baru: `companionPlatformId`, `webSubPlatform` (override eksplisit, angka enum atau nama).
51
- - `createBibzWhats`: `lintIdentity` memberi peringatan dini bila `companionPlatformDisplay` pasti 400; properti `client.identity`.
52
- - Pesan error 400 di `PairingController` diperbaiki (menyebut allow-list, bukan menyarankan 'Chrome (Windows)' saja).
53
- - Versi WA Web fallback → 2.3000.1046672143 (live 2026-09-03). Test: 37 offline (+11 identitas) + 5 live (`npm run test:live`),
54
- lulus di Node 20.20 / 22.23 (Arch `nodejs-lts-jod`, brew `node@22`) / 24.20 / 26.8 (Arch `nodejs`, brew `node`).
55
-
56
- ## Library baru: `BibzWhats/` (package `bibzwhats` 1.0.0)
57
- - Fork vendored penuh dari `ourin-baileys@9.0.21` (Baileys v7). Semua API lama diekspor apa adanya → kompatibel 100%.
58
- - **Handler `companion_reg_refresh` tertanam di source** (`lib/Socket/socket.js` + `lib/Utils/companion-reg-client-utils.js`).
59
- Tidak ada lagi `scripts/patch-baileys.js` maupun `postinstall`.
60
- - Rebrand: `Dugong` → `BibzWhatsEngine` (`lib/Socket/engine.js`), `sock.ourin` → `sock.bibz` (alias `sock.ourin` tetap),
61
- logger class `bibzwhats`, publisher sticker pack `BibzWhats`, `Browsers.bibzwhats('Chrome')`, alias tipe `BibzWhatsEventMap`, dsb.
62
- - Keamanan/etika: **auto-follow newsletter/channel dimatikan** (`autoFollowNewsletterOnConnect=false`, JID default kosong).
63
- - Lapisan API baru (`lib/BibzWhats/`):
64
- - `createBibzWhats(opts)` — versi WA web terbaru per connect, pairing code custom/acak + fallback QR,
65
- 515 → reconnect, backoff reconnect, wipe sesi otomatis (401/500/411/korup, maks 3×), cache metadata grup, event emitter.
66
- - `createPairingController` (dipindahkan dari `conn/connection.js` bot, perilaku identik + opsi `refreshMs/backoffMaxMs`).
67
- - Helper: `sendText` (split ≤4000 + retry + whatsappify), `sendMedia` (fallback dokumen), `react`, `presence`,
68
- `extractMessage`/`unwrapMessage`/`messageTimestampMs`, `LidMap` + util JID.
69
- - Source map dibuang (ukuran paket 4.1 MB terkompres / 19.8 MB unpacked); `.d.ts` dilengkapi untuk modul baru + Modded/VoIP.
70
- - Test: `npm --prefix BibzWhats test` (13 test) dan `scripts/check.js` (verifikasi export).
71
-
72
- ## Perubahan di bot
73
- - `package.json`: `"bibzwhats": "file:./BibzWhats"` menggantikan `"baileys": "npm:ourin-baileys"`; `postinstall` & langkah
74
- `patch-baileys` di `start` dihapus; `npm test` juga menjalankan test library.
75
- - `conn/connection.js`: kini tipis — memakai `createBibzWhats`, hanya banner pairing/QR + callback. Export lama
76
- (`createPairingController`, `wipeAuthDir`, `PAIRING_REFRESH_MS`, `makeSocketNetworkOptions`) dipertahankan untuk tests.
77
- - `server.js`: import `downloadMediaMessage` dari `bibzwhats`; import patch dihapus.
78
- - `tests/patch-baileys.test.js` → diganti `tests/bibzwhats-integration.test.js`.
79
- - Dockerfile menyalin `BibzWhats/` sebelum `npm install`; `.gitignore`/`.dockerignore` mengabaikan `BibzWhats/node_modules/`.
80
- - README, egg, komentar diperbarui.
81
-
82
- ## Hasil verifikasi
83
- - `node --check` semua file: OK. Import graph `server.js` → `bibzwhats`: OK (322 export).
84
- - Test bot: 338/341 lulus (2 gagal = `ffmpeg` tidak terpasang di sandbox, bukan terkait library; 1 skipped).
85
- - Smoke test nyata ke server WhatsApp: handshake noise + `pair-device` diterima, QR ter-generate & di-refresh (60 dtk) — jalur pairing hidup.
86
-
87
- ## 1.1.0 — sinkron protokol WhatsApp Web (2026-09-02)
88
- Verifikasi ulang terhadap `web.whatsapp.com` (client_revision **1046603545**), Baileys `7.0.0-rc14` + master, dan issue/PR upstream Agustus 2026.
89
- Temuan: basis ourin 9.0.21 = Baileys rc10; ada patch rc11–rc14/master yang belum masuk. Semua di-port ke `BibzWhats/lib`:
90
- - **WIN32 → WIN_HYBRID** (`validate-connection.js`, upstream #2741): sejak ~2026-06-30 server menolak handshake (428 sebelum QR) untuk `Browsers.windows('Desktop')`.
91
- - **Versi WA Web bawaan** `2.3000.1043857760` → **`2.3000.1046603545`** (Defaults + generics + `BIBZWHATS_WA_WEB_VERSION`); `createBibzWhats` tidak lagi menurunkan versi bila fetch gagal (issue #2777).
92
- - **`requestPairingCode`** (PR #2769): `query()` bukan `sendNode()`, `creds.me` disimpan hanya setelah server ACK, timeout → error 408, opsi `companionPlatformDisplay` & `pairingRequestTimeoutMs`. `PairingController` mengenali 400 bad-request / timeout dengan pesan yang jelas (`isRegistrationRejected`, `isTimeoutError`, `pairingErrorCode`).
93
- - **tctoken** (rc11+/#2607): atribut `t`, token kedaluwarsa (~28 hari)/tanpa timestamp dibuang, `profilePictureUrl` menyarangkan token di `<picture>` dan melewatinya untuk JID sendiri/grup.
94
- - **Guard `protocolMessage` self-only** (rc12), **`Browsers.android()`** + platform ANDROID (#2201), **`groupOnlineCount`** (#2545), **presence tanpa nama tidak dikirim** (PR #2789), **`directPath` diutamakan** saat download (PR #2778), **`lottieStickerMessage`** di-unwrap (PR #2776), **guard dispatcher fetch** (#2557), **cleanup memori** `ev.destroy()`/`signalRepository.close()`/`registerSocketEndHandler` (#2191).
95
- - Deps: `whatsapp-rust-bridge` 0.5.2 → **0.5.5**, `protobufjs` ^7.5.6, `music-metadata` ^11.12.3. `.d.ts` diperbarui.
96
- - `createBibzWhats`: event **`ready` kini per socket baru** (start + tiap reconnect; `readyOnEveryConnect:false` = perilaku lama) + event `first-ready`. Memperbaiki bug lama bot: setelah reconnect handler pesan tidak terpasang di socket baru.
97
- - Bot: `conn/connection.js` memakai `readyOnEveryConnect` + env `BIBZ_PLATFORM_DISPLAY`; test `tests/bibzwhats-integration.test.js` +1, library `test/compat-2026-09.test.js` (12 test).
98
- - **Bugfix `client.sock`**: getter dilewatkan lewat `Object.assign` → nilainya disalin sekali dan membeku di socket pertama setelah reconnect (ditemukan smoke test reconnect). Kini `Object.defineProperty` — `client.sock` selalu socket aktif.
99
- - Verifikasi: library 26/26 test; smoke test nyata: handshake + QR OK dengan versi 2.3000.1046603545, `requestPairingCode` kini melempar error (bukan sukses palsu) dan `creds.me` tetap kosong.
1
+ # Changelog
2
+
3
+ All notable changes to `@xbibzlibrary/whatsbibz` are documented here.
4
+ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and the project uses [Semantic Versioning](https://semver.org/).
5
+
6
+ Each entry ends with a short Indonesian summary (*Ringkasan*).
7
+
8
+ ## [Unreleased]
9
+
10
+ ## [1.3.2] — 2026-09-05
11
+
12
+ ### Changed
13
+ - Built-in WhatsApp Web version → `2.3000.1046874154` (still fetched live on every connect when `fetchLatestVersion` is on).
14
+ - README logo is served from jsDelivr (`cdn.jsdelivr.net/gh/XbibzOfficial777/whatsbibz@main/…`) so it renders on npm as well as on GitHub.
15
+ - `package.json` now carries `repository`, `bugs` and `homepage`, so npm links back to GitHub.
16
+
17
+ No runtime behaviour changes.
18
+
19
+ *Ringkasan: versi WA Web tertanam diperbarui, logo README lewat jsDelivr, metadata repo di package.json. Tidak ada perubahan perilaku.*
20
+
21
+ ## [1.3.1] — 2026-09-03
22
+
23
+ ### Fixed
24
+ - `saveCreds` failures on `creds.update` (session folder removed by a wipe or by `close()` mid-write) were unhandled promise rejections that could terminate the host process. They are now caught and logged; `ENOENT` is reported as a warning.
25
+ - `pairing.start()` and the QR printer are wrapped so a rejected promise can no longer escape the event handler.
26
+
27
+ ### Tests
28
+ - `lifecycle.test.js`: deleting the session folder while the client is alive produces no unhandled rejection.
29
+
30
+ *Ringkasan: kegagalan menulis kredensial saat folder sesi hilang tidak lagi mematikan proses.*
31
+
32
+ ## [1.3.0] — 2026-09-03
33
+
34
+ First release under the name **`@xbibzlibrary/whatsbibz`** (display name *WhatsBibz*). Previously distributed as the vendored package `bibzwhats`.
35
+
36
+ ### Added
37
+ - **Configurable or automatic linked-device identity** (`lib/BibzWhats/device-identity.js`).
38
+ - `identity: 'auto'` (default) starts with the most stable profile (`Mac OS / Chrome`) and rotates to the next one only when the server rejects it — `428` before QR, `400 bad-request` at pairing, or `405`. Measured live: `428` → next profile → pairing acknowledged in 2.5 s; `400` → next profile → reconnect → acknowledged in 3 s.
39
+ - The accepted profile is persisted in `<authDir>/identity.json` and survives session wipes, so the device name on the phone stays the same across restarts.
40
+ - Custom identities via `identity` (tuple, `'archLinux:Firefox'`, `'Mac OS/Safari/15.6.1'`, profile id), the legacy `browser` option, or environment variables `BIBZ_BROWSER` / `BIBZ_DEVICE_OS|BROWSER|VERSION`. Custom identities are used as is and never replaced silently.
41
+ - New event `identity-changed`; `client.identity` now exposes `{ mode, source, profileId, linkedDeviceName, pairingDisplay, pairingDisplayAccepted, tried }`.
42
+ - `createPairingController` gained an `onRejected` hook.
43
+ - Aliases `createWhatsBibz`, `makeWhatsBibzSocket`, `Browsers.whatsbibz`, and the constant `BIBZWHATS_PACKAGE`.
44
+ - Detection of **`401` with a pending pairing**: when the connection drops right after a pairing code was issued, the server answers the next connect with `401`. The client now replaces the credentials and requests a new code within 2 s without consuming the `maxSessionWipes` budget; `reconnecting` carries `pairingPending: true`.
45
+ - New logo (`assets/logo/preview.png`) with derived icons, favicon and banner.
46
+ - `prepublishOnly` runs the full test suite and the export check.
47
+
48
+ ### Changed
49
+ - First reconnect after a network drop on a healthy connection (pairing code already issued) happens after 1 s instead of the 10 s back-off step.
50
+ - Built-in WhatsApp Web version → `2.3000.1046721733`.
51
+ - `Browsers.whatsbibz()` / `Browsers.bibzwhats()` now report `WhatsBibz` as the product name.
52
+
53
+ ### Fixed
54
+ - **Leaked reconnect timers after `close()`.** Every client left one live timer behind, so processes could not exit and a "ghost" socket could reconnect. All reconnects are now scheduled through one cancellable place and `connect()` refuses to run after `close()`. Verified over 40 offline and 3 live create→close cycles.
55
+ - **TypeScript declarations.** Upstream shipped an effectively empty `WAProto/index.d.ts` (two lines), so `import { proto }` failed to compile. It is regenerated in full (217 namespaces). `@types/ws` and `long` are declared as dependencies and the library's `.d.ts` no longer depend on the broken declarations of `whatsapp-rust-bridge`. A strict consumer compiles with `skipLibCheck: false`.
56
+
57
+ ### Tests
58
+ - 54 offline tests (new: `device-identity.test.js`, `lifecycle.test.js`) on Node 20 / 22 / 24 / 26, 11 live tests against production servers (auto rotation on `428` and `400`, custom identities, negative controls, forced network drop).
59
+
60
+ *Ringkasan: identitas perangkat tertaut bisa diatur atau otomatis dengan rotasi saat ditolak server; timer bocor setelah `close()` diperbaiki; `401` pairing tertunda ditangani; deklarasi TypeScript lengkap; rilis pertama di npm sebagai `@xbibzlibrary/whatsbibz`.*
61
+
62
+ ## [1.2.0] — 2026-09-03
63
+
64
+ Measured against production servers (WhatsApp Web `2.3000.1046672143`) with more than 70 identity combinations; results in `test/identity-live.test.js` and `VERIFIKASI-IDENTITAS-2026-09-03.md`.
65
+
66
+ ### Added
67
+ - `lib/Utils/platform-identity.js`: allow-list of `companion_platform_display` values accepted at pairing and `derivePairingDisplay()` which maps any identity to a valid one (Arch Linux → `Chrome (Linux)`, Mac OS Desktop → `Chrome (Mac OS)`, product names → host OS). The text under *Linked devices* (`DeviceProps.os`) is still sent unchanged.
68
+ - Presets `Browsers.archLinux(b)` = `['Arch Linux', b, '6.12.44']` and `Browsers.linux(b)`; `Browsers.appropriate()` reads the distro from `/etc/os-release`.
69
+ - Socket options `companionPlatformId` and `webSubPlatform` for explicit overrides.
70
+ - `lintIdentity()` warns early when a `companionPlatformDisplay` override is certain to be rejected; `client.identity` property.
71
+
72
+ ### Fixed
73
+ - `Browsers.macOS('Desktop')` with `syncFullHistory` no longer fails with `428` before QR: the server has closed `WebSubPlatform.DARWIN`; `WEB_BROWSER` is advertised and full history is still requested via `requireFullSync`.
74
+ - The `400` error message from the pairing controller now explains the allow-list.
75
+
76
+ ### Changed
77
+ - `Browsers.macOS` version → `15.6.1`; built-in WhatsApp Web version → `2.3000.1046672143`.
78
+
79
+ *Ringkasan: identitas Mac OS dan Arch Linux bekerja untuk pairing code; nilai `companion_platform_display` diturunkan otomatis ke yang diterima server.*
80
+
81
+ ## [1.1.0] — 2026-09-02
82
+
83
+ Synchronised with `web.whatsapp.com` (client revision 1046603545), Baileys `7.0.0-rc14` and upstream `master`. The `ourin-baileys@9.0.21` base corresponds to Baileys rc10; the following upstream changes were ported.
84
+
85
+ ### Added
86
+ - `Browsers.android()` and the ANDROID platform (experimental, upstream #2201).
87
+ - `groupOnlineCount` in group presence updates (#2545).
88
+ - `readyOnEveryConnect` (default `true`): `ready` is emitted for every new socket so handlers are re-attached after a reconnect; `first-ready` fires once.
89
+ - `test/compat-2026-09.test.js`.
90
+
91
+ ### Changed
92
+ - `WIN32` → `WIN_HYBRID` for `Browsers.windows('Desktop')` (#2741): the server closes the handshake with `428` when `WIN32` is advertised.
93
+ - Built-in WhatsApp Web version `2.3000.1043857760` → `2.3000.1046603545`; `createBibzWhats` never downgrades the version when the fetch fails (#2777).
94
+ - `requestPairingCode` uses `query()` and stores `creds.me` only after the server acknowledgement; timeouts surface as `408`; new options `companionPlatformDisplay` and `pairingRequestTimeoutMs` (PR #2769).
95
+ - tctoken handling: `t` attribute, expired or timestamp-less tokens dropped, nested in `<picture>` for `profilePictureUrl`, skipped for own JID and groups (rc11+, #2607).
96
+ - `protocolMessage` self-only guards for history sync, app-state keys, LID migration and PDO (rc12).
97
+ - No `<presence/>` is sent on partial `creds.update` (PR #2789); media downloads prefer `directPath` (PR #2778); `lottieStickerMessage` is unwrapped (PR #2776); fetch `dispatcher` guard (#2557); `ev.destroy()`, `signalRepository.close()` and `registerSocketEndHandler` on socket end (#2191).
98
+ - Dependencies: `whatsapp-rust-bridge` 0.5.2 → 0.5.5, `protobufjs` ^7.5.6, `music-metadata` ^11.12.3.
99
+
100
+ ### Fixed
101
+ - `client.sock` was copied once through `Object.assign` and froze on the first socket after a reconnect; it is now a live getter.
102
+
103
+ *Ringkasan: patch upstream rc11–rc14/master di-port; `ready` dipancarkan untuk tiap socket baru; `client.sock` selalu socket aktif.*
104
+
105
+ ## [1.0.0] — 2026-09-01
106
+
107
+ ### Added
108
+ - Full vendored fork of `ourin-baileys@9.0.21` (Baileys v7). Every upstream export is re-exported unchanged.
109
+ - Built-in handling of the `companion_reg_refresh` / `pair-device-rotate-qr` notification (`lib/Socket/socket.js`, `lib/Utils/companion-reg-client-utils.js`): the adv secret is rotated, `creds.update` emitted and the QR re-rendered from the same ref. No `postinstall` patching required.
110
+ - High-level layer `lib/BibzWhats/`:
111
+ - `createBibzWhats(options)` — latest WhatsApp Web version per connect, custom or random pairing code with QR fallback, `515` restart handling, back-off reconnect, automatic session wipe on `401 / 500 / 411 / corrupt` (max 3), group metadata cache, event emitter API.
112
+ - `createPairingController` — single in-flight request, 150 s refresh, custom-code fallback, exponential back-off on `428` / `429`.
113
+ - Helpers `sendText` (split ≤ 4000, retry, Markdown → WhatsApp), `sendMedia` (document fallback), `react`, `presence`, `extractMessage`, `unwrapMessage`, `messageTimestampMs`, `LidMap` and JID utilities.
114
+ - Renames: `Dugong` → `BibzWhatsEngine`, `sock.ourin` → `sock.bibz` (alias kept), `Browsers.bibzwhats()`.
115
+
116
+ ### Changed
117
+ - Automatic newsletter/channel following on connect is disabled (`autoFollowNewsletterOnConnect: false`, no default JID).
118
+ - Source maps removed from the package.
119
+
120
+ *Ringkasan: fork penuh Baileys v7 dengan handler `companion_reg_refresh` tertanam dan lapisan `createBibzWhats()`.*
121
+
122
+ [Unreleased]: https://github.com/XbibzOfficial777/whatsbibz/compare/v1.3.2...HEAD
123
+ [1.3.2]: https://github.com/XbibzOfficial777/whatsbibz/compare/v1.3.1...v1.3.2
124
+ [1.3.1]: https://github.com/XbibzOfficial777/whatsbibz/compare/v1.3.0...v1.3.1
125
+ [1.3.0]: https://github.com/XbibzOfficial777/whatsbibz/releases/tag/v1.3.0
126
+ [1.2.0]: https://github.com/XbibzOfficial777/whatsbibz/releases/tag/v1.2.0
127
+ [1.1.0]: https://github.com/XbibzOfficial777/whatsbibz/releases/tag/v1.1.0
128
+ [1.0.0]: https://github.com/XbibzOfficial777/whatsbibz/releases/tag/v1.0.0