Skip to content

Releases: prdb-net/prdb-fab

0.22.0

Choose a tag to compare

@prdb-net prdb-net released this 14 Sep 14:46
5841394

prdb shows a second kind of picture beside its own: sprite sheets its users made,
each cut from one specific file. Both directions of that arrive here. A Preview
now shows them under the Video's own gallery, as a strip you can scrub through
with a finger or the arrow keys; and because each one carries the hash of the
file it was made from, a downloaded file prdb's own lookup could not name is now
identified from one — at no request cost and through the same gate you
configured.

The other direction is new to this tool: it now makes sheets of its own and
sends them back. A file that has been filed and identified gets a grid of tiles
and the WebVTT that times them, generated in the background and submitted one a
minute. It is the only thing this tool sends that strangers see, so nothing is
generated or sent until a page has said exactly what leaves — and the library
you already hold is published only if you ask for it.

Added

  • The pictures other people made. prdb publishes a second kind of picture
    beside its own: ones its users submitted, each made from one specific file.
    A Preview now shows them under the Video's own gallery, in their own section,
    because they are a picture of a file rather than of the Video.
  • A scrubbing strip where somebody made one. Where a submitted preview is a
    sprite sheet with times, the Preview draws it as what it is — one tile at a
    time, with a slider that works with a finger, a mouse or the arrow keys, and
    the second each tile belongs to. Nothing plays and nothing streams: it is a
    picture and a list of times.
  • They are fetched as you scroll to them, like every other picture in the
    sheet, and asked for from a small reserved share of the request budget — so
    opening a Video and moving straight on costs nothing.
  • A picture a moderator removes stops being shown. These are moderated, and
    removal and restoration both reach this tool within the hour. A withdrawn
    preview disappears from a sheet that is already open, and a restored one
    comes back.
  • Some files prdb cannot name are now identified anyway. A submitted
    preview carries the hash of the file it was made from, so when prdb publishes
    one under a Video it is saying, in a moderated way, that a file with that
    hash is that Video. A downloaded file prdb's own lookup could not name is now
    matched against those — and where exactly one Video is named, it is
    identified and filed like any other, at a Strong confidence and through the
    same gate you configured. It costs no request, so a file that has sat in the
    review queue for a week is picked up the moment you open its Video's Preview.
  • Where the evidence disagrees with itself, or names something prdb did not
    list, nothing is chosen and the file stays in the review queue with the
    reason spelled out — and the pictures made from that exact file are shown
    beside it.
  • A withdrawal after the fact never moves a filed file. If prdb stops
    showing the preview a file's Video was named from, nothing is renamed,
    deleted or reassigned: the file is flagged so you can look at it, and the
    flag goes away by itself if the preview comes back.
  • A third Reporting switch: publishing previews back to prdb. prdb shows
    pictures its users made from their own files, and this installation holds
    files and can make them. The switch is on, it is independent of the other
    two, and it is the only thing this tool sends that strangers see.
  • Nothing is published before you have read what it publishes. Setting up
    gains a last step saying what leaves and where it goes; an installation that
    was already running is told on Settings → Reporting, and until it has been,
    nothing is generated and nothing is sent. Status says so while it waits.
    Turning the switch off stops future publications — prdb has no retraction for
    one it has accepted, and neither does this.
  • Only files filed from now on, and only ones prdb identified. What the library
    already holds is left alone.
  • The sheets themselves are now made. Once a file has been filed and the
    channel has been explained, a scrubbing sheet for it is generated in the
    background — a grid of 320x180 tiles cut from the runtime already measured,
    ten seconds a tile between two dozen and four hundred of them, with the
    WebVTT that says which tile is when. One file at a time, never while
    collecting or filing, and never inside a request.
  • The tool checks its own output the way it checks somebody else's: the sheet
    has to be the grid that was asked for and the cues have to read back against
    it, or the pair is discarded rather than kept.
  • Nothing is decoded twice over. A file whose bytes changed since it was filed,
    one that has left the library, and one prdb already shows a sheet of are each
    passed over with the reason recorded.
  • And they are now sent. One sheet per minute leaves for prdb, in the
    background, from a share of the request budget of its own — so a publication
    backlog never holds up identifying a file that has just arrived. What leaves
    is the picture, its list of times, the hash of the file it was made from and
    the Video it is filed under, and nothing else: not the file, not its name,
    not the path it sits at.
  • prdb's answer decides what the tool says. Accepted means submitted and
    never published — the picture is in moderation, and the tool only says it
    is public once prdb shows it back. A refusal is the end of it: the picture is
    discarded and nothing tries again, because a second identical upload does not
    answer whatever a moderator objected to.
  • An upload nobody can account for is left alone. If a request leaves and
    no answer comes back — a timeout, a dropped connection, a container that
    stopped mid-upload — the tool cannot find out whether it arrived: prdb
    publishes no way to ask about a picture still in moderation. So it says so on
    Status, keeps the picture, and does not send it again. Sending it twice
    would put a duplicate in a public gallery that nobody can take down, and the
    cost of waiting is a line on a page.
  • Where prdb later shows a picture made from that same file, the doubt settles
    itself and the upload is recorded as having arrived. Nothing waits on it.
  • Changing your prdb key drops whatever was waiting to be sent rather than
    sending one account's queue under another's. What was already sent is kept,
    so nothing is published twice.
  • A page that says where every picture stands. Settings → Reporting →
    Published previews counts what is waiting to be made, what is queued, what
    prdb accepted and — separately — what prdb is actually showing. Submitted and
    published are different words on that page and they stay different: an
    accepted submission is in moderation until a read endpoint hands the picture
    back.
  • The library you already hold can now be published, by asking. The page
    says how many files it would be and what publishing them sends, and nothing
    starts until you say so — not upgrading, not turning the switch on, and not
    restoring a backup. It then works through them one at a time in the
    background, and a file you download while it runs still gets its own picture
    submitted first.
  • The request can be paused and resumed, and cancelled. Cancelling gives up
    what has not been sent, pictures included, and takes back nothing that has —
    prdb has no retraction. Asking again later offers only the files the first
    request did not reach, so nothing is ever published twice.
  • An upload nobody could account for is now yours to decide. Each one is
    listed with what happened to it and two buttons: send it again, which
    publishes it if it never arrived and duplicates it if it did, or leave it,
    which discards the picture and never offers the file again. The tool still
    does neither on its own.

