Changelog
Every update since the private beta opened, newest first
Updates install on every site by themselves, except 3.0.0, which a Jira administrator approves once. The version a site runs is shown at the top of the admin page.
3.2.0 · 8 October 2026
- New: every JQL function also answers under a second name that starts with
ledger, such as
ledgerAddedAfterSprintStart(), with the same arguments and the same answers. Jira does not
guarantee which app answers when two apps register the same function name, and only Sprint Ledger registers
the ledger names (When another app uses the same name).
- New: Sprint Ledger checks when it is installed or updated, and again every day, whether Jira calls its own
functions, and the admin page names any function that another app answers on the
site, with the
ledger name to use instead.
- Fixed: an issue that leaves a sprint without Jira writing the change into the issue's history, such as an
issue turned into a subtask of a parent in another sprint, is now recorded as removed from that sprint when it
left. Before, Sprint Ledger kept it in the sprint, and the hourly check found the same difference every
hour.
- Changed: two libraries the app is built with are updated for published security advisories.
3.0.0 · 24 September 2026
- A Jira administrator approves this update once, where the site's apps are managed, because it
adds Sprint Ledger's Marketplace licence and two permissions. Until then the site keeps the version before it,
which goes on working as it did.
- New: the Marketplace licence. Sprint Ledger is free for sites of up to 10 users. A site that installed
during the private beta keeps every feature without a subscription until 31 December 2026.
- Changed: the CSV export names who added or removed an issue as Jira shows that person to you, instead of
the account ID (the permission to read user details).
- Changed: the issue panel shows times in the time zone of your Jira profile, as Jira's own date fields do
(the same permission).
- New: the account IDs the app stores are checked with Atlassian's personal data reporting API every cycle,
and a closed account's ID is erased within that cycle (the permission to report personal data). The
privacy policy says more.
2.16.0 · 23 September 2026
- Changed: "Compare with Jira's Sprint Report" names two more differences as documented instead of
counting them as unexplained. An issue put into a sprint after the sprint had closed, which Jira's
report lists as removed or as completed outside the sprint, is left out of that sprint by Sprint
Ledger because it was never in it while the sprint ran. And for an issue removed from a sprint and
re-estimated afterwards, Jira's report shows the estimate it had at the close, while Sprint Ledger
keeps the one it had when it left, which is the work its removal took out. Both are described on
How Sprint Ledger counts.
- Changed: when an issue that both sides list is still in different lists, the check also records
Jira's own account of it in the app's log: the sprints Jira's report says it belongs to, and the
times Jira recorded it joining, leaving and becoming done. That takes one more API point for such a
sprint. As before, the log holds IDs, status IDs and times only, never issue content or field
values.
2.15.0 · 23 September 2026
- Changed: "Compare with Jira's Sprint Report" now records, for each issue that still differs, what
each side lists and what the app holds about it (membership times, status IDs, whether an estimate is
stored and when it changed) in the app's log in full; before, part of that record was cut short on its
way into the log. As before, the log holds IDs, counts and times only, never issue content or field
values, so a difference can be looked into without asking your site for anything.
2.14.0 · 22 September 2026
- Fixed: on a site whose issues have long sprint histories, a reconstruction could stop with "request
entity too large" while writing issue histories, because the app sized those writes by the number of
rows and not by their size. Writes are now sized by bytes, and large histories are read in smaller
pages. A site whose last reconstruction stopped this way restarts it by itself within the hour after
this version arrives; nothing needs pressing.
2.13.0 · 22 September 2026
- Fixed: on a board whose filter takes in issues from several projects, a reconstruction read only
the issues of the projects in the admin page's list, so the issues of a project without a board of its
own were missing from the board's closed sprints. It now reads every issue that was in one of a tracked
board's sprints, whichever project it belongs to, including issues removed from a sprint back to the
backlog. If your boards take in other projects' issues, press Rebuild every tracked
board once on the admin page; active sprints were already
kept up to date as their issues moved.
- A reconstruction of one board no longer drops the estimates another board reads from issues that
are on both boards.
- Compare with Jira's Sprint Report explains two more
differences instead of counting them: an issue that was in the sprint but no longer matches the board's
filter, which Jira's report leaves out, and an issue of a project the app is turned off for.
- The gadget and the project settings page, where they send you to the admin page, now give its place in today's Jira: Settings → Marketplace apps → Sprint Ledger.
2.12.0 · 18 September 2026
- The six-hourly check that keeps the ledger in step with Jira now asks your site for much less. It
used to list every issue of every active sprint; it now asks first whether anything in the sprint has
moved since its last check, and reads the issues only when something has. A sprint nobody touched
costs two questions instead of a full listing. What the app records and reports is unchanged.
2.11.0 · 17 September 2026
- Fixed: with Who moved each issue turned off, the app still kept the account ID of whoever moved an issue in the issue's stored sprint history, and a move made after the setting was turned off could store it again. Nothing is stored now while the setting is off; IDs stored earlier stay until Anonymise user ids.
- Sprint goals are no longer stored. The app never used them, and the goals it had stored are deleted with this update.
- The error reports the app's pages send when something goes wrong now come only from signed-in users, and are kept short.
2.10.0 · 17 September 2026
- An issue that was already done when a sprint started, and still done when it closed, now counts as completed outside the sprint, as in Jira's Sprint Report: in neither
completedIn() nor carriedOverFrom(), not in say/do, and tagged o: in Sprint tags (Ledger). The gadget's footer mentions such issues, and both files of the CSV export show them in their last columns. The fourth expected difference that 2.9.0 listed is gone, so three remain.
- Every site's sprints and Ledger fields are counted again once, automatically, within an hour of the update.
- Fixed: an issue whose status changed and which was then moved into a sprint could be counted as carried over at the close instead of completed.
2.9.0 · 17 September 2026
- New: Compare with Jira's Sprint Report on the admin page. Choose a board, and the app reads Jira's own report for its last three closed sprints and compares it with the ledger issue by issue, estimates included, naming every difference and its reason. The check changes nothing.
- How it counts lists a fourth expected difference: an issue that was already done when a sprint started is "completed outside of this sprint" in Jira's report and completed in the ledger.
2.8.0 · 17 September 2026
- New: the issue panel Sprint history (Ledger), which shows every sprint an issue has been in and the reason for each of its tags. Add it from the apps button under the issue's title.
2.7.0 · 17 September 2026
- The admin page links to this documentation, says how many functions and fields there are correctly, and its version badge shows the version your site runs, where it said 0.1.0.
2.6.0 · 17 September 2026
- The field names are settled. Four are renamed: Sprint added, Sprint removed, Sprint carried and Sprint original (the old names). Sprint end splits into Sprint completed, the completion date only, and the new Sprint planned end. The new Sprint membership lists every sprint an issue has been in. Every issue's fields are recomputed once, automatically. A saved filter that uses an old name needs the new one.
- Three new functions for what is in sprints now, by name or pattern and state:
sprintsNamed, openSprintsNamed and futureSprintsNamed (reference).
- The CSV export offers two number formats, 1.5 with commas or 1,5 with semicolons, for spreadsheets set to continental European formats.
2.5.0 · 17 September 2026
- New: the dashboard gadget Sprint scope and say/do (Ledger).
- New: the CSV export on the project settings page, one row per sprint of a board or one row per issue of a sprint.
- Re-reading one board or one project no longer classifies the whole site again, which turns minutes into seconds on a site with many boards.
2.4.0 · 17 September 2026
- Sprint names in function arguments can be patterns:
"Plan: 25_1*" covers every sprint whose name matches. Names, patterns and board names ignore upper and lower case, as Jira does.
- New: the project settings page, where a project's administrators turn tracking on or off and read its boards' history.
2.3.0 · 16 September 2026
- Fixed: a reconstruction could stop while reading estimate changes on some sites; the stopped run started again by itself after the update.
2.2.0 · 16 September 2026
- A board that does not use sprints, such as a team-managed Kanban board, is skipped instead of stopping the reconstruction.
- A reconstruction that stopped starts again by itself once after each update, with nothing to press.
- The admin page's settings: the definition of done, counting subtasks, the deep backfill window, storing account IDs and the hourly API budget; Anonymise user ids and Delete all ledger data; example queries with the site's own sprint names.
- "Sprint ledger tags" is renamed "Sprint tags (Ledger)".
2.1.0 · 14 September 2026
The first version installed by a beta site: the reconstruction of every sprint's history, live updates from Jira's events, the hourly check and the daily pass, eight fields, the six history functions, and the admin page with the reconstruction's progress. The stored answers of saved filters follow sprints as they start and complete.