Releases · dankamongmen/notcurses

6 min read Original article ↗

v3.0.17—blood in the cut

Addresses build problems on Windows and Mac OSX.

v3.0.16—van down by the river

Fixes bugs in the input layer and in scrolling (#2875, #2878).

v3.0.15—back to bsd

Fixes a bug on FreeBSD which could cause us to stop processing input (#2873).
Hopefully this means we'll push a new version into the Ports Archive ASAP.

v3.0.14—not quite pi

we are trapped in the belly of this horrible machine, and the machine is bleeding to death

v3.0.13—cut a freestyle over this one

getting this out quickly to address a regression when building with USE_CXX=off.

also, handling Python 3.12's removal of distutils from the standard library.

fixes a bug when using ncmetric without UTF8 support. unlikely to hit anyone in real life, but plausible when running the unit tests in automated environments.

ahhh, regularly hacking on Notcurses again feels good, man.

v3.0.12—terms of enrampagement

released mainly due to otherwise crashing upon exit using musl. i don't much care for how musl is implementing thread cancellation and cleanup, but it's arguably standards-compliant, and not my project to lead.

the octant blitter (NCBLIT_4x2) has been added thanks to Unicode 16, @eschnett, and myself. no terminals are currently marked as supporting octants, so it'll never actually be used, but expect this situation to change soon. octants give you two colums of four rows each per character cell, and thus better resolution than sextants or quadrants. like NCBLIT_2x1 (and no other semigraphic blitters), it preserves aspect ratio, and can thus be used with NCBLIT_SCALE. the downside is that a cell now must represent eight pixels, which could contain up to eight different colors, while we only get two. there will thus be some loss in fidelity for anything other than
bicolored sets of eight pixels. for images which only use two colors (e.g. simple text), this blitter is a big win.

a bug was fixed when drawing QR codes, and QR codes now always use NCBLIT_2x1 (so that aspect ratio is always preserved). this means they are unavailable in a pure ASCII environment, which lacks top and bottom halves. thanks @RMZeroFour !

v3.0.11—the frogurt is also cursed

the helpful Homebrew people pointed out in #2795 that i am deeply stupid. this is definitely 3.0.11, not 3.0.10 that thinks it's 3.10.0. please don't use 3.10.0. thanks @bevanjkay, who will presumably now be claimed as a contributor.

also, since it's kinda 311, https://www.youtube.com/watch?v=BsU_BwhPK7k

v3.0.10—panda panda panda panda panda

first release since april 2022! we're still here, bitches.

alright, so i pretty much ignored this project for 30 months while doing other shit--built a gigantic app at work built around XDP and @axboe's magnificent io_uring, topics regarding which i am now expert, but which had very little to do with terminal semigraphics. i also wrote and published my first novel, which everyone ought purchase, read, and give as gifts, but it too had very little bearing on notcurses. i felt really bad whenever i ignored a notification mail...but only until i got distracted, and there were many distractions. it makes me almost think that perhaps it's time for a comaintainer. we'll see. feel free to suggest yourself if you have contributions to notcurses, or can point at a largish thing you've written using it.

anyway, i was hesitant to release, because i have a vague sense that there have been regressions (primarily in the non-fullscreen paradigm) since...a few releases ago? but i haven't had the time to properly investigate this. and meanwhile real fixes were blocked up, and eventually debian/fedora forced my hand due to ffmpeg 7.0 updates. so that's the realpolitik motivation for this release.

but it's also good to show the world we're still active.

i was heartened: no release for 30 months, yet i ran tools/release.sh and everything worked beautifully, running like a gentle wind, right up until the point we hit python when it exploded like agitated diarrhea for reasons i don't and will never give a shit about and now i'm trying to recover my pypi account which is mysteriously dysfunctional and i hate this language and all its practitioners and would like to go to some major python conference and just start throwing fucking People's Elbows like my Samoan brother The Rock. alas, it would almost certainly violate the CoC. i guess that's why they have those things. note that notcurses has no CoC, and should you approach me in the street, feeling froggy and like you want to jump up on it, i will represent and whoop your ass word is bond, but certainly not reject your patches. i'm not sure how the two are related.

anyway, i hope to dig into this over the next few months. butttttttttttttttttttttttttt i'm not promising anything! hack on everybody.

update: apparently tagging axboe marked him a contributor to this release, which he was not, though he'd certainly be welcome were he to show up and sling some VT code. sorry about the falsehood, argh.

v3.0.9—spacelord

by far the longest time between Notcurses releases, and there's not very much here, save a nasty infinite loop discovered and fixed by @drewt. is this project dead? let me answer that with dmx:

dank's gonna give it to ya

hell no this project isn't dead, but this project has achieved most of its primary goals, and i don't intend to move on longer-term, more speculative ones until next spring (2023) at the earliest. gotta make that paper in the meantime, and i'm deeply embroiled in the shit at work, keeping the satellites doing what they do best and generally doing the do as it's done. but this bugfix release did feel warranted.

ALSO, regarding inability to build against the most recent doctest 2.4.9, yeah it totally fucking sucks. it's a bug in doctest, and it was fixed months ago, and we just haven't had a new doctest release. I've asked for one; we'll see. Ugh. this isn't really something we can work around easily, and there's no reason i can see for doctest not dropping a fixed 2.4.10. if this continues, i might have to rethink reliance on doctest... =\

anyway! here you go, ya filthy animals

v3.0.8—spit it once, refuel reenergize and rewind

we haven't had as much notcurses lately as we were! well, after two and odd years going balls-to-the-wall on it, it had reached a point where i could finally cool off a bit, and i did! still absolutely resolving bugs and adding new features, just took some time to do other things. like build a new workstation and write a lengthy essay and regain favor at my day job, where terminal graphics absolutely do not pay the bills. but i still love ye, and we're still here.

this fixes use of bare Escape as input in terminals other than kitty, and recognizes curly underlines in Contour. some other bugs came in over this period, but most of them were resolved via external fixes, hurrah.