Skip to content

Releases: pulsar-edit/pulsar

v1.114.0

16 Feb 07:14
Compare
Choose a tag to compare

A Valentine's release bursting with love, Pulsar 1.114.0 is available now!

Welcome to a brand new Pulsar release! I think it is safe to say that this month has been one of our more eventful due to the switchover we made to the new Tree-sitter implementation. This release features a lot of updates and fixes for this new implementation, thanks to all the feedback we got from the community. We also have a number of other bug fixes and new features to introduce, such as restoring compatibility with older Linux distributions, and a new flag for an old favorite ppm command.

As mentioned above, we have quite a few changes relating to our new Tree-sitter implementation that we made default in Pulsar 1.113.0. First of all, we have some fixes and updates to make sure the new implementation isn't a regression from the legacy implementation. One such update is restoring support for the semanticolor package, which was supported by the previous implementation. Otherwise, if you had any particular issue with syntax highlighting, then we hope it has now been resolved, as a lot of changes and fixes have been made in response to community feedback. If not, then please visit our ongoing "Mega-issues" and see if your issue has been raised, and if not, please raise it there.

Back in Pulsar 1.111.0, we created a new UI api to make an easy and universal way for packages to interact with Pulsar. This implementation did contain a couple of small oversights, which have now been resolved. One issue with the markdown implementation was the display of non-functional heading anchors when rendering a package README; the other was a small rendering bug that was causing a misalignment of content after a linebreak. We had also inadvertently introduced a new problem with fuzzymatcher that could cause the command palette to hang if it failed to highlight a match.

One issue raised a while ago was that, starting with Pulsar 1.109.0, users of older LTS Linux distributions, such as AlmaLinux 8 and RockyLinux 9, were no longer able to run Pulsar. This was due to the CI runners we use being updated to newer OSs, and therefore Pulsar was being compiled against a newer version of glibc. We have changed our workflows to compile Pulsar in a Debian 10 Docker container instead, which should resolve this problem.

It was noticed a while ago that the github package wasn't quite working correctly on ARM Linux systems. We have bumped the version of dugite (a library for using git in NodeJS and Electron) to resolve the problem.

Lastly, we have two new features in ppm. The first is a new flag --force that can be specified on ppm link, which will forcibly replace a conflicting package without needing to manually remove it. The other is an update to ppm's syntax theme template so that, when generating a new syntax theme, it now includes some style variables that the editor has long supported, but which were not in the template, so theme authors might have been unaware of them. (As a bonus: there are two new variables supported by default in the editor, and added to the template as well! Theme authors, feel free to take advantage of these!)

And that is it for yet another Pulsar release. We hope you enjoy this release and look forward to the next one!

Until next time, happy coding, and see you amongst the stars!

  • The Pulsar team

  • Prevented an exception raised in the command palette in certain unusual filtering scenarios.
  • Refrain from rendering anchor icons when showing a package's README file in settings-view.
  • Build Linux binaries on Debian 10, for older glibc and compatibility with older Linux distros.
  • Fixed a rendering error in atom.ui.markdown.render when disableMode was set to "strict" and the input contained HTML line breaks.
  • Added support for the semanticolor package in modern tree-sitter grammars.
  • Added new --force flag to ppm link command that will uninstall any conflicting package already installed.
  • Added language entity colors to syntax-variables.less.
  • Numerous Tree-Sitter Grammar syntax highlighting fixes.
  • Bumped dugite to make the github package compatible with ARM Linux.

Pulsar

  • Fixed: fix(tree-sitter): pass node text to grammar @claytoncarter
  • Fixed: Fix issue with Markdown rendering after line break in strict mode @savetheclocktower
  • Updated: Update README badges @Daeraxa
  • Updated: Update copyright year to 2024 @Daeraxa
  • Added: CI: build Linux x86-64 binaries on older Linux @DeeDeeG
  • Fixed: Tree-sitter rolling fixes (January edition) @savetheclocktower
  • Fixed: Fix failing spec @savetheclocktower
  • Fixed: [settings-view] Don't display heading anchor icons within a README @savetheclocktower
  • Updated: ppm: Update ppm to commit 241d794f326b63b5abdb9769 @DeeDeeG
  • Fixed: script: Update version check in Rolling release binary upload script to exclude '-dev' versions @DeeDeeG
  • Fixed: CI: Fix tag Linux binaries are uploaded to for Rolling @DeeDeeG
  • Fixed: [command-palette] Guard against failure to highlight a match @savetheclocktower
  • Fixed: symbols-view rolling fixes @savetheclocktower
  • Fixed: Tree-sitter rolling fixes (February) @savetheclocktower
  • Updated: [meta] Update Cirrus GITHUB_TOKEN @confused-Techie
  • Updated: deps: Update github to v0.36.20-pretranspiled to bump dugite @DeeDeeG
  • Fixed: [symbols-view] Remap go-to-declaration commands on Windows/Linux @savetheclocktower

