Baserow 1.17: Scale to millions of rows, Calendar view, increased storage, and more

Baserow Release 1.17: up to 3x faster

Performance is essential! We’ve spent the past few weeks optimizing Baserow’s speed, resulting in faster and smoother table navigation. Additionally, the calendar view now has exciting new features. Read on to discover what’s new in Baserow 1.17.

Performance optimizations

Baserow can now effortlessly handle tables with millions of rows, thanks to a long list of under-the-hood upgrades. In some cases, it’s up to 100x faster than before. We’ve also made overall performance improvements across the board, with an average improvement of 3x. And this is just the beginning!

  • Lazy loading the related tables in the internal model to improve performance of databases with many link to table fields.
  • Improved performance of sorting by creating database indexes automatically, which can result in 100x faster response time if you have 5 million rows in a single table.
  • SQL level caching using Redis has been added to speed up slow queries such as row counting.
  • Faster initial loading time if you have many databases and/or views.
  • Much faster has filter for link to table fields.

Configuration tweaks and hardware changes for baserow.io

In addition to the aforementioned performance optimizations, we’ve fine-tuned the configuration of baserow.io and upgraded our server hardware. As a result, the average response time for all requests is now 50% faster. When combined with the other improvements, this can make baserow.io up to 3x faster.

Stay tuned for an upcoming blog post that will provide more technical details about the performance optimizations and how we benchmark Baserow.

https://youtu.be/MUKv6Icj0wM

Increased storage in the Advanced plan

We’re excited to announce a major update to our pricing plan. With the recent performance improvements, we’ve decided to increase the limitations in the Advanced plan from 100,000 to 250,000 rows. This demonstrates our commitment to making Baserow scalable and high-performing.

Calendar view upgrade

In Baserow 1.16, we introduced a Calendar view that allows you to visualize how rows are connected to specific dates. The initial version had basic features like creating, duplicating, or deleting a calendar. In this release, we’ve added new functionality, so now you can:

  • Click on any date card to open it in a row edit modal: click “Show hidden fields” to see all the fields and edit them directly from a calendar.
  • Add a new row for a certain date by clicking + that appears when you hover over any day.
  • Give each of the date fields on your calendar a different color using the row coloring feature.
  • Share your calendar publicly: go to the “Share view” menu and click “Create a private shareable link to the view.”
  • Use a date formula field to pick which days the cards should appear on.

ARM Docker images

Due to popular demand, our official Baserow Docker images now support arm64/v8 and are multi-arch. Check out these official images on our Docker Hub.

Baserow x AppSmith

We’re excited to announce a PDF generator app created using Baserow and Appsmith, an open-source low-code platform for building internal apps. Now you can create PDF files with your Baserow data in just minutes. Appsmith’s drag-and-drop interface makes it easy to add any additional functionality you need right away.

Start building your first PDF files from your Baserow data now.

Untitled

Baserow in Mallorca

As a remote-only company without offices, we love meeting in person and spending quality time together. The team spent the first week of May in Mallorca to get to know each other, connect, and exchange ideas. These were wonderful days of fun activities and lively conversations.

Baserow is hiring! Check our openings.

Community activities

Discover how to generate unique IDs with Baserow formulas.

Get insights on how to use your browser inspector to detect API endpoints and payload in Baserow—prepared by Frederik Duchi.

Check out the first community-contributed Baserow plugin that adds complex custom field types to Baserow. The plugin is now open-sourced and available on GitHub.

What’s next?

The next major features on our roadmap include search performance improvements, further enhancements to the calendar view, free trials for paid plans, collaborator mentions, advanced filtering, and other features suggested by the community.

Do you have questions regarding the new updates or anything else? Leave your questions in our official community forum — we’re always happy to answer them!

All changes, including bug fixes

New features

  • Row create edit modal for calendar view. #1631
  • Public sharing for calendar view. #1637
  • Row coloring for calendar view. #1638
  • Allow configuring Baserow to send emails using an implicit TLS connection and with custom SSL key files. #1646
  • Add an optional concurrent user requests rate limiter. #1673
  • Update of backend dependencies. #1674
  • Use OTEL baggage to enhance every span with useful info. #1700
  • Add the datetime_format_tz function to format dates in different timezones. #1719
  • Support formula date fields in the calendar view. #1732
  • Add a new admin health check page for seeing the status of your Baserow server. #521
  • Add email tester to health check page for easily debugging Baserow email sending issues. #521
  • Added new /api/_health/full/ JSON API healthcheck endpoint for admins only to run a full set of health checks against Baserow. #521
  • Update all official Baserow images to now work on arm64 as well as amd64. #890

Bug fixes

  • Ensure that enterprise role assignments are copied when an application and/or table are duplicated or snapshotted. #1548
  • Fix slow loading of tables with hundreds of views caused by serializer in list_views endpoint. #1684
  • Fix enterprise migration being mentioned from core migration causing the removal of enterprise app to break migrations. #1696
  • Fix CORS errors with AWS S3 file download buttons in Chromium-based browsers. #1708
  • otel_resource_attributes overwritten in all-in-one deploy preventing custom set attributes. #1711
  • Fixes a bug where a wrong empty view is generated in some cases during the Airtable import.

Refactors

  • Bump frontend dependencies. #1675
  • Lazy load nested table models when needed to improve table.get_model performances. #1695
  • Improve performance for has doesn’t have filters. #1698
  • Auto-generate a database index per view based on sorts and add django-cachalot to speed up count and other SQL queries. #720
  • Changed repository URL to the one in the GitLab Baserow group.
  • Reduce the number of queries when listing applications.

Breaking changes

  • Deprecate private _health/ check endpoint and simplify the check it performs as it might not always be private if not deployed correctly.
  • Remove BASEROW_FULL_HEALTHCHECKS environment variable as the private _health check endpoint which this env var affected has been simplified, deprecated and replaced with the new /api/_health/full/ endpoint.
  • Increased the snapshot permission requirements from Editor to Admin. #1548
    • Creating a snapshot will now require an Admin role.
    • Restoring a snapshot will now require an Admin role.
    • Listing snapshots will now require an Admin role.
    • Deleting snapshots will now require an Admin role.

That’s all for this month. Thank you for reading, and we’ll be back next month with another release!