Edition No. 60 · 24 Oct 2026

Four of today's twelve have never published a release

Repo Radar No. 60. Four of today's twelve have never published a release.

A replication extension that pushed code yesterday, a notification library whose newest release is from 2023, and a failover tool that quietly changed address.

By Genn·12 repositories·14 min read

Refreshed on 24 October 2026. The repositories are the ones first published; any that are no longer maintained are left out.

Saturday, 24 October 2026. Twelve open-source repositories, opened and checked today. Four of them have never published a release on GitHub at all. All four are alive, and one of them had code pushed yesterday. The releases page is the first thing most people look at, and today it is wrong about a third of this edition.

We aim for twelve every day. Some candidates fall out while we check them — those are listed at the end, with the reason.

If you only do three things

  1. eradman/entr — two minutes. It reruns a command every time a file is saved. Tests, builds and page previews stop needing a keystroke. It is one of the four with no releases, and code landed eight days ago.
  2. libvips/libvips — two minutes. It resizes and converts images using a small fraction of the memory the usual tool needs. Code landed four days ago.
  3. tobymao/sqlglot — ten minutes. It reads SQL as a structure, rewrites it, and translates it between more than twenty database dialects, without connecting to a database. Also one of the four with no releases; its published package is four days old.

Four of today's twelve have never published a release

Twelve repositories, checked and reviewed. Every version verified against the GitHub API and dated.

SQLGlot: reads and rewrites queries. Translates queries between database dialects.

9.7k stars · MIT · no GitHub releases; the Python package index gives 30.24.0, 20 October 2026 · Track this in Scout · Share this tool

Reads, rewrites and translates SQL between more than twenty database dialects, without a database.

▶Repo detailsthe review · specs · pros & cons · install

What it does

It parses a query into a tree of parts, so a program can look at the pieces instead of hunting through text. It writes that tree back out as SQL for a different system, covering more than twenty dialects including PostgreSQL, MySQL, BigQuery, Snowflake, DuckDB, Spark and Oracle. It can format a query, compare two queries for real differences rather than spacing differences, and tell you which columns in the answer came from which columns in the source. An optimiser rewrites a query into a form that usually runs faster. It is written in pure Python with no outside dependencies, which is why it installs in seconds. It is deliberately forgiving: it will parse things a real database would reject. It is not a database and not a query runner, so it cannot tell you whether a table exists, whether a query is permitted, or how long it will take.

Why it matters

Who it suits. Anyone whose code writes SQL as text and then hopes. It suits a small team that supports more than one database, because a query written once can be emitted for each. It also suits anyone who needs to know where a number in a report came from, since the column-lineage feature answers exactly that. Skip it if all SQL is typed by hand into one database and never generated by a program.

Verdict. The best thing in this edition, and ten minutes well spent. The pure-Python install with no dependencies is the reason to try it rather than read about it: there is nothing to break. It is also the clearest case of today's headline. GitHub shows no releases for this project at all, so the releases page says nothing, while the published Python package moved to version 30.24.0 on 20 October 2026 and code was pushed on 23 October. Two things to watch out for. The forgiving parser means a query can pass here and still be refused by the real database, so this is a translator and not a validator. And the dialect coverage is uneven: the common systems are excellent and the rare ones are approximate, so test the output rather than trusting it. If the need is checking style and catching mistakes in hand-written SQL instead, sqlfluff/sqlfluff from Edition 57 is the right tool, and the two are often used together.

Stars9.7k
LicenceMIT
Latestno GitHub releases; the Python package index gives 30.24.0, 20 October 2026
Good
  • Pure Python with no dependencies, so it installs anywhere in seconds.
  • Column lineage answers "where did this number come from", which almost nothing else does.
  • Twenty-plus dialects in one library, with one way of writing the code.
Watch for
  • The parser accepts queries a real database will reject, so it proves nothing about validity.
  • Dialect quality varies, and the less common systems need the output checked by hand.
  • No releases on GitHub at all, so the version has to be read from the package registry.
Similar repositories
  • sqlfluff/sqlfluff

    MIT, covered in Edition 57; checks hand-written SQL for style and mistakes and repairs most of them, where this one rewrites and translates queries from code.

    Track this in Scout
  • andialbrecht/sqlparse

    BSD-3-Clause, splits SQL into tokens and formats it, which is a much smaller job and a much smaller library; it does not translate between dialects.

    Track this in Scout
Install
python3 -m venv venv
source venv/bin/activate
pip install sqlglot
Screenshots
tobymao/sqlglot: GitHub preview card
Patroni: promotes a new database leader. Watches database copies and handles failover.

8.8k stars · MIT · v4.1.5 (2026-08-12) · Track this in Scout · Share this tool

Watches a group of PostgreSQL copies and promotes a new leader when the leader fails.

▶Repo detailsthe review · specs · pros & cons · install

What it does

It runs beside each copy of the database and reports that copy's state into a shared store, which can be etcd, Consul, ZooKeeper or Kubernetes. Only one copy may hold the leader key in that store at a time, and the key expires, so a copy that stops reporting loses the lease and another takes it. It starts and stops the database itself, builds a new copy from scratch when one is added, and rewinds a former leader so it can rejoin as a follower. Configuration lives in one file per node plus the shared store, so settings can be changed across the whole group at once. It exposes a small web interface that a load balancer can ask "are you the leader", which is how traffic follows the promotion. Version 4.1.5 was published on 12 August 2026. It is not a backup tool and not a connection pooler: copies protect against a machine failing, not against a mistaken delete, and something else still has to route clients.

Why it matters

Who it suits. Anyone running PostgreSQL where an hour of downtime is a real problem and where there is appetite to run three machines instead of one. It also suits anyone who has written failover by hand and discovered how many ways it can go wrong. Skip it if one database on one machine with good backups is honestly enough, because this adds a shared store, two more machines and a new set of things to understand.

Verdict. Worth it above a certain size, and the standard answer in its field for ten years. Two findings from today's check. First, the project has moved: the address most documentation still gives is the previous owner's, and the repository now lives under its own organisation at patroni/patroni. The old address still redirects, so nothing is broken, but a link that says otherwise is out of date. Second, it is plainly alive: code was pushed on 17 October 2026. The warning worth hearing is that the shared store is now part of the database's availability. If the store becomes unreachable the group will give up the leader key rather than risk two leaders, which is the correct choice and still means an outage, so the store needs as much care as the database. If everything already runs in Kubernetes, a system for running containers across many machines, then cloudnative-pg/cloudnative-pg does this job inside it with far less to assemble.

Stars8.8k
LicenceMIT
Latestv4.1.5 (2026-08-12)
Good
  • Ten years of production use, so the failure modes are known and written down.
  • Works with four different shared stores, including Kubernetes, rather than demanding one.
  • Rebuilds and rewinds copies by itself, which is the part people get wrong by hand.
Watch for
  • The shared store becomes part of the database's availability and needs its own care.
  • Three machines minimum to be worth anything, and a day of reading before the first attempt.
  • It is not a backup. A deleted row is deleted on every copy immediately.
Similar repositories
Install
python3 -m venv venv
source venv/bin/activate
pip install "patroni[etcd3]"
Screenshots
patroni/patroni: GitHub preview card
03

pgEdge/spock

💎 hidden gem
Spock: two databases both accept writes. Keeps several copies of one database in step.

758 stars · PostgreSQL License · no GitHub releases · Track this in Scout · Share this tool

An add-on that lets several PostgreSQL databases all accept changes and keep each other in step.

▶Repo detailsthe review · specs · pros & cons · install

What it does

It installs as a PostgreSQL extension, which is extra code loaded into the database itself rather than a separate program. Each database becomes a node, publishes the changes it accepts, and subscribes to the changes from the others. It uses PostgreSQL's own logical decoding, so changes travel as rows rather than as raw disk blocks, which is what allows nodes to run different major versions. It resolves a collision — the same row changed in two places at once — by keeping the change with the later timestamp, and it records what it discarded so the choice can be audited. It can replicate a chosen set of tables rather than everything, and it keeps sequences from handing out the same number twice on two nodes. The README states support for PostgreSQL 15 through 19. It is not a sharding tool and not a load balancer: every node holds the whole of the replicated data, and something else has to send each client to a nearby node.

Why it matters

Who it suits. Anyone whose users are in more than one part of the world and who can no longer accept the delay of writing to a single place. It also suits anyone who needs to move between major PostgreSQL versions with almost no downtime, because the two versions can replicate to each other while traffic moves across. Skip it unless multi-place writing is a real requirement, because a single primary with read-only copies is far less to run and far less to reason about.

Verdict. The most specialised entry in this edition, and genuinely impressive for 758 stars. It is alive in the strongest sense available: code was pushed on 23 October 2026, the day before this edition, and the README already covers a PostgreSQL version that is not finished yet. There are no releases on GitHub, which is one of today's four. The warning is the honest one about this whole technique: letting two places both accept changes means accepting that some conflicting change will be thrown away, and a last-one-wins rule is a decision about data, not a technical detail. Read how collisions are resolved and logged before deciding, not after. The licence is the PostgreSQL License, which is short and permissive. For the neighbouring, simpler case of one writer and many readers, 2ndQuadrant/pglogical is the older relative; for splitting one large database across machines rather than copying it, citusdata/citus is the different answer.

Stars758
LicencePostgreSQL License
Latestno GitHub releases
Good
  • Several places can all accept changes, which no stock PostgreSQL setup allows.
  • Nodes may run different major versions, so a big upgrade can happen with the lights on.
  • Short, permissive licence, and the company behind it publishes the whole extension.
Watch for
  • Last-change-wins means conflicting edits are discarded, and that is a choice about data.
  • Compiling and loading an extension is a different level of work from installing a program.
  • 758 stars, so there are few public write-ups and almost no community answers to search.