PPM

  • Fixed: Fix test failure due to missing atom command @toddy15
  • Updated: Update syntax-variables.less to include language entity colors @savetheclocktower
  • Added: feat(link): add --force flag @claytoncarter

github

  • Updated: Bump dugite to 2.5.2 @DeeDeeG

v1.113.0

16 Jan 04:06
Compare
Choose a tag to compare

Unlucky for some, but not us. Our 13th release, Pulsar 1.113.0, is available now!

Welcome to our first release of 2024! This is our 13th main release; let's just hope we aren't cursed by the number. This month we are enabling a feature by default that has been in the works for a long time and is a major step in moving Pulsar to current versions of Electron. We also have a significant update to our symbols-view package and a number of bug fixes as per usual.

First up is something we have been mentioning in the last few community update blog posts and otherwise hinting about for a while. Back in Pulsar 1.106.0, released in July last year, we added a new setting called Use Modern Tree-Sitter Implementation that would enable a brand new implementation of Tree-sitter within Pulsar. If you want to know more about the history of this change, then have a look at our detailed blog post on the topic as well as @savetheclocktower's fantastic blog post series. A huge thank you to everyone who contributed to this feature by testing it out and submitting bug reports and pull requests, these contributions have led to this moment where we can finally activate it by default. The reason we have done this is in order to eventually move to modern versions of Electron, for which the old tree-sitter implementation is simply not compatible. We have had this as an option while we worked out the most egregious kinks in the system, but we are in a position where we feel it is strong enough to enable by default. If you encounter any significant issues with the new system, there is a new option Use Legacy Tree-sitter Implementation that will revert to the old system. It would be great if any problems with the new system could be brought to our attention via any of our social channels so we can look to fix any issues that have yet to be encountered by us.

We have a rather significant update to our symbols-view package. This package is used to display symbols within Pulsar (e.g. function definitions) and allows you to navigate your code via those symbols. This package has had a rather major overhaul and now follows the standard "provider/consumer" model as many other Pulsar packages do. In particular, this allows for packages to provide symbols to symbols-view, such as Tree-sitter grammars, via the new symbol-provider-tree-sitter package. The upshot of this, combined with the new Tree-sitter implementation, is that there will be a much richer and more accurate display of symbols in your project. More information can be found in the pull request for this change.

A new Tree-sitter PHP grammar has been added to Pulsar as part of ongoing Tree-sitter grammar upgrades and improvements, which includes some contributions from community member @claytonrcarter who had a parser for PHPDoc allowing us to highlight documentation comments in PHP in a similar vein to JSDoc injection JS/TS files.

On to some bug fixes. We had an issue reported about the github package that showed a problem with the rendering of the diff view display. This seems to have been due to a code path in our TextEditor component that would sometimes try to perform measurements on things that weren't necessarily visible. The fix here, simple as it seems, was to defer those measurements until we could be sure the editor was visible.

Next, we have a fix to the find-and-replace package caused by an odd interaction between the package and the Preserve Case During Replace option, causing an error to appear when using empty strings as input (as an empty string cannot be capitalized).

And last, we have a change to the default behavior of rendering emojis in Markdown as part of the new UI API. This issue was discovered due to an unwelcome (but admittedly rather apt) 😡 in the middle of an error message popup. While the error was rather hilarious, we did decide that it needed to be banished by default for the sake of one of our team members' sanity (and to reduce unnecessary obfuscation of errors, of course).

And that is all we have for you right now. We hope you enjoy this new release and here is to another 12 months of Pulsar!

Until next time, happy coding, and see you amongst the stars!

  - The Pulsar Team


  • Enabled Modern Tree-sitter Grammars by default
  • Added a modern Tree-sitter grammar for PHP.
  • Fix a measurement issue that was causing visual glitches in the github package's diff views.
  • Enabled the core symbols-view package to accept symbols from a number of sources, including Tree-sitter grammars and IDE packages.
  • Switch default to false for converting ASCII emoticons to emoji when rendering Markdown.
  • Fix certain find-and-replace scenarios when the "Preserve Case During Replace" setting is enabled.
  • Fix an issue in symbols-view when returning from visiting a symbol declaration.

