Changelog

What's new in Dokko.

Every Dokko release — new features, improvements, and fixes, in one place.

v3.6.0

Added

  • Disclaimer text option to show on footer of chat widgets

Changed

  • login and forgot password form - organization input on top
v3.5.0

Added

  • New Relic monitoring integration
  • Debug logs for database queries

Changed

  • Docker configuration updates
  • Increased database connection pool size
  • Crawler improvements and removed deprecated code
  • Updated requirements dependencies
  • Response object field descriptions for preprocessing API call

Fixed

  • Crawler start issue
  • Crawler configs not appended to response
  • Join query for getting latest crawler config
v3.4.0

Added

  • Agent Run Page now supports Markdown rendering, allowing richer text and formatted outputs

Changed

  • Message Logs Detailed Modal responsiveness improved for smaller screens
  • QA Chat source rendering refactored for cleaner and more consistent display
  • Expanded current_date_time state in agents to include the day’s name

Fixed

  • user/me network request infinite retry loop resolved
  • Random language switching issue in LLM conversations fixed
  • RAG router functionality restored
  • Notification response bug on patch resolved
v3.3.0

Added

  • Introduced Agent-as-Tool support, allowing agents to be used directly as tools within workflows for more modular and flexible automation setups
  • Added Server-Sent Events (SSE) support in MCP servers, enabling real-time streaming of data and improved responsiveness in connected applications
  • Agent sessions can now include current date and time context, improving temporal awareness for time-sensitive tasks

Changed

  • Dashboard JSON preview now features improved styling for better readability
  • Optimized LLM API key handling with request caching for faster responses and reduced latency
  • Enhanced crawler configurations with startup delay controls and new queue naming based on crawl_job_id for clearer traceability
  • The LOCAL_DOCKER_NETWORK_NAME environment variable is now optional, simplifying local Docker setups

Fixed

  • Resolved display issues in file management breadcrumbs where paths were not rendering correctly
  • Fixed Agent form text area resizing and improved formatting for multi-line previews
  • Addressed JSON code block nesting validation errors to prevent DOM structure issues
  • Fixed a bug where Agent form input and output schemas could mutate on edit; they now properly handle null values and maintain integrity during updates
  • Corrected LLM configuration updates so only modified fields are updated, reducing unnecessary data writes
  • Fixed an issue where changing an agent’s type to loop mode did not update correctly
v3.2.0

Added

  • File loader now supports ASPX HTML files, enabling compatibility with more web-based document formats and improving coverage for enterprise and legacy systems

Changed

  • The environment variable LOCAL_DOCKER_NETWORK_NAME is now nullable, allowing greater flexibility in local deployment configurations and reducing setup constraints in custom Docker environments

Fixed

  • Resolved an issue where translation responses could end prematurely due to unescaped double quotes in text content
  • Fixed a bug where the Agent Loader ignored defined agent-as-tool relationships, ensuring consistent execution of dependent tools within workflows
v3.1.0

Added

  • Agent-as-Tool functionality: agents can now be used as tools within workflows, enabling more advanced automation scenarios
  • Custom crawl support with file hashing for improved duplicate detection and flexible crawl types
  • Local deployment support with dedicated configuration for running Dokko locally
  • Crawl job management system with improved queue handling and parameter storage
  • Database-level constraint to ensure only one crawl runs per tenant at a time
  • Auto-recrawl scheduling switch for better control over automatic recrawling
  • Session parameter support in CRUD base delete methods for enhanced data consistency
  • Default and hidden crawl parameters for custom crawl types
  • New Dokko RAG tool for agents to enhance retrieval-augmented generation workflows
  • Custom UI components for slider, dropdown, and tooltip
  • Stage environment variable support for flexible environment configuration
  • German language support for the chat widget
  • New can_exit_loop field for LLM Agents to allow loop termination control

