What's new

Changelog

A log of new features, improvements, and fixes — most recent first.

v3.3

LatestJuly 2026
new

Email capture on onboarding — add your contact email during the GitHub App install flow (step 0). EmitCI stores it and automatically populates your billing address when the app is installed, so trial-ending alerts and anomaly emails reach you from day one.

new

Trial-ending email banner — a dismissible banner appears on the dashboard when your trial has 7 or fewer days left and no email is on file. Enter your email inline to receive the trial-ending reminder without navigating to Settings.

new

Missed anomaly email banner — if EmitCI detected anomalous CI runs during your trial but couldn't send an alert because no email was on file, a red banner now appears on the dashboard listing the missed count. Enter your email to re-enable anomaly alerts going forward.

new

Notification prefs email gate — the Email Notifications section in Settings → Notifications now shows an orange 'No email on file' card before the toggles when no email address has been saved. Enter your address inline to unlock the weekly digest, anomaly alert, and budget alert toggles without leaving the page.

new

Email capture on GitLab and External CI onboarding — the email address card is shown on step 0 of the GitLab and External CI onboarding flows, giving users who don't install the GitHub App a way to provide a contact email before they finish setup.

improved

Stripe checkout pre-fills the email field with your billing address from EmitCI (if set), removing a friction step at upgrade time.

improved

Date range picker redesigned — the dashboard date filter is now a dropdown (calendar icon + label + chevron) replacing the previous pill buttons. Labels are now full words ('Last 7 days', 'Last 30 days', 'Last 90 days') for clarity. Enterprise plans see additional options: Last 180 days and Last year.

v3.2

July 2026
new

CDP JSON export — GET /reports/export/cdp maps EmitCI data to CDP Climate questionnaire sections C6.1 (Scope 1), C6.3 (Scope 2), C6.5 (Scope 3), and C7 (emissions targets if SBTi targets are configured). Available on Team and Enterprise plans. Download from Reports → Compliance Exports.

new

EcoVadis JSON export — GET /reports/export/ecovadis maps to the EcoVadis Environment theme: E1.1 (GHG management policy), E1.2 (Scope 1 & 2 CO₂ tCO₂e), E2.1 (Scope 3 CO₂ tCO₂e). Available on Team and Enterprise.

new

SECR JSON export — GET /reports/export/secr produces UK Streamlined Energy and Carbon Reporting data: Scope 1 + 2 tCO₂e, intensity ratio tCO₂e/£1M revenue, and YoY comparison. Accepts optional annual_revenue_gbp query parameter. Available on Team and Enterprise.

new

TCFD / IFRS S2 JSON export — GET /reports/export/tcfd covers all four TCFD pillars: Governance (board oversight of climate risk), Strategy (transition and physical risk scenarios), Risk Management (carbon risk identification process), and Metrics & Targets (Scope 1/2/3 totals + carbon intensity). Available on Team and Enterprise.

new

XBRL / iXBRL export — GET /reports/export/xbrl produces an inline XBRL xHTML file tagged with ESRS E1 taxonomy elements: esrs:GrossScope1GHGEmissions, esrs:GrossScope2GHGEmissions, esrs:GrossScope3GHGEmissions, esrs:TotalGHGEmissions. Required for digital CSRD filing on the European Single Access Point (ESAP). Enterprise only.

new

Scenario Modeling ('What If') — interactive carbon reduction modeler at Insights → Scenario. POST /scenario/calculate accepts five levers: green_shift_pct (shift builds to low-carbon grid windows), ci_optimize_pct (eliminate runner waste), ai_model_switch (lower-carbon AI model), runner_reduction_pct (reduce total run count), renewable_pct (add RECs). Returns baseline vs projected CO₂, per-lever savings breakdown, estimated cost saving, and trees equivalent. Three presets (Minimal / Moderate / Aggressive) available via GET /scenario/presets. Save a scenario as a carbon target in one click. Team and Enterprise.

new

