Releases: mahesh-solanke/devtrack-sdk
DevTrack SDK v0.4.2
Release Notes - DevTrack SDK v0.4.2
🎉 Release Date
Version: 0.4.2 (Stability - Bugfix Release)
Release Date: 2026-01-11
📋 Overview
DevTrack SDK v0.4.2 is a stability and bugfix release that resolves critical database lock conflicts between CLI commands and running applications. This release significantly improves the developer experience by adding intelligent fallback mechanisms and better error handling when the database is locked by an active application instance.
🐛 Critical Bug Fixes
Fixed DuckDB Lock Conflicts in CLI Commands
Problem: CLI commands (stat, query, init) would fail with lock errors when the database was already in use by a running application. DuckDB uses file-level locking, meaning a single write connection blocks all other connections (including read-only ones) from accessing the database file.
Root Cause:
- DuckDB's file-level locking mechanism prevents concurrent access
- CLI commands attempted direct database access without checking if the application was running
- No fallback mechanism when database was locked
- Poor error messages that didn't guide users to solutions
Solution:
- HTTP API Fallback: Added intelligent fallback to HTTP API endpoints when database lock is detected
statcommand now fetches stats from/__devtrack__/statsendpoint if database is lockedquerycommand fetches logs from API when direct database access failsinitcommand checks database status via API before prompting for overwrite
- Lock Detection: Enhanced error parsing to detect lock conflicts and extract process information (PID)
- Graceful Degradation: Commands now provide clear guidance when database is locked
- Improved User Experience: Better error messages with actionable suggestions
Impact:
- CLI commands now work seamlessly even when application is running
- No more confusing lock errors - users get clear guidance
- Developers can use CLI tools without stopping their applications
- Better error messages help users understand and resolve issues quickly
Fixed init Command Unnecessary Prompts
Problem: The init command would prompt users to overwrite an existing database even when the database was already initialized and accessible via the running application's API.
Solution:
- Added
check_db_initialized_via_api()helper function initcommand now checks database status via HTTP API before prompting- If database is initialized and accessible via API, shows information and exits gracefully
- Prevents unnecessary overwrite prompts when application is running
🔄 Improvements
Enhanced Database Connection Management
- Read/Write Mode Handling: Improved
DevTrackDBclass to better handle read-only and write mode transitions - Connection Reuse: Optimized connection reuse to minimize lock contention
- Better Lock Handling: Enhanced lock conflict detection and error reporting
Improved Error Messages
- Lock Information: Error messages now include process PID when available
- Actionable Guidance: Clear suggestions on how to resolve lock conflicts
- API Status: Better feedback when API fallback is used
Test Infrastructure
- Network Request Mocking: Added global pytest fixture to prevent hanging in CI
- Comprehensive Test Coverage: Added extensive tests for lock conflict scenarios
- CI Stability: Fixed GitHub Actions timeouts by mocking network requests
🔧 Technical Changes
New Functions
parse_lock_error(): Extracts PID and process info from DuckDB lock errorscheck_db_initialized_via_api(): Checks database initialization status via HTTP API- Enhanced
detect_devtrack_endpoint(): Better endpoint detection with improved error handling
Modified Components
cli.py: Major refactoring to add API fallback mechanismsstatcommand: HTTP API fallback on lockquerycommand: HTTP API fallback on lockinitcommand: API check before overwrite prompt
database.py: Improved connection handling for read/write mode transitionstests/conftest.py: Added global network request mocking fixture
Test Coverage
- Added 46 comprehensive CLI tests
- Tests for lock conflict scenarios
- Tests for API fallback mechanisms
- Tests for error handling and user messaging
📦 Installation
pip install devtrack-sdk==0.4.2Or upgrade from previous version:
pip install --upgrade devtrack-sdk🔄 Migration from v0.4.1
No breaking changes! This is a backward-compatible bugfix release.
Simply upgrade:
pip install --upgrade devtrack-sdkAll existing functionality remains the same. The improvements are automatically applied.
What to Expect
- Better CLI Experience: CLI commands now work even when your application is running
- Clearer Error Messages: More helpful error messages when issues occur
- No Behavior Changes: All existing functionality works exactly as before
📝 Full Changelog
Fixed
- Critical: DuckDB lock conflicts causing CLI commands to fail when application is running
- Critical:
initcommand prompting unnecessarily when database is already initialized - Database connection handling for read/write mode transitions
- Error messages for locked databases now include process information
Improved
- Added HTTP API fallback for
stat,query, andinitcommands - Enhanced error handling with lock detection and process information
- Better user guidance when database is locked
- Improved test infrastructure to prevent CI timeouts
- More robust database initialization checks
Technical
- Added
parse_lock_error()function for better error parsing - Added
check_db_initialized_via_api()helper function - Enhanced
detect_devtrack_endpoint()with better error handling - Improved
DevTrackDBconnection management - Added global pytest fixture for network request mocking
🧪 Testing
All fixes have been tested across:
- Different database lock scenarios
- Running application with CLI commands
- API fallback mechanisms
- Error handling and user messaging
- CI/CD pipeline (GitHub Actions)
Test Results:
- ✅ All 46 CLI tests passing
- ✅ All integration tests passing
- ✅ CI pipeline stable (no timeouts)
🙌 Acknowledgements
Special thanks to @kushagra-vj for identifying and clearly highlighting the DuckDB file-lock issue when using DevTrack CLI alongside a running application.
Your detailed feedback directly helped shape the HTTP API fallback mechanism and significantly improved the overall developer experience in this release.
🔗 Resources
- Documentation: GitHub Docs
- Issues: GitHub Issues
- Discussions: GitHub Discussions
📋 Known Issues
None at this time. If you encounter any issues, please report them on GitHub Issues.
🎯 What's Next
We're continuously improving DevTrack SDK based on user feedback. Upcoming releases will focus on:
- Performance optimizations
- Additional CLI features
- Enhanced dashboard capabilities
- Better documentation and examples
Full Changelog: v0.4.1...v0.4.2
DevTrack SDK v0.4.1
Release Notes - DevTrack SDK v0.4.1
🎉 Release Date
Version: 0.4.1 (Pulse - Bugfix Release)
Release Date: 2025-12-23
📋 Overview
DevTrack SDK v0.4.1 is a bugfix release that addresses critical issues discovered in v0.4.0, particularly around DuckDB compatibility and dashboard functionality. This release ensures the dashboard displays correct statistics and improves the reliability of request detail views across different browser environments.
🐛 Critical Bug Fixes
Fixed DuckDB Column Description Issue
Problem: The dashboard was displaying incorrect summary statistics (e.g., {"1": 10} instead of proper fields like total_requests, unique_endpoints, etc.).
Root Cause: DuckDB's conn.description sometimes returns generic column names like ["1"] or ["NUMBER"] instead of actual column names from SQL queries.
Solution:
- Added robust fallback mechanism in
get_stats_summary()to use known column names when DuckDB returns invalid descriptions - Applied the same fix to
get_logs_by_path()andget_logs_by_status_code()methods - Ensures consistent behavior across all database query methods
Impact: Dashboard KPI cards now display correct metrics including:
- Total requests count
- Unique endpoints
- Average/min/max duration
- Success and error counts
Fixed Request Detail View in New Window
Problem: When clicking on request IDs to view details in a new window, some users saw a plain screen without styling.
Root Cause:
document.write()method can fail in certain browser environments or with Content Security Policies- HTML escaping issues could break the document structure
- No fallback mechanisms if primary method failed
Solution:
- Implemented multiple fallback methods for maximum compatibility:
- Blob URL (primary) - Works with CSP, no size limits
- Data URL (fallback) - For older browsers
- document.write() (final fallback) - Universal support
- Improved HTML escaping with manual escaping function
- Enhanced HTML structure with proper meta tags and viewport settings
- Better error handling with automatic fallback to modal view
Impact: Request detail views now display correctly with full styling across all browsers and environments.
🔄 Improvements
Enhanced API Logging
- Improved logging in
fetchStats()function for better debugging - More concise and informative log messages
- Better error tracking for API requests
Database Query Robustness
- All database query methods now handle DuckDB column description quirks
- Consistent fallback behavior across all query operations
- Better error handling and recovery
📦 Installation
pip install devtrack-sdk==0.4.1🔄 Migration from v0.4.0
No breaking changes! This is a backward-compatible bugfix release.
Simply upgrade:
pip install --upgrade devtrack-sdkAll existing functionality remains the same. The fixes are automatically applied.
📝 Full Changelog
Fixed
- Critical: DuckDB column description issue causing incorrect summary statistics in dashboard
- Critical: Request detail view not displaying styles in new window for some users
- Database query methods now handle DuckDB column name quirks consistently
- HTML escaping in request detail views for better security and compatibility
Improved
- Enhanced API logging for better debugging
- Multiple fallback methods for opening request details in new window
- Better error handling in database query operations
- Improved HTML structure and escaping in detail views
🧪 Testing
All fixes have been tested across:
- Different DuckDB versions and configurations
- Multiple browser environments (Chrome, Firefox, Safari, Edge)
- Various Content Security Policy settings
- Different deployment scenarios
🙏 Thank You
Thank you to all users who reported these issues! Your feedback helps make DevTrack more reliable and robust.
🔗 Resources
- Documentation: GitHub Docs
- Issues: GitHub Issues
- Discussions: GitHub Discussions
📋 Known Issues
None at this time. If you encounter any issues, please report them on GitHub Issues.
Full Changelog: v0.4.0...v0.4.1
DevTrack SDK v0.4.0
🚀 DevTrack SDK v0.4.0 - Pulse Release
📊 Built-in Real-Time Dashboard
DevTrack SDK v0.4.0 introduces a beautiful, interactive dashboard that gives you real-time insights into your API performance - no external tools required!
✨ What's New
-
📈 Real-Time Dashboard at
/__devtrack__/dashboard- Traffic overview with interactive charts
- Error trends and top failing routes
- Performance metrics (p50/p95/p99 latency)
- Consumer segmentation analysis
- Searchable request logs
- Auto-refresh with configurable intervals
-
🔌 New Metrics APIs
GET /__devtrack__/metrics/traffic- Traffic over timeGET /__devtrack__/metrics/errors- Error trendsGET /__devtrack__/metrics/perf- Performance metricsGET /__devtrack__/consumers- Consumer segmentation
-
👥 Consumer Segmentation
- Automatically identify and analyze API consumers
- Track patterns, errors, and latency per consumer
- Privacy-friendly implementation
🎯 Quick Start
pip install devtrack-sdk==0.4.0After integrating the middleware, visit:
http://localhost:8000/__devtrack__/dashboard
🔄 Migration
No breaking changes! Simply upgrade:
pip install --upgrade devtrack-sdk📚 Documentation
Full Changelog: v0.3.0...v0.4.0
What's Changed
- docs: refactor README and add release roadmap by @mahesh-solanke in #23
- Devtrack-v0.4-Pulse-deployment by @mahesh-solanke in #24
Full Changelog: v0.3.0...v0.4.0
DevTrack SDK v0.3.0
Release Notes - DevTrack SDK v0.3.0
🎉 Release Date
Version: 0.3.0
Release Date: 2025-11-02
📋 Overview
DevTrack SDK v0.3.0 is a major release that introduces DuckDB integration as the primary database backend, replacing in-memory storage with persistent, high-performance database capabilities. This release significantly enhances the SDK's functionality, reliability, and scalability, making it production-ready for real-world deployments.
🚀 Major Features
🗄️ DuckDB Database Integration
What's New:
- Persistent Storage: Request logs now persist across application restarts
- High Performance: DuckDB's columnar storage optimized for analytics workloads
- SQL Queries: Full SQL support for complex filtering and aggregation
- Automatic Schema Management: Database tables created automatically on first use
Benefits:
- No data loss on application restarts
- Better performance for large datasets
- Production-ready storage solution
- Scalable to handle millions of requests
🛠️ Comprehensive CLI Toolkit
New CLI Commands:
-
devtrack init- Initialize DuckDB databasedevtrack init --db-path devtrack_logs.db
-
devtrack reset- Reset database (delete all logs)devtrack reset --db-path devtrack_logs.db --yes
-
devtrack stat- Enhanced statistics with DuckDB backenddevtrack stat --top 10 --sort-by latency
-
devtrack export- Export logs to JSON/CSVdevtrack export --format json --output logs.json -
devtrack query- Advanced querying with filtersdevtrack query --status-code 404 --days 7 --verbose
-
devtrack monitor- Real-time monitoring dashboarddevtrack monitor --interval 5 --top 15
-
devtrack health- System health checksdevtrack health --endpoint
-
devtrack version- Version informationdevtrack version
📝 Django Management Commands
New Django Commands:
python manage.py devtrack_init- Initialize databasepython manage.py devtrack_reset- Reset databasepython manage.py devtrack_stats- View statistics
Usage:
python manage.py devtrack_init
python manage.py devtrack_stats🔄 Enhanced Middleware
Django Middleware:
- Migrated from in-memory stats to DuckDB storage
- Improved error handling and logging
- Database connection management
FastAPI Routes:
- DuckDB integration for statistics endpoints
- Enhanced filtering and querying capabilities
- Improved error responses
📚 Documentation Improvements
- New comprehensive documentation at
docs/index.md - Enhanced integration guides for Django and FastAPI
- Updated examples with DuckDB integration
🧪 Test Improvements
Fixed Issues:
- ✅ Fixed 5 CLI test failures (stat command tests)
- ✅ Fixed 3 Django integration test failures
- ✅ Updated middleware tests for DuckDB integration
Test Results:
- 38/39 tests passing
- All DuckDB-related tests verified
⚠️ Breaking Changes
1. Database Initialization Recommended
Before (v0.2.x):
- Middleware worked out of the box with in-memory storage
- No initialization needed
After (v0.3.0):
- Database tables are auto-created on first use (no manual initialization required)
- Recommended: Run
devtrack initfor explicit setup and verification - Middleware uses DuckDB database instead of in-memory storage
- Database file and tables are automatically created when middleware first logs a request
Why devtrack init is recommended:
- Explicitly prepares the database before production use
- Verifies database connectivity and schema
- Provides initial database statistics
- Allows setting custom database path upfront
Impact: For existing deployments, the database will be auto-created on first request, but explicit initialization is recommended for production environments.
2. Persistent Storage
Before (v0.2.x):
- Data stored in memory (lost on restart)
After (v0.3.0):
- Data stored in DuckDB database file
- Persists across application restarts
Impact: Data structure and storage location changed.
3. Dependencies
New Dependency:
duckdb>=1.1.0added to requirements
Impact: Additional package installation required.
🔄 Migration Guide
For Existing Users (v0.2.x → v0.3.0)
Step 1: Upgrade Installation
pip install --upgrade devtrack-sdkStep 2: Initialize Database
devtrack init --db-path devtrack_logs.dbOr for Django:
python manage.py devtrack_initStep 3: Update Configuration (Optional)
Django:
# settings.py
DEVTRACK_DB_PATH = "devtrack_logs.db" # Custom path if neededFastAPI:
# Configure database path if different from default
DEVTRACK_DB_PATH = "devtrack_logs.db"Step 4: Restart Application
Restart your FastAPI or Django application to use the new database backend.
Data Migration
If you have existing in-memory data:
- Export existing data (if applicable)
- Initialize new database
- Data will start collecting from scratch in the new database
Note: In-memory data cannot be automatically migrated. If you have critical data, export it before upgrading.
📦 Installation
Install from PyPI
pip install devtrack-sdk==0.3.0Install from Source
git clone https://github.com/mahesh-solanke/devtrack-sdk.git
cd devtrack-sdk
git checkout v0.3.0
pip install -e .Requirements
- Python >= 3.10
- duckdb >= 1.1.0 (new)
- fastapi >= 0.90
- django >= 4.0.0
- httpx >= 0.24
- starlette >= 0.22
- rich >= 13.3
- typer >= 0.9
🎯 What's Improved
- Reliability: Persistent storage means no data loss
- Performance: DuckDB's columnar storage optimized for analytics
- Scalability: Handle larger volumes of request logs efficiently
- Developer Experience: Rich CLI toolkit for managing logs
- Production Readiness: Suitable for production deployments
- Query Flexibility: SQL-based queries for advanced analytics
🐛 Bug Fixes
- Fixed CLI stat command endpoint detection
- Fixed Django views error handling
- Improved test suite stability
- Fixed database connection handling
📝 Changelog
Added
- DuckDB database integration
- CLI toolkit (8 commands)
- Django management commands (3 commands)
- Comprehensive documentation
- Export functionality (JSON/CSV)
- Real-time monitoring dashboard
- Health check functionality
- Query functionality with filters
Changed
- Middleware now uses DuckDB instead of in-memory storage
- CLI expanded significantly
- Documentation structure improved
- Test suite updated for DuckDB
Fixed
- CLI test failures
- Django integration test failures
- Error handling in views
🔮 What's Next
Future releases may include:
- Real-time monitoring dashboard (web UI)
- Advanced analytics and reporting
- Integration with monitoring tools
- Custom metrics and alerting
🙏 Acknowledgments
Thank you to all contributors and users who provided feedback and helped shape this release!
📞 Support
- Documentation: https://github.com/mahesh-solanke/devtrack-sdk/blob/main/docs/index.md
- GitHub Issues: https://github.com/mahesh-solanke/devtrack-sdk/issues
- GitHub Discussions: https://github.com/mahesh-solanke/devtrack-sdk/discussions
🔗 Links
- PyPI Package: https://pypi.org/project/devtrack-sdk/
- GitHub Repository: https://github.com/mahesh-solanke/devtrack-sdk
- Documentation: https://github.com/mahesh-solanke/devtrack-sdk/blob/main/docs/index.md
Full Changelog: v0.2.0...v0.3.0
v0.2.6
DevTrack SDK v0.2.6 Release Notes
🚀 Overview
This release focuses on expanding DevTrack SDK's framework support by integrating Django alongside the existing FastAPI support. The release enhances developer experience with comprehensive Django middleware, URL routing, and view integration, while maintaining backward compatibility and improving overall SDK architecture.
✨ New Features & Improvements
Django Integration
- 🏗️ Complete Django Middleware Support
- Added
DevTrackMiddlewarefor automatic request tracking - Integrated Django URL patterns for seamless routing
- Django view integration with automatic endpoint detection
- Added
- 🔧 Framework Agnostic Architecture
- Modular design supporting both FastAPI and Django
- Shared core functionality across frameworks
- Consistent API across different web frameworks
Enhanced SDK Structure
- 📦 Improved Package Organization
- Separated framework-specific integrations
- Cleaner import structure for better developer experience
- Modular middleware system for easy extension
- 🧪 Comprehensive Testing Suite
- Added Django integration tests
- Enhanced test coverage for all components
- Framework-specific test utilities
Documentation & Examples
- 📚 Django Integration Guide
- Complete setup instructions for Django projects
- Example Django application with DevTrack integration
- Middleware configuration examples
- 🎯 Enhanced Examples
- Django example project in examples directory
- FastAPI example improvements
- Better code organization and clarity
🐛 Bug Fixes
- Fixed middleware initialization issues in Django applications
- Improved error handling for framework detection
- Enhanced URL pattern matching for Django routes
- Fixed import issues in Django integration modules
🔧 Technical Details
- Refactored SDK structure for better maintainability
- Added framework detection and auto-configuration
- Improved error handling and logging across all components
- Enhanced middleware base classes for extensibility
- Updated dependency management for better compatibility
📋 Requirements
- Python >= 3.10
- FastAPI >= 0.90
- Django >= 3.2
- HTTPX >= 0.24
- Starlette >= 0.22
- Rich >= 13.3
- Typer >= 0.9
🔄 Migration Notes
No breaking changes in this release. Users can upgrade directly from v0.2.5. Django users can now integrate DevTrack SDK using the new Django-specific modules and middleware.
🙏 Acknowledgments
Special thanks to the community for feedback and testing, particularly for the Django integration requests. This release addresses the growing need for multi-framework support in the DevTrack ecosystem.
📦 Installation
pip install devtrack-sdk==0.2.6🔗 Links
- GitHub Repository
- Full Changelog: v0.2.5...v0.2.6
v0.2.5
DevTrack SDK v0.2.5 Release Notes
🚀 Overview
This release focuses on enhancing the CLI tool's reliability and user experience, with significant improvements to endpoint detection, error handling, and testing coverage. We've also improved documentation and added visual enhancements to make the tool more user-friendly.
✨ New Features & Improvements
CLI Enhancements
- 🔧 Improved endpoint detection with support for various URL formats:
- Localhost and custom domains
- URLs with or without ports
- Better handling of protocol specifications
- 🎯 Enhanced stats display with better formatting and error messages
- 🛠️ Added robust fallback mechanisms for endpoint detection
- 📊 Improved handling of empty stats and connection failures
Documentation & Visual Updates
- 📝 Added PyPI download badge to README
- 🖼️ Updated CLI demo image for better visual representation
- 📚 Enhanced documentation with clearer usage instructions
Testing & Code Quality
- ✅ Significantly improved test coverage for CLI functionality
- 🧪 Added comprehensive tests for endpoint detection
- 🔍 Enhanced test assertions with descriptive error messages
- 🧹 Code cleanup and removal of unused files
🐛 Bug Fixes
- Fixed endpoint detection issues with various URL formats
- Improved error handling for connection failures
- Enhanced URL cleanup and validation
- Fixed stats display issues with empty data
🔧 Technical Details
- Updated dependencies for better compatibility
- Improved code organization and maintainability
- Enhanced error messages for better debugging
- Added proper test coverage for all CLI scenarios
📋 Requirements
- Python >= 3.10
- FastAPI >= 0.90
- HTTPX >= 0.24
- Starlette >= 0.22
- Rich >= 13.3
- Typer >= 0.9
🔄 Migration Notes
No breaking changes in this release. Users can upgrade directly from v0.2.3.
🙏 Acknowledgments
Thanks to all users who provided feedback, especially for the CLI improvements in issue #10.
📦 Installation
pip install devtrack-sdk==0.2.4🔗 Links
- GitHub Repository
- Documentation
- Issue Tracker
Full Changelog: v0.2.3...v0.2.4
v0.2.3
🚀 New Features (v0.2.3)
🧰 CLI Tool
- A new CLI (available as
devtrack) is introduced:devtrack -- version– Displays the current SDK version (using a newversion.pyfile).devtrack stat– Detects and displays (e.g., from your local endpoint) the DevTrack stats.--top– Show top N endpoints (optional)--sort-by– Sort by'hits'or'latency'(default:hits)
- A demo screenshot (
static/CLIDemo.png) is added to illustrate CLI usage.
🛠 Improved Middleware & Logging
- Refactored
DevTrackMiddleware(and extractor) so thatexclude_pathsare appended directly (simplified initialization). - Enhanced request body buffering and logging (e.g., asynchronous JSON handling and sensitive data filtering).
- Updated the example FastAPI app to demonstrate improved request handling.
🗂 Project & Documentation Enhancements
- Updated
pyproject.toml:- Refined package discovery
- Updated dependencies (including Typer for CLI support)
- Improved metadata
- Updated
setup.py(andversion.py) to dynamically read the version (instead of importing the package). - Renamed “Usage” (in
README) to “Usage & CLI Tool”:- Added detailed CLI instructions
- Included demo screenshot
- Updated the TODO list:
- Marked “CLI tool” (with
versionandstatcommands) as completed
- Marked “CLI tool” (with
Full Changelog: v0.2.2...v0.2.3
v0.2.2
DevTrack SDK v0.2.2 Release Notes
🎉 Overview
This release adds a structured TODO directory to organize and track planned features for future development. No functional changes to the SDK itself.
📝 What's New
- Added
/TODOdirectory with planning documents for:- SDK Features & Framework Support
- UI Enhancements
- Third-party Integrations
- Documentation & Examples
- Developer Experience
ℹ️ Note
This is a documentation-only release. Users of v0.2.1 can continue using that version as there are no code changes.
📦 Installation
pip install devtrack-sdk==0.2.2What's Changed
- Enhance documentation and add new TODOs for developer experience improvment in #8
Full Changelog: v0.2.1...v0.2.2
v0.2.1
🚀 DevTrack SDK v0.2.1 Release Notes
🎉 What's New
Major Improvements
- 🔓 Simplified Authentication: Removed
api_keyrequirement for a smoother developer experience. - 🧠 Environment-Based Configuration: Easily switch between dev and prod settings.
- 🛡️ Enhanced Security: Added configurable path exclusions to avoid tracking sensitive endpoints.
- 📘 Improved Documentation: Security guidelines, usage patterns, and deployment examples included.
🌟 Key Features
- ✨ Zero-configuration setup out of the box
- 🧩 Environment-aware middleware behavior
- 🛑 Smart path exclusions (
/docs,/health, etc.) - 📈 Detailed request tracking
- ✅ Robust test coverage
⚠️ Breaking Changes
- Removed
api_keyparameter fromDevTrackMiddleware - Middleware must now be initialized using the updated syntax
🧭 Migration Guide
⏪ Old
app.add_middleware(DevTrackMiddleware, api_key="your-api-key")✅ New
app.add_middleware(DevTrackMiddleware, exclude_path=["/sensitive", "/admin"])🔧 Environment Configuration Example
middleware_config = {
"development": {
"skip_paths": ["/docs", "/redoc", "/health"],
},
"production": {
"skip_paths": ["/health", "/metrics"],
}
}
env = os.getenv("ENV", "development")
app.add_middleware(DevTrackMiddleware, exclude_path=middleware_config[env]["skip_paths"])🐞 Bug Fixes
- Fixed middleware import/initialization bugs
- Improved resilience in path exclusion logic
- Stabilized test coverage across environments
📚 Documentation Updates
- ➕ New section: Configuration by environment
- 🛡️ Security best practices for sensitive routes
- 🧪 Extended code snippets for testing and validation
🔄 Dependencies
- No new dependencies added
- Fully compatible with existing FastAPI-based projects
📦 Installation
pip install devtrack-sdk==0.2.0📜 Full Changelog
For a complete list of changes, please visit our GitHub repository.
🙏 Acknowledgments
Big thanks to our users for shaping the direction of DevTrack!
⭐️ Star the repo if you like it! GitHub: mahesh-solanke/devtrack-sdk
📦 DevTrack SDK – v0.1.2
📦 DevTrack SDK – v0.1.2
This patch release improves virtual environment compatibility and packaging behavior to ensure smoother integration and clean installation across Python projects.
✨ What’s Fixed
- 🧩 Properly exposed
DevTrackMiddlewareandroutervia__init__.pyfor simpler imports - ✅ Verified compatibility with Python 3.10+ across isolated virtual environments
- 📦 Improved packaging and distribution flow for PyPI
- 🚫 Clarified usage instructions to avoid cached installs and module resolution issues
- 🔐 Smoother developer experience for integration and debugging
🙌 Community Shoutout
Big thanks to @kushagra-vj for flagging issue #2 and helping improve the import experience for all FastAPI developers! 🎉
📥 Installation
pip install devtrack-sdkIf you encounter caching issues:
pip install --no-cache-dir devtrack-sdk📚 Docs & Usage
Visit the updated README for:
- 🔧 Middleware setup
- 🧪 Examples and test instructions
- 💡 Contribution guide
- 🗺️ Feature roadmap
Special Thanks
Thank you to all early testers helping shape DevTrack SDK!