Changed

  • Crawler queue naming updated from tenant_id to crawl_job_id for improved job isolation
  • Refined auto-recrawl scheduling logic for better reliability and tenant filtering
  • Custom crawl DTO model now uses SecretStr for sensitive data protection
  • Normalized tenant names and user emails to uppercase for data consistency
  • Docker images updated from Debian 11 → 12 and Google SDK upgraded to latest version
  • Corrected agent result ordering (now sorted by name ascending)
  • CI/CD pipeline enhanced with new image tags and skip-deploy support
  • Improved agent display messages for a smoother user experience
  • Major upgrade to React 19 and Vite 7, along with related dependencies
  • Stabilized module resolution to prevent circular dependencies
  • Agent form updated with badge-based child agent UI instead of dropdown
  • Tool assignment now restricted to LLM agent types only
  • Revised LLM configuration form validation for max tokens (local provider: -1 to any, others: 128–provider max)

Fixed

  • MCP authentication middleware issues resolved
  • Fixed nullable “agent as tool” field preventing proper initialization
  • Addressed null relationship handling for foreign keys
  • Fixed null reference bug in preprocessing added_file action
  • Improved filtering and insert/update logic for default Dokko LLM configurations
  • Enhanced response analysis to correctly filter relevant message pairs
  • Fixed file deletion logic after crawl completion
  • Improved duplicate crawled file detection and removal
  • Resolved null character handling issues in data processing
  • Fixed recrawl scheduling tenant filtering
  • Updated dependency requirements and resolved linter errors in agent services
  • Fixed LLM API key form validation to require key only if provider not selected
  • Resolved issues where changes to LLM configuration and other fields didn’t persist after saving
  • Improved RTK Query cache invalidation to refresh dashboard and agent list data
  • Fixed missing filter on initial fetch in Edit LLM Configuration

Removed

  • Replaced Radix UI components with custom-built ones for better performance and consistency
  • Removed unused dependencies and redundant code, reducing dashboard bundle size by 15%
v3.0.0

Added

  • Agent functionality for workflow automation
  • MCP/OpenAPI tools with HTTP streamable support
  • Dokko MCP server
  • New models for supported providers
  • Complete agent management system with configuration, execution, and tool server integration
  • New Dashboard page for monitoring and management
  • Browser history support for paginated data views with URL state persistence
  • Component error boundaries for graceful error handling
  • Agent message handling in chat widget
  • Display messages for better user feedback
  • Improved chat UX with better loading states

Changed

  • Updated start/stop message stream marker (also applied to chat widget storage)
  • Celery now uses prefork instead of threads for improved stability and performance
  • Using only unstructured OCR
  • Enhanced data security
  • Split LLM configuration management into separate Configurations and Configuration Sets
  • Refactored header actions from createPortal to Redux-based useActions hook
  • Reorganized navigation menu structure into logical feature groupings
  • Updated chat UI to display user messages immediately upon sending
  • Loading indicator for chat message streaming

Fixed

  • Resolved Pydantic deprecation warning
  • Out-of-memory (OOM) instance no longer kills the main Celery process - only the affected worker
  • Tokenizer now loads once on startup, reducing overhead
  • Browser back/forward navigation for filtered and paginated states
  • Navigation state management with proper Redux integration

Removed

  • Deprecated models from supported providers
  • Unused Cypress testing framework and related configuration files
  • Invalid exports and cleaned up import statements
v2.1.2

Fixed

  • Replaced Tesseract OCR with EasyOCR to resolve out-of-memory (OOM) issues and enabled batching.
  • Implemented batching in translation to avoid hitting rate limits.
  • removed CORS from logo image tag on chat widget.

Changed

  • Refactored file management system for improved modularity and clarity.
  • Made invitation and password reset messages more visible on dashboard when token has expired.
  • Refresh access token flow improved on dashboard.
v2.1.1

Fixed

  • Semantic search to use the English reformulated user input instead of the original
  • New session creation for logged in users, CORS issue

Changed

  • Updated alembic version from 1.13.1 to 1.16.2

Removed

  • Document source locking while processing - temporarily
v2.1.0

Added

  • Enhanced RAG (Retrieval-Augmented Generation) system:
    • Implemented Reciprocal Rank Fusion (RRF) before the cross-encoder for improved document reranking
    • Added support for preserving both original and translated content chunks to maintain special phrases and names during translation
    • Included file names in RAG system prompts for better context awareness
    • Optimized database with new GIN indexes, stored ts_vector columns and improved fetch performance using ts_rank_cd instead of ts_rank
    • Reduced reranking chunk amount for better efficiency

