Skip to content

merge dev into master (v2.0.0)#342

Merged
Tarquinen merged 123 commits intomasterfrom
dev
Feb 5, 2026
Merged

merge dev into master (v2.0.0)#342
Tarquinen merged 123 commits intomasterfrom
dev

Conversation

@Tarquinen
Copy link
Collaborator

@Tarquinen Tarquinen commented Feb 1, 2026

Summary

  • New Compress Tool: Added the compress tool to collapse large sections of conversation into concise summaries using boundary-string matching.
  • Standardize DCP tools: Tools renamed and consistently ordered as Distill, Compress, Prune.
  • Prompt System Rewrite: Complete overhaul of system prompts for improved instruction following and build-time prompt generation.
  • Token Usage Tracking: Real-time session token usage and budget status with a configurable contextLimit (set to a token count or "model").
  • Relicense to AGPL-3.0: Updated project license and contribution guidelines.
  • Secure mode auth: HTTP Basic Auth support when OPENCODE_SERVER_PASSWORD is set.
  • Toast notifications: New pruneNotificationType config option ("chat" or "toast").
  • Full tool pruning for edit/write: Prune entire tool parts including input parameters; write/edit are no longer protected by default.
  • Enable supersedeWrites by default: Auto-prune write tool inputs when the file has been subsequently read.
  • Message count tracking: Pruned message count added to /dcp stats display and /dcp context breakdown.
  • Improved error messages: Clearer, actionable errors when DCP tools are called with invalid parameters.
  • Documentation & Provider Guidance: Added info on Claude cache limits and providers with uniform token pricing (e.g., Cerebras) where DCP is purely beneficial.
  • apply_patch and multiedit support: Added support for apply_patch and multiedit tools.
  • XDG base directory support: Config now respects XDG_CONFIG_HOME.
  • Tool permission config: Tool configs changed from enabled: boolean to permission: "ask" | "allow" | "deny" to mirror opencode mechanics.
  • Opus 4.6 fix: Opus 4.6 was causing unsupported prefill errors, fixed here.
  • Various bugfixes and performance improvements.

Tarquinen and others added 30 commits January 29, 2026 20:16
Recover squash-related files from dangling stash commit:
- squash tool implementation and utils
- squash, discard-extract, discard-squash, extract-squash, all prompt variants
- system and nudge prompts for all tool combinations
- Add ulid dependency for generating unique IDs
- Replace timestamp-based ID counter with ulid
- Ensures unique IDs across parallel operations
- Move squashSummaries out of prune object to top-level state
- Add resetOnCompaction utility to clear stale state after compaction
- Move findLastCompactionTimestamp and countTurns to state/utils.ts
- Update isMessageCompacted to also check prune.messageIds
- Update persistence to save/load squashSummaries at top level
- Move findStringInMessages, collectToolIdsInRange, collectMessageIdsInRange
  from squash.ts to tools/utils.ts for reusability
- Keep squash.ts focused on tool definition and execution logic
- Follows existing pattern where collectContentInRange lives in utils.ts
When opencode runs with OPENCODE_SERVER_PASSWORD set, the server
requires HTTP Basic Auth. This adds auth utilities to detect secure
mode and configure the SDK client with an interceptor that injects
the Authorization header on all requests.

Fixes #304
- revert terse PR 313 style back to verbose prose format from dev branch
- clarify tool triggers: discard/extract for individual outputs, squash for phases
- remove 'task complete' trigger from discard/extract (exclusive to squash)
- add instruction to not use discard/extract without prunable-tools list
- replace 'task/sub-task' terminology with 'phase' to avoid conflict with Task tool
- Use tool part injection for DeepSeek/Kimi (requires reasoning_content in assistant messages)
- Use text part injection for other models (cleaner approach)
- Add prunedMessageCount to context breakdown display
refactor(prompts): dcp prompt system + prompt dx cli + new tool names
Fixes issue where readFileSync with __dirname fails when bundled by Bun
(same issue as #222, reintroduced by #327).

- Add scripts/generate-prompts.ts prebuild script
- Import generated .ts files instead of runtime readFileSync
- Remove postbuild .md copy (no longer needed)
Tarquinen and others added 15 commits February 4, 2026 11:17
docs: add uniform token pricing providers to best use cases
Config loader now checks XDG_CONFIG_HOME before falling back to
~/.config/opencode. Logger now uses XDG_DATA_HOME (defaulting to
~/.local/share) for log storage, which is where runtime data belongs
per the XDG Base Directory Specification.

No behavior change for users with default (unset) XDG paths.
STORAGE_DIR in persistence.ts also hardcoded ~/.local/share instead of
checking XDG_DATA_HOME. Same pattern as the logger fix.
Fix XDG base directory support for config and log paths
Mirroring opencode permissions mechanic for dcp config
@Tarquinen Tarquinen changed the title merge dev into master merge dev into master (v2.0.0) Feb 5, 2026
@Tarquinen Tarquinen marked this pull request as ready for review February 5, 2026 20:16
@Tarquinen Tarquinen merged commit a0e254b into master Feb 5, 2026
1 check passed
@Tarquinen Tarquinen deleted the dev branch February 5, 2026 20:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

Comments