·
3 commits
to main
since this release
BunnyPad v11.1 “Bun Valley (FPL 1)” Changelog
Known issues
- Character Map feature is temporarily disabled and will return in a future migration as an add-on.
- Built-in Cryptography Tool has been removed and is planned to be reintroduced via an external/add-on workflow.
Important notes
- This release has not been extensively stability tested, and it has not been tested on Windows Vista or lower. OCAPI for Windows XP may improve compatibility, but BunnyPad is not supported with win32ss’ SecondSystem compatibility layer because it is proprietary and paywalled.
- v11-FPL1 may be the last BunnyPad version compiled with PyInstaller. If a v11-FPL2 build happens it will likely still use PyInstaller, but v12 and above are planned to be built with nuitka.
- Contributions are needed, both in code and in donations. Development time and resources for BunnyPad are limited, and Tech Stuff (teknixstuff) needs financial support to keep his apartment; any and all help is appreciated.
- BunnyPad will receive less frequent updates going forward due to development efforts shifting toward CharaROM, a crDroid fork where BunnyPad’s author (GarryStraitYT) is a core developer.
- Due to MAJOR restructuring, a reinstall is REQUIRED. Please uninstall current builds of BunnyPad before installing this one.
Major Features
Asset and Platform Handling Overhaul
- Introduced a new app data base directory system (
~/.bunnypadon desktop, Qt AppDataLocation on Android) for storing runtime assets and state. - Added an asset extraction pipeline that unifies resources for normal Python runs, PyInstaller bundles, and Android (Qt resources), ensuring icons, stylesheets, and branding assets are always available at runtime.
- Refactored icon and stylesheet loading to use a structured
assetshierarchy (icons, branding, QSS) instead of script-relative paths, improving portability between platforms and packaging targets.
UI and Dialog Improvements
- Standardized dialogs (About, System Info, Credits, Feature Not Ready, Crypto notice, etc.) to derive from the application’s default font, with scaled title sizes for consistent appearance across DPI settings.
- Improved DPI handling by configuring HighDpiScaleFactorRoundingPolicy before creating the application and adjusting pixmap device pixel ratios for sharper icons on high-resolution displays.
- Updated About, Credits, and other information dialogs to use
APP_NAMEdynamically, reflect new copyright years (up to 2026), and show the new codename “Bun Valley (FPL 1)”.
Performance Improvements
- Simplified character map rendering by disabling the heavy grid/tooltip/interaction logic and replacing it with a lightweight “feature disabled” placeholder, reducing unnecessary overhead on low-end devices.
- Reduced expensive logging and exception tracing in hot paths by removing global logging setup and replacing many logger calls with simple fallbacks or silent error handling.
- Added chunked file loading for large documents, limiting memory usage and helping prevent freezes or crashes on devices with limited RAM.
Security Enhancements
- Reworked file open logic to read files in bounded chunks with a strict character cap, providing a more robust mitigation for large-file handling issues and complementing the previous CVE-2025-59418 fix.
- Tightened handling of temporary files and autosave state by using explicit
Path-based operations and safer cleanup of temporary.bptmpfiles. - Removed bundled cryptographic implementation and associated dependencies from the core application to reduce attack surface and avoid shipping a complex crypto stack directly in the editor.
Bug Fixes & UI Improvements
- Fixed and clarified main window title management so it consistently reflects the current file and unsaved state while using the shared
APP_NAMEmetadata. - Improved Save/Open feedback with clearer status bar messages for loading, saving, autosaving, and failure conditions, including visible warnings when a file is truncated for safety.
- Refined About/Credits/System Info and other dialogs with better layout sizing (
adjustSize,setMinimumSize(sizeHint())), icon scaling, and updated textual content, including new fun phrases. - Expanded and standardized status tips for menu actions across File, Edit, Format, View, Tools, and Help menus, including explicit notices for incomplete/buggy or deprecated features.
Code Refactor & Cross-Platform
- Introduced a central app metadata section (version, codename, organization, repo identifiers) to reduce hard-coded strings and simplify future rebranding or forks.
- Refactored system information gathering to rely on the standard library and platform-specific APIs instead of external libraries, preserving OS/CPU/GPU/disk reporting while removing
psutil. - Replaced direct script-relative paths with an asset-root concept, making the codebase more robust to different run modes (source, packaged, Android).
- Simplified several exception paths (e.g., easter eggs and tool dialogs) to fail gracefully without noisy logging, improving resilience in unexpected environments.
Additional Features
- Added a new version codename field, “Bun Valley (FPL 1)”, surfaced in the About dialog as part of the internal name string.
- Expanded About dialog flavor text with additional phrases and small textual tweaks, giving users more varied and playful messages.
- Introduced a new informational Crypto dialog (“RCCMITOWOATAS CryptoTool”) that explains the removal of the old Cryptography Tool and hints at a future, more flexible implementation as an add-on.
- Adjusted the add-ons/download dialog size and contents (including updated Discord/community link text) to better reflect the project’s current direction.
Open Source Notice
- Core editor logic is further modularized around asset and platform abstractions, making it easier for contributors to understand how BunnyPad behaves in different environments and to package it for new platforms.
- Removal of nonessential third-party dependencies reduces the dependency footprint and simplifies open-source builds and audits.
Compatibility Notes
- The new asset pipeline is designed to work across standard desktop platforms and Android; existing PyQt6-based deployments should continue to function, but custom layouts relying on script-relative assets may require adjustment.
- Cryptography and character map features are now considered legacy and are expected to return in a future add-on-based model; users who relied heavily on those features should plan around their temporary unavailability in this release.
- Future releases are likely to transition to nuitka-based builds, which may change performance and compatibility characteristics compared to PyInstaller-based versions.
--- GitHub Release Notes ---
What's Changed
- Update README.md by @GarryStraitYT in #32
- v11-FPL1! by @GarryStraitYT in #37
Full Changelog: v11.0.27000.0905...v11.1.27935.0209