- The
--webserver
flag is now enabled by default intabby serve
. To turn off the webserver and only use OSS features, use the--no-webserver
flag. /v1beta/chat/completions
is now moved to/v1/chat/completions
, while the old endpoint is still available for backward compatibility.
- Upgrade llama.cpp to b2715.
- Support integration of repositories from GitHub and GitLab using personal access tokens.
- Changed the default model filename from
q8_0.v2.gguf
tomodel.gguf
in MODEL_SPEC.md - Activities from deactivated users are no longer counted in reports
- Introduced the
--chat-device
flag to specify the device used to run the chat model. - Added a "Reports" tab in the web interface, which provides team-wise statistics for Tabby IDE and Extensions usage (e.g., completions, acceptances).
- Enabled the use of segmented models with the
tabby download
command. - Implemented the "Go to file" functionality in the Code Browser.
- Fix worker unregisteration misfunctioning caused by unmatched address.
- Accurate repository context filtering using fuzzy matching on
git_url
field. - Support the use of client-side context, including function/class declarations from LSP, and relevant snippets from local changed files.
- Fix worker registration check against enterprise licenses.
- Fix default value of
disable_client_side_telemetry
when--webserver
is not used.
- Support for SMTP configuration in the user management system.
- Support for SSO and team management as features in the Enterprise tier.
- Fully managed repository indexing using
--webserver
, with job history logging available in the web interface.
- Ensure
~/.tabby/repositories
exists for tabby scheduler jobs: TabbyML#1375 - Add cpu only binary
tabby-cpu
to docker distribution.
- Due to format changes, re-executing
tabby scheduler --now
is required to ensure thatCode Browser
functions properly.
- Introducing a preview release of the
Source Code Browser
, featuring visualization of code snippets utilized for code completion in RAG. - Added a Windows CPU binary distribution.
- Added a Linux ROCm (AMD GPU) binary distribution.
- Fixed an issue with cached permanent redirection in certain browsers (e.g., Chrome) when the
--webserver
flag is disabled. - Introduced the
TABBY_MODEL_CACHE_ROOT
environment variable to individually override the model cache directory. - The
/v1beta/chat/completions
API endpoint is now compatible with OpenAI's chat completion API. - Models from our official registry can now be referred to without the TabbyML prefix. Therefore, for the model TabbyML/CodeLlama-7B, you can simply refer to it as CodeLlama-7B everywhere.
- Tabby now includes built-in user management and secure access, ensuring that it is only accessible to your team.
- The
--webserver
flag is a new addition totabby serve
that enables secure access to the tabby server. When this flag is on, IDE extensions will need to provide an authorization token to access the instance.- Some functionalities that are bound to the webserver (e.g. playground) will also require the
--webserver
flag.
- Some functionalities that are bound to the webserver (e.g. playground) will also require the
- Fix TabbyML#1036, events log should be written to dated json files.
- Add distribution support (running completion / chat model on different process / machine).
- Add conversation history in chat playground.
- Add
/metrics
endpoint for prometheus metrics collection.
- Fix the slow repository indexing due to constraint memory arena in tantivy index writer.
- Make
--model
optional, so users can create a chat only instance. - Add
--parallelism
to control the throughput and VRAM usage: TabbyML#727
- llama.cpp backend (CPU, Metal) now requires a redownload of gguf model due to upstream format changes: TabbyML#645 ggerganov/llama.cpp#3252
- Due to indexing format changes, the
~/.tabby/index
needs to be manually removed before any further runs oftabby scheduler
. TABBY_REGISTRY
is replaced withTABBY_DOWNLOAD_HOST
for the github based registry implementation.
- Improved dashboard UI.
- Cpu backend is switched to llama.cpp: TabbyML#638
- add
server.completion_timeout
to control the code completion interface timeout: TabbyML#637 - Cuda backend is switched to llama.cpp: TabbyML#656
- Tokenizer implementation is switched to llama.cpp, so tabby no longer need to download additional tokenizer file: TabbyML#683
- Fix deadlock issue reported in TabbyML#718
- Supports golang: TabbyML#553
- Supports ruby: TabbyML#597
- Supports using local directory for
Repository.git_url
: usefile:///path/to/repo
to specify a local directory. - A new UI design for webserver.
- Improve snippets retrieval by dedup candidates to existing content + snippets: TabbyML#582
- Fix GPU OOM issue caused the parallelism: TabbyML#541, TabbyML#587
- Fix git safe directory check in docker: TabbyML#569
The currently supported languages are:
- Rust
- Python
- JavaScript / JSX
- TypeScript / TSX
A blog series detailing the technical aspects of Retrieval-Augmented Code Completion will be published soon. Stay tuned!
- Fix Issue #511 by marking ggml models as optional.
- Improve stop words handling by combining RegexSet into Regex for efficiency.
- Fix a critical issue that might cause request dead locking in ctranslate2 backend (when loading is heavy)
We have introduced a new argument, --chat-model
, which allows you to specify the model for the chat playground located at http://localhost:8080/playground
To utilize this feature, use the following command in the terminal:
tabby serve --device metal --model TabbyML/StarCoder-1B --chat-model TabbyML/Mistral-7B
Mainland Chinese users have been facing challenges accessing Hugging Face due to various reasons. The Tabby team is actively working to address this issue by mirroring models to a hosting provider in mainland China called modelscope.cn.
# Download from the Modelscope registry
TABBY_REGISTRY=modelscope tabby download --model TabbyML/WizardCoder-1B
- Implemented more accurate UTF-8 incremental decoding in the GitHub pull request.
- Fixed the stop words implementation by utilizing RegexSet to isolate the stop word group.
- Improved model downloading logic; now Tabby will attempt to fetch the latest model version if there's a remote change, and the local cache key becomes stale.
- set default num_replicas_per_device for ctranslate2 backend to increase parallelism.