Skip to content

Releases: BoneFishStudio/BoneFish

BoneFish v5.5.3

Choose a tag to compare

@github-actions github-actions released this 18 Jul 09:31

v5.5.3 — Fix: FastFlags ComboBox Reset + ProductVersion Build Config

Release date: 2026-07-18

🐛 FastFlags Enum ComboBox — Nilai Tidak Bertahan

Bug: Saat FastFlags MSAA / RenderingMode / TextureQuality telah diaktifkan, membuka halaman FastFlags kembali membuat kontrol terlihat nonaktif/ter-reset ke posisi default.

Root Cause: Binding Text pada ComboBox untuk tipe enum dapat menyebabkan nilai ter-parse ulang dan mengubah state yang sudah disimpan saat halaman dibuka ulang.

Fix: Ganti Text="{Binding ...}"SelectedItem="{Binding ...}" pada 3 ComboBox:

ComboBox Properti Binding
MSAA Level SelectedMSAALevel
Rendering Mode SelectedRenderingMode
Texture Quality SelectedTextureQuality

Ketiganya kini konsisten menggunakan SelectedItem, menjaga nilai enum tetap stabil saat halaman dibuka ulang.

🔧 ProductVersion — Selalu Terisi di Semua Build Config

Bug: ProductVersion pada binary kadang kosong di Debug build, menyebabkan logic HandleUpgrade() di Installer.cs salah mendeteksi versi dan memunculkan dialog version mismatch.

Fix: Tambahkan AssemblyVersion dan AssemblyInformationalVersion eksplisit di csproj:

<AssemblyVersion>$(Version)</AssemblyVersion>
<AssemblyInformationalVersion>$(Version)</AssemblyInformationalVersion>

Dengan $(Version), cukup update <Version> di satu tempat — AssemblyVersion dan AssemblyInformationalVersion ikut otomatis. Ini memastikan FileVersionInfo.GetVersionInfo().ProductVersion selalu mengembalikan nilai yang benar di semua build config (Debug, Release, CI/CD).

Files Changed

File Perubahan
Bloxstrap/UI/Elements/Settings/Pages/FastFlagsPage.xaml 3 ComboBox: TextSelectedItem
Bloxstrap/Bloxstrap.csproj +<AssemblyVersion>, +<AssemblyInformationalVersion>

BoneFish v5.5.0

Choose a tag to compare

@github-actions github-actions released this 17 Jul 13:52

v5.5.0 — Plan 1 Fixes + Plan 2: 4 Fitur Baru 🚀

Release date: 2026-07-17

🔧 Plan 1 — FastFlag New Bug Fixes

1. 🔑 Global Hotkey Tidak Berfungsi

  • 🐛 Isu: HotkeyService cuma berjalan di Watcher process. Toggle ON/OFF di Settings cuma nyimpen setting, gak benar-benar start/stop service.
  • 🔧 Fix: ExperimentalViewModel.EnableHotkeys sekarang start/stop HotkeyService langsung dari Settings UI — gak perlu nunggu Watcher process.

2. 🎯 Crosshair Tidak Muncul

  • 🐛 Isu: CrosshairService.Instance null di Settings process karena Watcher belum jalan.
  • 🔧 Fix: ExperimentalViewModel.EnableCrosshair sekarang create & start CrosshairService secara lokal jika Instance null.

3. 🖼️ Wallpaper Tidak Terlihat di UI

  • 🐛 Isu: BackgroundImage property ada di ViewModel tapi tidak di-bind ke XAML — wallpaper gak pernah tampak.
  • 🔧 Fix: Ditambahkan ImageBrush binding + ProgressBar loading indicator. Background sekarang tampil dengan opacity 0.15.
  • 🐛 Plus: Wallpaper Tidak Full Screen — background cuma selebar konten karena di-daleman ScrollViewer.
  • 🔧 Fix: Restructure page layout: manual Grid + ScrollViewer — background sekarang full viewport! ✅

