Repository navigation
Yapmod v0.6.0 introduces community themes and the first version of the community plugin system, making it possible to customize Yapmod beyond what the desktop application provides out of the box. It also marks a major cleanup of the injected client, a new Solid.js-based architecture, and a separation of stable and nightly client updates to make releases easier to maintain.
Highlights
- Community themes. Community themes are now supported through the Community Themes section. You can create your own themes and publish them for others to discover and use. The Yapmod website includes documentation explaining how to create a theme and submit it to the community collection.
- Community plugins. The plugin system is now officially available, allowing developers to extend Yapmod using a dedicated plugin API. Community plugins can be published through a process similar to community themes. The system is still experimental, and the API documentation is currently minimal. Both the API and its documentation will continue to evolve as the system matures.
- Custom Background plugin. The first community plugin is already available: Custom Background. It lets you customize the application's background with an image of your choice and change the accent color. This plugin was developed to make extensive use of the new plugin API and serves as an initial example of what developers can build with it.
Improvements and fixes
- Client architecture and maintainability. The injected client has undergone a major internal refactor. Previously, much of the interface was built using native DOM manipulation and manually constructed strings. The client now uses Solid.js to handle UI components and DOM updates in a more structured way. This simplifies UI development and makes the codebase easier to maintain.
- CSS separation and client cleanup. Styles that were previously embedded in JavaScript files have been moved into dedicated CSS files. The broader cleanup also removes unnecessary complexity and improves the structure of the client, laying the groundwork for more reliable future development.
- macOS interface improvements. Several adjustments have been made to improve the interface on macOS, continuing the work on making Yapmod feel more integrated with the platform.
Development and infrastructure
- Separate stable and nightly client updates. Stable and nightly releases now have independent client update channels, following an approach similar to Discord's stable and Canary clients. Previously, publishing a stable client update could depend on changes that were only available in the nightly development branch. Separating the two channels removes this dependency and allows each to evolve independently.
- Stable channel. The main branch is now dedicated to stability, security fixes, hotfixes, and maintenance. It will not receive new experimental features as part of the normal development process. This keeps stable releases focused on reliability.
- Nightly channel. The nightly branch is dedicated to ongoing development and new features. Automated builds are published daily, giving users and developers access to the latest changes before they reach the stable channel. Nightly builds may be unstable and are intended for testing.
- Experimental plugin ecosystem. The plugin infrastructure is now in place, including an API designed specifically for plugin development and a community distribution process. However, the system is still experimental. Expect further improvements to the API, additional documentation, and changes as development continues.