Skip to content

v2.0.0

Choose a tag to compare

@devasishpal devasishpal released this 04 Jun 10:00
· 32 commits to main since this release

[2.0.0] - 2026-06-03

Major Changes

  • Version bump to 2.0.0 (breaking changes)
  • Plugin ecosystem overhaul with dedicated Extension SDK (pimd.sdk)
  • Cache framework abstraction with filesystem backend (pimd.caching.filesystem.FileSystemCache)
  • Configuration system with schema validation and environment variable support (pimd.config.Config)
  • Observability consolidation: pimd.observability absorbs pimd.profiling
  • New accessibility validation engine (pimd.accessibility)
  • Remote asset management with SHA256 caching and offline mode (pimd.remote_assets)
  • Template inheritance system (pimd.templates.inheritance)
  • Watch mode for automatic rebuilds on file changes (pimd.export.watch)
  • Multi-file project builds from YAML/JSON/TOML config (pimd build)
  • New CLI commands: plugin, cache info, config init, config validate, accessibility, build, watch

New Features

  • Extension SDK (pimd.sdk): 9 typed plugin base classes (BasePlugin, DiagramPlugin, TemplatePlugin, CitationPlugin, RendererPlugin, ExporterPlugin, AssetPlugin, ValidationPlugin, ParserPlugin, PublishingPlugin) with EventBus, HookRegistry, and HookScope
  • FileSystemCache: JSON-envelope filesystem cache with per-entry TTL, SHA-256 key hashing, and diagnostics
  • Config schema validation: Config.validate() with typed ConfigSchemaEntry, Config.write_default(), env var support (PIMD_*), dotted key access, TOML serialization
  • AccessibilityEngine: WCAG-based document validation checking image alt text (1.1.1), heading hierarchy (2.4.10), table headers (1.3.1), reading order, and document structure; CLI pimd accessibility check and pimd accessibility report
  • RemoteAssetManager: HTTP/HTTPS asset downloads, content-addressable SHA256 caching, offline mode, domain allowlists, MIME-type detection, configurable TTL and size limits
  • Template inheritance: TemplateInheritance class with chain resolution, deep merge, create_child() for deriving templates
  • Watch mode: Polling-based directory watcher with optional watchdog library support, automatic rebuild on file change
  • Multi-file project builds: pimd build command supporting YAML/JSON/TOML project configs with chapter/file lists
  • Plugin CLI: pimd plugin install, pimd plugin enable, pimd plugin disable, pimd plugin list, pimd plugin doctor
  • Cache CLI: pimd cache info with diagnostics and statistics
  • Config CLI: pimd config init generates default .pimdconfig, pimd config validate checks against schema
  • Accessibility CLI: pimd accessibility check (with JSON output and markdown report), pimd accessibility report
  • Assets CLI: pimd assets list for inspecting document attachments and asset files
  • Job system: pimd job run and pimd job list for tracked background conversions
  • Profiling CLI: pimd profile run with ConversionReport summary output