All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Updated JumpCloud SSO documentation to clarify token endpoint authentication method requirement and AUTH_SECRET configuration. #1022
- The
ask_codebaseMCP tool is now hidden when no language model providers are configured. #1018
- Increased
SOURCEBOT_CHAT_MAX_STEP_COUNTdefault from 20 to 100 to allow agents to perform more autonomous steps. #1017 - [EE] Fix error with Jumpcloud SSO state param #1020
- Added read-only annotations to MCP tools for compatibility with Cursor Ask mode and other MCP clients that restrict tool usage based on behavior hints. #1013
- Added support for connecting to Redis over TLS via
REDIS_TLS_ENABLEDand related environment variables. #1011
filterByFilepathsin the MCPsearch_codetool now accepts regular expressions matched against the full file path, instead of treating values as escaped literals. #1008
- Connection sync job failures now log the actual error reason instead of a generic message. #1012
- Added AGENTS.md with Cursor Cloud development environment instructions. #1001
- Added support for configuring SMTP via individual environment variables (SMTP_HOST, SMTP_PORT, SMTP_USERNAME, SMTP_PASSWORD) as an alternative to SMTP_CONNECTION_URL. #1002
- Added
DISABLE_API_KEY_CREATION_FOR_NON_OWNER_USERSandDISABLE_API_KEY_USAGE_FOR_NON_OWNER_USERSenvironment variables to restrict API key creation and usage to organization owners. #1007
- Deprecated
EXPERIMENT_DISABLE_API_KEY_CREATION_FOR_NON_ADMIN_USERSin favour ofDISABLE_API_KEY_CREATION_FOR_NON_OWNER_USERS. The old variable will continue to work as a fallback. #1007
- Made OSS license audit runnable locally #1021
- Added generated OpenAPI documentation for the public search, repo, and file browsing API surface. #996
- Added OSS license audit github action. #1003
- [EE] Fixed account-driven permission sync silently wiping all Bitbucket Server repository permissions when the OAuth token expires on instances with anonymous access enabled. #998
- [EE] Fixed Bitbucket Server repos being incorrectly treated as public in Sourcebot when the instance-level
feature.public.accessflag is disabled but per-repo public flags were not reset. #999 - [EE] Fixed account-driven permission sync jobs failing when OAuth tokens expire between user visits by moving token refresh into the backend sync flow. #1000
- [EE] Added JumpCloud as an identity provider for SSO authentication. #997
- Require explicit invocation of ask_codebase tool in MCP #995
- Gate MCP API behind authentication when Ask GitHub is enabled. #994
- [EE] Added multi-owner support with promote/demote actions. #988
- [EE] Added
PERMISSION_SYNC_REPO_DRIVEN_ENABLEDenvironment variable to enable/disable repo-driven permission syncing. #989 - [EE] Added
enforcePermissionsper-connection flag to control whether repository permissions are enforced for a given connection. Defaults to the value ofPERMISSION_SYNC_ENABLED. #991 - [EE] Added
repoDrivenPermissionSyncIntervalMsanduserDrivenPermissionSyncIntervalMsconfig settings, deprecating theexperiment_prefixed variants (still respected as fallbacks). #991 - [EE] Added
enforcePermissionsForPublicReposper-connection flag to restrict public repository visibility to users with a linked account for that connection's code host. #993
- [EE] Promoted
PERMISSION_SYNC_ENABLEDas the canonical env var for enabling permission syncing, deprecatingEXPERIMENT_EE_PERMISSION_SYNC_ENABLED(still respected as a fallback). #991
- [EE] Handle duplicate
resourcequery parameters in the OAuth authorization endpoint. #987
- [EE] Avoid advertising OAuth support on MCP endpoints if that entitlement is not actually configured. #985
- Fixed issue where users would not be redirected to the homepage when clicking "continue with guest". #984
- Increased pagination limit to 1000 for bitbucket data center requests. #981
- Added MCP and API key usage tracking to analytics dashboard and added audit retention system #950
- Added support a MCP streamable http transport hosted at
/api/mcp. #976 - [EE] Added support for Oauth 2.1 to the remote MCP server hosted at
/api/mcp. #977
- Upgraded Vercel AI SDK from v5 to v6. #969
- Added support for using bearer tokens with anthropic. #967
- Updated to Next.JS 16. #970
- Preserve regex and case sensitivity query parameters when loading more search results. #972
- Fixed page navigation failing after Next.js 16 upgrade by removing
router.refresh()calls immediately followingrouter.push(). #974 - Add filesystem-first GC scan to remove orphaned repo directories and index shards that have no corresponding database record. #973
- Bumped
tarto7.5.9. #953 - Bumped
@isaacs/brace-expansionto5.0.1. #952 - Bumped
qstransitive dependency to^6.14.2via yarn resolutions. #954 - Bumped
@aws-sdk/credential-providersto^3.1000.0. #955 - Bumped
rolluptransitive dependency to^4.59.0via yarn resolutions. #956 - Bumped
nextto15.5.10. #960 - Bumped
nodemailerto7.0.11. #959 - Bumped
globtransitive dependency to^10.5.0via scoped yarn resolutions. #962 - Bumped
@react-email/preview-serverto5.2.8. #961
- Validate
refandpathinputs in git API routes to reject values that could affect git command behavior. #965
- Added pagination and UTC time range filtering to the audit GET endpoint. #949
- Added AI Search Assist — describe what you're looking for in natural language and AI will generate a code search query for you. #951
- Fixed search query parser rejecting parenthesized regex alternation in filter values (e.g.
file:(test|spec),-file:(test|spec)). #946 - Fixed
content:filter ignoring the regex toggle. #947
- Added Bitbucket Cloud SSO & Permission syncing support. #924 #925
- Added Bitbucket Data Center SSO & Permission syncing support. #934 #938
- Added PostHog events for chat UI interactions (details card expand/collapse, copy answer, table of contents toggle). #922
- Added
wa_user_createdPostHog event fired on successful user sign-up. #933 - Added
wa_askgh_login_wall_promptedPostHog event fired when an unauthenticated user attempts to ask a question on Ask GitHub. #933 - Added login wall when anonymous users try to send messages on duplicated chats (askgh experiment). #939
- Added
GET /api/ee/userendpoint that returns the authenticated owner's user info (name, email, createdAt, updatedAt). #940 - Added
selectedReposCountto thewa_chat_message_sentPostHog event to track the number of selected repositories when users ask questions. #941 - Added ability to re-sync repo permissions from the "linked accounts" settings page. #945
- Hide version upgrade toast for askgithub deployment (
EXPERIMENT_ASK_GH_ENABLED). #931 - Hide security notice on login and signup pages when
EXPERIMENT_ASK_GH_ENABLEDis enabled. #943
- Fixed text inside angle brackets (e.g.,
<id>) being hidden in chat prompt display due to HTML parsing. #929 #932 - Fixed permission sync banner flashing on initial page load. #942
- Fixed issue where the permission sync banner would sometimes not appear until the page was refreshed. #942
- Skip redundant dev build when production release commits are pushed to main. #919
- Bumped zoekt version. #921
- Added GitHub workflow to automatically tag Linear issues with the release version when a new release is published. #917
- Added optional
gitUserfield to the Bitbucket connection config to support Bitbucket Cloud API tokens, which require an email address for the REST API but an Atlassian username for git clone. #918
- Skip calling
getCommitHashForRefNamefor empty repositories to avoid noisy debug log output. #914 - Fixed "Open in GitLab" links having a double slash when the GitLab host URL is configured with a trailing slash. #915
- Fixed
og:imageURL resolving tolocalhostinstead of the public domain when the app is deployed behind a reverse proxy. #908 - Fixed search bar not taking the full width on the search results and browse pages. #909
- Added max height to the chat input box so it scrolls instead of expanding unboundedly when a large blob of text is pasted. #913
- Changed the "Open in" button copy to distinguish between Bitbucket serve & cloud. #910
Alt+Enter(Option+Enter on Mac) now inserts a newline in the chat input instead of submitting. #912
- Fixed issue where chat threads created via the
/api/chat/blockingendpoint would not have any messages when called without authentication. #907
- Added
chatIdto all chat related posthog events. #907
- Fixed Bitbucket Server and Cloud repo identifiers to include the project key, preventing collisions across projects. Note: Bitbucket Cloud users with
exclude.repospatterns must update them fromworkspace/repotoworkspace/PROJECT_KEY/repoformat. #904
- Added optional
visibilityparameter to/api/chat/blockingendpoint and MCPask_codebasetool to allow controlling chat session visibility in shared environments. #903 - Added
defaultBranch,isFork, andisArchivedfields to the/api/reposendpoint response and MCPlist_repostool. #905
- Replaced
backend_repo_index_job_completedPostHog event withbackend_repo_first_indexed, which fires only on the first successful index of a repo. #900
- Fixed startup env override parsing to ignore STDERR output, preventing Node warnings from breaking eval processing. #902
- Added chat duplication to create copies of existing chats. #888
- Added Open Graph metadata and image generation for shared chat links. #888
- [EE] Added chat sharing with specific users, allowing chat owners to invite org members to view private chats. #888
- Changed chat permissions model from read-only flag to ownership-based access control. #888
- Improved anonymous chat experience: anonymous users can now create chats and claim them upon signing in. #888
- Fixed issue where local repos with URL-encoded spaces in remote URLs would fail to load tree preview and index correctly. #899
- Added PostHog events for repo index job success/failure and code host type to connection sync events. #878
- Added
install_idto PostHog event properties. #880
- Changed the me-control to render the user's avatar in the top-bar. #874
- Moved the "current version" indicator into the "what's new" dropdown. #874
- Updated
posthog-nodeto ^5.24.15 andposthog-jsto ^1.345.5. #881
- Fixed issue where "Open in Bitbucket" and commit links for Bitbucket Server repos had an extra
/browsein the URL. #877 - Fixed slow repo indexing scheduling query by adding database indexes. #883
- Removed the Discord and GitHub buttons from the top corner. #874
- Changed the settings dropdown to display the commit SHA on which the deployment was built against. #868
- Fixed issue where anonymous access on a Sourcebot instance with a unlimited seat license and anonymous access enabled would result in a "not authenticated" message being displayed. #866
- Fixed issue where session links generated for a
ask_codebasemcp call would not be accessible to unauthed users. #873
- Added support to set "Require approval for new members" via config with (
REQUIRE_APPROVAL_NEW_MEMBERS). #858
- Improved stability for connection and repo indexing workers. #860
- Fixed issue where certain file and folder names would cause type errors. #862
- Fixed token refresh error "Provider config not found or invalid for: x" when a sso is configured using deprecated env vars. #841
- Fixed issue where temporary shard files created on index failure were not being cleaned up. #805
- [EE] Fixed issue where internal GitLab projects were not visible in Sourcebot when permission syncing is enabled. #857
- [EE] Added notification banner when an account's permissions are being synced for the first time. #852
- Fixed issue where the branch filter in the repos detail page would not return any results. #851
- Fixed issue where 5xx http errors would not be retried. #855
- Changed the queuing behaviour for permission syncing to prioritize newly created accounts & repos. #856
- Changed auth behaviour to store OAuth tokens, refresh tokens, and id tokens encrypted at rest in the database. #853
- Changed refresh token behaviour to source provider tokens from the DB rather than storing them in the JWT token. #853
- Fixed issue where opening GitLab file links would result in a 404. #846
- Fixed issue where file references in copied chat answers were relative paths instead of full browse URLs. #847
- [EE] Fixed issue where account driven permission syncing would fail when attempting to authenticate with a GitHub App user token. #850
- [EE] Added
AUTH_EE_ALLOW_EMAIL_ACCOUNT_LINKINGenv var that, when enabled, will automatically link SSO accounts with the same email address. #849
- Fixed issue where external links would use internal service DNS names in k8s deployments, making them inaccessible. #844
- Added
listCommitstool to Ask agent. #843
- Added
maxAccountPermissionSyncJobConcurrencyandmaxRepoPermissionSyncJobConcurrencysettings to configure concurrency for permission sync jobs (default: 8). #840
- Added
/api/chat/blockingendpoint that creates a blocking Ask thread, used by the MCP server. #814 - Added
/api/modelsendpoint to list configured language models. #814 - Added additional telemetry for api requests. #835
- Fixed issue where files with a comma would not render correctly in file tree. #831
- Changed
/api/sourceapi to support fetching source code for any revision, not just revisions that are indexed by zoekt. #829 - Adjusted prompts and tools for Ask agent. #814
- Fixed issue where searching for refs/heads/<default_branch> would return no matches. #809
- Fixed issue where source files would fail to load in the search preview panel and ask client. #812
- Fixed loadConfig import in resolveEnvOverrides #802
- Added ask sidebar to homepage. #721
- Added endpoint for searching commit history for a git repository. #625
- Added
pushedAtfield to the Repo table to track when a repository last was committed to across all branches. #790 - Added offset pagination to the
/api/reposendpoint. #795 - Added offset pagination to the
/api/commitsendpoint. #795
- Added commit graph generation to improve performance for commit traversal operations. #791
- Made the code search
lang:filter case insensitive. #795 - Changed the
/api/sourceendpoint from a POST request to a GET request. Repo, path, and ref are specified as query params. #795 - Changed the
/api/commitsendpoint from a POST request to a GET request. #795 - Renamed
webUrltoexternalWebUrlfor various apis. Moving forward,webUrlwill be used for URLs that point to Sourcebot, andexternalWebUrlwill be used for URLs that point to external code hosts. #795 - Renamed various fields on the
/api/sourceendpoint response body. #795
- Fixed issue where a file would fail to load when opening it from the /search view and it matched multiple branches. #797
- [EE] Fixed GitLab OAuth token refresh failures by including the required
redirect_uriparameter. #798
- Properly map all hotkeys in UI based on the platform #784
- Allow parenthesis in query and filter terms #788
- Fixed issue where Sourcebot would not index the new default branch when changed. #789
- Changed the UI to display the default branch name instead of HEAD where applicable. #789
- Added
isBranchFilteringEnabledflag tosearch_finishedPostHog event. #781
- Fixed reference guide key hint for PC #782
- Fixed an issue where the value for ALWAYS_INDEX_FILE_PATTERNS env var wasn't being parsed correctly #773
- Fixed "The data directory was initialized by PostgreSQL version 16, which is not compatible with this version 18.1" error when using the embedded database and upgrading to v14.10.13. #770
- Fixed hardcoded localhost URLs in org URL and invite links by using AUTH_URL as fallback. #764
- Fix autocomplete when repo includes default port #762
- Fixed "Repository not found for file: x" error when searching in orphaned shards. #761
- Added dialog when no authentication provider is configured. #744
- Fixed "Invalid line number XXX in 21-line document" error when a invalid highlight range is passed to the file viewer. #745
- Fixed visual nit where ask sb search scope selector would render long repository names poorly. #747
- Fixed visual nit where long search previews in ask sb would take up a lot of space. #747
- Fixed issue where the last search results was getting clipped for searches that exceed the viewport height. #749
- Fixed issue with filtering on generic git repo indexed from http/https #742
- Fixed auth error when trying to sync public gitlab.com project with no token #748
- Fixed "Ranges must be added sorted by
fromposition andstartSide" error when browsing certain files. #743
- [EE] Add Ask chat usage metrics to analytics dashboard #736
- Improved initial file tree load times, especially for larger repositories. #739
- Remove references to demo from docs. #734
- Add docs for GitHub App connection auth. #735
- Improved error messaging around oauth scope errors with user driven permission syncing. #639
- Fixed issue where 403 errors were being raised during a user driven permission sync against a self-hosted code host. #729
- Fixed "ambiguous argument 'HEAD^{commit}': unknown revision or path not in the working tree" error for blank repositories. #733
- Fixed issue where folders containing files with non-ASCII characters in their paths would appear duplicated in the file tree. #726
- Changed the default
/repospagination size to 20. #706 - Changed pull policy in docker compose file to always. #716
- Added Trigger Sync to /repos dropdown menu #710
- Add warning logs when local repo index fails to match pattern. #712
- Fixed issue with text direction issues with special characters in filter panel. #474
- Fixed auto-suggestion dropdown breaking queries with whitespace in repository names. Repository names containing spaces are now properly wrapped in quotes. #705
- Fixed repository images not loading when anonymous access is disabled. #703
- Enable browser assisted autofill for username and password.#696
- Bake Sourcebot version into code rather than relying on build arg. #680
- Fix issue with
/repospage pagination. #689 - Add better logs for gitlab config sync fails. #692
- Fixed issue where parenthesis in query params were not being encoded, resulting in a poor experience when embedding links in Markdown. #674
- Gitlab clone respects host protocol setting in environment variable. #676
- Fixed performance issues with
/repospage. #677
- Fixed review agent so that it works with GHES instances #611
- Updated next package version to fix CVE-2025-55184 and CVE-2025-55183. #673
- Added support for arbitrary user IDs required for OpenShift. #658
- Improved error messages in file source api. #665
- Fixed issue where the disable telemetry flag was not being respected for web server telemetry. #657
- Added
ALWAYS_INDEX_FILE_PATTERNSenvironment variable to allow specifying a comma seperated list of glob patterns matching file paths that should always be indexed, regardless of size or # of trigrams. #631 - Added button to explore menu to toggle cross-repository search. #647
- Added server side telemetry for search metrics. #652
- Fixed issue where single quotes could not be used in search queries. #629
- Fixed issue where files with special characters would fail to load. #636
- Fixed Ask performance issues. #632
- Fixed regression where creating a new Ask thread when unauthenticated would result in a 404. #641
- Updated react and next package versions to fix CVE 2025-55182. #654
- Changed the default behaviour for code nav to scope references & definitions search to the current repository. #647
- Added support for streaming code search results. #623
- Added buttons to toggle case sensitivity and regex patterns. #623
- Added counts to members, requets, and invites tabs in the members settings. #621
- [Sourcebot EE] Add support for Authentik as a identity provider. #627
- Changed the default search behaviour to match patterns as substrings and not regular expressions. Regular expressions can be used by toggling the regex button in search bar. #623
- Renamed
publicquery prefix tovisibility. Allowed values forvisibilityarepublic,private, andany. #623 - Changed
archivedquery prefix to accept valuesyes,no, andonly. #623 - Changed
langquery prefix to be case sensitive. #623
- Removed
casequery prefix. #623 - Removed
branchandbquery prefixes. Please userev:instead. #623 - Removed
regexquery prefix. #623
- Fixed spurious infinite loads with explore panel, file tree, and file search command. #617
- Wipe search context on init if entitlement no longer exists #618
- Fixed Bitbucket repository exclusions not supporting glob patterns. #620
- Fixed issue where the repo driven permission syncer was attempting to sync public repositories. #624
- Fixed issue where worker would not shutdown while a permission sync job (repo or user) was in progress. #624
- Bumped the default requested search result count from 5k to 10k after optimization pass. #615
- Fixed incorrect shutdown of PostHog SDK in the worker. #609
- Fixed race condition in job schedulers. #607
- Fixed connection sync jobs getting stuck in pending or in progress after restarting the worker. #612
- Fixed issue where connections would always sync on startup, regardless if they changed or not. #613
- Fixed performance bottleneck in search api. Result is a order of magnitutde improvement to average search time according to benchmarks. #615
- Added force resync buttons for connections and repositories. #610
- Added environment variable to configure default search result count. #616
- Added support for running Sourcebot as non-root user. #599
- [Experimental][Sourcebot EE] Added GitLab permission syncing. #585
- [Sourcebot EE] Added external identity provider config and support for multiple accounts. #595
- Added ability to configure environment variables from the config. #597
- [ask sb] Fixed issue where reasoning tokens would appear in
textcontent for openai compatible models. #582 - Fixed issue with GitHub app token tracking and refreshing. #583
- Fixed "The account is already associated with another user" errors with GitLab oauth provider. #584
- Fixed error when viewing a generic git connection in
/settings/connections. #588 - Fixed issue with an unbounded
Promise.allSettled(...)when retrieving details from the GitHub API about a large number of repositories (or orgs or users). #591 - Fixed resource exhaustion (EAGAIN errors) when syncing generic-git-host connections with thousands of repositories. #593
- Removed built-in secret manager. #592
- Changed internal representation of how repo permissions are represented in the database. #600
- Fixed commit and branch hyperlinks not rendering for Gerrit repos. #581
- Fixed visual bug when a repository does not have a image. #581
- Fixed issue where the Ask homepage was not scrollable. #581
- Implement dynamic tab titles for files and folders in browse tab. #560
- Added support for passing db connection url as seperate
DATABASE_HOST,DATABASE_USERNAME,DATABASE_PASSWORD,DATABASE_NAME, andDATABASE_ARGSenv vars. #545 - Added support for GitHub Apps for service auth. #570
- Added prometheus metrics for repo index manager. #571
- Added experimental environment variable to disable API key creation for non-admin users. #577
- [Experimental][Sourcebot EE] Added REST API to get users and delete a user. #578
- Fixed "dubious ownership" errors when cloning / fetching repos. #553
- Fixed issue with Ask Sourcebot tutorial re-appearing after restarting the browser. #563
- Fixed
repoIndexTimeoutMsnot being used for index job timeouts. #567
- Improved search performance for unbounded search queries. #555
- Improved homepage performance by removing client side polling. #563
- Changed navbar indexing indicator to only report progress for first time indexing jobs. #563
- Improved repo indexing job stability and robustness. #563
- Improved repositories table. #572
- Improved connections table. #579
- Manually pass auth token for ado server deployments. #543
- Fix support email. #529
- [Experimental][Sourcebot EE] Added permission syncing repository Access Control Lists (ACLs) between Sourcebot and GitHub. #508
- Improved repository query performance by adding db indices. #526
- Improved repository query performance by removing JOIN on
Connectiontable. #527 - Changed repo carousel and repo list links to redirect to the file browser. #528
- Changed file headers, files/directories in file tree, and reference list buttons into links. #532
- Added fallback to default the Node.JS AWS SDK's
fromNodeProviderChainwhen no credentials are provided for a bedrock config. #513 - Added support for Azure Devops support. #514
- Fixed "At least one project, user, or group must be specified" for GitLab configs with
allin web configurator. #512 - Fixed zoekt indexing failing with pipe in branch/tag names #506
- Removed deprecated connection creation/edit UI #515
- Fixed Bitbucket Cloud pagination not working beyond first page. #295
- Fixed search bar line wrapping. #501
- Fixed carousel perf issues. #507
- Added
exclude.userOwnedProjectssetting to GitLab configs. #498
- Fixed "couldn't find remote ref HEAD" errors when re-indexing certain repositories. #497
- Disable page scroll when using arrow keys on search suggestions box. #493
- Added support for specifying query params for openai compatible language models. #490
- Fix issue where zoekt was failing to index repositories due to
HEADpointing to a branch that does not exist. #488
- Remove setting
remote.origin.urlfor remote git repositories. #483 - Fix error when navigating to paths with percentage symbols. #485
- Updated NextJS to version 15. #477
- Add
sessionTokenas optional Bedrock configuration parameter. #478
- Added multi-branch indexing support for Gerrit. #433
- [ask sb] Added
reasoningEffortoption to OpenAI provider. #446 - [ask db] Added
headersoption to all providers. #449
- Removed prefix from structured log output. #443
- [ask sb] Fixed long generation times for first message in a chat thread. #447
- Bumped AI SDK and associated packages version. #444
- Fixed issue where
usersspecified in a GitHub config were not getting picked up when atokenis also specified. #428
- [ask sb] Added OpenAI Compatible Language Provider. #424
- Bumped AI SDK and associated packages version. #417
- [ask sb] Fixed "413 content too large" error when starting a new chat with many repos selected. #416
- [ask sb] PostHog telemetry for chat thread creation. #418
- Add search context to ask sourcebot context selector. #397
- Add ability to include/exclude connection in search context. #399
- Search context refactor to search scope and demo card UI changes. #405
- Add GitHub star toast. #409
- Added a onboarding modal when first visiting the homepage when
askmode is selected. #408 - [ask sb] Added
searchReposToolandlistAllReposTool. #400
- Fixed multiple writes race condition on config file watcher. #398
- Bumped AI SDK and associated packages version. #404
- Bumped form-data package version. #407
- Bumped next version. #406
- [ask sb] Improved search code tool with filter options. #400
- [ask sb] Removed search scope constraint. #400
- Update README with new features and videos. #410
- [ask sb] Add back search scope requirement and other UI changes. #411
- Introducing Ask Sourcebot - ask natural langauge about your codebase. Get back comprehensive Markdown responses with inline citations back to the code. Bring your own LLM api key. #392
- Fixed onboarding infinite loop when GCP IAP Auth is enabled. #381
- Relicense core to FSL-1.1-ALv2. #388
- Added
GITLAB_CLIENT_QUERY_TIMEOUT_SECONDSenv var to configure the GitLab client's query timeout. #390
- Fixed typos in UI, docs, code #369
- Add anonymous access option to core and deprecate the
enablePublicAccessconfig setting. #385
- Revamped onboarding experience. #376
- Fixed issue with external source code links being broken for paths with spaces. #364
- Makes base retry indexing configuration configurable and move from a default of
5sto60s. #377 - Fixed issue where files would sometimes never load in the code browser. #365
- Fixed issue where invites appeared to be created successfully, but were not actually being created in the database. #359
- Audit logging is now enabled by default. #358
- Added audit logging. #355
- Delete account join request when redeeming an invite. #352
- Fix issue where a repository would not be included in a search context if the context was created before the repository. #354
- Changed search api (and all apis that depend on it) to return raw source code instead of base64 encoded string. (356).
- Changed repository link in search to file tree + move external link to code host logo. #340
- Added a basic file search dialog when browsing a repository. #341
- Text highlighting clarity. #342
- Fixed repo list column header styling. #344
- Clean up successful and failed jobs in Redis queues. #343
- Fixed issue with files occasionally not loading after moving the cursor rapidly over the file browser. #346
- Added seperate page for signup. #311
- Fix repo images in authed instance case and add manifest json. #332
- Added encryption logic for license keys. #335
- Added hover tooltip for long repo names in filter panel. #338
- Added repo shard validation on startup. #339
- Added support for a file explorer when browsing files. #336
- Added copy button for filenames. #328
- Added development docker compose file. #328
- Added keyboard shortcuts for find all refs / go to def. #329
- Added GCP IAP JIT provisioning. #330
- Fixed issue with the symbol hover popover clipping at the top of the page. #326
- Fixed slow rendering issue with large reference/definition lists. #327
- Added structured logging support. #323
- Fixed issue where new oauth providers weren't being display in the login page. commit
- Fixed client side "mark decorations may not be empty" error when viewing certain files. #325
- Fixed issue where the symbol hover popover would not appear for large source files. #325
- Fixed issue with how entitlements are resolved for cloud. #319
Sourcebot V4 introduces authentication, performance improvements and code navigation. Checkout the migration guide for information on upgrading your instance to v4.
- [Breaking Change] Authentication is now required by default. Notes:
- When setting up your instance, email / password login will be the default authentication provider.
- The first user that logs into the instance is given the
ownerrole. (docs). - Subsequent users can request to join the instance. The
ownercan approve / deny requests to join the instance viaSettings>Members>Pending Requests. - If a user is approved to join the instance, they are given the
memberrole. - Additional login providers, including email links and SSO, can be configured with additional environment variables. (docs).
- Clicking on a search result now takes you to the
/browseview. Files can still be previewed by clicking the "Preview" button or holdingCmd/Ctrlwhen clicking on a search result. #315
- [Sourcebot EE] Added search-based code navigation, allowing you to jump between symbol definition and references when viewing source files. Read the documentation. #315
- Added collapsible filter panel. #315
- Added Sourcebot API key management for external clients. #311
- Improved scroll performance for large numbers of search results. #315
- Added support for indexing generic git hosts given a remote clone url or local path. #307
- Fixed issue with repos appearing in the carousel when they fail indexing for the first time. #305
- Align gitea clone_url with gitea host url #303
- Added better error handling to git operations
- Fixes bug with repos not being visible in the homepage carousel when re-indexing. #294
- Added special
*value forrev:to allow searching across all branches. #281 - Added the Sourcebot Model Context Protocol (MCP) server in packages/mcp to allow LLMs to interface with Sourcebot. Checkout the npm package here. #292
- Added
exclude.readOnlyandexclude.hiddenoptions to Gerrit connection config. #280
- Fixes regression introduced in v3.1.0 that causes auth errors with GitHub. #288
- Changed the filter panel to embed the filter selection state in the query params. #276
- [Sourcebot EE] Added search contexts, user-defined groupings of repositories that help focus searches on specific areas of a codebase. #273
- Added support for Bitbucket Cloud and Bitbucket Data Center connections. #275
- Fix issue with gerrit gitiles web urls not being correctly formatted
- Prevent database in container from being initialized and started if we're using an external database #267
- Add additional logging for repo and connection syncing, and display proper names instead of ids
- Change connection manager upsert timeout to 5 minutes
- Fix issue with repo display names being poorly formatted, especially for gerrit. (#259)
- Added config setting
resyncConnectionIntervalMsto control how often a connection should be re-synced. (#260)
- Fix issue with match highlighting not appearing when first clicking on a search result. (#255)
Sourcebot v3 is here and brings a number of structural changes to the tool's foundation, including a SQL database, parallelized indexing, authentication support, multitenancy, and more. Checkout the migration guide for information on upgrading your instance to v3.
- [Breaking Change] Changed the config schema such that connection objects are specified in the
connectionmap, instead of thereposarray. See migration guide. - Updated the tool's color-palette in dark mode.
- Added parallelized repo indexing and connection syncing via Redis & BullMQ. See the architecture overview.
- Added repo indexing progress indicators in the navbar.
- Added authentication support via OAuth or email/password. For instructions on enabling, see this doc.
- Added the following UI for managing your deployment when auth is enabled:
- connection management: create and manage your JSON configs via a integrated web-editor.
- secrets: import personal access tokens (PAT) into Sourcebot (AES-256 encrypted). Reference secrets in your connection config by name.
- team & invite management: invite users to your instance to give them access. Configure team roles & permissions.
- Added multi-tenancy support. See this doc.
- [Breaking Change] Removed
db.jsonin favour of a Postgres database for transactional workloads. See the architecture overview. - [Breaking Change] Removed local folder & arbitrary .git repo support. If your deployment depended on these features, please open a issue and let us know.
- [Breaking Chnage] Removed ability to specify a
tokenas a string literal from the schema. - [Breaking Change] Removed support for
DOMAIN_SUB_PATHconfiguration.
- Fixed bug where Sourcebot Cloud card was shown to self-hosted users
- Made syntax reference guide keyboard shortcut hints clickable. (#229)
- Remove
repo_syncedtelemetry event.
- Added
maxTrigramCountto the config to control the maximum allowable of trigrams per document.
- Fixed issue with version upgrade toast not appearing without a hard refresh. (#179)
- Added a syntax reference guide. The guide can be opened using the hotkey "Cmd + /" ("Ctrl + /" on Windows). (#169)
- Fixed issue where we crash on startup if the install / upgrade PostHog event fails to send. (#159)
- Fixed issue with broken file links. (#161)
- Added support for creating share links to snippets of code. (#149)
- Added support for indexing raw remote git repository. (#152)
- Added config option
settings.reindexIntervalandsettings.resyncIntervalto control how often the index should be re-indexed and re-synced. (#134) - Added
exclude.sizeto the GitHub config to allow excluding repositories by size. (#137)
- Fixed issue where config synchronization was failing entirely when a single api call fails. (#142)
- Fixed 'directory not found' error in certain scenarios when deleting a repository. (#136)
- Added config support for filtering GitLab & GitHub repositories by topic. (#121)
- Added additional language syntax support. (#125)
- Added additional language icon support. (#129)
- Made language suggestions case insensitive. (#124)
- Stale repositories are now automatically deleted from the index. This can be configured via
settings.autoDeleteStaleReposin the config. (#128)
- Added config option
settings.maxFileSizeto control the maximum file size zoekt will index. (#118)
- Fixed syntax highlighting for zoekt query language. (#115)
- Fixed issue with Gerrit repo fetching not paginating. (#114)
- Fixed visual issues with filter panel. (#105)
- Gerrit support. (#104)
- Added search history to the search bar. (#99)
- Added symbol suggestions as suggestion type. (#98)
- Fixed issue where incorrect repository icons were shown occasionally in the filter panel. (#95)
- Fixed homepage links not resolving correctly when DOMAIN_SUB_PATH is set. (#96)
- Added file suggestions as a suggestion type. (#88)
- Added icon and link support for self-hosted repositories. (#93)
- Changed how PostHog telemetry key is passed into the docker image. (#92)
- Added search suggestions to the search bar. (#85)
- Added
DOMAIN_SUB_PATHenvironment variable to allow overriding the default domain subpath. (#74) - Added option
allto the GitLab index schema, allowing for indexing all projects in a self-hosted GitLab instance. (#84)
- Bumped NodeJS version to v20. (#78)
- Added support for syntax highlighting in the search bar. (#66)
- Changed the
exclude.repoproperty to support glob patterns. (#70)
- Added additional telemetry events. (#63)
- Added support for indexing and searching repositories across multiple revisions (tag or branch). (#58)
- Local directory indexing support. (#56)
- Added filtering panel for filtering results by repository and by language. (#48)
- Fixed issue with GitLab sub-projects not being included recursively. (#54)
- Fixed slow rendering performance when rendering a large number of results. (#52)
- Fixed issue with either
star_countorfork_countnot being included in the GitLab api response. (#55)
- Fixed issue with GitLab projects that are not owned but still visible by the provided
tokennot being synchronized. (#51)
- Gitea support (#45)
- Added a toast notification when a new Sourcebot version is available (#44)
- Added support for specifying urls for the
--configPathoption in the backend.
- [Breaking Change] Added index schema v2. This new schema brings many quality of life features like clearer syntax, ability to specify individual
repos,projects,groups, andorgs, and the ability to easilyexcluderepositories. - Added a
SOURCEBOT_VERSIONbuild argument to the Docker image. (#41) - Added the
sourcebot_versionproperty to all PostHog events for versioned telemetry. (#41
- Fixed issue with unicode characters not being displayed correctly (#38)
- Fixed issue with filtering by gitlab groups (#36)
- Added
GITLAB_HOSTNAMEandGITHUB_HOSTNAMEenvironment variables to allow overriding the default hostnames for GitLab and GitHub.
- Initial release