Version 1.3.0
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):
a lot better:
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:
And here are some actual benchmarks between 1.2.1 and 1.3.0 with a huge JSON file:
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!