| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent df21796 commit 3385c8a
2 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,9 +1,80 @@ | |||
| 1 | 1 | Changelog | |
| 2 | 2 | ========= | |
| 3 | 3 | ||
| 4 | - 0.64.2 (2026-07-18) | ||
| 4 | + 0.65.0 (2026-07-27) | ||
| 5 | 5 | ------------------- | |
| 6 | 6 | ------------------------ | |
| 7 | + - Refresh issue timelines when cross-references change (#168) [Rodos] | ||
| 8 | + | ||
| 9 | + Cross-references do not change an issue's updated_at, so an incremental | ||
| 10 | + run never lists the issue and never re-fetches its timeline. An issue | ||
| 11 | + can be referenced from another repository years after its last activity | ||
| 12 | + and the backup would never see it. | ||
| 13 | + | ||
| 14 | + On incremental runs with --issue-timeline, ask GraphQL for each item's | ||
| 15 | + cross-reference count and newest timestamp, compare both against what is | ||
| 16 | + already saved, and re-fetch the timeline of anything that differs. Items | ||
| 17 | + the since listing did not return are fetched individually. Both values | ||
| 18 | + are needed: the count alone would miss a reference being added and | ||
| 19 | + another deleted between runs, and the timestamp alone would miss a | ||
| 20 | + deletion. | ||
| 21 | + | ||
| 22 | + Pull requests are swept too when they are being stored as issues, which | ||
| 23 | + is the case unless --pulls is used. They need their own query because | ||
| 24 | + the issues connection excludes them, and because totalCount ignores the | ||
| 25 | + itemTypes filter on a pull request although it honours it on an issue, | ||
| 26 | + so their cross-references are counted from the nodes instead. Where that | ||
| 27 | + count may have been truncated, the comparison falls back to the | ||
| 28 | + timestamp alone rather than re-fetching on every run. | ||
| 29 | + | ||
| 30 | + This costs one rate-limit point per 100 items against the GraphQL quota, | ||
| 31 | + measured at 6 requests for a repository with 528 issues and pull | ||
| 32 | + requests, and stores no new state: the comparison is against the | ||
| 33 | + cross-references already in each item's timeline_data. A GraphQL failure | ||
| 34 | + warns and leaves the rest of the backup unaffected. | ||
| 35 | + | ||
| 36 | + Closes #168 | ||
| 37 | + - Add --issue-timeline flag to capture cross-reference events (#168) | ||
| 38 | + [Rodos] | ||
| 39 | + | ||
| 40 | + The issue events endpoint never returns cross-references, so an issue | ||
| 41 | + mentioned from another issue or pull request leaves no trace in the | ||
| 42 | + backup. GitHub only exposes those through the timeline endpoint. Full | ||
| 43 | + backups miss them as well as incremental ones. | ||
| 44 | + | ||
| 45 | + Adds --issue-timeline, which stores the timeline under a separate | ||
| 46 | + timeline_data key alongside the unmodified event_data. The two | ||
| 47 | + endpoints are complementary rather than nested: the timeline adds | ||
| 48 | + cross-references, commits and reviews, while events carries | ||
| 49 | + referenced entries the timeline drops, so neither replaces the other. | ||
| 50 | + | ||
| 51 | + Timeline entries for comments are filtered out, since --issue-comments | ||
| 52 | + already saves the bodies. Everything else is stored verbatim. The flag | ||
| 53 | + is included in --all. | ||
| 54 | + | ||
| 55 | + This makes the data obtainable, but does not change incremental | ||
| 56 | + selection: a cross-reference does not bump the referenced issue's | ||
| 57 | + updated_at, so an incremental run still never lists it. That half of | ||
| 58 | + the issue remains open. | ||
| 59 | + | ||
| 60 | + References #168 | ||
| 61 | + - Chore(deps): bump actions/setup-python from 6 to 7. [dependabot[bot]] | ||
| 62 | + | ||
| 63 | + Bumps [actions/setup-python](https://github.com/actions/setup-python) from 6 to 7. | ||
| 64 | + - [Release notes](https://github.com/actions/setup-python/releases) | ||
| 65 | + - [Commits](https://github.com/actions/setup-python/compare/v6...v7) | ||
| 66 | + | ||
| 67 | + --- | ||
| 68 | + updated-dependencies: | ||
| 69 | + - dependency-name: actions/setup-python | ||
| 70 | + dependency-version: '7' | ||
| 71 | + dependency-type: direct:production | ||
| 72 | + update-type: version-update:semver-major | ||
| 73 | + ... | ||
| 74 | + | ||
| 75 | + | ||
| 76 | + 0.64.2 (2026-07-18) | ||
| 77 | + ------------------- | ||
| 7 | 78 | - Add tests. [Duncan Ogilvie] | |
| 8 | 79 | - Skip fetching gists that have not been updated. [Duncan Ogilvie] | |
| 9 | 80 | - Skip retrieving repositories when not necessary. [Duncan Ogilvie] | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1 +1 @@ | |||
| 1 | - __version__ = "0.64.2" | ||
| 1 | + __version__ = "0.65.0" | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments