Skip to content

Latest commit

 

History

History
257 lines (159 loc) · 7.75 KB

File metadata and controls

257 lines (159 loc) · 7.75 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[1.7.1] - 2026-04-11

Added

  • Dockerfile

Changed

  • Renamed output_handler.py to output.py
  • Append Output to all classes of output.py for clarity
  • Seaparate installation docs from main README file

[1.7.0] - 2026-04-01

Added

  • HTML exportbuganize search … -e html writes a styled HTML table with a row index column

Changed

  • Feature-gated CLIrich is no longer a core dependency. Install the CLI with pip install buganize[cli];

[1.6.0] - 2026-03-28

Added

  • Buganize.is_healthy() — checks if the Buganizer backend is reachable via /action/yes
  • Health check runs automatically in the CLI before each command
  • CommentsResult dataclass with comments, total_count, next_page_token, and has_more
  • API reference now documents the /listComments endpoint, /action/yes health check, and the extended /updates request format with sort order

Changed

  • Buganize.comments() now uses the dedicated /listComments endpoint instead of filtering /updates
  • Buganize.comments() returns CommentsResult instead of list[Comment], with support for sort order ("ASC"/"DESC"), page size (max 500), and pagination
  • Updated API reference: new endpoints, response shapes, and corrected limitations

Fixed

  • Buganize.issue() now returns the issue body/description by passing detail_level=2 to the getIssue endpoint. Previously the body was always None because the flag was set to 1
  • Removed deprecation warning from Buganize.issue(), as it's now fully functional and the preferred way to fetch a single issue

[1.5.4] - 2026-03-25

Fixed

  • Failing test

Changed

  • Added doc strings to tests
  • Added type hints to tests
  • Properly handle potentially private issues

[1.5.3] - 2026-03-12

Added

  • Nix shell support (shell.nix)

Fixed

  • Failing tests

[1.5.2] - 2026-03-09

Fixed

  • Possible logical bug in api/parser.py

[1.5.1] - 2026-03-08

Fixed

  • Failing tests

[1.5.0] - 2026-03-03

Changed

  • Rename 'output' module to 'output_handler'
  • Replace 't.Optional[X]' / 't.Union[X, Y]' with PEP 604 'X | None' / 'X | Y' syntax across the codebase
  • Drop 'from future import annotations' in favour of native union types
  • Migrate tests from deprecated 'Buganize.issue()' to 'Buganize.issues()'

Added

  • Scheduled tests CI workflow (runs daily at 12:00 AM CAT)

[1.4.0] - 2026-02-27

Changed

  • Update checker now uses async 'httpx.AsyncClient' instead of synchronous 'requests.get'

Removed

  • Dropped 'update-checker' external dependency in favour of a built-in async update checker module

[1.3.0] - 2026-02-25

Changed

  • '-f/--fields', '-e/--export', and '-F/--all-fields' are now global options instead of per-subcommand, and '-f'/'-e' are repeatable (e.g. '-f owner -f cve -e csv -e json')

[1.2.0] - 2026-02-25

Added

  • Multi-tracker search — '-t/--tracker' is now repeatable (e.g. 'buganize -t chromium -t fuchsia search "status:open"')
  • 'Buganize(trackers=["chromium", "fuchsia"])' library API for multi-tracker queries
  • Issue body/description — 'Issue.body' field parsed from 'TOP[43][0]' in batch/detail responses

Changed

  • 'Buganize(tracker=...)' renamed to 'Buganize(trackers=...)' — now accepts a list
  • 'currentTrackerId' query parameter commented out on single-issue and updates endpoints (issue ID alone resolves correctly)

Deprecated

  • 'Buganize.issue()' — does not return the issue body. Use 'Buganize.issues([id])[0]' instead

[1.3.0] - 2026-02-25

Changed

  • '-f/--fields', '-e/--export', and '-F/--all-fields' are now global options instead of per-subcommand, and '-f'/'-e' are repeatable (e.g. '-f owner -f cve -e csv -e json')

