Boop Versions Save

A scriptable scratchpad for developers. In slow yet steady progress.

1.4.0

2 years ago

If you got Boop on the Mac App Store, you can update it there as well.


Peeps,

First of all, how have you been? I myself have been alright. Time is weird, eh? One minute, it’s October. The next minute, it’s still October, but also a year later. And so here we are, much later than expected, reunited again to chat about a new Boop update. And what an update it is.

Boop's UI

The kind folks over at Accidental Tech Podcast chatted about Boop, giving it a very nice review. One of their listeners said Boop is “like paper plates but for JSON” and I cannot overstate how much I love that. You can listen to it here: https://atp.fm/437 starting at 1:06:50

Now, this new version finally brings some very much needed upgrades: First off, a new icon that won’t look totally wonky alongside other Big Sur icons. It is an iteration of a new icon designed by @mmshivesh, and it makes quite a bit of a difference in the ol’ dock.

The new Boop Icon

I bet what sticks out is my number of unread messages.

I’ve also spent some time refreshing the overall user interface, to make it more in line with other Big Sur/Monterey applications. The picker has a new look, the editor got a more refined color scheme, and it overall just feels a lot better. Plus, it's now a universal app. Yay!

Boop's new UI

Anyway, here's what's new:

  • New icon inspired by mmshivesh
  • New design
  • Fixed an issue with the status bar
  • Fixed the CSV to JSON script
  • 13 new scripts
  • Added support for SF Symbols as script icons
  • Universal build for Apple Silicon support

New Scripts:

  • ASCII to Hex
  • Hex to ASCII
  • Binary to Decimal
  • Decimal to Binary
  • Decimal to Hex
  • Hex to Decimal
  • Fish Hex Path Converter
  • Lorem Ipsum
  • Sort JSON
  • URL Defang
  • URL Refang
  • URL Entities Decode
  • URL Entities Encode

I wish you a lot of great spooks, stay safe and healthy out there!

Ivan_


Full Changelog

What's Changed

New Contributors

Full Changelog: https://github.com/IvanMathy/Boop/compare/1.3.0...1.4.0

1.3.0

3 years ago

If you got Boop on the Mac App Store, you can update it there as well.


Friends,

I hope this release finds you well. Taking care of yourself is important. I've been doing a bit of that lately (hence the delay between releases), but I've also been taking care of Boop. And boy, what a release it is!

Version 1.3.0 brings some big, big, big performance improvements. As in, 99.7% faster editing according to some of my tests, potentially even more on very big documents. Plus, we've got 11 new scripts like SHA hashing and oNe tHaT MAKE YouR tEXt loOk LIkE thAt oooOoOoOOOH.

The syntax highlighting should be a lot, lot faster now, thanks to a fairly big overhaul of how it works under the hood. What's cool with this update is that it also handles tricky situations like this (look at lines 4, 10, and 12):

Screen Shot 2020-09-22 at 08 57 21

a lot better:

Screen Shot

The speed improvements are clearly noticeable. If you take a look at my notes from when I started working on the issue, you'll see that there was a drastic change in processing time when dealing with significant amounts of data:

Screen Shot

And here are some actual benchmarks between 1.2.1 and 1.3.0 with a huge JSON file:

Screen Shot Screen Shot

I wrote a giant post-mortem of the why and how this happened, but all things considered I don't think anyone wants to hear me ramble about some obscure part of computer science. So the cliff notes version is: Regexes were too complex, so I changed the way they work by taking inspiration from Prism. This allowed more accurate results with smaller expressions. Also, ditching Swift's String for NSString gave like a 30% performance bump.

Anyway, here are all the changes in this release:

Changelog

  • Huge performance upgrades
  • Fixed link pasting from Safari
  • Fixed window jumping around on launch
  • Fixed count character scripts to support unicode
  • Fixed line detection in some scripts
  • Changed the way the tab key works in the script picker
  • Upgraded the smart characters system

And 11 new scripts:

  • SpONGeCASe
  • Android localized Strings to iOS
  • iOS localized String to Android
  • HML Encode all Characters
  • PHP Unserialize
  • Replace Smart Quotes
  • YAML to JSON
  • JSON to YAML
  • SHA1 hash
  • SHA256 hash
  • SHA512 hash

It took a lot of effort to put this update together, so thank you so much to all the contributors, bug reporters, and users! Next time, we'll tackle some Big Sur updates and a few more things.

That's pretty much it for me, thanks for listening and have a fantastic rest of your week!

1.2.1

3 years ago

If you got Boop on the Mac App Store, you can update it there as well.


Howdy! Here's a quick update to fix a few issues. It contains the same changes as 1.2.0 plus the following fixes:

  • The JWT decoder script now works properly
  • Input that require substitutions or replacements now work properly.

