Skip to content

Releases: pulsar-edit/pulsar

v1.131.3

20 Mar 03:51

Choose a tag to compare

This is a quick release in order to fix a regression introduced in one of the bug fixes included in the 1.132.2 release.

Four patch releases under 1.131 is plenty, as far as we're concerned! We hope to get back to working on the next regular release and the slew of new features we've got planned. See you then!

Reminder for .rpm users: (There is an issue with the postuninstall scriptlet from the Pulsar 1.131.0 and 1.131.1 .rpms, causing the unintended removal of pulsar and ppm from /usr/bin/, specifically during upgrade installs. See #1482 for details.)

For pulsar and ppm to remain on your PATH, please uninstall any copy of the Pulsar 1.131.0 or 1.131.1 .rpm before installing this release's .rpm, or alternatively you can dnf install and then dnf reinstall this release's updated .rpm. Furthermore, installing any two patched .rpms, such 1.131.2 and this one, would also flush out the old scriptlet and resolve the issue.

Otherwise the old postuninstall scriptlet will run, removing pulsar and ppm from /usr/bin/ and thus from your PATH. This release has an updated postuninstall scriptlet with the fix, so this is a one-time workaround.


1.131.3

  • [settings-view] Fix regression with rendering badges on package search results.
  • Fix failure to include localization files in the built application.

Pulsar

v1.131.2

17 Mar 02:24

Choose a tag to compare

Hello again, everyone! This release has a focus on bug fixes since our big Electron 30 upgrade! We've been busy addressing the issues our community has found since the release of v1.131.0.

Thanks to @asiloisad, we've got a new way to add multiple roots to a project at once via atom.project.addPaths. We're also excited to see a contribution from @catb0t, their first ever contribution to the project!

Note for .rpm users: (There is an issue with the postuninstall scriptlet from the Pulsar 1.131.0 and 1.131.1 .rpms, causing the unintended removal of pulsar and ppm from /usr/bin/, specifically during upgrade installs. See #1482 for details.)

For pulsar and ppm to remain on your PATH, please uninstall any prior version of the Pulsar 1.131 .rpm before installing this release's .rpm, or alternatively you can dnf install and then dnf reinstall this release's updated .rpm.

Otherwise the old postuninstall scriptlet will run, removing pulsar and ppm from /usr/bin/ and thus from your PATH. This release has an updated postuninstall scriptlet with the fix, so this is a one-time workaround.


1.131.2

  • [settings-view] Fix issue that closes project windows when the user clicks on a badge in a package card.
  • [find-and-replace] Fix issue that prevents searches with patterns from working properly in projects with multiple roots.
  • Fix issue affecting keybinding interpretation on non-QWERTY keyboards in Linux/X11 environments.
  • Fix Linux issue causing the menu bar to hide immediately after a project window opens.
  • Fix macOS issue causing buffer contents to fail to update for some users when modified by another program.
  • Fix issue causing the .deb installation to refuse to launch because of improper permissions/AppArmor profile.
  • Fix issue causing the .rpm installation to run the wrong script when upgrading (restore pulsar and ppm to PATH).
  • Fix issue causing the --package switch not to work correctly when invoked directly on the Pulsar binary, rather than on pulsar.sh/pulsar.cmd.
  • Fix issue that prevents ppm from being symlinked or un-symlinked correctly in Linux install/uninstall scripts.
  • Add atom.project.addPaths method for adding multiple project roots at once.

Pulsar

  • script: Fix pulsar and ppm removal from PATH during upgrade with .rpms @DeeDeeG
  • Fix pulsar --package usage when APM_PATH is not set @savetheclocktower
  • [settings-view] Prevent weird half-crash when clicking on a badge such as an "Archived" badge next to a package card @savetheclocktower
  • [find-and-replace] Fix project search path pattern interpretation when the project has more than one root directory @savetheclocktower
  • Update to a version of pathwatcher that uses kqueue on macOS instead of FSEvents @savetheclocktower
  • Fix inability to use require('clipboard') and its other deprecated siblings @savetheclocktower
  • Re-assert core.setAutoHideMenuBar after a call to setFullScreen so that the menu bar isn't automatically hidden on Linux @savetheclocktower
  • settings-view: rebrand README and Restart notification @catb0t
  • Bump atom-keymap to v9.0.3 @savetheclocktower
  • Update the post-install.sh script to set permissions properly after .deb and .rpm installations @savetheclocktower
  • Cirrus: Update Rolling release token @DeeDeeG
  • script: Fix ppm symlinking issues in Linux install/uninstall scripts @DeeDeeG
  • Cirrus: Update brew uninstall node@20 to brew uninstall node@24 @DeeDeeG
  • Fix deprecated electron.remote usage in reopen-project-menu-manager @asiloisad
  • Add Project.addPaths to batch multiple root folders with a single event @asiloisad
  • [meta] Exclude blockmaps again @confused-Techie
  • Migrate Renovate config @renovate
  • Update whitespace package @renovate

@pulsar-edit/pathwatcher

  • Introduce an alternative macOS implementation that uses kqueue to better match this library's pre-v9 behavior @savetheclocktower

@pulsar-edit/atom-keymap

@pulsar-edit/keyboard-layout

  • Stop considering XInputContext in X11 when translating keys to characters @savetheclocktower

v1.131.1

17 Feb 01:04

Choose a tag to compare

1.131.1

This hotfix release contains a fix for potential crashes, and a few additional small improvements. For the many other changes since v1.130.1, including the update to Electron 30, see the release notes for v1.131.0: https://github.com/pulsar-edit/pulsar/releases/tag/v1.131.0.

  • Fix an issue in superstring that occasionally caused crashes while editing text.
  • Add support for additional image formats in Pulsar's Markdown renderer.
  • Minor reduction of binary size through various means.

Pulsar

superstring

Pulsar 1.131.0: A Valentine's Day & Electron 30 Edition

15 Feb 05:45

Choose a tag to compare

Hello, and welcome, one and all! This release brings the long-awaited (and long-previewed in our Rolling releases) upgrade to Electron 30 to our stable "Regular" releases!

Catching up, at least somewhat, with the rapid pace of new Electron versions is a goal we've been actively working on since we started Pulsar almost 4 years ago. We're happy to make one of the larger steps in that direction since we began with this release (from Electron 12 to Electron 30.) We recognize that Electron 30 is still not the latest Electron version, but it took a tremendous amount of work to get here, and we are still working diligently on further upgrades.

On a more business-as-usual note, we also have several language/grammar improvements, various bugfixes and miscellaneous improvements. Please see the full changelog below for details.

We're very excited for this milestone, and please do let us know if anything needs fixing -- this was a huge undertaking under the hood! (Did we mention the accompanying blog post?: https://blog.pulsar-edit.dev/posts/20251202-savetheclocktower-pulsar-on-electron-30/)

As always, a huge thank you to our community, contributors, and donations.
Happy coding, and see you amongst the stars!
- The Pulsar Team


1.131.0

Because this is such a huge upgrade to Pulsar, some of your community packages may be affected!
If you handle distributions for Pulsar as a community maintainer make sure to read this changelog carefully to make things compatible!
For more information, read Pulsar on Electron 30: what it means for you.

  • Update Electron to version 30!
    • Node is now version 20.11.1
    • Chromium is now version 124
    • This means better performance, better Node library compatibility, and ability for community packages to use newer features of Chromium.
    • It should also vastly improve the Pulsar experience for Linux users in Wayland environments.
    • Because this is such a big upgrade, some of your community packages might be affected!
  • Bump ppm to use Node 20.11.1
    • For the first time in a long time, both ppm and Pulsar are using the same version of Node; this should avoid some rare bugs encountered when installing certain packages.
  • Fix handling when opening files to certain line numbers via CLI - e.g. pulsar foo.txt:30.
  • Prevent packages from spawning new background tasks if the environment is unloading (as would happen during a window reload or while quitting Pulsar).
  • [find-and-replace] Fix an issue where certain files would show results in a project-wide search even when they would be excluded by the file/directory pattern.
  • [markdown-preview] Fix situations where "Save as HTML" and "Copy as HTML" silently failed with certain kinds of content.
  • [autocomplete-plus] Prevent certain kinds of suggestions from being incorrectly filtered out of the result set.
  • [language-java] Update to the latest tree-sitter-java parser, adding support for multiline strings, among other things.
  • [language-python] Better highlighting of except clauses; fixed folding of certain if blocks.
  • [language-typescript] Better highlighting of template literals; adding folding of interface and enum blocks.
  • [language-javascript] Proper highlighting of JSX with namespaced attributes.

Pulsar

Changes for Electron 30

Internals of 'Update to Electron 30' PR

  • Remove all support for legacy Tree-sitter
  • Prefer @electron/remote, deprecate direct usage of electron.remote and switch all internal usages to @electron/remote.
  • Decaffeinate tree-view
  • Fix a failing autocomplete-plus spec
  • Get dev-live-reload specs passing
  • Get image-view specs passing
  • [language-ruby] Add a basic grammar test spec
  • [markdown-preview] Get specs passing
  • [settings-view] Get specs passing
  • Point to Electron 30.0.9 and point our dependencies to the NPM-published versions under the @pulsar-edit namespace that are compatible with Electron 30.0.9.
  • Fix some TextEditorComponent issues related to changes in Chromium sometime between Electron 12 and Electron 30.
  • Eliminate reliance on typescript-simple in favor of a custom solution that uses the typescript package directly.
  • Consume get-scrollbar-style to replace the deprecated scrollbar-style module
  • Additional changes related to device pixel ratio that probably should have gone in the earlier commit.
  • Add the ability to report crashes via Electron's standard crashReporter interface.
  • Delete deprecated "app.allowRendererProcessReuse = false"
  • Enable @electron-remote for the given window during startup and disable a Blink experimental feature that was causing trouble with package compatibility (because it added an on method to all DOM nodes!).
  • Be more paranoid about release channels in a handful of places in case we want to maintain a next (or nightly or preview) release channel on an ongoing basis.
  • Cache Language instances in web-tree-sitter so that the specs don't run out of memory.
  • Preserve an ATOM_CHANNEL environment variable if it exists and other changes related to release-channel agnosticism.
  • [snippets] Get specs passing
  • [spell-check] Get specs passing and abandon atom-pathspec in favor of an internal implementation.
  • [tabs] Fix an exception that can happen in unusual scenarios when the browser can't give us an element under a given X/Y coordinate.
  • [update-package-dependencies] Get specs passing
  • [symbol-provider-tree-sitter] Unmock clock in the standard way
  • Remove outdated Tree-sitter documentation
  • Update GitHub Actions CI jobs to include Wayland-related keyboard dependencies.
  • Update CirrusCI build job to include Wayland-related keyboard dependencies.
  • Revert to a single entitlements.plist now that we're no longer affected by the awful libuv bug that was present in Electron 12.
  • Update script/electron-builder.js to support a couple of command-line switches and to build correctly for Electron 30.
  • Fix ThemeManager specs
  • Define two methods on the atom global to work around tree-view issues related to trashing and revealing items in electron.shell.
  • Comment reformatting
  • Some integration test fixes
  • Fix PackageManager specs
  • Use yarn.lock from updated-latest-electron branch
  • Swallow exceptions raised by pending tests
  • Disallow if( and the like in .eslitrc
  • Add submodules: true back into certain workflows
  • Remove atom.trashItem and atom.showItemInFolder since they weren't even being used. The equivalent functions from the shell module of @electron/remote have been performing the same task in PulsarNext for a while now.
  • Update ppm to commit d288b0978b35f7c0ffb3dc5c1e50c
  • Update ppm to commit 07faba10096ee4239ce671218d9953fb2e40ecbf
  • Remove unnecessary Promise.all

ppm

Read more

v1.130.1

10 Oct 00:15

Choose a tag to compare

Hotfix: Restore Windows app to working condition, after it was mis-built in v1.130.0.

Description of the issue affecting v1.130.0 on Windows: The Windows version of the app was broken, due to its native C/C++ dependencies remaining built for NodeJS when electron-rebuild failed, and due to our CI being mistakenly configured in a way that hid the failure. Electron-rebuild failed in CI due to a missing Windows 10 SDK.

Resolution: We have worked around the missing Windows 10 SDK issue in CI by installing it manually, and also updated our CI workflow so that a failure of electron-rebuild would be more likely to be caught.

Note: Binaries for macOS and Linux are also provided to make it simple to find the latest binaries for all platforms attached to one GitHub Release. Other than coming from a new CI run with a new patch version bump, there should be no other changes from v1.130.0 on macOS or Linux.

v1.130.0

08 Oct 00:27

Choose a tag to compare

Pulsar 1.130.0: Spooktacular Edition

Welcome to another Spooktacular Pulsar release!

To welcome in the Autumn, we'd like to shout out some updates to our website!

The long awaited revamp of our web presence not only massively improves and updates our documentation, it also unifies our web design. There are new subdomains for each service, and we've put our hugely improved documentation live (which you may have seen during its beta period). It's now more in-depth and updated, and it's finally got auto-updating API docs for Pulsar, which we have been missing since the beginning.

As for the Pulsar editor itself, we've got some updated Tree-sitter and language support, as well as autocomplete-css and autocomplete-plus updates and improvements, a focus fix for tree-view on Windows, a fix so that find-in-project searches properly exclude open-and-modified files that don't match the given path filter, and a change to snippets to restore legacy compatibility with the emmet package.

A new "I18n" API (short for "internationalization") allows Pulsar and even community packages to localize all their text to a user's preferred language. It's in its very early stages, but after some more time and work you should be able to set your preferred language and have Pulsar respect it.

As always, a huge thank you to our community, contributors, and donations.
Happy coding, and see you amongst the stars!
- The Pulsar Team


1.130.0

  • autocomplete-plus can now make other text edits to the buffer when a suggestion is accepted - for instance, adding an import for that suggestion.
  • Experimental localization support is now being added into the editor, allowing the editor, core packages and even community packages to localize their interface for any language.
  • autocomplete-css has gotten significantly updated completions.
  • Various documentation and UI links updated after website update.
  • Changed some returns in a backwards compatible way to ensure the community package emmet will work again.

Pulsar

  • [find-and-replace] When a path pattern is provided on a project-wide search, Pulsar won't include any open and modified buffers in the search unless their paths also match the given pattern. @savetheclocktower
  • [autocomplete-plus] Add support for "additional" text edits when a suggestion is accepted @savetheclocktower
  • Cirrus: Update Rolling Release binary upload token @DeeDeeG
  • update-manager-spec.js - release notes url spec change @wesinator
  • [snippets] Add getter to fix emmet package @savetheclocktower
  • Update dependency minimatch to v3 [SECURITY] @renovate
  • [tree-view] Ensure Explorer opens in focus on Windows @confused-Techie
  • [core] i18n: Fresh Start @confused-Techie
  • [autocomplete-css] Update Completions, deps, improve completions data sources @confused-Techie
  • Resolve Issues in packaged Pulsar Localization @confused-Techie
  • [meta] remove legacy atom project md files @wesinator
  • Update keymap documentation links @williamtheaker
  • [core & timecop] Locale loading Statistics @confused-Techie
  • Cirrus: Pin fpm gem to ~> 1.16.0 @DeeDeeG
  • Ensure watchPath "de-normalizes" filesystem event paths if opted into so that users of watchPath don't have to do their own realpath resolution @savetheclocktower

v1.129.0

06 Aug 19:28

Choose a tag to compare

Pulsar 1.129.0: An August Occasion

Howdy folks,

Another fine Pulsar release, Pulsar 1.129.0, is available for your use and enjoyment. See changelog below for details.

A big shout-out to @Drsheppard01 for their first contribution in the form of PR #1241, and to @jmanuel1 for the issue report #1302 that led to a quick fix from @savetheclocktower in PR #1303. And to several members of the community who have given feedback on GitHub, Discord, etc.

As always, a huge thank you to our community, contributors, and donations.
Happy coding, and see you amongst the stars!
- The Pulsar Team


1.129.0

  • Some minor Tree-sitter fixes, including fixing a bug in SCSS highlighting and ensuring proper highlighting support for abstract methods in TypeScript.
  • When viewing a file that exists on disk outside of your project root, you may now use Tree View: Rename to “import” it into your project folder by giving it a relative path.
  • Updated various dependencies for security reasons.
  • Updated AppImages to type 2 runtime -- libfuse is no-longer required to be installed on the end-user's system to use Pulsar's AppImages!

Pulsar

v1.128.0

02 May 04:25

Choose a tag to compare

Pulsar v1.128.0: May There Be a Spring in Your Step!

Hello, folks. Another month or so, another Pulsar release!

We've got performance improvements, an improved editing experience for RTL languages, and comment handling for JSON and JSONC files. Please also be aware this month's release contains a security fix, so do update when you can. Thank you to the reporter of this issue.

As always, a huge thank you to our community, contributors, and donations.
Happy coding, and see you amongst the stars!
- The Pulsar Team


  • Vastly improved support for right-to-left text editing — meaning languages like Arabic, Hebrew, and Farsi.
  • Added support for comments in JSON — both via a new grammar for .jsonc files and via a setting to enable comments in regular .json files.
  • Fixed performance issues that can arise when reopening a project with existing editor windows.
  • Updated DOMPurify. This is a security fix.

Pulsar

v1.127.1

30 Mar 04:01

Choose a tag to compare

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

v1.127.0

27 Mar 01:48

Choose a tag to compare

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 version 0.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 the read dependency in ppm

Pulsar

ppm