Skip to content

Releases: Zwony/ecotrace

EcoTrace VS Code Extension v0.9.0

26 Apr 08:30

Choose a tag to compare

Overview

This PR marks the official release of EcoTrace VS Code Extension v0.9.0. This version introduces critical developer productivity features and transitions the extension into a high-precision carbon observability tool.

Key Changes

  • Live CodeLens Metrics: Integrated real-time carbon footprint data (gCO2) directly above Python functions.
    • Energy Diagnostics: Added static analysis rules to detect inefficient patterns (e.g., standard json vs ujson/orjson).
    • Programmable Carbon Budgets: Implemented a configurable session-based budget warning system.
    • Professional UI Overhaul: Replaced friendly icons with technical Octicons ($(pulse), $(graph)) and modernized the status bar feedback loops.
    • Eco-Friendly Mode: Introduced a dedicated operational mode for energy-efficient development.

Maintenance

  • Bumped extension version to 0.9.0.
    • Synchronized repository documentation with the new Marketplace specifications.
    • Library version remains at 0.8.0 for upcoming integration phases.

Verified and ready for production merge.

EcoTrace v0.8.0

24 Apr 15:55

Choose a tag to compare

EcoTrace v0.8.0

This release introduces significant enhancements to the EcoTrace CLI and core instrumentation engine, including zero-code profiling and programmatic JSON exports.

Added

  • CLI Profiler (ecotrace run): Run any Python script under full carbon monitoring without modifying source code.
  • CLI Analysis (ecotrace analyze): Parse existing ecotrace_log.csv and display a ranked carbon summary table in the terminal.
  • CLI Export (ecotrace export --json): Export hardware metadata, measurement history, and aggregate statistics to a structured JSON file.
  • CLI Benchmark (ecotrace benchmark): Self-diagnostic tool that measures EcoTrace's own CPU overhead.
  • JSON Export API (eco.export_json()): New method for programmatic JSON export, serving as the data bridge for the VS Code extension.
  • python -m ecotrace Support: Direct module invocation support.

Updated

  • Global version bump to 0.8.0.
  • System-wide CLI entry point availability.

EcoTrace v0.7.1 - IDE Intelligence Release

18 Apr 18:15
a6f4f53

Choose a tag to compare

EcoTrace v0.7.1 - The IDE Intelligence Release

We are excited to announce EcoTrace v0.7.1, a significant milestone that bridges the gap between raw carbon measurement and actionable developer intelligence. This release focuses on deep IDE integration, providing real-time visibility where it matters most: within your code.

Key Highlights

VS Code Sidebar Dashboard

This release introduces a dedicated Sidebar Dashboard in the VS Code Activity Bar. Developers can now monitor their application's aggregate carbon footprint and identify top carbon-consuming functions at a glance, without leaving the IDE.

IDE Editor Hotspots

EcoTrace now automatically marks "Hotspots" in the editor gutter for every tracked function. These visual indicators allow developers to observe carbon consumption data directly above the function definition through informative hover tooltips.

Source Location Intelligence

The core instrumentation engine has been enhanced to automatically capture precise source locations (file paths and line numbers) for all tracked functions. This metadata powers the new IDE visualization layer and enables precise cross-referencing between logs and source code.

Professional UI/UX Refinement

Aligned with our commitment to engineering excellence, we have refined the user interface of the VS Code extension. The visual design has been updated to a high-precision, technical aesthetic, removing emojis in favor of professional iconography and clear data visualization.

Stability & Performance

  • Optimized CSV logging to prevent file contention during high-frequency monitoring sessions.
  • Refined internal code documentation and linguistic clarity across the entire codebase.
  • Verified full backward compatibility with the existing v0.7.0 instrumentation pipeline.

Upgrade Path

Python Core (v0.7.1)

Update via pip:

pip install ecotrace --upgrade

VS Code Extension (v0.8.0)

The extension will update automatically via the VS Code Marketplace, or can be updated manually through the Extensions view.


Thank you for contributing to a more sustainable engineering future with EcoTrace.

EcoTrace v0.7.0 — The VS Code Intelligence Update

09 Apr 16:37

Choose a tag to compare

🌱 EcoTrace v0.7.0 — The VS Code Intelligence Update

Release Date: 09.04.2026
Ecosystem Version: v0.7.0
Extension Version: v0.7.0 (Official Launch)
Focus: Official VS Code Extension & Real-time IDE Monitoring


🌟 What's New

🖥️ Official VS Code Extension (EcoTrace: Python Carbon Monitor)

