Releases: MrCesar107/ruby_coded
Releases · MrCesar107/ruby_coded
BUFGIX: OAuth credentials lost after in-TUI login
- When logging in to OpenAI via OAuth from within the chat (
/login) while already authenticated with another provider (e.g. Anthropic) and using a non-Codex model, the freshly stored OAuth credentials were wiped from~/.ruby_coded/config.yaml. The root cause was twoUserConfiginstances holding independent in-memory copies of the config; whenensure_valid_codex_model!called@user_config.set_config("model", "gpt-5.4"), the stale hash (loaded before the OAuth login) was serialized back to disk, overwriting the OAuth credentials written moments earlier byCredentialsStore. Fixed by threading a single sharedUserConfigthroughInitializer,AuthManager,CredentialsStoreandChat::App
BUGFIX: Startup crash when stored model provider is not authenticated
The CLI no longer raises RubyLLM::ConfigurationError at startup when the model saved in ~/.ruby_coded/config.yaml belongs to a provider that has no credentials on the current machine (e.g. switching computers with only Anthropic authenticated but a GPT model stored). Instead, the app falls back to the default model of the authenticated provider and shows an in-chat system message suggesting /login or /model to adjust.
v0.2.0
Added
- ChatGPT Plus/Pro OAuth authentication: Use your ChatGPT subscription to access GPT-5.x models via the Codex backend — no API credits required
/logincommand: Authenticate with providers (OpenAI, Anthropic) directly from the TUI without restarting- In-TUI login wizard: Native multi-step login flow with OAuth and API key support, replacing the old TUI-suspend approach
- CodexBridge: Dedicated HTTP client for the ChatGPT Codex Responses API with SSE streaming, stateless conversation history, tool calls, and automatic token refresh
- Codex model catalog: Local catalog of ChatGPT-available models (gpt-5.4, gpt-5.2, gpt-5.2-codex, etc.) integrated with the
/modelselector - Status bar indicator: Shows
(ChatGPT)or(API)next to the model name to distinguish authentication mode - JWT decoder: Extracts
chatgpt_account_idfrom OAuth tokens for Codex API authentication
Changed
- OpenAI OAuth now authenticates via ChatGPT Codex backend instead of the OpenAI Platform API
- OAuth scopes expanded to
openid profile email offline_accesswith Codex-specific auth params - AuthManager skips OpenAI OAuth credentials for RubyLLM configuration (handled by CodexBridge)
- Default OpenAI model updated to
gpt-5.4
First relase
This is the first realse (v0.1.0) of the Ruby Code gem. For this relase, I include the commits of the main branch.
Full Changelog: https://github.com/MrCesar107/ruby_code/commits/main