github JFLXCLOUD/NeXroll v2.2.0
NeXroll 2.2.0

4 hours ago

NeXroll 2.2.0 is the stable release of everything tested across the 2.1 and 2.2 betas. A sequence can now react to the film that is starting and be drawn as a flow, NeXroll keeps trailers for the movies you already own, one install drives Plex, Jellyfin and Emby together, and schedules, backups and system health now report what is really happening.

If you are coming from 2.0.5, this is the first stable release since July and everything below is new to you. If you have been on the betas, the section near the end lists what changed after beta.11.

Back up your configuration before updating (Settings > Backup and Restore).

Upgrading

  • Your data carries over. New settings and tables migrate on first start. Existing schedules are repaired where needed without changing what they play, their priority or their history, and custom dashboard layouts are kept.
  • Windows: run the installer over your existing install.
  • Docker: jbrns/nexroll:latest is 2.2.0. If you followed the betas on :beta, switch back to :latest; the beta tag stays on the last prerelease.
  • Jellyfin 12 needs plugin 1.15.0.0; Jellyfin 10.11 stays on 1.14.0.0. Both are attached below. A plugin installed by hand needs a one-time switch to the plugin repository to receive updates, and the Connect page shows the right repository address for your server.
  • Emby plays prerolls only through the NeXroll Intros plugin, which the Connect page can now download for you. If you installed it from NeXroll during the betas, download it again: the betas served an older 1.0.0.0 build, and 2.2.0 serves 1.14.0.0.
  • Genre-based preroll mapping is gone. Its settings left the interface in 1.9.10, and the code still running behind them has now been removed. On Jellyfin and Emby, a genre rule in an Advanced sequence can do the same job.
  • Check your timezone in Settings after the first start. Some installs held two settings rows, which made time-of-day schedules run on UTC. The duplicate is merged on startup.

Sequences that react to what is starting

Turn on Advanced at the top of the Sequence Builder and any block can play when a rule holds, or unless it does, with an Otherwise for when it does not: skip the block, play from a category, or play trailers.

  • Trailers available checks exactly what a trailer block would play, from Upcoming trailers, Library trailers, or the next trailer block in the sequence, so a Coming Soon intro drops out when nothing matching would follow it.
  • Time of day, with optional days, including windows that run past midnight.
  • Genre of the title about to start, with suggestions from your own Jellyfin and Emby libraries.
  • Movie or episode.
  • Stored audio format, on Jellyfin and Emby. Match the default audio track, or any track, against AC-3, E-AC-3, TrueHD, DTS, AAC, FLAC, PCM and others, so a format demo only plays in front of films that carry it. This reads the file's metadata: it cannot see which track a client picks or what a transcode outputs, and it does not distinguish Atmos, DTS:X or THX.

Trailer blocks can also be limited to the age ratings you choose, so a family evening only ever gets G and PG trailers.

Jellyfin and Emby ask NeXroll what to play at the moment playback starts, so every rule is checked live. Plex is handed a list in advance and never says what it is about to play, so genre, movie-or-episode and audio rules play the block's Otherwise there; trailer and time rules work on Plex too. One sequence serves a mixed household without being built twice.

Flow view draws the same sequence as a node canvas from playback starting to the film starting, with IF nodes for conditional blocks. Dragging a node never changes the playback order. Preview shows what each block will do and why, and can preview as Plex, as a chosen genre or as a chosen audio format.

Library Trailers

NeX-Up > Library Trailers keeps trailers for the movies you already own, so a sequence can run them the way a cinema does.

  • Uses trailer files already beside your movies, and never moves or deletes them. The rest can be downloaded from the link Radarr holds.
  • Pick films by hand from a poster wall, or by filters: genres, age ratings, language, years, IMDb and Rotten Tomatoes scores, date added and Radarr tags.
  • Minimum targets keep a mix, such as two G or PG trailers and five horror trailers, inside your download and storage limits, and each sync reports any target it could not meet.
  • A Library trailers block plays them, and on Jellyfin and Emby can match the genre of the film that is starting. The trailer for the film about to play is never picked for it.
  • A dashboard card shows counts, storage and sync status, with a Sync button.

