From 407e5133291e7047bf1236324fd37dc8c9f7082e Mon Sep 17 00:00:00 2001 From: sudoforge <no-reply@sudoforge.com> Date: Thu, 15 May 2025 15:33:17 -0700 Subject: [PATCH] feat(changelog): add initial changelog (#1415) 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 --- .editorconfig | 2 +- CHANGELOG.md | 1162 +++++++++++++++++++++++++++++++++++++++++++++++++ cliff.toml | 164 +++++++ flake.nix | 1 + 4 files changed, 1328 insertions(+), 1 deletion(-) create mode 100644 CHANGELOG.md create mode 100644 cliff.toml diff --git a/.editorconfig b/.editorconfig index 8c9ed68c..9ecfaa1c 100644 --- a/.editorconfig +++ b/.editorconfig @@ -9,7 +9,7 @@ indent_style = space insert_final_newline = true trim_trailing_whitespace = true -[*.{graphql,js,json,nix,ts,tsx,yaml,yml}] +[*.{graphql,js,json,nix,toml,ts,tsx,yaml,yml}] indent_size = 2 [{Makefile,go.mod,go.sum,*.go}] diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..a674145f --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,1162 @@ +# Changelog + +All notable changes to the project will be documented in this file. It is +non-exhaustive by design, and only contains public-facing application and API +changes. Internal, developer-centric changes can be seen by looking at the +commit log. + +## 0.9.0 (2025-05-12) + +This release contains minor improvements and bug fixes. + +To view the full set of changes, including internal developer-centric changes, +run the following command: + +``` +git log --oneline v0.8.1..v0.9.0 +``` + +### Bug fixes + +- **completion**: remove errata from string literal (aa102c91) + +### Features + +- **tui**: improve readability of the help bar (23be684a) + +## 0.8.1 (2025-05-05) + +This release contains the culmination of new features, bug fixes, and other +miscellaneous changes (documentation, tooling) since the last release in 2022. + +To view the full set of changes, including internal developer-centric changes, +run the following command: + +``` +git log --oneline v0.8.0..v0.8.1 +``` + +### Bug fixes + +- remove repeated use of the same fmt.Errorf() calls (0cd2f3b4) +- use prerelease of GoKart with repaired panic (344438b9) +- keyrings must return keys with entities/identities (de6f5404) +- resolve Go vulnerabilities (33e3e4b6) +- (cli): run tests in ./commands/... without ANSI color (e4707cd8) +- (cli): create env.Env once for all Cobra commands (0bddfe1d) +- (cli): replace missing import (723b3c41) +- parse submodule .git files instead of erroring (e97df9c8) +- openpgp handling to sign/check (429b913d) +- correct typo: acceps => accepts (76de669d) +- bump to go v1.22.5 (f79ea38c) +- add missing `with` property to //.github/workflows:cron.yml (eef62798) +- add write for prs: stale/issue-and-pr (6c9aade8) +- move codeql into an independent workflow (1fa858dc) +- run the presubmit pipeline for PRs (5893f948) +- correct path for reusable workflow: lifecycle (1dd81071) +- typos in docs (d499b6e9) +- set GitLastTag to an empty string when git-describe errors (25f755cb) +- refactor how gitlab title changes are detected (197eb599) +- use correct url for gitlab PATs (7b6eb5db) +- use -0700 when formatting time (edbd105c) +- checkout repo before setting up go environment (5e8efbae) +- resolve the remote URI using url.\*.insteadOf (a150cdb0) + +### Documentation + +- normalize verb tense and fix typo (8537869a) +- add a feature matrix (3c1b8fd0) +- update install, contrib, and usage documentation (96c7a111) + +### Features + +- wrap ErrNoConfigEntry to report missing key (64c18b15) +- wrap ErrMultipleConfigEntry to report duplicate key (49929c03) +- upgrade go-git to v5.1.1 (7c4a3b12) +- detect os.Stdin/os.Stdout mode (14603773) +- use isatty to detect a Termios instead (a7364015) +- add concurrency limits to all pipelines (a4b88586) +- update action library versions (eda0d672) +- add initial nix development shell (bf753031) +- add a commit message template (825eecef) +- add a common file for git-blame ignored revisions (4089b169) +- add initial editorconfig configuration file (be005f6a) +- add workflow for triaging stale issues and prs (00f5265a) +- increase operations per run for workflow: cron (c67d75fa) +- allow for manual execution of workflow: cron (ea86d570) +- refactor pipelines into reusable workflows (5eabe549) +- bump node versions to 16.x, 18.x, and 20.x (7918af66) +- improved lifecycle management with stale-bot (91fa676c) +- merge go directive and toolchain specification (66106f50) +- add package to dev shell: delve (0c0228d3) +- update references to the git-bug organization (2004fa79) +- support new exclusion label: lifecycle/pinned (f81a71a3) +- remove lifecycle/frozen (4f97349f) +- add action: auto-label (c3ab18db) +- bump to go v1.24.2 (73122def) + +### Other changes + +- reorg into different packages (acc9a6f3) +- add a workflow to continuously run benchmarks (c227f2e9) +- make it work? (c6bb6b9c) +- cleanup test token when test is done (10851853) +- proper reduced interface for full-text indexing (60d40d60) +- return specific error on object not found, accept multiple namespace to + push/pull (905c9a90) +- tie up the refactor up to compiling (9b98fc06) +- generic withSnapshot, some cleanup (d65e8837) +- fix some bugs after refactor (95911100) +- tie the last printf in an event to make the core print free (13a7a599) +- move bug specific input code into commands/bug/input (d5b07f48) +- simplify cache building events handling (b2795875) +- generic `select` code, move bug completion in bugcmd (e9209878) +- don't double build the lamport clocks (c9009b52) +- remove lint security step as it's crashing (57f328fb) +- share JSON creation (5844dd0a) +- fix tests? (70b0c5b8) +- check error when closing a repo in tests (2664332b) +- temporary use a fork of go-git due to + https://github.com/go-git/go-git/pull/659 (03dcd7ee) +- don't forget to close a file (5bf274e6) +- add a nice terminal progress bar when building the cache (7df34aa7) +- move terminal detection to Out, introduce the compagnion In (f011452a) +- adapt the output of the bug list to the terminal size (9fc8dbf4) +- remove compact style for `bug`, as the width adaptive default renderer cover + that usage (f23a7f07) +- different pattern to detect changed flags (3e41812d) +- code cleanup, fix some edge cases (5238d1dd) +- add a helper to generate testing regex for CLI output (b66d467a) +- clean up linter complaints (cf382e0f) +- resolve PR comments (14773b16) +- faster indexing by caping Bleve batch count (f33ceb08) +- updated error message when detectGitPath fails (d9ac6583) +- improve support for gitdir indirection (27c96a40) +- fix how security tools are setup and launched (44771523) +- ignore spelling mistake in repo to be imported from github (a9697c7a) +- also teardown cleanly on SIGTERM (42aea2cd) +- better IsRunning(pid) (4b62a945) +- fix some cache building progress bar artifact (281d4a64) +- no `with` means using codespellrc, add more opt out (d8bcd71d) +- regenerate after gqlgen upgrade (31a97380) +- more ignore (de8d2c13) +- fix some struct names in comments (ce7fd6fc) +- remove refs to deprecated io/ioutil (d4f6f273) +- update go dependencies (f5076359) +- it is `new` not `configure` command (also was missing \\) (f00e42e7) +- regenerate command completion and documentation (c3ff05f9) +- make label a common type, in a similar fashion as for status (3a4b8805) +- properly namespace Bug to make space for other entities (57e71470) +- update go-git to v5@masterupdate_mods (a987d094) +- update golang.org/x/net (15d22a22) +- gofmt simplify gitlab/export_test.go (53559429) + +### Reversions + +- feat: increase operations per run for workflow: cron (32972230) +- Create Dependabot config file (3f84d949) + +## 0.8.0 (2022-11-20) + +To view the full set of changes, including internal developer-centric changes, +run the following command: + +``` +git log --oneline 0.7.1..v0.8.0 +``` + +### Bug fixes + +- cache not rebuilding properly (c326007d) +- github action (87a2638c) +- ListCommits implementation (27e70af2) +- go sum rebase artifacts (fb9170e2) +- merge (1ced77af) +- issue with toggling the author (248201bc) +- issue with regex (bff9fa67) +- issue with keyDown propagation (72fc0ef7) +- regex issue (41ee97a4) +- remove extra mutex lock when resolving bug prefix (eda312f9) +- replace Windows line terminators (cd1099aa) +- remove only t.Parallel() (da9f95e4) +- simplify handling of Windows line terminations (1a504e05) +- remove duplication stderr/stdout set-up (848f7253) +- revert to older test harness (870fe693) +- remove obsolete test logging (2c2c4491) +- merge in CombinedId from 664 (ff1b7448) +- normalize Windows line endings -> \*nix (0f885d4f) +- normalize Windows line endings -> \*nix (golden files) (c4a4d457) +- hide tools versioning behind build tags (1dcdee49) +- correct name for one of the security phonies (8bd98454) +- process unused (but assigned) error (fc444915) +- scan PRs for insecure practices (2b47003f) + +### Documentation + +- fix typos (ff0ff863) +- generate concurrently (7f87eb86) +- cleanup query documentation (10a259b6) +- add missing file (d0e65d5a) +- more discoverable docs (1c219f67) +- tiny tweaks (b43a447a) +- more tiny fixes (c6be0588) +- more tiny fixes (2ade8fb1) +- add compact to docs and bash for ls command's format flag (d3f2fb0d) +- fix incorrect indentation (55a2e8e4) + +### Features + +- use author to filter the list (54c5b662) +- add filter by label (31871f29) +- check if there are labels (7a7e93c9) +- multiple label filter (92ce861f) +- use predefined filters (f82071a3) +- Github bridge mutation rate limit (247e1a86) +- make local storage configurable (b42fae38) +- updates default ls formatter for TSV output (a5802792) +- version tools using Go module system (d989f9b6) +- add security tools (2caade93) +- add recipes for security analysis (ec739558) +- run security checks during Go workflow (3087cdc0) + +### Other changes + +- document workflows (685a4fdc) +- fix image links (e43920bc) +- better phrasing (a8aecec6) +- fix a crash when trying to open a bug when there are none (8a81b9fe) +- actually test the mutator (fb31f801) +- commands/root.go: syntax (25d633d5) +- README.md: is/are (fe6e3ef4) +- make sure to disable label color escape when not on a terminal (9a00ffb7) +- update some deps (c9e4a356) +- enable Fish completion (78f39c40) +- Add support to ls dump bug information in specific formats (de5565b5) +- cleanup and re-generate files (1d06244c) +- harmonize how time are used, fix some issues in command special formats + (aab3a04d) +- remove tie to Bug, improved and reusable testing (88ad7e60) +- more tests (939bcd57) +- render component's children as a function to avoid uncecessary rendering + (07d6c6aa) +- pack (3aaf7758) +- refactor to avoid globals (26bd1dd1) +- open and close the backend in a single place, simplify commands (536c290d) +- merge git.Hash in for one less /util package (3cf31fc4) +- split into multiple files for readability (8a38af24) +- fix test chocking on randomized element in repo.ListRefs() (44096b78) +- fix segfault with badly loaded backend (71989045) +- minor code improvements (5c823a70) +- avoid importing a whole package to check an error (ac7e5086) +- skip the broken test as `known broken` :( (0590de9f) +- code cleanup for the rm feature (a62ce78c) +- cleanup the command's usage to avoid warnings when generating the doc + (ae5c0967) +- fix BugExcerpt's timestamp not properly stored (92a59ece) +- make the help visually easier to parse (9ce84fc1) +- help bar background goes all the width (8eb7faf6) +- fix FreeBSD package name (e374c9da) +- use sha256 to compute labels color, to use a single hash function in the + codebase (47ea66f6) +- fix tests (60466f86) +- simplify cache eviction (4d678f3e) +- Remove empty borders around bug table view (6824ecf0) +- pack the bug table view (5a4dc7aa) +- show the number of *additional* comments (a42abaae) +- don't pack it *that* much (807844bb) +- match the output in ls and in the termui (148b335d) +- move the random bug command on its own package (9f3a56b1) +- partial impl of a go-git backed Repo (d171e110) +- add access to the system keyring, with fallback on a file (b1274813) +- store credentials in the Keyring instead of the git config (3ecbf8db) +- some light shuffling of code (30d1640b) +- fix a todo in the gogit repo (9c1087e1) +- more go-git implementation (2bda7031) +- fix some go-git implementation (d4f1d565) +- fix gogit clock path (cdfbecf3) +- smaller interfaces (cedcc277) +- test both plain and bare, test clocks (9408f1eb) +- split Config into 2 smaller interfaces (c68be32d) +- split mocks into smaller reusable components (aa8055e2) +- only use the file backend for the keyring (c87e9aba) +- implement local/global/any config everywhere (71b7eb14) +- fix manu bugs in go-git config (4f172432) +- more config related bug fixes (eb88f0e4) +- ReadTree must accept either a commit or a tree hash (d8b49e02) +- more testing for an edge case (736d0a2f) +- implement GetCoreEditor for go-git (0acb3505) +- fix wrong ordering in gogit's ListCommit (4055495c) +- fallback editor list by looking if the binary exist (db20bc34) +- dependencies upgrades (f4433d80) +- use go-git in more places, fix push (1a0c86a1) +- fix missing keyring on the go-git repo (1eb13173) +- structural change (ca720f16) +- minor cleanup (5d1fc3ff) +- remove support for legacy identity (499dbc0a) +- updage go-git to v5.2.0 (afdbd65e) +- fix incorrect git dir on the git CLI implementation (064a96f8) +- workaround a go-git bug and ensure sorted tree object (ca4020f4) +- updage xanzy/go-gitlab to v0.38.2 (4143c3d1) +- fix edge case in git config read, affecting bridges (8a158d1f) +- upgrade spf13/cobra to v1.1.1 (86faedc9) +- expand the tokenizer/parser to parse arbitrary search terms (b285c57d) +- fix query quotation (9bea84e2) +- english specialized indexing (b494e068) +- minor cleanups (9daa8ad0) +- more work towards RepoStorage (bca9ae82) +- finish RepoStorage move (4ef2c110) +- remove the memory-only repo for now (be6e653f) +- simpler clock mutex locking (71e13032) +- move bleve there (c884d557) +- close before deleting (8128bb79) +- Pinpoint some of the reasons for bug #385 (0baf65cd) +- refactor to reuse the split function for both query and token (fab626a7) +- better powershell completion, thanks to cobra upgrade (365073d0) +- move credential loading and client creation (3d14e2e6) +- allow specifying the initial query (626ec983) +- minor fixes for the webui open with query (3a819525) +- minor code fixes (07e1c45c) +- fix eslint? (fbf7c48b) +- stay within the SPA when redirecting from the header (aeb26d0e) +- fix security issue that could lead to arbitrary code execution (9434d2ea) +- Resolve new EditComment mutation (79cc9884) +- Add EditComment to mutation type (19a68dea) +- Add EditComment mutation to schema (4960448a) +- Add EditComment input/payload to gen_models (50cd1a9c) +- Add target to EditCommentInput (cc7788ad) +- Regenerate the GraphQL-Server (2a1c7723) +- fix various config issues around case insentivity (890c014d) +- only FTS index token \< 100 characters (32958b5c) +- test for FTS bub with long description (e9856537) +- fix no-label filter not properly wired (f7dec7e9) +- match wikipedia algorithm (44d75879) +- expose all lamport clocks, move clocks in their own folder (fb0c5fd0) +- Id from data, not git + hold multiple lamport clocks (5ae8a132) +- Id from first operation data, not git + remove root link (7163b228) +- PR fixes (b01aa18d) +- unique function to generate IDs (2bf2b2d7) +- debug (497ec137) +- don't store the id in Bug, match how it's done for Identity (2788c5fc) +- fix tests (fcf43915) +- generalize the combined Ids, use 64 length (db707430) +- fix `comment edit` usage (bb8a214d) +- add error to signal invalid format (5f6a3914) +- partially add two new functions to RepoData (5c4e7de0) +- add embryo of a generic, DAG-enabled entity (9cca74cc) +- clocks and write (51ece149) +- total ordering of operations (4ef92efe) +- more progress on merging and signing (dc5059bc) +- readAll and more testing (fe4237df) +- more testing and bug fixing (e35c7c4d) +- use BFS instead of DFS to get the proper topological order (32c55a49) +- test all merge scenario (26a4b033) +- working commit signatures (2bdb1b60) +- remove the pack lamport time that doesn't bring anything actually (f7416691) +- implement remove (ef05c15f) +- expose create and edit lamport clocks (59e99811) +- clock loader (71e22d9f) +- pass the identity resolver instead of defining it once (94f06cd5) +- support different author in staging operations (99b9dd84) +- migrate to the DAG entity structure! (3f6ef508) +- make sure merge commit don't have operations (4b9862e2) +- wrap dag.Entity into a full Bug in MergeAll (45e540c1) +- no sign-post needed (bd095417) +- nonce on all operation to prevent id collision (f1d4a19a) +- add support for storing files (5215634d) +- more comments (cb9b0655) +- returning value (1216fb1e) +- many fixes following the dag entity migration (55499252) +- minor cleanups (10a80f18) +- workaround a non thread-safe path in go-git (d000838c) +- workaround more go-git concurrency issue (72197531) +- fix empty actors/participants in the index (7edb6a2c) +- attempt to fix a CI issue (7a7a4026) +- Add non-interactive option to interactive commands (1939949f) +- proper backend close on RunE error (271dc133) +- Add AddCommandAndCloseBug mutation (4043f5da) +- Add comment-and-close of a bug in one step (098bcd0c) +- Implement AddCommentAndReopenBug mutation (27b5285b) +- Add comment-and-reopen of a bug in one step (6f6831e1) +- github bridge: push then pull without duplication (476526ac) +- github import, some issue titles cause error (160ba242) +- Add new iterator with state change events (aa4e225a) +- order events on the fly (e762290e) +- re-enable previously broken test (e888391b) +- upgrade graphql-codegen dependencies (11d51bee) +- upgrade most dependencies (ce502696) +- replace React imports (bce4d095) +- upgrade react-router (b0eb041e) +- upgrade Material UI (fd17d6dd) +- replace GraphQL linter (5f35db22) +- update nodejs (03ad448c) +- fix compile (4af26663) +- fix dark theme colors (8229e80d) +- allow to resolve identities when numashalling operations (fd14a076) +- fix incorrect client creation reusing the same credential (6f112824) +- add an extensive example (450d7f7a) +- don't serialize multiple time the author, only once in OperationPack + (c5b70d8d) +- use the correct GenBashCompletionV2 instead of the legacy function (f25690db) +- fix bash completion with `git bug` (edc8b758) +- fix incorrect query parsing with quotes escaped by the shell (b9991d84) +- lots of small ironing (3d534a70) +- strict Markdown requires empty lines before (and after) lists (33c67027) +- Adds link explaining nounce (wikipedia) (543e7b78) +- Moves example description after the example (2a0331e2) +- Links to a section further down (e652eb6f) +- Highlight some words with special meaning (00fb4bc0) +- Removes now outdated statement about ops and root (9b871c61) +- Multiple, minor readability and language improvements (75ca2ce7) +- move all completions in a dedicated folder (c732a18a) +- fix two invalid mutex lock leading to data races (fe231231) +- fix data race when closing event channel (7348fb9e) +- clean-up commented code (e29f58bf) +- close index before deleting it on disk (50de0306) +- merge in LocalStorage namespace configuration (5982e8fb) +- rearrange imports to git-bug convention (941f5b3f) +- ensure that the default repo has a non-empty name to make js/apollo happy + (295da9c7) +- proper base operation for simplified implementation (3d454d9d) +- fix an issue where Id would be used, then changed due to metadata (d179b8b7) +- generalized resolvers to resolve any entity time when unmarshalling an + operation (45f5f852) +- have a type for combined ids (45b04351) +- adapt to CombinedId (6ed4b8b7) +- add a flag to log handling errors (8d11e620) +- test op serialisation with the unmarshaller, to allow resolving entities + (e1b172aa) +- update most of dependencies (c02528b7) +- put react-scripts and typescript as dev-dependency (49fe8e9f) +- better PHONY (0eef9391) +- bubble up the comment ID when created, or edited the first comment (3c6ebc2b) +- fix rate limiting (a52c474f) +- concurrent loading of clocks (d1744f5e) +- sanitize rate limit waiting time (9abeb995) +- fix incorrect loader handling (3c0fcb74) +- pack into binary (61c9f401) +- add a release workflow to build and upload binaries (c74fabd6) +- don't build for darwin/386 as support has been removed in golang (a3fa445a) + +## 0.7.1 (2020-04-04) + +To view the full set of changes, including internal developer-centric changes, +run the following command: + +``` +git log --oneline 0.7.0..0.7.1 +``` + +### Other changes + +- build with go-1.14, release with go-1.13 (4096cb05) +- change title (e4f501c0) +- fix missing login in LegacyAuthorExcerpt causing panic (e0a702f4) +- add target to clean remote identities (05c968ca) +- fix bugs import url (49285b03) +- match bugs on IDs + baseURL because the URL is not stable (8389df07) +- tag bugs with the base URL, tighten the matching (43977668) +- tighten the import matching (fae3b2e7) +- tighten the bug matching (a8666bfe) +- replace the all-in-one query parser by a complete one with AST/lexer/parser + (5e4dc87f) +- no need for an ast package (314fcbb2) +- fix a nil value access (aec81b70) +- more robust tokenizer (ecde909b) +- fix a bad login handling in the configurator (38b42bc8) +- refactor the iterator, fix bugs (f4ca533f) +- fix iterator (paginate with first index 1) and avoid the trailing API call + (903549ca) + +## 0.7.0 (2020-03-01) + +To view the full set of changes, including internal developer-centric changes, +run the following command: + +``` +git log --oneline 0.6.0..0.7.0 +``` + +### Bug fixes + +- version not set properly when built on travis (20080aa0) +- merge (20ca2bc0) +- tests ? (2e7ac569) +- usage of newIdentityRaw (d349137e) + +### Documentation + +- fix typos (710d8566) +- refresh the github howto (8365c633) + +### Other changes + +- fix edit not being pushed with baseUrl (d2ed6747) +- proper token generation URL with custom base URL (86b114ae) +- warning when the comment to be edited is missing instead of failing (ee48aef4) +- use the IntrospectionFragmentMatcher & update dependencies (5374a74e) +- custom image tag (42219ab6) +- fix column width on bug (e08ecf1a) +- open image in a new tab on click (3413ee44) +- fix width for pre tags in bug messages (e3646748) +- change primary color (f716bc1d) +- fix AppBar (8f6bc245) +- display current identity in the AppBar (def48e53) +- add logo (7de5a25f) +- remove useless conditions (70354165) +- enhance the issue list page (fa135501) +- implement filtering (4d97e3a1) +- implement issue list sort (ead5bad7) +- add open/closed issues count (adb28885) +- don't store legacy identities IDs in bug excerpt as they are not reachable. + Fix a panic (f093be96) +- better reusable prompt functions (db893494) +- rework mutation (390b13c9) +- rework resolving of bugs, identity (da0904d2) +- make sure to have a name (8773929f) +- fix wrong error used (a335725c) +- hopefully fix tests (bef35d4c) +- fix 2 uncatched errors (9b1aaa03) +- use the cache in priority for fast browsing at \< 20ms instead of seconds + (81f5c3e0) +- add proper locking to avoid concurrent access (b7dc5b8a) +- many fixes and improvments at the config step (bd7b50bc) +- update install instruction with go modules (39a31040) +- test with latest nodejs and LTS (9eb271a2) +- upgrade packages + add some typescript dependencies (f105f3bb) +- transform index and App to TypeScript (aea42344) +- generate TS types for graphql queries (a2721971) +- convert bug view to TypeScript (9c570cac) +- convert bug list to typescript (6a502c14) +- convert more things to typescript (022f5103) +- convert custom tags to TypeScript (0c5f6e44) +- fix logo url (b8367082) +- typecheck remaining bug list components (e5f52401) +- force import order (9ddcb4b0) +- make travis run unit tests (76d40061) +- merge defaultRepository and repository for simplified webUI code (1effc915) +- stop using defaultRepository (465f7ca7) +- lint graphql files (b70b4ba4) +- expose the name of Repository (929480fa) +- server side take responsability to commit (0c17d248) +- fix Content type (c2d18b3a) +- finish TypeScript conversion (d0a6da28) +- run linter (c48a4dc7) +- format some files (ab09c03a) +- refactor and introduce Login and LoginPassword, salt IDs (34083de0) +- massive refactor (fe3d5c95) +- more refactor and cleanup (87b97ca4) +- pass the context to Init for when a client build process needs it (e231b6e8) +- minor fixes (a4e5035b) +- use the new generalized prompts (2792c85b) +- admittedly biased go styling (b2ca5062) +- rework to use the credential system + adapt to refactors (5c230cb8) +- fix a nil context (01b0a931) +- minor aspect fix (d7bb346d) +- create comment form (680dd91c) +- start reorganizing the component structure (8b85780d) +- move pages components (ce6f6a98) +- in the bug list, toggle open and close when clicking (d052ecf6) +- list by default only open bugs (c4f5cae4) +- fix missing space in the bug preview (602f9114) +- minor styling of the timeline events (e408ca8a) +- more styling on the bug page (86a35f18) +- fix the default query (14e91cb5) +- more readable dates, also localized (afd22acd) +- style SetStatus (218d4605) +- run linter fix (f9648439) +- fix bad formatting on Date (1164e341) +- adjust some margins (f1759ea3) +- record the login used during the configure and use it as default credential + (0cebe1e5) +- fix label cropped in the label edition window (a322721a) +- fix bad rendering due to outdated go-runewidth (68acfa51) +- bring back the login to hold that info from bridges (purely informational) + (893de4f5) +- correct casing for user provided login (fe38af05) +- fix tests (a90954ae) +- fix GetRemote to not break when there is no remotes (eeeb932b) +- link to other ressources (f82ad386) + +## 0.6.0 (2019-12-27) + +To view the full set of changes, including internal developer-centric changes, +run the following command: + +``` +git log --oneline 0.5.0..0.6.0 +``` + +### Bug fixes + +- imported bugs count (458f4da1) +- tests (bc03a89a) +- index out of range panic in github configuration (b82ef044) +- everything following the hash-->id change (612a29b0) + +### Documentation + +- update implementation table (03b6afa2) +- replace images with new ones (21e82d53) +- update generated documentations (c5824ff1) +- README: make the feature-list render as list in more Markdown flavors + (61d94305) + +### Other changes + +- add a apple/tomato caption (015a3b2e) +- use check marks instead of confusing fruits (3bc5e6d5) +- improve the bridge feature matrix (eb494674) +- fix ls-id description (c0c8b115) +- simplify and improve the import test (eec17050) +- polishing (239646f3) +- fix escape sequence disapearing at the end of a line (606a66dd) +- ls fix CJK characters out of alignment (5f0123d1) +- Migrate to Material-UI's new style API (d79ef7a7) +- Rework pagination (51ca8527) +- Bump dependencies (a43c7ea1) +- update dependencies (485ca590) +- add color for label (93bed322) +- format and add some comments for color label (1d94fd1b) +- rename Color to RGBColor (9839d8bc) +- use RBGA color from image/color (d156f41d) +- expose label color (9adf6de4) +- use grahql response to create labels colors (511ef010) +- Add Label gql fragment (aa6247ce) +- Implement `Authored` whenever possible (1c2ee10c) +- Render markdown (356d1b41) +- refactor how test repo are created/cleaned (c7abac38) +- add ReadConfigBool and ReadConfigString functions (d564e37b) +- add flags/config to control the automatic opening in the default browser + (8bfc65df) +- fix Bug's Lamport edit time potentially wrong due to rebase (777ccb9c) +- generate PowerShell command completion (b64587f8) +- expose the operation when creating a new bug (08c0e18a) +- change mutations to respect the Relay specification (b2f8572c) +- consistently use `ref` to fetch a repository (9f4da4ce) +- fix typo (17cbe457) +- document the PowerShell completion (aa4464db) +- github exporter is no longer a planned feature (41a5a7fc) +- use a single KeyTarget constant for all bridges (5b1a8cde) +- detect when trying to configure a bridge with a name already taken (dc289876) +- fix a missing line break (eef73332) +- rework how RmConfigs works with git (76db2f42) +- RmConfigs usage of git version lt 2.18 (fb50d470) +- don't use the gqlgen command to generate to avoid pulling urfave/cli + (14022953) +- fix project visibility prompt (c805142f) +- add github.com/xanzy/go-gitlab vendors (15d12fb6) +- init new bridge (01c0f644) +- init exporter (cfd56535) +- add bridge configure (a1a1d486) +- bridge project validation (35a033c0) +- add issue iterator (8ee136e9) +- remove request token methodes (51445256) +- add method to query all project labels (aea88180) +- prompt only for user provided token (6c02f095) +- fix iterator out of index bug (612264a0) +- update github.com/xanzy/go-gitlab to version 0.19.0 (1c23c736) +- fix iterator bugs and enhacements (b512108a) +- add iterator LabelEvents (89227f92) +- add import note utilities (53f99d3b) +- complete importer (8b6c8963) +- check identity cache in ensurePerson (ffb8d34e) +- check notes system field (e012b6c6) +- add snapshot.SearchComment method (d34eae18) +- make resolve error unique within the importer (76a389c9) +- add import unit tests (05a3aec1) +- fix note error handling bug (ce3a2788) +- add bridge config tests (7726bbdb) +- move constants to gitlab.go (b9a53380) +- remove exporter (5e2eb500) +- add gitlab client default timeout (b1850783) +- Fix test project path (b27647c7) +- update generated docs (54dd81e3) +- improve tests and errors (ece2cb12) +- global code and comment updates (d098a964) +- change validateProjectURL signature (0329bfdf) +- fix comment edition target hash in the import (0c8f1c3a) +- add getNewTitle tests (29fdd37c) +- handle other notes cases (5327983b) +- fix bug when running import multiple times (e678e81b) +- importer handle mentions in other issue and merge requests (ca5e40e5) +- compute op's ID based on the serialized data on disk (2e1a5e24) +- fix bad refactor (a0dfc202) +- use a dedicated type to store IDs (67a3752e) +- upgrade github/xanzy/go-gitlab version to 0.20.0 (f6280a22) +- upgrade github.com/99designs/gqlgen to v0.9.2 (d571deef) +- add context.Context to ImportAll and ExportAll signatures (5ca326af) +- use errgroup.Group instead of sync.WaitGroup (501a9310) +- silence export and import nothing events (e6931aaf) +- fix name case sensitivity in retrieving and creating labels using github + graphql api (d19b8e1a) +- add exporter test cases for label change bug (4a4e238d) +- add exporter implementation (f1c65a9f) +- rebase and correct exporter (f1be129d) +- fix edit comment request and remove label functionalities (514dc30c) +- improve exporter error handling and label change operations (63e7b086) +- exporter ignore issues imported from or exported to different projects + (22960159) +- remove gitlab url checking before export (c8fdaab5) +- tweaking (35c6cb6e) +- fix git version parsing with broken version (91e4a183) +- recompile the web interface (23239cc1) +- allow to cancel a cleaner (cb204411) +- also protect cancel with the mutex (c4accf55) +- minor cleanup (6a0336e0) +- add a `tui` alias for `termui` (c7792a5d) +- enhance flag description (65d7ce7c) +- add bridge configure completion scripts (77e60ace) +- recover terminal state in password prompts (be947803) +- move cleaners to where is called (46f95734) +- add tokenStdin field to bridgeParams (f3d8da10) +- update react-scripts (c56801b7) +- fix a missing key (0020e608) +- upgrade to material-ui 4 (87c64cd8) +- Fix bug listing style (0ad23d0e) +- make repository.validLabels a connection (7df17093) +- silence usage when cobra commands return an error (e5b33ca3) +- fix minor grammar issues and clarify a bit (26b0a9c9) +- reference git internals documentation (17e0c032) +- fix integration tests (8498deaa) +- iterator now query all label events when NextLabelEvent() i called, and sort + them by ID (312bc58c) +- iterator use simple swap (ed774e4e) +- try to describe the `OperationPack` format more clearly (98792a02) +- config interface and implementation rework (ab935674) +- add ReadTimestamp methods and improve naming (7f177c47) +- add StoreTimestamp/StoreBool to the config interface (104224c9) +- use `repo.runGitCommand` and `flagLocality` instead of execFn (93048080) +- improve documentation and fix typo mistake (b85b2c57) +- update RepoCache and identity to use new repository Config (618f896f) +- use new repository configuration interface (60c6bd36) +- fix ineffectual assignment in git test (f9f82957) +- add colors for labels (d0d9ea56) +- rename RGBA to Color (75004e12) +- add labels colors in bug table (25b15169) +- fix tests (209d337b) +- better overflow management (c9e82415) +- add labels color + formatting for comments (809abf92) +- upgrade github.com/xanzy/go-gitlab dependencies to 0.21.0 (a3a431ed) +- use gitlab.Labels pointer instead of string slice (4666763d) +- support bridge imports after a given date and resumable imports (614bc5a2) +- improvement on the import resume feature (57e23c8a) +- support darwin operating systems (565ee4e4) +- improve iterator NextTimelineItem function (13f98d0c) +- add missing error check in export tests (b1a76184) +- improve iterator readability (bf84a789) +- migrate to awesome-gocui instead of the old fork I had (cb8236c9) +- rework the cursor in bugtable to match the rendering before the switch to + awesome-gocui (965102f7) +- Implement token functionalities (a6ce5344) +- comment token functionalities (56551b6a) +- add bridge token subcommand (9370e129) +- use token id instead of name (967e1683) +- use token value as identifier (3433fa5d) +- various cleanups (3984919a) +- use a hash as token identifier instead of the token it self (baefa687) +- use entity.Id as id type (4dc7b8b0) +- store token in the global config and replace scopes with create date + (bbbf3c6c) +- regenerate documentation and fix imports (45653bd3) +- various improvement on the global token PR (e2445edc) +- add bridge token show (f8cf3fea) +- rename `token` into `auth` (e0b15ee7) +- update github.com/xanzy/go-gitlab to v0.22.0 (83eb7abd) +- follow API changes (c1f33db2) +- fix iterator regression (e3e37fd7) +- don't forget to assign the new packs after a merge (0b2a99ab) +- esthetism rename (a9b32e6b) +- use NeedCommit() in the interface, drop HasPendingOp() (ed2ac793) +- document import/export events (67c82f4a) +- add missing metadata (8ffe2a9b) +- make sure there is no Operation's hash collision (283e9711) +- update github.com/xanzy/go-gitlab dependencies (87f86bca) +- importer corectly emit events (8b5685bb) +- export correctly emit nothing events (87244d3c) +- importer and exporter correctly emit NothingEvents (967f19a3) +- importer correctly emit NothingEvent (d6d5978b) +- update github.com/awesome-gocui/gocui dependencies (17b43299) +- sort project candidate in the interactive wizard (5054b8db) +- use the target as well in the token ID (76b61293) +- load token value in ensureInit (bf758386) +- configuration with global configs (b1d0f48f) +- use core.ConfigKeyToken instead of keyToken (014e754f) +- add bridge configure --token-id flag (09db1cda) +- add LoadTokensWithTarget and LoadOrCreateToken functions (da2d7970) +- add gitlab bridge configuration (06abb5a5) +- trim inputs during bridge configuration (7cb77209) +- tiny cleanups of the configurator (afe69d0c) +- configurator cleanup (4f856d6f) +- move export event handling to the CLI (1a1e313f) +- fix incorrect last import time on context cancel (8f7f8956) +- huge refactor to accept multiple kind of credentials (b92adfcb) +- Correctly cast configs\[configKeyKind\] (58c0e5aa) +- `user create` only assign the user identity if not set (da6591e4) +- support self-hosted GitLab instance (f6b4830c) +- allow to configure and pull without having set a user first (864d3ed3) +- add missing baseUrl prompt and options (5cffb5d1) +- fix an excessive assumption about an error (fc568209) + +## 0.5.0 (2019-04-21) + +To view the full set of changes, including internal developer-centric changes, +run the following command: + +``` +git log --oneline 0.4.0..0.5.0 +``` + +### Documentation + +- update webui screenshot (2ac2c881) +- same size for the webui screenshots (d26b1d08) +- fix typos (4184beaf) +- add an architecture overview (cc3a21ac) + +### Other changes + +- minor cleaning (5653ae98) +- fix broken truncate with unicode and use the ellipsis character in + LeftPadMaxLine (5e744891) +- use the '↵' symbol to save screen space (ab970da4) +- tighter column in the bug table (9c89cf5b) +- slightly better error message (a133cdff) +- simplify regex (e1714489) +- ignore jetbrains project files (85a68c82) +- Add developer-specific information. (c31e7fba) +- add more explanation about the dev process (63807382) +- minor cleaning (47b2aa4c) +- upgrade npm dependencies to fix + https://nvd.nist.gov/vuln/detail/CVE-2018-16469 (8fc15a03) +- now that it's possible, split the schema for clarity (0d5bd6b1) +- hopefuly fix the handling of chinese (f9fc85ac) +- fix a wrapping bug leading to line longer than they should (261aa617) +- more chinese related fixes (7454b950) +- display an explicit placeholder for empty messages (94b28b68) +- build on all go and nodejs version supported (45b82de0) +- minor cleaning (96f51416) +- switch to the previous/next page when going up/down. (1174265e) +- Better position the cursor when changing page. (87098cee) +- don't reset the cursor when paginating with left/right (fb87d448) +- use a forked gocui to fix large character handling (ebcf3a75) +- fix handling of wide characters (32b3e263) +- fix non determinist zsh comp generation (3f694195) +- show: change for a single valued --field flag (43d0fe5c) +- use tiers (090cd808) +- update the date in the generated doc (09692456) +- output the build info message on stderr to avoid breaking scripts (d380b3c1) +- Add ls-id \[<prefix>\] command (f70f38c8) +- Add ls-id \[<prefix>\] command (3c0c13bb) +- fix unhandled error (0aefae6f) +- implement the loading from git (06d9c687) +- add metadata support (3df4f46c) +- more progress and fixes (bdbe9e7e) +- more progress and fixes (844616ba) +- somewhat getting closer ! (d10c7646) +- more cleaning and fixes after a code review (14b240af) +- more refactoring progress (56c6147e) +- wip push/pull (328a4e5a) +- wip (21048e78) +- add more test for serialisation and push/pull/merge + fixes (cd7ed7ff) +- I can compile again !! (d2483d83) +- all tests green o/ (da558b05) +- work on higher level now, cache, first two identity commands (864eae0d) +- fix tests (976af3a4) +- wip caching (947ea635) +- working identity cache (54f9838f) +- complete the graphql api (ffe35fec) +- store the times properly (71f9290f) +- fix tests (71930322) +- some UX cleanup (b8cadddd) +- fix RmConfigs (839b241f) +- add the clean-local-identities target for debugging (ecf857a7) +- fix typo (b59623a8) +- fix 3 edge-case failures (e100ee9f) +- simplify some code (268f6175) +- fix ResolveIdentityImmutableMetadata byt storing metadata in IdentityExcerpt + (8bba6d14) +- add a super-fast `user ls` command (7a80d8f8) +- add a `user adopt` command to use an existing identity (304a3349) +- add a `.` at the end of Short commands usage (2fd5f71b) +- another round of cleanups (46beb4b8) +- show the last modification time in `user` (c235d89d) +- better API to access excerpts (bad05a4f) +- `user ls` also show metadata (f6eb8381) +- fix potential bug due to var aliasing (b6bed784) +- `git bug ls` should be faster (43e56692) +- make the title filter case insensitive (40865451) +- Fixing ls-id (a45ece05) +- don't make bug actions drive identity actions (a40dcc8a) +- add basic unit testing (d27e3849) +- properly push/pull identities and bugs (24d6714d) +- only return the error (not the function help) when no identity is set + (bdf8523d) +- fix a bad output in `bug comment` (029861fa) +- display comment's id in `git bug comment` (0a71e6d2) +- Upgrade dependencies (67c84af4) +- Use Timeline API instead of raw operations (850b9db8) +- Rework timeline style (22089b5e) +- pack it (e028b895) +- expose allIdentities, identities and userIdentity in the repo (15c258cd) +- Fix and match for labels (1d758f9f) +- add a push/pull test (96987bf6) +- fix labels no showing properly in `git bug show <id> -f labels` (a64aaacc) +- add `show --field humanId` (96d356a3) +- add a --field flag to `git bug user` to display users details individually + (5b0a92de) +- make Bug's actors and participants a connection (e027d5ee) +- fix test indentation (5733178a) +- expose valid labels (14461060) +- fix bug when trying to edit without selection (ff686e6d) +- fix ls not displaying the new Identities properly (5eeeae7c) +- fix EditCommentOperation targeting the wrong comment (d862575d) +- fix a potential crash with malformed data in EditCommentOperation (ef84fda0) +- update the documentation with the new identity workflow (5dd9d248) +- make bugTable only use the cache Easy pick (b76357a5) +- add a feature matrix of the bridges implementation (5be164c4) +- enable go 1.12, build release with go 1.11 (8d7a2c07) + +## 0.4.0 (2018-10-21) + +To view the full set of changes, including internal developer-centric changes, +run the following command: + +``` +git log --oneline 0.3.0..0.4.0 +``` + +### Bug fixes + +- build (a37a5320) +- js formatting with prettier (e89375f2) + +### Documentation + +- update manpages due to change of month (95021a07) + +### Other changes + +- update gqlgen to 0.5.1 (b478cd1b) +- add a data validation process to avoid merging incorrect operations (7bec0b1f) +- better help text for the query language (bcf2b6db) +- rename 'new' into 'add' to have a verb (6b732d45) +- git bug comment now show the comments of a bug (bfb5e96a) +- add `git bug comment add` to add a comment (6cdc6c08) +- add a title command to display a bug's title (d9f72695) +- add a title edit command (ae100e0e) +- make the `commands` command show subcommands as well (b9fc8b66) +- add a `status` command to show a bug status (a846fb96) +- migrate the open/close commands under the `status` command (dad61892) +- make `label` display the current labels (cc086eba) +- add a `label add` command to add new label to a bug (2965b70f) +- add a `label rm` command to remove labels from a bug (5eaf9e83) +- add a package to handle implicit bug selection (0d5998eb) +- add a `select` command to select a bug for future implicit use (5f9fd2a2) +- convert compatible commands to the implicit select mechanism (544b9cc0) +- readBug returns better errors (84555679) +- don't ignore error when building the cache (760d0771) +- use q as keybinding to quit the show bug view (a645c901) +- explain how to quit (2daf2ddc) +- relay early the merge events (63d0b8b7) +- don't stop the process when one merge fail (4c576470) +- reclassify some merge error as `invalid` instead of hard error (1060acfd) +- fix a panic on merge invalid (d57e2fdd) +- ls now accept queries without quote (d71411f9) +- update favicon with git-bug logo (386cc3d6) +- workaround for git returning no path when inside a .git dir (8a038538) +- serve the index.html file by default to deal with the SPA router requirements + (7c63417e) +- add the beginning of a github importer (1c86a66c) +- description cleanup (cfce3a99) +- add a `ls-labels` command that output valid labels (6e447594) +- make github 2FA work (6a575fbf) +- split the Repo interface to avoid abstraction leak in RepoCache (82eaceff) +- better interfaces, working github configurator (921cd18c) +- more documentation (c3a5213f) +- cleanup file name (a122d533) +- add functions to read/write git config (666586c5) +- big refactor and cleanup (5e8fb7ec) +- add the `bridge` and `bridge configure` commands (43bda202) +- add `bridge rm` (061e83d4) +- add `bridge pull` (2282cbb5) +- validate config before use (c86e7231) +- query most of the data (c4a20762) +- add the ability to store arbitrary metadata on an operation (a72ea453) +- add the optional field AvatarUrl to Person (5d7c3a76) +- add raw edit functions to allow setting up the author, the timestamp and the + metadatas (40c6e64e) +- add a target producing a debugger friendly build (25bec8eb) +- first working github importer (879e147e) +- add a general test for the handler/resolvers (f9693709) +- detect when the title is not changed and abort the operation (ac29b825) +- detect when an edit title doesn't change it and abort the operation (18f5c163) +- add a `deselect` command to deselect a previously selected bug (04ddeef9) +- don't forget to treat the error when selecting a bug (86792d78) +- clear the selected bug when invalid (66f3b37c) +- better responsive columns in the bug table (5b3a8f01) +- handle both sha1 and sha256 git hashes (8ab2f173) +- manually fix the generated code, gix the graphql handler (8af6f7d9) +- fix a link (8fdd6bf9) +- define a hash-based identifier for an operation (794d014f) +- apply an operation with a pointer to the snapshot (41e61a67) +- implement comment edition (c46d01f8) +- expose the new Timeline (36ebbe0c) +- fix compilation (75c921cd) +- various minor improvements (037f5bf5) +- advertise edited comments (bad9cda9) +- use deditated type for all TimelineItem (7f86898e) +- use a value embedding for OpBase (3402230a) +- add a test for OpBase metadata (bda9b01b) +- add a test for operations hash (97d94948) +- `bridge` don't take arguments (a4be82ca) +- also index the first op metadata (be59fe0d) +- add a new no-op operation to store arbitrary metadata on a bug (de81ed49) +- also clear the cache after deleting the bugs (aea85f04) +- custom error for the different error case when loading a bug (f026f61a) +- in op convenience function, return the new op to be able to set metadata later + (6ea6f361) +- message can be empty on edit comment (0fe7958a) +- make sure to invalidate the hash when changing an op's metadata (f18c2d27) +- working incremental + comment history for the first comment (8ec1dd09) +- incremental import of comments + editions (892c25aa) +- incremental import for labels, title edition, status changes (b5025a51) +- better multi choice prompt to select the target for `bridge configure` + (f37155d0) +- explain better what happen with the user credentials (f4643632) +- handle the case where no diff is available for a comment edition (558e149b) +- deal with the deleted user case where github return a null actor (64133ee5) +- add missing operation (03202fed) +- also pull users email (7cb7994c) +- update packed files (e414a0e3) +- some cleanup in the label edition code (7275280d) +- don't load the repo for commands that don't need it (7a511f9a) +- fix `comment add` flags set on the wrong command (b08e28e6) +- check the bug id before the user write the message for `comment add` + (f67c57c0) +- unify the processing from editor/file/stdin for `add` and `comment add` + (d37ffa6b) +- add a new SetMetadataOperation to retroactively tag operations (82701f8c) + +## 0.3.0 (2018-09-13) + +To view the full set of changes, including internal developer-centric changes, +run the following command: + +``` +git log --oneline 0.2.0..0.3.0 +``` + +### Bug fixes + +- english grammar (30d4bc21) + +### Documentation + +- fix some typos (73bd0f4a) +- add logo to README.md (e3265303) +- add missing period in README.md (33a0ae2b) +- fix terminal UI recording src (2078100e) +- document the query DSL (28ee08af) + +### Other changes + +- fix a crash when a bug is created with an empty message (c974cc02) +- add the gitter badge (6ecfb9da) +- advertise a little more the chat lobby (71523f23) +- remove use of the too recent %(refname:lstrip=-1) of git (b5881213) +- add benchmarcks for bug merge (08127d8d) +- make it seedable and reusable (285e8394) +- add a benchmark for reading all bugs in a repo (8575abf2) +- Format everything with prettier (bb4ebed0) +- Ensure code format in CI by running eslint (ce2be02c) +- added archlinux aur package in install section (4a2fedd9) +- a bit of styling (fd268767) +- more styling (94217828) +- lock the repo with a pid file; automatic cleaning (6d7dc465) +- introduce WithSnapshot to maintain incrementally and effitiently a snapshot + (16f55e3f) +- add a new BugExerpt that hold a subset of a bug state for efficient sorting + and retrieval (e7648996) +- maintain, write and load from disk bug excerpts (0514edad) +- add name to web app manifest. (11ad7776) +- rename RootCache into MultiRepoCache (90a45b4c) +- provide sorted (id, creation, edit) list of bugs (919f98ef) +- update (e3c445fa) +- provide a generic bug sorting function (0728c005) +- make sure the lamport values are set properly after a commit (e2a0d178) +- fix missed code path that should update the cache (c0d3b4b0) +- add proper licensing and small cleaning (e82b92f6) +- add logotype as well (74c48ca0) +- also update the operations incrementaly in the snapshot (d17cd003) +- fix the logo url to use to master branch (56333087) +- recomend go get -u (453ae857) +- only print once the error (6f1767d1) +- various cleaning (f136bf6a) +- clean outdated build tag (265ecd81) +- refactor the Pull code to have the message formating in the upper layers + (61a1173e) +- refactor to handle bug changes during Pull (6d7e79a2) +- add a function to parse a status (877f3bc2) +- add a function to test the matching of a query (13797c3b) +- implement the filtering (a38c1c23) +- also store bug labels (21f9840e) +- combine sorting and filtering into a query with its micro-DSL (09e097e1) +- accept a query to sort and filter the list (dd0823dd) +- add an example of query (71bee1e6) +- properly parse and clean qualifier with multi word (0dc70533) +- add the alias `state` for the qualifier `status` (ece9e394) +- doc & cleaning (c8239a99) +- support expressing a query with flags as well (9bb980e9) +- ensure that OpBase field are public and properly serialized (2dcd06d1) +- resolved id by prefix using the cache instead of reading bugs (d1c5015e) +- use Esc key to quit instead of 'q' to free it for a `query` feature (30e38aab) +- allow to change the bug query (9cbd5b4e) +- AllBugs now accept a query (7b05983c) +- change the OperationPack serialization format for Json (60fcfcdc) +- proper int baked enum for merge result status instead of a string (19f43a83) +- add missing query help text (8a25c63d) +- return a more convenient array of result for label changes (f569e6aa) +- better perf by ensuring that the folder is created only once (bf11c08f) +- use 'q' for quit and 's' for search (f8b0b4f5) +- attempt to future-proof the cache file (b168d71f) + +## 0.2.0 (2018-08-17) + +To view the full set of changes, including internal developer-centric changes, +run the following command: + +``` +git log --oneline 0.1.0..0.2.0 +``` + +### Bug fixes + +- some linting trouble (df144e72) +- tests (1e9f2a9d) + +### Other changes + +- revamp the bug list (5edcb6c8) +- don't pack the huge .map file for production (43f808a0) +- expose startCursor and endCursor as well for a connection (ef0d8fa1) +- add a small program to go:generate the code (5c568a36) +- fix two bugs in the connection code (bc1fb34c) +- implement pagination on the bug list (24d862a6) +- reorganize the code (2530cee1) +- rework of the bug page with a timeline (1984d434) +- display label changes in the timeline + cleaning evrywhere (cf9e83e7) +- add `was` on SetTitleOperation to store what the title was (a4740937) +- display title changes in the timeline (17aa4050) +- display status change in the timeline (11b79260) +- pack it (f728a02a) +- minor css improvements (51b0d709) +- add a target to remove all local bugs (f510e434) +- fix out of bounds when opening a bug on non-first page (6af16c1c) +- show the bug after creation (e482a377) +- add a target to clean bugs on a remote (90f235b3) +- fix left/right unnecessarely moving up/down (c93c0221) +- update with new recording of the termui, and screen of the webui (55ab9631) +- fix the termui screencast not working on github (4e9ff2f5) +- cleanup (1e8e1af6) +- pack it (e076931a) +- create less bugs (eaef3149) diff --git a/cliff.toml b/cliff.toml new file mode 100644 index 00000000..9d8d3885 --- /dev/null +++ b/cliff.toml @@ -0,0 +1,164 @@ +# Documentation: https://git-cliff.org/docs/configuration +[changelog] +header = """# Changelog + +All notable changes to the project will be documented in this file. It is +non-exhaustive by design, and only contains public-facing application and API +changes. Internal, developer-centric changes can be seen by looking at the +commit log. +""" +body = """ +{% if version %} + {% set git_log_ref = version -%} + {% set v = version | trim_start_matches(pat="v") -%} + {% set ts = timestamp | date(format="%Y-%m-%d") -%} + ## {{ v ~ " (" ~ ts ~ ")" }} + {% if message %}\n{{ message | trim_start_matches(pat="v") }}\n{% endif -%} +{%- else -%} + {% set git_log_ref = "origin/HEAD" %} + ## Unreleased + + This section documents the commits which are not yet associated with a + released version. +{% endif %} +To view the full set of changes, including internal developer-centric changes, +run the following command: + +``` +git log --oneline {%- raw %} {% endraw -%} + {% if previous.version %}{{ previous.version }}..{% endif -%} + {{ git_log_ref }} +``` +{% for group, commits in commits +| filter(attribute="merge_commit",value=false) +| group_by(attribute="group") %} + ### {{ group | striptags | trim | upper_first }} + {% for commit in commits + | filter(attribute="breaking",value=true) + | filter(attribute="scope") + | sort(attribute="scope") %} + - **BREAKING CHANGE**: **{{ commit.scope }}**:{% raw %} {% endraw -%} + {{ commit.message | trim }}{% raw %} {% endraw -%} + {%- if commit.remote.username and commit.remote.pr_number -%} + by @{{ commit.remote.username }} in #{{ commit.remote.pr_number }} + {%- else -%} + ({{ commit.id | truncate(length=8,end="") }}) + {%- endif -%} + {%- if commit.breaking_description != commit.message %} + {% raw %} - {% endraw -%} + {{ commit.breaking_description | trim | indent(prefix=" ",blank=true) }} + {%- endif -%} + {% endfor %} + {%- for commit in commits | filter(attribute="breaking",value=true) -%} + {% if not commit.scope %} + - **BREAKING CHANGE**: {{ commit.message | trim }}{% raw %} {% endraw -%} + {%- if commit.remote.username and commit.remote.pr_number -%} + by @{{ commit.remote.username }} in #{{ commit.remote.pr_number }} + {%- else -%} + ({{ commit.id | truncate(length=8,end="") }}) + {%- endif -%} + {%- if commit.breaking_description != commit.message %} + {% raw %} - {% endraw -%} + {{ commit.breaking_description | trim | indent(prefix=" ",blank=true) }} + {%- endif -%} + {%- endif -%} + {% endfor %} + {%- for commit in commits + | filter(attribute="scope") + | sort(attribute="scope") -%} + {% if not commit.breaking %} + - **{{commit.scope}}**:{% raw %} {% endraw -%} + {{ commit.message | trim }}{% raw %} {% endraw -%} + {%- if commit.remote.username and commit.remote.pr_number -%} + by @{{ commit.remote.username }} in #{{ commit.remote.pr_number }} + {%- else -%} + ({{ commit.id | truncate(length=8,end="") }}) + {%- endif -%} + {%- endif -%} + {%- endfor -%} + {%- for commit in commits -%} + {% if not commit.scope and not commit.breaking %} + - {{ commit.message | trim }}{% raw %} {% endraw -%} + {%- if commit.remote.username and commit.remote.pr_number -%} + by @{{ commit.remote.username }} in #{{ commit.remote.pr_number }} + {%- else -%} + ({{ commit.id | truncate(length=8,end="") }}) + {%- endif -%} + {%- endif -%} + {% endfor %} +{% endfor -%} +""" +trim = true + +[bump] +features_always_bump_minor = true +breaking_always_bump_major = false # TODO: set this to true for 1.0.0 + +[git] +conventional_commits = true +filter_unconventional = true +protect_breaking_commits = true +sort_commits = "oldest" +topo_order = true + +commit_preprocessors = [ + # map various older scopes to new scopes + # TODO: remove after init (because we will enforce an append-only workflow) + { pattern = '^([^\(]+)\(commands\):', replace = '$1 (cli):' }, + { pattern = '^[^\(]+\(ci\)', replace = 'ci:' }, + { pattern = '^[^\(]+\(TestCache\)', replace = 'test:' }, + { pattern = '^doc: (.+ \(#1395\))', replace = 'docs(dev-infra): $1' }, + { pattern = '^fix: (.+ \(#1403\))', replace = 'fix(completion): $1' }, + { pattern = '^docs: (correct mispelled words)', replace = 'fix(dev-infra): $1' }, + { pattern = '^(.+) \[fix\]$', replace = 'docs: $1' }, + { pattern = '^fix ', replace = 'fix: ' }, + + # remove errata from old commit messages + # TODO: remove after init (because we will enforce an append-only workflow) + { pattern = '^([^\(]+)\((?:#?\d+|opencollective|git-bug-863)\)', replace = '$1' }, + { pattern = ', fix https://.+/issues/653', replace = '' }, + + # remove quotes from reversions + # we do this to clean up the changelog output, since the raw message would + # otherwise be surrounded in quotes + { pattern = '^[Rr]evert: "(.+)"', replace = 'revert: $1' }, + + # convert quotes in subjects to graves + # TODO: remove after init (because we will enforce an append-only workflow) + { pattern = '"', replace = '`' }, + + # escape backslashes + # we do this because mdformat will remove isolated backslashes, and there is a + # historical commit that contains one + # TODO: remove after init (because we will enforce an append-only workflow) + { pattern = '\\', replace = '\\' }, + + # remove PR references from commit messages, to remove a hard dependency on + # github. by default, we show the commit hash (although github usernames and + # PR references are added in dynamically during release, for the changes + # shown on the release page) + { pattern = '\s+\(\#[0-9]+\)', replace = '' }, +] + +# these matches are applied in order, so be conscious of any changes you make +commit_parsers = [ + # skip commits generated by bots + { message = '^[^(]+\(changelog\)', skip = true }, + { message = '^build\(deps(-dev)?\)', skip = true }, + { message = '^deps?', skip = true }, + + # skip internal changes (non-consumer-facing changes) + # note that breaking changes will still be shown + { message = '^(?:revert: )?(?:ci|build|test|refactor)', skip = true }, + { message = '^(?:revert: )?.+\(dev-infra\)', skip = true }, + + # assign group based on type + { message = '^docs?', group = 'Documentation' }, + { message = '^feat', group = 'Features' }, + { message = '^fix', group = 'Bug fixes' }, + { message = '^perf', group = 'Performance' }, + { message = '^revert', group = 'Reversions' }, + + # catch all other commits + { message = '^.+', group = 'Other changes' }, +] diff --git a/flake.nix b/flake.nix index b6146b04..0a4ada0d 100644 --- a/flake.nix +++ b/flake.nix @@ -47,6 +47,7 @@ delve gh git + git-cliff go golangci-lint gopls -- GitLab