Fixed

  • Fixed processing of files, added logic to process files without chunks to ensure proper content extraction
  • Fixed Tesseract OSD (Optical Character Detection) document processing errors
  • Addressed S3 preprocessing to properly handle file deletions for multimodal content
  • Resolved Docker volume mounting issues on container start
v2.0.1

Added

  • Added support for more languages in the search widget: Arabic, Catalan, Danish, Dutch, English, Finnish, French, German, Greek, Hindi, Hungarian, Indonesian, Italian, Lithuanian, Nepali, Norwegian, Portuguese, Romanian, Russian, Croatian, Slovenian, Spanish, Swedish, Tamil, Turkish
    • For any other language a default parser will be used.
  • UI language selection expanded in the configuration drawer.
  • Web search language selection added to the Search Widget configuration.

Changed

  • Language configuration is now split into two distinct settings: UI Language and Web Search Language.
    • These can now be managed independently.
    • Existing integrations using the previous unified language setting remain supported for backward compatibility.
v2.0.0

Added

  • Web Search feature
    • Dashboard - Added Search component generation and playground.
  • Tenants can now use LLM configuration sets, LLM API keys, and prompt templates that are used by default.
  • Repository types: Folder, Semantic, Web Search
    • Existing repositories are automatically converted to Semantic repositories
  • S3: All file/folder paths are now also kept in the database
    • An initial sync between S3 and database is required for each tenant and each S3 bucket
  • S3: Repository locking mechanism (making repository and all its files read-only)
    • Folders are always unlocked
      • They cannot be marked as Semantic during Knowledge base update on their respective bucket
    • All Semantic repositories are locked during Knowledge base update on their respective bucket
    • Web Search repositories are always locked
      • They can only be renamed and deleted if and only if not being currently crawled
      • They cannot be unmarked
  • S3: Minor restrictions for moving/deleting files and folders
  • Keeping track of last preprocessing date for each Semantic repository
  • Added endpoint that generates contents for a GitHub action file (automatic preprocessing on push)
  • Auto-recrawl feature
    • Each repository has a separate re-crawl frequency (in hours)
    • Every full hour, Dokko checks if any re-crawls need to be started
    • If multiple automatic re-crawls need to be started, the repository with the oldest “previous crawl date” has priority
    • Crawl parameters are copied from the previous crawl on that repository
    • Possible to disable auto-recrawl on any repository
      • To re-enable it, it is required to manually start a crawl on the repository
  • Dashboard - Split what was previously ‘Playground’ into ‘Chat’ and ‘Search’ and renamed ‘Playground’ to ‘Widgets’.
  • Dashboard - Added buttons to sync new S3 storage to File management and sources table.

Changed

  • S3: All folders on root are now repositories
  • S3: Only root folders can be repositories
    • Additionally, only empty folders can be marked as Web Search repositories
  • S3: Files can no longer be kept on root
  • S3: File structure is now retrieved from database instead of S3
  • S3: File structure now contains a “locked” flag for each file and folder
  • Preprocessing overhaul
    • Existing files are re-processed instead of being skipped
    • S3: Preprocessing now only handles newly added and modified files; everything else is handled during S3 api calls
      • Repository permissions are now updated during S3 mark/unmark repository instead of during preprocessing
  • HNSW index creation/deletion triggers
    • Only Semantic repositories have a HNSW index now
  • Files are now inserted into database during crawl
    • If crawling into Web Search repository, they are also processed before inserting
  • Recrawl logic updated
    • Now it crawls the entire website, ignoring the sitemap file
    • After the recrawl is finished, all old files with web source URL are deleted from database and S3 bucket
  • Traffic logging enhancements at API key level.
  • Dashboard - Added icons (and several tooltips) to header actions.

Fixed

  • Fixed the bug that deletes all repositories on Dokko when a github action is triggered
  • Fixed the bug that treated uppercase file extensions as unsupported for S3
    • All file extensions are now converted to lowercase before being added to S3
  • Response analysis now correctly filters relevant message pairs
  • Message logs load, bug when chunks were null
  • Dashboard - Added missing placeholders and translations in several places.

Removed

  • S3: Recycle bin is no longer supported (all files are now deleted permanently)
  • S3: Versioning is no longer supported (files cannot be reverted to previous version anymore)
v1.4.1

Fixed

  • added default language for web search if none is provided in the request
  • tenant can now remove all domains
  • fixed quotes error in web serach query