Similar repositories
  • 2ndQuadrant/pglogical

    The older extension this family grew from, which copies changes from one writer to many readers; its maintainers now put new work into a commercial descendant.

    Track this in Scout
  • citusdata/citus

    AGPL-3.0, splits one large table across many machines and runs queries in parallel, which is a different problem from letting several places accept changes.

    Track this in Scout
Install
git clone https://github.com/pgEdge/spock
cd spock
make
sudo make install
Screenshots
pgEdge/spock: GitHub preview card
LimeSurvey: questionnaires you host. Survey software with twenty years of question types.

3.8k stars · GPL-2.0-or-later · no GitHub releases; the project's own download page gives Community Edition 7.7.0 · Track this in Scout · Share this tool

Survey software you run yourself, with twenty years of question types in it.

▶Repo detailsthe review · specs · pros & cons · install

What it does

It gives an administrator a web interface for building a questionnaire, then a public address where people answer it. It covers around thirty question types, including matrices, ranking, sliders and file uploads. Questions can appear or disappear based on earlier answers, which it calls conditions, and the same survey can be published in many languages from one definition. Answers can be anonymous in a way the software itself enforces, and invitations with one-use tokens can be sent and chased. Results export to spreadsheet, statistics and plain-text formats, and the built-in statistics screen draws basic charts. Version 7.7.0 is the current Community Edition on the project's own download page. It is not a form builder for a website's contact page, and it is not a hosted service: there is a paid cloud offering from the same company, but this repository is the software to install.

Why it matters

Who it suits. Anyone running a real survey — research, a membership vote, a customer study — where the questions are more complicated than a list and the answers must not sit on someone else's servers. The anonymity and token features are the reason academics keep choosing it. Skip it if the need is three questions on a landing page, because a small form builder will take five minutes instead of an afternoon.

Verdict. Worth the afternoon when the survey is serious, and easy to dismiss unfairly. It publishes no releases on GitHub at all, which is the third of today's four, so the repository looks dormant to a quick glance: the version number lives on the project's own download page and the code was pushed on 25 September 2026. Two warnings. The licence is GPL-2.0 or any later version, which is fine for running it and matters if the plan is to build a product on top. And the administration interface shows its age in places; expect to hunt for a setting rather than guess it. The modern alternatives are better looking and less capable: formbricks/formbricks from Edition 32 is built for in-app and website surveys and has a far nicer interface, and heyform/heyform from Edition 57 makes conversational forms that feel pleasant to fill in. Choose those for feedback, and this for a questionnaire.

Stars3.8k
LicenceGPL-2.0-or-later
Latestno GitHub releases; the project's own download page gives Community Edition 7.7.0
Good
  • Around thirty question types, including the awkward ones other tools skip.
  • Enforced anonymous responses and one-use invitation tokens, built in rather than bolted on.
  • Twenty years of documentation, translations and institutional use behind it.
Watch for
  • No releases on GitHub, so the repository looks abandoned to anyone who checks there first.
  • The administration interface is dated, and some settings are hard to find.
  • Needs a web server, PHP and a database, so it is not a five-minute install.
Similar repositories
  • formbricks/formbricks

    AGPL-3.0 with a separate licence on one folder, covered in Edition 32; built for surveys shown inside an application or a website, with a much more modern interface and fewer question types.

    Track this in Scout
  • heyform/heyform

    AGPL-3.0, covered in Edition 57; builds conversational forms, quizzes and polls that are pleasant to answer, and is aimed at short forms rather than long questionnaires.

    Track this in Scout
Install
http://your-domain.example/index.php/administration
Screenshots
LimeSurvey/LimeSurvey: GitHub preview card
05

containrrr/shoutrrr

💎 hidden gem
Shoutrrr: one line sends a message. Sends notifications to about twenty services.

1.7k stars · MIT · v0.8.0 (2023-08-20) · Track this in Scout · Share this tool

Sends a message to any of about twenty services from a single line of text.

▶Repo detailsthe review · specs · pros & cons · install

What it does

Each destination is written as a URL, so discord://token@channel or smtp://user:pass@host:25/?to=someone@example.com is the whole of the configuration. It covers around twenty services, including Discord, Slack, Telegram, Microsoft Teams, Matrix, Gotify, Pushover, Rocket.Chat, generic webhooks and plain email. It ships as a Go library for programs to call and as a single command-line program for scripts and scheduled jobs. Several destinations can be given at once, so one message reaches a chat room and an inbox together. A short template can shape the message body. The newest tagged version is v0.8.0, published in August 2023, while code was pushed on 1 July 2026. It is not a notification platform: there are no delivery guarantees, no retries you did not write, no queue, and no record of what was sent.

Why it matters

Who it suits. Anyone writing scripts or small programs that need to say something out loud, and who does not want a service in between. It suits a nightly job that should complain when it fails, and it suits a Go program that would otherwise grow a folder of per-service code. Skip it if the messages are being sent to customers rather than to the people running the system, because that needs delivery records, preferences and an unsubscribe link, and this has none of those.

