Skip to content

v1.2.6: New D/Clojure Code Formatting, GitLab Improvements ​

Release Date: February 16, 2026


One-Sentence Summary ​

This update adds dfmt and cljfmt code formatters for D and Clojure, and improves GitLab login experience.


New Feature: D Language Formatting (dfmt) ​

What was updated? ​

Added dfmt formatter support for D language files.

What is dfmt? ​

dfmt is the official code formatting tool for D language, which automatically adjusts code indentation, spacing, line breaks, etc., for consistent code style.

How to use? ​

When you edit .d files, OpenCode will automatically use dfmt to format the code.

If you want automatic code formatting, you can enable it in the configuration file:

json
{
  "formatters": {
    "d": "dfmt"
  }
}

What is D language? ​

D language is a systems programming language that combines C++ performance with Python usability. It's used for:

  • High-performance applications
  • Game development
  • Systems programming

New Feature: Clojure Formatting (cljfmt) ​

What was updated? ​

Added cljfmt formatter support for Clojure files.

What is cljfmt? ​

cljfmt is a code formatting tool for Clojure, based on the core.style style guide.

How to use? ​

When editing .clj or .cljs files, OpenCode will automatically use cljfmt for formatting.

json
{
  "formatters": {
    "clojure": "cljfmt"
  }
}

What is Clojure? ​

Clojure is a Lisp dialect running on the JVM platform, known for simplicity and functional programming. It's used for:

  • Data processing
  • Web development
  • Concurrent programming

New Feature: GitLab Mid-Session Token Refresh ​

What was updated? ​

Upgraded GitLab provider and authentication plugin, now supporting mid-session token refresh without needing to re-login.

What are the benefits? ​

Previously, if your GitLab token expired, you needed to re-login. Now:

  • Token automatically refreshes when about to expire
  • Won't interrupt your work
  • Smoother experience

When does it refresh? ​

  • When token is about to expire (usually hourly)
  • Won't affect ongoing conversations

New Feature: Google Vertex OpenAI Compatible Endpoint ​

What was updated? ​

Added OpenAI compatible endpoint support for the Google Vertex provider.

What are the benefits? ​

If you have tools or services that support the OpenAI API format, you can now use them to access Google Vertex models.

Simply put: More flexible model access methods.


New Feature: Venice Parameter Support ​

What was updated? ​

Added more parameter support for the Venice provider:

  • temperature
  • topP
  • topK
  • smallOption

What are the benefits? ​

More fine-grained control over Venice model output:

  • temperature: Control creativity level (higher = more random)
  • topP: Nucleus sampling parameter
  • topK: Limit candidate word count
  • smallOption: Small model option

Bug Fix: Environment Variable Priority ​

The Previous Problem ​

In Google Vertex AI configuration, environment variables might override user configuration, causing settings not to take effect.

The Current Situation ​

Now user-defined variables take priority over environment variables, so your configuration won't be overridden.


Bug Fix: Unnecessary LLM Calls ​

The Previous Problem ​

Every message would call LLM to generate a title, causing unnecessary API calls and latency.

The Current Situation ​

Removed unnecessary per-message title LLM calls, improving response speed.


New Feature: TUI Database Migration Command ​

What was updated? ​

Added a database migration command in TUI mode to migrate JSON storage to SQLite.

How to use? ​

Enter the /migrate command in the TUI interface to trigger migration.

Note: Migration may take some time depending on data volume.


New Feature: attach Command Extensions ​

What was updated? ​

Added --continue and --fork flags to the attach command.

How to use? ​

  • opencode attach --continue: Continue previous session
  • opencode attach --fork: Copy current session and create new branch

Bug Fix: Desktop Linux Display ​

The Previous Problem ​

When using the desktop application on Linux, Wayland/X11 backend and decoration strategy were inconsistent.

The Current Situation ​

Unified Linux display backend and window decoration strategy for more consistent experience.


Should You Upgrade? ​

SituationRecommendation
Using D or Clojure✅ Upgrade
Using GitLab✅ Upgrade
Desktop Linux user✅ Upgrade
Want faster response✅ Upgrade
Everything works fineCan wait for next release

Upgrade command:

bash
opencode upgrade

Technical Details (Optional) ​

Click to expand full changelog

Core ​

  • Added dfmt formatter support for D language files
  • Upgraded GitLab provider and authentication plugin to support mid-session token refresh
  • Removed unnecessary per-message title LLM calls
  • User-defined variables take priority over environment variables in Google Vertex AI configuration
  • Added OpenAI compatible endpoint support for Google Vertex provider
  • Added temperature, topP, topK, and smallOption parameter support for Venice
  • Added cljfmt formatter support for Clojure files

TUI (Terminal Interface) ​

  • Use server directory path to handle file references in prompts
  • Added database migration command to convert JSON storage to SQLite
  • Added --continue and --fork flags to attach command
  • Fixed inaccurate prompts in TUI

Desktop ​

  • Unified Linux Wayland/X11 backend and decoration strategy
  • Use process-wrap library in desktop application instead of manual job object handling

Community Contributors ​

Thanks to 12 community contributors:

  • @finalfantasia: Added cljfmt formatter
  • @pkx07: Fixed proper nouns in Chinese translation
  • @Brendonovich: Use process-wrap instead of manual job objects
  • @dpuyosa: Added parameter support for Venice
  • @bnema: Unified Linux display backend
  • @leehack: Added OpenAI compatible endpoint for google-vertex
  • @hobostay: Fixed Russian documentation translation errors
  • @rmk40: Removed unnecessary LLM title calls
  • @imanolmzd-svg: Fixed inaccurate prompts
  • @vglafirov: Upgraded GitLab provider
  • @OpeOginni: Fixed file reference path issue
  • @burner: Added dfmt formatter

← Back to Changelog