# JagProject 28.8.1 — Final Update

**Tanggal rilis:** 13 Agustus 2026 (WITA)

## Perubahan utama

- Patch `28.8.1` diterbitkan karena versi `28.8.0` sudah terdaftar di npm dan tidak dapat ditimpa.
- Menambahkan dokumentasi AI Rich dan format ringkas `richResponse` / `code` pada `sendMessage()`.
- Memperluas dokumentasi dan kompatibilitas builder `sock.AIRich` JagProject.
- Menambahkan alias runtime dan TypeScript `addMetadata()` serta `addSuggestion()` sambil mempertahankan `addTip()` / `addSuggest()` untuk kompatibilitas.
- Menambahkan contoh penggunaan `addTable()`, `addSource()`, `addReels()`, `addImage()`, `addVideo()`, `addProduct()`, `addPost()`, metadata, suggestion, raw section, `build()`, dan `send()` di README.
- Memperbarui contoh AI Rich agar langsung membalas room aktif melalui `m.chat`, dengan fallback `m.key.remoteJid` untuk event `messages.upsert` mentah.
- Menambahkan runtime `MessageRetryManager` agar sesuai dengan deklarasi TypeScript yang sebelumnya sudah ada.
- Menambahkan `getSenderJid(msg)`.
- Menambahkan `captureEventStream()` dan `readAndEmitEventStream()` untuk debugging/replay event.
- Menambahkan runtime `getRawMediaUploadData()` yang dibutuhkan upload cover bisnis.
- Menambahkan Communities runtime yang sebelumnya hanya memiliki deklarasi TypeScript.
- Mengekspos `newsletterQuery()`, `newsletterWMexQuery()`, dan `newsletterFetchAllParticipating()`.
- Menambahkan helper kompatibilitas `useSingleFileAuthState()` dan `useMongoFileAuthState()` (multi-file tetap direkomendasikan).
- Mengaktifkan `updateBussinesProfile()`, `updateCoverPhoto()`, dan `removeCoverPhoto()` pada socket bisnis.
- Mengisi runtime constant `CALL_VIDEO_PREFIX`, `CALL_AUDIO_PREFIX`, `UPLOAD_TIMEOUT`, dan `MIN_UPLOAD_INTERVAL` yang sebelumnya sudah dideklarasikan di TypeScript.
- Menjaga implementasi AI Rich tetap fokus pada API JagProject tanpa branding atau metadata sertifikasi eksternal.

## Kompatibilitas

- Package: `jagproject@28.8.1`
- Node.js: `>=20.0.0`
- Dependensi `jagproject-libsignal` tetap `28.7.0` agar tidak menunjuk ke versi dependency yang belum dipastikan tersedia di npm.

## Validasi

- `node ./scripts/validate-package.cjs` berhasil untuk seluruh JavaScript `lib` dan `WAProto`.
- `npm pack --ignore-scripts --dry-run` berhasil dan memasukkan file AI Rich/retry/event utility baru.