Verdict. A small, honest tool that does one job, and the clearest date lesson in this edition. Its newest release is from 20 August 2023 and its newest code is from 1 July 2026 — thirty-five months apart, wider than any gap this report has recorded before. Judged by its releases page it looks like a project abandoned three years ago. It is not: it simply has not cut a tag. The practical consequence is real, though, and it is the warning: anyone installing the tagged version gets code from 2023, so install from the main line if a newer service is needed. The other thing to know is that the licence is MIT and the project is maintained by volunteers, so a service that changes its interface may stay broken for a while. For a much larger library with many more services, caronc/apprise from Edition 19 is the Python answer; for customer-facing notifications with records and preferences, novuhq/novu is the right shape of thing.

Stars1.7k
LicenceMIT
Latestv0.8.0 (2023-08-20)
Good
  • One line of text replaces per-service code, and that line can live in a configuration file.
  • Both a library and a single command, so programs and shell scripts use the same thing.
  • Around twenty services covered, including generic webhooks for anything not listed.
Watch for
  • The newest tagged version is from August 2023, so an ordinary install is three years old.
  • No retries, no queue and no record of what was sent. It sends, and that is all.
  • Written for one language, so other programs have to call the command instead.
Similar repositories
  • caronc/apprise

    BSD-2-Clause, covered in Edition 19; the same idea in Python with many more services supported and a far larger community, at the cost of needing Python present.

    Track this in Scout
  • novuhq/novu

    MIT with a separate licence on one folder; a full notification service with workflows, user preferences and a record of every message, which is a much bigger thing to run.

    Track this in Scout
Install
go install github.com/containrrr/shoutrrr/shoutrrr@latest
Screenshots
containrrr/shoutrrr: GitHub preview cardcontainrrr/shoutrrr: Screenshot 1containrrr/shoutrrr: Screenshot 2containrrr/shoutrrr: Screenshot 3containrrr/shoutrrr: Screenshot 4
PyPortfolioOpt: how much of each to hold. Turns past prices into portfolio proportions.

6.1k stars · MIT · v1.6.0 (2026-02-26) · Track this in Scout · Share this tool

Works out how much of each investment to hold, from past prices and a stated goal.

▶Repo detailsthe review · specs · pros & cons · install

What it does

It takes a table of historical prices and turns it into the two inputs the mathematics needs: expected returns and a covariance matrix, which describes how the investments move together. It then solves for the proportions that best meet a goal you choose, such as the best return for a given risk or the lowest possible volatility. It includes the classical efficient frontier, the Black-Litterman model for folding your own views into the market's, and hierarchical risk parity, which groups similar investments before allocating. The covariance estimates can be shrunk, which makes them less sensitive to noise in the price history. Constraints are supported, so a maximum per holding or a sector limit can be imposed. Version 1.6.0 was published on 26 February 2026. It fetches no data and places no orders: prices come from somewhere else, and so does any decision to act.

Why it matters

Who it suits. Anyone who already holds a basket of investments and currently decides the proportions by feel. It suits a researcher who wants a standard, readable implementation rather than their own, because the documentation explains the mathematics as it goes. Skip it if the holding is a single index fund, because there is nothing here to optimise.

Verdict. Worth an hour for the education alone, with one large caveat that the project itself states plainly. These methods are extremely sensitive to the expected returns they are given, and expected returns estimated from past prices are not reliable. The honest way to use this is to start with the minimum-volatility and hierarchical risk parity options, which need no return forecast, and to treat anything built on forecast returns as an experiment. The library is clear about this in its own documentation, which is to its credit. It is also moving slowly: the published version is from February 2026 and code was pushed on 7 July 2026, both comfortably current but not a project shipping weekly. Nothing here is financial advice and this report is not a financial adviser; the output is a calculation, not a recommendation. For measuring how a portfolio actually did rather than deciding what to hold, ranaroussi/quantstats from Edition 4 is the companion.

Stars6.1k
LicenceMIT
Latestv1.6.0 (2026-02-26)
Good
  • The documentation teaches the mathematics while showing the code, which is rare.
  • Includes methods that need no return forecast, which are the ones worth trusting most.
  • Constraints are first-class, so real limits on holdings can be expressed.
Watch for
  • Results swing wildly with the expected returns supplied, and those are hard to estimate.
  • No data and no trading. Two other pieces are needed before anything happens.
  • Development is slow, so a reported problem may sit for a while.
Similar repositories
  • ranaroussi/quantstats

    Apache-2.0, covered in Edition 4; measures how a portfolio performed, with risk figures and an exportable report, where this one decides what to hold in the first place.

    Track this in Scout
  • cvxgrp/cvxportfolio

    GPL-3.0, covered in Edition 39; builds and back-tests portfolio policies over time including transaction costs, which is heavier and closer to a simulation than a single allocation.

    Track this in Scout
