Skip to content

Conversation

@shroominic
Copy link
Contributor

@shroominic shroominic commented Nov 22, 2025

v0.2.1 Release Summary

Pull Requests Merged:

PR #278 - OpenAI Responses API
• Standardize response handling for OpenAI compatibility
• Add response API examples

PR #276 - Force Sats Pricing
• Standardize internal pricing calculations to Satoshis for consistency

PR #271 & #251 - Embeddings Support
• Add support for embedding models and requests
• Fix alias display and handling for embedding models
• Manual alias fixes for upstream API issues (OpenRouter)

PR #265 - Enhanced Cost Calculation
• Include upstream inference costs (e.g., OpenRouter)
• Add manual cost overrides for specific models (e.g., Gemini image completion)

PR #258 - Test Maintenance
• Remove flaky wallet tests to improve CI stability

PR #249 - Refactoring
• Remove unused functions and cleanup code

PR #248 - Dynamic Admin Settings UI
• Update admin settings page to dynamically render fields based on backend response
• Automatic rendering of new backend settings without UI code changes
• Smart handling of known fields and automatic masking of sensitive data

PR #256 - Console Logging Improvements
• Cleanup and improve algorithm logs
• Enhanced logging visibility and cleanup
• Ignore Cloudflare headers in logs

PR #253 - Lightning Network Integration
• Create and topup tokens using Lightning Network
• Implement validation for pricing

PR #254 - UI Formatting & Requirements
• Make format required in UI
• Fix UI formatting inconsistencies

PR #252 - Model Fetching & Matching Fixes
• Fix OpenRouter model fetching (handle free models correctly)
• Fix PPQ models matching incorrectly
• General fixes for upstream model fetching reliability

PR #255 - Test Maintenance
• Remove unstable/shaky tests

PR #246 - Fix Reserved Balance Race Condition
• Fix race condition where reserved balance accumulated without cleanup during rapid parallel requests

PR #242 - Login Dark Mode
• Make login page dark mode compatible

PR #241 (merging #228 & #229) - Dashboard & Usage Tracking Enhancements (MAJOR)
• Add usage tracking dashboard and APIs
• Add logs page with date picker and search
• Implement global currency selection with dropdown
• Add balance summary to main dashboard
• Restructure and enhance dashboard visualizations
• Apply global currency formatting to stats
• Refactor: unify logs and usage implementation
• Fix revenue tracking problems and build errors

PR #239 - Gemini Provider Integration
• Add Gemini as upstream provider
• Remove model prefix for Gemini

PR #236 - Landing Page & API Documentation
• Add API cheat sheet
• Fix UI build

PR #234 - PPQ.ai Provider Integration
• Add PPQ API as upstream provider with account creation and dashboard topup

PR #232 - Cleanup
• Remove accidental CDK Python binaries

PR #231 - Streaming Fix
• Fix streaming responses for unsupported content-encoding

PR #224 - Minor Fixes
• Fix pytests and small issues

PR #202 - Configurable Model Exclusions
• Add EXCLUDED_MODEL_IDS configuration to .env

PR #200 - API Cleanup
• Remove models field from base URL output

Additional Commits & Features:

• Feat: Add custom models and overrides system
• Feat: OpenRouter balance fetch + generic get_balance implementation
• Feat: More examples for developers and testing
• Opt: Optimize async startup process
• Fix: Populate upstream_provider_id correctly
• Fix: Ignore specific auto/internal models (PPQ auto, OpenRouter bodybuilder)
• Fix: UI build fixes, Prettier formatting, and linting/typing corrections
• Fix: Remove hardcoded excluded models
• Fix: Model cleanup tasks
• Editable provider fee in dashboard

Key Features:

✓ Embeddings Support (models and aliases)
✓ Dynamic Admin Settings UI (backend-driven configuration)
✓ Lightning Network integration for token topup
✓ Complete dashboard overhaul with usage tracking
✓ Enhanced Cost Calculation & Sats Pricing
✓ Custom models and overrides system
✓ Upstream balance fetching (e.g., OpenRouter)
✓ Global currency selection and formatting
✓ Logs page with filtering and search
✓ Configurable model exclusions
✓ Dark mode login page
✓ API documentation cheat sheet
✓ Improved model fetching and matching reliability

sh1ftred and others added 28 commits October 17, 2025 04:10
- Add excluded_model_ids field to Settings class
- Support comma-separated list via EXCLUDED_MODEL_IDS env var
- Include default exclusions for openrouter/auto and google/gemini-2.5-pro-exp-03-25
- Remove the deprecated models field from /v1/info endpoint
- The models field was kept for back-compatibility but is now removed
- Users should use the dedicated /v1/models endpoint instead

Fixes #184
- Remove hardcoded model ID checks for openrouter/auto and google/gemini-2.5-pro-exp-03-25
- Use settings.excluded_model_ids list for model filtering
- Maintain backward compatibility with existing exclusion logic
- Add proper error handling for settings access
- Remove models field from required fields list in root endpoint test
- Add explicit test to ensure models field is not present
- Update test comments to reference issue #184

Related to #184
- Document the new EXCLUDED_MODEL_IDS environment variable
- Show example with default excluded model IDs
- Maintain existing configuration structure
- Resolved merge conflicts in .env.example and routstr/payment/models.py
- Kept configurable model exclusions approach from feature branch
- Added new excluded models (sonoma-dusk-alpha, sonoma-sky-alpha) to settings.py defaults
- Updated .env.example to include all excluded models
- Maintained compatibility with main branch changes including UI configuration
…output

Fix/remove models from base url output
…sions

Feature/configurable model exclusions
rm accidental push of cdk-python binaries
fixed streaming responses for unsupported content-encoding
Minor spelling / formatting fixes
shroominic and others added 28 commits December 21, 2025 09:55
# Conflicts:
#	routstr/upstream/base.py
@shroominic shroominic merged commit f1fa7d0 into main Dec 27, 2025
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TypeError: Error in input stream because of unsupported content-encoding

6 participants