Pulsar

find-and-replace

symbols-view

Hotfix: Pulsar v1.112.1

19 Dec 06:35
Compare
Choose a tag to compare

Hotfix for a bug in PPM that prevented community package maintainers from publishing new packages or package versions.

Includes these PRs: pulsar-edit/ppm#116 and pulsar-edit/ppm#118 to fix the issue.

See the v1.112.0 release for all the other changes since v1.111.0.

v1.112.0

16 Dec 07:58
Compare
Choose a tag to compare

Christmas has come early: Pulsar 1.112.0 is available now!

Welcome to our 12th regular release! It has been exactly a year since we put out our first tagged release and development continues. This month we have some new soft-wrapping options, some long overdue updates to PPM, improvements to our "GitHub" package, a new fuzzyMatcher API and our usual slew of bug fixes.

Let's start with a feature added by community member @Trigan2025. There are now new options for the "soft wrapping" feature that allows Pulsar to automatically show or hide the soft wrap guide line based on your soft wrap settings. You can find this new option within wrap-guide package settings.

We have a number of new PPM changes, including better and more secure network handling and converting PPM's code to async. You can read about this second change in much more detail in a recent blog post we made. We have also taken the opportunity to do some out-of-season spring cleaning to tidy up the repo and get rid of old, unused dependencies, as well as some general maintenance.

On to our GitHub package, we found that we had a rather common issue with people not being able to log into their GitHub account via the package. Essentially, it was possible to set scopes in such a way that, although permissions were technically granted, Pulsar was unable to read the scopes and refused to log in. To solve this, we have updated the package to provide feedback and improved the scope checking logic. We also updated the link to the Personal Access Token page to include by default the scopes that Pulsar requires.

Continuing with the theme of last month's new "UI" API, we have another new API that all packages can now take advantage of. This time it is ui.fuzzyMatcher which will allow packages to use Pulsar's fuzzy-finder module without needing to bundle it into their own packages.

And to finish off with a bug fix, an issue was found where Pulsar wasn't correctly inheriting the directory from which the pulsar binary was being run, leading to some slightly odd behaviour.

It is hard to believe that it has been an entire year since we created our first tagged release of Pulsar and we never would have managed to get to this milestone without the amazing support from our donors and our community, so as ever, a massive thank you to everyone who has allowed us to get this far!

Until next time (and next year!), happy coding, and see you amongst the stars!

  • The Pulsar Team

  • Fixed github package not giving feedback when a token with the wrong scopes was entered, tweak scope-checking logic to match expectations, and log incorrect scopes.
  • Various cleanups, maintenance and upkeep of the PPM repo.
  • Added options for a user to control when to automatically show or hide the wrap-guide; "Always", "When soft wrap is enabled", and "When soft wrap at preferred line length is enabled".
  • Updated network handling in PPM to something newer and more secure.
  • Updated most of PPM's code to use async/await and promises internally.
  • Created atom.ui.fuzzyMatcher API, moving the Pulsar fuzzy-finder module into the core of the editor for community packages to utilize.
  • Fixed an issue that prevented Pulsar from inheriting the directory from which the pulsar binary was run.

Pulsar

  • Added: [tree-sitter] Share config caches between ScopeResolvers @savetheclocktower
  • Bumped: deps: Update github to v0.36.19-pretranspiled (fix silent failure when inputting a token with incorrect scopes) @DeeDeeG
  • Bumped: ppm: Update ppm to commit 957acbd90cfc9f361c183b3c @DeeDeeG
  • Added: Return to original logic for ATOM_DISABLE_SHELLING_OUT_FOR_ENVIRONMENT @savetheclocktower
  • Added: Moving fuzzy-native to core @mauricioszabo
  • Fixed: Tree-sitter rolling fixes for November @savetheclocktower
  • Fixed: CI: Update Rolling upload token for Cirrus @DeeDeeG
  • Bumped: ppm: Update to commit 13fb2845e00d7e04c2461f93 @DeeDeeG
  • Added: Ability to indicate when to automatically show or hide the wrap-guide @Trigan2025

PPM

github

  • Added: lib: Allow parent scopes when checking if each required scope is set @DeeDeeG

v1.111.0

16 Nov 06:05
Compare
Choose a tag to compare

If you're API and you know it, clap your hands!: Pulsar 1.111.0 is available now!