Install
python3 -m venv venv
source venv/bin/activate
pip install PyPortfolioOpt
Screenshots
robertmartin8/PyPortfolioOpt: GitHub preview cardrobertmartin8/PyPortfolioOpt: Screenshot 1robertmartin8/PyPortfolioOpt: Screenshot 2robertmartin8/PyPortfolioOpt: Screenshot 3
07

alpacahq/alpaca-py

💎 hidden gem

1.6k stars · Apache-2.0 · v0.44.0 (2026-08-11) · Track this in Scout · Share this tool

The official Python library for one broker's trading and market-data service.

▶Repo detailsthe review · specs · pros & cons · install

What it does

It covers three services from one company: trading, market data, and a separate service for firms that hold accounts on behalf of other people. On the trading side it places, changes and cancels orders, and reads positions, balances and past activity. On the data side it fetches historical bars, quotes and trades for shares, options and crypto. It also streams live prices over a connection that stays open. An order can be plain, limited, stopped, or bracketed with a profit target and a stop attached together. One setting, paper=True, points the whole library at the practice environment instead of the real one. Version 0.44.0 was published on 11 August 2026, and it needs Python 3.10 or newer. It is not a strategy and not a backtester: it carries messages between a program and one broker, and that broker is available in a limited set of countries.

Why it matters

Who it suits. Anyone who wants to automate part of their own investing and would rather learn one well-documented interface than three. The practice environment is the real attraction. A strategy can run against live prices with fake money for weeks before any money is at risk. It also suits anyone who already holds an account with this broker and wants the official library rather than a community one. Skip it if the broker is not available where you live. Skip it too if the plan is only to study past prices, because a data library needs no broker account at all.

Verdict. A good library and an honest dependency, and the dependency is the part to understand first. This is one company's official code for one company's service. It is excellent at that and worth nothing anywhere else, so a strategy written straight against it has to be rewritten to move. Checked again today: the newest release is 0.44.0 of 11 August 2026, the licence is Apache-2.0, and the star count is about 1,600. Three things to watch out for. The practice environment does not model how much your own order moves the price, so results there flatter a strategy. The free data tier is limited, both in how much history it gives and in which price feed it uses, so a test built on it may not match what a real order would have got. And version 0.44.0 moved some price checks into the library itself, so an order the service used to refuse is now refused earlier, which is better behaviour and still a change to read about before upgrading. If the aim is one program that can reach many venues rather than one, ccxt/ccxt from Edition 45 covers more than a hundred crypto exchanges behind a single interface. Nothing here is financial advice.

Stars1.6k
LicenceApache-2.0
Latestv0.44.0 (2026-08-11)
Good
  • Official code for the service it talks to, so the library and the interface agree.
  • A practice environment with live prices and fake money, reached by changing one setting.
  • Shares, options and crypto in one library, with live price streaming included.
Watch for
  • Tied to one broker, so code written against it does not move elsewhere.
  • The practice environment ignores the effect of your own order on the price.
  • The free data tier is limited, which quietly flatters any test built on it.
Similar repositories
  • ccxt/ccxt

    MIT, covered in Edition 45; one interface in front of more than a hundred crypto exchanges, which is the opposite trade-off: many venues, crypto only, and no single company behind it.

    Track this in Scout
  • ranaroussi/quantstats

    Apache-2.0, covered in Edition 4; turns a record of returns into risk figures and a report, which is what to reach for once a strategy has actually run.

    Track this in Scout
Install
python3 -m venv venv
source venv/bin/activate
pip install alpaca-py
Screenshots
alpacahq/alpaca-py: GitHub preview cardalpacahq/alpaca-py: Screenshot 1
libvips: resizing without the memory. Converts and resizes images in small strips.

11.8k stars · LGPL-2.1-or-later · v8.18.7 (2026-09-26) · Track this in Scout · Share this tool

Resizes and converts images several times faster and with far less memory than the usual tool.

▶Repo detailsthe review · specs · pros & cons · install

What it does

It processes images as a pipeline: operations are chained together and the picture flows through them in strips, so memory use stays small and several processor cores are used at once. It reads and writes the common formats, including JPEG, PNG, WebP, AVIF, TIFF, HEIC, PDF and SVG, through whichever support libraries are installed. It ships two command-line programs, vips for general operations and vipsthumbnail for the specific job of making smaller copies well, including the colour handling and sharpening that step needs. It is also a library with bindings for Python, Ruby, PHP, Node, Go and C++, which is how most people meet it. On a large image it typically uses a small fraction of the memory the obvious alternative needs. It is not a complete image toolbox: the long tail of unusual formats and effects is thinner than the better-known tool's, and there is no interactive editor.

Why it matters

Who it suits. Anyone making smaller copies of images at scale, inside a website or a batch job, where memory and time cost money. It also suits anyone whose image processing has fallen over on a large file, because that is usually a memory problem and this is the usual cure. Skip it for one-off edits by hand, and skip it if the work needs some obscure format or effect, because the general-purpose tool has more of those.

