github gamosoft/NoteDiscovery v0.31.0
v0.31.0 - Plugin system slight rework

5 hours ago

What's Changed

Plugins

  • Hooks now have an explicit contract: each declares its replaceable argument and type, so on_search can finally replace search results. Return a value to replace, None to leave alone; wrong types and exceptions are logged and skipped, so one bad plugin can't take down a request
  • New setup(ctx) giving plugins the vault path, config and their own logger
  • New get_routes(), mounted at /api/plugins/<id>/, note_stats now serves its own /calculate instead of it being hardcoded in main.py
  • New plugins/contrib/ folder for community plugins, ignored by the loader until you copy one into plugins/
  • Existing plugins keep working: run_hook(), run_hook_with_return() and in-place list mutation are unchanged

Fixes

  • Wikilinks now resolve to absolute URLs, so a link to a note in another folder works when opened in a new tab, copied or shared instead of silently landing on the homepage, thanks @nopoz (#285)
  • Root-relative links to a missing note no longer offer to create it with a leading slash in the filename (#289)
  • CORS no longer allows credentials when origins are set to wildcard, thanks @anupamme (#278)
  • note_stats metrics that disagreed with the numbers shown in the frontend (#286)

Performance and UI

  • Mermaid loads on the first diagram instead of on every page load
  • Version-addressed static assets are now cached immutably
  • Better options navigation on mobile (#283)

Docker Images

This release is available as a Docker image:

docker pull ghcr.io/gamosoft/NoteDiscovery:0.31.0

Full Changelog: v0.30.1...v0.31.0

Don't miss a new NoteDiscovery release

NewReleases is sending notifications on new releases.