Welcome to a new Pulsar regular release. This time we have a big new addition to Pulsar's API along with our usual set of bug fixes (with some fantastic community contributions).

One of our major changes is the new UI API we have added to the 'atom' global class. You can read about this in detail in our recent blog post but essentially, this allows us to unify the way we render things in Pulsar. For this release, we have a new 'markdown' object that means packages (both core and community) no longer have to worry about performing Markdown rendering and instead can offload it to Pulsar itself. This allows us to create a unified way to render Markdown by using a single set of dependencies. We also took the opportunity to move from the previous marked library to the markdown-it parser we are already using on the Pulsar Package Registry. As an added bonus, we also get to save some space on the installation size!

On that last topic, we have found a way to reduce Pulsar's installed size by ~35.5 MB by deduping some dependencies and otherwise performing some fine tuning on them.

Next, we have a fix for a really tricky bug that has been around since the Atom days, which we logged on our own repo almost a year ago. The problem is that it has been devilishly difficult to find a perfect set of reproduction steps. Thankfully, we have now managed to do this (with a great deal of help from one of our community members, @asiloisad/@bacadra) and have a fix. This was a problem that would occasionally show up when a hidden input element used in the text editors would be focused when out of view, causing the screen to be "misaligned" or otherwise "shifted".

And on the theme of community, we have two issue reports and subsequent bug fixes by community members. The first is by @danfuzz to fix a problem in our bash Tree-sitter grammar where ANSI C quoted strings were not being properly highlighted as actual strings. The second is by @kiskoza who discovered a problem with our (relatively) recently introduced pulsar-updater package, which notifies you if a new release of Pulsar is available. The bug in question was a problem with the "Dismiss this version" button, which was not caching correctly and would therefore "forget" that somebody had requested to not be notified for that version again.

We hope you enjoyed reading about this update as much as we hope you continue to enjoy using Pulsar. As ever, a huge thank you to our generous donors and community, without whom this project would not be possible.

Until next time, happy coding, and see you amongst the stars!

  - The Pulsar Team


  • Added a new "UI" API to atom, accessible via atom.ui. This exposes a markdown object, allowing community packages to offload Markdown handling to the core editor.
  • Fine-tuned/deduped dependencies to remove ~35.5 MB from Pulsar's installed size.
  • Fixed an issue that sometimes caused text to shift or disappear after an editor pane regains focus.
  • Fixed scoping/highlighting of single-quoted ('...') and C-style ($'...') strings in shell scripts.
  • Fixed an issue with the "Dismiss this Version" button (in the pulsar-updater package).
  • Fixed an issue with how Linux Pulsar binaries were built, to ensure compatibility with non-bleeding edge glibc versions. (Compatibility with even older glibc versions is still being looked into, for the folks on older or RHEL-compatible distros.)

Pulsar

  • Fixed: meta: Update CirrusCI GitHub Token @confused-Techie
  • Bumped: deps: Update github, for dugite deduping purposes @DeeDeeG
  • Fixed: Tree-sitter running fixes (October) @savetheclocktower
  • Fixed: Prevent "half screen" bug by resetting scroll position when editor regains focus @savetheclocktower
  • Added: [core] New UI API @confused-Techie
  • Fixed: CI: Build binaries for tag pushes (GitHub Actions) @DeeDeeG
  • Added: [DOCS] Add non-macOS keybindings for fuzzy-finder readme @Daeraxa
  • Removed: Remove Teletype from Welcome guide @Daeraxa
  • Fixed: CI: Python 3.12-related fixes on Cirrus CI @DeeDeeG
  • Fixed: CI: Work around missing 'distutils' for Python 3.12+ (GHA round two) @DeeDeeG
  • Added: [meta] Create Workflow to validate WASM Grammar Changes @confused-Techie
  • Fixed: 🐛 ✅ Fix caching for "Dismiss this Version" in pulsar-updater @kiskoza
  • Fixed: [tree-sitter] Fix proliferation of extra injection layers @savetheclocktower
  • Added: CI: Increase timeout length for macOS binary builds @DeeDeeG
  • Fixed: Fix the matching of $'...' strings. @danfuzz
  • Fixed: [meta] Install Python package setuptools && Use Python 3.12.x @confused-Techie
  • Fixed: Update web-tree-sitter to include isalnum builtin @savetheclocktower
  • Fixed: [meta] Build x86 Linux binaries on Ubuntu 20.04, for older (more compatible) glibc @confused-Techie
  • Bumped: [core] Bump git-utils: 5.7.1 => ^5.7.3 @confused-Techie
  • Removed: [core] Cleanup Unused Deps @confused-Techie