Changed

  • The backup file's format is now 4. A file written by an older build still
    restores: it arrives with the new channel switched on and not yet explained,
    which is the same position an installation that upgraded is in, and with no
    record of anything published — which is the truth about it, because no build
    that wrote an older file could send one.
  • The backup file now carries which previews have been submitted to prdb. It
    has to: a submitted picture cannot be looked up while it is in moderation, so
    a restore without that record would publish the whole library a second time.
    The pictures themselves are not in the file — they are made again from the
    files.

0.21.0

Choose a tag to compare

@prdb-net prdb-net released this 13 Sep 16:33
a49a496

A picture on a browse grid is now something you can open. Click one and the
Video appears over the list you were in — the facts, the actors, the same
actions the card offers, and every picture prdb publishes for it rather than the
one tile you were looking at. The list stays where it was underneath, four
gestures close it, and the arrow keys walk to the next Video without closing
anything.

Added

  • A Preview on every Catalogue grid. The artwork and the title of a card on
    What's New, Search, Sites, Actors and Wanted open the Video in place: a panel
    against the right-hand side on a wide window, the whole screen on a phone.
    Click outside it, press Esc, press the close control or press the browser's
    back button to get back to exactly where you were — the list is never
    reloaded, re-paged or scrolled away. It is an address, so a Video you have
    open can be linked to and reloaded.
  • The rest of a Video's pictures. prdb usually publishes several images per
    Video and the grids have only ever shown one. The Preview shows them all: the
    familiar one large, the others as a strip underneath, with a click, the arrow
    keys or a swipe to move between them. They are fetched as you scroll to them
    rather than all at once, so opening a Video and moving straight on costs one
    picture.
  • Actors, the Site and the runtime on the Preview, each a link onward, and
    the card's own Download, Mark Wanted and View Releases exactly as they behave
    on the card.
  • and step through the page while a Preview is open, moving the
    list underneath with them. They stop at the ends of the page rather than
    fetching the next one. With a picture selected the same keys move through the
    pictures instead.
  • A Video with no picture asks prdb once. Around one Video in ten arrives in
    the catalogue before its artwork does. Opening its Preview now asks for it,
    at most once a week per Video, from a small reserved share of the request
    budget — so it fills in while you look rather than whenever the background
    sync gets to it. The panel never waits for it.

