Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 1.0.0 #2870

Open
wants to merge 10 commits into
base: main
Choose a base branch
from
Open
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,57 @@
---
version: "1.0.0"
release_date: "2025-04-12"
sidebar_position: -4
---

# Release Notes for 1.0.0

_Published April 12, 2025_

## Preamble

Cursorless is finally ready for its 1.0.0 release! 🎉

Since the last release, we've shipped lots of features, as well as pouring on that polish to get us to the place where we're ready to drop our first major. Backwards compatibility and stability has always been a bit of a religion around here, but now that we've bumped that leading 0, we're bound by the [semver blood oath](https://semver.org/).

## The subject at hand

Since the last release, we've merged [184 PRs](https://github.com/cursorless-dev/cursorless/pulls?q=is%3Apr+is%3Amerged+merged%3A2024-08-02..2025-04-12+sort%3Aupdated-asc+), including [100+ PRs](https://github.com/cursorless-dev/cursorless/pulls?q=is%3Apr+is%3Amerged+merged%3A2025-01-01..2025-04-12+sort%3Aupdated-asc+) just since the start of 2025! And as always, we're on continuous delivery, so each of these merged PRs hit your editor before you could say `"chuck every two lines first funk class bat"`.

Here are some highlights:

### Polish, polish, polish

- Simplified the installation process by notifying users if they're missing essential features like Talon or the command server ([#2720](https://github.com/cursorless-dev/cursorless/pull/2720), [#2061](https://github.com/cursorless-dev/cursorless/pull/2061))
- Improved error messages and feedback throughout the extension ([#2861](https://github.com/cursorless-dev/cursorless/pull/2861), [#2755](https://github.com/cursorless-dev/cursorless/pull/2755))
- Migrated most of our language scope tests to our new test representation, which helped us to uncover lots of corner cases and dramatically improve consistency across languages.

### Next-gen scope definitions

- Migrated all text-based scopes and most language-specific ones from our legacy definitions to next-gen scope definitions, enabling next-gen inference (eg `"every funk air past bat"`), scope visualization, scope tree view, etc. We're just down to a few pesky scopes in Clojure, CSS, LaTeX, Ruby, Rust, and Scala. If you use one of these languages, we're looking for volunteers to [knock out the last few scopes](https://www.cursorless.org/docs/contributing/adding-a-new-scope/)!

### Community integration

- Deprecated the Cursorless snippets in favor of the [community snippets](https://github.com/talonhub/community/tree/f7e5f9696c7ed6e78e8488c8b7fb1c6bbcc25779/core/snippets) ([#2804](https://github.com/cursorless-dev/cursorless/pull/2804), [#2747](https://github.com/cursorless-dev/cursorless/pull/2747), [#2744](https://github.com/cursorless-dev/cursorless/pull/2744))
- Added migration tools and instructions for users to switch to community snippets ([#2857](https://github.com/cursorless-dev/cursorless/pull/2857), [#2837](https://github.com/cursorless-dev/cursorless/pull/2837), [#2833](https://github.com/cursorless-dev/cursorless/pull/2833), [#2824](https://github.com/cursorless-dev/cursorless/pull/2824))

### Stability and testing

- We now have over 10,000 tests in total, testing everything from actions and scopes to the Talon grammar
- Improved test infrastructure and reporting ([#2818](https://github.com/cursorless-dev/cursorless/pull/2818), [#2809](https://github.com/cursorless-dev/cursorless/pull/2809), [#2854](https://github.com/cursorless-dev/cursorless/pull/2854))

### New features

While our main push for the 1.0.0 release was polish, we still managed to squeeze in a few new features:

- Flash targets action ([#2764](https://github.com/cursorless-dev/cursorless/pull/2764))
- Add `"append"` action to add a new cursor ([#2707](https://github.com/cursorless-dev/cursorless/pull/2707))

## 📈 What's next?

- We will continue to improve language definitions. There are still some languages where features are missing or still in legacy form (see above).
- Improving documentation. This is an area where we would really appreciate [contributions](https://github.com/cursorless-dev/cursorless/issues?q=is%3Aissue%20state%3Aopen%20label%3Adocumentation)
- Cursorless everywhere. We now have users working on Cursorless for multiple new editors. The future for Cursorless everywhere is looking very bright!
- Embedded languages, eg js within html, markdown code blocks, vue.js, styled components in js, etc etc. This one is a big effort, so stay tuned ([#409](https://github.com/cursorless-dev/cursorless/issues/409))

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!
2 changes: 1 addition & 1 deletion packages/cursorless-vscode/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
"description": "Tests"
}
],
"version": "0.29.0",
"version": "1.0.0",
"publisher": "pokey",
"license": "MIT",
"repository": {
Expand Down
Loading