github

  • Bumped: deps: Update whats-my-line to bump dugite to 2.1.0 @DeeDeeG

whats-my-line

v1.110.0

16 Oct 08:13
Compare
Choose a tag to compare

Armed with a big ol' can of Raid: Pulsar 1.110.0 is available now!

Here we are with another Pulsar release, and this month we have quite a number of fixes and improvements. This time around, the focus has really been on bug fixes in order to improve the overall experience.

Starting with changes to PPM (Pulsar Package Manager), it has been updated to use a newer version of node-gyp (a tool for compiling native modules for node.js), which will allow use of newer C/C++ compiler toolchains as well as newer versions of Python, namely 3.11, which introduced an issue for PPM requiring downgrading to 3.10. For Windows users, it also now supports Visual Studio 2022! We previously covered (part of) this topic in one of our community update blog posts in a bit more detail, so be sure to have a read of that too.

On the topic of PPM, the decaffeination (conversion of CoffeeScript to JavaScript) has now been completed thanks to community members @nemokosch/@twocolours & @GuilleW. In the last release, we announced this had been completed in the core editor and packages; now this has been extended to PPM!

Onto Pulsar itself: we have a few new features that have been added. The first is a new autocomplete API that works on ranges rather than the previous prefix system, which will improve LSP support. (And on the topic of autocomplete, if anyone had been editing EJS files and noticed errors popping up, these have now been greatly reduced in this update).

Onto the fixes. This first one solves an issue where, if you attempted to start Pulsar with an invalid configuration file, then it would silently fail but still present a running process. Error checking has now been added so that the error can actually be exposed to the user.

Next, we have a problem introduced with our snippets package update, which now includes variables indicated by a $, which is also used by PHP, so some escaping of these characters needed to be added.

And lastly, we had a problem with macOS binary signing in version '1.109.0'; this was already covered in the last community update, and now this fix applies to our regular releases.

And that just about covers things for this release. We hope you have enjoyed reading this and continue to enjoy using Pulsar. As ever, a huge thank you to our generous donors and community, without whom this project would not be possible.

Until next time, happy coding, and see you amongst the stars!

  - The Pulsar Team


  • Made the modification of editor.preferredLineLength configurable within wrap-guide when changing wrap-guide.columns
  • Fixed Snippets from language-php that would lose the $ character
  • Fixed a condition where an invalid config may crash Pulsar before fully starting up, but not registering that it's crashed
  • Reduced error notifications that may appear from autocomplete-html when handling EJS files
  • Fixed macOS binary signing after moving over to GitHub Actions for CI
  • Updated PPM to a newer node-gyp, allowing newer versions of C/C++ compiler toolchains and Python to be used (also dropped support for Python 2.x!)
  • Fully decaffed the entire PPM codebase
  • Added a new autocomplete API that does not uses prefixes and instead declares the range it'll replace (better LSP support)

Pulsar

  • Fixed: Fixed filtering of suggestions with ranges @mauricioszabo
  • Added: Tree-sitter running fixes for September @savetheclocktower
  • Added: Add escapement to variable literals within php snippets @Spiker985
  • Added: [core] Handle invalid config on load @confused-Techie
  • Added: [autocomplete-html] Wrap completions in try/catch handler @confused-Techie
  • Bumped: Update dependency postcss to v8.4.31 [SECURITY] @renovate
  • Fixed: CI: Sign macOS binaries for branch pushes, not PRs @DeeDeeG
  • Fixed: CI: Use Python 3.11 to fix macOS signing @DeeDeeG
  • Fixed: [meta] Fix Windows Builds in CI @confused-Techie
  • Bumped: ppm: Update ppm submodule to commit a2ade745bfbc5f @DeeDeeG
  • Added: Making autocomplete-plus work to replace ranges @mauricioszabo

ppm

v1.109.0

16 Sep 06:39
Compare
Choose a tag to compare

Going the whole nine yards: Get Pulsar 1.109.0 now!

Our next release has arrived, and, as ever, we are excited to share all the changes we have been making over the last month since our last release.

We have a smorgasbord of bug fixes and quality of life improvements this month that we hope will make things just that bit better overall. Many of these changes are "behind the scenes", so you may not see much evidence of them when using Pulsar, but the lack of any obvious changes means that we actually accomplished our goals of not disrupting the user experience.

