Changelog

What we have been shipping.

Studio Builder 2026-09-26
  • •Studio Builder builds apps: describe “an app to track equipment loans, with a board by status and due dates on a calendar” and Builder creates the record type, its editor, a workspace and list, board and calendar views
  • •Automations proven before they are reported: Builder reads the real schema, people and groups, builds the automation, and verifies that it works before it says it is done
  • •Approve exactly what will change: the conversation follows the run live — questions, steers, pause and resume — and nothing is written until you approve one exact set of changes
raisindb 0.6.42 2026-09-23
  • •Durable agent runs: every agent conversation is a run with an event log that can be stopped, paused, steered, approved and resumed, and it carries on after a restart
  • •Skills for agents: procedures an agent loads only when it needs them, shipped as a SKILL.md and scoped to a package, an installation, one agent or one workflow step
  • •Triggers on the fields you care about: filters.changed_properties fires an update trigger only when one of the named properties actually changed
Runtime 2026-09-23
  • •Watermarks: a new media transform puts a logo and a line of text on any picture or video, with position, opacity, colour and a soft shadow
  • •Loops and freeze frames: @maravilla-labs/frames 0.11 loops a section of a video or sound, sample-exact in preview and export, and holds a freeze frame
  • •Capacity that follows your plan: concurrent requests and media transforms are sized from a project’s plan and change live when the plan does
Studio Timeline 0.3.0 2026-09-21
  • •Voice processing: denoise and live effect chains on any audio track, with saved presets that sound the same in preview and render
  • •Loops, freeze frames and filmstrips: loop a section of a clip, hold a frame, and scrub from a seekable edit copy with its filmstrip stored on the asset
  • •Richer layers: gradient stops with opacity, glows, a backdrop picture, shadows that follow the content, smooth motions and named groups
raisindb 0.6.34 2026-09-20
  • •Retrieval that answers: db.ask() answers from your own documents with citations, and says so when it found nothing instead of guessing
  • •Time zones in functions: raisin.date.toZone and fromZone make “09:00 Europe/Zurich” mean 09:00 in Zurich all year round
  • •Packages of any size: the CLI streams packages from disk with real progress and retries, so a gigabyte package uploads
Studio Beta 0.3.3 2026-09-16
  • •Apps with boards and calendars: card templates, a peek panel, saved views with filter, sort and grouping, and records created inline from a board column or calendar day
  • •One schedule engine: recurring dates with time zones, daylight saving, overrides, moved dates and conflict detection, shared by events, ticketing and apps
  • •Templates that know their placeholders: message templates highlight {{placeholders}}, flag broken ones and list every automation that sends them
raisindb 0.6.14 2026-09-12
  • •Connections that stay connected: Microsoft 365 and other OAuth accounts keep their grants through every token refresh, and a mount paused for sign-in resumes on its own once its credential is repaired
  • •Reconnect a whole account at once: every mount that belongs to one connected account — inbox, sent items, calendars — is rebound in a single step, with a verdict per mount
  • •Local agents use tools: agents running on Ollama call tools while streaming, and a chat step’s brief is fully resolved before the model reads it
Studio Beta 0.3.0 2026-09-10
  • •A People directory: people, organisations and the ways to reach them on one shared model that commerce builds on too, with countries and languages picked rather than typed, and quick at thousands of records
  • •A data grid you can work in all day: tens of thousands of rows with sorting, resizing, a frozen column, keyboard and range selection, cell copy, grouping and expandable rows
  • •Filters that count everything: facet counts come from the server across the whole workspace, and forms render straight from a record’s archetype, sized for the job
raisindb 0.6.1 2026-09-09
  • •Exact decimals: properties can be declared Decimal, Integer or Float, so a price is stored exactly — and declared types are enforced on every write
  • •Fast type families: IS_A and HAS_MIXIN are index lookups now, so a filtered listing across a whole type family is as quick as querying a single type
  • •Sign in with OpenID Connect: full OIDC with PKCE, verified identity tokens and account linking — plus immutable node types for records that must not change once issued
