Commit log

0ce5370 board: fix add-draft to only have a title, and dedicated inputs

Michael Muré created

6e8b5a6 graphql: add board in the repo

Michael Muré created

51c0b5f board: implement most of the graphql

Michael Muré created

2c0256b board: actors instead of participants to match what Bug does

Michael Muré created

c0ee26b fix import paths

Michael Muré created

520668d board: small fixes

Michael Muré created

d6a45e7 board: make the basic commands work

Click to expand commit body
Also rework of entity generic interfaces, in a way that allows to handle low level or cache entities the same way (ReadOnly), and another ReadWrite interface that also allow to mutate the entity. This should fix some long long standing issue around that, and notably fix the resolvers.

This is the first time an entity really load another one, which is what required that fix. Hopefully this opens the way for Identities to use the dag framework.

Michael Muré created

316c78e WIP

Michael Muré created

f491a5f board: CLI tooling

Michael Muré created

ee79b42 board: cache layer

Michael Muré created

ad0b392 WIP

Michael Muré created

8af0cdc board: WIP

Michael Muré created

b80d27c build(deps)!: upgrade bleve v1.0.14 => v2.5.1 (#1442)

Click to expand commit body
This change upgrades `bleve`, primarily to remove the need for the
replace directive on `github.com/willf/bitset`, but this change upgrades
further to move past a non-impacting vulnerability to the `bleve/http`
package [0] [1], even though we do not use it, even indirectly.

Note that even though the GitHub advisory [0] notes that this is patched
in `v2.5.0`, all that seems to have happened (see [1]) is that a README
was added to the package noting the vulnerabilities.

Other CVE databases [2] [3] do not mark this as resolved. Again,
however, git-bug DOES NOT USE this package, so it is not really a
concern.

The cache and indexing format was changed. Index storage gains are
_significant_ (at the time of writing, with the git-bug repository, this
change reduces the index cache from ~51 MiB to less than 4 MiB).

This does not come with a change to bleve's API. We do have a test that
validates that the index file exists, however, so this change refactors
that to check against the appropriate path.

[0]: https://github.com/advisories/GHSA-9w9f-6mg8-jp7w
[1]:
https://github.com/blevesearch/bleve/commit/1c7509d6a17d36f265c90b4e8f4e3a3182fe79ff
[2]: https://nvd.nist.gov/vuln/detail/CVE-2022-31022
[3]: https://pkg.go.dev/vuln/GO-2022-0470

BREAKING-CHANGE:
 This causes a change to the format of the internal, local cache that
 git-bug uses. Users should note that older versions of git-bug will be
 incompatible with this new cache format.

 If you wish to downgrade to an older version of git-bug, you should
 first remove the cache by executing `rm -rf .git/git-bug` in a
 terminal, and then initialize the older version of git-bug to build a
 compatible version of the cache.

Co-authored-by: Michael Muré <battoletre@gmail.com>
Change-Id: I9ab436ade9221bfd91b84ebaf47434f1b3d91cd3

Co-authored-by: Michael Muré <battoletre@gmail.com>

sudoforge and Michael Muré created

e49c93d build: reduce complexity for setting the version (#1466)

Click to expand commit body
This change refactors the implementation of how the version is embedded
in the binary to reduce the number of variables necessary to determine
the version information from 3 to 1.

The legacy build variables are still supported, however, a warning will
be emitted instructing users to contact their package maintainer. The
legacy GitExacTag variable, if present, will be used to set main.version
if it is undefined. This ensures that unmigrated package builds will
continue to provide the correct version information.

The legacy build variables will be supported until 0.12.0, giving
package maintainers some time to migrate.

Change-Id: I05fea97169ea1af87b198174afe5b6663f860fd8

sudoforge created

01d6899 feat(dev-infra): add pipeline: cron/rename-default-branch (#1465)

Click to expand commit body
This change adds a new pipeline named `cron`, with an initial task that
will handle automatically updating the default branch for this
repository on May 31 2025.

Ref: #1404
Change-Id: Iff5529938d9be50de9733f98e72e86c4480e1d6e

sudoforge created

9311542 refactor(cli)!: remove the 'commands' command (#1462)

Click to expand commit body
This change removes the 'commands' command. This command historically
printed out all of the commands, optionally with help text. This is
superfluous, as we ship a manpage for each of the common shells, have
markdown documentation available in the repository, and provide help
text via the `--help` flag.

BREAKING-CHANGE: The `commands` command has been removed. There is no
replacement
 planned. Users are encouraged to run `--help`, view the markdown
 documentation available online, or run `man git-bug` to view the
 manpage in your terminal.
Change-Id: I8bbfb03c03c820ec0b56549e59ab76826c45b9cc

sudoforge created

170ce48 refactor(changelog): remove extraneous commit preprocessors (#1461)

Click to expand commit body
This change removes several commit preprocessors that were originally
used to touch up commit subjects on initial import, and are no longer
needed.

Change-Id: Ic23cef9cf6aef657c985937f5354b2b2db100fa7

sudoforge created

26086bb docs(dev-infra): fix missing link to //:CHANGELOG.md (#1458)

Click to expand commit body
Change-Id: I0a21fbc9eb6d11afb647c8e51e40d3a5f5155792

sudoforge created

f2070b5 docs(changelog): bump for v0.10.1 (#1457)

Click to expand commit body
Change-Id: I68b8c234100ae91a6ad6b838211ce2ce7dd8feca

sudoforge created

b49a652 docs(dev-infra): add a section about commit messages to //:CONTRIBUTING.md (#1454)

Click to expand commit body
Change-Id: Ie21eb3761c8e632d1ff66c5b3fc2474f97e3364e

sudoforge created

ddb22a2 fix(cli): ignore missing sections when removing configuration (#1455)

Click to expand commit body
This change fixes an error typically encountered in the `git-bug-wipe`
command, caused by overly zealous implementations of
//repository:config.go%ConfigWrite.RemoveAll(). This change refactors
these implementations to only attempt to remove sections that exist,
and ignore non-existent sections.

Closes: #1451
Change-Id: I66e710239915c8601dd70a78ae65eb625e093ef6

sudoforge created

08d928d feat(dev-infra): move gqlgen to go-tool (#1453)

Michael Muré created

44d9031 docs(changelog): bump for v0.10.0

Click to expand commit body
Change-Id: I730373865da056571936357916b589a6cbc740b2

sudoforge created

3b5a2ac build(web): upgrade graphql-eslint plugin (#1449)

Click to expand commit body
with this upgraded, we no longer depend on an vulnerable version of the
`ws` library through an old graphql version

Jonathan Raphaelson created

4d053ac docs(dev-infra): add guidelines for submitting changes (#1448)

Click to expand commit body
This change adds additional information to //:CONTRIBUTING.md, meant to
provide guidance to potential contributors about how our review process
works, and how we suggest iterating and submitting changes.

Change-Id: I06073fa43d9fd37d35bc04aa5bfc0187d343b257

sudoforge created

ab8c5cc ci: limit default permissions to contents.read (#1447)

Click to expand commit body
This change refactors all root pipelines (`trunk` and `presubmit`) to
limit the contents permission to read. By default, GitHub has taken the
overly-permissive approach of granting all permissions if the
`permissions` map is not explicitly defined. Usability wins out over
security, again.

Change-Id: Idaca851385fb82eefd6c7c9b8ee46b85a3f4901c

sudoforge created

6ee47b9 feat(webui): remark upgrade + gfm + syntax highlighting (#1444)

Click to expand commit body
* upgrades remark/rehype/unified npm packages, and reconfigures
everything for 2025
* `Label` can now be made inline, which fixes a react hydration error on
the bug page
* new remark plugins for GFM, hard line breaks & syntax highlighting

Jonathan Raphaelson created

948dd34 build(web): upgrade graphql-codegen and tools (#1443)

Jonathan Raphaelson created

89b880b feat(dev-infra)!: remove gokart (#1441)

Click to expand commit body
This change removes `gokart` because it is unmaintained, and the
`replace` directive breaks `go install`.

Change-Id: I17ec23cc90abecbae20c4adaf6be46cf507645ec

sudoforge created

6811472 fix(dev-infra): re-enable markdown formatting (#1439)

Click to expand commit body
This was disabled while debugging prettier vs. mdformat interactions
through treefmt, and accidentally committed in
08ffc2b82919b9254cc59c97756c546a508b4f73.

Change-Id: I14ebc1d0edf6ed755ad15b6ba58b6d9c6f5519f5

sudoforge created

08ffc2b feat(dev-infra): enable formatting of //webui (#1429)

Click to expand commit body
This change enables prettier, and enables formatting of //webui.

Change-Id: I2516459649bf6c19a8dc495d3a4d915a6a881b39

sudoforge created

62bc7eb build(web): generate the web bundle for the go binary (#1428)

Click to expand commit body
Recent changes were made to //webui, but the bundle was not updated.
This was missed because it was not validated in CI. This change runs
`make pack-webui` in order to generate this bundle.

Change-Id: I63ccad91c7edb381813db684ac65f83aa7c048fc

sudoforge created

b3a3f57 feat(dev-infra): add initial //:.mailmap (#1426)

Click to expand commit body
This change adds //.mailmap initialized with mappings for duplicate
names and email addresses found in the repository archive. When a
duplicate was found, the name and email were chosen preferring the
longest name for the author, and the most practical email address (e.g.
if an obvious personal and professional email address existed, the
personal address was chosen).

Duplicate names were found with the following command:

    git shortlog -se |\
awk 'match($0, /[0-9]+[ \t]+(.*)[ \t]+<.*>/, m) { print m[1] }' |\
        sort |\
        uniq -d

Duplicate email addresses were found with the following command:

    git shortlog -se |\
awk 'match($0, /<[^>]+>/) { print substr($0, RSTART+1, RLENGTH-2) }' |\
        sort |\
        uniq -d

Change-Id: Ie0280ee336098c080cf5af8062dae20cb7a41e8e

sudoforge created

7e95b16 feat(web): simplify header navigation (#1427)

Click to expand commit body
* removes the tabbed navigation completely
* makes it possible to see the custom name of the repository


tabs (and really all not "main" nav) were not in use and the features
may not work the same way in the future, so rather than redesigning, the
whole tab bare was removed.

for the custom name, if it's `__default`, the the default `git-bug` text
is displayed; otherwise, the name of the repo.

Jonathan Raphaelson created

13b7aec build(web): upgrade react dependencies (#1425)

Click to expand commit body
* upgrades react from v18->v19, the latest
* upgrades react router from v6->v7, the latest
* removes `react-moment`, which is not updated for react 19
* replace the trivial usages of the `<Moment>` component with a new one

Jonathan Raphaelson created

407e513 feat(changelog): add initial changelog (#1415)

Click to expand commit body
This change adds //:CHANGELOG.md initialized with all current and prior
releases. The changelog is generated with the following command:

    git cliff -o CHANGELOG.md 0.1.0..v0.9.0

Change-Id: Iad09675d882c8fa7c135acb7224d3a07a35b1169

sudoforge created

9942337 docs(bridge): correct command used to create a new bridge (#1422)

Mischa created

0cff651 build(web): upgrade minor NPM dependencies, and React to v18 (#1421)

Click to expand commit body
upgrades outdate npm dependencies to latest minor versions compatible
with each other, in prep for larger upgrades to bring up to date.

of note, React 17->18 drops the react-dom library and required some
mechanical changes due to apollo client errors no longer being
renderable.

---

screenshot to show application still running after upgrades

![Screenshot 2025-05-14 at 10 00
27 PM](https://github.com/user-attachments/assets/82257a5f-aefb-4fdb-8bc8-a5da12eceaaa)

Jonathan Raphaelson created

bd93665 docs(dev-infra): improve commit message guidelines (#1417)

Click to expand commit body
This change provides more clarity as to the type and scope requirements,
and adds in additional information with regard to hyperlinks,
appropriate trailers to
use in the footer, and clarifies the difference between our requirements
and the conventional commit spec v1.0.0.

Change-Id: I7e3d4646c09728acf27c4efce24655896b8513a7

sudoforge created

e2756ab ci: remove unused internal action: auto-label (#1414)

Click to expand commit body
Change-Id: I70b522ef519e709e643ed90efbe712112d348141

sudoforge created

23be684 feat(tui): improve readability of the help bar (#1412)

Click to expand commit body
This change changes the help bar's background color to the "black" value
for the terminal, and increases spacing between the different commands
to improve readability.

Closes: git-bug/git-bug#1411
Change-Id: I380d1fee4ae51869876f00c76c0f952d47dd8912

sudoforge created

f680ef7 docs(dev-infra): define stricter commit message guidelines (#1410)

Click to expand commit body
This change provides guidelines for writing conventional commit
messages, which will be enforced in the future. This change is being
made in order to improve ergonomics for browsing the repository and its
changes, and to support better changelog generation.

Change-Id: I533ca3c66e697aaafcc1409711600017006e264a

sudoforge created

b4ad532 feat(dev-infra): improve //:.editorconfig alignment with formatters (#1409)

Click to expand commit body
This change updates //:.editorconfig to improve the alignment between
its configuration settings and the output from formatters, in an effort
to reduce format cycles during iteration.

Change-Id: I8e1af63a961bc8ca29d8b4a41f80ae7251a96f26

sudoforge created

89ff47a docs: correct mispelled words

Click to expand commit body
Co-authored-by: KOTP <keeperotphones@gmail.com>

Matěj Cepl and KOTP created

65f8ec9 test: use pkgs.runCommand for the pinact check drv (#1407)

Click to expand commit body
This change refactors the derivation defined in //nix/checks:pinact.nix,
rewriting it with pkgs.runCommand so that `nix flake check` actually
executes it.

Change-Id: Ic941133bcbedd8505580db71abbaaaf8326fb874

sudoforge created

f3bb756 ci: remove workflow: lifecycle (#1406)

Click to expand commit body
This change removes //.github/workflows:lifecycle.yml, which was
historically used to automatically label and unlabel issues and pull
requests based on inactivity. After consideration, it has been decided
that this sort of automatic label management introduces unecessary
noise.

The removal of this workflow means that issues and pull requests will no
longer be marked as idle or dormant. These labels can be removed:

- lifecycle/idle
- lifecycle/dormant

Change-Id: I03d8cc6cf11d8fde88029bd64315855d81e3d353

sudoforge created

2257472 ci: automatically mirror HEAD to trunk (#1405)

Click to expand commit body
This change introduces a pipeline job called `mirror` that will push to
`refs/heads/trunk` automatically, in order to keep it in sync with the
default tree.

This job is restricted to the SoT for git-bug, and will only execute for
the first run of the workflow.

Refs: #1404
Change-Id: If65f83ce9058dd01aa74f6841dc58ac040284b18

sudoforge created

aa102c9 fix: remove errata from string literal (#1403)

Click to expand commit body
This change replaces tabs inside of a raw string literal used as a patch
for the shell completion files with spaces, and removes a trailing
space. This fixes an issue where regeneration of the file would lead to
a diff.

Change-Id: I3469a859ed63fe4ef9b8b6f156ff0ce5cb7af91c

sudoforge created

3e5f4ee test: mark TestCache as flaky (#1401)

Click to expand commit body
This test regularly fails on Windows. It should be rewritten so as to
avoid flakiness, however, marking it as flaky as a stop-gap enables a
better pipeline experience without requiring the upfront cost of
rewriting it.

Change-Id: Ia0dc13864e0fdf463b01a2a31b8d59b692c0c924

sudoforge created

1ec304e test: add support for Helper() (#1400)

Click to expand commit body
This change adds support to //internal/test%recorder for Helper(), and
improves the ergonomics around error reporting.

Change-Id: Ia1762587b16dee9ba6ca3c428c1f935eb333a63b

sudoforge created