Starting things off is one of these "background" changes, but it was a massive amount of work that was put into the project in order to move CI platform. We have a fantastic blog post on the topic that really goes into the full details of this change. This release marks the first (regular) release created after this change was made, which is why we feel it is important to mention it here even though you won't see anything different in Pulsar itself.

To continue the trend of "background" changes, we have finally achieved our goal of removing all of the CoffeeScript code in the core editor and packages (a process dubbed "decaffeination") in favour of standard JavaScript. This was a goal started by the Atom team and has been a long time coming as, whilst it was good at the time, many of the features of CoffeeScript can now be found in vanilla JavaScript and migrating away from it allows a more unified codebase that is easier to maintain and lowers the barrier of entry for new contributors. Again, you won't really see anything within Pulsar itself, but this was a big achievement and we can finally draw a close to this little chapter.

Onto some changes you will see in Pulsar. Probably the most obvious one is our deprecation of the previous (and defunct) autoUpdate API. This is a follow-on from a change that first came into our 1.108.0 release to add the new core package pulsar-updater. You can read more about that particular change in the previous release notes. The most obvious result of this is the removal of the message on the about page telling you about automatic updates. This has instead been replaced with a link to the Readme of the pulsar-updater package reflecting the new situation.

On the topic of the about package, we have some nice quality of life changes. The first of which is a change to how we link to the changelog/release notes. Previously, this would link to the changelog state as it was at that specific release. We have changed this to instead link to the relevant section on our master branch changelog. This not only allows us to properly support our rolling releases but also gives our regular releases quick access to look at upcoming changes. We also have a nice little update to improve the responsiveness of the pane when displayed in a narrow format; no longer do things get shoved and squished out of place.

Now onto some bug fixes. The first one here regards a race condition that was found in our autocomplete-plus package, which was causing some weird situations where the suggestion list would open, close, then open again. This has now been fixed (with some handy assistance from the core package keyboard-resolver to help narrow down the problem).

The next is specific to Windows users, where the Pulsar logo was not being shown (and was being replaced with a default blank icon) when Pulsar was set to be the file handler for selected file types. This has now been solved, and the logo should be displaying correctly.

To finish things off, we have one change that improves resource usage quite considerably. However, in this case, we aren't talking about memory or CPU, but our cloud compute costs. What we found is that unnecessary requests were being made to our backend services by the settings-view package (which, amongst other things, is responsible for package management) for Pulsar's core packages. As the core packages aren't really designed to be updated between versions (that is why we have our rolling release) there is no need to poll the backend for information such as the number of downloads or stargazers. The upshot of this change is that we are now saving a not-insignificant amount of money in backend costs. As this whole project is only possible due to our generous donors in the first place, this change means we can make better use of these funds that have been freed up. As always, our costs and expenses are transparent and open on our Open Collective should you wish to see the effect.

And that just about draws things to a close for this release. We have had a particularly busy month with some rather significant changes to all kinds of areas of Pulsar, so we hope you enjoy the update. As ever, a huge thank you to our generous donors and community, without whom this project would not be possible.

Until next time, happy coding, and see you amongst the stars!

  - The Pulsar Team


  • Fixed a race condition that could cause autocomplete-plus to ignore user input.
  • Fixed the about package linking to release notes for Pulsar.
  • Reduced the amount of network requests that settings-view creates.
  • Fixed the icon used when registering Pulsar as a file handler on Windows.
  • Removed the autoUpdate API from Pulsar, instead relying on the pulsar-updater package.
  • Prevented warnings in the developer console from appearing when autocomplete suggestions are shown.
  • Removed all CoffeeScript code from Pulsar and core packages.
  • Migrated the majority of our CI to GitHub Actions.