[1.1.2] - 2026-02-24

Changed

  • CI workflow now uses 'gh' CLI for GitHub releases instead of 'softprops/action-gh-release'
  • CI checks PyPI for existing versions instead of git tags
  • CI consolidated from 3 jobs to a single job

[1.1.1] - 2026-02-24

Fixed

  • Fix USAGE.md link in README pointing to itself instead of USAGE.md
  • Update API docs and project README

[1.1.0] - 2026-02-24

Added

  • Severity field — issues now expose 'severity' (S0–S4), parsed independently from priority
  • Duplicate tracking — 'duplicate_issue_ids' shows which issues have been marked as duplicates
  • Blocking issues — 'blocking_issue_ids' sourced from the correct API field
  • Collaborators — list of collaborator emails on an issue
  • Found-in versions — 'found_in' shows which builds/versions a bug was discovered in
  • In-production flag — 'in_prod' indicates whether a bug has been seen in production
  • View counts — 'views_24h', 'views_7d', 'views_30d' for gauging issue activity
  • 14 extra field columns available in CLI output ('severity', 'collaborators', 'found_in', 'in_prod', 'duplicates', '24h_views', '7d_views', '30d_views', and more)
  • 'buganize trackers' CLI command to list all available trackers and their IDs
  • 'USAGE.md' — dedicated usage documentation for both the library and CLI
  • API reference now documents 14 public trackers and 6 additional endpoints (components, trackers, hotlists, relationships)

Changed

  • Severity is shown by default in single-issue detail view
  • CLI '--tracker' argument now shows available tracker names in help output
  • 'Buganize(tracker_id=...)' renamed to 'Buganize(tracker=...)' — accepts both names ('"chromium"') and numeric IDs ( '"157"')

Fixed

  • 'details[21]' was incorrectly mapped to blocking issues — it is actually duplicate issue IDs
  • Blocking issue IDs are now correctly sourced from the top-level array ('TOP[36]')
  • View counts corrected from '[1d, 7d, total]' to '[24h, 7d, 30d]'

[1.0.1] - 2026-02-23

Changed

  • Update API docs, and README.md at root

[1.0.0] - 2026-02-23

Changed

  • Rebrand from "Chromium Issue Tracker" to "Google Issue Tracker" — the client now queries all public trackers by default
  • Drop 'pandas' dependency, all output uses Rich tables and stdlib 'csv'/'json' for export
  • Drop HTML export format, '--export' now accepts 'csv' and 'json' only

Added

  • '-t'/'--tracker' flag to scope queries to a specific tracker by name ('chromium', 'fuchsia') or numeric ID. Without it, queries search across all public trackers on the Google Issue Tracker
  • 'API.md' — reverse-engineered documentation of the issuetracker.google.com API

[0.2.3] - 2026-02-22

Changed

  • Update package details

Added

  • 'buganise' command to the CLI

[0.2.2] - 2026-02-22

Changed

  • Moved from 'buganise' to 'buganize', running pip install on either one will install 'buganize' as a library and both 'buganise' and 'buganize' as cli commands.

Added

  • Randomised user agent on each request

[0.2.1] - 2026-02-21

Changed

  • Remove img/ dir

[0.2.0] - 2026-02-21

Added

  • Update checker. Runs once a day

[0.1.0] - 2026-02-21

Added

  • Async Python client ('Buganize') for the Chromium Issue Tracker
  • 'search()' for querying issues with pagination support via 'next_page()'
  • 'issue()' for fetching a single issue by ID
  • 'issues()' for fetching multiple issues in a single request
  • 'issue_updates()' for fetching comments and field changes on an issue
  • 'comments()' convenience method for fetching comments in chronological order
  • CLI with 'buganize' command (search, issue, issues, comments)
  • Export to CSV, JSON, and HTML via '-e'/'--export'
  • Extra fields display with '-f'/'--fields' and '-F'/'--all-fields'
  • Jupyter notebook examples for search, issues, comments, and export