SBTi Target Tracking — create, monitor, and delete carbon reduction targets at Insights → Targets. Supported frameworks: SBTi 1.5°C (42% by 2030), SBTi Well-below 2°C (30% by 2030), Paris Aligned (50% by 2035), or Custom. Each target shows: linear reduction trajectory vs actual, on-track/off-track badge, achieved vs required reduction bars, years remaining, and gap-to-close in kgCO₂e. CRUD via /targets endpoints. Team and Enterprise.

new

CSRD Double Materiality Assessment — step-by-step assessment of 8 ESRS sustainability topics at Insights → Materiality: E1 Climate Change, E2 Pollution, E3 Water & Marine Resources, E4 Biodiversity, E5 Circular Economy, S1 Own Workforce, S2 Workers in Value Chain, G1 Business Conduct. Each topic rated 1–5 on financial materiality (impact on company finances) and impact materiality (impact on people/environment) axes. Topics with either score ≥ 3 are flagged material. Results visualised on a 2D scatter chart. CSRD requires both axes per ESRS 1 §4. Team and Enterprise.

new

Spend-based Scope 3 Category 1 Purchases — declare supplier spend by category on the Emissions page (Purchased Goods & Services card). Categories: cloud services (0.168 kg CO₂/$), software licences (0.092), hardware equipment (0.450), professional services (0.085), office supplies (0.320), marketing (0.072), travel & accommodation (0.186), utilities (0.550). Uses EPA USEEIO v2.0 factors. Supports manual entry or CSV upload. Totals roll into the Emissions page grand total. Endpoints: GET/POST /scope3/purchases, POST /scope3/purchases/upload. Team and Enterprise.

new

ESG Copilot — section-aware AI assistant on the Emissions page. Click 'Get help with this section' next to Scope 3.1 Purchased Goods & Services to open the side panel. The copilot knows which GHG categories you have and haven't filled, suggests what data you need ('You haven't entered business travel yet — typically 10–30% of tech company emissions'), and explains where to find it. Uses POST /assistant/esg-guide. Team and Enterprise.

improved

Emissions page grand total now includes Scope 3.1 purchased goods spend. The summary strip Hardware + SaaS tile reflects the combined total of hardware lifecycle, SaaS tools, and supplier purchases.

improved

Nav Insights dropdown: Targets (/insights/targets), Scenario (/scenario), and Materiality (/materiality) added as dedicated navigation entries.

v3.1

July 2026
new

AI Training Runs carbon tracking — report GPU compute carbon for model fine-tuning and training jobs via POST /api/v1/ingestion/ai-training. Accepts provider, model, gpu_type, gpu_count, compute_hours, region. Returns estimated operational CO₂ (Scope 3 Cat 1: energy × grid intensity) and embodied CO₂ (Scope 3 Cat 2: GPU manufacturing lifecycle, amortized over 3-year lifetime). Both figures are labeled as research-based estimates.

new

Embodied GPU Carbon (Scope 3 Category 2) — hardware manufacturing lifecycle CO₂ is now amortized per training query for 18 GPU types (H100, A100, V100, T4, L40S, Mi250X, etc.) based on Boavizta database and IEA manufacturing studies. Formula: embodied_g = gpu_kg × 1000 × gpu_count × compute_hours / 26,280 h lifetime. Uncertainty ±50% (labeled in dashboard). This is the first CI tooling product to surface Scope 3 Cat 2 GPU embodied emissions per training job.

new

ESG Report v1.3.0 — AI training operational CO₂ (Scope 3 Cat 1) and embodied GPU CO₂ (Scope 3 Cat 2) now appear in the ESG PDF: separate table rows in the training section, a new 'AI GPU Embodied CO₂ (Scope 3 Cat 2)' key metrics row, and combined_co2_kg includes all AI components. JSON schema updated to v1.3.0 with a new '3.2_ai_gpu_embodied' GHG category block.

new

AI Compliance fields — AI inference events now carry CSRD/GHG Protocol compliance metadata: ghg_scope (3), ghg_category (3.1), csrd_reference (ESRS E1-6 §AR 46), reporting_year, and audit_hash (SHA-256 of all event fields for tamper-evidence). Training events additionally include a 3.2_ai_gpu_embodied category field. All compliance fields are returned by the /analytics/ai-usage endpoint and included in ESG JSON export.

improved

ESG PDF training section header updated to 'AI Model Training Runs (Scope 3 Categories 1 & 2)' to correctly reflect that training carbon now covers both operational energy (Cat 1) and embodied hardware (Cat 2). Training table adds Embodied CO₂ (kg) column.

v3.0

July 2026
new

Jenkins multi-instance support — connect multiple Jenkins instances (URLs) to a single EmitCI installation. Each instance is polled independently on its own 5-minute cycle. Instance state (last_build_id, last_polled_at, backfill_done) is tracked per-URL so one slow instance never blocks others. Useful for organisations with separate Jenkins instances per team or product line.

new

Network egress carbon events — EmitCI now tracks data transfer emissions from CI jobs. Network egress is measured and stored per run as a separate Scope 3 emission source. Calculated using DEFRA 2023 data transfer emission factors (kgCO₂e per GB). Appears in the run detail panel alongside runner compute and AI inference.

new

Idle runner overhead tracking — CI machines consume energy even when idle (OS processes, monitoring daemons, hypervisor overhead). EmitCI now estimates and surfaces idle runner overhead as a separate cost and carbon line item. Helps quantify the true cost of over-provisioned runners and runner warm pools.

new

Security warnings — EmitCI now emits structured security warnings for anomalous patterns detected during ingestion: unusual token spike (>10× baseline), unrecognised AI provider, malformed run attribution, and suspicious API call frequency. Warnings appear in the run detail panel with a severity level and recommended action. Available on all plans.

v2.9

July 2026
new

Multi-platform onboarding — Google and email sign-in users now get a guided 'Choose your CI platform' flow instead of the GitHub App install screen. Supports Bitbucket Pipelines (workspace slug + App Password), Azure DevOps (org/project + PAT), CircleCI (personal API token), and Jenkins (URL + username + API token). Each platform includes inline credential instructions and a security summary.

improved

Onboarding correctly routes by auth provider: GitHub → GitHub App install, GitLab → GitLab pipeline polling, Google/email → CI platform selector. No more dead-end 'Install GitHub App' screen for non-GitHub users.

improved

After connecting a non-GitHub CI platform, users can immediately add a second platform (e.g. Bitbucket + CircleCI) before proceeding to the dashboard.

v2.8

July 2026
new

Google sign-in — 'Continue with Google' is now available on the login page. Works with any Google or Google Workspace account. If your Google email matches the billing email on an existing account (GitHub or GitLab sign-in), EmitCI automatically links both methods to the same account — no duplicate installation created.

v2.7

July 2026
new

Auditor share links — share a read-only, time-limited ESG report URL with external auditors. No account required for the recipient. Links expire after 30, 60, or 90 days and can be revoked instantly. Every access is timestamped and counted for your audit trail.

new

Optional PIN protection for share links — toggle 'Require PIN to view' to add a 4–8 digit numeric PIN. PIN is hashed server-side (PBKDF2-HMAC-SHA256, 200k iterations) and never stored in plain text. The PIN is displayed once after link creation for the sender to share via a separate channel.

new

PIN rate limiting and lockout — 5 wrong attempts per IP per 15 minutes triggers a 15-minute IP block. 10 total wrong attempts permanently locks the link. Each attempt shows remaining count. Locked links require reissue.

new

Reissue share links — revoke a locked, expired, or lost-PIN link and create a replacement in one click. Same report parameters, new URL, optional new PIN.

new

EU/UK VAT collection — Stripe Tax is now enabled. VAT is automatically calculated and collected at checkout based on the customer's billing country (20% UK, 19–27% EU). Business customers can enter their VAT number for reverse-charge zero-rating. Tax invoices generated automatically by Stripe.

v2.6

July 2026
new

AI inference carbon tracking — measure the CO₂ footprint of OpenAI, Anthropic, Google, Cohere, and Mistral API calls made during CI. Carbon is estimated using research-based per-model energy factors (Patterson et al. 2022, MLPerf v4.0) × provider grid intensity. All figures are labeled as estimated in the dashboard.