Studio Commerce 0.3.0 2026-09-08
  • •One basket for everything: a ticket, a hoodie and a donation go through the same checkout, payment and receipt, and a buyer is one customer across all of it
  • •A till that takes money: the point-of-sale kiosk writes the same order as the website, offers the shop’s own payment methods, and scans products and member cards from one input
  • •Memberships and invoices: member groups with benefits and allowances are sold like any product, invoice numbers are gapless, and a paid order sends a branded PDF receipt in the buyer’s language
Platform 2026-09-08
  • •Philips Hue connector: connect a Hue bridge and its lights, rooms and scenes appear in your project, ready for automations to set lights and recall scenes
  • •Build logs to the last line: build logs stream reliably to the end of every build, even when many deploys run at once, and a broken stream says so instead of looking like a finished build
Studio Ticketing 2026-09-07
  • •Checkout about ten times faster: the whole ticketing path now runs as compiled WebAssembly, and reserving a ticket went from over a hundred milliseconds to around ten
  • •Venues that know their limits: a venue’s permitted occupancy binds every event held in it, and a seating plan starts from the building, its blocks becoming price categories
  • •Pay a deposit now, the balance later: payment terms are content, so a group can pay part up front and the rest on the same order, and the sales overview lists events at a glance
raisindb 0.5.0 2026-09-06
  • •WebAssembly functions: a third runtime next to QuickJS and Starlark — write functions in Rust, Go or AssemblyScript, with many handlers in one artifact and every raisin.* method available
  • •Scaffold, run and test any function: create function, function run, function test and doctor now cover JavaScript and Starlark too, with unit tests against a mock host
  • •Scanned PDFs are searchable: a phone scan or a fax is read through OCR page by page, so it is found by what it says
Studio Beta 0.2.0 2026-09-04
  • •The Inbox is its own app: a three-pane workbench for tasks, conversations and messages, with replies in place and a shareable link to any single item
  • •Document intelligence: incoming documents are classified, their fields extracted for review, deadlines detected and bookings proposed for approved invoices
  • •A video editor: stage presets and backdrops, masks, in-editor camera, screen and microphone recording, and an audible preview
Studio Beta 0.1.192 2026-09-03
  • •Asset management: search the library by text or by meaning, filter by tag, type and what needs attention, find similar assets, and enrich them with AI
  • •Automations grow up: a Steps tree with inline branches, a typed Insert menu, and ready-made library steps for mail, nodes, HTTP requests, tasks and Philips Hue lights
  • •Studio for Astro: @maravilla/studio-astro brings inline editing, variants and preview to Astro sites, with an example site to start from
Platform 2026-09-03
  • •Serve a path from another origin: proxy.routes puts an existing shop or portal under your own domain as a reverse proxy — one certificate, first-party cookies, no redirect
  • •Publish only what you mean to: blockPaths keeps an upstream’s admin and login pages off your site, answered as if they were never there
raisindb 0.4.13 2026-09-02
  • •Background work parks instead of failing: an embedder outage used to burn a job’s retries in two minutes and then fail it permanently — work now parks on a shared per-upstream circuit breaker, keeps its retry budget, and says so
  • •Fair-share job scheduling: one tenant enqueueing 10,000 jobs delays another tenant’s single job by one round instead of by the whole backlog, and an idle tenant costs nothing
  • •A mounted drive is indexed, not mirrored: cached file bytes expire once nothing needs them, and a read fetches them back from the provider natively — the extracted text, the embedding and the thumbnail all survive
Studio Beta 0.1.180 2026-09-02
  • •The asset library takes any file: the upload picker had been filtered to images, video, audio and PDF, so a .docx — the format the extraction pipeline exists for — could not be selected; files are now previewed in place and thumbnailed even when a browser cannot draw them
  • •Search by words, meaning, or both: the switch sits in the hint strip beside the search box, an agent gets the same choice, and results come back as passages rather than a list of documents
  • •See what the server is doing: an ambient background-job indicator fed by a live subscription, an extraction record you can read, and a Regenerate action when a file needs reading again
raisindb 0.4.0 2026-08-31
  • •Semantic search: partitioned vector indexes served through the same surface full text already used, so one query asks for words, for meaning, or for both and gets a single fused ranking
  • •Retrieval returns the passage: a RAG caller used to get a document id and a chunk ordinal and had to re-chunk the document itself; the chunk that answered now comes back with it, marked exact or excerpt so a downgrade is never silent
  • •Long documents actually embed: a 40-page PDF held exactly one vector — its filename — because 1,112 chunks went to the gateway in a single call it caps at 100, so the job failed and retried forever
Studio Beta 0.1.161 2026-08-31
  • •A shared inbox over your mounted mailbox: threading, search, triage with status, assignee, snooze and internal notes, board and calendar views, and sending — over the mail a Microsoft 365 or IMAP mount already writes
  • •Every mounted calendar on one grid: two Microsoft accounts and a Google one at once, with mail due dates and snoozes as another layer; events drag where they can be saved, and every time carries its zone
  • •Communication is its own area: message templates and webhooks left the Events Library, where Events was the de facto owner of a layer that ticketing, automations and channels all reach — and nothing moved in the data
Studio Beta 0.1.140 2026-08-29
  • •Automations: author a flow on a graph canvas, see the compiler’s verdict in place rather than a “Saved” for an automation that never deployed, and watch a Runs view of what it actually did
  • •Steps that think: an agent step can ask for structured output and save its answer under a name the next step’s condition reads — both fields were documented on the step and neither had ever been read
  • •See who touched a document: an agent, a flow or a trigger used to arrive as the word “system”; a write now names who acted and what set them off, and an agent can run under its own roles
Platform 2026-08-29
  • •Organisation permissions are capabilities: what a member may do is described rather than inferred from a rank, which is what makes the billing role reachable and lets an owner delegate team management on its own
  • •Microsoft 365 in one bundle: mail, calendar and drive as a single mount that asks whether the inbox is one folder or a subtree, with drive write scopes — and a live connection can be widened to them without being rebuilt
  • •Embed a Maravilla site in another page: a deployment declares the origins allowed to frame it, and delivery composes that into the response policy instead of replacing what the app already sent
Studio Beta 0.1.132 2026-08-26
  • •The storefront becomes a package: the buyer session, the basket, ticket offers, checkout and a payment seam that outlives tickets ship as @maravilla/studio-commerce with a Svelte 5 adapter, instead of being rebuilt per storefront
  • •The admin UI speaks four languages: English, German, French and Italian — and its access is gated by RaisinDB roles rather than by app code
  • •Undo the destructive things: destructive actions are confirmed, a variation set with subpages can be reverted, and deleted content can be restored — “Recently deleted” had been looking at almost none of the history
raisindb 0.3.24 2026-08-22
  • •Functions can sign and mint tokens: raisin.crypto gains JWS signing, P-256 key generation, hashing and cryptographically secure random bytes — a function could verify a token before, and had no way to issue one
  • •Turn a guest into an account: raisin.identities lets a function find an identity by email and rename it, so the throwaway identity a storefront mints for a basket becomes the buyer’s real account instead of a magic link landing on an empty page
  • •UNRELATE means it: removing a relationship reported success while graph queries kept serving the edge, and removing one relationship type between two nodes took every other type with it — both are fixed
Studio Beta 0.1.100 2026-08-22
  • •Session sign-ups: a ticket gets you into the building; a room with thirty chairs is its own question. Seats, an interest list or nothing at all, per event or per session, with a waitlist that promotes the next person by itself
  • •The organiser sees who is coming: a live badge on every session row, and the sheet behind it lists who is waiting — in the order they will be promoted — who is going and who has checked in, with a CSV for the room host
  • •Target what the site knows about a visitor: audience rules can read visitor traits — whether someone holds a ticket, which type, which events they attend — instead of smuggling them through as invented segment slugs
Studio Beta 0.1.99 2026-08-21
  • •Door check-in that survives the venue wifi: each event signs its own tickets, a scanner syncs what it needs, and a scan verifies and admits with no network — a door tablet can check a ticket and can never issue one
  • •Ticket codes a person can read: tickets printed an internal allocation id because the code generator probed this runtime for a CSPRNG under a name it does not use; codes are now short, readable and impossible to derive from the one before
  • •Add-ons ride on a ticket: lunch, a t-shirt or a workshop place is bought alongside admission and stamped onto the buyer’s real tickets, rather than issuing a second ticket that is not a way in
