Changelog¶
All notable changes to ModelDock.
Based on Keep a Changelog and Semantic Versioning.
[Unreleased]¶
Model-source observability and a first-class source interface. Dynamic discovery is documented as the source of truth; catalog.json is confirmed as an emergency offline fallback only.
Added¶
- Provenance —
ModelSpec.source/ModelInfo.source: every source stamps a human-facing label ("Ollama Official","Hugging Face","Bundled (offline fallback)"). Surfaced insearchoutput (newSourcecolumn) andinfo(newSource:line). New value objectsSourceInfo/SourceTrustindomain/source.py. - Source interface —
RegistryPort.resolve(ref)(friendly name → canonical identity),RegistryPort.versions(ref)(known version tags), plusdescribe()andrefresh()on concrete sources.ModelSpec.version_tags(). - CLI —
modeldock sources(list active sources with trust/kind/backend/ count/status) andmodeldock sources refresh(force live re-fetch, bypassing the discovery-cache TTL). - SDK —
md.resolve(),md.versions(),md.sources()top-level functions (additive; existing API unchanged). - Plugins — preferred
modeldock.model_sourcesentry-point group for third-party model sources; the legacymodeldock.catalog_providersgroup is still scanned for backward compatibility.
Changed¶
- Docs (
Architecture.md, discover / CLI / ports / python-api / catalog-provider guides) updated to state plainly that dynamic discovery is the source of truth andcatalog.jsonis fallback-only.
Tests¶
- New
tests/unit/test_sources.pyplus e2e coverage forsources,sources refresh, andinfoprovenance.
0.1.3 - 2026-07-19¶
Dynamic catalog: replaced static catalog.json with live scraping of ollama.com.
Added¶
OllamaLibraryRegistryadapter — scrapesollama.com/libraryfor the full model list, auto-detects categories and capabilities, and caches locally for offline usecatalog_sourceconfig setting ("auto"|"ollama"|"bundled") to control which registry is usedMODELDOCK_CATALOG_SOURCEenvironment variable support- Local catalog cache (
<cache_dir>/catalog_cache.json) with 24-hour TTL
Changed¶
ModelManagernow defaults toOllamaLibraryRegistry(dynamic) instead ofBundledRegistry(static)- Auto-detection rules: model name patterns and HTML capability tags determine
CategoryandCapability
Removed¶
- Deleted
src/modeldock/data/catalog.json— no longer needed
Tests¶
- 32 new tests for
OllamaLibraryRegistry
0.1.2 - 2026-07-19¶
Patch fix for catalog.json not being included in the installed package.
Fixed¶
- Catalog data missing — added
[tool.setuptools.package-data]topyproject.toml
0.1.1 - 2026-07-19¶
Patch release hardening the Ollama runtime and SDK.
Added¶
modeldock.run()SDK entry point for single-prompt completions and interactive REPLRuntimePort.status()reporting runtime availability and execution deviceCachePort.path()/FilesystemCache.path()/CacheService.path()returning the real cache directoryModelSpec.from_ref/ModelInfo.from_reffallbacks for installed models not in catalogPullResult.already_presentflag;BaseRuntime.pull()is now idempotentModelRef.is_cloudto identify cloud/subscription models
Changed¶
- SDK functions now route the
backendargument to the selected runtime info()surfaces installed tags for locally-installed modelsModelManager.update()now requiresconfirm=TrueCachePort.clean()are safe by default and acceptforce=True
Fixed¶
OllamaRuntime.remove()no longer hangs on cloud/subscription models- Catalog fallback for
load/info/installwhen model is installed but absent from bundled catalog
0.1.0 - 2026-07-18¶
Initial pre-release. Documentation and package skeleton only.
Added¶
- Project documentation set
- Package skeleton following Clean Architecture
pyproject.tomlwith runtime/dev dependencies- Public SDK surface and Typer-based CLI
- GitHub release workflow
- Contributor community files