EcoTrace v0.7.0 marks our transition from a standalone library to a fully integrated developer ecosystem. We are officially launching the EcoTrace VS Code Extension on the Microsoft Marketplace.

  • Real-Time Status Bar Updates: Monitor your code's carbon footprint (gCO2) function-by-function, directly in your VS Code status bar.
  • Session Cumulative Tracking: Keep track of your total carbon impact throughout your entire coding session—know your footprint before you even close the terminal.
  • Visual Carbon Indicators: The status bar turns into a warning state (amber) if a single function triggers high-carbon heuristics (>0.1g), allowing for immediate optimization.
  • One-Click Reports: Instantly open your last generated ecotrace_full_report.pdf directly from the IDE with built-in commands.

📚 Hybrid Documentation Engine

We’ve revamped the internal documentation of our core extension source code to match the "Hybrid" standard of the main EcoTrace library.

  • JSDoc Integration: Full technical documentation for all extension lifecycle hooks (activate, deactivate) and core data flows.
  • Technical Resilience: Documented implementation logic for overcoming OS-level file contention and high-frequency lock issues during continuous sampling.

🛠️ Ecosystem Synchronization

  • Centralized Roadmap: The project README has been updated to include a permanent "VS Code Extension" section with direct installation links.
  • Optimized Packaging: Refined the extension internal name to ecotrace-monitor to ensure a unique, conflict-free presence in the Marketplace.
  • Git Alignment: The repository now follows a streamlined Monorepo structure, holding both the core Python engine and the VS Code extension source in perfect harmony.

🚀 Getting Started with the Extension

You can now install EcoTrace directly from within VS Code:

  1. Open Extensions (Ctrl+Shift+X).
  2. Search for "EcoTrace".
  3. Install EcoTrace: Python Carbon Monitor.
  4. Run your EcoTrace-instrumented Python code as usual and watch the status bar come to life!

📦 How to Upgrade Core Library

pip install --upgrade ecotrace

Bringing carbon intelligence where it belongs: directly into your editor.

EcoTrace Core v0.6.1 — Community Update

04 Apr 08:20

Choose a tag to compare

🌍 EcoTrace v0.6.1 — Community & Professionalism Update

Release Date: 04.04.2026
Version: v0.6.1
Focus: Community Standards, Security Policy, and Refined Identity


🌟 What's New

🛡️ Community & Security Standards

EcoTrace is now officially a fully compliant open-source project, meeting the highest community standards.

  • Code of Conduct: Adopted the Contributor Covenant v2.1 to ensure a respectful, inclusive, and safe environment for all contributors.
  • Security Policy: Established a clear protocol for reporting vulnerabilities. We now have a dedicated private reporting channel to protect our users.
  • CONTRIBUTING Guidelines: Updated our contribution workflow to integrate these new standards.

📧 Refined Project Identity

We've moved from personal contact points to a unified project identity.

  • Official Team Email: Introducing ecotraceteam@gmail.com. All official communications, security reports, and support queries are now centralized under the EcoTrace Team banner.
  • Updated Metadata: All package manifests (pyproject.toml, README.md) now reflect this professional identity.

⚙️ Engine Quality & Security (v0.6.1 Fixes)

This release includes several "under-the-hood" improvements to enhance reliability and transparency.

  • API Identity (User-Agent): All network requests to Electricity Maps and PyPI now identify themselves as EcoTrace/0.6.1. This improves compatibility with API security layers and anti-bot systems.
  • Enhanced Diagnostics: Improved error logging in the PDF reporting engine. Instead of a generic error, EcoTrace now provides specific details when a report fails to generate, helping developers debug permission or system issues.
  • Code Cleanup: Removed unused imports and refined internal logic to ensure a lightweight, "clean code" footprint.

🛠️ Backward Compatibility

  • 100% Compatible: This is a patch release. No breaking changes were introduced. Your existing integrations will work perfectly.

🚀 How to Upgrade

pip install --upgrade ecotrace

Building a more transparent and professional future for green computing.

🌍 EcoTrace v0.6.0 — The Sustainability OS Update

02 Apr 15:14

Choose a tag to compare

🌍 EcoTrace v0.6.0 — The Sustainability OS Update

Release Date: 02.04.2026
Version: v0.6.0
Focus: Live Grid API Integration & Auto-Update System


🌟 What's New

🌍 Live Grid API (Electricity Maps Integration)

EcoTrace v0.6.0 officially moves from static averages to real-time carbon intensity data.

  • Real-Time Data: Measures your footprint based on the actual energy mix at the exact moment your code runs.
  • 38 Global Zones: Completely mapped to Electricity Maps regions.
  • Intelligent Caching: 1-hour in-memory cache to prevent unnecessary network requests and respect API rate limits.
  • Zero-Impact Fallback: No API key? No internet? Seamlessly falls back to our robust static constant mapping without crashing.

