Releases: Gram21/SaiLoR
Release list
SaiLoR v1.3.0
SaiLoR v1.3.0
Since v1.2.1.
⚠️ The web/browser build is discontinued
SaiLoR is now desktop (Electron) only. Browser file-system limitations — the File System Access
API's reach and reliability across browsers — made too many features (multi-file saving, git)
impossible to support properly there. Opening the web build now shows a notice pointing you at the
desktop app, instead of any file-opening UI.
If you were using SaiLoR in a browser or via the Docker/static-hosting deployment: switch to the
desktop app (see the releases page). Your existing
project JSON files open in the desktop app unchanged. Static hosting and the production Docker image
are discontinued along with it, since they only ever served the browser build.
Project storage split into project.json + annotations/ — automatic migration
A project used to be one big JSON file, with every reviewer's and every consolidated answer inline.
That made two reviewers working on different papers — or different reviewer slots of the same
paper — collide in git constantly: any two saves touched the same file, so ordinary diffing and
merging fought over unrelated changes.
Projects are now split on disk:
my-review/
├── project.json # schema, protocol, screening config, paper metadata — no answers
└── annotations/
└── <paperId>/
├── consolidated.json the single/consolidated result for this paper
└── reviewer-<n>.json each reviewer's own tree (multi-reviewer projects)
Files are created only once a reviewer actually writes something for that paper, and removed again
if cleared back to empty. A screening project uses screening-consolidated.json /
screening-<n>.json instead, so the two kinds of per-paper decision are distinguishable at a glance.
What this means for you:
- Opening an old-format project works completely unchanged — the app still reads the old
single-file shape. The next time it's saved, it's rewritten into the new split layout
automatically. No action needed, no explicit "migrate" step. - If you share a project via git with other reviewers, everyone should be on v1.3.0+ before
anyone saves into the new layout — an older SaiLoR version won't know how to read the split
annotations/folder back into a project. Once everyone has upgraded, the merge-conflict problem
this exists to fix goes away on its own. - Papers in the saved file are now ordered by a plain string comparison on their
id(not their
title) — deterministic regardless of locale, and no longer reshuffled if someone edits a title.
Git: switch branches, including creating new ones
The Git panel's header is now a branch switcher. Picking a different branch with nothing uncommitted
just checks it out. With uncommitted changes, it asks: commit first (cancels the switch for now),
carry the changes into the new branch (merging field by field — the same engine Pull already used),
or cancel. "+ New branch…" creates a branch at the current commit and switches to it right away;
since a fresh branch shares its parent's commit, carrying changes into it can never itself conflict.
Full commit log: v1.2.1...v1.3.0
SaiLoR v1.2.1
Bugfixes:
- Fixes bug with crashing app when selecting reviewer one at first start
- Fix path resolution when the PDF lies outside the current folder. There are still some security issues and the browser does not fully allow this, but in the Electron version, this should work.
SaiLoR v1.2.0
Updated Consolidation view and improved handling for multiple reviewers.
License
SaiLoR is free software under the GNU General Public License v3.0.
SaiLoR v1.1.2
Fix issue in Consolidation view: Disagreements in boolean values were completely ignored.
License
SaiLoR is free software under the GNU General Public License v3.0.
SaiLoR v1.1.1
Accessibility and usability improvements
License
SaiLoR is free software under the GNU General Public License v3.0.
SaiLoR v1.1.0
Field descriptions with a link in them can now be read properly: right-click
a field name to open a small, dismissable popover with selectable text and
clickable links, rather than relying on the hover tooltip. Also improves the
user guide and fixes a broken wiki link.
See the commit history for the full list of changes.
License
SaiLoR is free software under the GNU General Public License v3.0.
SaiLoR v1.0.2
Minor change: Showing logo on startup screen.
SaiLoR v1.0.1
A stabilization release. Fixes a range of data-loss, data-corruption, and
security issues found during an extensive post-1.0 review of annotation,
multi-reviewer consolidation, and git merge handling, and hardens the app
against malicious project files and PDFs.
See the commit history for the full list of fixes.
SaiLoR v1.0.0
The first stable release. SaiLoR helps reviewers run Systematic Literature Reviews (SLR): a single JSON project file holds both the annotation schema and the papers to review, and the app renders each paper's PDF next to a form generated from that schema. It ships as a fully local desktop app (Electron) and as a static web app you can host anywhere — same codebase, same features.
Highlights
- Annotation — a nested, cardinality-controlled schema (text, number, year, yes/no, repeatable groups); grab a value straight from selected PDF text; search papers by title, author, DOI, abstract, filename, or your own recorded answers; a completeness dot tracks progress per paper; Validate checks every paper against the schema before you call it done.
- Screening — a fast include/exclude pass with configurable, keyboard-driven exclusion reasons, a PRISMA-style summary, and duplicate detection (exact and fuzzy) when importing references or PDFs. New from screening… carries included/undecided papers straight into an annotation project, or into a second screening pass.
- Multiple independent reviewers — each reviewer annotates in isolation; Consolidation lines up repeatable groups, auto-fills unanimous answers, and reports Cohen's κ, Fleiss' κ, and Krippendorff's α, plus a dedicated Disagreements view.
- Git support (desktop only) — clone a project repo from the app, review local changes field by field before committing, and pull with a three-way field-level merge of the project JSON (not a line-based text merge), including a reviewer-seat identity check to catch two people accidentally claiming the same seat.
- Import & interoperability — pull in papers from BibTeX, RIS, or CSL-JSON reference exports; a durable
protocolfield for the review's own research questions, search strings, and criteria; aprovenancerecord when a project was built from a screening pass. - Deployment — build a static SPA for any static host, run it via the included Docker/nginx setup, or package native installers (macOS, Windows, Linux) for the desktop app.
See the user guide for a full walkthrough with screenshots, and the wiki for developer documentation.
Installing
Grab the installer for your platform from the assets below, or see the README for setup instructions (including the one-time step to open an unsigned build on macOS/Windows).
License
SaiLoR is free software under the GNU General Public License v3.0.
SaiLoR v0.6.1
A fix on top of v0.6.0's multi-reviewer support.
Fixed
annotationsand each reviewer's tree are now written in full — every field present, at
its schema minimum, holdingnull/falsewhere nobody has answered — instead of an empty{}
for a fresh paper, or a missing key for a reviewer who hasn't started yet. That's what makes a
reviewer's first real answer change a value on a line that was already there, rather than add
a brand-new key: the shape agit diffstays readable through, and agit mergeof two
reviewers' independently-annotated copies of the same file actually survives.- A file saved before this fix — or hand-edited — is corrected automatically the next time
it's opened, and saved back if there's somewhere safe to save it. Nothing to do by hand.
Licensed under GPL-3.0.