github MichaelMure/git-bug 0.5.0

latest releases: v0.8.0, v0.7.2, 0.7.1...
4 years ago

This release mainly feature a huge rework of how identities are handled. While they were previously fully embedded in every single bug operations, they are now deported in their own data structure.

image

Reworking git-bug to add this whole new identity data model has been a long and arduous journey. Indeed, the concept of identity is so central in a bug tracker that it touched pretty much every file of the project. It took two months to be able to fully compile the project again. Good thing that golang allow to proceed step by step and check that everything works with a set of tests!

This work already yielded some benefits: less memory and storage usage, more performance, or simply being able to query bugs by author or participants. But the real benefit is that is will, once we add cryptographic keys to the identities, serve as a foundation to build more advanced features:

  • commit signature to authenticate bug edition or even code authors
  • an access right policy with different role (administrator , ...)
  • encrypted comment or bugs for sensitive discussion

Note: while git-bug will only guarantee a stable data model when the 1.0 version is reached, this huge change is backward compatible !

Core

  • a whole new data model has been added to store user identities, allowing to store the identity only once, update it, and in the future, to store cryptographic keys. This change spread to the whole stack including the cache layer, all the UI and the bridges
  • go 1.8 is not supported anymore due to a dependency update
  • bugs now expose the list of actors and participants, thanks to @A-Hilaly
  • it's now possible to have empty comments, thanks to @Steap. This change was necessary to import data from external bug trackers
  • the shortened version of a hash is now consistently 7 characters long, thanks to @seeduvax

Query language

  • it's now possible to filter the bug list with a title pattern, thanks to @sladyn98
  • it's now possible to filter the bug list by actors or participants, thanks to @A-Hilaly
  • multiple label filter now match bugs with either one of them instead of bugs with all of them, thanks to @njthomas and @sladyn98
  • identities can now also be queried with an ID or an ID prefix (author:3bb1db1) in addition to the normal string pattern (author:descartes), thanks to @A-Hilaly

CLI

  • new command git bug user to display the current identity
  • new command git bug user create to create a new identity
  • new command git bug user ls to list existing identities
  • new command git bug user adopt to select an identity as your own, for example after an import from an external bug tracker
  • new command git bug ls-id [<prefix>] to list either all bug ids or the matching ones, thanks to @sladyn98. This command is intended to help scripting.
  • new command git bug version that display a complete view of what version is running, including the git hash
  • git bug show can now output specific fields with --field <name>, thanks to @seeduvax
  • commands now catch properly interruption signals and unlock the cache before exiting, thanks to @auyer
  • Building bug cache... and friends are now properly sent to stderr for easier filtering
  • git bug ls is now super fast by using only cache data, thanks to @sladyn98
  • @jfacchini cleaned and improved the commands documentation !

TermUI

  • the bug table now only use data from the cache, making it super fast
  • text layout and display of Chinese and other non-latin languages has been fixed, big thanks to @ProgramFan
  • minor layout improvements to better use the screen space
  • browsing the bug is now more natural, as reaching the bottom load the next page, thanks to @Steap
  • fixed a crash when trying to edit a comment while none were selected, thanks to @ludovicm67

WebUI

  • the webUI now use the Timeline API and properly display updated comments, thanks to @sandhose
  • the timeline page now looks better, thanks to @sandhose

GraphQL

  • now expose bug's actor and participants, thanks to @A-Hilaly
  • now expose valid labels, thanks to @ludovicm67

Bridges

  • there is now a partial Launchpad importer (!), thanks to @Steap

And of course, the usual bug fixes and minor improvements.

🚀 ☀️

Don't miss a new git-bug release

NewReleases is sending notifications on new releases.