Pulsar

  • Added: about: Make the About page's CSS responsive for narrow panes @DeeDeeG
  • Added: [core & settings-view] Avoid network requests for bundled packages @confused-Techie
  • Fixed: Remove @ from example to fix Documentation CI @Spiker985
  • Fixed: Cirrus: Don't update last good commit if CI skipped @DeeDeeG
  • Fixed: Tree-sitter running fixes (August edition) @savetheclocktower
  • Added: [status-bar & tree-view] Manual Decaf Source @confused-Techie
  • Added: [core] Consolidate app detail logic into single module @confused-Techie
  • Fixed: [about] Link release notes to CHANGELOG.md instead of tagged release of Pulsar @confused-Techie
  • Removed: Remove fs-plus from atom-protocol-handler @Sertonix
  • Fixed: [core] Fix the icon used when registering Pulsar as a file handler in Windows @confused-Techie
  • Added: Decaf Packages Spec @confused-Techie
  • Removed: settings-view: Don't fix repository for core themes @DeeDeeG
  • Added: Cirrus: Skip builds if same commit was previously built @DeeDeeG
  • Fixed: CI: Tweak Cirrus build filter to allow tag pushes @DeeDeeG
  • Added: Automatically rename binaries in CI during Regular releases @DeeDeeG
  • Removed: remove repository fallback @Sertonix
  • Added: [meta] GitHub Actions: Don't sign macOS builds from forked repo PRs @confused-Techie
  • Added: [meta] Ensure Actions can upload Rolling Releases @confused-Techie
  • Added: [meta] Cleanup push trigger, add workflow_dispatch @confused-Techie
  • Added: Migrate most binary building to GitHub Actions @confused-Techie
  • Added: [meta] Add ignorePaths to renovate config @confused-Techie
  • Added: [language- && packages] Manual Decaf Spec Bundle @confused-Techie
  • Fixed: fix links of packages readme @asiloisad
  • Added: [meta] Add new and missing packages to renovate config @confused-Techie
  • Added: Small Update to Docs @confused-Techie
  • Fixed: [autocomplete-plus] Detect when menu state gets out of sync with DOM @savetheclocktower
  • Removed: Remove AutoUpdate functionality from Core @confused-Techie
  • Bumped: Update autocomplete-html package @renovate
  • Added: [core]: Make showing tab title in window title optional @confused-Techie
  • Fixed: [autocomplete-plus] Suppress marked warnings @savetheclocktower
  • Added: [pulsar-updater] Don't notify if Pulsar is running via yarn start @confused-Techie
  • Bumped: bump actions/checkout to v3 @casswedson

v1.108.0

16 Aug 05:39
Compare
Choose a tag to compare

Great Scott! A new Pulsar release.

Welcome to our latest Pulsar release! We have some really exciting new features this month that we can't wait to share.

To kick things off, we have a brand new core package, pulsar-updater. We recently featured this on our monthly Community update , but in case you missed it (or simply just want to read more about it), pulsar-updater is a new package designed to help notify users about new Pulsar releases and where they can get them. As always, we are open to feedback, especially when we have brand new functionality like this, so please let us know via any of our social channels if you have anything for us.

Next, we have yet more grammars for our modern Tree-sitter implementation. If you have missed any details on this, then you can read more on our blog. The two new grammars in question are for Markdown and YAML. So what benefits does this give us? Well, for example, with Markdown, this provides significantly more accurate highlighting than the existing "Textmate" grammar; it provides HTML syntax highlighting as well as YAML frontmatter support (a common addition to Markdown documents these days, particularly for static site generators), and it allows us to clean up some of the scope names to suit a more conventional approach to naming. All these features should provide a much better Markdown writing experience in Pulsar and allow us to easily keep it up to date with anything new we might want to add in the future.

On the topic of Markdown we also have a rather large update to our markdown-preview package, which provides a window to display the rendered output of your Markdown documents. The big change here is the syntax highlighting displayed within code blocks specified via a "language identifier". The list of these supported identifiers was rather out of date, and the world had moved on around it, so the decision was made to bring this up to date with the behaviour that people expect from such functionality. We go into far more detail about this change in our Blog post so have a read of that if you want to know the full details about this change.

Last, but definitely not least, we have finally begun the migration from apm to ppm. When we started the Pulsar project, one of the first things we did was rename the "Atom Package Manager" to the "Pulsar Package Manager" for obvious reasons. However, under the hood, you would still find apm binaries and files; this was particularly relevant for Windows users, for which there was no automatic PATH registration. The good news is that we have begun the transition to change them. For the time being, apm will remain alongside ppm until we can be sure we haven't hit any unforeseen issues.

And with that, we bring this to a close. As ever, a huge thank you to all of our community members and especially our donors, without whom this project just wouldn't be possible.