Platform 2026-08-20
  • •AI billed in credits: a model catalogue and rate card, credit packs recorded in your billing history, a ledger an invoice can be reconciled against, the plan’s allowance drawn as depletion, and an alert before the balance runs out
  • •Scoped, spend-capped API keys: issue a key limited to what it may reach and how much it may spend, and manage it yourself from the console
  • •Sign your data processing agreement in place: an organisation records its legal entity, and an owner or admin reads and signs the DPA in the console — and a member can now be invited by email address, whether or not they already have an account
raisindb 0.3.21 2026-08-20
  • •Functions cannot reach your internal network: raisin.http.fetch refuses loopback, private and link-local addresses; where a function genuinely needs an internal service, the operator names the endpoint and the function may only say which one to fire
  • •Move and copy stop stranding nodes: the top level of a workspace is a valid destination again, a move onto a path another node already holds is refused instead of silently displacing it, and a cross-branch copy carries the node’s relations and can be pinned to a revision
  • •Package installs that finish: a re-deploy applies the package instead of quietly doing nothing, one rejected node no longer fails the other ninety-nine, and a large install gets the time it needs
Studio Beta 0.1.88 2026-08-19
  • •A publish carries what the page needs: an event used to go live with an empty programme and no failed step — publishing now follows references out to the sessions, rooms and pools a page depends on, pins the run to one revision, and reports what actually went live
  • •Your ticket is yours: a ticket is delivered into its holder’s own home rather than being found by a query somebody else runs on their behalf, and a buyer can watch their own order — and only their own
  • •Directory: contacts get a browser of their own instead of a flat catalogue, records can state how they relate to one another, and every record carries a graph of those relationships
Runtime 2026-08-17
  • •Reconnect without losing messages: channel history is opt-in per channel pattern, and a client can now ask for everything published while it was away — replay was documented for months and always returned nothing
  • •A sustained CPU budget: per-tenant CPU is measured and enforced per plan, so a cheap-but-relentless client — one looping browser held half a core for hours — is throttled instead of falling between the request-rate and per-request limits
  • •Stripe without copying the platform key: the shared credential stays with the platform instead of being seeded into every tenant’s repository, and refunds, the billing portal and payment reads are permitted through it deliberately
raisindb 0.3.8 2026-08-16
  • •Functions can send email: raisin.email.send over a provider configured once per tenant, behind a deny-by-default policy that states which addresses a function may write to
  • •Magic-link sign-in: sign in from a link in your inbox, with the tokens stored as ordinary nodes
  • •API keys on the HTTP surface: a script or a service can authenticate with a key instead of carrying a session
raisindb 0.2.30 2026-08-11
  • •Connectors declare their own OAuth surface: a connector whose client credentials are issued centrally no longer shows an editable client-id form that could only break it — it declares which fields its operator actually owns
  • •Reconnect, don't disconnect: widening a scope used to mean breaking every mount on the account and rebuilding it — re-consenting now updates the account in place, and a connection reports the scopes the provider actually granted
  • •Memory under control: RocksDB tuning that was being silently discarded now applies, two leaks are closed, and the server can finally report real numbers about its own memory
Platform 2026-08-10
  • •Managed integrations: connect Microsoft 365 or Google in one click using Maravilla's registered apps — no app registration of your own, and your own bring-your-own-app connectors keep working
  • •Release downloads of any size: asset downloads stream instead of being buffered whole, so anything over 4 MB no longer fails — with a known length, so clients can show progress
  • •Mounts say what they mean: a paused mount stops reading “OK”, a stop request renders as “Stopping…”, and every write outcome — pushed, pending, rejected, blocked — appears on the run card instead of an edit vanishing silently
Runtime 2026-08-09
  • •The full media suite in RaisinDB: all 23 transforms — screenshots, PDF, video render and transcode, document conversion, resize, face detection, OCR — are reachable from RaisinDB functions under raisin.media.*
  • •Submit and poll, with real progress: every call enqueues a job and returns immediately, so a multi-minute render is no longer impossible inside a function's 30-second budget, and job status now carries a percentage and stage
raisindb 0.2.29 2026-08-09
  • •Mounts stop scanning everything: the sync tick asked every repository for its mounts, almost none of which have one — 51% of server CPU. A registry now records which repositories actually hold one
  • •Query planning got cheaper: every query deserialized the whole schema catalog to compute a statistic used by one estimate — about 33% of server CPU. It is now computed only when a query can actually use it
  • •Faster, quieter boot: startup read the entire operation log up to three times per repository; it now seeks once and scans keys rather than values, turning a multi-minute silent boot into an ordinary one
Studio Beta 0.1.47 2026-08-08
  • •Marbles — pin content to a real place (experimental): walk to a landmark, point the phone, tap the spot, and the coordinate is stored on the document you are editing, as canonical GeoJSON that answers a proximity query
  • •From roughly 10 m to roughly 1.5 m: setting your standpoint on a map beats the receiver in your pocket, with an uncertainty ring and compass calibration behind it
  • •See the placement in 3D: a live preview so an author can check a marble really sits where they meant — and Studio installs as a PWA for the walking-around part
Studio Beta 0.1.46 2026-08-07
  • •Models is its own app: a dataset is a workflow — collect, label, generate, train — so it moved out of the media library into its own workspace instead of burying the library under generated variants
  • •Label your own pictures: boxes, ellipses, freehand lasso and click-to-segment all produce the same annotation shape, so masks survive augmentation and every box-only consumer keeps working
  • •Build a training set: augmentation turns a handful of labelled images into a dataset, each dataset keeps its own asset folder, and a QLoRA pipeline covers source, curation and build for text
Studio Beta 0.1.43 2026-08-06
  • •AR image targets (experimental): printed artwork a camera recognises, with overlay content anchored to it — author, compile and test in Studio, render with the SDK or your own runtime
  • •No server compute needed: targets compile entirely in the browser and the bundle is stored as an ordinary content-hashed asset, so an AR target is just an image in your library that can also be something else
raisindb 0.2.22 2026-08-06
  • •Connectors can write back: a mount pushes local edits to Microsoft 365, Google or IMAP in one of three modes — a state flag such as a mail's read status, a full mirror of the remote object, or a command such as sending a mail
  • •Writes go out first: the push runs ahead of the read phases so your edit reaches the provider before remote changes come in, and whatever a run does not reach stays pending rather than being lost
  • •A broken mount stops hammering the provider: a push that can never succeed — a missing write scope, say — is parked instead of retried forever, which in production had meant 78 drains a minute and hundreds of throttling responses
Studio Beta 0.1.30 2026-07-28
  • •Author with an agent: Studio ships an MCP server — an AI assistant can create pages, stories, tags and folders in your workspace through typed tools, with validation and reference resolution built in
  • •Editorial ordering: the order you arrange pages in is now first-class — move, reorder and list children from the editor, the API or an agent, and it sticks
  • •Editor polish: child counts stay live as you navigate, context menus flip away from the viewport edge, and database errors surface instead of failing silently
raisindb 0.1.86 2026-07-27
  • •Native MCP server: expose your data and functions as tools to any MCP client — tools run with the calling user's own permissions, and a rejection names the scope that was missing
  • •Order as a query concept: __order and __tree_order make hand-curated sibling order a first-class sort in SQL, next to move, reorder and list-children operations
  • •Persistent audit log: every change is recorded with user and agent attribution — you can see what changed and who changed it, human or machine
Runtime 2026-07-25
  • •Astro adapter (experimental): deploy an Astro 6 or 7 site to the runtime with @maravilla-labs/adapter-astro — server-rendered pages and API routes run on the platform, prerendered pages are served as static files
  • •Platform services in your pages: database, storage, key-value and queues arrive on Astro.locals.platform, and Astro.session is backed by the key-value store with no extra configuration
  • •No new build step: the adapter hooks Astro's own build, and maravilla dev runs the Astro dev server alongside the platform services — the API may still change while it is experimental
raisindb 0.1.74 2026-07-23
  • •Schema updates without a release: built-in definitions ship and resync by content hash, with per-instance overlays for local changes
  • •Cluster stability: causal ordering, revision merge and node discovery fixes for replicated deployments
  • •Query correctness: relational lookups now compose with hierarchy filters and ordering, and reverse-reference indexes stay accurate through moves and deletes
Studio Beta 0.1.19 2026-07-22
  • •Self-service profile: change your name, avatar and details yourself, without going through an admin
  • •Page previews: story cards show a rendered screenshot of the page instead of a placeholder
  • •In-app updates: update the Studio package from inside Studio, with functions and apps refreshed according to the install policy
Platform 2026-07-21
  • •Runaway protection: a circuit breaker on triggers plus per-tenant job caps stop one bad loop from swamping an instance
  • •Install policies: a per-path .raisin-sync.yaml decides what a package update refreshes and what it leaves untouched
  • •Live permissions: role changes reach connected clients immediately — no sign-out and back in
Platform 2026-07-19
  • •Screenshots from your data layer: a media plugin lets the database call the rendering pipeline directly — capture a page and store the image as a record
  • •Interactive agent tools: MCP-UI support means a tool can return real interface, not just text
  • •Plugin extension point: bind database functions to native plugins, loaded dynamically and kept current by maravilla studio doctor
Studio Beta 2026-07-16
  • •Offline bundling: maravilla dev bundles Studio locally and updates it over the air — no round trip to the cloud to get started
  • •Config from your project: Studio settings are read from maravilla.config.* and applied on install
Studio Beta 2026-07-15
  • •Publishing workflow: an approver chain from local to group to global owner, timed auto-escalation, publishing across linked sites, and a full audit trail
  • •Least-privilege roles: editor and viewer roles scoped to exactly what each needs, with the create menu limited by policy
  • •Editing polish: typed tag pickers instead of raw JSON, working cross-workspace reference pickers, and DST-safe schedule previews
Runtime 2026-07-13
  • •Face-aware crops: detect faces, store focal points, and let crop: 'focal' frame the subject — with zoom, padding, and CSS-only helpers for the same framing in the browser
  • •Render any URL: browserExtractHtml returns a Chrome-rendered page as HTML, and video frame rendering now accepts a URL, with prefetching and chunked short renders
  • •Clearer limits: compute-bound overruns report as their own error, and every limit rejection carries the current value, unit, scope and a retry-after
Muli 0.4.25 2026-07-11
  • •Releases from your pipeline: a declarative release: step with configurable notes, triggered by a tag push
  • •Publishing credentials: pipeline jobs can opt into ambient registry credentials and publish to your organization's registry, not the repository owner's
  • •Registry visibility: choose private, authenticated or public reads per tenant
Platform 2026-07-10
  • •Know your limits: every plan's limits are published openly and readable from the API, so you can see exactly what your project is allowed before you hit a wall — and get an email heads-up as you approach one
  • •Bot protection on sign-up: a proof-of-work challenge, honeypot and rate limiting on the hosted auth pages your users see
raisindb 0.1.53 2026-07-08
  • •Faster queries: the SQL planner routes more predicate shapes through indexes
  • •Package installs: bundled binaries are ingested and authored resources rebound when a .rap package is installed
  • •Backups fixed: the nightly backup produces a usable artifact again
Studio Beta 2026-07-07
  • •Maravilla Studio beta: our hosted visual editor is rolling out in beta — workspaces with the database module get their own Studio on a dedicated subdomain
  • •Zero-setup provisioning: enabling the database module installs and configures Studio automatically, including cross-origin access — no manual steps
Platform 2026-07-07
  • •Team onboarding, smoothed out: project pages now load for every collaborator role, invitations survive the email round-trip, and sign-up works on branded domains with a valid invite
  • •Email verification: resend the verification email straight from the login screen — no more dead ends for unverified accounts
  • •Project handover: transferring a project to another account or organization now moves the git repository, ownership, and collaborator access together
raisindb 0.1.47 2026-07-07
  • •Operator provisioning: a new authenticated management surface for installing and updating packages inside a tenant — powering one-click Studio setup
  • •Clearer setup status: database provisioning now reports failures with the reason and a retry path instead of silently switching off
CLI 2026-07-07
  • •Smoother sign-up: username validation matches the server, and a rejected handle lets you retry instead of restarting registration
  • •Clearer errors: expired sessions now point you to maravilla login, and API errors show the actual reason instead of a raw status code