4. 🧹 Wallpaper Tidak Hapus Saat Dinonaktifkan

  • 🔧 Fix: AppBackgroundService.ClearCache() dipanggil saat disable. Random mode mati → restore saved background.

5. 📂 Custom Background Fallback images/img/

  • 🔧 Fix: Folder images/img/ otomatis discan sebagai fallback custom background. Browse default ke folder ini.

🚀 Plan 2 — 4 Fitur Baru

Fitur A 🔧 — Repair Shortcut Otomatis

  • Method baru Installer.RepairShortcuts() — verifikasi target shortcut Desktop & Start Menu, recreate jika rusak/salah path
  • UI: Tombol "🔧 Perbaiki Sekarang" di halaman Shortcuts + snackbar notifikasi hasil
  • Manual action — tidak otomatis di background, user klik sendiri saat butuh

Fitur B 🗑️ — Auto-Cleaner Cache Roblox

  • Service baru CacheCleanerService.cs — two-phase cleanup:
    1. Hapus file lebih tua dari maxAgeDays (default 14 hari)
    2. Jika total ukuran > 500MB, hapus file terlama sampai di bawah limit
  • Safety: Cek dulu apakah Roblox sedang berjalan — skip cleanup jika ada proses Roblox aktif
  • Startup: Non-blocking Task.Run di App.xaml.cs.OnStartup() — jalan sekali per sesi
  • Settings baru: EnableAutoCacheCleanup (bool, default true), CacheCleanupMaxAgeDays (int, default 14)
  • UI: Toggle "Bersihkan cache otomatis" di halaman FastFlag New (Cache & Storage section)

Fitur C 💻 — Panel System Info di UI

  • Card baru di halaman FastFlags (sebelum InfoBar warning) menampilkan:
    • CPU Cores, RAM terdeteksi, Storage type (HDD/SSD), System Tier
  • Data dari AutoOptimizeService.GetSystemInfo() (reuse method existing)
  • Auto-refresh setiap kali RequestPageReloadEvent terpicu melalui OnRequestPageReload()

Fitur D 🔋 — Mode Hemat Baterai untuk Auto-Wallpaper

  • Helper baru BatteryHelper.cs — deteksi status baterai via System.Windows.Forms.SystemInformation.PowerStatus
  • Logic: Jika EnableBatterySaverForWallpaper ON + laptop tidak dicharge + ada baterai → skip auto-refresh wallpaper
  • Fallback: PC desktop (tanpa baterai) — toggle otomatis tersembunyi dari UI
  • UI: Toggle "Hemat Baterai (Auto-Wallpaper)" di halaman FastFlag New — hanya muncul jika HasBattery() == true

Files Changed (15 files)

File Perubahan
Bloxstrap/Bloxstrap.csproj Version 5.3.0 → 5.5.0
Bloxstrap/Models/Persistable/Settings.cs +3 settings: EnableAutoCacheCleanup, CacheCleanupMaxAgeDays, EnableBatterySaverForWallpaper
Bloxstrap/Integrations/CacheCleanerService.cs NEW — auto cache cleanup service
Bloxstrap/Utility/BatteryHelper.cs NEW — battery detection utility
Bloxstrap/Installer.cs +RepairShortcuts() method
Bloxstrap/App.xaml.cs +Auto cache cleanup di startup
Bloxstrap/Integrations/AppBackgroundService.cs +Fallback images/img/ scanning
Bloxstrap/Paths.cs +CustomImagesDir, +GetCustomUserImages()
Bloxstrap/UI/ViewModels/Settings/ExperimentalViewModel.cs Fix hotkey/crosshair/wallpaper + battery saver + cache cleanup toggle
Bloxstrap/UI/Elements/Settings/Pages/ExperimentalPage.xaml Restructure full-screen background + battery/cache toggles
Bloxstrap/UI/ViewModels/Settings/FastFlagsViewModel.cs +SystemInfoText, +OnRequestPageReload()
Bloxstrap/UI/Elements/Settings/Pages/FastFlagsPage.xaml +System Info card
Bloxstrap/UI/ViewModels/Settings/ShortcutsViewModel.cs +RepairShortcutsCommand, +RequestNotificationEvent
Bloxstrap/UI/Elements/Settings/Pages/ShortcutsPage.xaml +Repair button + snackbar
Bloxstrap/UI/Elements/Settings/Pages/ShortcutsPage.xaml.cs +Notification handler