Verdict. Two minutes, and one of the easiest wins in this edition. It is LGPL-2.1 or later, which means it can be used inside other software freely, with conditions if the library itself is modified. It is plainly alive: version 8.18.7 is the newest release and code was pushed on 20 October 2026. The honest comparison is with ImageMagick/ImageMagick, covered in Edition 59. That one does more things and is in every package list; this one does the common things far faster and in far less memory. For a website that makes thumbnails, this is the better choice, and most people reach it through lovell/sharp, the Node library built on top of it. The one thing to watch out for is format support: the formats available depend on which support libraries were present when it was built, so a package from a distribution may quietly lack AVIF or HEIC.

Stars11.8k
LicenceLGPL-2.1-or-later
Latestv8.18.7 (2026-09-26)
Good
  • Small, steady memory use, which is what stops batch jobs from falling over.
  • vipsthumbnail does the resize job properly, including the parts people forget.
  • Bindings for most languages, so the same engine works wherever the code is.
Watch for
  • Fewer unusual formats and effects than the general-purpose alternative.
  • Which formats work depends on how the package was built, which is easy to miss.
  • No interactive editor, and the command options take some reading.
Similar repositories
  • ImageMagick/ImageMagick

    Its own ImageMagick License, covered in Edition 59; handles more than two hundred formats and far more effects, and is the right tool for odd jobs, but uses much more memory and time on ordinary resizing.

    Track this in Scout
  • lovell/sharp

    Apache-2.0, the Node library built on this engine, which is how most websites use it; it is a wrapper rather than an alternative and covers fewer operations.

    Track this in Scout
Install
sudo apt install libvips-tools
Screenshots
libvips/libvips: GitHub preview card
DocuSeal: signing you run yourself. Collects signatures and records who signed.

18.8k stars · AGPL-3.0 with added terms · 3.3.3 (2026-10-19) · Track this in Scout · Share this tool

Document signing you run yourself, with a record of who signed and when.

▶Repo detailsthe review · specs · pros & cons · install

What it does

It turns a PDF into a form by letting you place fields on it: signature, initials, text, date, number, checkbox, file upload and more. A document with fields becomes a template that can be reused and sent to many people. Signers get a link, fill in their fields in the browser, and the completed PDF is produced with the fields filled and an audit record attached. Several signers can be ordered, so one person signs after another. It handles notification emails, reminders and a verifiable record of each completion, and it offers an interface for other software to create and send documents. There is an embedding mode so the signing step can appear inside another website. It is not a legal service: it produces signed documents and an audit trail, and whether that satisfies a particular country's rules is a question for a lawyer, not for software. This report is not a lawyer either.

Why it matters

Who it suits. Anyone sending more than a handful of documents for signature a month, where a per-signature bill has started to sting, and who would rather hold the signed documents themselves. It also suits anyone who needs signing inside their own website rather than on somebody else's domain. Skip it if the volume is two contracts a year, because running the software costs more attention than the bill it replaces.

Verdict. Worth half an hour, and the licence is the part to read first. It is AGPL-3.0 with additional terms under section 7(b), which in practice means the branding and attribution conditions have to be respected; running it unchanged for one organisation's own documents is exactly what it is for, and building a product on top of it needs the terms read properly. The software itself is current: version 3.3.3 was released on 19 October 2026 and code was pushed the same day. One practical warning. Signed documents are the kind of thing that must still exist in seven years, so the backup of the data folder is not optional, and it is the first thing to set up rather than the last. The nearest alternatives are both AGPL-3.0 and both good: documenso/documenso is more polished and aimed at teams, and OpenSignLabs/OpenSign is closer in spirit and a little rougher.

Stars18.8k
LicenceAGPL-3.0 with added terms
Latest3.3.3 (2026-10-19)
Good
  • A full signing flow, including reusable templates, ordered signers and reminders.
  • An embedding mode, so the signing step can live inside another website.
  • Replaces a per-signature bill entirely, and the signed documents stay in one place.
Watch for
  • AGPL-3.0 with added terms, which needs reading before building anything on top of it.
  • The signed documents have to be backed up properly, and that is now somebody's job.
  • Whether a signature is legally sufficient is a question about law, not about this software.
Similar repositories
  • documenso/documenso

    AGPL-3.0, the same job with a more polished interface and more attention to teams and permissions; it is heavier to run and its hosted service is the company's focus.

    Track this in Scout
  • OpenSignLabs/OpenSign

    AGPL-3.0, the same job again with templates and audit trails, a little rougher in places, and worth comparing because the three differ mostly in interface rather than in capability.

    Track this in Scout
Install
docker run --name docuseal \
  -p 3000:3000 \
  -v "$(pwd)/docuseal:/data" \
  docusealco/docuseal
Screenshots
docusealco/docuseal: GitHub preview carddocusealco/docuseal: Screenshot 1
Basic Memory: notes an assistant keeps. Stores an assistant's memory as plain text files.

4.3k stars · AGPL-3.0 · v0.24.1 (2026-10-23) · Track this in Scout · Share this tool