v1.4.0

Added

  • github init
  • return objects on create/update api
  • restart session
  • multiple s3 bucket support

Changed

  • optimizing return object
v1.3.0

Added

  • In preprocessing step makes a decision to go to RAG or not
  • machine to machine authorization

Changed

  • improved underlaying system prompt template
v1.2.1

Added

  • Added user message instructions for sources if include_sources is true.
  • Added date and time in the system prompt.

Changed

  • Increased preprocessing ephemeral storage.
  • Changed the default image describer LLM to DeepInfra llama 11B vision.
  • Implemented a new, better, and simpler way of starting/terminating the preprocessing Celery worker.

Fixed

  • Managing 1:1 relation (repository-crawler_setup) in a correct way
v1.2.0

Added

  • Dashboard - Add crawler functionality to file management
  • Dashboard - File management search dropdown is now clearable.
  • Multimodal file preprocessing - supporting images and tables in pdfs
  • Generating responses with multimodal RAG

Changed

  • Dashboard - File management search functionality now accepts the path of the desired document and shows the first 100 results (previously 50).

Fixed

  • Dashboard - Fix route guard not redirecting to the current page on page refresh.
  • Widget - Fix multiple initiations of the chat widget in SPAs.
  • Dashboard - File management breadcrumbs now have correct styling with extremely long file and folder names (200+ characters).
v1.1.0

The update adds PDF page number metadata, improves metadata extraction, fixes widget/dashboard issues, enhances Celery and URL functions, and resolves multiple bugs.

Added

  • Page number in chunk metadata for PDFs.
  • Metadata extraction for each chunk in the preprocessing pipeline enhancing retrieval precision.
  • Widget - Add ability to dynamically change script attributes by updating the values on the script tag and calling Dokko.dispose() and Dokko.init()
  • Dashboard - Add all missing labels in the translation file.

Changed

  • Switched from prefork to threads pool for Celery workers.
  • Presigned URL function enhanced with page number for PDFs.

Fixed

  • Superscript parser enhancement with stream start/end logic.
  • Updated Poppler utilities installation packages.
  • Sanitized Unicode in documents during load/translate.
  • Premature Celery termination issue.
  • Blocking the deletion of accounts that own active subscriptions.
  • Widget
    • Fix reCAPTCHA iframe duplication when opening and closing the chat widget.
    • Fix missing translations on authentication pages; styling on authentication pages on very small screens.
  • Dashboard
    • Fix route guard bugs for content admin.
    • Fix some routes still redirecting to app/sessions or app/account instead of app/chat.
v1.0.0

We’re super excited to announce the first release of Dokko! The update adds subscription management features, language options for chat widgets, and a redesigned playground interface, while fixing bugs in notifications, session handling, and search functionality. It also improves chat scroll behavior and removes browser storage retrieval for playground values to prevent issues.

Added

  • Subscription management features:
    • Users can now upgrade/downgrade their subscriptions directly from the platform.
  • Chat widget additions:
    • Add ability to change chat widget language. Currently only two languages are supported (’en’ and ‘hr’).
    • Widgets have names now, improving session tracking. These are displayed on the “Sessions” page on the dashboard.

Changed

  • Redesigned the playground interface for a more intuitive and user-friendly experience.
  • ReCAPTCHA is now optional for widget/embedded chats.
  • Chat scroll behavior changes:
    • Users can now unlock from being pinned to the bottom of the chat and relock again on scroll to bottom.
    • Remove chat scrolling into view in embedded mode.
  • Disable variable name minification on chat widget to reduce the chances of collisions with globally declared names on the window object.

Fixed

  • Resolved an issue where notifications were not reliably created when a Celery task completed.
  • Addressed bugs in the keyword search functionality, ensuring accurate and consistent results.
  • Fix long-standing bug on “Sessions” page that occurred when re-intercepting a session after clicking the button ‘Release all sessions’.
  • Codeblock styling on embedded chat now has adequate styling.

Removed

  • Removed retrieval of selected playground values from browser storage to circumvent future and existing bugs.

Get started

Read deep. Act fast.
On your documents.

The 14-day trial runs on your real library, not a sandbox. Bring your contracts, manuals, or frameworks — and see how Dokko reads them.