Releases: Zwony/ecotrace
EcoTrace VS Code Extension v0.9.0
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
jsonvsujson/orjson).
- Energy Diagnostics: Added static analysis rules to detect inefficient patterns (e.g., standard
-
- 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.
- Professional UI Overhaul: Replaced friendly icons with technical Octicons (
-
- 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.0for upcoming integration phases.
- Library version remains at
Verified and ready for production merge.
EcoTrace v0.8.0
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
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 --upgradeVS 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
🌱 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.pdfdirectly 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-monitorto 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:
- Open Extensions (Ctrl+Shift+X).
- Search for "EcoTrace".
- Install EcoTrace: Python Carbon Monitor.
- Run your EcoTrace-instrumented Python code as usual and watch the status bar come to life!
📦 How to Upgrade Core Library
pip install --upgrade ecotraceBringing carbon intelligence where it belongs: directly into your editor.
EcoTrace Core v0.6.1 — Community Update
🌍 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 ecotraceBuilding a more transparent and professional future for green computing.
🌍 EcoTrace v0.6.0 — The Sustainability OS Update
🌍 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_codeis 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 ecotraceFrom a measurement tool to a full Sustainability Operating System.
EcoTrace v0.5.2 — The Unified Monitoring Update
🚀 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 ecotraceCrafted for maximum precision, minimum effort, and a carbon-aware future.
🚀 EcoTrace v0.5.1 — The Precision & Reporting Patch
🚀 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 ecotraceRapidly refined for a more transparent and accurate sustainability future.
🚀 EcoTrace v0.5.0: Smart RAM Tracking & Gemini AI! ⚡🧠
🚀 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
🚀 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 intry/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__— Invalidregion_codevalues are caught and fall back to"TR"with a warning. Negativegpu_indexvalues default to0. Invalidcarbon_limitvalues are disarmed gracefully.
📖 Documentation — Google-Style Docstrings & High-Authority README
- All 25 methods now have full Google-style docstrings with
Args,Returns, andRaisessections 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 / 3600energy 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.jsonfor 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