Changelog
Summary of changes for each release.
0.3.0
2026-04-09New 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-09New 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-18New 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.