Here's a comparison of the current version (top) and the previous, broken behavior (bottom) while typing some French:

demo

As you can see, the original characters were left in after the substitution. This should hopefully also fix languages such as Japanese and Chinese.

Anyway, version 1.3.0 is well underway and has some very, very exciting stuff. See y'all soon!

1.2.0

3 years ago

If you got Boop on the Mac App Store, you can update it there as well.

Friends, I hope you're all doing well. Today's Boop update is pretty exciting, and I hope you'll like it!


Feeling lazy? I made a trailer and animated explanations of what's new on Twitter. Otherwise, the full changelog is below.


First of all, we have 19 new scripts, including some absolute bangers like CSS formatting, JSON Minifying, line sorting, and eval Javascripting. Plus, they're now loaded only when you need it so Boop does more with a smaller memory footprint.

Second of all, we have the new modules support system. This lets you bring external dependencies into your scripts with minimal changes and share code between scripts, kinda like that:


const { encode } = require('@boop/base64')

let something = encode('hello')

Boop ships with a couple modules, and you can add in your own. It's overall pretty awesome, and you should read the documentation to better understand how it works. Here's an example where I use lodash to power several scripts based on the same functions:

Very low quality gif of the editor in action

Third of all, we have a new insert() function that lets you insert text at the cursor's location. It's pretty neat.

Fourth of all, we now have script debugging. Kinda. You'll need to make your own debug build of Boop, and it's all explained in the documentation so make sure to read it carefully. It's also super cool and very useful when debugging modules.

UI Screenshot

Last of all, there is a bunch of bug fixes and small enhancements, which can all be found right below.


Changelog

New features:

  • 19 new scripts including CSS and SQL format/minify, sorting, and more!
  • New modules API! You can now include dependencies as modules, leveraging existing libraries and sharing code between scripts.
  • The Boop window now remembers its size when you re-open it.
  • Scripts are now loaded on demand, saving processing power and memory.
  • Added insert() function, allowing scripts to insert text where the cursor is.

Bug Fixes:

  • Scripts now properly handle UTF-8 text containing special characters.
  • Updated documentation links to avoid missing page issues.
  • Fixed memory leak in search panel.
  • Fixed a crash when accidentally searching for something very, very long.
  • Status View messages now disappear properly after 10s.
* Base 64 encode/decode now supports UTF-8.
  • Fixed an issue with HTML encode/decode.
  • Fixed XML formatter.
  • Fixed an issue with JSON to CSV.
  • Fixed an issue with Reverse String.


New scripts:

  • Camel Case
  • Count Words
  • Deburr
  • Eval Javascript
  • Format CSS
  • Format SQL
  • Kebab Case
  • Minify CSS
  • Minify JSON
  • Minify SQL
  • Minify XML
  • Natural Sort Lines
  • Rot 13 Cypher
  • Snake Case
  • Sort Lines
  • Start Case
  • Sum All
  • Trim
  • Hex color to RGB

Thanks for reading til the end! Next time, I should be done with the performance upgrades. In the meantime remember to be kind to others and to take care of yourself.

1.1.0

3 years ago

If you got Boop on the Mac App Store, you can update it there as well.

Well, dang. Before we get to the release notes, I’d like to say thank you for the overwhelming response to Boop.

I have been working on this app for over two years now, and decided to release it because a couple of friends liked it a lot. I did not imagine it would get so much love from the internet. Between the fantastic PRs submitted, the awesome feature requests, and being featured on the Mac App Store’s “Apps and Game We Love Right Now” list, it’s been quite a thrilling ride.

Boop on the Mac App Store

So once again, thank you for using, contributing to, and/or spreading the word about Boop. It means a lot to me and this is what keeps me going. I hope you'll like this update!

If you're not a fan of reading release notes, here's a trailer for it.

New features:

  • Text Services: Send any text to Boop from anywhere by right clicking and selecting Services > Send to Boop. Special thanks to Martin Pittenauer.
  • Light mode: Boop now follow the system settings and can optionally be locked into light or dark mode via the preferences menu.
  • New Scripts: JWT decoding, Query String <-> JSON, shuffle lines, date to timestamp, and more!
  • Better Text Editor: Quotes, braces, and special characters are handled better in this version.
  • Find more scripts: Added a link to the scripts repository. Find new ideas or suggest your own!

Boop's Light Mode

Bug Fixes:

  • Keyboard shortcuts (such as ⌘+W) now behave as expected
  • Fixed a potential crash for the macOS 10.15.6 Beta
  • Fixed a display issue with the status bar in light mode

Next update, I’ll tackle performance issues, and upgrade the scripting engine to be even more powerful. See you then!

Ivan_

(PS: In the meantime, you can follow me on Twitter)

1.0.0

3 years ago

Initial release. Yay!

Also available on the Mac App Store.

Screenshot