Changed

  • The artwork cache may now hold more than one picture per Video. The extra
    ones are fetched only when a Preview asks for them, count against the same
    8 GiB ceiling as the rest of the browsing cache, and are the first thing
    dropped when it is reached. Nothing about the picture your library and your
    grids use has changed, and nothing extra is fetched in the background.
  • A held Video's extra pictures are droppable. Previously every image row of
    a Video in your library sat outside the cache ceiling. Only the one picture
    the library and filing use does now — otherwise a gallery you opened once
    would have been kept forever.

0.20.0

Choose a tag to compare

@prdb-net prdb-net released this 13 Sep 05:49
832a5b7

[0.20.0] - 2026-09-13

The installation is now something you can carry. One file holds everything the
tool cannot fetch again, a fresh container can be started from that file instead
of from nothing, and what the library says it holds is checked against what is
actually on disk.

Settings became one surface rather than a dozen screens built one at a time: a
rail that says what each group currently holds, three Indexer controls that
unattended code has always read and nobody could set, and forms that no longer
show a default as though it were an answer. Browsing is quicker because the
artwork now arrives before you do, and Downloads reads as a list rather than as
a wall of cards.

Added

  • Backup: one portable file, from Settings → Backup. It holds your
    settings, every indexer with its address and key, the SABnzbd connection and
    its path mapping, your prdb key, every automation rule including the disabled
    ones, the review queue, and the local record of what was downloaded, what was
    filed where, which releases are used up and what has already been reported to
    prdb. It does not hold anything that can be fetched again — the indexer cache,
    cached artwork, prdb's catalogue, or the video files.

    The file is readable, credentials included, and that is deliberate. The
    screen says so before it writes one and asks you to acknowledge it. Whatever
    you already back up with encrypts everything it carries under a key you
    manage; a second passphrase underneath that would be one more thing to lose at
    exactly the moment you need the file. Treat the file as you treat the data
    volume and put it somewhere that encrypts it.

  • Restore, as the second way to begin. A container that holds nothing yet
    offers Restore a backup beside set a password — the login credential is
    inside the file, so there is nobody to sign in as yet. It asks once where your
    library and your downloads are mounted in this container, prefilled with
    wherever they were on the machine that wrote the file, and re-roots every
    recorded path. It refuses an installation that already holds an indexer, an
    automation rule or a library entry, and names what it found. A file from a
    newer version of the tool is refused by name rather than half-read.

    Afterwards, outstanding downloads are picked up at SABnzbd by their job id
    where it still knows them; where it does not, the download counts as failed
    and that release stays used up for the video, which is the same rule that has
    always applied.

  • Library verification, and a Verification filter on the Library. A
    background pass checks that each filed file is where the library says it is,
    using the cheap hash rather than reading whole files. Until it has, entries
    count as held, so automation will not decide to fetch them again. Nothing is
    deleted and nothing is re-fetched over a file that is missing
    — a library
    mounted somewhere else looks exactly the same from here — and no report to
    prdb is retracted. What could not be confirmed is a count on Status, linking
    into the Library filtered to it.

  • An Indexer can be ranked, given a budget, disabled and deleted. Enabled,
    Rank and DailyQueryBudget are read by code that runs unattended, and none
    of the three could be set from anywhere; an Indexer could not be removed at
    all. Status said as much, routing "X's daily query budget is spent" to a
    page on which that budget did not appear. They are an act of their own rather
    than fields on the connection check: changing a rank does not spend a query,
    and a broken Indexer can be disabled without the re-check failing and taking
    the change with it. Rank stays a list position — two buttons per row, because
    a reorder that needs a drag cannot be done from a keyboard — and a move
    renumbers the list from zero. Deleting one says what goes and what stays: the
    cache goes, the Downloads stay, and a rule left with no permitted Indexer
    comes back disabled rather than silently inert.

  • Automation's retry budget has a field. It is the third of Automation's
    controls and had none anywhere; it takes 1 to 10.