new

emitci-ai Python SDK — pip install emitci-ai. Wrap openai.OpenAI() or anthropic.Anthropic() with tracker.wrap_openai() / tracker.wrap_anthropic(). Usage is intercepted transparently after each API call and reported in a background thread — zero latency impact on CI. Manual reporting also available via tracker.report(provider, model, input_tokens, output_tokens).

new

emitci/report-ai@v1 GitHub Action — composite action that posts AI usage to EmitCI after any CI step that calls an AI API. Inputs: token (EMITCI_TOKEN), provider, model, input_tokens, output_tokens, api_calls. Outputs: co2_grams, energy_kwh. Never blocks CI — non-zero exit codes from the report step are suppressed.

new

POST /api/v1/ingestion/ai-usage — REST endpoint for manual AI usage reporting. Accepts Bearer token (EMITCI_TOKEN) or session cookie. Returns estimated co2_grams, energy_kwh, and the normalized model name. Supports batch reporting (api_calls field).

new

GET /analytics/ai-usage?days=30 — new analytics endpoint returning total AI CO₂ vs runner CO₂ for the period, breakdown by model (call count, tokens, co2_grams), and breakdown by repo. AI carbon is expressed as a percentage of total pipeline carbon.

new

AI carbon in run analytics — run detail and run list views now include ai_co2_grams, ai_energy_kwh, and has_ai_inference fields. Per-event AI inference breakdown (provider, model, tokens, source) shown in the run step detail panel.

new

Opt-in log scanning — installations can enable ai_log_scan_enabled in Settings to have EmitCI scan job logs post-ingestion for AI usage patterns (OpenAI prompt_tokens/completion_tokens, Anthropic input_tokens/output_tokens). Detected usage is automatically attributed to the run. Never blocks ingestion.

new

DB migration 100 — new ai_inference_events table (provider, model, call_type, input/output tokens, co2_grams, energy_kwh, source) linked to installations and workflow runs. ai_log_scan_enabled flag added to installations.

v2.5

July 2026
new

Emissions page (/scope3) — full GHG inventory in one place: Scope 1 (direct), Scope 2 (electricity), and Scope 3 (cloud, CI/CD, hardware, SaaS) with a grand-total summary strip, by-layer stacked bars, by-provider breakdown, and YoY badge vs locked base year. Access restricted to Manager and Admin roles.

new

Scope 1 & Scope 2 manual declarations — declare direct emissions (office gas, vehicles, generators) and purchased electricity (annual kWh + grid factor). Supports multi-year filings: each year is stored independently with UNIQUE(installation_id, reporting_year) so FY2025 and FY2026 records coexist without overwriting.

new

Third-party assurance tracking — each Scope 1 and Scope 2 declaration now records assurance level (none / limited / reasonable), provider name, engagement date, and reference number per reporting year. Assurance fields are exported into CDP C6.1c and C6.3e Verification columns automatically.

new

SaaS tool emissions card — declare SaaS spend (Slack, GitHub, Jira, Datadog, etc.) and EmitCI converts to monthly CO₂ using DEFRA 2023 spend-based factors (0.14 kgCO₂e/USD). Totals roll into the Emissions page grand total.

new

Base year locking — set a GHG Protocol base year; EmitCI locks that period from deletion by the data retention sweep and shows YoY % change badge on the Emissions page. Closed periods are immutable once locked.

new

Compliance exports: Methodology PDF (ReportLab, covers GHG boundary, data sources, emission factor table, calculation formulas, uncertainty bounds), CSRD CSV (ESRS E1-6 aligned, all Scope 1/2/3 categories with completeness statements), CDP Excel workbook (C6.5 format, C6.1c/C6.3e Verification columns populated from assurance data). All three gated to Team+ plans.

new

SB 253 company profile — declare annual revenue, California nexus, and GHG boundary method (operational control / financial control / equity share). EmitCI computes SB 253 applicability server-side and shows a 7-item readiness checklist with filing deadline strip (colour-coded: red = past due, amber = upcoming).