BoneFish v5.3.0

Choose a tag to compare

@github-actions github-actions released this 16 Jul 06:47

v5.3.0 — Optimasi Total: Rounding Fix, HDD Detection, Custom Wallpaper, Memory Leak Fix 🚀

Release date: 2026-07-12

🎯 PART 1 — Optimasi Performa Laptop Low-End

🔧 Rounding Trap Fix — RAM 8GB Gak Kesiplah!

Dulu: totalMemGB = bytes / (1024^3) → integer division truncate ke bawah. Laptop 8GB yang lapor 7.6GB (karena reserved BIOS/iGPU) kebaca jadi 7GB → salah klasifikasi ke LowEnd! 😤

Sekarang: Pake MB comparison dengan toleransi:

  • 8GB class → totalMemMB >= 7800 (toleransi ~200MB reserved)
  • 16GB class → totalMemMB >= 15600
  • 4GB class → totalMemMB < 3800

Laptop 8GB lo sekarang bener-bener kebaca sebagai MidRange! ✅

💾 HDD Detection — Bukan Tebak-Tebakan Lagi!

Dulu: Tebak vendor name via WMI ("Samsung", "WDC", "Kingston" dll) — sering salah, apalagi kalo vendor bikin HDD + SSD.

Sekarang: DeviceIoControl + IOCTL_STORAGE_QUERY_PROPERTY + StorageDeviceSeekPenaltyProperty:

  • Buka \\.\C: via CreateFile (volume handle, gak perlu admin)
  • Tanya driver storage: "lo punya seek penalty?" → IncursSeekPenalty = 0 = SSD, 1 = HDD
  • 100% presisi, zero dependencies (System.Management dihapus ✅)
  • Cache di static field — query cuma sekali seumur proses

🚀 HDD Balanced Preset — Otomatis Aktif!

Kalo storage lo HDD + tier LowEnd/MidRange + belom pilih preset manual → HDD Balanced otomatis ON!

Basis visual: SAMA dengan ExtremePerformance (FRM=3, texture rendah, SSAO off, LOD 250) — sudah terbukti gak bikin game gelap

+ I/O khusus HDD:

  • Thread dibatasi (FIntRuntimeMaxNumOfThreads=4) — head HDD gak oleng
  • Async compression (DFFlagEnableRequestAsyncCompression=True) — aset cepet di-download
  • Texture compositor 2 thread (DFIntTextureCompositorActiveJobs=2) — komposisi lancar
  • FPS cap 30 — kurangi render frame = kurangi I/O pipeline
  • Telemetry mati total — kurangi write ke disk

💾 Persistence Fix — Setting Lo Gak Ilang Lagi!

  • ForceExtremeMode + ExtremeModeFpsTarget: Sekarang auto Save() tiap kali diubah 🛡️
  • MainWindow closing: App.Settings.Save() dipanggil sebelum window beneran nutup — gak ada lagi setting ilang 🎯

🎨 PART 2 — Wallpaper System Overhaul

🖼️ WallpaperService.cs — DIHAPUS!

Service yang ganti wallpaper DESKTOP WINDOWS lo (bukan background app) udah dihapus total. 0 references, 0 sisa.

🎨 Custom Background — Pake Gambar Lo Sendiri!

Sekarang lo bisa pilih gambar kustom dari komputer lo sebagai wallpaper background BoneFish!

Cara pake:

  1. Buka Settings → FastFlag New → Wallpaper Background
  2. Klik Browse... → pilih file .jpg / .jpeg / .png
  3. Langsung muncul! Background random mode otomatis mati

Validasi otomatis: Kalo file ilang / rusak → fallback ke Default + log error

