Changelog

Summary of changes for each release.

0.3.0

2026-04-09

New features

  • Projects list as landing page with Public, My Projects, Private, and All tabs.
  • Separate viewer and editor routes for projects with role-appropriate default views.
  • Ontology search index management UI for PostgreSQL-backed entity indexing.
  • Multi-page Ontology Guide documentation accessible from the app.
  • Upstream source loop prevention UI with informational banners when sync config matches GitHub integration.
  • Exemplar ontology support in project UI for template-based project creation.
  • Explicit Save button in detail panel edit mode.
  • Branch topology visualization in revision history graph.
  • Share button to copy project permalink.
  • Unfiltered project count shown when search or filter is active.

Improvements

  • Upgraded to Next.js 16, Tailwind CSS 4, Zod 4, and lucide-react 1.7.
  • Renamed 'upstream sync' to 'remote sync' / 'Sync from Remote' for clarity.
  • Renamed misleading 'Private' tab to 'My Projects'.
  • Skip project dashboard — navigate directly to editor.
  • Improved auth UX for private projects in the editor.
  • Improved import error UX with server-reachability probe.
  • Improved lint issue display consistency and prevented UI freeze on large rule sets.
  • Replaced window.location.reload() with React Query refetch for smoother navigation.
  • Removed accessToken from React Query keys to prevent unnecessary refetches.
  • Disabled branch switching for unauthenticated users.
  • Moved Tooltip provider to app level for shared usage.
  • Docker deployment configuration with multi-stage build.
  • Test coverage increased to 80% with 2400+ tests.

Bug fixes

  • Fixed viewer source tab appearing empty in developer mode.
  • Fixed total project count not shown with Load More pagination.
  • Fixed duplicate BranchBadge in editor header.
  • Fixed nullable index fields from API causing runtime errors.
  • Fixed manualSave prop renamed to hideSaveButton with correct default behavior.
  • Fixed exhaustive-deps false positive in useProjectViewer.
  • Resolved Dependabot security alerts and CodeQL findings.

CI/CD & Quality

  • Split CI quality gate into parallel lint, type-check, test, and build jobs.
  • Added Codecov bundle analysis and test coverage reporting.
  • Upgraded Vite to 8.0.7 for security fix.

0.2.0

2026-03-09

New features

  • Form-based entity editing for classes, properties, and individuals replacing raw Turtle source editing.
  • Standard/Developer mode toggle with persistent preference for simplified or advanced editing views.
  • Suggestion workflow: new 'suggester' role allows non-editors to propose changes with mandatory editor review.
  • Two-tier auto-save system: on blur saves drafts to localStorage, navigation commits to git.
  • Interactive graph visualization using React Flow with ELK layout for exploring ontology relationships.
  • Drag-and-drop class reparenting with cycle detection and undo support.
  • Context menus (right-click) for Add Subclass, Copy IRI, View in Source, and Delete operations.
  • Notification system with polling and event-driven refetch for suggestion and collaboration updates.
  • Entity history tab with revision tracking.
  • Similar concepts panel and cross-references panel for entity discovery.
  • SPARQL query execution support (SELECT/ASK/CONSTRUCT) on the backend.
  • Semantic search using vector similarity with pluggable embedding providers (OpenAI, Voyage, local).
  • Duplicate detection with union-find clustering and similarity scoring.
  • Consistency checking: cycle detection, class hierarchy validation, and deprecated entity tracking.
  • Full dark mode support with theme sync preventing flash of unstyled content.
  • Keyboard shortcuts: Ctrl+S to flush drafts, Ctrl+N to create entities, ? for help.

Improvements

  • Shared FOLIO-style tree renderer reused across Classes, Properties, and Individuals.
  • Multi-level expand/collapse controls with split-button for one level or all/none.
  • Auto-expand on 800ms hover during drag operations.
  • Language tags displayed as country flag emojis.
  • Resizable panel dividers for tree/detail layout.
  • Delete impact analysis before entity removal.
  • API retry logic with 30s timeout and exponential backoff.
  • Rate limiting via slowapi (100 req/min default).
  • Security headers: X-Content-Type-Options, X-Frame-Options, HSTS, CSP.
  • Request ID middleware with unique X-Request-ID header and access logging.
  • Zod-based environment variable validation on the frontend.
  • ESLint flat config migration with stricter TypeScript rules.

Accessibility

  • Skip links in layout for keyboard navigation.
  • Screen reader announcer with polite and assertive live regions.
  • ARIA labels on all icon buttons.
  • Reduced motion and high contrast media query support.
  • Tree keyboard navigation with aria-activedescendant.

Testing & Quality

  • 111 new tests added across frontend (26) and backend (85).
  • CI/CD pipeline with GitHub Actions: lint, type-check, test, and build stages.
  • All 178 mypy strict-mode errors fixed on the backend.
  • Pre-commit hooks with ruff and mypy for the backend.

Bug fixes

  • Fixed session expiry guard detecting RefreshAccessTokenError and auto-redirecting to login.
  • Fixed HttpUrl crash in class tree sort keys.
  • Fixed stale search/autocomplete responses with proper IRI handling.
  • Fixed language flag alignment with invisible placeholders.
  • Fixed falsy 0.0 similarity lookup in semantic search.
  • Fixed beacon token payload type validation.
  • Fixed branch cleanup on suggestion commit failures.

0.1.0

2026-02-18

New features

  • Initial release of OntoKit as a standalone package.
  • Renamed package from 'app' to 'ontokit' with consistent module imports.
  • Added CLI entry point ('ontokit' command) installed via pyproject.toml scripts.
  • Weblate-style version management in ontokit/version.py with dynamic version in pyproject.toml via hatch.
  • CI/CD pipeline with GitHub Actions: lint, test, build, and publish to PyPI on tagged releases.
  • Docker image publishing as part of the release workflow.
  • Bare git repository service using pygit2 for concurrent access to ontology projects.
  • Three-panel ontology editor with class tree, detail panel, and Turtle source editor.
  • Branch-based workflow with pull requests for collaborative ontology editing.
  • Ontology health check (linter) with 20+ semantic validation rules.
  • Role-based access control with Owner, Admin, Editor, and Viewer roles.