Every server at once

  • Connect Plex, Jellyfin and Emby together. One set of schedules drives them all, and a Plex that is down no longer stops Jellyfin and Emby.
  • Jellyfin 12 has its own plugin build, and both Jellyfin builds have update catalogs.
  • System health actually checks. The dashboard contacts every configured server every 30 seconds, says which one is down and why, and recovers on its own when it comes back.
  • Connecting to Jellyfin or Emby now rejects an API key the server does not accept, instead of saving it and failing silently later.

Schedules

  • Yearly schedules no longer show "Not scheduled" with a valid seasonal range, and the editor uses month and day controls with an explicit All year option.
  • Holidays land on their real next date, picked from lists of what will actually resolve for your country.
  • Every schedule type works out its next run from the same rules playback uses, and paused or outranked schedules stay up to date.
  • The calendar shows what will happen: monthly schedules in week and day views, filler in the gaps, overnight windows on both days they touch, and conflicts and overlap behavior where they fall.
  • Conflicts are counted once, from the list the Conflicts page opens, and the dashboard's conflict counts take you straight there.
  • A dynamic preroll can be your fallback filler.

NeX-Up Generator Studio

One workspace for animated prerolls, with a live preview of exactly what gets rendered.

  • Custom Message and QR Code templates. The QR code can be styled and stays scannable on every theme.
  • Nine bundled typefaces plus your own, custom video backdrops, and a length that can match your soundtrack or a video clip.
  • Coming Soon lists gain theme palettes, animated backdrops, text size, per-role colors and an optional QR code.
  • Both generators can be driven from the External API.

Look and feel

  • Eight themes: Midnight, Daylight, Cinema, Nocturne, Parchment, Terminal, Neon and Carbon.
  • A redesigned dashboard and one consistent layout on every page.
  • Favorites: star any page to keep it in the sidebar. Favorites follow your account across browsers and devices.
  • New branding and a proper app icon set.

Library, Community and backups

  • Backups now carry your settings. Before this, a backup restored on a new machine came back with no media server, no Radarr or Sonarr, and every preference at its default. Restores also keep your NeX-Up, filler and active category choices.
  • Deleting a preroll's file moves it to a 30-day trash, and a preroll you remove stays removed after the next scan.
  • The Library sorts by date added, name or duration.
  • Community Prerolls gains multi-select and bulk download, a filter for AI-generated content, and AI badges that carry into your Library.

Fixes worth knowing about

  • Plex could hang partway through your prerolls. Plex rereads the preroll setting as it goes, and NeXroll could change it mid-playback. NeXroll now waits for playback to finish, and the dashboard says when a change is being held.
  • NeX-Up never deleted trailers, so storage grew without bound. Retention works again.
  • Random blocks now cycle through the whole pool before repeating.
  • Locked out? The sign-in page always shows the password reset route now, including the Docker command.

Issues resolved

  • #36: Jellyfin 12 reported a valid API key as lacking permission, and a generated preroll in a sequence never played on Jellyfin. Both fixed.
  • #38: NeX-Up trailer downloads failed with HTTP 403. The installer and Docker image ship a current yt-dlp.
  • #39: Trailers from the automatic sync stayed pending and never rotated. Fixed, and existing records are repaired on first start. Thanks to @noahphex for tracking it to the line.
  • #40: Yearly schedules showed "Not scheduled". Fixed, and existing Yearly schedules are normalized on upgrade.

Changed since beta.11

  • Age-rating restrictions on trailer blocks, and a choice of trailer pool for availability conditions.
  • Minimum rating and genre targets for Library Trailers.
  • Stored audio-format conditions on Jellyfin and Emby.
  • Live media-server health checks.
  • Yearly, Daily, Weekly and Monthly next-run fixes, with a startup migration for existing schedules.
  • Favorites, dashboard conflict shortcuts, and the Library Trailers card.
  • AI badges in the Library, a sequence canvas that stays in view while you edit, and a Cancel button in the sequence editor.

Documentation

The wiki covers everything above. Start with Advanced Sequences, NeX-Up, Scheduling and Backup and Restore.

Full notes: CHANGELOG.md. Individual beta notes: CHANGELOG-ARCHIVE.md.

Don't miss a new NeXroll release

NewReleases is sending notifications on new releases.