💾 Background Persistence — Gak Lupa Lagi!

  • SelectedBackgroundType + BackgroundRandomMode = background lo keinget terus
  • Mode Random ON: Ganti background tiap buka app
  • Mode Random OFF: Background tetap sesuai pilihan terakhir (Default/Cool/Quality/Extra/Custom)
  • Startup auto-load: Kalo random mode ON → random. Kalo ada saved type → load saved
  • Exit pre-select: Pas app ditutup, kalo random mode ON → pilih random untuk sesi berikutnya

🧹 Memory Leak Fix — CrosshairService Lazy Start

  • Dulu: Thread + dispatcher CrosshairService jalan TERUS meski EnableCrosshair = false (boros ~2-5 MB)
  • Sekarang: Instance di-set di constructor, Start() cuma dipanggil kalo crosshair beneran ON
  • Hotkey Ctrl+Shift+C tetep bisa lazy-start via Toggle() 🎯

Files Changed (13 files)

File Perubahan
AutoOptimizeService.cs Rounding trap fix, DeviceIoControl HDD detection, HDD Balanced preset, UserHasManualPreset()
Bloxstrap.csproj Version 5.1.0 → 5.3.0, hapus System.Management NuGet
Settings.cs +SelectedBackgroundType, +BackgroundRandomMode
FastFlagsViewModel.cs +try/catch Save() di ForceExtremeMode + ExtremeModeFpsTarget
MainWindow.xaml.cs +App.Settings.Save() di Closing
AppBackgroundService.cs +Custom type, +GetCustomBackgroundAsync(), +_customCache
ExperimentalViewModel.cs +Custom/Browse commands, +LoadSavedBackgroundAsync(), +BackgroundRandomMode
ExperimentalPage.xaml +Custom row, +Browse button, +Mode Random toggle
App.xaml.cs +Startup pre-select, +exit pre-select di SoftTerminate()
WallpaperService.cs DELETED

BoneFish v5.1.0

Choose a tag to compare

@github-actions github-actions released this 12 Jul 12:40

v5.1.0 — Crosshair, Hotkey, Turbo Mode, Wallpaper Restore + Memory Fix 🧹

Release date: 2026-07-12

🎯 Crosshair Overlay — Bikin Sendiri Crosshair Lo!

Bosan sama crosshair game yang jelek? Sekarang lo bisa bikin crosshair kustom sendiri! Overlay transparan di tengah layar yang bisa lo:

  • Ganti style — ada 4: Cross, Dot, Circle, sama CrossDot (campuran Cross + Dot)
  • Ganti warna — tinggal pencet salah satu dari 8 warna preset, dari ijo lime sampe putih
  • Atur ukuran — dari kecil (20px) sampe gede (200px)
  • Atur transparansi — dari 10% sampe 100%
  • Drag & drop — tinggal klik & geser ke posisi mana aja, posisinya bakal keinget terus
  • Toggle pake hotkey — pencet Ctrl+Shift+C buat munculin/sembunyiin

Dimana? Settings → FastFlag New → Crosshair. Tinggal enable, langsung muncul!

⌨️ Global Hotkeys — Pake Keyboard Buat Semua!

Bosan harus alt-tab ke settings buat matiin/ngewaktifin fitur? Sekarang lo bisa pake keyboard shortcut! Works meski BoneFish di-minimize ke system tray:

Tombol Fungsi
Ctrl+Shift+C Tampilin/Sembunyiin Crosshair
Ctrl+Shift+F Tampilin/Sembunyiin FPS Monitor
Ctrl+Shift+N Aktifin/Nonaktifin Night Vision

Bisa lo matiin kalo ganggu di Settings → FastFlag New → Enable Hotkeys.

🚀 Turbo Mode — Satu Klik, PC Lo Ngebut!

Fitur paling gacor buat laptop kentang! Tinggal toggle ON, dan BoneFish langsung:

  • Paksa Extreme Performance mode — sama kayak Potato Mode paling agresif
  • Terapin FastFlags agresif — turunin render quality, tekstur low-res, shadow dikurangin
  • Auto-reset pas restart — pas lo buka BoneFish lagi, Turbo Mode balik ke OFF otomatis. Gak bakal ngehek settingan permanen lo!