Changed

  • Settings is one surface. Reaching a setting was the sidebar, then an index
    page whose whole content was links, then the mask — and once inside there was
    no way across to a sibling, while the routes for a single Indexer and a single
    automation rule appeared in no navigation at all, although Status links
    straight into them. Every settings page now has a rail beside it, in the order
    the settings are grouped, each group saying what it currently holds rather
    than what it is for, with the Indexers and the rules nested under their
    groups. A group that Status is pointing a Gap or a Brake at is marked, so the
    surface says where the loop is bleeding before anything is opened. Below
    52rem the rail is that page and a mask replaces it. Leaving a mask now returns
    to where the visit began rather than to the index, wherever it was entered
    from.

    The masks say more than they did. Library names the root it has and opens
    with it, and says what replacing it does — nothing moves and no record is
    rewritten, because a filed path is computed once and recorded. Automation
    reads as rules: one card each, saying in a sentence what it permits, with the
    enable switch on the card. Identification says how its two gates relate,
    and remarks on a pair that inverts the intent while still permitting it.
    Reporting puts each count beside its own switch, where an unread count
    used to show as a confident zero. Account reads as three parts, so the
    button that ends a session no longer sits directly under the one that changes
    the password.

  • Browsing the catalogue no longer waits for the pictures. Clicking Search,
    Sites or What's New took seconds before the grid appeared, and none of it was
    the database: the queries behind those grids answer in tens of milliseconds
    even at fifty thousand videos. What was slow was the artwork. Only images of
    videos you hold were fetched in advance, so a grid of two dozen tiles meant
    two dozen live fetches from prdb's CDN before it was complete, each one
    written to disk and served on the way past.

    The catalogue's artwork is now fetched before you look at it, newest release
    first, along with the front of the Actors list. The cache this fills may take
    eight gigabytes rather than two — two held about a sixth of a catalogue
    this size, which is why most of every grid was still a live fetch. Filling an
    empty cache takes a few hours in the background and costs nothing from your
    prdb budget; nothing waits on it, and a tile that is not there yet is fetched
    the way it always was.

    Your browser may also now keep an artwork image for a year instead of a day.
    The old horizon expired between one visit and the next, so every visit
    re-fetched every tile through the tool. A video that simply has no picture is
    remembered as such for a week; a CDN that did not answer in time is still
    retried after five minutes, which it was not able to tell apart before.

    Two things underneath, for anyone watching disk activity: serving an image no
    longer writes a row every time — two dozen writes per grid, against a database
    with one writer, on disks where a write costs 40 ms — and the write-ahead log
    is now emptied daily instead of growing to tens of megabytes.

  • Downloads reads as a list. Fifty cards that had to be read one at a time
    are one line each: the state as a symbol whose shape says as much as its
    colour, the Site in front of the title — a catalogue title on its own does not
    name a video, and they repeat across sites — the size, and when it was
    submitted.

    Everything a card carried is still there, beside the list rather than inside
    every row: the sentence about the state, the failure message, the release that
    was submitted, SABnzbd's last word on it, the indexer, the origin with its
    rule links, the job id and the stage log. A selected Download has its own
    address, /downloads/<id>, so it can be linked and the back button does what
    it looks like it does; where the window is too narrow for two columns that
    address is a page of its own, with a way back that keeps the filters it was
    reached with. Older /downloads?download=<id> links still arrive.

    The state filter is a strip that carries a count per state, so is anything
    stuck?
    is answered by looking rather than by filtering, requesting and
    reading a total. Choosing an indexer narrows those counts; choosing a state
    does not, since they are what the choice is made from. Stop following moved
    out of the rows into a bar that appears once something is selected and says
    how many it covers.

  • Settings → Backup is no longer a named placeholder. It was listed and
    greyed out; it is now the page above.

