<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Modelux changelog</title>
    <link>https://modelux.ai/changelog</link>
    <description>Releases and product updates from Modelux — the control plane for LLMs.</description>
    <language>en-us</language>
    <lastBuildDate>Tue, 14 Apr 2026 12:00:00 GMT</lastBuildDate>
    <atom:link href="https://modelux.ai/changelog.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>[site] Marketing site + developer docs</title>
      <link>https://modelux.ai/changelog#2026-04-14</link>
      <guid isPermaLink="false">modelux:changelog:2026-04-14:site</guid>
      <pubDate>Tue, 14 Apr 2026 12:00:00 GMT</pubDate>
      <category>site</category>
      <description>&lt;ul&gt;&lt;li&gt;Launched modelux.ai with terminal-themed marketing pages and developer docs.&lt;/li&gt;&lt;li&gt;Every docs page available as raw markdown (&lt;code&gt;/docs/&amp;lt;slug&amp;gt;.md&lt;/code&gt;) and through &lt;code&gt;/llms.txt&lt;/code&gt; + &lt;code&gt;/llms-full.txt&lt;/code&gt; for LLM ingestion.&lt;/li&gt;&lt;li&gt;Pagefind full-text search in the top nav on docs pages.&lt;/li&gt;&lt;li&gt;JSON-LD structured data, OG images, sitemap, AI-crawler-friendly robots.txt.&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[analytics] Users page, cost forecasting, period-over-period</title>
      <link>https://modelux.ai/changelog#2026-04-12</link>
      <guid isPermaLink="false">modelux:changelog:2026-04-12:analytics</guid>
      <pubDate>Sun, 12 Apr 2026 12:00:00 GMT</pubDate>
      <category>analytics</category>
      <description>&lt;ul&gt;&lt;li&gt;New Users page surfaces top end-users by spend, volume, and latency.&lt;/li&gt;&lt;li&gt;Cost forecasting card projects end-of-month spend with trend confidence.&lt;/li&gt;&lt;li&gt;Period-over-period comparison overlays a previous window on every chart.&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[analytics] Tag filtering across logs and analytics</title>
      <link>https://modelux.ai/changelog#2026-04-10</link>
      <guid isPermaLink="false">modelux:changelog:2026-04-10:analytics</guid>
      <pubDate>Fri, 10 Apr 2026 12:00:00 GMT</pubDate>
      <category>analytics</category>
      <description>&lt;ul&gt;&lt;li&gt;Filter logs and analytics by arbitrary tag key-value pairs you attach at request time.&lt;/li&gt;&lt;li&gt;New analytics dashboard with stacked series, per-provider health rollups, and per-tag breakdowns.&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[exports] Warehouse export via S3 Parquet</title>
      <link>https://modelux.ai/changelog#2026-04-09</link>
      <guid isPermaLink="false">modelux:changelog:2026-04-09:exports</guid>
      <pubDate>Thu, 09 Apr 2026 12:00:00 GMT</pubDate>
      <category>exports</category>
      <description>&lt;ul&gt;&lt;li&gt;Configure scheduled exports of request logs, audit events, and aggregates to your own S3 bucket.&lt;/li&gt;&lt;li&gt;Parquet format with predictable per-hour partitioning.&lt;/li&gt;&lt;li&gt;BullMQ-backed worker with retries, backfills, and resumable cursors.&lt;/li&gt;&lt;li&gt;Tests cover transforms, PII handling, cursors, and multi-tenant isolation.&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[integrations] Integrations surface + developer API keys</title>
      <link>https://modelux.ai/changelog#2026-04-08</link>
      <guid isPermaLink="false">modelux:changelog:2026-04-08:integrations</guid>
      <pubDate>Wed, 08 Apr 2026 12:00:00 GMT</pubDate>
      <category>integrations</category>
      <description>&lt;ul&gt;&lt;li&gt;Consolidated integration settings under a single Integrations page: webhooks, MCP, exports, management tokens.&lt;/li&gt;&lt;li&gt;Rotate management API keys and view MCP tool usage from one place.&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[mcp] MCP server with 80+ management tools</title>
      <link>https://modelux.ai/changelog#2026-04-07</link>
      <guid isPermaLink="false">modelux:changelog:2026-04-07:mcp</guid>
      <pubDate>Tue, 07 Apr 2026 12:00:00 GMT</pubDate>
      <category>mcp</category>
      <description>&lt;ul&gt;&lt;li&gt;New MCP server at &lt;code&gt;api.modelux.ai/mcp&lt;/code&gt; exposes every management API action as an MCP tool.&lt;/li&gt;&lt;li&gt;Works with Claude Code, Cursor, and any MCP-compatible client.&lt;/li&gt;&lt;li&gt;Natural-language workflows for creating configs, setting budgets, rotating credentials, inspecting logs.&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[routing] Custom rule DSL</title>
      <link>https://modelux.ai/changelog#2026-04-05</link>
      <guid isPermaLink="false">modelux:changelog:2026-04-05:routing</guid>
      <pubDate>Sun, 05 Apr 2026 12:00:00 GMT</pubDate>
      <category>routing</category>
      <description>&lt;ul&gt;&lt;li&gt;New &lt;code&gt;custom_rules&lt;/code&gt; routing strategy with a small expression DSL over cost, latency, budget, and tags.&lt;/li&gt;&lt;li&gt;Test-harness endpoint lets you evaluate rules against sample requests before promoting.&lt;/li&gt;&lt;li&gt;Tenant-aware routing: branch on &lt;code&gt;tags.tenant&lt;/code&gt; to dispatch enterprise traffic differently.&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[audit] Audit log + config versioning</title>
      <link>https://modelux.ai/changelog#2026-04-04</link>
      <guid isPermaLink="false">modelux:changelog:2026-04-04:audit</guid>
      <pubDate>Sat, 04 Apr 2026 12:00:00 GMT</pubDate>
      <category>audit</category>
      <description>&lt;ul&gt;&lt;li&gt;Every management-API mutation now writes an audit event with actor, target resource, diff, and source (UI, API, MCP).&lt;/li&gt;&lt;li&gt;Routing configs and provider credentials keep a full version history.&lt;/li&gt;&lt;li&gt;One-click rollback to any previous version.&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[replay] Replay simulator</title>
      <link>https://modelux.ai/changelog#2026-04-02</link>
      <guid isPermaLink="false">modelux:changelog:2026-04-02:replay</guid>
      <pubDate>Thu, 02 Apr 2026 12:00:00 GMT</pubDate>
      <category>replay</category>
      <description>&lt;ul&gt;&lt;li&gt;Pick a window of historical traffic (up to 24h) and replay it against a candidate routing config.&lt;/li&gt;&lt;li&gt;Side-by-side cost, latency, and success-rate diff vs. the current config.&lt;/li&gt;&lt;li&gt;Promote the winner with a single click; promotion creates an audited new version.&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[budgets] Finance-grade budgets with auto-downgrade</title>
      <link>https://modelux.ai/changelog#2026-04-01</link>
      <guid isPermaLink="false">modelux:changelog:2026-04-01:budgets</guid>
      <pubDate>Wed, 01 Apr 2026 12:00:00 GMT</pubDate>
      <category>budgets</category>
      <description>&lt;ul&gt;&lt;li&gt;Scoped budgets (org, project, tag, end-user) with soft-alert and hard-cap thresholds.&lt;/li&gt;&lt;li&gt;At-cap actions: alert, block with 402, or auto-downgrade to a cheaper routing config.&lt;/li&gt;&lt;li&gt;Budget-aware routing lets custom rules read &lt;code&gt;budget.used_pct&lt;/code&gt;.&lt;/li&gt;&lt;li&gt;Email + Slack-compatible webhook alerts on threshold crossings.&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[webhooks] Webhook endpoints for events</title>
      <link>https://modelux.ai/changelog#2026-03-31</link>
      <guid isPermaLink="false">modelux:changelog:2026-03-31:webhooks</guid>
      <pubDate>Tue, 31 Mar 2026 12:00:00 GMT</pubDate>
      <category>webhooks</category>
      <description>&lt;ul&gt;&lt;li&gt;Subscribe to budget alerts, config changes, provider health transitions, and request anomalies.&lt;/li&gt;&lt;li&gt;HMAC-SHA256 signatures, durable delivery queue with exponential backoff, replay from the dashboard.&lt;/li&gt;&lt;li&gt;Slack-format auto-detection for webhook URLs pointing at Slack.&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[sdks] Official Python + TypeScript SDKs</title>
      <link>https://modelux.ai/changelog#2026-03-29</link>
      <guid isPermaLink="false">modelux:changelog:2026-03-29:sdks</guid>
      <pubDate>Sun, 29 Mar 2026 12:00:00 GMT</pubDate>
      <category>sdks</category>
      <description>&lt;ul&gt;&lt;li&gt;Released &lt;code&gt;modelux&lt;/code&gt; on PyPI and npm.&lt;/li&gt;&lt;li&gt;Thin wrappers over the OpenAI SDK with extra helpers for tags, end-user IDs, routing slugs, and decision traces.&lt;/li&gt;&lt;li&gt;MIT licensed; source in the monorepo.&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[cache] Semantic caching</title>
      <link>https://modelux.ai/changelog#2026-03-27</link>
      <guid isPermaLink="false">modelux:changelog:2026-03-27:cache</guid>
      <pubDate>Fri, 27 Mar 2026 12:00:00 GMT</pubDate>
      <category>cache</category>
      <description>&lt;ul&gt;&lt;li&gt;New semantic-match cache mode: request embeddings against a cache of recent responses, return on high similarity.&lt;/li&gt;&lt;li&gt;Per-routing-config mode (&lt;code&gt;exact&lt;/code&gt; / &lt;code&gt;semantic&lt;/code&gt; / off), tunable similarity threshold.&lt;/li&gt;&lt;li&gt;Cache-hit metrics broken out in analytics.&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[routing] Ensembles + cascades</title>
      <link>https://modelux.ai/changelog#2026-03-26</link>
      <guid isPermaLink="false">modelux:changelog:2026-03-26:routing</guid>
      <pubDate>Thu, 26 Mar 2026 12:00:00 GMT</pubDate>
      <category>routing</category>
      <description>&lt;ul&gt;&lt;li&gt;New &lt;code&gt;ensemble&lt;/code&gt; routing strategy: parallel fan-out to N models, aggregation via weighted vote, first-valid, or LLM judge.&lt;/li&gt;&lt;li&gt;New &lt;code&gt;cascade&lt;/code&gt; strategy: sequential attempts with early stop on success — quality-tier fallback made easy.&lt;/li&gt;&lt;li&gt;Live cost estimator in the routing config builder for both strategies.&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[routing] Cost- and latency-optimized routing</title>
      <link>https://modelux.ai/changelog#2026-03-24</link>
      <guid isPermaLink="false">modelux:changelog:2026-03-24:routing</guid>
      <pubDate>Tue, 24 Mar 2026 12:00:00 GMT</pubDate>
      <category>routing</category>
      <description>&lt;ul&gt;&lt;li&gt;&lt;code&gt;cost_optimized&lt;/code&gt; strategy picks the cheapest allowed model meeting a quality tier.&lt;/li&gt;&lt;li&gt;&lt;code&gt;latency_optimized&lt;/code&gt; strategy uses rolling p50 measurements to prefer the fastest healthy provider.&lt;/li&gt;&lt;li&gt;A/B testing strategy lands for controlled rollouts between configs.&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[providers] AWS Bedrock + Azure OpenAI adapters</title>
      <link>https://modelux.ai/changelog#2026-03-23</link>
      <guid isPermaLink="false">modelux:changelog:2026-03-23:providers</guid>
      <pubDate>Mon, 23 Mar 2026 12:00:00 GMT</pubDate>
      <category>providers</category>
      <description>&lt;ul&gt;&lt;li&gt;Added Bedrock with IAM credential format (access key::secret::region[::session]).&lt;/li&gt;&lt;li&gt;Added Azure OpenAI with configurable base URLs per resource.&lt;/li&gt;&lt;li&gt;Both adapters normalize tool-calling and structured-output behavior to the OpenAI shape.&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[dashboard] Visual routing builder</title>
      <link>https://modelux.ai/changelog#2026-03-21</link>
      <guid isPermaLink="false">modelux:changelog:2026-03-21:dashboard</guid>
      <pubDate>Sat, 21 Mar 2026 12:00:00 GMT</pubDate>
      <category>dashboard</category>
      <description>&lt;ul&gt;&lt;li&gt;Drag-and-drop builder for fallback chains and ensembles.&lt;/li&gt;&lt;li&gt;Live dry-run panel shows the decision trace for a sample prompt without calling the provider.&lt;/li&gt;&lt;li&gt;Version diff view for every change.&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[observability] Decision traces + full request logs</title>
      <link>https://modelux.ai/changelog#2026-03-20</link>
      <guid isPermaLink="false">modelux:changelog:2026-03-20:observability</guid>
      <pubDate>Fri, 20 Mar 2026 12:00:00 GMT</pubDate>
      <category>observability</category>
      <description>&lt;ul&gt;&lt;li&gt;Every request now records the full routing decision: attempts tried, reasons, per-attempt timings and costs.&lt;/li&gt;&lt;li&gt;Log detail view in the dashboard with a routing trace card.&lt;/li&gt;&lt;li&gt;Structured tags on every log entry for filtering and analytics group-by.&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[core] Fallback routing, health tracking, retries</title>
      <link>https://modelux.ai/changelog#2026-03-19</link>
      <guid isPermaLink="false">modelux:changelog:2026-03-19:core</guid>
      <pubDate>Thu, 19 Mar 2026 12:00:00 GMT</pubDate>
      <category>core</category>
      <description>&lt;ul&gt;&lt;li&gt;&lt;code&gt;fallback&lt;/code&gt; routing strategy with per-attempt timeouts and retry-on conditions (429, 5xx, timeout).&lt;/li&gt;&lt;li&gt;Per-provider rolling health (success rate, p50 latency) powers health-based routing.&lt;/li&gt;&lt;li&gt;OpenAI SDK streaming (SSE) passes through unchanged.&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
    <item>
      <title>[core] Modelux 1.0 — public beta</title>
      <link>https://modelux.ai/changelog#2026-03-18</link>
      <guid isPermaLink="false">modelux:changelog:2026-03-18:core</guid>
      <pubDate>Wed, 18 Mar 2026 12:00:00 GMT</pubDate>
      <category>core</category>
      <description>&lt;ul&gt;&lt;li&gt;OpenAI-compatible &lt;code&gt;/v1/chat/completions&lt;/code&gt; and &lt;code&gt;/v1/embeddings&lt;/code&gt; across OpenAI, Anthropic, and Google.&lt;/li&gt;&lt;li&gt;Projects, API keys, and BYO provider credentials.&lt;/li&gt;&lt;li&gt;Per-request cost computation with per-model pricing tables.&lt;/li&gt;&lt;li&gt;Free + Pro plans launched.&lt;/li&gt;&lt;/ul&gt;</description>
    </item>
  </channel>
</rss>