new

Resource tag filtering — cloud resources now store AWS cost allocation tags, GCP labels, and Azure tags in a JSONB column. Tag key/value dropdowns on the Emissions page filter by-layer and by-provider breakdowns.

improved

CO₂ unit labels standardised to full GHG Protocol notation: gCO₂e, kgCO₂e, tCO₂e, ktCO₂e (was abbreviated g/kg/t/kt which was ambiguous).

improved

Nav Insights dropdown: 'Scope 3' entry renamed to 'Emissions' to reflect full Scope 1, 2 & 3 coverage. URL /scope3 unchanged.

v2.4

July 2026
new

8 new cost-reduction rules: duplicate_trigger (push + pull_request double-billing), branch_sprawl (>35% non-main branch runs), low_deploy_ratio (CI:deploy > 30:1), dead_steps (steps completing in <3 s), artifact_bloat (upload steps >45 s), windows_runner_tax (Windows runners without Windows-specific tooling), tight_timeout (timeout >4× observed max runtime), matrix_redundancy (4+ version values in a matrix dimension).

new

suboptimal_runner_region rule — detects self-hosted runners operating in a high-carbon cloud region when a lower-carbon alternative exists in the same provider-continent group at identical cost. Shows CO₂ saving only (no dollar change). Includes a static intensity table for 60+ AWS, Azure, and GCP regions with continent-scoped groupings to avoid cross-continent latency recommendations. Explicit disclaimer: based on 12-month grid averages (IEA/Ember 2024); real-time intensity varies.

new

Recommendations management page (/recommendations) — all findings across every repository in one place, grouped by repo. Tabs for Open / Resolved / Dismissed. Mark individual recommendations resolved or dismissed; re-open any time. The savings headline in the dashboard widget now links to this page.

improved

ingestion.py now propagates branch, workflow_name, run_attempt, and job duration_seconds into run dicts, enabling the new branch_sprawl, low_deploy_ratio, and duplicate_trigger rules to access these fields.

improved

Docs: Recommendations section updated with all 17 rule IDs (was 11), a new Managing Recommendations subsection covering the /recommendations page, and Tier 2 rules expanded with the 3 new YAML rules.

v2.3

July 2026
new

7 new cost-reduction recommendation rules: Slow test suite detection (sharding opportunity when avg test step > 20 min), Poor cache key quality (flags hashFiles('package.json') instead of lockfile), Unconditional deploy job (deploy jobs in PR workflows without branch guards), Monorepo path filter gaps (monorepo workflows missing paths: filters), Test parallelization opportunity (test step dominates > 70% of job duration), macOS → Linux opportunity (macOS runners without iOS/Swift tooling), and Matrix explosion detection (matrix builds with ≥ 15 combinations).

new

Self-Hosted Break-Even Calculator — a new dashboard card that estimates how many months until a self-hosted EC2 spot instance ($0.015/hr) pays off vs GitHub-hosted runners, based on your last 30 days of usage. Only shows when you're not already on self-hosted.

new

Test Suite Growth Projection — a new dashboard card that fits a linear trend to your weekly test step durations and projects cost 60 days ahead. Shows when your test suite is growing faster than 30 seconds/week, so you can act before costs compound.

improved

Dollar estimates now populated for two previously $0 rules: fail-fast disabled (estimates wasted runner minutes based on matrix size × 20% failure rate) and Docker layer cache (uses actual build step durations from your run history to calculate 60% rebuild savings).

fixed

Industry benchmarks (compare endpoint and all-repos leaderboard) now correctly accessible on the Free plan — v2.1 opened benchmarks to all plans but the backend was still enforcing a Starter gate. Fixed.

fixed

Quick tips section in recommendations now loads correctly for authenticated users — was sending unauthenticated requests and receiving 401.

fixed

Goals widget no longer triggers a 402 Payment Required error for Free plan users — the dashboard now skips the goals/progress fetch for free tier users, eliminating the console error.

v2.2

July 2026
improved