Fixed

  • A settings form no longer shows a default as though it were your answer.
    Four screens rendered one while the read behind them was still in flight and
    then jumped when it landed, so somebody answering in that window answered a
    question the tool had not asked. Every form now starts from the value it read.
    With it, five more faults that ran through the whole surface: Save is offered
    only once something has actually changed; a group heading is announced
    together with the choices under it rather than as a stray sentence; a read
    that fails says what failed instead of Error: Failed to fetch; the
    Automation cap no longer puts its stored value back the moment the field is
    cleared, which made it possible to prefix but never to replace; and deleting
    an automation rule asks in the application's own confirmation dialog rather
    than the browser's. A filesystem path quoted back by the SABnzbd step also
    reads as a path again instead of as a numbered row.

  • **Sorting Catalogue Search by title now ignores cas...

Read more

0.19.0

Choose a tag to compare

@prdb-net prdb-net released this 11 Sep 19:23
e458582

[0.19.0] - 2026-09-11

This release settles what order things come back in. The Library leads with what
arrived most recently and can be sorted by hand, the grids that quietly
disagreed with one another no longer do, and the database finally tells its
query planner what is in it. A connection form also stops saying a change was
saved when it was not.

Changed

  • The Library now shows what arrived first, and its order can be changed.
    It was sorted by title with no way to change it. The new default is the most
    recently filed Library Entry, and a Sort by control offers the filing date
    and the title in either direction. The choice is in the address bar, so a
    sorted Library can be linked to.

  • The SABnzbd settings now say what is stored. The category is chosen from
    a list SABnzbd only answers once the address and the key have been checked,
    so until then the page showed two filled fields and nothing about the two
    answers behind them. A line under the form now names the address, the
    category, and both halves of the path mapping, and it moves when a save
    lands — which is what tells a check that passed from a check that was stored.

Fixed

  • A green "saved" sentence no longer outlives the form it was about. Every
    connection form kept its verdict on screen while the fields under it were
    edited, so changing a SABnzbd category, an indexer's name or the Library root
    left a sentence saying the previous submission had been stored — and the
    Library root's button went on reading Stored over a path that was not. The
    verdict is now dropped as soon as anything is typed or chosen, so the only
    thing on screen saying a connection was saved is one that was.

  • The database now tells its query planner what is in it. It had never been
    analysed, so SQLite planned every join from its built-in guesses and the
    Library grid was five times slower than it needed to be. Statistics are now
    written at startup, and a monthly routine renews them — an installation that
    records its statistics while it is nearly empty and then grows into hundreds
    of thousands of rows was measured costing a Site-filtered grid seven times.
    There is nothing to configure.

  • The Library grid is now ordered case-insensitively. It sorted on the raw
    title, so a lower case title sorted after every title starting with a capital
    letter rather than among them.

  • Quality labels are now listed best first everywhere they are shown. They were
    sorted as text, which put 1080p above 720p, buried 2160p in the middle
    and, in a Library Entry, listed the weakest file above the strongest.

  • A Download list shown before a confirmation no longer reorders itself. Two
    Downloads created in the same tick had nothing to separate them, so a Video's
    Download history and the selection in a stop-following confirmation could
    come back in a different order every time they were read.

  • A Library Entry now says how many operations it is showing. It embeds the 50
    most recent ones and has no pager, so an entry with a longer history lost the
    rest of it without saying so.

  • A Site page now lists its Videos newest first. It was the last Video grid
    ordered alphabetically, which made the two identical grids on a Site page and
    an Actor page disagree without either of them saying so.

