v2.7.0
Release Notes
Version 2.7.0 (November 15, 2023)
🌟 New Features
-
Enhanced User Management
- Implemented a new
get_or_create_token
endpoint for improved user authentication and management. - Added fingerprint-based user tracking for better user identification across sessions.
- Implemented a new
-
Improved Error Handling
- Enhanced error logging and handling throughout the application, especially in user management and token generation processes.
-
Database Upgrades
- Integrated Flask-Migrate for smoother database schema management and migrations.
- Added new columns to the User model:
fingerprint
,last_ip
,created_at
, andlast_token_refresh
.
-
Security Enhancements
- Implemented Fernet encryption for sensitive data storage.
- Added an
ENCRYPTION_KEY
environment variable for secure data handling.
🛠️ Improvements
-
API Key Validation
- Added checks to ensure all required API keys (CLAUDE, GEMINI, GPT, MISTRAL) are set in environment variables.
-
Database Configuration
- Improved database URL handling to support both PostgreSQL and SQLite.
- Added automatic database URL modification for Heroku PostgreSQL compatibility.
-
Logging Enhancements
- Implemented more comprehensive logging throughout the application for better debugging and monitoring.
-
Code Refactoring
- Restructured the
User
andUserActivity
models for improved data management. - Optimized the token generation and validation processes.
- Restructured the
🐛 Bug Fixes
- Fixed issues with user creation and retrieval in concurrent scenarios.
- Resolved potential security vulnerabilities in token handling.
📚 Documentation
- Updated README with detailed setup instructions, including environment variable configuration and database initialization steps.
🔧 DevOps
- Updated
requirements.txt
to include all necessary dependencies, including Flask-Migrate. - Modified
Procfile
to ensure proper application startup on Heroku.
🔜 Coming Soon
- Further optimizations for high-traffic scenarios.
For any questions or issues, please open an issue on the GitHub repository.