📍 Automatic Region Detection (IP-Based)

EcoTrace now intelligently identifies your location to provide the most accurate default data possible.

  • Smart Defaults: If no region_code is provided, the engine uses your IP address to detect your country and match it against our carbon intensity database.
  • Universal Scope: The default region has been moved from "TR" (Turkey) to "GLOBAL", ensuring a more inclusive out-of-the-box experience for international users.
  • Privacy Conscious: Uses lightweight, public IP-API lookups with sub-second response times and zero persistent tracking.

📍 Expanded Global Coverage

We've significantly grown our supported regions to include critical global technology and data center hubs.

  • 50+ Strategic Regions: Now includes precise mapping for Ireland (IE), Israel (IL), Taiwan (TW), UAE (AE), Colombia (CO), and more.
  • Tech-Hub Ready: Accurate default tracking for the world's most dense developer regions, ensuring minimal error for major cloud deployments.

🌱 Interactive Auto-Update System

Stay on top of algorithmic improvements and database updates.

  • Startup Check: Non-blocking 3-second check for new PyPI versions.
  • Interactive Upgrade: Prompts you gracefully in the terminal ("Would you like to update EcoTrace? (y/n)") and runs the pip upgrade without disrupting the workflow.
  • CI/CD Safe: Automatically skips the update block in non-interactive pipeline environments or when explicitly disabled (check_updates=False).

⚙️ Engine Refinements

  • Refined Developer Experience (DX): Replaced the basic initialization log with a High-End Minimalist Banner featuring icons and detailed hardware profiling.
  • Quiet Mode: Added support for EcoTrace(quiet=True) to completely silence all standard output—ideal for production logs and clean CLI tool integration.
  • Test Infrastructure: Added a robust test suite (test_v6_features.py) with full mock integration for network failure and API stress testing.
  • Docstring Polish: All new functions and public APIs are documented under the rigorous Google Style standard.

🛠️ Backward Compatibility

  • 100% Core Compatibility: Existing code continues to work without modification.
  • Default Change: Users who previously relied on the implicit "TR" default now receive a more accurate global average or auto-detected local region.

🚀 How to Upgrade

pip install --upgrade ecotrace

From a measurement tool to a full Sustainability Operating System.

EcoTrace v0.5.2 — The Unified Monitoring Update

28 Mar 20:00

Choose a tag to compare

🚀 EcoTrace v0.5.2 — The Unified Monitoring Update

Release Date: 28.03.2026 (The Definitive 0.5.x Release)
Version: v0.5.2
Focus: Unified CPU+GPU Monitoring & Core-Aware Performance Insights


🌟 What's New

🛰️ Unified Multi-Resource Monitoring

We've unified the core tracking logic. The standard @track decorator and measure() API now automatically detect and monitor your GPU alongside the CPU.

  • Aggregated Carbon: Rapor artık CPU ve GPU emisyonlarını toplayarak tek bir "Toplam Karbon Ayak İzi" sunuyor.
  • Zero Configuration: Eğer sistemde GPU varsa, EcoTrace bunu otomatik algılar ve izlemeye başlar.

📊 Automated Visual Reporting

Raporlama motoru artık hiçbir parametre gerektirmeden tam otomatik çalışıyor.

  • Auto-Snapshoting: generate_pdf_report() çağrıldığında o ana kadar toplanan tüm CPU ve GPU örnekleri grafik olarak rapora eklenir.
  • High-Res Visuals: Yüksek çözünürlüklü kullanım grafikleri artık her raporda standart olarak sunuluyor.

🧠 Smart "Core-Aware" Insights

20 çekirdekli i7-13700H gibi güçlü işlemcilerde oluşan yanlış "Düşük CPU" (Low CPU) uyarıları giderildi.

  • Dynamic Thresholding: Analiz motoru artık çekirdek sayısına göre dinamik eşikler hesaplıyor.
  • Realistic Advice: "Single-Thread Intensive" gibi daha teknik ve gerçekçi performans tavsiyeleri eklendi.

🛠️ Internal Improvements

  • Context Manager Nesting: CPU ve GPU monitörleri artık birbirini bloklamadan iç içe çalışabiliyor.
  • Unified Accumulation: Tüm izleme yöntemleri (track, track_block, measure) ortak bir karbon toplama mantığına çekildi.
  • Wait Stability: Async izlemelerdekiTrailing sample kayıpları giderildi.

🚀 How to Upgrade

pip install --upgrade ecotrace

Crafted for maximum precision, minimum effort, and a carbon-aware future.

🚀 EcoTrace v0.5.1 — The Precision & Reporting Patch

