Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
---
version: "1.1.0"
release_date: "2026-01-02"
sidebar_position: -5
---

# Release Notes for 1.1.0

_Published January 2, 2026_

## Preamble

Welcome to the first post-1.0 release notes! After shipping our 1.0.0 milestone in April, we spent the rest of 2025 completing the migration to our next-gen scope engine, adding new language support, and polishing the overall experience. As always, Cursorless is on continuous delivery, so all 193 PRs merged since 1.0.0 have already landed in your editor.

## The subject at hand

Since the last release, we've merged [193 PRs](https://github.com/cursorless-dev/cursorless/pulls?q=is%3Apr+is%3Amerged+merged%3A2025-04-12..2026-01-02+sort%3Aupdated-asc+). Here are the highlights:

### Next-gen migration complete 🎉

Remember those "pesky scopes in Clojure, CSS, LaTeX, Ruby, Rust, and Scala" we mentioned in the 1.0.0 release notes? They're done. All of them.

- Migrated Clojure implementations to Tree-sitter queries ([#2951](https://github.com/cursorless-dev/cursorless/pull/2951))
- Migrated LaTeX implementations to Tree-sitter queries ([#2952](https://github.com/cursorless-dev/cursorless/pull/2952))
- Migrated Ruby implementations to Tree-sitter queries ([#2949](https://github.com/cursorless-dev/cursorless/pull/2949))
- Migrated Rust implementations to Tree-sitter queries ([#2950](https://github.com/cursorless-dev/cursorless/pull/2950))
- Migrated Scala implementations to Tree-sitter queries ([#2948](https://github.com/cursorless-dev/cursorless/pull/2948))
- Removed the legacy language machinery entirely ([#2956](https://github.com/cursorless-dev/cursorless/pull/2956))

Every language Cursorless supports now uses our next-gen scope engine, enabling features like next-gen inference (`"every funk air past bat"`), scope visualization, and the scope tree view across the board.

### New language support

- **R language support** is now enabled ([#2721](https://github.com/cursorless-dev/cursorless/pull/2721)). Statistics enthusiasts, rejoice!
- **Java properties files** (`.properties`) now have Cursorless support ([#3077](https://github.com/cursorless-dev/cursorless/pull/3077))
- **Talon list files** (`.talon-list`) are now supported ([#3080](https://github.com/cursorless-dev/cursorless/pull/3080))

### New scopes and features

- **Full line scope**: The new `"full line"` scope includes leading and trailing whitespace, unlike the existing `"line"` scope which excludes surrounding whitespace. Try `"change full line"` when you want to grab the whole enchilada. ([#3095](https://github.com/cursorless-dev/cursorless/pull/3095))
- **Argument list scope**: Target the entire argument list of a function with `"arg list"` ([#2907](https://github.com/cursorless-dev/cursorless/pull/2907))
- **Java record statements**: Java records now have proper scope support ([#3089](https://github.com/cursorless-dev/cursorless/pull/3089))
- **`"move"` where destination contains source**: This now works ([#3056](https://github.com/cursorless-dev/cursorless/pull/3056))
- **`"from"` action enabled by default** ([#2939](https://github.com/cursorless-dev/cursorless/pull/2939))

### Documentation and visualization improvements

The docs got some serious love this cycle:

- **Language-specific scope visualizations in docs**: The [language pages](https://www.cursorless.org/docs/user/languages) now show visualizations of what each scope looks like in each language, making it easier to understand exactly what each scope targets ([#3016](https://github.com/cursorless-dev/cursorless/pull/3016))
- **Missing scopes contributor page**: A new page helps contributors identify which scopes are missing for each language ([#2978](https://github.com/cursorless-dev/cursorless/pull/2978))
- **Containment icons in scope visualizer**: The scope visualizer now shows containment relationships with icons ([#3085](https://github.com/cursorless-dev/cursorless/pull/3085))
![Scope visualizer](./sidebar-containment-icons.png)

### Interior scope improvements

We made significant improvements to interior scopes (the part of a scope between its delimiters):

- Added interior scopes to JavaScript, Java, C#, C, and C++ ([#2987](https://github.com/cursorless-dev/cursorless/pull/2987), [#2988](https://github.com/cursorless-dev/cursorless/pull/2988), [#2991](https://github.com/cursorless-dev/cursorless/pull/2991), [#2992](https://github.com/cursorless-dev/cursorless/pull/2992))
- Head/tail modifiers are now bounded by all interior types, not just pairs ([#3070](https://github.com/cursorless-dev/cursorless/pull/3070))

### Performance improvements

- Added scope handler cache for improved performance with multiple cursors ([#3101](https://github.com/cursorless-dev/cursorless/pull/3101))\
With a 10,000+ line JSON file and 100 cursors, "take key" now takes about 20–25 ms on a modern CPU.

### Bug fixes

- Fixed bug where move source was incorrectly dropped ([#3061](https://github.com/cursorless-dev/cursorless/pull/3061))
- Fixed R arguments issue with incidental multiple matches ([#3064](https://github.com/cursorless-dev/cursorless/pull/3064))
- Better handling of quick pick with whitespace ([#3045](https://github.com/cursorless-dev/cursorless/pull/3045))
- Don't yield empty iteration scopes ([#2968](https://github.com/cursorless-dev/cursorless/pull/2968))

## 📈 What's next?

- **More testing**: We are still working to achieve full test coverage for all supported languages. This is an ongoing process as we discover previously untested areas or add new languages.
- **Cursorless everywhere**: We're continuing work on bringing Cursorless to more editors and platforms.
- **Documentation improvements**: We're always looking for [documentation contributions](https://github.com/cursorless-dev/cursorless/issues?q=is%3Aissue%20state%3Aopen%20label%3Adocumentation)

We'd like to end with a massive thank you to [our sponsors 🎉](https://github.com/sponsors/cursorless-dev/), without whom Cursorless development would not be possible!
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion packages/cursorless-vscode/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@cursorless/cursorless-vscode",
"displayName": "Cursorless",
"version": "1.0.0",
"version": "1.1.0",
"description": "Structural voice coding at the speed of thought",
"license": "MIT",
"publisher": "pokey",
Expand Down
Loading