Gives an AI assistant a memory that is stored as plain text files you can read.

▶Repo detailsthe review · specs · pros & cons · install

What it does

It runs as a small local service and speaks the Model Context Protocol, which is a standard way for an assistant to use outside tools. Through it, the assistant can write notes and read them back later. Those notes are Markdown files — plain text with simple marks for headings and links — in a folder you pick, and the links between them form a graph the assistant can follow. The same files can be edited by hand, and edits made by hand are picked up. It indexes the folder into a local database so searches are fast, and it supports several separate projects. Version 0.24.1 was published on 23 October 2026. It does not host anything and does not call an AI model itself: it is the memory, and the assistant is whatever is connected to it.

Why it matters

Who it suits. Anyone who has an ongoing project and keeps re-explaining it to an assistant at the start of every conversation. The plain-text storage is the reason to choose this over the alternatives: the memory can be inspected, corrected and committed like any other file. Skip it if the assistant in use cannot connect to outside tools, and skip it if the conversations are one-off questions with no shared context.

Verdict. Worth twenty minutes if the same project comes up repeatedly, and the design decision is the whole appeal. Keeping memory as files you can read means you can see what was remembered and delete what was wrong, which is not true of the hosted alternatives. It is current — version 0.24.1 was published the day before this edition — and it is AGPL-3.0, which is worth noting if the plan is to embed it in something else. Two warnings. The quality of the memory depends on the assistant deciding to write useful notes, so expect to prune the folder by hand at first. And an AGPL-3.0 licence on a local tool is harmless for personal use and a real question for a product. The better-known alternatives are hosted-first: mem0ai/mem0 is far more widely used and stores memory in a database rather than in files, and topoteretes/cognee builds a knowledge graph from documents and code as well as conversations.

Stars4.3k
LicenceAGPL-3.0
Latestv0.24.1 (2026-10-23)
Good
  • The memory is plain text in a folder, so it can be read, corrected and version-controlled.
  • Edits made by hand are picked up, so the notes are genuinely two-way.
  • Runs locally and calls no model itself, so nothing is sent anywhere by this tool.
Watch for
  • The notes are only as good as what the assistant chooses to write, so pruning is needed.
  • AGPL-3.0, which matters if the intention is to build a product around it.
  • Needs an assistant that can connect to outside tools, which not all can.
Similar repositories
  • mem0ai/mem0

    Apache-2.0, the same idea with far more users and a hosted option, storing memory in a database rather than in readable files; it is the safer choice for a product and the worse one for inspecting what was remembered.

    Track this in Scout
  • topoteretes/cognee

    Apache-2.0, builds a knowledge graph from documents, code and conversations rather than from notes alone, which is more capable and more work to set up.

    Track this in Scout
Install
python3 -m venv venv
source venv/bin/activate
pip install basic-memory
basic-memory --help
Screenshots
basicmachines-co/basic-memory: GitHub preview card
entr: rerun a command on save. Watches the files you name and reruns.

5.7k stars · ISC-style, not named in the sidebar · no GitHub releases; the author's own page offers version 5.9 · Track this in Scout · Share this tool

Runs a command again every time one of the files you named is saved.

▶Repo detailsthe review · specs · pros & cons · install

What it does

It reads a list of file names on its input, then waits. When one of those files is saved, it runs the command it was given. -c clears the screen first, so only the newest run is on display, and -p waits for the first change instead of running straight away. -r restarts a command that keeps running, rather than starting a second copy, which is how a development server is reloaded. -s runs the command through a shell, so pipes and && work, and -d exits when a new file appears in a watched folder. It hears about changes from the operating system instead of checking the files over and over, so it costs almost nothing while it waits. Two settings cover the places where that is imperfect: ENTR_INOTIFY_WORKAROUND on Windows Subsystem for Linux and Docker for Mac, and ENTR_FOLLOW_SYMLINK where a watched name points at another file. It watches files, not folders: a file created after it started is not watched until the list is built again, which is what -d is for.

Why it matters

Who it suits. Anyone who edits text and then runs a command to see the result, which covers most people who write code, documentation or stylesheets. It is most useful on a project with no watch mode of its own, because it adds one in a single line and needs no configuration file. It also suits anyone who wants something else to decide which files are watched, since the list is piped in and any tool that lists files can produce it. Skip it if the tools already in use rebuild on save, because a second watcher only causes confusion.

Verdict. Still the best two minutes in this edition, and it was checked again today. It qualifies easily: the repository is not archived, and code was pushed on 16 October 2026, eight days before this edition. It has more than 5,700 stars and has never published a release on GitHub at all, which is why it appears in today's headline. It has never needed one. The program is a small amount of C that does one thing, and the author's own page offers version 5.9 as a download with no date beside it, so the code date is what settles currency here rather than the download page. The second gap on the same repository is the licence, and it is the fact worth repeating. The About sidebar names no licence; the licence file was read in full again today and holds the standard ISC licence, granting use, copying, modification and distribution for any purpose, with no added conditions. That is as permissive as licences get. One practical limit has not changed: because the file list is supplied rather than discovered, a file created later is invisible until the list is rebuilt, and the usual fix is a loop with -d. Both alternatives find files themselves. watchexec/watchexec from Edition 41 has 7.2k stars, watches whole folders and reads .gitignore files; cortesi/modd is smaller at about 3,000 stars and keeps several background programs alive from one short configuration file.