Pas di-click OFF — semua balik normal + FastFlags dihapus. Aman cuy!

🖼️ Wallpaper Background — Restored & Fixed!

Fitur wallpaper background di halaman FastFlag New balik lagi! Sekarang pake async loading jadi gak bikin UI lemot. Bisa pilih 4 wallpaper: Default, Cool, Quality, Extra.

Yang di-fix:

  • ✅ Loading pake async + MemoryStream — gak blocking UI thread kayak dulu
  • ✅ Auto-load pas buka halaman (sebelumnya cuma muncul kalo toggle manual)
  • ✅ Cache 4 gambar — gak loading ulang tiap ganti halaman

🐛 Bug Fixes — Crosshair & Hotkeys Gak Jalan

Masalah: CrosshairService & HotkeyService di-init di DALEM blok EnableActivityTracking. Artinya:

  • Kalo user matiin Activity Tracking → Crosshair & Hotkeys GAK PERNAH JALAN
  • Kalo file log Roblox ilang (self-update) → Crosshair & Hotkeys GAK PERNAH JALAN

Fix: Pindahin inisialisasi ke LUAR blok ActivityTracking. Sekarang Crosshair & Hotkeys jalan INDEPENDEN — gak peduli tracking hidup/mati.

🏷️ Rename: "Experimental" → "FastFlag New"

Halaman Experimental sekarang bernama FastFlag New biar lebih jelas isinya.

🧠 Optimasi Memory — Lazy Start & Anti Leak

1. CrosshairService — Lazy Start 🎯

  • Dulu: thread + dispatcher jalan TERUS meski crosshair mati (boros ~2-5 MB)
  • Sekarang: thread cuma dibuat kalo EnableCrosshair ON. Kalo user pencet hotkey Ctrl+Shift+C, auto lazy-start.

2. ActivityWatcher History — Auto-Prune 📜

  • History game yang pernah lo mainin sekarang auto di-prune ke max 50 entries. Gak bakal numpuk sampe ribuan.

3. DNS Cache — Auto Cleanup 🌐

  • Cache DNS yang expired (>5 menit) otomatis dibersihin tiap kali lookup. Gak numpuk.

4. HotkeyService — Constructor Pattern 🔧

  • Instance sekarang di-set di constructor (konsisten sama CrosshairService).

🔧 Fix Lainnya

  • HandleUpgrade Auto-Redirect — pas lo jalanin BoneFish versi lama dari folder download, sekarang otomatis ngarahin ke yang udah ke-install. Gak bakal muncul dialog aneh-aneh lagi.
  • 🐛 Wallpaper auto-load di startup — sebelumnya wallpaper cuma muncul kalo user toggle ON/OFF manual. Sekarang otomatis loading pas buka halaman FastFlag New! (fix: pindahin loading dari MainWindow yang salah DataContext ke ExperimentalViewModel).

BoneFish v5.0.1

Choose a tag to compare

@github-actions github-actions released this 11 Jul 04:50

v5.0.1 - FIx Installers

Release date: 2026-07

  1. Mmerpbaiki Error Yang menimpa versi terbaru

BoneFish v5.0.0

Choose a tag to compare

@github-actions github-actions released this 05 Jul 09:51

v5.0.0 - Apply & Restart, Dark Game Fix, Flag Verification & Auto-Optimize Guard

Release date: 2026-07-05

Major release — menambahkan Apply & Restart Roblox, memperbaiki root cause game gelap, verifikasi flag otomatis, dan proteksi AutoOptimizeService terhadap preset user.

New Features — 🚀 Apply & Restart Roblox

Tombol baru di halaman Fast Flags yang memungkinkan user menerapkan semua flag dan restart Roblox dalam satu klik.