Starter plan price raised to $99/mo ($990/yr). Annual subscribers save $198/yr (2 months free). Existing customers are grandfathered at their current price.

improved

Team plan overage rate raised to $1.50 per 1,000 runs (was $0.80). Included quota remains 100,000 runs/month.

v2.1

July 2026
new

Free plan now includes 10 automated AI reviews per month — EmitCI-initiated code-reviewer comments on energy-anomaly PRs, powered by Claude Haiku. The same smart filters apply: runs under 1 Wh are skipped, and the same commit SHA is only reviewed once per month.

new

Free plan now includes industry benchmarks & runner recommendations — compare your CO₂/run against anonymised peers in the same language and runner category, and get ranked, specific runner right-sizing suggestions. Previously a Starter+ feature.

improved

Pricing page, FAQ, and comparison table updated to reflect new free tier capabilities.

v2.0

July 2026
improved

Pricing update: Enterprise plan base price raised to $3,000/mo (was $2,000), included runs reduced to 300k/mo (was 2M) so overage kicks in at realistic usage levels. Enterprise overage rate reduced to $0.40/1k runs (was $0.50). ESG Reports add-on raised to $299/mo (was $149) to better reflect the value delivered vs ESG consulting costs.

fixed

Green Windows widget now works for customers who supply their own Electricity Maps API key (BYOK) — previously the dashboard always showed 'coming soon' even when a customer key was configured, because the backend only checked the platform-level environment variable.

improved

Green Windows key resolution now follows a priority chain: customer BYOK key (Settings → Integrations → Electricity Maps) takes precedence over the platform key. Both /forecast and /forecast-all endpoints updated.

improved

Green Windows widget is now hidden entirely when no Electricity Maps key is available (platform or BYOK) — the 'coming soon' placeholder no longer appears in the dashboard.

v1.9

July 2026
improved

Docs: new Enterprise section covering multi-org support, configurable retention (up to 5 years), extended backfill, SSO+SCIM, IP allowlisting, MSA+DPA, SOC 2, SLA tiers (P1/P2/P3), annual invoicing, and priority runner classification — all with setup instructions and contact paths.

improved

FAQ: Enterprise plan description updated to reflect the full feature set. New entries added for: what Enterprise includes beyond Team, multi-org support, SOC 2 / security questionnaire, invoice billing, and the 99.9% uptime SLA.

improved

FAQ and docs data retention updated: Enterprise now shows 'up to 5 years (configurable)' instead of the previous fixed '2 years'.

improved

Docs quickstart: backfill note updated to mention Enterprise extended backfill (up to 2 years of history).

v1.8

July 2026
new

Enterprise plan expanded with procurement and compliance features — multi-org support, IP allowlisting, custom MSA + DPA, SOC 2 Type II report on request, 99.9% uptime SLA (P1 <4h), 90-day API deprecation notice, annual invoicing with PO numbers, extended backfill (up to 2 years), and priority runner classification (<1 hour).

new

SSO / SAML now includes SCIM provisioning (planned) — automatic user lifecycle management synced from Okta, Azure AD, or any SAML 2.0 provider.

improved

Enterprise data retention raised to 'up to 5 years' (configurable) for regulated industries, replacing the previous 2-year hard limit.

improved

Enterprise plan description updated to lead with the compliance and procurement story ('regulated industries, compliance teams, and large engineering orgs') rather than generic ESG language.

improved

Enterprise CTA changed from 'Contact Sales' to 'Book a Demo' — links to /enterprise inquiry page. Both the plan card and comparison table bottom row updated.

v1.7

July 2026
new

Mid-month plan upgrade resets run counter immediately — free-plan customers who upgrade to a paid plan now receive their full new quota straight away rather than inheriting their free-tier usage for the rest of the month.

new

Mid-month plan downgrades are now deferred to the next billing period — the new lower-tier plan and quota take effect at renewal, not immediately. Stripe issues a prorated credit for the unused days. Settings → Billing shows a notice with the scheduled change date.

new

