Commit log

c71f052 Add ability to use o1-preview and o1-mini as custom models (#17804)

Click to expand commit body
This is a barebones modification of the OpenAI provider code to
accommodate non-streaming completions. This is specifically for the o1
models, which do not support streaming. Tested that this is working by
running a `/workflow` with the following (arbitrarily chosen) settings:

```json
{
  "language_models": {
    "openai": {
      "version": "1",
      "available_models": [
        {
          "name": "o1-preview",
          "display_name": "o1-preview",
          "max_tokens": 128000,
          "max_completion_tokens": 30000
        },
        {
          "name": "o1-mini",
          "display_name": "o1-mini",
          "max_tokens": 128000,
          "max_completion_tokens": 20000
        }
      ]
    }
  },
}
```

Release Notes:

- Changed  `low_speed_timeout_in_seconds` option to `600` for OpenAI
provider to accommodate recent o1 model release.

---------

Co-authored-by: Peter <peter@zed.dev>
Co-authored-by: Bennet <bennet@zed.dev>
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>

jvmncs , Peter , Bennet , and Marshall Bowers created

1b36c62 Add keybinding to swap pane items (#15583)

Click to expand commit body
- Rearrange tabs (left: `ctrl-shift-pageup`, right: `ctrl-shift-pagedown`) like Chrome

Co-authored-by: Peter Tripp <peter@zed.dev>

tepek2 and Peter Tripp created

adbe973 editor: In OpenFile check if file with path_suffix exists (#17805)

Click to expand commit body
Demo:


https://github.com/user-attachments/assets/6acb6c1e-bb15-4205-9dcb-2aa4bb99dcf9



Release Notes:

- When using `OpenFile` (`gf` in Vim mode) and the word under the cursor
is not an existing file path, we now fall back and additionally check
whether a file called
`<word-under-cursor>.<language-specific-path-suffixes>` exists. That's
similar to Vim's `suffixesadd` option.

---------

Co-authored-by: Abdelhakim Qbaich <abdelhakim@qbaich.com>
Co-authored-by: Pete LeVasseur <plevasseur@gmail.com>

Thorsten Ball , Abdelhakim Qbaich , and Pete LeVasseur created

8f833ea Fix missing on-mouseup when dragging the window on Linux (#17801)

Click to expand commit body
Zed Hackathon entry :D

Release Notes:

- Fixed a bug where Zed would initiate a window move and then refuse to
release the mouse.

Co-authored-by: Mikayla <mikayla@zed.dev>

Barry Penner and Mikayla created

de344c8 zed_extension_api: Use v0.2.0 WIT types (#17802)

Click to expand commit body
This PR makes `zed_extension_api` use the WIT types from v0.2.0 of
extension API.

A follow-up from #17795, since I had forgotten to do it there.

Release Notes:

- N/A

Marshall Bowers created

91ffa02 /auto (#16696)

Click to expand commit body
Add `/auto` behind a feature flag that's disabled for now, even for
staff.

We've decided on a different design for context inference, but there are
parts of /auto that will be useful for that, so we want them in the code
base even if they're unused for now.

Release Notes:

- N/A

---------

Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>

Richard Feldman , Antonio Scandurra , and Marshall Bowers created

93a3e8b zed_extension_api: Fork new version of extension API (#17795)

Click to expand commit body
This PR forks a new version of the `zed_extension_api` in preparation
for new changes.

Release Notes:

- N/A

---------

Co-authored-by: Max <max@zed.dev>

Marshall Bowers and Max created

3aeea93 typescript: Highlight `is` predicate keyword & `...` spread pattern (#17787)

Click to expand commit body
Release Notes:

- Fixed the `is` and `...` highlights for TypeScript

Albert Marashi created

3613ebd editor: Fix an error when cut with vim visual line select (#17591)

Click to expand commit body
Becuause in vim visual mode, we will always select next char, hit
[here](https://github.com/zed-industries/zed/blob/66ef31882341852229c74996867916fbd4a2fe2a/crates/vim/src/visual.rs#L174),
when using editor method
for `cut` this selection, will hit this error.

Closes #17585 

Release Notes:

- N/A

---------

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

CharlesChen0823 and Conrad Irwin created

461812d windows: Use the existing `open_target` function for `platform::open_with_system` (#17705)

Click to expand commit body
Release Notes:

- N/A

Junkui Zhang created

af819bf windows: Implement `fs::trash_file` and `fs::trash_dir` (#17711)

Click to expand commit body
https://github.com/user-attachments/assets/43370cee-26a5-4d27-b86f-656127e03b4a



Release Notes:

- N/A

Junkui Zhang created

ee96d69 gpui: Fix CJK line wrap for GPUI text render (#17737)

Click to expand commit body
Release Notes:

- N/A

This changes is going to let GPUI render correct text wrapping for CJK
characters. We was done this in PR #11296 for Editor, but this is also
need support for other text renders.

| Before | After |
| --- | --- |
| <img width="488" alt="SCR-20240912-jtvo"
src="https://github.com/user-attachments/assets/d061669c-62ab-4a7e-a724-2df84815d1ed">
| <img width="438" alt="image"
src="https://github.com/user-attachments/assets/ec27fd80-69db-48b6-8ade-694cd65d1843">
|

Jason Lee created

b9b6284 lsp: Treat unrooted paths as relative to the worktree root (#17769)

Click to expand commit body
gopls would send us watch patterns like `**/*.mod` and we'd fall back to
watching `/`.

Release Notes:
- Fix file watching for go projects resorting to watching the fs root.

Co-authored-by: Thorsten <thorsten@zed.dev>

Piotr Osiewicz and Thorsten created

4d26f83 Revert "settings: Remove auxiliary Content types where possible (#16744)" (#17768)

Click to expand commit body
This breaks setting `{"scrollbar": {"show":"never"}}`
Release Notes:

- N/A

Conrad Irwin created

3b37db4 Improve button copy on database load error toast (#17767)

Click to expand commit body
Minimal copywriting improvement as that just happened to me while
working on Zed during ReactConf.

Release Notes:

- N/A

Danilo Leal created

bba380e docs: Add copywriting tweaks to the Vim page (#17766)

Click to expand commit body
Quick writing refinements as we displayed this docs over at RustConf.
Namely:

- Removal of "here" links
- Making link anchors generally bigger
- Adding commas where suitable
- Capitalizing "Vim" (although "vim mode" is still lowercased)

---

Release Notes:

- N/A

Danilo Leal created

6841f7b Update Python to v3.12.6 (#17728)

Click to expand commit body
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [python](https://redirect.github.com/containerbase/python-prebuild) |
dependencies | patch | `3.12.5` -> `3.12.6` |

---

### Release Notes

<details>
<summary>containerbase/python-prebuild (python)</summary>

###
[`v3.12.6`](https://redirect.github.com/containerbase/python-prebuild/releases/tag/3.12.6)

[Compare
Source](https://redirect.github.com/containerbase/python-prebuild/compare/3.12.5...3.12.6)

##### Bug Fixes

-   **deps:** update dependency python to v3.12.6

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone
America/New_York, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

Release Notes:

- N/A

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC43NC4xIiwidXBkYXRlZEluVmVyIjoiMzguNzQuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

renovate[bot] and renovate[bot] created

f39c175 Update Rust crate serde_json_lenient to 0.2 (#17732)

Click to expand commit body
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[serde_json_lenient](https://redirect.github.com/google/serde_json_lenient)
| workspace.dependencies | minor | `0.1` -> `0.2` |

---

### Release Notes

<details>
<summary>google/serde_json_lenient (serde_json_lenient)</summary>

###
[`v0.2.1`](https://redirect.github.com/google/serde_json_lenient/releases/tag/v0.2.1)

[Compare
Source](https://redirect.github.com/google/serde_json_lenient/compare/v0.2.0...v0.2.1)

- Fixed newline handling
([#&#8203;20](https://redirect.github.com/google/serde_json_lenient/issues/20))

###
[`v0.2.0`](https://redirect.github.com/google/serde_json_lenient/releases/tag/v0.2.0)

[Compare
Source](https://redirect.github.com/google/serde_json_lenient/compare/v0.1.8...v0.2.0)

-   Merged from upstream `serde_json`
- Introduce cfg!(parse_negative_zero_as_int) to create a build-time
option to parse -0 the same as other JSON parsers.
([#&#8203;16](https://redirect.github.com/google/serde_json_lenient/issues/16))
- Add an option to control escaped newlines separately from other
control
([#&#8203;18](https://redirect.github.com/google/serde_json_lenient/issues/18))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone
America/New_York, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

Release Notes:

- N/A

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC43NC4xIiwidXBkYXRlZEluVmVyIjoiMzguNzQuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

renovate[bot] and renovate[bot] created

0043b0d editor: Render documentation popovers using UI font (#17761)

Click to expand commit body
This PR updates the documentation popovers to render non-code using the
UI font:

<img width="603" alt="Screenshot 2024-09-12 at 11 10 46 AM"
src="https://github.com/user-attachments/assets/c5be0676-0f0f-4ff6-8a96-76b44684e1cf">

<img width="347" alt="Screenshot 2024-09-12 at 11 21 12 AM"
src="https://github.com/user-attachments/assets/842ba922-9837-45c1-9cf2-846fe8362f99">

Requested by @davidbarsky.

Release Notes:

- Changed documentation popovers to render Markdown prose using the UI
font instead of the buffer font. Code blocks still using the buffer
font.

Marshall Bowers created

b341079 Fix maxTsServerMemory (#17758)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Thorsten Ball <mrnugget@gmail.com>

Conrad Irwin and Thorsten Ball created

02d5f32 lsp: Fix initialization_options being used as workspace configuration (#17757)

Click to expand commit body
Release Notes:

- Fixed user-configured `initialization_options` being passed as
`workspace/Configuration` for the vtsls, TypeScript, and YAML language
servers.

Co-authored-by: Bennet <bennet@zed.dev>

Thorsten Ball and Bennet created

9db68ee lsp: Use project-local settings if available (#17753)

Click to expand commit body
Release Notes:

- Changed built-in language support (Rust, Go, C, YAML, ...) to lookup
language-server specific settings locally in project directory first
before falling back to global value.

---------

Co-authored-by: Bennet <bennet@zed.dev>

Thorsten Ball and Bennet created

092f29d Use a bigger prefix for numeric sorting (#17752)

Click to expand commit body
Release Notes:

- Fixed sorting of files with YYYYmmddHHMMSS prefix

Conrad Irwin created

25b6e43 bump eslint memory usage (#17724)

Click to expand commit body
Release Notes:

- Increased memory limit for eslint to reduce crashes

Conrad Irwin created

3a6a29f vim: Fix inline completions showing up in normal mode (#17727)

Click to expand commit body
Booleans are hard.

Release Notes:

- Fixed inline completions showing up in Vim normal mode.

Thorsten Ball created

9407d86 project: Use login shell to get environment per project (#17717)

Click to expand commit body
This is a follow-up to #17075 to spawn a login shell when getting the
environment for projects.

The reason why we didn't do it before is that we only used the
environment for certain language servers and not a lot of other things,
like tasks.

But with #17075 we now use the project more often and use it as the
_base_ environment for tasks/terminals.

Before the change, terminals and tasks would inherit the Zed process'
environment, including PATH and so on. After the change, we would set
the environment, overwriting the PATH instead of merging. But the
non-login shell environment is a subset of the login-shell environment.


Release Notes:

- Fixed environment variables used per project in terminals/tasks
overwriting the base environment and not making use of a login-shell
environment.

Thorsten Ball created

b5c42ed lsp: Fix noisy logs when starting language servers (#17713)

Click to expand commit body
We would log every time we'd lookup a language server for a file and
we'd also log "starting language server" even though we were about to
only download it and not start it.


Release Notes:

- N/A

Thorsten Ball created

13c553c Doc Fix: Shortcut of "Go forward" in key-bindings.md (#17689)

Click to expand commit body
"Control + _"  =>  "Control + Shift + _"

Doc was edited so quickly using zed that caused a typo 😄


### shot
<img width="729" alt="image"
src="https://github.com/user-attachments/assets/104af7da-1205-43fd-b721-ffab7312487b">


### doc url
https://zed.dev/docs/key-bindings


Release Notes:

- N/A

Nero Song created

ec189fe Add a way to join all panes into one (#17673)

Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/17536
Closes https://github.com/zed-industries/zed/pull/17548


Release Notes:

- Added a way to join all panes into one with `pane::JoinAll` action
([#17536](https://github.com/zed-industries/zed/issues/17536))

---------

Co-authored-by: Yogesh Dhamija <ydhamija96@gmail.com>

Kirill Bulatov and Yogesh Dhamija created

331d28d php: Remove invalid node types from highlights queries (#17680)

Click to expand commit body
This PR removes some invalid node types from the PHP highlights queries.

Release Notes:

- N/A

Marshall Bowers created

8088d1a erlang: Bump to v0.1.0 (#17679)

Click to expand commit body
Changes:

- https://github.com/zed-industries/zed/pull/14914
- https://github.com/zed-industries/zed/pull/14879
- https://github.com/zed-industries/zed/pull/14923
- https://github.com/zed-industries/zed/pull/15973
- https://github.com/zed-industries/zed/pull/16955

Release Notes:

- N/A

---------

Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>

Dairon M. and Marshall Bowers created

ef5a7e1 Fix OpenAI key URL (#17675)

Click to expand commit body
Update the create Open AI Key URL

Release Notes:

- Fixed a link in the Assistant panel to the OpenAI console.

Amin Ahmed Khan created

ccf6f27 settings: Remove auxiliary Content types where possible (#16744)

Click to expand commit body
Release Notes:

- N/A

Piotr Osiewicz created

8f28445 php: Bump to v0.2.0 (#17674)

Click to expand commit body
This PR bumps the PHP extension to v0.2.0.

Changes:

- https://github.com/zed-industries/zed/pull/16720
- https://github.com/zed-industries/zed/pull/16955
- https://github.com/zed-industries/zed/pull/17243
- https://github.com/zed-industries/zed/pull/17545

Release Notes:

- N/A

Marshall Bowers created

f374038 pane: Serialize pinned tab state (#17670)

Click to expand commit body
Release Notes:

- Tab pin state is now persisted across Zed runs.

Piotr Osiewicz created

d1a47fa docs: Update Deno docs (#17579)

Click to expand commit body
add the minimal configuration needed to make deno lsp work

Release Notes:

- N/A

Bedis Nbiba created

d6663fc Pass temperature to Anthropic (#17509)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>

maan2003 and Marshall Bowers created

b16af13 php: Add auto-indent (#17545)

Click to expand commit body
Release Notes:

- N/A

Fernando Tagawa created

3ff81c2 assistant: Simplify image insertion (#17668)

Click to expand commit body
This PR simplifies how images are inserted into the context editor.

We don't need to hold the `images` in a `HashMap` on the `Context`, as
we were only inserting them to pull them out again.

Release Notes:

- N/A

Marshall Bowers created

3cea7cc pane: Fix pinned tabs being persisted after closing (#17666)

Click to expand commit body
Release Notes:

- Fixed tabs staying pinned after closing unrelated tabs

Piotr Osiewicz created

48a16f9 ssh: Lookup language servers in env on SSH host (#17658)

Click to expand commit body
Release Notes:

- ssh remoting: Lookup language server binaries in environment on SSH
host

---------

Co-authored-by: Bennet <bennet@zed.dev>

Thorsten Ball and Bennet created

19463b5 Add docs for search settings (#17662)

Peter Tripp created

36eb1c1 use ssh lsp store (#17655)

Click to expand commit body
Release Notes:

- ssh remoting: Added support for booting langauge servers (in limited
circumstances)

---------

Co-authored-by: Mikayla <mikayla@zed.dev>

Conrad Irwin and Mikayla created

130f19d Correctly merge settings for vtsls (#17657)

Click to expand commit body
Release Notes:

- Fixed vtsls initialization_options in project settings files

Conrad Irwin created

bd1ff47 Revert tokenizer for custom OpenAI models (#17660)

Click to expand commit body
Fix for custom openai models tokenizer settings.

Peter Tripp created

a23e381 assistant: Pass up tool results in LLM request messages (#17656)

Click to expand commit body
This PR makes it so we pass up the tool results in the `tool_results`
field in the request message to the LLM.

This required reworking how we track non-text content in the context
editor.

We also removed serialization of images in context history, as we were
never deserializing it, and thus it was unneeded.

Release Notes:

- N/A

---------

Co-authored-by: Antonio <antonio@zed.dev>

Marshall Bowers and Antonio created

1b62792 v0.154.x dev

Joseph T Lyons created

ae3880e Add ability to open files with system default application (#17231)

KorigamiK created

06142f9 Use the configured UI font size for the inline assistant (#17542)

Niklas Haas created

fb9d01b assistant: Add display_name for OpenAI and Gemini (#17508)

Peter Tripp created