Runtime 2026-06-08
  • •Video and media transforms: extract frames from video, mix and duck audio tracks, and render long timelines in parallel chunks with live progress events
  • •PDF generation: full print control — margins, page size, headers and footers, and render-wait — when turning pages into PDFs
  • •Durable workflows: runs resume after sleeping and stalled runs are automatically reclaimed, so long jobs finish reliably
Platform 2026-06-08
  • •Diagrams in docs: mermaid and bpmn diagrams render inline in the markdown viewer and release notes, with zoom and a fullscreen lightbox
  • •Media rendering online: the video and image transform pipeline is now available on the platform
  • •Reliability hardening: memory and stability improvements for long-running render jobs, and per-handle registry subdomains are now live
Muli 0.4.21 2026-06-02
  • •Reliable large clones: big repositories now clone over SSH without truncation
  • •Registry fixes: scoped npm package publishing, plus corrected npm search and Maven artifact listings
Muli 0.4.20 2026-05-27
  • •Repository releases: publish a tagged release with attached build artifacts, stored and served as versioned download assets
  • •Package registries: npm (including scoped packages) and Maven publishing, with version listings and package search across the registry API
Platform 2026-05-26
  • •Releases in the console: cut a repository release, attach artifacts and browse downloads from the project UI
  • •Per-handle registries: each handle gets its own package registry endpoint, addressed by path — point your package manager straight at it
  • •Hosted auth emails: password reset, magic link and email verification sent from your own project, with a provider settings UI
Platform 2026-05-25
  • •Security hardening: login rate-limiting and lockout, constant-time credential checks, and egress protection for server-side fetches
  • •Sessions: configurable session lifetimes and reliable post-login redirects
Platform 2026-05-24
  • •Built-in database, feature-complete: bulk operations, count and distinct, aggregation pipelines, relational lookups and upserts
  • •Richer queries: a full set of comparison and array operators, with element-wise matching on array fields
Platform 2026-05-23
  • •Access policies and relations: declarative, slug-addressable rules with relation-based access, field redaction and audit
  • •Live data browser: inspect database, key-value and storage contents for any environment from the console
  • •Policy validation: rules are checked as you edit them in project settings
raisindb 2026-05-23
  • •Scheduled triggers: run agents and jobs on a cron schedule, managed from the admin UI
  • •Full-text search: full-text indexing with clear error visibility in the admin
  • •Agent editor: an improved agent editor and test chat for building and trying agents
Runtime 2026-05-21
  • •Workbench: a terminal dev environment with live tails for requests, events and workflows
  • •Workflows in development: run and hot-reload event handlers and durable workflows locally — no restart on source edits
  • •Manual event emit: trigger any event from the CLI or dev UI to exercise your handlers
Platform 2026-05-21
  • •Variables and secrets: manage org- and project-level variables and secrets, each with per-environment values
  • •Instant rollout: secret and variable edits take effect without a redeploy or restart
  • •Graceful deploys: in-flight requests drain cleanly on restart, for zero-downtime releases
raisindb 2026-05-18
  • •Managed raisindb: provision a fully managed raisindb instance for your organization, with no servers to run
  • •Provisioned per organization: an isolated instance with admin credentials surfaced the moment it is ready
  • •Connected to your app: reach it directly from your deployed server-side code
Platform 2026-05-17
  • •Maravilla Docs: a native desktop app with cloud sign-in and rich document editing
  • •Diagrams as code: write UI mockups and diagrams in a fenced code block and have them render inline in docs, issues and comments — in the console and the Maravilla Docs app — powered by Boceto
  • •Collaboration and sharing: issue notifications with participant fan-out and email delivery, plus clean vanity URLs for sharing docs and code
Runtime 2026-05-08
  • •Document template merge: fill text, swap images and inject QR codes into a document in a single render
  • •Document to HTML: convert documents to self-contained HTML with inlined images and styling
  • •PDF thumbnails: server-side rasterisation for document previews
Platform 2026-05-03
  • •Platform services per environment: database, storage, KV and asset URLs run isolated for production, preview or any custom environment within a project
  • •Signed asset URLs: uploads served from a single edge route, scoped to your workspace, project and environment
  • •Maravilla CLI overhaul: onboarding scaffold, doctor command, dev proxy, terminal-UI workflow browser, plus pipeline and Git PR commands