Cara kerja:

  1. User pilih preset / atur flag sesuai keinginan
  2. Klik 🚀 Apply & Restart Roblox
  3. Konfirmasi dialog muncul
  4. Otomatis: Save FastFlag + Settings → Kill Roblox + system tray → Launch BoneFish bootstrapper
  5. Settings window tertutup, bootstrapper mengambil alih

Yang dilakukan:

  • Save semua App.FastFlags dan App.Settings ke disk
  • Kill proses RobloxPlayerBeta dan RobloxCrashHandler (async, UI tidak freeze)
  • Signal BoneFish-WatcherExitEvent untuk clean up system tray
  • Launch BoneFish.exe -player untuk restart dengan flag baru
  • Tutup settings window agar tidak ada 2 window aktif

New Features — ✅ FastFlag Verification (VerifyAndNotify)

Setiap kali user mengapply preset, sistem sekarang membaca kembali ClientAppSettings.json dari disk dan menghitung jumlah flag yang berhasil ditulis.

Contoh notifikasi:

  • ✅ Ultra Low aktif — 32 FastFlag berhasil ditulis ke disk.
  • ✅ Balanced aktif — 28 FastFlag berhasil ditulis ke disk.
  • ✅ Potato Mode aktif — 41 FastFlag berhasil ditulis ke disk.
  • ✅ Stable aktif — 25 FastFlag berhasil ditulis ke disk.

Tujuan: memastikan user yakin flag sudah benar-benar tersimpan sebelum restart.

New Features — ⏳ Loading Indicator

ProgressRing + teks "Menerapkan preset..." muncul saat user mengklik preset, menggantikan tombol sementara. Snackbar timeout dinaikkan dari 3 detik ke 5 detik agar user sempat membaca verifikasi.

Bug Fixes — 🌑 Game Gelap (Root Cause Found & Fixed)

Penyebab sesungguhnya ditemukan dengan membaca file ClientAppSettings.json yang BENAR-BENAR ada di disk (bukan hanya di kode):

Flag di Disk Nilai Sebelumnya Dampak
DFIntDebugFRMQualityLevelOverride 1 FRM minimum → lighting pipeline rusak total
FIntRenderShadowIntensity 0 Semua bayangan dimatikan → area gelap
DFFlagDebugPauseVoxelizer True Voxelizer dimatikan → baked lighting mati
FIntCSGVoxelizerFadeRadius 0 Tidak ada transisi lighting

3 flag terakhir (shadow=0 + voxelizer pause + fade=0) bersama FRM=1 MEMATIKAN seluruh pipeline lighting Roblox — bukan hanya mengurangi, tapi benar-benar mematikan. Ini menyebabkan game (terutama horror/RPG seperti Phasmophobia) menjadi hitam di area yang seharusnya terang.

Fix yang diterapkan:

  1. ExtremePerformance preset (FastFlagsViewModel.cs):

    • FRM: 13 (masih sangat ringan, tapi preserve lighting pipeline)
    • HAPUS FIntRenderShadowIntensity = 0 (shadow biarkan default Roblox)
    • HAPUS DFFlagDebugPauseVoxelizer = True (voxelizer biarkan jalan)
    • HAPUS FIntCSGVoxelizerFadeRadius = 0 (fade biarkan default)
  2. AutoOptimizeService (AutoOptimizeService.cs):

    • FRM: 13 (sama, untuk auto-detected low-end)
    • HAPUS 3 flag shadow/voxelizer yang sama
  3. UltraLow preset (FastFlagsViewModel.cs):

    • FRM: 15 (sedikit lebih tinggi dari Extreme, preserve lighting)

Bug Fixes — 💾 Save Order Bug (Preset Tidak Tersimpan ke Disk)

Root cause: Di ApplyUltraLowSpecPreset() dan ApplyExtremePerformancePreset(), SelectedPreset di-set SETELAH App.Settings.Save(). Jadi nama preset tidak pernah tertulis ke disk.

Akibat: Saat bootstrapper restart, AutoOptimizeService.CheckAndApply() baca SelectedPerformancePreset dari disk → preset tidak ditemukan → OVERWRITE semua flag user dengan FRM=1 + shadow=0 + voxelizer=True → game gelap.

Fix: Pindahkan SelectedPreset = "..." SEBELUM App.Settings.Save() di kedua method. Sekarang preset tertulis ke disk SEBELUM save, sehingga bootstrapper membaca nilai yang benar.

Bug Fixes — 🛡️ AutoOptimizeService Overwrite Guard

Root cause: ApplyAggressiveOptimizations() di AutoOptimizeService.cs berjalan setiap kali BoneFish launch dan OVERWRITE preset pilihan user — memaksa FRM=1, shadow=0, voxelizer=True meskipun user sudah memilih preset lain.

Fix: Early-return check di ApplyAggressiveOptimizations(): jika user sudah memilih preset manual (UltraLow/Balanced/Stable/ExtremePerformance), skip semua aggressive overrides dan return. Preset user dihormati.

Bug Fixes — 🔁 Auto-Upgrade Downgrade Loop pada HandleUpgrade()

Gejala: Dialog InstallChecker_VersionLessThanInstalled ("Versi BoneFish yang kamu jalankan adalah versi lama…") muncul tiap kali launch untuk user yang menjalankan BoneFish dari staging path auto-updater (%localappdata%\Temp\BoneFish\Updates\BoneFish.exe). Bukan cuma spam dialog — kalau user klik Yes, kode HandleUpgrade() di Installer.cs tetap lanjut ke File.Copy(Paths.Process, Paths.Application, true), yaitu staging binary di-copy ke lokasi install canonical. Kalau staging binary lebih lama dari installed, install canonical di-downgrade. Launch berikutnya: dialog fire lagi → user klik Yes → downgrade lagi. Loop tak berhingga sampai user secara manual hapus staging binary atau reinstall penuh.

Akar masalah: Di HandleUpgrade(), logika lama memblok File.Copy hanya kalau MD5 paths cocok atau kalau user klik No pada dialog. Untuk auto-upgrade session, dialog tetap ditampilkan (tidak di-skip meskipun isAutoUpgrade=true), dan setelah Yes, tidak ada cek apakah currentVer < existingVer (running < installed) — yang justru adalah kondisi downgrade yang harus di-block.

Fix yang diterapkan di Bloxstrap/Installer.cs HandleUpgrade():

  1. Pre-dialog early-return khusus auto-upgrade. Jika isAutoUpgrade=true AND currentVer < existingVer, langsung return sebelum dialog pertama sempat fire. Tidak ada File.Copy, tidak ada downgrade, tidak ada yes/no dialog.
  2. Log informatif 4 baris menggantikan dialog — user bisa langsung baca dari BoneFish_*.log apa yang terjadi dan bagaimana cara recover:
    • Versi running vs installed
    • Path staging vs path install
    • Penyebab umum (stale staging binary dari versi sebelumnya)
    • Solusi: hapus staging binary atau reinstall untuk membuat install canonical jadi build aktif
  3. Manual downgrade flow tetap utuh. Untuk run non-auto-upgrade (user klik kanan exe dari folder atau dari shortcut ke lokasi lama), dialog "older version" tetap ditampilkan dengan perilaku existing — supaya user tetap aware kalau mereka sengaja menjalankan binary lama.

Skenario yang sekarang ter-handle benar:

Skenario Sebelum fix Sesudah fix
Auto-upgrade dengan staging lebih lama (running < installed) Dialog Yes/No → kalau Yes, install canonical DOWNGRADE → loop Silent abort + log informatif + no copy
Auto-upgrade dengan staging lebih baru (running > installed) Quiet upgrade — sudah benar sebelumnya Quiet upgrade — tetap
Auto-upgrade dengan staging = installed (MD5 match) Early-return no-op — sudah benar sebelumnya Early-return no-op — tetap
Manual run dengan binary lebih lama dari install Dialog Yes/No — sudah benar sebelumnya Dialog Yes/No — tetap (perilaku existing dipertahankan)