0.18.0

Choose a tag to compare

@prdb-net prdb-net released this 04 Sep 17:43
d66f578

[0.18.0] - 2026-09-04

This release makes every Actor a complete local profile and lets a person
prepare a bounded recent slice of that Actor's Videos on demand.

Added

  • Actor pages now show the complete profile data published by prdb, including
    aliases, biography, personal facts, career details and external links. Actor
    search also finds aliases.
  • An Actor page can load up to the latest 500 credited Videos by Release Date.
    The governed background fill shows progress, resumes after a restart and
    keeps its current bounded result available in the local Catalogue.

0.17.0

Choose a tag to compare

@prdb-net prdb-net released this 04 Sep 14:49
15f383d

[0.17.0] - 2026-09-04

This release turns the Review Queue into a focused comparison workspace so a
person can verify an uncertain match from the arriving file itself.

Added

  • The Review Queue now presents one Arriving File at a time with an on-demand
    five-frame contact sheet beside the proposed prdb Video artwork and facts.
    File, directory and Release names are kept directly against the proposed
    title so uncertain identifications can be verified quickly without exposing
    the local file for playback.

Changed

  • The Library card action is now labelled "Delete Video" so its destructive
    effect is immediately clear.

0.16.0

Choose a tag to compare

@prdb-net prdb-net released this 04 Sep 13:41
722cafb

[0.16.0] - 2026-09-04

This release makes a held Library Entry actionable from its card and gives a
person a verified, auditable way to remove it.

Added

  • Library cards now offer the complete Release workspace as their primary
    action and an overflow menu for opening the Video in prdb or permanently
    deleting the complete Library Entry. Deletion names and confirms every Video
    File, verifies it has not changed, and records one Operation Log entry per
    removed file. A previously reported Fulfilment is then retracted through the
    ordinary governed Reporting routine.

0.15.2

Choose a tag to compare

@prdb-net prdb-net released this 04 Sep 12:31
218c8a7

[0.15.2] - 2026-09-04

This patch release makes the Library feel like the held half of the same
Catalogue browsing experience as What's New.

Changed

  • Library now uses the same responsive artwork grid, page rhythm and card
    hierarchy as What's New while keeping its title, Site, Actor and Quality
    filters together above the held collection.

0.15.1

Choose a tag to compare

@prdb-net prdb-net released this 04 Sep 09:56
2c649de

[0.15.1] - 2026-09-04

This patch release makes Catalogue cards easier to scan and keeps an active
Download visible from the surfaces where it was started.

Changed

  • Catalogue grids use larger artwork and wider cards across What's New, Search,
    Wanted, Sites and Actors. They show one card per row on phones, preserve the
    primary action label there, and use up to four columns on larger screens.
  • Catalogue pages contain 24 Videos instead of 48, keeping one-column mobile
    browsing to a manageable length.
  • Cards with an active Download now show whether it is downloading or being
    processed and link directly to that Download instead of offering another
    Search.

0.15.0

Choose a tag to compare

@prdb-net prdb-net released this 04 Sep 08:18
e125231

[0.15.0] - 2026-09-04

This release turns the Catalogue's primary Download action into a one-click
choice while keeping exact Release selection available and explicit.

Added

  • Catalogue-card Download buttons now submit directly to SABnzbd using a saved
    preferred highest Quality with lower-Quality fallback. The new Downloads
    setting controls that ceiling, while each card's overflow menu retains the
    complete Release view for inspection and exact selection.

Changed

  • New installations enable both prdb Reporting channels by default. Existing
    installations keep their saved Fulfilment and Confirmed Assignment choices.

Before updating: copy /data. Migrations only go forward, so an older image
cannot use a data directory after 0.15.0 has started against it.