DokuWiki Plugin Updates and a Happy New Year! đ„
Newsletter from December 8, 2025
Hello Subscriber
The year is coming to a close, and we hope you had a productive one thanks to your wiki. We have a few final DokuWiki-related news items for you before we say: happy holidays and a wonderful new year!
Until next year,
your CosmoCode DokuWiki Team đ„
DW2PDF Refactoring
The dw2pdf Plugin allows you to export one or more wiki pages as PDFs, optionally with your own CI design. It is one of the most popular plugins â about a quarter of all DokuWiki installations include it. It was initially released by Luigi Micco in 2010 and has since been maintained by the community, most notably by Gerrit Uitslag and Andreas Gohr.
Unfortunately, with the new features and changes introduced over the years, maintaining it became increasingly difficult. When one of our customers requested a way to integrate the IndexMenu sorting feature with PDF exports, it became clear that the time for refactoring had come.
The plugin's monolithic approach (aka "spaghetti code" đ) has been restructured into a class-based design that cleanly separates different concerns. During this process, several subtle bugs in rendering and caching were discovered and fixed. A whole set of new unit tests has been added to make future changes more robust. The plugin now also uses the updated mpdf library and is PHP 8.4 compatible. And last but not least, a new plugin event was introduced to address our customerâs request for IndexMenu integration.
The changes are currently being reviewed in a pull request. Our Business Plugin Partners can already try out the new version through our CosmoCode Plugin.
Plugin Maintenance
One goal of the DokuWiki Business Plugin Partner Program is to co-finance the maintenance of the many plugins we have released for DokuWiki over the years. The following plugins received smaller cleanups and updates in the last few months:
- Tagging Plugin (keyword tagging for DokuWiki pages)
- fixed cloud display
- replaced the use of deprecated SQLite plugin methods
- ImgPaste Plugin (upload new images via copy & paste)
- added support for images when pasting HTML into the Prosemirror Plugin editor
- Diagrams Plugin (edit diagrams directly in DokuWiki)
- fixed issues with ACL handling and external images
- fixed issues with PDF export
- StructNotification Plugin (email notifications based on struct data)
- added filter mechanism
- fixed issues with command-line support
- Farmer Plugin (one DokuWiki installation to run multiple wikis)
- improved animal detection and handling of missing animals
- dependency updates
- QuickSubscribe Plugin (one-click email page subscriptions)
- Librarian compatibility fixes
In addition to these code changes, we reviewed and triaged dozens of issues and pull requests.
Newsletter and Archive Available to the Public
If you're reading this newsletter, youâre likely a current or former CosmoCode customer or have been in contact with us about DokuWiki at some point. We believe this newsletter is useful to keep you up to date on our DokuWiki work â and it might also be valuable to people we havenât yet been in contact with.
Thatâs why weâve decided to open up the subscription to anyone interested. So if you know someone who might benefit from this little newsletter, feel free to share our Subscription Form.
And if you missed previous issues or want to revisit a past one, you can now find them all in the archive on our website.
And whether youâre new here or not: if you have any suggestions or feedback for the newsletter, just hit reply and let us know!
General Availability of Plugins
When we started the Business Partner Program, we promised that larger updates and new plugins would be released to our partners first and made generally available later. Since our last newsletter, two such public releases have been made:
- The AIChat Plugin received a major update including better support for local LLMs and third-party OpenAI-compatible APIs, as well as new mechanisms to influence context: âcurrent page onlyâ and âfull page per matching chunk.â The latter, in particular, has proven quite useful with large-context LLMs.
Apropos local models: we recently set up the AIChat plugin using Ollama at a customer's location. Experimentation with different models revealed
gpt-oss:20bas our favorite in regards to performance and capability.
- We also released our full rewrite of the Statistics Plugin, which we presented in the last newsletter. The plugin is now SQLite-based and thus much easier to install â no external dependencies or database setup required.
So if youâre not yet a partner, enjoy these updates â and consider joining!