Cara recover user yang sudah terkena downgrade loop:

  1. Delete %localappdata%\Temp\BoneFish\Updates\BoneFish.exe
  2. Run installer BoneFish dari canonical install location (%localappdata%\Programs\BoneFish\BoneFish.exe) — sekarang akan rebuild staging fresh dengan versi sama dengan install
  3. Atau reinstall penuh via unins000.exe + install dari distribusi terbaru

Performance Presets — Deskripsi Lengkap

BoneFish menyediakan 5 preset performa untuk menyesuaikan Roblox dengan spesifikasi perangkat:

🤖 Auto-Optimize (Default)

  • Target: Semua spesifikasi
  • Filosofi: Deteksi hardware otomatis, apply optimasi yang sesuai
  • Yang diatur: FRM=21, Texture=Level0, MSAA=x1, Mesh=LOD0, D3D11, Disable Animations, Low Memory Mode
  • Cocok untuk: User yang tidak ingin repot atur manual

🛡️ Stable

  • Target: Semua spesifikasi, prioritaskan stabilitas
  • Filosofi: Auto-Optimize base + Network optimization + Nonaktifkan background updates
  • Yang diatur: Sama seperti Auto-Optimize + Network flags (No Delay) + BackgroundUpdates=False + FakeBorderlessFullscreen=False
  • Cocok untuk: User yang sering crash/freeze, ingin pengalaman paling stabil

🐌 Ultra Low-Spec

  • Target: PC kentang (2 core, 2-4GB RAM, Intel HD)
  • Filosofi: Aggressif tapi TIDAK mematikan lighting
  • Yang diatur: FRM=5, Texture=Level0, MSAA=x1, LOD=250, FPS=30, LightUpdates=4, Compositor=1, Animations Off, Low Memory Mode
  • Cocok untuk: Laptop lawas, PC integrated graphics, ingin main Roblox di spek minimum

🥔 Extreme Performance (Potato Mode)

  • Target: PC paling lemah (2 core, <4GB RAM, no GPU dedicated)
  • Filosofi: Maksimal performa, pertahankan VISIBILITAS game
  • Yang diatur: FRM=3, Texture=Level0, MSAA=x1, LOD=250/500/750, FPS=24-60 (configurable), LightUpdates=4, Compositor=1, Telemetry Off, Animations Off, Low Memory Mode
  • Yang TIDAK dilakukan (perubahan dari v4.4.0):
    • ❌ TIDAK mematikan shadow (sebelumnya FIntRenderShadowIntensity=0 → game gelap)
    • ❌ TIDAK pause voxelizer (sebelumnya DFFlagDebugPauseVoxelizer=True → lighting baked mati)
    • ❌ TIDAK paksa Voxel lighting (merusak game ShadowMap/Future)
    • ❌ TIDAK disable PostFx (visual game rusak)
    • ❌ TIDAK ubah SkyGray (atmosphere berubah)
    • ❌ TIDAK ubah LightAttenuation (model lighting berubah)
  • Cocok untuk: Device paling lemah yang ingin tetap bisa MELIHAT game dengan jelas

⚖️ Balanced

  • Target: Mid-range PC (4 core, 8GB RAM)
  • Filosofi: Keseimbangan antara performa dan visual
  • **Yang ...
Read more

BoneFish v4.4.0

Choose a tag to compare

@github-actions github-actions released this 05 Jul 02:36

Automatic release for BoneFish v4.4.0

Built from commit: 93b95ae
Branch: main

BoneFish v4.3.0

Choose a tag to compare

@github-actions github-actions released this 04 Jul 15:10

Automatic release for BoneFish v4.3.0

Built from commit: 22c702c
Branch: main

BoneFish v4.0.0

Choose a tag to compare

@github-actions github-actions released this 04 Jul 03:34

Automatic release for BoneFish v4.0.0

Built from commit: 4d6596c
Branch: main

BoneFish v3.9.1

Choose a tag to compare

@github-actions github-actions released this 03 Jul 13:29

Automatic release for BoneFish v3.9.1

Built from commit: ae13ca8
Branch: main