Until next time, happy coding, and see you amongst the stars!

  - The Pulsar Team


  • Restored ability for less files in packages to use inline JavaScript inside backticks.
  • Fixed a syntax highlighting issue inside the styleguide package.
  • Fixed an issue with rubygems timing out on ARM Linux workflow.
  • Rewrote Tree-sitter scope predicates to use #is? and #is-not? where applicable.
  • Ensure that project-specific setting overrides don't leak to the user's config file when the settings UI is visited.
  • Added a feature in markdown-preview that adds support for Linguist, Chroma, Rouge, and HighlightJS for language identifiers in fenced code blocks.
  • Fixed the TextMate language-toml grammar to properly support whitespace where-ever it may appear.
  • Added a Tree-Sitter grammar for YAML files.
  • Added a new core package pulsar-updater to help users update Pulsar.
  • Added ppm and ppm.cmd binaries/launchers within ppm. This allows easier integration of correctly named binaries on more systems in more contexts (especially Windows). Existing apm and apm.cmd binaries/launchers are still there for the time being.
  • Added a modern Tree-Sitter grammar for Markdown files.

Pulsar

ppm

  • Added: Add 'ppm' bins to complement existing 'apm' bins @DeeDeeG
  • Fixed: Replace "apm" by "ppm" in help messages. @azuledu
  • Bumped: Update OS, actions, node @Spiker985

Hotfix: Pulsar v1.107.1

16 Jul 10:50
Compare
Choose a tag to compare

Hotfix for important cosmetic issues in the bundled github package.
This package missed updates to be compatible with the breaking changes in Less Style Sheet syntax, and needed to be updated to preserve the intended styling of the GitHub and Git panes.

Includes this PR: #639 to fix this issue: #638

See the v1.107.0 release for all the other changes since v1.106.0.

v1.107.0

16 Jul 00:42
Compare
Choose a tag to compare

Fresh off the CI press: Pulsar 1.107.0 is available now!

Another month and another Pulsar release! This month features a bunch of those all important quality-of-life updates. We have a whole host of bugfixes and upgrades for you along with a sprinkling of new features.

To kick things off we have now resolved an issue which has been hanging around since we began this project. As we no longer had the same method of installing the software as Atom, we created an issue for Windows users where the pulsar and ppm were not being added to PATH. The upshot of this was some rather important Pulsar features were no longer working by default on Windows - namely the ability to launch pulsar by just running pulsar in run or cmd/powershell (you can find more in our launch manual on how you can use this to open Pulsar directly to a particular file, line and even column). You can also run pulsar --help to display all the available options.

Please note that whilst we have this working now for the most part, the -p/--package option as well as ppm still needs some more development work. However until this has been completed you can still access Pulsar package management from the command line on Windows by simply using apm (what ppm is still named underneath) in place of those commands.

Next we have an update to our less-cache package which bumps the version of less used by Pulsar from 3.12.2 to 4.1.3 which adds some new functionality but also introduces a breaking change regarding using division in math expressions. The good news is that Pulsar will automatically attempt to fix those issues during load. You can read more about this in our recent community update blog post on this subject.

To continue the trend of new developments with the modern Tree-sitter implementation, we now have a new grammar for TOML files as well as a couple of fixes to some issues that have been discovered with the new implementation.

Another nice feature recently added is a new API endpoint - atom.versionSatisfies(). No longer do package maintainers (or any other Pulsar hacker) need to write their own way of checking for Pulsar versions, we now have an inbuilt way of doing it which will hopefully alleviate some of the problems we have seen with some packages using (let's just say) "less-than-ideal" methods of version checking. You can read more about it on the PR.

And lastly, in case you missed it from the community update, we have resolved an issue due to a downstream dependency that was causing Pulsar to get falsely flagged by virus checkers. You can read more about this from the update post.

And that brings us to a close for the 1.107.0 release notes. As ever a huge thank you to our wonderful donors and community members who not only make this project possible but worthwhile.

Until next time, happy coding and see you amongst the stars!

  • The Pulsar Team

  • Fixed a number of issues with the experimental modern Tree-sitter grammar mode
  • Pulsar can now be added to the PATH on Windows, via the "System" pane within Settings View.
  • Bumped less-cache to v2.0.0 which uses less@4.1.3. This adds many new features of Less, while causing breaking changes to existing Less StyleSheets. Read more about these changes here. Pulsar will attempt to automatically repair any breaking changes in any package style sheets, while emitting deprecations.
  • Fixed a bug that would render files unable to be clicked with sticky headers enabled on One-Dark and One-Light themes.
  • Added a Modern Tree-Sitter TOML Grammar.
  • Added a new API endpoint within Pulsar of atom.versionSatisifes() to allow packages to safely check the version of Pulsar, instead of having to do so themselves.
  • An issue in a downstream dependency has been resolved that improperly flagged Pulsar as malicious.

Pulsar

less-cache