ESG data webhooks — push monthly GHG data automatically to Watershed, Persefoni, Salesforce Net Zero Cloud, or any custom HTTPS endpoint. Configure from Settings → Integrations → ESG Webhooks. Failed deliveries are retried automatically up to 3 times.

improved

Integrations page audited and corrected: Buildkite and AWS CodeBuild (not yet implemented) removed; Jenkins added with correct adapter details; CI platform count corrected to 6; cloud region count updated to 75+.

improved

Integrations page: new Developer Tools section covering GitHub Measure Action, VS Code extension, Chrome extension, and CLI. Slack card updated to document the /emitci slash command.

improved

Docs: ESG data webhooks fully documented under ESG Reports, including supported targets (Watershed, Persefoni, Salesforce Net Zero Cloud, custom) and retry behaviour. ESG webhooks also listed in Exports & data section.

fixed

FAQ: mid-month upgrade answer updated to reflect that the run counter now resets to zero immediately on upgrade. New entry added for mid-month downgrades explaining the period-end deferral and prorated Stripe credit.

v1.6

July 2026
new

Developer tools suite — GitHub Measure Action, VS Code extension, Chrome extension, and CLI (npx emitci) are now available on all plans including Free.

new

DORA Metrics (Team+) — Deployment Frequency, Lead Time for Changes, Change Failure Rate, and MTTR now tracked alongside CO₂/deployment as the 5th DORA metric. Dashboard teaser with upgrade prompt shown to Free and Starter users.

new

Public leaderboard opt-in (Starter+) — organisations can now opt in to appear on the public efficiency leaderboard, ranked by average CO₂ per run.

improved

Navigation restructured — Leaderboard, Benchmarks, Attribution, and Certification moved under /insights/; Groups moved to /settings/groups; Billing usage moved to /settings/billing; Anomaly detection moved to /analytics/anomalies.

improved

Slack integration — row on pricing page now reflects full scope: budget alerts, weekly digest, and /emitci slash command (Team+).

improved

Enterprise pricing now displays 'from $2,000/mo' on the pricing page and comparison table, replacing the opaque 'Custom' label.

improved

Docs updated: Enterprise data retention corrected to 2 years (was incorrectly listed as 5), supported CI platform count updated to 6, and public leaderboard URL updated to /insights/leaderboard/public.

fixed

Free plan run limit corrected to 500 runs/month across pricing page, FAQ, terms, welcome email, and blog — several pages were still showing 1,000.

fixed

Starter overage rate raised to $2.50 per 1,000 runs (was $1.50) — pricing page, FAQ, and backend billing config now consistent.

v1.5

July 2026
new

Memory energy modelling — DRAM power now estimated separately per step using per-step utilization profiles (0.10–0.80 of installed memory). Previously memory was excluded from the model entirely.

new

ARM runner support — ubuntu-24.04-arm, ubuntu-22.04-arm, and ubuntu-latest-arm (AWS Graviton 3, 4 vCPUs, 16 GB) are now recognised out of the box.

new

Region-specific PUE for AWS (11 regions, 1.10–1.20) and GCP (7 regions, 1.09–1.13) — previously all non-Azure providers used a single provider-level average.

new

Nightly registry auto-patch — when an unrecognised runner label or cloud region is detected, Claude researches its specs via web search and opens a pull request to add it within 24 hours.

improved

Carbon intensity zone coverage expanded from 14 to 75 cloud regions — eliminating the static fallback for all major Azure, AWS, and GCP regions worldwide.

improved

Updated static carbon intensity data: Germany (350→300 gCO₂/kWh), Australia (660→560 gCO₂/kWh) to match current grid averages.

improved

Windows runners now apply a 10% overhead factor over equivalent Linux runners to account for higher OS idle CPU draw.

fixed

