Skip to content

Mathesar 0.7.0

Want cross-table editing in Mathesar? Talk to us!

For our next release, we’re actively working on the ability to edit data from multiple tables in a single view.

If you’re interested, we’d love your input so we’re prioritizing the right problems to solve. Talk to us for 20 min, we’ll give you a $25 gift card as a thank you.

Summary

Mathesar 0.7.0 introduces CSV imports into existing tables, the ability to export results from data explorations, and support for file uploads in forms. This release also includes improvements to cell context menus, pasting behavior, and several bug fixes and polish updates across the app.

This page provides a comprehensive list of all changes in the release.

Improvements

Import CSV data into existing tables

A Mathesar screenshot showing a CSV of bird species being imported with the new importer

You can now import CSV files directly into an existing Mathesar table. Headers are automatically matched to column names where possible, and you can map any remaining columns manually. You are also able to specify whether the CSV contains a header row.

Related work:

#4866 #4870

Export data exploration results

An example of a downloaded "Birds" csv file

Explorations can now be exported as CSV files via an “export” button in the top right corner of the exploration view, allowing you to share or analyze query results outside of Mathesar.

Related work:

#4854

File uploads in forms

example of a Mathesar form accepting uploads

Configure a form in Mathesar (the light mode screen) to accept print jobs via anonymous form submission (dark mode screen), now complete with file uploads.

Forms now support uploading files, enabling richer submissions from users. Uploaded files are previewable directly within the form interface.

To enable this feature:

Related work:

#4852 #4848

Improved cell context menus

Right-click context menus have been redesigned to better support multi-selection and more efficient actions. You can now select and delete multiple rows at once, and actions are organized into submenus for easier navigation and future expansion.

Related work:

#4836 #4865

Faster numeric and money imports

Importing large CSV or TSV files with numeric or money columns is now significantly faster. Mathesar now uses optimized casting functions for these types during import, cutting processing times dramatically—up to 97% faster in internal benchmarks for large datasets (500K rows).

Related work:

#4821

Added support for PostgreSQL 18

Mathesar now supports the latest version of PostgreSQL, version 18, released on September 25th.

Related work:

#4874

Bug fixes

  • Preserve sort conditions after re-ordering columns #4839
  • Correctly set foreign keys when creating related records via paste in the table widget #4815
  • Fix casting regression from integer-like to text-like columns #4868

Documentation

  • Add developer docs for working with file attachments #4840
  • Added issue template for managing technical debt #4869

Maintenance

  • Improve errors when column alterations fail #4787
  • Bump django from 4.2.24 to 4.2.25 #4843
  • Fix typos in the “Custom Database Nickname” help text #4842
  • Remove redundant launchRecordSelector callback #4838
  • Experiment with concurrency changes #4861 #4929

Upcoming changes in 0.8.0

Mathesar’s 0.8.0 release will end official support for PostgreSQL 13 and Python 3.9. We recommend upgrading these dependencies prior to installing 0.8.0 to ensure continued compatibility and support.

While Mathesar is likely to function with older versions, compatibility is no longer tested, and assistance cannot be provided for issues encountered on unsupported versions.

Learn more about our version support strategy.

Upgrading to 0.7.0

For installations using Docker Compose

If you have a Docker compose installation, run the command below:

docker compose -f /etc/mathesar/docker-compose.yml up --pull always -d

Your installation directory may be different

You may need to change /etc/mathesar/ in the command above if you chose to install Mathesar to a different directory.

For direct installations of Mathesar on Linux, macOS, or WSL

Mathesar provides an install script that automates both fresh installs and upgrades for standalone (non-Docker) installations.

Follow the steps below to upgrade Mathesar:

  1. Enter your installation directory into the box below and press Enter to personalize this guide:

    • Do not include a trailing slash.
    • Do not use any variables like $HOME.
  2. Go to your Mathesar installation directory.

    cd xMATHESAR_INSTALL_DIRx
    

    Note

    Your installation directory may be different from above if you used a different directory when installing Mathesar.

  3. Download and run the install script for 0.7.0

    curl -sSfL https://github.com/mathesar-foundation/mathesar/releases/download/0.7.0/nstall.sh -o install.sh
    chmod +x install.sh
    
    ./install.sh .
    

  4. Replace your gunicorn systemd service with a Mathesar systemd service

    1. Disable and stop the existing gunicorn service

      systemctl disable gunicorn.service
      systemctl stop gunicorn.service
      

    2. Follow the steps in Run Mathesar as a systemd service from the installation guide

    3. Remove the gunicorn service file

      sudo rm /lib/systemd/system/gunicorn.service
      

  5. Update your Caddyfile

    1. Use the configuration shown in Install and configure Caddy in the installation guide, and update your Caddyfile accordingly

    2. Ensure that your domains are specified directly in the first line of the Caddyfile

    3. Restart your Caddy service

      systemctl restart caddy.service
      

Tip

If you’re running Mathesar only on localhost and do not want it to run as a service, you could:

  1. Remove the gunicorn and caddy services
  2. Start Mathesar manually with:
    mathesar run