Releases: pulsar-edit/pulsar
v1.127.1
Pulsar v1.127.1 (Hotfix Release)
Here's a quick hotfix release, reverting a change that caused an issue for Linux users.
(For all other changes since v1.126.0, please see the release notes for v1.127.0.)
As always, a huge thank you to our community, contributors, and donations.
Happy coding, and see you amongst the stars!
- The Pulsar Team
- Hotfix: Reverted a Wayland-related change that Linux users reported issues with on Electron 12.
Pulsar
- Revert "Wayland pulsar script" @mauricioszabo
v1.127.0
Pulsar v1.127.0: Marching to the beat of our own drum
Another release to round out this month. Enjoy.
As always, a huge thank you to our community, contributors, and donations.
Happy coding, and see you amongst the stars!
- The Pulsar Team
- Added a Jasmine 2-based test runner, migrated core editor tests to use it. Packages bundled into the core editor can migrate their tests to use this as well, over time. The Jasmine 1 test runner remains available.
- Added
--enable-features=UseOzonePlatform
and--ozone-platform=wayland
as parameters when running under Wayland on Linux (avoids using xwayland, which causes rendering problems on some systems, especially with NVidia) - Many Tree-sitter/parser/grammar improvements.
- Updated to
web-tree-sitter
version0.25.3
. - Fixed a bug preventing folds from updating after code changes in some scenarios.
- Better folding behavior in Python.
- Better folding and syntax highlighting in Ruby of
case
/in
statements. - Better syntax highlighting of private members in JavScript.
- Better folding of multiline comments in PHP.
- Updated to
- Updated the
read
dependency in ppm
Pulsar
- ppm: Update ppm to commit a6f843f0381f64cb5865efc7 @DeeDeeG
- Tree-sitter rolling fixes, 1.127 edition @savetheclocktower
- Wayland pulsar script @mauricioszabo
- Update jasmine to 2.x @kiskoza
ppm
- Update to read v3 @2colours
v1.126.0
Pulsar v1.126.0: Still Marching On
This release may be delayed from our usual, but here it finally is!
(Enjoy folding your arrays, PHP-ists!)
As always, a huge thank you to our community, contributors, and donations.
Happy coding, and see you amongst the stars!
- The Pulsar Team
- Python 3.12+ compatibility in ppm (installing packages with native C/C++ modules with Python 3.12+ on your system should Just Work™). (Python 3.7 and older no-longer supported for installing Pulsar packages with native C/C++ modules with ppm. Does not affect anything other than installing certain Pulsar packages.)
- PHP arrays spanning multiple lines are now foldable, as they always should have been.
- Various dependency updates for ppm.
core.allowWindowTransparency
setting is now hidden from the UI, as it has many limits and can cause unexpected issues, a situation which we inherit from the upstream Electron project. (Power-users who understand the drawbacks and still wish to enable transparency can add it to their user config files manually.)
Pulsar
- CI: Compile newer Python for Cirrus ARM Linux @DeeDeeG
- CI: Update Rolling token for Cirrus CI @DeeDeeG
- ppm: Bump ppm to commit 6981ce79e0efdd9bae1fac9bd1 @DeeDeeG
- Tree-sitter fixes, 1.126.0 edition @savetheclocktower
- CI: Specify a
PYTHON
env var on Windows so it doesn't get confused @savetheclocktower - CI: Run
apt-get update
before installing Pulsar (for package tests) @DeeDeeG - Remove
core.allowWindowTransparency
from the config schema @savetheclocktower
ppm
v1.125.0
Pulsar v1.125.0: Happy New Years!
The Pulsar team is happy to welcome everyone to the new year on our 2025th regular release.
We've gone back on our last update's decision to add source comment
to the spell-check.grammar
setting by default, as it had a greater performance impact than anticipated. This does mean that by default comments in code are no longer spell-checked — but if you liked the feature, you can add that setting back in! Just re-add source comment
to the list of scopes under "Settings > Packages > spell-check > Grammars."
We've also restored an internal API that was changed a while back, after we learned the change affected the project-plus
community package.
We have our usual improvements to the Tree-sitter grammars — such as language-css
's parser being updated to the latest, and language-python
getting improved indentation hinting for some unusual code constructs.
We've fixed an issue that would cause pulsar
and ppm
to be removed from the user's PATH on Windows during an upgrade, to ensure the choices you select during installation are respected.
We've also engaged in some maintenance and updates to our CI operations, to ensure we can keep things working on all of our supported platforms.
As always, a huge thank you to our community, contributors, and donations.
Happy coding, and see you amongst the stars!
- The Pulsar Team
- The Windows installer no longer removes
pulsar
andppm
from your path when you update Pulsar to a newer version. - [spell-check] Removed
source comment
from the list of automatically checked scopes because of reports of high CPU usage. This means that Pulsar will no longer automatically perform spell-checking for all code comments in all source files. (If you liked the behavior, you can add it back to the list in thespell-check.grammars
config setting.) - [language-python] Improved indentation hinting in some unusual scenarios like on one-line blocks and after code comments.
- [language-css] Updated
tree-sitter-css
to latest. Selector handling is now much better when typing incomplete selectors in a brand-new CSS file or at the bottom of an existing file. - Restored functionality of project-plus via exposing previously removed internal APIs.
Pulsar
- Tree-sitter rolling fixes, 1.125 (or 1.124.1) edition @savetheclocktower
- Windows: Only remove Pulsar/PPM from PATH during uninstall @confused-Techie
- CI: Retry on timeout when building macOS bins @DeeDeeG
- Install dependencies for CI documentation job @savetheclocktower
- Attempt to install dependency on new Ubuntu CI images @savetheclocktower
- CI: No dpkg shenanigans for package tests workflow @DeeDeeG
- Expose
dbPromise
inStateStore
@confused-Techie
pulsar-updater
- Don't prompt to update on non-default release channels @savetheclocktower
spell-check
- Fixes for a possible patch release @savetheclocktower
v1.124.0
Pulsar v1.124.0: Happy Year-End Festivities!
We hope you're having a relaxing and wholesome holiday season! We've been kicking back a bit ourselves, but that doesn't mean we don't have any new updates to share with you!
Whether you're celebrating end-of-year holidays in the cold of Winter, or the heat of Summer (depending on what hemisphere you live in!) Pulsar is here to warm your heart with another Regular release.
We've made it possible for spellcheck to activate in more fine-grained scopes, and turned it on for code comments by default. (Now with fewer typos in comments!) If you'd like to disable spell checking in comments, navigate to Settings > spell-check > grammars
and remove source comment
, or delete source comment
from spell-check.grammars
in your config file.
We've tweaked and refined some aspects of our Tree-sitter usage, as usual. With a fix for C++, and another under-the-hood fix as well.
We've ensured that keybinds should show for every package in settings-view
, fixing a bug that prevented any keybinds from showing when keybinds were available for OSes/platforms other than the one currently in use.
We've cleaned up an outdated error message that you might see when moving items to the trash on Linux.
And we've engaged in a bit of maintenance around our CI operations as usual, and made building Pulsar a bit faster by skipping generation of blockmap files that we currently don't make use of.
As always, a huge thank you to our community, contributors, and donations.
Happy coding, and see you amongst the stars.
- The Pulsar Team
- Enhanced spellcheck to allow spellchecking on sections of a buffer. Making it possible to spellcheck comments within code, which has been enabled by default.
- Tree-sitter fixes and enhancements for
language-c
. - Updated error message received when deleting a file in Linux to be more accurate.
- Fixed error that could cause some keymaps to not appear under a package in
settings-view
.
Pulsar
- CI: Add build dependencies for Linux 'test bins' job @DeeDeeG
- Tree-sitter rolling fixes, 1.124 edition @savetheclocktower
- Fix Linux trash error message @mauricioszabo
- electron-builder: Don't create differential update blockmaps @DeeDeeG
- CI: Update Cirrus Rolling release upload token @DeeDeeG
spell-check
- [spell-check] Allow the user to whitelist sections of a buffer for spellchecking on a per-language basis. @savetheclocktower
settings-view
- [settings-view] Fix Package keymap compatibility check @confused-Techie
v1.123.0
Pulsar 1.123.0: Is It Winter Yet?!
This time around there's been a big focus on bug fixes and compatibility:
ensuring Linux users are able to load the new SQL State Storage when starting Pulsar from a self-contained binary, and fixing a regression with Electron 12 compatibility for moving items to the trash.
But don't fret, there's still a healthy mix of new features, such as the symbols-view
package allowing project-wide symbol search from multiple providers, as well as our consistent improvements to the new Tree-sitter implementation.
All-in-all we hope there's something for everyone this release.
As always, a huge thank you to our community, contributors, and donations.
Happy coding, and see you amongst the stars.
- The Pulsar Team
- Fixed SQL State Storage not loading when starting Pulsar from a self-contained binary like appImage, tar.gz, etc.
- [symbols-view] Allow project-wide symbol search to consider results from more than one provider.
- Tree-sitter fixes and enhancements for hyperlinks, C, and shell scripts.
- Restore use of
shell.moveItemToTrash
API in tree-view, for Electron 12 compatibility.
Pulsar
- Tree-sitter rolling fixes, 1.123 edition @savetheclocktower
- [symbols-view] Allow project-wide symbol searches to consider multiple providers @savetheclocktower
- electron-builder: Fix race condition when preparing to copy binaries @DeeDeeG
- [ci] Update GitHub Token in CirrusCI config @confused-Techie
- Fixing requiring of better-sqlite3 @mauricioszabo
- Revert removal of
shell.moveItemToTrash
@savetheclocktower - CI: Bump macOS runner images from macos-12 to macos-13 @DeeDeeG
v1.122.0
Pulsar 1.122.0: Frightfully Good
Greetings! In today's Pulsar release, we have:
- Bug-fixes, refactors and enhancements for Tree-sitter, mostly focused on C and PHP. (shout out to
@savetheclocktower
for these monthly enhancements!) - Launcher improvements:
- A fix for the
pulsar
andppm
bins being removed without being replaced upon upgrading via the.rpm
package (shout out to@am97
, thank you for this fix!) - The AppImage now supports more launch flags, such as
--wait
, and-p --version
also works to print theppm
version info (shout out to@savetheclocktower
for multiple PRs leading up to this, and this PR itself.)
- A fix for the
- A bug involving an error in autocomplete-plus is avoided (shout out to
@Digitalone1
) - SQL state storage implementation for the app is available by opt-in (shout out to
@mauricioszabo
) - Replacing a deprecated Electron API call
shell.moveItemToTrash
(shout out to@savetheclocktower
once again!)
Happy coding, and see you amongst the stars.
- Pulsar team
- Added a SQL State Storage alternative to IndexedDB (opt-in, off by default).
- Repackaged the AppImage so it uses our launcher script internally (supports more CLI/launch flags).
- [language-php] Highlighted “null-safe” property access correctly.
- [language-c] Scoped template delimiters properly in C++.
- [language-c] Consolidated common highlighting queries between the C and C++ grammars for more consistency in syntax highlighting.
- Fixed incorrect behavior in certain scenarios for “Fold at Indent Level X” commands.
- Fixed exception when resolving divided folds (e.g.,
#ifdefs
in C/C++). - Avoided "length of null" error in autocomplete-plus for the PHP Tree-sitter grammar.
- Preserved
/usr/bin/pulsar
and/usr/bin/ppm
on RPM updates. - [tree-view] Moved to a more modern API for file removal in preparation for an Electron upgrade.
Pulsar
- Added: Adding a SQL State Storage instead of IndexedDB @mauricioszabo
- Fixed: Fix AppImage executable @savetheclocktower
- Fixed: Tree-sitter rolling fixes, 1.122 edition @savetheclocktower
- Fixed: Fix reading error of length property on null @Digitalone1
- Fixed: Preserve
/usr/bin/pulsar
and/usr/bin/ppm
on RPM updates @am97 - Updated: [tree-view] Remove deprecated usage of
shell.moveItemToTrash
@savetheclocktower
v1.121.0
Pulsar v1.121.0: CLI improvements? Now you're speaking my language.
For this edition of Pulsar, along with the usual bug fixes, we've particularly focused on CLI usage and up-to-date language support.
On Linux and macOS, the pulsar -p
command (via the pulsar.sh
launcher script) will now invoke ppm
directly without having to launch Pulsar first. (We shipped the equivalent enhancement for Windows in the last release.)
The Linux CLI has some further enhancements. It’s now much better at detecting where your Pulsar installation is on disk; this should help those who have extracted Pulsar from the .tar.gz
tarball distribution. (Building on this, we hope we can make CLI usage easier for our AppImage users in the next release.)
Speaking of the CLI: we’ve fixed an issue with ppm
that was affecting only users with Apple Silicon Macs. An old, hard-coded value in ppm
, from before Apple Silicon existed, broke several community packages with native C/C++ module dependencies -- x-terminal-reloaded
and autocomplete-paths
, to name just two examples. Before now, these packages wouldn’t install correctly on Apple Silicon macs, and would need manual fixing from the terminal. But now, those packages will build and rebuild successfully on your ARM64 machine.
Meanwhile on Windows, the ability to add Pulsar to the PATH has been moved from the settings menu to the installer. This approach should work much more reliably, and is able to clean up the user's PATH during an uninstall.
Inside the editor we’ve got a number of improvements to language grammars. Our underlying web-tree-sitter
library has been bumped to the latest stable version, as have our grammars for CSS, Markdown, JavaScript, TypeScript, and HTML.
Under the hood, there’s been a major refactor of how Tree-sitter indentation logic is organized in our codebase. This doesn’t have direct effects on the user, but should make it easier to iterate on indentation logic and deliver more features to the indentation hinting system.
In fact, there’s one new feature for indentation: a new @match.next
capture. It’s not something that a grammar author would commonly need, but it allows them to do things that weren’t possible before — for instance, to move the indentation level to its proper place after a “hanging indent.”
In the coming releases, some built-in grammars may take advantage of this feature to deliver indentation hinting options that come closer to "reading your mind".
That's everything this time around, and as always a gracious thank you to our wonderful community, all those that contribute to issues, discussions and pull requests, and help make Pulsar possible through donations, bug reports, and helping to support other users.
Until next time, happy coding, and see you amongst the stars!
- The Pulsar team
- Updated
web-tree-sitter
to version 0.23.0. - [language-css] Updated
tree-sitter-css
to the latest version. - [language-gfm] Updated
tree-sitter-markdown
to the latest version. - [language-html] Updated
tree-sitter-html
andtree-sitter-embedded-template
to their latest versions. - [language-javascript] Updated
tree-sitter-javascript
to the latest version. - [language-typescript] Updated
tree-sitter-typescript
to the latest version. - Added a new
@match.next
capture for advanced control of how indentation should change from one line to the next. - Added new indentation-specific query predicates
indent.matchesComparisonRow
andindent.matchesCurrentRow
for comparing arbitrary positions in a Tree-sitter node tree to the operative rows in an indentation suggestion query. Makes it possible to say things like “decrease the indent on line 10 if a statement ends on line 9.” - Renamed indentation directives
indent.matchIndentOf
andindent.offsetIndent
toindent.match
andindent.offset
, respectively. The old names still work as aliases. - Improved the command-line
pulsar
script’s ability to find the user’s Pulsar installation location on Linux. - On macOS and Linux,
pulsar -p
now invokesppm
without having to launch Pulsar itself. - Added options to the Windows installer to add Pulsar and PPM to the PATH
- Fixed
ppm rebuild
command on ARM (Apple Silicon) Macs
Pulsar
- Fixed: Tree-sitter rolling fixes: 1.121 edition @savetheclocktower
- Updated: Update ppm to commit 97f4d201be013157756a76008bf0cb55e6a1fe35 @savetheclocktower
- Fixed: Experiment: Redirect
-p
/--package
toppm
viapulsar.sh
… @savetheclocktower - Added: [windows] Add PATH manipulation to Pulsar installer @confused-Techie
- Updated: CI: Update Cirrus Rolling upload token @DeeDeeG
PPM
- Fixed: Remove hard-coded architecture on Mac @savetheclocktower
- Updated: Begin less reliance on
async
package: Await as we go @confused-Techie
v1.120.0
Pulsar 1.120.0: Keeping it clean!
This release is fully of housekeeping, fixes, Tree-sitter improvements and more.
Our icon on Windows got some TLC to look less crunchy! It should look better just about everywhere (on the taskbar, in the installer, Pulsar's window title bar, explorer context menu, you name it!)
There's our regular Tree-sitter improvements, like indentation improvements in JavaScript and Typescript, improved syntax highlighting in TypeScript, with general improvements to code folding, and new hackability on query files.
We've enhanced the functionality of the 'pulsar -p' switch for accessing 'ppm', and checked its correctness. No more printing the versions for Pulsar when you meant to print the version of 'ppm'! Arguments / subcommands should make it safely to 'ppm' as you intended. (On Windows -- enhancements will come to Linux and macOS soon™️!) Further with PPM stale dependencies have been removed and updated as needed.
We now handle indents/leading whitespace better for all the snippets users out there! Snippet fearlessly, now with proper indentation handling!
And, last but not least, we fixed a stray link in 'CONTRIBUTING.md'.
As always thanks a ton for all of the support for the project, and we look forward to seeing you amongst the stars.
- The Pulsar Team
- Resolved some issues of using
pulsar -p
to accessppm
in the command line on Windows. - Added a new icon for Pulsar on Windows, increasing its visual fidelity in most locations.
- [snippets] Fixed an issue with expanding snippet variables in certain scenarios if the snippet inserted new lines into the buffer.
- Updated misconfigured links in the
CONTRIBUTING.md
file. - [ppm] Resolved an issue that could prevent renaming an existing package.
- Various Tree-sitter improvements (folds, indents, custom queries, grammar updates...)
Pulsar
- Fixed: Tree-sitter rolling fixes 1.120 edition @savetheclocktower
- Updated: ppm: Update ppm to commit d9bcff111146547e1f4dec63 @DeeDeeG
- Fixed: [snippets] Fix incorrect range traversal when resolving variables @savetheclocktower
- Added: [windows] Improve Icon @confused-Techie
- Added: Use a different strategy for
pulsar -p
on Windows... @savetheclocktower - Fixed: CONTRIBUTING.MD link to section fixed @gsabatini2016
PPM
- Updated: Begin less reliance on
async
package: Await as we go @confused-Techie - Fixed: Fix incorrect behavior on package rename @savetheclocktower
- Updated: Update many dependencies @DeeDeeG
- Revert: Revert "CI: Work around a weird bug in Yarn v1.x" @DeeDeeG
v1.119.0
Pulsar v1.119.0 is live!
While a smaller release this time around, v1.119.0 still manages to pack a punch.
For macOS, we've gone to great lengths to ensure Pulsar should build just fine on macOS 13+, while our Linux users get greater compatibility for DevTools on various platforms. For our programmers, there's been more of the constant incremental improvements to various languages' built-in syntax highlighting and code folding this time around, with a focus on PHP, Python, Javascript, Typescript, Shell script, and C.
As always thanks a ton to all of those that support the project and keep it moving forward, we appreciate you all, and look forward to seeing you amongst the stars.
- The Pulsar Team
NOTICE
Originally, the binaries from our normal "Pull Request" CI build (which produces unsigned binaries) were accidentally uploaded to this release, instead of the binaries from the special "tag push" CI build (which signs the macOS binaries). In order to provide you with signed macOS binaries, we are re-uploading the Intel macOS binaries and updating SHA256SUMS.txt
to reflect this. As such the following binaries have been swapped out for the correct versions, with the checksum being updated as well for the following files:
Intel.Mac.Pulsar-1.119.0-mac.zip
Intel.Mac.Pulsar-1.119.0.dmg
- Changed
language-php
to continue syntax-highlighting even when encountering unbalanced PHP tags. (Avoid throwing a syntax error) - Indentation, fold, and highlighting fixes in
language-python
,language-javascript
,language-typescript
,language-shell
andlanguage-c
. - Worked around API breakage (FreeBSD
libiconv
vs GNUlibiconv
) in theiconv
library shipped in macOS 13+ - Fix
--no-sandbox
flag not being applied to the.desktop
launcher on Linux (Fixes Dev Tools)
Pulsar
- Tree-sitter rolling fixes, 1.119.0 edition @savetheclocktower
- Rewrite
tree-view.js
@savetheclocktower - Fix macOS binaries by vendorizing
libiconv
@savetheclocktower - Link to Homebrew version of
libiconv
... @savetheclocktower - Revert "Merge pull request #810 from pulsar-edit/fix-on-change-cursor-pos" @savetheclocktower
- electron-builder: Add '--no-sandbox' launch arg for Linux build targets @DeeDeeG
superstring
- Candidate for new
master
@savetheclocktower