macOS-13 runners were misclassified as Apple Silicon — corrected to Intel Cascade Lake (matching GitHub's actual hardware).

fixed

macOS-14 and macOS-15 memory was reported as 7 GB — corrected to 14 GB.

fixed

API key preview in Settings now shows the last 4 characters only (was first 8, which revealed the provider prefix).

v1.4

June 2026
new

Cloud Carbon Footprint (CCF) SPECpower benchmarks replace estimated TDP values for 46 of 51 runner types — energy estimates are now research-backed per-vCPU values.

new

Integrations page — full listing of all supported CI platforms, monitoring tools, project management, and compliance exports.

new

Docs page — comprehensive documentation covering quickstart, methodology, budgets, API, and GDPR.

new

Changelog page (this page) — visible release history.

improved

Calculator now shows idle–peak watt range per runner with CCF badge for research-backed specs.

improved

/estimate/runners API now returns pretty-printed JSON with min_watts, processor_type, and data_source fields.

fixed

Dashboard step breakdown now auto-selects the top repository on load.

fixed

Energy trend chart date labels no longer throw on non-string values.

v1.3

April 2026
new

AI-powered runner classification — unknown self-hosted runner labels are automatically classified by Claude/GPT for vCPU count and TDP. Results cached permanently.

new

Green scheduling advisory — when a run completes during a high-carbon grid window, EmitCI posts an advisory comment suggesting when to schedule future runs.

new

Anomaly detection — z-score outlier detection flags runs using >2× normal energy. Alerts go to Slack and email.

new

Datadog integration — stream emitci.energy_kwh and emitci.co2_grams as custom metrics on every run.

improved

PR carbon comments can now be AI-generated (Claude or GPT) on paid plans and BYOK — natural language, context-aware.

improved

Benchmark engine now tracks p25/p50/p75 per language and workflow type.

v1.2

February 2026
new

AI assistant in the dashboard — ask natural language questions about your pipeline carbon data.

new

BYOK (Bring Your Own Key) — configure your own Anthropic or OpenAI API key in Settings for AI features on any plan.

new

Linear and Jira integration — high-impact recommendations automatically create issues in your project management tool.

new

SCI Score — Green Software Foundation Software Carbon Intensity score calculated per run, with A+–F grading.

improved

Rule engine adds three statistical rules: benchmark underperformer, energy trend degradation, and anomalous runs.

improved

Stripe metered billing — Team plan overage runs are automatically reported to Stripe.

fixed

Race condition in run counter could double-count the first run after a monthly reset.

v1.1

December 2025
new

Green Time Scheduler — automatically reschedules cron workflows to the lowest-carbon grid window within ±3 hours using Electricity Maps forecast data.

new

ESG reports — one-click PDF generation mapped to ESRS E1-6 and GHG Protocol Scope 3 Category 3.3. IPCC AR6 GWP values, renewable energy attribution, run-level audit trail. SHA-256 integrity-verified.

new

Carbon budget merge blocking — when a repo hits 100% of its monthly budget, EmitCI can set a failure commit status on open PRs.

new

Team management with RBAC — invite members, assign admin/member roles, per-team carbon budgets.

new

Backfill API — import up to 90 days of historical CI runs after initial install.

improved

Step-level energy breakdown now shows percentage of total workflow energy per step.

improved

Electricity Maps live carbon intensity replaces static averages when API key is configured.

v1.0

LaunchOctober 2025
new

GitHub App — install in one click, no YAML changes. Receives workflow_run events via webhook.

new

Energy estimation — GreenAlgorithms v2.2 methodology. Energy = TDP × utilization × duration × PUE, with per-region carbon intensity.

new

Dashboard — per-repo energy trend, step breakdown, SCI grade, CO₂ equivalent metrics.

new

Optimization recommendations — 6 deterministic rules covering caching, runner sizing, parallelism, path filters, redundant runs, and failing steps.

new

PR carbon bot — automatic comment on every pull request with CO₂ for the run, biggest emitter step, and top recommendation.

new

README badge — embeddable SVG showing SCI grade and average CO₂/run, updated hourly.

new

Public carbon estimator API — POST /estimate and GET /estimate/runners available without authentication.

new

Support for GitHub Actions, CircleCI, GitLab CI, Azure Pipelines, AWS CodeBuild, Buildkite, and Bitbucket Pipelines.

Stay up to date

New releases are announced on our blog and in the product dashboard.