Platform 2026-04-25
  • •Media transforms: resize images and transcode video on the platform, served with responsive variants
  • •Admin console: lists every workflow, event handler and run across your project, with live tails for events and workflows
  • •Hosted auth pages: sign-in, sign-up and password flows in your own design on your own domain, configured from project config
Muli 0.4.16 2026-04-23
  • •File-scoped commit history: follows renames with git log --follow semantics over the API
  • •Batch file operations: atomic creates, updates, deletes and renames in a single commit
  • •Recursive tree listings: plus per-file commit history endpoints, mirroring the standard Git API
Runtime 2026-04-21
  • •Events platform: react to database writes, KV updates, sign-ups, scheduled times and queue messages with a single TypeScript handler
  • •Durable workflows: long-running jobs that survive restarts, with state, retries and a live runs view in the admin console
  • •Vector search and declarative indexes: configure once in your project config, applied automatically on deploy
Platform 2026-04-19
  • •Scheduled push notifications: send at a future time, replace reschedules cleanly with an idempotency key, or loop every N seconds for daily and weekly digests
  • •Live scheduled-queue view: see every pending, running, succeeded and failed job update in real time, cancel a job with one click
  • •Background dispatch: for immediate sends, HTTP handlers return right away instead of waiting for every device round-trip
Runtime 2026-03-24
  • •Multi-framework SSR: React Router 7, Nuxt, SolidStart and TanStack Start alongside existing SvelteKit support
  • •Runtime performance: significantly faster request handling for deployed applications
  • •Framework auto-detection: extended to all newly supported frameworks in the CLI
Muli 0.4.10 2026-03-23
  • •Git Contents write API: file creation and update endpoints
  • •Batch commits and tree ops: new gRPC RPCs for high-throughput repository operations
Platform 2026-03-22
  • •Custom domains: automatic SSL provisioning included
  • •Deployment rollback: one-click recovery from the admin UI
Muli 0.4.8 2026-03-19
  • •Pipeline secrets: encrypted storage with AES-256-GCM, injected into jobs at run time
  • •Artifact metadata: now included in webhook payloads
Muli 0.4.0 2026-03-18
  • •Jobs-based pipeline format: declarative jobs with DAG execution
  • •Faster CI builds: host-side git checkout cuts repository fetch time
  • •Job-to-job artifact handover: for complex multi-stage workflows
Platform 2026-03-18
  • •Pipeline-based deployment: end-to-end build and delivery via the same pipeline engine
  • •Code browser: branch, tag and commit navigation with a built-in file viewer
Muli 0.3.0 2026-03-17
  • •Per-tenant resource limits: with a priority tier system
  • •Tenant-level concurrency: enforcement for pipeline runs
Muli 0.2.0 2026-03-16
  • •CI/CD Pipeline Orchestrator: YAML-defined pipelines
  • •DAG executor: distributed Docker agents for parallel job execution
Platform 2026-03-13
  • •Platform migration: moved to the maravilla-labs organization
  • •Tenant-aware uploads: with org logo management
Muli 0.1.0 2026-03-10
  • •Muli open-sourced: our internal CI/CD and git pipeline infrastructure released to the community
  • •Unified Rust binary: git hosting, package registries and pipeline execution in a single deployable
Runtime 2025-09-24
  • •V8 snapshots in production: for faster cold starts
  • •In-memory cache layer: faster runtime response times with connection pooling across services
Runtime 2025-09-01
  • •Rate limiting: cluster-wide token bucket with built-in circuit breakers
  • •Worker pool scaling: least-connections load balancing across hosted workers
Platform 2025-08-15
  • •Maravilla Runtime: integrated as the edge function execution engine
  • •Full-stack serverless: platform evolves from static hosting to full-stack serverless
Platform 2025-07-24
  • •Maravilla CLI: JavaScript-to-WebAssembly bundling
  • •Edge functions: hot reload and ES6 module system
Platform 2025-07-09
  • •MongoDB integration: multi-tenant data isolation
  • •Auth and access control: role-based access, JWT authentication and email verification
Platform 2025-07-07
  • •First commit: Maravilla Cloud project, multi-tenant static hosting in Rust and React