Stars5.7k
LicenceISC-style, not named in the sidebar
Latestno GitHub releases; the author's own page offers version 5.9
Good
  • Small, in every package list, and nothing to configure before the first use.
  • The file list arrives from another command, so anything that lists files can choose what is watched.
  • -r restarts a program that keeps running, which turns it into a reload tool.
Watch for
  • It watches named files, not folders, so a file created later needs the list rebuilt.
  • No releases on GitHub and no licence in the About sidebar, so both have to be looked up elsewhere.
  • The options are terse single letters, and the manual page is the only real documentation.
Similar repositories
  • watchexec/watchexec

    Apache-2.0, covered in Edition 41; watches whole folders and respects version-control ignore rules, so new files are picked up without a loop, at the cost of being a larger program.

    Track this in Scout
  • cortesi/modd

    MIT, runs commands on change and also keeps long-running processes alive and restarts them, driven by a small configuration file rather than by a piped file list.

    Track this in Scout
Install
sudo apt install entr
Screenshots
eradman/entr: GitHub preview card
CommaFeed: a feed reader you host. Collects new articles from the sites you follow.

3.6k stars · Apache-2.0 · 7.4.1 (2026-10-22) · Track this in Scout · Share this tool

A feed reader you run yourself, which collects new articles from the sites you follow.

▶Repo detailsthe review · specs · pros & cons · install

What it does

It fetches RSS and Atom feeds, which are the plain lists of new articles that most news sites, blogs and project pages publish. It keeps what it has fetched and shows it in one of four layouts, with light and dark themes and a design that works on a phone. Keyboard shortcuts cover the reading loop, and feeds can be grouped into categories. It imports and exports the standard OPML file, so a list of feeds can be moved in from another reader and out again later. It speaks both the Fever and Google Reader interfaces, which is what lets existing phone apps connect to it instead of needing one of its own. Rules can mark items read automatically, and push notifications can announce new ones. It stores data in H2, PostgreSQL, MySQL or MariaDB. It is not a read-it-later service and not a newsletter inbox: it reads feeds, and a site with no feed is invisible to it.

Why it matters

Who it suits. Anyone who follows a list of sites and is tired of an algorithm choosing the order. The Google Reader and Fever interfaces are the practical reason to pick this one: the phone app you already like will probably connect to it. Skip it if the sites followed are all on social platforms with no feeds, and skip it if the appeal of a reader is that somebody else keeps it running.

Verdict. Worth ten minutes, and the lightest install of the self-hosted readers. It is Apache-2.0, which is unusually permissive for software of this kind, and it supports four databases including the built-in file one, so a first try needs nothing but the container. The date on this one could not be pinned exactly and that is worth stating plainly: the newest release is 7.4.1, shown as "22 Oct" with no year, and the code-date mirror refused this repository today. Either reading of that date — two days ago or twelve months ago — is well inside the eighteen months we require, so the project qualifies either way, but the exact day is unsettled. The two better-known alternatives are both heavier: FreshRSS/FreshRSS is AGPL-3.0, has more extensions and more users, and wants PHP and a web server; miniflux/v2 is Apache-2.0, deliberately minimal, a single program, and requires PostgreSQL.

Stars3.6k
LicenceApache-2.0
Latest7.4.1 (2026-10-22)
Good
  • Speaks the Google Reader and Fever interfaces, so existing phone apps connect to it.
  • Runs on a built-in file database, so a first trial needs nothing else installed.
  • Apache-2.0, with no paid tier held back and no feature carved out.
Watch for
  • The newest release date cannot be pinned to a year from the page, only to a window.
  • A site without a feed cannot be followed, and fewer sites publish one every year.
  • Fewer extensions and a smaller community than the best-known alternative.
Similar repositories
  • FreshRSS/FreshRSS

    AGPL-3.0, the same job with many more extensions and a larger community, and it wants PHP, a web server and a database rather than one container.

    Track this in Scout
  • miniflux/v2

    Apache-2.0, a deliberately minimal reader that is one small program with no JavaScript in the reading view; it requires PostgreSQL and offers far fewer options on purpose.

    Track this in Scout
Install
docker run --name commafeed \
  -p 8082:8082 \
  -v commafeed-data:/commafeed/data \
  athou/commafeed:latest
Screenshots
Athou/commafeed: GitHub preview cardAthou/commafeed: Screenshot 1

Checked, and left out

Nothing to show for this edition. Recording the repositories that were checked and rejected began with Edition No. 4, and every edition from there on has the list.

Share this edition
← PreviousNo. 59Next →
Coming tomorrow

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.