Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

All notable changes to PaperRoute Tracker will be documented here.

## [Unreleased] — v0.8 Insights & Reports
## [0.8.0] - 2026-09-28

v0.8.0-rc.1 is available on the Preview channel. Development is tracked in [PR #80](https://github.com/JUhalt/PaperRoute-Tracker/pull/80) and the [v0.8 milestone](https://github.com/JUhalt/PaperRoute-Tracker/milestone/10); certification in [#85](https://github.com/JUhalt/PaperRoute-Tracker/issues/85).
PaperRoute v0.8.0 — **Route Analytics & Reports** — was released on September 28, 2026 from [PR #80](https://github.com/JUhalt/PaperRoute-Tracker/pull/80) and [PR #90](https://github.com/JUhalt/PaperRoute-Tracker/pull/90), after the v0.8.0-rc.1 Preview. Certification is recorded in [#85](https://github.com/JUhalt/PaperRoute-Tracker/issues/85). v0.8 upgrades the library to Schema 8.

### Added

Expand All @@ -22,6 +22,7 @@ v0.8.0-rc.1 is available on the Preview channel. Development is tracked in [PR #
### Fixed

- A second launch of PaperRoute brings the open window forward instead of opening another window on the same library, where a save in one could overwrite the other ([#77](https://github.com/JUhalt/PaperRoute-Tracker/issues/77)).
- The update prompt and its progress window scale with the display, so **Download & Restart** shows its full label at 125% and 150% (found during v0.8.0-rc.1 certification, [#85](https://github.com/JUhalt/PaperRoute-Tracker/issues/85)). The prompt comes from the installed version, so the fix applies to updates offered from v0.8 onward.

### Storage

Expand Down
35 changes: 33 additions & 2 deletions ManualCertification/V04Demo/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ namespace PaperRoute.V04Demo;
internal static class Program
{
private const string Usage = "PaperRoute workflow manual demo\n\n" +
"Surfaces: vault (default), readiness, packet, packet-new, file, file-new, notes, submission, responses, workflow, board, publications, fill, about, route\n" +
"Surfaces: vault (default), readiness, packet, packet-new, file, file-new, notes, submission, responses, workflow, board, publications, fill, about, route, update, report\n" +
"Options: --minimum, --primary, --empty (vault/readiness/board), --integrity (populated vault only), --dark or --system, --help\n\n" +
"Default surfaces discard manuscript changes when the window closes.\n" +
"workflow and board save only in a new disposable temporary session.\n" +
Expand All @@ -27,7 +27,7 @@ private static void Main(string[] args)
return;
}

var surfaces = new[] { "vault", "readiness", "packet", "packet-new", "file", "file-new", "notes", "submission", "responses", "workflow", "board", "publications", "fill", "about", "route" };
var surfaces = new[] { "vault", "readiness", "packet", "packet-new", "file", "file-new", "notes", "submission", "responses", "workflow", "board", "publications", "fill", "about", "route", "update", "report" };
var positional = args.Where(argument => !argument.StartsWith("--")).ToArray();
var surface = positional.FirstOrDefault()?.ToLowerInvariant() ?? "vault";
var minimum = args.Contains("--minimum", StringComparer.OrdinalIgnoreCase);
Expand Down Expand Up @@ -86,6 +86,37 @@ private static void Main(string[] args)
return;
}

if (surface == "report")
{
// The real Pipeline Report dialog on the fictional board library;
// Save Report writes %TEMP%\PaperRoute-Report-Demo.html.
var sessionRoot = Path.Combine(Path.GetTempPath(),
"PaperRoute-Report-Demo-" + Guid.NewGuid().ToString("N"));
StorageEnvironment.ConfigureIsolatedSessionRoot(sessionRoot);
BoardDemo.CreateSamples(sessionRoot);
var library = new ManuscriptRepository().Load();
var today = DateTime.Today;
using var report = new ReportForm("Pipeline Report", "PaperRoute-Pipeline-demo.html", library,
(chosen, deadlines) => ReportService.PipelineReport(chosen, today, "DEMO Research Group", deadlines));
var saved = Path.Combine(Path.GetTempPath(), "PaperRoute-Report-Demo.html");
report.SavePathPrompt = () => saved;
report.Text += " [DEMO - fictional library]";
ConfigureDisplayEvidence(report, primary);
report.ShowDialog();
return;
}

if (surface == "update")
{
var notes = "# PaperRoute Tracker v0.8.1 (fictional)\n\nA fictional update for display checks; nothing is downloaded.\n\n" +
"## Fixed\n\n- The update prompt scales with the display, so its buttons show their full labels at 125% and 150%.";
using var prompt = new UpdatePromptForm("0.8.0", "0.8.1", "Stable", notes);
prompt.Text += " [DEMO - nothing is downloaded]";
ConfigureDisplayEvidence(prompt, primary);
prompt.ShowDialog();
return;
}

if (surface == "route")
{
using var route = RouteMapDemo.Create();
Expand Down
2 changes: 2 additions & 0 deletions ManuscriptPipeline/Forms/UpdateProgressForm.vb
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ Namespace Forms
Me.StartPosition = FormStartPosition.CenterParent
Me.FormBorderStyle = FormBorderStyle.FixedDialog
Me.ControlBox = False
' Sizes below are at 96 DPI and scale with the display.
Me.AutoScaleDimensions = New SizeF(96.0F, 96.0F)
Me.ClientSize = New Size(500, 165)
Me.Font = New Font("Segoe UI", 10.0F)
Me.AutoScaleMode = AutoScaleMode.Dpi
Expand Down
15 changes: 11 additions & 4 deletions ManuscriptPipeline/Forms/UpdatePromptForm.vb
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,10 @@ Namespace Forms
Me.FormBorderStyle = FormBorderStyle.FixedDialog
Me.MaximizeBox = False
Me.MinimizeBox = False
' Sizes below are at 96 DPI and scale with the display; without the
' base dimensions the text grew at 125% and 150% but the dialog and
' its buttons did not, cutting off "Download & Restart".
Me.AutoScaleDimensions = New SizeF(96.0F, 96.0F)
Me.ClientSize = New Size(620, 500)
Me.Font = New Font("Segoe UI", 10.0F)
Me.AutoScaleMode = AutoScaleMode.Dpi
Expand Down Expand Up @@ -100,15 +104,18 @@ Namespace Forms

Dim btnInstall As New Button With {
.Text = "Download && Restart",
.Width = 165,
.Height = 38,
.AutoSize = True,
.AutoSizeMode = AutoSizeMode.GrowOnly,
.MinimumSize = New Size(165, 38),
.Padding = New Padding(10, 0, 10, 0),
.DialogResult = DialogResult.OK
}

Dim btnLater As New Button With {
.Text = "Later",
.Width = 95,
.Height = 38,
.AutoSize = True,
.AutoSizeMode = AutoSizeMode.GrowOnly,
.MinimumSize = New Size(95, 38),
.DialogResult = DialogResult.Cancel
}

Expand Down
2 changes: 1 addition & 1 deletion ManuscriptPipeline/ManuscriptPipeline.vbproj
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<Version>0.8.0-rc.1</Version>
<Version>0.8.0</Version>
<AssemblyVersion>0.8.0.0</AssemblyVersion>
<FileVersion>0.8.0.0</FileVersion>
<AssemblyName>PaperRouteTracker</AssemblyName>
Expand Down
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ PaperRoute Tracker helps researchers manage manuscripts from idea through submis

## Current status

- **Stable:** [v0.7.0 — Deadline Center](https://github.com/JUhalt/PaperRoute-Tracker/releases/tag/v0.7.0) puts everything that needs action, and when, on one **Deadlines** page, and adds a **publication check** that runs only when you ask. See the [release notes](docs/releases/0.7.0.md) and the [user guide](docs/USER_GUIDE.md).
- **Preview:** [v0.8.0-rc.1 — Route Analytics & Reports](https://github.com/JUhalt/PaperRoute-Tracker/releases/tag/v0.8.0-rc.1) draws each **route map** to scale, colored by who held the manuscript and when, and adds an **Insights** page with your own journal history and turnaround, shareable **reports**, and **work types and tags**. It upgrades the library to Schema 8; read the [release notes](docs/releases/0.8.0-rc.1.md) and [upgrade notes](UPGRADE_NOTES.md) before trying it.
- **Stable:** [v0.8.0 — Route Analytics & Reports](https://github.com/JUhalt/PaperRoute-Tracker/releases/tag/v0.8.0) draws each **route map** to scale, colored by who held the manuscript and when, and adds an **Insights** page with your own journal history and turnaround, shareable **reports**, and **work types and tags**. See the [release notes](docs/releases/0.8.0.md) and the [user guide](docs/USER_GUIDE.md).
- **Next:** [v0.9 — Journal Choice & Guidance](https://github.com/JUhalt/PaperRoute-Tracker/milestone/13): a journal shortlist for each manuscript, an offline guide to choosing a journal, journal facts from open indexes, a teaching example library, and optional AI help, all under one local-first rule.

v0.7 moves the library to Schema 7 and v0.8 to Schema 8. An older version cannot open a library that a newer one has upgraded, so keep a backup made with your current version before upgrading. The [upgrade notes](UPGRADE_NOTES.md) explain the save and compatibility boundaries.
v0.8 moves the library to Schema 8, which v0.7 cannot open, so keep a backup made with v0.7 before upgrading. The [upgrade notes](UPGRADE_NOTES.md) explain the save and compatibility boundaries.

**New to PaperRoute?** Start with the [PaperRoute User Guide](https://github.com/JUhalt/PaperRoute-Tracker/blob/v0.7.0/docs/USER_GUIDE.md) for a Quick Start, feature tour, and task-oriented "How do I...?" reference.
**New to PaperRoute?** Start with the [PaperRoute User Guide](https://github.com/JUhalt/PaperRoute-Tracker/blob/v0.8.0/docs/USER_GUIDE.md) for a Quick Start, feature tour, and task-oriented "How do I...?" reference.

<p align="center">
<img src="docs/images/board.png" width="860" alt="The PaperRoute board: pipeline cards with stage, what needs attention, target journal, and each manuscript's route so far (fictional sample data)">
Expand All @@ -36,13 +36,13 @@ v0.7 moves the library to Schema 7 and v0.8 to Schema 8. An older version cannot
- **Search, stage filtering, and sorting** across the manuscript library.
- **Visual Route View** showing submissions, decisions, revisions, and reroutes in order.
- **Version History** with immutable managed snapshots, linked files, or metadata-only versions associated with submissions, decisions, and revision rounds.
- **Work types and colored tags** (v0.8 Preview) to sort articles from preprints, posters, and chapters, and to group work your own way.
- **Work types and colored tags** to sort articles from preprints, posters, and chapters, and to group work your own way.

<p align="center">
<img src="docs/images/deadlines.png" width="860" alt="The Deadlines page: overdue, today, next 7 days, later, and undated items, each with its own actions (fictional sample data)">
</p>

### Learn from your routes (v0.8 Preview)
### Learn from your routes

- **Route maps** draw a manuscript's whole route to scale, colored by who held it (the journal, you, or production), with every decision and resubmission numbered and explained. They show a student, or a researcher looking back, how much of publishing is waiting and how much is work.
- **Insights** from your own records: median time to a first decision and to acceptance, your history with each journal, and every published route side by side from day 0. Missing dates are left out, never estimated.
Expand Down Expand Up @@ -208,8 +208,8 @@ PaperRoute is an independent, open-source project. Its implementation, local-fir
| **Released** | v0.5 — Reviewer Response Workflow | Response matrix, drafting, and Markdown export |
| **Released** | v0.6 — Workspace | One window, manuscript pages, one save step, calmer design |
| **Released** | v0.7 — Deadline Center | Everything that needs action, and when; the publication check |
| **Preview** | [v0.8 — Route Analytics & Reports](https://github.com/JUhalt/PaperRoute-Tracker/milestone/10) | Route maps, your own turnaround data, reports, types and tags |
| | [v0.9 — Journal Choice & Guidance](https://github.com/JUhalt/PaperRoute-Tracker/milestone/13) | Choosing a journal, journal facts, a teaching example, optional AI help |
| **Released** | v0.8 — Route Analytics & Reports | Route maps, your own turnaround data, reports, types and tags |
| **Now** | [v0.9 — Journal Choice & Guidance](https://github.com/JUhalt/PaperRoute-Tracker/milestone/13) | Choosing a journal, journal facts, a teaching example, optional AI help |
| | [v0.9.1 — 1.0 Hardening](https://github.com/JUhalt/PaperRoute-Tracker/milestone/11) | Onboarding, accessibility, recovery, certification |
| **Goal** | [v1.0 — Trusted Research Workflow](https://github.com/JUhalt/PaperRoute-Tracker/milestone/12) | "I trust this application with my research workflow." |

Expand Down
11 changes: 6 additions & 5 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ Targets are directional rather than promises. Data integrity, migrations, backup
| **v0.5** | Reviewer Response Workflow ✅ | What did the journal ask me to change, and how am I responding? |
| **v0.6** | Workspace UI ✅ | Can I find and act on everything from one calm, uncluttered workspace? |
| **v0.7** | Deadline Center ✅ | What requires action, and when? |
| **v0.8** | **Route Analytics & Reports — Preview** | What does this publication journey show me—and how can I communicate it? |
| **v0.9** | Journal Choice & Guidance | Where should this manuscript go, what will that journal ask of me, and how does someone new learn the route? |
| **v0.8** | Route Analytics & Reports ✅ | What does this publication journey show me—and how can I communicate it? |
| **v0.9** | **Journal Choice & Guidance — next** | Where should this manuscript go, what will that journal ask of me, and how does someone new learn the route? |
| **v0.9.1** | 1.0 Hardening | Is the entire workflow polished, resilient, and certifiable? |
| **v1.0** | Trusted Research Workflow | Would I trust this with my real publication pipeline? |

Expand Down Expand Up @@ -306,7 +306,7 @@ PaperRoute v0.7.0 was released on September 28, 2026 from [PR #78](https://githu

---

# v0.8 Route Analytics & Reports
## COMPLETE — v0.8 Route Analytics & Reports

Milestone: **[v0.8.0 — Route Analytics & Reports](https://github.com/JUhalt/PaperRoute-Tracker/milestone/10)**

Expand All @@ -319,7 +319,7 @@ Derive transparent local analytics and print-friendly route reports from the sam
- **[#64 Work types and colored tags](https://github.com/JUhalt/PaperRoute-Tracker/issues/64)** — the dimensions reports, CV exports, and the board can filter and group by. Existing records migrate with an unspecified type rather than an inferred one.
- **[#82 Route map](https://github.com/JUhalt/PaperRoute-Tracker/issues/82)** — each route drawn to scale, colored by who held it (the journal, the author, or production), with every event numbered and explained, and every route side by side on Insights. It shows a student, or a researcher looking back, how much of publishing is waiting and how much is work.

Every slice is complete in [PR #80](https://github.com/JUhalt/PaperRoute-Tracker/pull/80). v0.8.0-rc.1 is the Preview candidate; certification is tracked in [#85](https://github.com/JUhalt/PaperRoute-Tracker/issues/85).
PaperRoute v0.8.0 was released on September 28, 2026 from [PR #80](https://github.com/JUhalt/PaperRoute-Tracker/pull/80) and [PR #90](https://github.com/JUhalt/PaperRoute-Tracker/pull/90), after the v0.8.0-rc.1 Preview. It moved the library to Schema 8 with a marker-only upgrade. Certification (published assets, the live updater from v0.7.0, the installed Schema 8 upgrade, a clean install, and native display checks) is recorded in [#85](https://github.com/JUhalt/PaperRoute-Tracker/issues/85).

---

Expand All @@ -341,8 +341,9 @@ Offline:
Connected, optional, and started by the user:

- **[#86 Online services](https://github.com/JUhalt/PaperRoute-Tracker/issues/86)** — one local-first rule, one settings page, and a **Work offline** switch.
- **[#87 Journal facts from open indexes](https://github.com/JUhalt/PaperRoute-Tracker/issues/87)** — DOAJ (CC0), OpenAlex, and sharing-policy records: publisher, fees, review type, typical turnaround, and links to the journal's aims and scope, author instructions, and editorial board.
- **[#87 Journal facts from open indexes](https://github.com/JUhalt/PaperRoute-Tracker/issues/87)** — DOAJ (CC0), OpenAlex, and sharing-policy records: publisher, fees, review type, typical turnaround, and links to the journal's aims and scope, author instructions, and editorial board; open citation metrics (2-year mean citedness, h-index, i10-index) fetched from OpenAlex, and proprietary ones (Impact Factor, CiteScore, SJR, SNIP) recorded by the researcher with source and year. Never a combined prestige score.
- **[#88 Journals that publish work like yours](https://github.com/JUhalt/PaperRoute-Tracker/issues/88)** — suggestions backed by recently published papers that match keywords you review; never scores or predictions.
- **[#91 Your citations](https://github.com/JUhalt/PaperRoute-Tracker/issues/91)** — the researcher's own citation record from open data, on request: citations, h-index, i10-index, g-index, m-quotient, and field-weighted citation impact per published manuscript, each with its source, date, and definition.
- **[#84 Optional AI assistant](https://github.com/JUhalt/PaperRoute-Tracker/issues/84)** (with [#29](https://github.com/JUhalt/PaperRoute-Tracker/issues/29)) — off by default, with your own key or a local model: decision letters to reviewer comments, author guidelines to readiness checklists, drafting help, and fit summaries grounded in #88's evidence.

---
Expand Down
4 changes: 2 additions & 2 deletions UPGRADE_NOTES.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Use **Settings → Backup Library...** to create a portable backup. In v0.5 and

## Moving from v0.7 to v0.8

PaperRoute v0.8 adds route maps, the Insights page, shareable reports, and work types and tags. **v0.8.0-rc.1 is a Preview; v0.7.0 remains the current Stable release.** v0.8 upgrades the library to **Schema 8**, which adds work types, tags, and tag colors.
PaperRoute v0.8 adds route maps, the Insights page, shareable reports, and work types and tags. **v0.8.0 is the current Stable release.** v0.8 upgrades the library to **Schema 8**, which adds work types, tags, and tag colors.

Before upgrading, create a portable ZIP backup with v0.7 (**Settings → Backup Library...**) and keep it separately.

Expand All @@ -35,7 +35,7 @@ After upgrading:

## Moving from v0.6 to v0.7

PaperRoute v0.7 replaces the Reminders page with **Deadlines** and adds the publication check. **v0.7.0 is the current Stable release.** It upgrades the library to **Schema 7**, which remembers possible publications you have reviewed.
PaperRoute v0.7 replaces the Reminders page with **Deadlines** and adds the publication check. It upgrades the library to **Schema 7**, which remembers possible publications you have reviewed.

Before upgrading, create a portable ZIP backup with v0.6 (**Settings → Backup Library...**) and keep it separately.

Expand Down
Loading