16.0.0 (2026-07-06)
15.0.1 (2026-06-29)
15.0.0 (2026-06-22)
- major: update module github.com/cenkalti/backoff/v5 to v6 (#706) (e56f599)
- minor: update module modernc.org/sqlite to v1.53.0 (#709) (436dbeb)
- flake: updated lockfile [skip ci] (e3ca987)
14.3.0 (2026-06-15)
- minor: update alpine docker tag to v3.24 (#698) (7849ac3)
- minor: update module github.com/bradleyfalzon/ghinstallation/v2 to v2.19.0 (#703) (c5cebe3)
- minor: update module github.com/urfave/cli/v3 to v3.10.0 (#704) (1cb4267)
- deps: update docker digests (b2ac491)
- deps: update docker digests (7d40d92)
- deps: update docker digests (#702) (ca611fe)
- patch: update module github.com/urfave/cli/v3 to v3.9.1 (#700) (5e00fb2)
- flake: updated lockfile [skip ci] (4c95f33)
14.2.0 (2026-06-08)
- deps: update docker digests (#696) (1b819af)
- patch: update golang docker tag to v1.26.4 (#695) (340d7e4)
14.1.0 (2026-05-31)
- allow anonymous access again as regression issue (f9b3017)
14.0.0 (2026-05-25)
- major: update module github.com/google/go-github/v86 to v88 (#690) (0c593df)
- minor: update module github.com/go-chi/chi/v5 to v5.3.0 (#691) (792aee5)
- upgrade required go version to 1.26 (4656ad3)
13.0.0 (2026-05-18)
- major: update module github.com/google/go-github/v85 to v86 (#685) (53e1182)
- minor: update module github.com/urfave/cli/v3 to v3.9.0 (#688) (9541b98)
- flake: updated lockfile [skip ci] (b7fcced)
12.1.1 (2026-05-11)
- honor insecure skip verify on github app authentication (82ce02c)
- patch: update module modernc.org/sqlite to v1.50.1 (#686) (3247074)
- flake: updated lockfile [skip ci] (e3840ef)
12.1.0 (2026-05-04)
- flake: updated lockfile [skip ci] (9fae81c)
12.0.0 (2026-04-27)
- major: update module github.com/google/go-github/v84 to v85 (#679) (33ac4bb)
- minor: update module modernc.org/sqlite to v1.50.0 (#680) (7f7fe62)
- flake: updated lockfile [skip ci] (af95e39)
11.6.0 (2026-04-20)
- flake: updated lockfile [skip ci] (7039f7f)
11.5.1 (2026-04-13)
- flake: updated lockfile [skip ci] (ec13b24)
11.5.0 (2026-04-06)
- patch: update module github.com/lib/pq to v1.12.1 (#668) (0619d81)
- patch: update module github.com/lib/pq to v1.12.2 (#669) (17a31c5)
- patch: update module github.com/lib/pq to v1.12.3 (#670) (36ddad1)
- patch: update module modernc.org/sqlite to v1.48.1 (#671) (7695e09)
- flake: updated lockfile [skip ci] (d95bfdb)
11.4.0 (2026-03-30)
- minor: update module github.com/urfave/cli/v3 to v3.8.0 (#665) (7861dd2)
- minor: update module modernc.org/sqlite to v1.48.0 (#667) (4862d58)
- deps: bump github.com/buger/jsonparser from 1.1.1 to 1.1.2 (6c1f1ba)
- flake: updated lockfile [skip ci] (86e1e68)
11.3.0 (2026-03-23)
- minor: update module github.com/lib/pq to v1.12.0 (#661) (9c133ff)
- minor: update module modernc.org/sqlite to v1.47.0 (#660) (8ca2e58)
- flake: updated lockfile [skip ci] (c97b8af)
11.2.0 (2026-03-16)
- flake: updated lockfile [skip ci] (f0928d7)
11.1.0 (2026-03-09)
- flake: updated lockfile [skip ci] (6aca91f)
11.0.0 (2026-03-02)
- major: update module github.com/google/go-github/v83 to v84 (#647) (e2641b8)
- minor: update module github.com/urfave/cli/v3 to v3.7.0 (#648) (60e909b)
- enable skip-package-name-collision-with-go-std for revive (fadf09b)
- flake: updated lockfile [skip ci] (5859741)
- replace nixfmt package (5a1a285)
10.0.0 (2026-02-23)
- major: update module github.com/google/go-github/v82 to v83 (#642) (c6b371d)
- minor: update module modernc.org/sqlite to v1.46.0 (#643) (f24dc12)
- deps: bump filippo.io/edwards25519 from 1.1.0 to 1.1.1 (2351052)
- flake: updated lockfile [skip ci] (e96c9e9)
9.2.0 (2026-02-16)
- flake: updated lockfile [skip ci] (4d5c65d)
9.1.0 (2026-02-09)
- flake: updated lockfile [skip ci] (a98d65f)
9.0.0 (2026-02-02)
- major: update module github.com/google/go-github/v81 to v82 (#633) (893bc15)
- minor: update module github.com/lib/pq to v1.11.1 (#635) (9f4a6c0)
- flake: updated lockfile [skip ci] (58bdd21)
8.1.1 (2026-01-26)
- patch: update module modernc.org/sqlite to v1.44.2 (#631) (7999910)
- patch: update module modernc.org/sqlite to v1.44.3 (#632) (13bf411)
- flake: updated lockfile [skip ci] (8ef816c)
8.1.0 (2026-01-19)
- patch: update module github.com/go-chi/chi/v5 to v5.2.4 (#627) (ec60f89)
- patch: update module github.com/urfave/cli/v3 to v3.6.2 (#630) (4257cf4)
- patch: update module modernc.org/sqlite to v1.44.1 (#629) (c0efc59)
- flake: updated lockfile [skip ci] (c5a3c52)
8.0.0 (2026-01-12)
- major: update module github.com/google/go-github/v80 to v81 (#622) (325d2e5)
- minor: update module modernc.org/sqlite to v1.43.0 (#623) (2a924b6)
7.3.0 (2025-12-29)
- flake: updated lockfile [skip ci] (66e41ae)
7.2.0 (2025-12-22)
- flake: updated lockfile [skip ci] (d7cb076)
7.1.0 (2025-12-15)
- flake: updated lockfile [skip ci] (8df2595)
7.0.0 (2025-12-08)
- major: update module github.com/google/go-github/v79 to v80 (#602) (466a348)
- minor: update alpine docker tag to v3.23 (#601) (4cbe73a)
- drop issue and pull request template (d7d0d9a)
- flake: updated lockfile [skip ci] (3c77002)
- just format some yaml comment (79ed41e)
6.0.18 (2025-12-01)
- deps: update quay.io/promhippie/github-exporter:latest docker digest to 4b21a7c (4cf30d5)
- flake: updated lockfile [skip ci] (a558e02)
6.0.17 (2025-11-24)
- deps: pin quay.io/promhippie/github-exporter docker tag to fc20f12 (64e385b)
- deps: update module modernc.org/sqlite to v1.40.1 (09c1793)
- deps: update quay.io/promhippie/github-exporter:latest docker digest to 08dd0a1 (a890216)
- deps: update quay.io/promhippie/github-exporter:latest docker digest to 0ee13e6 (b0d0307)
- deps: update quay.io/promhippie/github-exporter:latest docker digest to 19ec982 (7266474)
- deps: update quay.io/promhippie/github-exporter:latest docker digest to 1ca2c51 (1a35360)
- deps: update quay.io/promhippie/github-exporter:latest docker digest to 4e5fc15 (e2eb91d)
- deps: update quay.io/promhippie/github-exporter:latest docker digest to 7845e76 (63eb13d)
- deps: update quay.io/promhippie/github-exporter:latest docker digest to 7ab849b (a91c8ab)
- deps: update quay.io/promhippie/github-exporter:latest docker digest to 9d22804 (bbfe2a8)
- deps: update quay.io/promhippie/github-exporter:latest docker digest to a3dbbae (497fa12)
- deps: update quay.io/promhippie/github-exporter:latest docker digest to f074313 (958b09d)
- deps: bump golang.org/x/crypto from 0.44.0 to 0.45.0 (4bf535d)
- flake: updated lockfile [skip ci] (216e6e8)
6.0.16 (2025-11-17)
- deps: update module github.com/golangci/golangci-lint/v2 to v2.6.2 (f2138f2)
- deps: update module github.com/google/go-github/v78 to v79 (2910eb2)
- deps: update module github.com/urfave/cli/v3 to v3.6.1 (205e107)
- flake: updated lockfile [skip ci] (10d6dd3)
6.0.15 (2025-11-10)
- deps: update golang docker tag to v1.25.4 (c5400fc)
- deps: update golang:1.25.4-alpine3.21 docker digest to 3289aac (8f3bd7d)
- deps: update module github.com/chaisql/chai to v0.18.0 (6119c31)
- deps: update module github.com/golangci/golangci-lint/v2 to v2.6.1 (679655c)
- deps: update module github.com/google/go-github/v76 to v77 (f49734d)
- deps: update module github.com/google/go-github/v77 to v78 (985aa83)
- deps: update module github.com/urfave/cli/v3 to v3.6.0 (6b566a3)
- deps: update module golang.org/x/oauth2 to v0.33.0 (1dfe88a)
- deps: update module modernc.org/sqlite to v1.40.0 (89b69ae)
- flake: updated lockfile [skip ci] (3fc5600)
6.0.14 (2025-11-03)
- deps: update module github.com/golangci/golangci-lint/v2 to v2.6.0 (65dbe25)
- flake: updated lockfile [skip ci] (ed44882)
6.0.13 (2025-10-27)
- deps: update module github.com/prometheus/exporter-toolkit to v0.15.0 (19295db)
- deps: update module github.com/urfave/cli/v3 to v3.5.0 (30afbf8)
- flake: updated lockfile [skip ci] (c6f1629)
6.0.12 (2025-10-20)
- deps: update golang docker tag to v1.25.3 (e7b664f)
- deps: update golang:1.25.3-alpine3.21 docker digest to 0c9f3e0 (363452a)
- deps: update module github.com/google/go-github/v75 to v76 (0f76d14)
- flake: updated lockfile [skip ci] (8d10477)
6.0.11 (2025-10-13)
- deps: update alpine:3.22 docker digest to 4b7ce07 (22bba42)
- deps: update golang docker tag to v1.25.2 (04b482f)
- deps: update golang:1.25.2-alpine3.21 docker digest to 0134653 (5d4e9c6)
- deps: update golang:1.25.2-alpine3.21 docker digest to 0ae17b3 (ce2cb23)
- deps: update golang:1.25.2-alpine3.21 docker digest to 7300a8d (3ba10ac)
- deps: update module golang.org/x/oauth2 to v0.32.0 (1d6c499)
- deps: update module modernc.org/sqlite to v1.39.1 (5bc5000)
- flake: updated lockfile [skip ci] (c9bf05a)
6.0.10 (2025-10-06)
- deps: update module github.com/bradleyfalzon/ghinstallation/v2 to v2.17.0 (46947f6)
- flake: updated lockfile [skip ci] (2515a76)
6.0.9 (2025-09-29)
- deps: update module github.com/google/go-github/v74 to v75 (a618bb4)
- flake: updated lockfile [skip ci] (09e3732)
6.0.8 (2025-09-22)
- deps: update module github.com/golangci/golangci-lint/v2 to v2.5.0 (4c6b91e)
- deps: update module modernc.org/sqlite to v1.39.0 (b5ed326)
- flake: updated lockfile [skip ci] (aa3993b)
6.0.7 (2025-09-15)
- deps: update module github.com/chaisql/chai to v0.17.0 (c45ad72)
- upgrade go to 1.25 to support latest version of chai (404dc5d)
6.0.6 (2025-09-08)
- deps: update golang docker tag to v1.25.1 (80a04d2)
- deps: update golang:1.25.1-alpine3.21 docker digest to 331bde4 (c6aeda8)
- deps: update golang:1.25.1-alpine3.21 docker digest to a887c10 (7451a0a)
- deps: update module github.com/prometheus/client_golang to v1.23.1 (a47e83c)
- deps: update module github.com/prometheus/client_golang to v1.23.2 (054dd53)
- deps: update module github.com/prometheus/exporter-toolkit to v0.14.1 (c93e2ed)
- deps: update module golang.org/x/oauth2 to v0.31.0 (fe809d1)
- flake: updated lockfile [skip ci] (1993224)
6.0.5 (2025-09-01)
- deps: update module github.com/go-chi/chi/v5 to v5.2.3 (50eed82)
- deps: update module github.com/mgechev/revive to v1.12.0 (72876fe)
- deps: update module github.com/stretchr/testify to v1.11.1 (97c55f8)
- flake: updated lockfile [skip ci] (7857d82)
6.0.4 (2025-08-25)
- deps: update module github.com/stretchr/testify to v1.11.0 (18fb560)
- flake: updated lockfile [skip ci] (d2088f7)
6.0.3 (2025-08-18)
- correctly hand over goos/goarch to build task (498ba62)
- deps: update golang docker tag to v1.25.0 (a136745)
- deps: update golang:1.25.0-alpine3.21 docker digest to 382d1a7 (3d94d7c)
- deps: update golang:1.25.0-alpine3.21 docker digest to a92c1ab (89834b4)
- deps: update golang:1.25.0-alpine3.21 docker digest to c8e1680 (3d3f0a6)
- deps: update module github.com/chaisql/chai to v0.16.1 (6cef7d4)
- deps: update module github.com/golangci/golangci-lint/v2 to v2.4.0 (11fb135)
- deps: update module github.com/urfave/cli/v3 to v3.3.9 (b9bf54d)
- deps: update module github.com/urfave/cli/v3 to v3.4.0 (05e9685)
- deps: update module github.com/urfave/cli/v3 to v3.4.1 (ee3b9d3)
- flake: updated lockfile [skip ci] (cebc723)
6.0.2 (2025-08-11)
- deps: update golang docker tag to v1.24.6 (60015f4)
- flake: updated lockfile [skip ci] (6ee9061)
6.0.1 (2025-08-04)
- deps: update module github.com/golangci/golangci-lint/v2 to v2.3.1 (dda0731)
- deps: update module github.com/prometheus/client_golang to v1.23.0 (f77de10)
- deps: update module modernc.org/sqlite to v1.38.2 (c3e747e)
- flake: updated lockfile [skip ci] (80d3077)
6.0.0 (2025-07-28)
- deps: update module github.com/golangci/golangci-lint/v2 to v2.3.0 (a0749e0)
- deps: update module github.com/google/go-github/v73 to v74 (7bdf9f1)
- deps: update module github.com/cenkalti/backoff/v5 to v5.0.3 (1154516)
- deps: update module modernc.org/sqlite to v1.38.1 (6e27c16)
- deps: update golang:1.24.5-alpine3.21 docker digest to 6edc205 (73789af)
- flake: updated lockfile [skip ci] (5e1549f)
- flake: updated lockfile [skip ci] (fe4b507)
5.1.1 (2025-07-17)
- use correct build tags within build task for docker (af6ff26)
5.1.0 (2025-07-17)
- reenable binaries for mips and mips64 (16a025e)
- use build tags for sqlite and chai (a92651c)
5.0.0 (2025-07-16)
- update billing github endpoints
- restructure build and release process
- deps: update minor versions (#492) (dcabfe3)
- deps: update module github.com/google/go-github/v72 to v73 (#502) (2370470)
- deps: update module github.com/mgechev/revive to v1.11.0 (e471926)
- deps: update module github.com/oklog/run to v1.2.0 (#503) (e773469)
- deps: update module modernc.org/sqlite to v1.38.0 (#494) (fccc16e)
- restructure build and release process (56a256f)
- deps: update golang docker tag to v1.24.5 (7f54b52)
- deps: update module github.com/golangci/golangci-lint/v2 to v2.2.2 (ada2988)
- deps: update module modernc.org/sqlite to v1.37.1 (#491) (9ef5a7c)
- deps: update patch versions (#495) (0bdb35a)
- update billing github endpoints (cb3d1c3)
- deps: bump github.com/go-chi/chi/v5 from 5.2.1 to 5.2.2 (ca9ac03)
- deps: pin dependencies (933da70)
- deps: update docker digests (ab87bb9)
- flake: updated lockfile [skip ci] (d371274)
- flake: updated lockfile [skip ci] (6c6ae51)
- flake: updated lockfile [skip ci] (da7e1b3)
- flake: updated lockfile [skip ci] (68525ac)
- flake: updated lockfile [skip ci] (e48bc34)
- flake: updated lockfile [skip ci] (89cac2d)
- flake: updated lockfile [skip ci] (388cd3a)
- flake: updated lockfile [skip ci] (de25547)
- update bingo deps and go version (31b2e2f)
The following sections list the changes for 4.1.1.
- Fix #485: Missing field updates for workflow jobs
-
Bugfix #485: Missing field updates for workflow jobs
With the previous behavior the runner specific labels for worklow job metrics have always been empty. They we always set after the job started but have never been part of the database table update process.
The following sections list the changes for 4.1.0.
- Enh #443: Extra config option to change the database purge window
- Enh #469: Optional conclusion label for workflow jobs
-
Enhancement #443: Extra config option to change the database purge window
We added a new option to optionally specify a different purge window for the database content if you are directly using a database source to read the metrics details.
-
Enhancement #469: Optional conclusion label for workflow jobs
We added another optional label which includes the
conclusionvalue as an extra label as this could be different than thestatusvalue. This label got to be enabled by the--collector.workflow_jobs.labelsflag or theGITHUB_EXPORTER_WORKFLOW_JOBS_LABELSenvironment variable.
The following sections list the changes for 4.0.1.
- Fix #413: Show errors for database ping
- Fix #414: Fix PostgreSQL identifiers to be bigint
- Fix #417: Runner ID was being set to run ID for workflow_job
- Fix #418: Include identifier in labels for workflow jobs
- Fix #418: Update conclusion and completed_at columns
-
Bugfix #413: Show errors for database ping
To get more details why a ping to the database fails while starting the exporter we have added an error output to the logging.
-
Bugfix #414: Fix PostgreSQL identifiers to be bigint
Since Github submit 64bit integers for the identifier of workflow jobs we had to fix the type to
BIGINTfor the database schema to avoid errors related to store events. -
Bugfix #417: Runner ID was being set to run ID for workflow_job
While implementing the workflow job collector we simply attached the wrong identifier to the runner id which was base on the run ID. Future webhooks will store the right ID now.
-
Bugfix #418: Include identifier in labels for workflow jobs
To avoid errors related to already scraped metrics we have added the identifier to the default labels for the workflow job collector.
-
Bugfix #418: Update conclusion and completed_at columns
For the new workflow job collector we had been missing the
conclusionandcompleted_atvalues, they will be stored by future webhook events.
The following sections list the changes for 4.0.0.
- Chg #393: Switch to official logging library
- Chg #405: New metrics and configs for workflow job collector
- Chg #412: Change config and metric names for workflows
- Enh #368: Add
actor.loginlabel to workflow collector
-
Change #393: Switch to official logging library
Since there have been a structured logger part of the Go standard library we thought it's time to replace the library with that. Be aware that log messages should change a little bit.
-
Change #405: New metrics and configs for workflow job collector
We have added a new metric for the duration of the time since the workflow job was created, defined in minutes. Beside that we have added two additional configurations to query the workflows for a specific status and you are able to define a different timeframe than 12 hours now.
-
Change #412: Change config and metric names for workflows
We introduced a BREAKING CHANGE by renaming the config variables and metrics related to the workflows. Previously you had to set
--collector.workflowsorGITHUB_EXPORTER_COLLECTOR_WORKFLOWSto enable the collector, for being consistent with the new workflow job collector we have renamed them to--collector.workflow_runsandGITHUB_EXPORTER_COLLECTOR_WORKFLOW_JOBS, so be aware about that. Additionally we have also renamed the metrics a tiny bit matching the same suffix. We renamed them as an example fromgithub_workflow_statustogithub_workflow_run_status. -
Enhancement #368: Add
actor.loginlabel to workflow collectorExport an
actor.loginlabel for workflow collector which could be added to the labels optionally, please keep the label cardinality in mind while enabling this label.
The following sections list the changes for 3.1.2.
- Fix #296: Drop out of order event if same timestamp as existing completed event
-
Bugfix #296: Drop out of order event if same timestamp as existing completed event
We've fixed the behavior of out of order workflow events with the same timestamp, by preferring an already recorded
completedevent
The following sections list the changes for 3.1.1.
- Fix #296: Drop out of order workflow webhook events
- Fix #300: Rename package followin upstream genji package
-
Bugfix #296: Drop out of order workflow webhook events
We've fixed the behavior of out of order workflow events by dropping them, since the events order is not guaranteed by GitHub
-
Bugfix #300: Rename package followin upstream genji package
The upstream project of the genji database implementation have been renamed, to stay being able to upgrade the library we are force to rename it within this project as well. We keep the driver name compatible to existing installations.
The following sections list the changes for 3.1.0.
- Fix #278: Create SQLite directory if it doesn't exist
- Enh #277: Configurable labels for runner metrics
- Enh #281: Add metrics for workflow timestamps
-
Bugfix #278: Create SQLite directory if it doesn't exist
We have integrated a fix to always try to create the directory for the SQLite database if it doesn't exist. The exporter will fail to start if the directory does not exist and if it fails to create the directory for the database file.
-
Enhancement #277: Configurable labels for runner metrics
Initially we had a static list of available labels for the runner metrics, with this change we are getting more labels like the GitHub runner labels as Prometheus labels while they are configurable to avoid a high cardinality of Prometheus labels. Now you are able to get labels for
owner,id,name,os,statusand optionallylabels. -
Enhancement #281: Add metrics for workflow timestamps
We added new metrics to show multiple timestamps for the workflows like when the workflow have been created, updated and started. Please look at the documentation for the exact naming of these new metrics.
The following sections list the changes for 3.0.1.
- Fix #270: Correctly store and retrieve records
- Fix #272: Add SQLite and Genji if supported
-
Bugfix #270: Correctly store and retrieve records
We had introduced a bug while switching between golang's sqlx and sql packages, with this fix all workflows should be stored and retrieved correctly.
You got to make sure to delete the database which have been created with the 3.0.0 release as the migration setup have been changed.
-
Bugfix #272: Add SQLite and Genji if supported
We haven't been able to build all supported binaries as some have been lacking support for the use libraries for SQLite and Genji. We have added build tags which enables or disables the database drivers if needed.
The following sections list the changes for 3.0.0.
- Fix #267: Use right date for workflow durations
- Chg #245: Read secrets form files
- Enh #261: Rebuild workflow collector based on webhooks
-
Bugfix #267: Use right date for workflow durations
We had used the creation date to detect the workflow duration, this have been replaced by the run started date to show the right duration time for the workflow.
-
Change #245: Read secrets form files
We have added proper support to load secrets like the token or the private key for app authentication from files or from base64-encoded strings. Just provide the flags or environment variables for token or private key with a DSN formatted string like
file://path/to/fileorbase64://Zm9vYmFy.Since the private key for GitHub App authentication had been provided in base64-encoded format this is a breaking change as this won't work anymore until you prefix the value with
base64://. -
Enhancement #261: Rebuild workflow collector based on webhooks
We have rebuilt the workflow collector based on GitHub webhooks to get a more stable behavior and to avoid running into many rate limits. Receiving changes directly from gitHub instead of requesting it should improve the behavior a lot. Please read the docs to see how you can setup the required webhooks within GitHub, opening up the exporter for GitHub should be the most simple part.
The following sections list the changes for 2.4.0.
- Enh #247: Add metrics for organization seats
-
Enhancement #247: Add metrics for organization seats
We had been missing metrics about available and remaining seats within organizations. This change adds the two metrics
github_org_filled_seatsandgithub_org_seatsrelated to that.
The following sections list the changes for 2.3.0.
- Fix #230: Properly handle workflow status results
- Enh #228: Enable app support for GitHub Enterprise
-
Bugfix #230: Properly handle workflow status results
While a workflow is running the conclusion property provides an empty string, in order to get a proper value in this case we have changed the metric value to the status property which offers a useable fallback.
-
Enhancement #228: Enable app support for GitHub Enterprise
Previously we had support for GitHub applications for the SaaS version only, with this change you are also able to use application registration for GitHub Enterprise.
The following sections list the changes for 2.2.1.
- Fix #216: Resolve nil pointer issues with responses
-
Bugfix #216: Resolve nil pointer issues with responses
We have introduced previously a feature where we made sure to close all response bodies, but we forgot to properly check if these responses are really valid which lead to nil pointer dereference issues.
The following sections list the changes for 2.2.0.
- Fix #190: Prevent concurrent scrapes
- Enh #193: Integrate option pprof profiling
- Enh #200: New metrics and configs for workflow collector
-
Bugfix #190: Prevent concurrent scrapes
If the exporter got some kind of duplicated repository names configured it lead to errors because the label combination had been scraped already. We have added some simple checks to prevent duplicated exports an all currently available collectors.
-
Enhancement #193: Integrate option pprof profiling
We have added an option to enable a pprof endpoint for proper profiling support with the help of tools like Parca. The endpoint
/debug/pprofcan now optionally be enabled to get the profiling details for catching potential memory leaks. -
Enhancement #200: New metrics and configs for workflow collector
We have added a new metric for the duration of the time since the workflow run was created, defined in minutes. Beside that we have added two additional configurations to query the workflows for a specific status and you are able to define a different timeframe than 12 hours now. Finally we have also added the run ID to the labels.
The following sections list the changes for 2.1.0.
- Enh #187: Integrate a flage to define pagination size
-
Enhancement #187: Integrate a flage to define pagination size
There had been no way to set a specific page size before, we have added an option/flag that you are able to define the pagination size on your own to avoid running into rate limits.
The following sections list the changes for 2.0.1.
- Fix #185: Improve parsing of private key for GitHub app
-
Bugfix #185: Improve parsing of private key for GitHub app
Previously we always checked if a file with the value exists if a private key for GitHub app authentication have been provided, now I have switched it to try to base64 decode the string first, and try to load the file afterwards which works more reliable and avoids leaking the private key into the log output.
The following sections list the changes for 2.0.0.
- Fix #184: Set right name/owner labels for runner metrics
- Enh #123: Add metrics for GitHub runners
- Enh #123: Add metrics for GitHub workflows
- Enh #174: Merge all billing related metrics
- Enh #174: Update all releated dependencies
- Enh #183: Integrate admin stats for GitHub enterprise
- Enh #184: Use getter functions to get values
-
Bugfix #184: Set right name/owner labels for runner metrics
We introduced metrics for GitHub self-hosted runners but we missed some important labels as remaining todos. With this change this gets corrected to properly show the repo/org/enterprise where the runner have been attached to.
-
Enhancement #123: Add metrics for GitHub runners
We've added new metrics for selfhosted runners used per repo, org or enterprise to give the ability to check if the runners are online and busy.
-
Enhancement #123: Add metrics for GitHub workflows
We've added new metrics for the observability of GitHub workflows/actions, they are disabled by default because it could result in a high cardinality of the labels.
-
Enhancement #174: Merge all billing related metrics
We've merged the three available collectors only related to billing into a single billing collector to reduce the required options and simply because they related to each other.
-
Enhancement #174: Update all releated dependencies
We've updated all dependencies to the latest available versions, including the build tools provided by Bingo.
-
Enhancement #183: Integrate admin stats for GitHub enterprise
We've integrated another collector within this exporter to provide admin stats as metrics to get a general overview about the amount of repos, issues, pull requests and so on. Special thanks for the great initial work by @mafrosis, your effort is highly appreciated.
-
Enhancement #184: Use getter functions to get values
To reduce the used boilerplate code and to better use the GitHub library we have updated most of the available collectors to simply use the provided getter functions instead of checking for nil values everywhere on our own.
The following sections list the changes for 1.2.0.
- Enh #145: Add support for GitHub app
-
Enhancement #145: Add support for GitHub app
We've added an integration with GitHub Apps. Organizations which are not able to use tokens for the API access are able to register a GitHub app for the API requests of this exporter now.
The following sections list the changes for 1.1.1.
- Fix #75: Fixed wildcard matching for private repos
-
Bugfix #75: Fixed wildcard matching for private repos
We have fixed the ability to match by globbing/wildcard for private repositories. So far the private repositories have been missing with the latest globbing/wildcard matching.
The following sections list the changes for 1.1.0.
- Fix #67: Fixed typecasts within billing API
- Chg #42: Drop darwin/386 release builds
- Chg #45: Change docker image name
- Chg #46: Generate metrics documentation
- Chg #68: Add support for wildcard repo match
- Chg #71: Integrate standard web config
-
Bugfix #67: Fixed typecasts within billing API
In some cases it happened that the GitHub billing API responded with floats, but we only accepted integers. With this fix any number should be casted to floats all the time.
-
Change #42: Drop darwin/386 release builds
We dropped the build of 386 builds on Darwin as this architecture is not supported by current Go versions anymore.
-
Change #45: Change docker image name
We should use the same docker image name as all the other exporters within this organization. So we renamed the image from
promhippie/github_exportertopromhippie/github-exporterto have the same naming convention as for the other exporters. -
Change #46: Generate metrics documentation
We have added a script to automatically generate the available metrics within the documentation to prevent any documentation gaps. Within the
hack/folder we got a small Go script which parses the available collectors and updates the documentation partial based on that. -
Change #68: Add support for wildcard repo match
We integrated the functionality to add a wildcard matching for repository names to export metrics from. Now you don't need to add every single repo you want to match, you can add a whole organization.
-
Change #71: Integrate standard web config
We integrated the new web config from the Prometheus toolkit which provides a configuration for TLS support and also some basic builtin authentication. For the detailed configuration you check out the documentation.
The following sections list the changes for 1.0.1.
- Fix #49: Fixed pointer references within exporters
-
Bugfix #49: Fixed pointer references within exporters
So far we directly accessed common attributes on repos within the collectors, but as there could be corner cases where some attribute could be missing we add conditions to make sure only set values are getting called.
The following sections list the changes for 1.0.0.
- Fix #18: Handle private repos counts not available to non-organization member
- Chg #12: Refactor structure and integrate more metrics
- Enh #19: Allow insecure TLS via CLI flag
- Enh #20: Add flag to set /metrics endpoint request timeout
-
Bugfix #18: Handle private repos counts not available to non-organization member
Fix the case where the account used to query GitHub API is not a member of a given organisation, it resulted in a segfault.
-
Change #12: Refactor structure and integrate more metrics
The structure of the repository should get overhauled and beside that we should gather more metrics per organization and per repository. Additionally we should also add support for GitHub Enterprise as requested within #10.
-
Enhancement #19: Allow insecure TLS via CLI flag
In some cases it can be desirable to ignore certificate errors from the GitHub API - such as in the case of connecting to a private instance of GitHub Enterprise which uses a self-signed cert. This is exposed via the environment variable
GITHUB_EXPORTER_TLS_INSECUREand the flag--github.insecure. -
Enhancement #20: Add flag to set /metrics endpoint request timeout
When pulling a lot of data from the GitHub API, in some cases the default 10s timeout on the
/metricsendpoint can be insufficient. This option allows the timeout to be configured viaGITHUB_EXPORTER_WEB_TIMEOUTor--web.timeout
The following sections list the changes for 0.1.0.
- Chg #11: Initial release of basic version
-
Change #11: Initial release of basic version
Just prepared an initial basic version which could be released to the public.
The following sections list the changes for 0.2.0.
- Chg #2: Renamed valid_response metric to up metric
- Chg #4: Enforce a repo or an org flag
-
Change #2: Renamed valid_response metric to up metric
The previous metric
github_valid_responsedoesn't match the Prometheus conventions, so it have been renamed togithub_upwhich properly signals if the exporter can gather metrics or not. -
Change #4: Enforce a repo or an org flag
The exporter requires at least one organization or repository to work properly, integrated a check that something have been set when launching the exporter.