28 Mar 19:48

Choose a tag to compare

🚀 EcoTrace v0.5.1 — The Precision & Reporting Patch

Release Date: 28.03.2026 (Rapid Response Update)
Version: v0.5.1
Focus: Visual Analytics Restoration & Smart Insight Logic


🌟 What's New

📈 Automated PDF Visuals

Fixed a regression where CPU/GPU charts were omitted in v0.5.0 reports unless manually passed.

  • Auto-Snapshoting: generate_pdf_report() now automatically captures the entire session's monitoring data for high-resolution utilization graphs.
  • GPU Visualization: Restored and improved the GPU utilization chart (SteelBlue theme) for NVIDIA, AMD, and Intel hardware.

🧠 Balanced Performance Insights

Refined the internal recommendation engine to account for Smart Core Normalization.

  • Dynamic Thresholds: Optimization advice now scales based on the system's core count, eliminating false-positive "Try batching" warnings for single-threaded tasks on high-core processors (e.g., Apple M3 or Intel i9).
  • New Terminology: Realistically distinguishes between "Single-Thread Intensive" tasks and true "High Multi-Core" system-wide stress.

🛡️ Hardware Robustness

Improved GPU detection logic for Intel Iris Xe and AMD integrated graphics, ensuring monitoring threads initialize correctly across all vendor classes.


🛠️ Internal Improvements

  • Thread-Safe Reporting: Snapshotting internal deques for PDF generation is now protected by monitoring locks.
  • CSV Data Consistency: Fixed historical log parsing in the PDF generator to match the new v0.5.1 multi-column format.
  • Optimized Heuristics: Prioritized execution-time alerts over utilization flags for actionable "Green Coding" advice.

🚀 How to Upgrade

pip install --upgrade ecotrace

Rapidly refined for a more transparent and accurate sustainability future.

🚀 EcoTrace v0.5.0: Smart RAM Tracking & Gemini AI! ⚡🧠

28 Mar 17:04

Choose a tag to compare

🚀 EcoTrace v0.5.0 is OUT!

The "Hardware Intelligence" update is here! ⚡ We've integrated Google Gemini AI to provide dynamic, hardware-aware "Green Coding" insights directly in your PDF reports.

What's new:

🤖 Gemini AI Insights: Personalized optimization suggestions.
🧬 Smart Core Normalization: Scientific accuracy for multi-core CPUs.
⚡ RAM Generation Awareness: DDR4/DDR5 specific energy tracking.
Upgrade now: pip install --upgrade ecotrace 🔗 GitHub: Zwony/ecotrace

🚀 v0.4.0 - Huge Update: Enterprise-Grade Carbon Tracking Engine

22 Mar 15:30

Choose a tag to compare

🚀 v0.4.0 — Huge Update: Enterprise-Grade Carbon Tracking Engine

This is the biggest update since EcoTrace's inception. Every layer of the library has been hardened, documented, and repositioned for production deployment.


⚡ What's New

🔒 Enterprise Hardening — Thread-Safe Carbon Accumulation

self.total_carbon is now protected by threading.Lock() via the new _accumulate_carbon() method. This eliminates a read-modify-write race condition that existed across three call sites when @track or @track_gpu decorators were used from multiple threads. CSV audit logging is also serialized under the same lock to prevent interleaved rows.

🛡️ Reliability — Crash-Proof Decorators & Input Validation

  • measure(), measure_async(), track_gpu() — All post-execution carbon calculations are now wrapped in try/except. If sampling or computation fails mid-execution (e.g., GPU driver unloads), the function's return value is always preserved and a warning is logged.
  • Input validation on __init__ — Invalid region_code values are caught and fall back to "TR" with a warning. Negative gpu_index values default to 0. Invalid carbon_limit values are disarmed gracefully.

📖 Documentation — Google-Style Docstrings & High-Authority README

  • All 25 methods now have full Google-style docstrings with Args, Returns, and Raises sections for clear API documentation.
  • Complete README rewrite — Repositioned to a "High-Precision, Production-Ready Carbon Tracking Engine."

🧹 Internal Refactoring — Clean Code Overhaul

  • Formula centralization — The TDP × utilization × duration / 3600 energy formula was duplicated in 3 places. New _compute_carbon() method eliminates all copies, ensuring precision across all measurements.
  • 12 magic numbers extracted into named class constants for better maintainability.
  • GPU TDP defaults moved to constants.json for external configurability.

📊 Test Results & Availability

  • Live on PyPI: Readily installable via pip install --upgrade ecotrace
  • Verified: 29/30 automated tests passing successfully. No regressions introduced.
    Full Changelog: v0.3.5...v0.4.0