1.5.0
⚡ Performance Optimization
Lazy-load uploader modules for faster startup
Previously, all 9 storage provider SDKs (Imgur, GitHub, AWS S3, Aliyun OSS, TencentCloud COS, Qiniu Kodo, ImageKit, Cloudflare R2, Backblaze B2) were loaded at Obsidian startup — even though only one provider is used at a time. This release defers SDK loading until the user actually triggers a publish, significantly reducing plugin startup time.
Changes
- ⚡ Lazy-load all uploader modules — converted 9 static imports to dynamic
require()inside each provider's switch case, so only the configured provider's SDK is loaded on publish (imageUploaderBuilder.ts) - ⚡ Type-only imports — converted 8 setting type imports in
publish.tstoimport type, preventing unnecessary module loading at startup - ✅ Added unit testing infrastructure — 64 tests with vitest covering image tag processing, mermaid processing, web image downloading, uploader utils, and more
- 🔧 Fixed release workflow — corrected multi-line YAML syntax in the Build step
Full Changelog: 1.4.0...1.5.0