CHANGELOG

What's new

New features and improvements in Espobase, newest first.

← Docs

  1. Espobase is open to everyone

    • Every project gets its own Postgres database with an automatic REST API, row-level security on by default, sign-in for your app's users, file storage, realtime updates and edge functions.
    • Hosting for your front end is part of Pro and Group: publish from a folder or connect GitHub, with deploys on every push, private repositories and a preview address for every pull request.
    • Start on the Free plan and upgrade when you need more.
  2. Builds from GitHub: private repositories, deploys on every push and previews

    • Connect a GitHub account under GitHub in the sidebar, then choose GitHub as the code source in a site's build settings. Private repositories work, and Espobase reads them only while a build runs.
    • A push to the production branch builds and publishes your site. Each pull request from the same repository gets a preview at its own address: public, hidden from search engines and removed when the pull request closes. Pull requests from forks are never built.
  3. Build variables for your builds

    • Give a site's builds environment variables: open the site in Hosting, then Set up builds, then Build variables. Public values (like VITE_API_URL) are shown; secrets are encrypted, never shown again and hidden from build logs.
    • Anything a build puts into your site's files can be read by every visitor, so the dashboard warns when a secret has a name that frameworks copy into the site (VITE_… or NEXT_PUBLIC_…).
  4. Build your site from Git

    • A hosted site can now be built from a public Git repository (GitHub, GitLab, Bitbucket or Codeberg) with a Node project: open the site in Hosting, choose Set up builds, enter the repository and click Build now. Espobase installs, builds and publishes the result.
    • Every step runs in a locked-down sandbox with 2 CPUs, 4 GB of memory and a 10-minute limit, and the log appears on the site's card while it runs.
    • Pro includes 500 build minutes a month and Group includes 2,000. Private repositories, build variables, deploys on every push and branch previews are not available yet.
  5. Hosting usage and bandwidth

    • The Hosting page now shows how much bandwidth your sites have used this billing cycle, and Usage lists hosted site requests and bandwidth.
    • Pro includes 250 GB of hosted sites bandwidth a month and Group includes 1 TB. You get an email at 75%, 90% and 100%, and extra traffic is never charged.
    • Your sites keep working up to 125% of the allowance. Above that, visitors see a bandwidth limit page until the next billing cycle, or until you move to a plan with more bandwidth. Nothing is deleted.
  6. Your own domain on a hosted site

    • Serve a hosted site on your own domain, like www.yourbrand.com: open the site in Hosting, choose Manage domains, add the domain and publish the two DNS records shown. The HTTPS certificate is issued automatically.
    • Pro includes 1 custom domain per site and Group includes 5. The site keeps answering on its espohost.com address too.
  7. Hosting for your front end

    • Publish your app's front end next to its backend. Upload a built site from the dashboard (Hosting, in the left menu) and it's live at https://<name>.espohost.com with automatic HTTPS.
    • Every deployment is kept, so you can roll back to a recent version in one click. Single-page apps and your own 404 page are supported.
    • Included in Pro and Group at no extra charge: 10 sites and 10 GB of hosted files on Pro, 50 sites and 100 GB on Group. Free doesn't include hosting.
    • espobase 0.4.0: `espobase deploy ./dist --site my-app` and `espobase sites list` publish from your terminal or CI, with a token that has only the new "Deploy sites" permission.
  8. Swift, Flutter and Kotlin SDKs

    • Swift: add github.com/Naples210/espobase-swift in Xcode (Swift Package Manager) for iOS, macOS, tvOS and watchOS. No dependencies.
    • Flutter and Dart: run flutter pub add espobase. Database queries, App Authentication (email, Google, GitHub and Sign in with Apple), Storage and edge functions.
    • Kotlin (Android and JVM): add implementation("com.espobase:espobase-kotlin:0.1.0") to your Gradle dependencies.
    • Realtime isn't in these yet: use the REST API or the JavaScript client for realtime.
  9. Sign in with Apple for your app's users

    • Turn on Sign in with Apple under Authentication › Providers, with your own Apple Developer account: the Services ID, Team ID, Key ID and your private key (stored encrypted and never shown again).
    • Works on the web and natively on iPhone and iPad: pass the identity token from Apple's sign-in sheet to espobase.auth.signInWithIdToken. Add your app's bundle ID so Espobase accepts it.
    • The same safety rules as Google and GitHub: only verified emails, and an account joins an existing one only if both are verified. Apple's private relay addresses work too.
    • @espobase/client 0.5.0: signInWithIdToken for native sign-in sheets.
  10. Docs search and a React Native guide

    • Search the docs and guides from the box at the top of any page. It works in every language the site is in.
    • New guide: your first app with React Native and Expo, from sign-up and social sign-in to private data and photo uploads.
    • Mobile apps can now sign users in through their own app link: add an address like myapp://auth/callback under Authentication › Settings › Allowed redirect URLs. Only addresses you list are ever used.
    • @espobase/client 0.4.1: works in React Native. Social sign-in no longer needs the browser's crypto, and returns the provider URL for you to open when there is no browser page to navigate.
  11. A database overview and a get-started checklist

    • Database › Overview now shows your database's size, open connections, its largest tables with estimated row counts and row level security status, and the installed extensions, with the connection details and password reveal below.
    • A new project's Overview has a short get-started checklist: create a table, add an API key, connect your app and deploy a function, each with code you can copy. It ticks off as you go and disappears when you're done.
  12. Resize images on the fly

    • Pro and Group: ask for a thumbnail or another size of any image in Storage by adding ?width=200 (and height, resize, format and quality) to its URL. Each size is made once, then served from a cache.
    • With the SDK: getPublicUrl(path, { transform: { width: 200 } }) for an <img>, and the same option on createSignedUrl and download. Resizing works wherever the file can be read: public buckets, signed links and your storage policies.
    • Pro includes 10,000 new sizes a month, Group 100,000. Sizes already made keep being served, and they don't count toward your file storage.
    • @espobase/client 0.4.0: a transform option on getPublicUrl, createSignedUrl and download for resized images.
  13. Use your own domain for your project's API

    • Project › Settings › Domains (Pro and Group): serve your API from your own name, like api.customerapp.com, instead of api.espobase.com/project/…. Add the domain, publish a TXT record to prove it's yours and a CNAME that points it at Espobase, then check the records.
    • The HTTPS certificate is issued automatically on the first request. REST, auth, storage, realtime and functions all answer on your domain.
    • Pro includes 1 custom domain per project, Group 10.
  14. Restore a backup from the dashboard

    • Database › Backups: see your project's backups and restore one yourself (admins and owners; type the project's name to confirm). Your API is unavailable only for a moment while the restored database is put in place.
    • The database a restore replaces is kept for 7 days, so you can undo the restore. Restores are on every plan, up to 5 a day per project.
    • Files in Storage aren't part of backups: a restore doesn't change them.
  15. Database migrations from the CLI

    • espobase 0.3.0: keep your schema as SQL files in your repository. espobase migration new <name> creates one, espobase db push applies the pending ones in order (each completely or not at all), --dry-run checks them first, and espobase migration list shows what's applied.
    • Developers can push data and schema changes; security rules, permissions and destructive changes need an admin (destructive ones also --allow-destructive). Errors show the file and line.
    • CI: create a token with the new Apply migrations permission and run espobase db push --yes.
  16. Scheduled jobs and database webhooks

    • Project › Automations: run an edge function on a schedule (cron, in your time zone, with an optional JSON body). Failed runs are retried 3 times, and every attempt is in the Runs tab.
    • Database webhooks: when rows of a table are inserted, updated or deleted, Espobase sends the change to your HTTPS URL (signed with a secret) or to one of your edge functions.
    • Free: 2 schedules (at most hourly) and 2 webhooks per project. Pro: 20 of each, as often as every minute. Group: 100 of each.
  17. Sign-in options for your apps and your account

    • App Authentication: email sign-in without a password (a link and a 6-digit code), two-step sign-in (an authenticator app or an email code, with recovery codes; optional or required) and email change. Each is an option in Authentication › Settings, off until you turn it on.
    • Pro and Group: your own email templates and your own mail server and sender address for the emails your app's users get.
    • Your Espobase account: two-step sign-in with an authenticator app and backup codes (Account settings › Security). Organization owners can require it for every member.
    • @espobase/client 0.3.0: signInWithOtp, verifyOtp, auth.mfa, updateUser({ email }) and verifyEmailChange.
  18. Edge Functions and Realtime

    • Edge Functions: write TypeScript functions in the dashboard and deploy them in a click, or with npx espobase functions deploy. Each project's functions run in their own sandbox. Secrets, logs for every call and verified signed-in users are built in; espobase.functions.invoke() calls them from your app.
    • Realtime: broadcast messages and presence on channels, and live row changes of the tables you turn on, filtered by each table's security rules (espobase.realtime).
    • New guides: espobase.com/docs/functions and espobase.com/docs/realtime.
  19. Vector search, the Espobase CLI, and guides

    • Vector search: every project includes pgvector. Create vector columns in the Table Editor or with the AI builder, add a fast similarity index (HNSW), and search through a database function.
    • @espobase/client: espobase.rpc() calls database functions, e.g. for similarity search, with row level security applied.
    • The Espobase CLI: npx espobase login (in your browser), init, gen types, read-only db query, logs, usage and storage listing.
    • Create new organizations from the organization menu. The Free plan includes one organization per person.
    • New: guides for Next.js, sign-in and security rules, file uploads and vector search; this changelog.
  20. Daily backups

    • Every project database is backed up daily, encrypted, stored off the server and locked against deletion for 7 days. Backups are kept 1 day on Free, 7 on Pro and 14 on Group.
    • Deleting a project first takes a verified safety backup, kept for 30 days.
  21. AI tools, file storage and teams

    • Connect Claude, ChatGPT, Cursor, VS Code and other AI tools through the Espobase connector (MCP), with "Sign in with Espobase". They read your schema, API reference, logs and usage, run read-only queries and propose changes you approve.
    • Personal access tokens for scripts and CI.
    • File storage: public and private buckets, uploads from your app, signed links, and security rules on files.
    • Project-level access: give members Admin, Developer or Viewer roles on selected projects (Pro and Group).
    • Sign in to the dashboard with GitHub, Google or Apple; single sign-on (SSO) for Group organizations.
  22. Espobase is live

    • Projects with a dedicated PostgreSQL database, an automatic REST API and user sign-up and sign-in for your apps.
    • Table Editor, SQL Editor and row level security on by default, with policy templates.
    • The AI builder: describe your backend, review the plan and its SQL, then apply it.
    • API docs, OpenAPI and generated TypeScript types for every project; logs and usage.
    • Plans: Free, Pro and Group.