Releases: anomalyco/opencode
Releases Β· anomalyco/opencode
v1.1.34
v1.1.33
Core
- Add thinking presets for Google Vertex Anthropic provider (@zerone0x)
- Added support for OpenAI-based GitLab Duo models (@vglafirov)
- Show file path in apply_patch request permission screen (@iltenahmet)
TUI
- Add weight to fuzzy search to maintain title priority in TUI (@IdrisGit)
Desktop
- Session shouldn't be keyed
- Flash of fallback icon for projects fixed
- Fix project icon color flash on load
- Fixed folder suggestions missing last part in path completion
- Allow adding projects from any directory depth
- Allow adding projects from root directory in the app
- Non-git projects can now be renamed
- Add app version display to settings (@alexyaroshuk)
Thank you to 5 community contributors:
- @iltenahmet:
- fix(ui): show file path in apply_patch request permission screen (#10079)
- @alexyaroshuk:
- feat(app): add app version display to settings (#10095)
- @IdrisGit:
- fix(tui): add weight to fuzzy search to maintain title priority (#10106)
- @vglafirov:
- feat(gitlab): Added support for OpenAI based GitLab Duo models (#10108)
- @zerone0x:
- fix(provider): add thinking presets for Google Vertex Anthropic (#9953)
v1.1.32
Core
- Revert handling of special characters in paths and git snapshot reading logic
- Revert snapshot regression fix
- Ensure cat command triggers external directory permission check in Bash tool
- Print MCP stderr to OpenCode log file (@karta0807913)
- Write refresh tokens to OpenAI auth in Codex (@CasualDeveloper)
- Add workspace startup script to projects
- Ensure images are properly returned as tool results
- Rename
setSessionModeltounstable_setSessionModelin ACP (@maxious) - Correct spelling of 'supercedes' to 'supersedes' (@luojiyin1987)
- Add prompt cache key support for Venice provider (@dpuyosa)
- Include noop tool in activeTools for LiteLLM proxy compatibility (@danielfrg)
TUI
- Allow remote directory specification in attach command (@gricha)
Desktop
- Add Brazilian Portuguese locale support (@ygorsimoes)
- Make 'Learn More' link functional in theme settings (@LAG-4)
- Render images in session review
- Fix Windows path handling in app tests
- Fix new session button in app
- Add translations support to app
- Delete sessions
- Close projects from hover card
- Don't auto-navigate to workspace after reset
- Expand font stacks to include macOS Nerd Font default names (@bewareoftheleopard)
- Clear session hover state on navigation (@kyashrathore)
- Correct NO_PROXY environment variable syntax in desktop application (@Brendonovich)
- Improve desktop connection reliability (@Brendonovich)
- Add terminal smoke test to app test suite
- Add file viewer smoke test
- Add model picker smoke test
- Add smoke test for @ attachment functionality
- Add slash command smoke tests to app
- Settings smoke tests
- Fix type error in codebase
- Fix TypeScript satisfies operator usage
- Fix hover card scrolling behavior
- Auto-scroll to bottom when new messages arrive
- Add scrollbar styling to session page (@alexyaroshuk)
- Add support for Norwegian translations (@Finityno)
- Snap to bottom when user submits a prompt
- Add accessibility translations to the app
- Change project path tooltip position to bottom in desktop app (@ProdigyRahul)
- Session screen accessibility improvements (@ndarilek)
- Move markdown rendering to Rust in desktop app (@nexxeln)
- Add 8px left margin to sidebar toggle on desktop
- Match terminal toggle button size with sidebar and review toggles
- Update jump to latest button with circular design and animation
- Add Arabic language support (@NourEldin-Osama)
- Always show Toggle-Review button in app (@DNGriffin)
- Open terminal pane when creating new terminal (@kearns-cu)
Thank you to 24 community contributors:
- @R44VC0RP:
- fix: scope PR recap to only PRs from today (#9905)
- @danielfrg:
- fix: include _noop tool in activeTools for LiteLLM proxy compatibility (#9912)
- @dpuyosa:
- feat: Add promptCacheKey for Venice provider (#9915)
- @kearns-cu:
- fix(app): open terminal pane when creating new terminal (#9926)
- @luojiyin1987:
- fix: correct spelling 'supercedes' to 'supersedes' (#9935)
- @maxious:
- fix(acp): rename setSessionModel to unstable_setSessionModel (#9940)
- @IdrisGit:
- docs: add API server section in CONTRIBUTING.md (#9888)
- @DNGriffin:
- feat(app): always show Toggle-Review button (#9944)
- @NourEldin-Osama:
- feat(i18n): add Arabic language support (#9947)
- @nexxeln:
- refactor(desktop): move markdown rendering to rust (#10000)
- @ndarilek:
- fix(app): session screen accessibility improvements (#9907)
- @ProdigyRahul:
- fix(desktop): change project path tooltip position to bottom (#9497)
- @Finityno:
- feat: Add support for Norwegian translations (#10018)
- @alexyaroshuk:
- @Brendonovich:
- fix(desktop): attempt to improve connection reliability
- fix(desktop): correct NO_PROXY syntax
- @kyashrathore:
- fix(app): clear session hover state on navigation (#10031)
- @ryanmiville:
- fix(app): support ctrl-n/p in lists (#10036)
- @bewareoftheleopard:
- fix(desktop): Expand font stacks to include macOS Nerd Font default names (#10045)
- @CasualDeveloper:
- @karta0807913:
- feat(mcp log): print mcp stderr to opencode log file (#9982)
- @LAG-4:
- fix: make 'Learn More' link functional in theme settings (#10078)
- @shubh73:
- feat(ui): add aura theme (#10056)
- @ygorsimoes:
- feat(i18n): add br locale support (#10086)
- @gricha:
- fix(attach): allow remote --dir (#8969)
v1.1.31
Core
- Mark subagent sessions as agent-initiated to exclude them from quota limits
- Add chat.headers hook and update codex and copilot plugins to use it (thanks to @ananas-viber for catching)
TUI
- Add Gruvbox theme to Web and App (@swolg)
Desktop
- Add Traditional Chinese language support and rename Chinese to Chinese (Simplified) (@alexyaroshuk)
- Add Russian language support (@alexyaroshuk)
- Polish translations in app (@neriousy)
Thank you to 4 community contributors:
v1.1.30
Core
- Add session list and session fork support to ACP (@remorses)
- Fix metadata matching to use model.id instead of model.api.id to support legacy model identifiers
- Adjust textVerbosity and reasoningEffort defaults to better align with Codex CLI behavior
- Implement home directory expansion for permission patterns using
~and$HOMEprefixes (@Danztee) - Add back todo list tools for OpenAI models
- Persist loaded model and mode when loading ACP sessions (@noamzbr)
- Update GitLab packages for better self-hosted instance support (@vglafirov)
- Make the models.dev domain configurable for offline environments (@bartbroere)
Desktop
- Rename favicon on web again
- Improve provider OAuth error handling in app
- Fix renaming non-git projects affecting other projects
- Tab should select suggestion in the app
- Fix type error
- Fix terminal issues and regressions
- Remove terminal button border to align with close button (@allanhvam)
- Fixed navigation issues when working with large sessions in desktop app (@dbpolito)
Thank you to 8 community contributors:
- @bartbroere:
- feat: Make the models.dev domain configurable for offline environments (#9258)
- @vglafirov:
- chore(deps): update GitLab packages for better self-hosted instance support (#9856)
- @noamzbr:
- fix: Persist loaded model and mode on ACP session load (#9829)
- @Danztee:
- feat: implement home directory expansion for permission patterns using
~and$HOMEprefixes. (#9813)
- feat: implement home directory expansion for permission patterns using
- @dbpolito:
- fix(desktop): Navigation with Big Sessions (#9529)
- @allanhvam:
- fix(app): remove terminal button border to align with close button (#9874)
- @remorses:
- feat(acp): add session/list and session/fork support (#7976)
- @gigamonster256:
- fix: update pre-push hook to allow caret version differences (#9876)
v1.1.29
Core
- Adjust skill tool description to clarify available skills
- Add caching support for Claude with Bedrock custom inference profiles (@stevoland)
- Add Laravel Pint as a PHP formatter (@nunomaduro)
- Change session title prompt to respond in user's language (@spoons-and-mirrors)
- Terminal improvements including focus handling, rename functionality, error state management, and CSP compliance (@unitythemaker)
- Fix snapshot regression in core module
- Handle special characters in paths and git snapshot reading logic (@shirukai)
- Update session summary after revert to show file changes
- Add OPENCODE_DISABLE_PROJECT_CONFIG environment variable to disable project configuration (@kdcokenny)
- Add OPENCODE_DISABLE_FILETIME_CHECK flag to skip file modification time checks (@luojiyin1987)
- Ensure apply patch tool emits edited events
- Ensure synthetic user message following subtasks is only added when user manually invoked subtask
- Don't update session timestamp for metadata-only changes (@ariane-emory)
- Fix issue when switching models between providers where past reasoning/metadata would cause 400 errors
TUI
- Support responsive layout for narrow terminal screens (@vmotta8)
Desktop
- New sound effects, downmixed to mono
- Fix keybind search dialog height in app
- Add new sounds to app
- Add missing internationalization keys in app package
- Add search functionality to settings shortcuts (@ProdigyRahul)
- Add new workspace button supporting all available languages (@ProdigyRahul)
- Add aria-labels to titlebar and sidebar buttons for improved accessibility (@ndarilek)
- Fix e2e tests in app package
- Fix type error
- Breaking out of auto-scroll in the app
- Add model tooltip metadata in chooser per Figma request (@kearns-cu)
- Fix workspaces padding inconsistency (@DNGriffin)
- Properly integrate window controls on Windows desktop (@Brendonovich)
- Add Japanese language support to the app
- Add workaround for nushell in desktop application (@Brendonovich)
- Add Danish translations to the application
- Add Japanese translations to the app
- Add French translations to the app
- Add Spanish translations to the app
- Add German translations to the application
- Add Korean language translations to the application
- Don't show notification on session if active
- Add manage models icon to selector (@kearns-cu)
- Allow users to select directory text on new session (@DNGriffin)
- Fix desktop app not connecting to sidecar when proxy is configured
- Standardize desktop layout icons (@jacobabahn)
- Fix numbered list rendering in web markdown (@R44VC0RP)
- Remove portal spacer and fix terminal toggle padding in UI (@alexyaroshuk)
- Add internationalization support to the app
- Add internationalization support for prompt input component
- Initial internationalization stubbing for the app
- Don't interfere with scroll when using message navigation
- Add keyboard shortcut (Mod+,) to open settings dialog
- Improve auto-scroll user experience in app
Thank you to 20 community contributors:
- @R44VC0RP:
- @alexyaroshuk:
- fix(ui): remove portal spacer and fix terminal toggle padding (#9728)
- @jacobabahn:
- feat(desktop): standardize desktop layout icons (#9685)
- @yxshee:
- @ariane-emory:
- @vmotta8:
- fix(tui): responsive layout for narrow screens (#9703)
- @luojiyin1987:
- feat: add OPENCODE_DISABLE_FILETIME_CHECK flag (#6581)
- @kdcokenny:
- feat: add OPENCODE_DISABLE_PROJECT_CONFIG env var (#8093)
- @RiskyMH:
- chore(opencode): Use Bun.semver instead of node-semver (#9773)
- @shirukai:
- @DNGriffin:
- @zerone0x:
- fix(ui): preserve filename casing in edit/write tool titles (#9752)
- @kearns-cu:
- @Brendonovich:
- fix(desktop): add workaround for nushell
- feat(desktop): properly integrate window controls on windows (#9835)
- @unitythemaker:
- fix(app): terminal improvements - focus, rename, error state, CSP (#9700)
- @ndarilek:
- fix(app): add aria-labels to titlebar and sidebar buttons (#9843)
- @ProdigyRahul:
- @spoons-and-mirrors:
- tweak(session title): change prompt to have the response with user language (#9847)
- @nunomaduro:
- feat(formatters): add laravel pint as a
.phpformatter (#7312)
- feat(formatters): add laravel pint as a
- @stevoland:
- fix: Claude w/bedrock custom inference profile - caching support (#9838)
v1.1.28
Core
- Preserve tool input from running state for MCP tool results (@rynfar)
- Pass arguments to commands without explicit placeholders (@remorses)
- Adjust Codex prompt to discourage unnecessary questions and encourage more autonomous decision-making
- Register OAuth callback before opening browser in MCP (@msvechla)
- Support ACP audience by mapping to ignore and synthetic (@noamzbr)
- Terminal no longer hangs on exit or Ctrl+D and closes the pane properly (@ProdigyRahul)
TUI
- Prevent sidebar height from overflowing in terminal UI (@IdrisGit)
Desktop
- Refactor Select component to use settings variant for settings modal styling
- Show "View all sessions" button for active project and close hovercard on click
- Remove close delay on hover cards to prevent overlapping
- Fix review empty state font size
- Fix race condition when editing project names (@DNGriffin)
- Resolve Select children type conflict with ButtonProps
- Fix prompt agent button style
- Fix type error
- Update keyboard shortcuts panel to match general settings styling
- Add color scheme preview on hover in appearance dropdown
- Update settings panel padding and make content full width
- Set 32px spacing between main title and group title
- Add fade gradient to settings panel headers
- Reset select trigger to default state after selection
- Add extra large dialog size and use it for settings modal
- Add triggerStyle prop to Select component and apply it to font selector
- Render font options in their respective fonts
- Wrap settings row groups with styled container
- Remove border and background from settings panel headers
- Remove subheader from General settings panel
- Add keyboard icon and use it for Shortcuts settings tab
- Add sliders icon and use it for General settings tab
- Update settings tabs layout and spacing
- Increase icon letter size to 32px in edit project dialog
- Increase session messages popover open delay to 1000ms
- Fix end-to-end tests in app package
- Add Windows end-to-end tests for the app
- Change terminal.new keybind to Ctrl+Alt+T (@ProdigyRahul)
- Cleanup PTY exited event listener on component unmount (@ProdigyRahul)
- Fix duplicate session loads in app
- Add tooltips to sidebar new session and workspace buttons (@ProdigyRahul)
- Better pending states for workspace operations
- Fix session loading loop in app
- Add restart and reload menu items on macOS (@BlankParticle)
- Fix broken app functionality
- Add settings page to app
Thank you to 13 community contributors:
- @ProdigyRahul:
- @BlankParticle:
- feat: add restart and reload menu items on macOS (#9212)
- @noamzbr:
- feat: Support ACP audience by mapping to ignore and synthetic (#9593)
- @msvechla:
- fix(mcp): register OAuth callback before opening browser (#9646)
- @remorses:
- fix: pass arguments to commands without explicit placeholders (#9606)
- @zerone0x:
- fix(ui): show filename in Edit/Write permission titles (#9662)
- @MBanucu:
- fix(opencode): Allow compatible Bun versions in packageManager field (#9597)
- @DRunkPiano114:
- fix(ui): prevent Enter key action during IME composition (#9564)
- @IdrisGit:
- fix(tui): prevent sidebar height from overflowing. (#9689)
- @gigamonster256:
- fix(opencode): relax bun version requirement (#9682)
- @DNGriffin:
- fix(app): Edit-project name race condition (#9551)
- @rynfar:
- fix(opencode): preserve tool input from running state for MCP tool results (#9667)
- @kdcokenny:
- docs(web): add KDCO plugins to ecosystem (#7694)
v1.1.27
Core
- Remove filetime assertions from patch tool
- Ensure truncation handling applies to MCP servers
- Update batch tool definition to outline correct value for max tool calls (@jamesmengo)
TUI
- Add space toggle hint to tool selection prompt (@cjellick)
- Fix message history cleanup to prevent memory leaks in TUI
Desktop
- Fixed flash of home page on application start
- Fixed localStorage quota handling in app
- Persist quota limits to prevent loss on reload
- Completely disable pinch to zoom in desktop application (@Brendonovich)
- Fix message list overflow and scrolling issues (@neriousy)
- Add 8px padding to recent sessions popover
- Remove top padding from edit project dialog form
- Update session messages popover gutter to 28px
- Position session messages popover at top
- Retain session hover state when popover is open and update border radius
- Update session hover popover styling
- Update review session empty state styling
- Add ability to select project directory text in web interface (@DNGriffin)
Thank you to 5 community contributors:
- @DNGriffin:
- feat(app): Add ability to select project directory text to web (#9344)
- @neriousy:
- fix(app): message list overflow & scrolling (#9530)
- @jamesmengo:
- fix(batch): update batch tool definition to outline correct value for max tool calls (#9517)
- @cjellick:
- fix: add space toggle hint to tool selection prompt (#9535)
- @Brendonovich:
- fix(desktop): completely disable pinch to zoom
v1.1.26
Core
- Increase maximum batch tool limit from 10 to 25 (@spoons-and-mirrors)
- Remove favicon from application
- Apply patch description
- Format only edited file in Cargo workspace instead of entire workspace (@goniz)
- Cargo fmt does not support formatting single files
- Rename uv formatter from 'uv format' to 'uv' for config consistency (@paulclou)
- Initial e2e test setup for app
- Reset worktree to clean state
- Delete workspace functionality
- Tweak apply_patch tool description
- Omit todo tools for OpenAI models
- Add proper variant support to copilot
- Track reasoning by output_index for Copilot compatibility (@NateSmyth)
- Add scheduler and cleanup module
- Auto-route GPT-5+ models to Responses API in GitHub Copilot integration (@christso)
- Use streamObject when using OpenAI OAuth in agent generation (@thmalek)
- Fix incorrect model variants for Grok models
- Note untracked files in review documentation
- Treat .fbs files as text instead of images in tool handling (@zerone0x)
- Update GitLab AI provider to version 1.3.2 (@vglafirov)
- Add command execute before hook (@spoons-and-mirrors)
- Overhaul Nix flake and packages (@gigamonster256)
- Preserve file attachment metadata during session replay (@liorshk)
- Update Scoop installation method (@chawyehsu)
- Fix import issue in patch module
- Restore persisted model and agent when loading ACP session (@noamzbr)
- Use single global event subscription and route by session ID in ACP (@noamzbr)
- Increase question header and label limits (@bdwelle)
- Add apply_patch tool for OpenAI models
- Fix Java language server download on Windows (@pschiel)
- Add vim-style line-by-line scrolling keybindings (@NathanFlurry)
- Prevent environment variables in config from being replaced with actual values
- Fix mDNS hostname discovery (@j0nl1)
- Revert OAuth redirect URI configuration for MCP servers
- Fix GPT ID handling in API responses
- Add OAuth polling safety margin in Copilot device authentication (@hamir-suspect)
- Open help dialog with tui/open-help route (@AksharP5)
TUI
- Clarify resume session tip in TUI (@kearns-cu)
- Set input mode based on whether mouse or keyboard is in use to prevent unwanted mouse events (@jcampuza)
- Don't unnecessarily wrap lines and introduce an unneeded empty line (@ariane-emory)
- Add mouse support for permission buttons in TUI (@Hona)
- Fix Windows evaluating text on copy (@Hona)
- Uninstall OpenCode installed via Windows package managers (@itsrainingmani)
- Unify command registry and derive slash commands from command definitions (@kitlangton)
- Hide variants hint when list is empty
- Fix model state persistence when model store is not ready
- Centralize OSC 52 clipboard support for SSH sessions (@b3nw)
- Keep primary model after subagent runs (@sethcarlton)
- Make home/end keys work in menu list modal windows (@ariane-emory)
Desktop
- Fix favicon in app
- Change keybind for cycling thinking effort in app (@neriousy)
- Fixed global terminal and review pane toggle functionality
- Fix hash-based navigation in the application
- Give feedback when trying to paste an unsupported file type (@neriousy)
- Rename favicons to v2 for cache busting (@R44VC0RP)
- Reload instance after workspace reset
- Make terminal sessions scoped to workspace
- Add hover overlay with upload and trash icons to project icon in edit dialog
- Tighten edit project color spacing
- Constrain edit project dialog width
- Tweak edit project icon container styling
- Adjust edit project icon helper text
- Update edit project dialog padding and avatar styles for consistency
- New layout improvements for app
- New session layout
- Improved session layout
- Hide settings button in app
- Add more end-to-end tests for the app
- Add end-to-end testing utilities for the application
- Tweak share button to prevent layout shift in desktop (@itsrainingmani)
- Apply getComputedStyle polyfill on all platforms in desktop app (@Slone123c)
- Improve layout and styling of desktop session search button (@OpeOginni)
- Remove redundant toast for thinking effort changes (@kitlangton)
- Add session unshare button to desktop application (@itsrainingmani)
- Remove max-width constraint from session name tooltip
- Adjust project path tooltip placement
- Remove max width on sidebar new buttons
- Adjust session list tooltip trigger and delay
- Keep project avatar hover styles while popover is open
- Adjust recent sessions popover padding
- Reduce prompt dock bottom spacing
- Show project name in avatar hover
- Remove loading text after splash screen
- Fix command palette file list item spacing
- Shrink project notification dot and apply masking
- Update desktop initializing splash logo
- Align project avatar notification dot
- Don't try to open command palette if a dialog is already open (@BlankParticle)
- Added Windows-only guard to make window.getComputedStyle fall back to document.documentElement (@Eric-Guo)
- Fix flaky session archiving behavior
- Prevent text clipping on search button descenders
- Remove secondary text from commands
- Limit search modal max-height to 480px
- Refine search modal styling and list component
- Reduce command item left padding in search modal
- Add hideIcon and class options to List search and customize search modal input styling
- Adjust command item left padding in search modal
- Add left padding to command items in search modal
- Increase keybind border radius in search modal
- Display arrow keys as symbols in keybind formatting
- Use Keybind component in search modal list
- Use Keybind component in titlebar search button
- Fix recent sessions gutter spacing
Extensions
- Add use_github_token to example
Thank you to 39 community contributors:
- @ariane-emory:
- @sethcarlton:
- fix: keep primary model after subagent runs (#8951)
- @AksharP5:
- fix: open help dialog with tui/open-help route (#8596)
- @b3nw:
- fix: centralize OSC 52 clipboard support for SSH sessions (#8974)
- @gigamonster256:
- @dbpolito:
- fix(desktop): Stream bash output + strip-asni (#8961)
- @hamir-suspect:
- fix(opencode): add oauth polling safety margin in copilot device authentication (#8986)
- @jerome-benoit:
- fix(nix): resolve hash race condition in parallel matrix jobs (#8995)
- @benjaminshafii:
- docs: Add OpenWork to ecosystem (#8741)
- @Eric-Guo:
- fix(desktop): Added a Windows-only guard that makes window.getComputedStyle fall back to document.documentElement (#9054)
- @j0nl1:
- fix: mdns discover hostname (#9039)
- @Slone123c:
- @cgilly2fast:
- docs: add firmware provider to providers docs (#8993)
- @berenar:
- docs(config): explain that
autoupdatedoesn't work when installed with a package manager (#9092)
- docs(config): explain that
- @BlankParticle:
- fix: don't try to open command palette if a dialog is already open (#9116)
- @kitlangton:
- @NathanFlurry:
- feat: bind vim-style line-by-line scrolling (#8980)
- @pschiel:
- fix(windows): fix jdtls download on Windows (#9195)
- @bdwelle:
- feat(tool): increase question header and label limits (#9201)
- @noamzbr:
- @itsrainingmani:
- @OpeOginni:
- refactor(desktop): improve layout and styling of session search button (#9251)
- @chawyehsu:
- refactor(installation): update scoop installation method (#9243)
- @liorshk:
- fix(acp): preserve file attachment metadata during session replay (#6342)
- @spoons-and-mirrors:
- @vglafirov:
- @zerone0x:
- fix(tool): treat .fbs files as text instead of images (#9276)
- @alanpog:
- docs: clarify agent tool access and explore vs general distinction (#9300)
- @Hona:
- @thmalek:
- fix(opencode): use streamObject when using openai oauth in agent generation (#9231)
- @christso:
- fix(github-copilot): auto-route GPT-5+ models to Responses API (#5877)
- @NateSmyth:
- fix: track reasoning by output_index for copilot compatibility (#9124)
- @kedMertens:
- docs: update codecompanion.nvim acp doc (#9411)
- @paulclou:
- fix(config): rename uv formatter from 'uv format' to 'uv' for config consistency (#9409)
- @jcampuza:
- @goniz:
- fix(opencode):
cargo fmtis formatting whole workspace instead of edited file (#9436)
- fix(opencode):
- @R44VC0RP:
- fix(web): rename favicons to v2 for cache busting (#9492)
- @neriousy:
v1.1.25
Core
- Improve wording
- Revert tool attachment fix to prevent them being sent as user messages
- Reinstall plugins when cache module is missing (@kenryu42)
Desktop
- Remember last opened project in app
- Truncate workspace title in app
- Handle new session correctly in app
- Center dialog on page instead of session
Thank you to 3 community contributors:
- @kenryu42:
- fix(bun): reinstall plugins when cache module missing (#8815)
- @ariane-emory: