Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge pull request #3494 from mathesar-foundation/0.1.6 #3517

Merged
merged 40 commits into from
Mar 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
aabd5bd
Update version numbers to 0.1.6
Anish9901 Mar 18, 2024
fe88638
Don't allow record selector inputs to grow taller
seancolsen Mar 18, 2024
06a41df
Merge pull request #3495 from mathesar-foundation/3493_record_selecto…
pavish Mar 19, 2024
99bfc14
Fix csrf errors when app is behind a reverse proxy
Anish9901 Mar 20, 2024
b22305d
Merge pull request #3499 from mathesar-foundation/fix_csrf_failures
mathemancer Mar 20, 2024
79447cc
Don't let buttons in DE actions pane shrink
seancolsen Mar 21, 2024
1103720
remove 3.12 from supported python versions
mathemancer Mar 21, 2024
76f6a7e
correct static file target path
mathemancer Mar 21, 2024
957aced
Add python version arg to dev-service
mathemancer Mar 21, 2024
45fe4a7
Merge pull request #3503 from mathesar-foundation/update_py_version_docs
Anish9901 Mar 22, 2024
0079fde
Merge pull request #3504 from mathesar-foundation/parameterize_dev_se…
Anish9901 Mar 22, 2024
3c686d6
Add release notes for 0.1.6
Anish9901 Mar 22, 2024
82934d4
Merge pull request #3501 from mathesar-foundation/3500_de_actions_pan…
pavish Mar 22, 2024
82f1b3c
update bug fixes list
Anish9901 Mar 22, 2024
d51cb4b
Fix git repo link
pavish Mar 22, 2024
553612c
Remove static_files.zip once extracted
pavish Mar 22, 2024
017841e
Remove need to create user database
pavish Mar 22, 2024
d868393
Fix link
pavish Mar 22, 2024
d852851
Add upgrade instructions for 0.1.6
pavish Mar 22, 2024
e906d47
Remove tip mentioning installing specific version since installation …
pavish Mar 22, 2024
fcdedfd
Fix instructions in 0.1.4 and 0.1.5 regarding checking out correct tag
pavish Mar 22, 2024
f72a26c
Minor language fix
kgodey Mar 23, 2024
e99f99e
Fixed typo, minor language changes
kgodey Mar 23, 2024
614233c
Language change for consistency
kgodey Mar 23, 2024
b5fc1a4
add link for upgrade, minor grammer fixes
Anish9901 Mar 25, 2024
f56a96a
more grammatical fixes
Anish9901 Mar 25, 2024
199ab71
expand-->expands
Anish9901 Mar 25, 2024
b7d51e6
Add page describing usage of debugging image
mathemancer Mar 25, 2024
1d6c2fb
fix NodeJS links, and grammatical errors
Anish9901 Mar 25, 2024
674fa5d
fix typo
Anish9901 Mar 25, 2024
dfaea91
Merge pull request #3513 from mathesar-foundation/debug_image_docs
pavish Mar 25, 2024
bcd09f6
minor fixes
Anish9901 Mar 26, 2024
459c932
Updated summary
kgodey Mar 26, 2024
927d2de
Merge pull request #3507 from mathesar-foundation/upgrade-docs
seancolsen Mar 27, 2024
34106d1
reorganize the doc and add a documentation section
Anish9901 Mar 27, 2024
f2fa5da
add images
Anish9901 Mar 27, 2024
ed61ebe
add description for nodejs removal
Anish9901 Mar 27, 2024
cb1f538
Merge branch '0.1.6' into release_notes_016
seancolsen Mar 27, 2024
5fcf35c
Merge pull request #3506 from mathesar-foundation/release_notes_016
seancolsen Mar 27, 2024
b99e82c
Merge pull request #3494 from mathesar-foundation/0.1.6
Anish9901 Mar 28, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions config/settings/production.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,14 @@
# Override default settings
DEBUG = False
MATHESAR_MODE = 'PRODUCTION'

'''
This tells Django to trust the X-Forwarded-Proto header that comes from our proxy,
and any time its value is 'https', then the request is guaranteed to be secure
(i.e., it originally came in via HTTPS).
'''
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')

# Use a local.py module for settings that shouldn't be version tracked
try:
from .local import * # noqa
Expand Down
2 changes: 2 additions & 0 deletions docker-compose.dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ services:
context: .
target: development
dockerfile: Dockerfile
args:
PYTHON_VERSION: ${PYTHON_VERSION-3.9-bookworm}
environment:
- MODE=${MODE-DEVELOPMENT}
- DEBUG=${DEBUG-True}
Expand Down
44 changes: 44 additions & 0 deletions docs/docs/administration/debug.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Debug Mathesar

For now, we only support turning on Debugging by using our special docker image. More methods will follow in future releases.

## Use the debugging Mathesar docker image

There is a debugging-enabled Mathesar docker image available at `mathesar/mathesar-debug` that is the same as the `mathesar/mathesar-prod` image, except that it has more debugging output available in the console where it's run, and it also produces more verbose errors in the browser when something goes wrong.

You can use this image to figure out (or to help the Mathesar team figure out) what's wrong if your Mathesar installation isn't working as expected. The procedure is to

1. Run Mathesar with the `mathesar/mathesar-debug` image, and then
1. Observe and report any additional output or clues to the Mathesar team.

### Docker Compose

Just replace the line

```
image: mathesar/mathesar-prod:latest
```

with

```
image: mathesar/mathesar-debug:latest
```

### Basic Mathesar docker image

If you are just trying the Mathesar Docker image directly as instructed in the [introduction](../index.md#try-locally), replace the command

```
docker run -it --name mathesar -p 8000:8000 mathesar/mathesar-prod:latest
```

with

```
docker run -it --name mathesar -p 8000:8000 mathesar/mathesar-debug:latest
```

### Other setups

The debugging docker image should work anywhere the production image works. This means you can just replace any pull or run of the image `mathesar/mathesar-prod:latest` with `mathesar/mathesar-debug:latest`.
3 changes: 2 additions & 1 deletion docs/docs/administration/upgrade/0.1.4.md
Original file line number Diff line number Diff line change
Expand Up @@ -149,10 +149,11 @@ If you installed Mathesar [from scratch](../../installation/build-from-source/in
!!! note
Your installation directory may be different from above if you used a different directory when installing Mathesar.
1. Pull the latest version from the repository
1. Pull version 0.1.4 from the repository
```
git pull https://github.com/mathesar-foundation/mathesar.git
git checkout 0.1.4
```
1. Update Python dependencies
Expand Down
2 changes: 1 addition & 1 deletion docs/docs/administration/upgrade/0.1.5.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,4 @@ docker compose -f /etc/mathesar/docker-compose.yml up --pull always -d

### For installations done from scratch

If you installed from scratch, the upgrade instructions are the same as [for 0.1.4](../upgrade/0.1.4.md#scratch), but you can skip Step 5 – you do not need to change the environment variables.
If you installed from scratch, the upgrade instructions are the same as [for 0.1.4](./0.1.4.md#scratch), except that you'll need to specify version 0.1.5 when pulling code from the repository in Step 2. You should also skip Step 5 – you do not need to change the environment variables.
86 changes: 86 additions & 0 deletions docs/docs/administration/upgrade/0.1.6.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
# Upgrade Mathesar to 0.1.6

### For installations using Docker Compose

If you have a Docker compose installation (including one from the guided script), run the command below:

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

!!! warning "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 installations done from scratch

If you installed Mathesar [from scratch](../../installation/build-from-source/index.md), then use these steps to upgrade your installation to 0.1.6.

1. Go to your Mathesar installation directory

```
cd xMATHESAR_INSTALLATION_DIRx
```
!!! note
Your installation directory may be different from above if you used a different directory when installing Mathesar.
1. Pull version 0.1.6 from the repository
```
git pull https://github.com/mathesar-foundation/mathesar.git
git checkout 0.1.6
```
1. Update Python dependencies
```
pip install -r requirements-prod.txt
```
1. Activate our virtual environment
```
source ./mathesar-venv/bin/activate
```
1. You can skip the following if you're upgrading from versions 0.1.4 and above.
- If you're upgrading from versions <= 0.1.3, update your environment variables according to the [the new configuration specification](../../configuration/env-variables.md#db).
- In particular, you must put the connection info for the internal DB into new `POSTGRES_*` variables. The `DJANGO_DATABASE_URL` variable is no longer supported.
1. Add the environment variables to the shell before running Django commands
```
export $(sudo cat .env)
```
1. Run Django migrations
```
python manage.py migrate
```
1. Download and extract frontend assets
```
wget https://github.com/mathesar-foundation/mathesar/releases/download/0.1.6/static_files.zip
unzip static_files.zip && mv static_files mathesar/static/mathesar && rm static_files.zip
```
1. Compile Mathesar translation files
```
python manage.py compilemessages
```
1. Update Mathesar functions on the database:
```
python -m mathesar.install --skip-confirm | tee /tmp/install.py.log
```
1. Restart the gunicorn server
```
systemctl restart gunicorn
```
22 changes: 8 additions & 14 deletions docs/docs/installation/build-from-source/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,33 +23,36 @@ You should have **root access** to the machine you're installing Mathesar on.

You'll need to install the following system packages before you install Mathesar:

- [Python](https://www.python.org/downloads/) 3.9, 3.10, 3.11 or 3.12
- [Python](https://www.python.org/downloads/) 3.9, 3.10, or 3.11

!!! note "Python version"

Python _older_ than 3.9 will not run Mathesar.

Python _newer_ than 3.10 will run Mathesar, but will require some slightly modified installation steps which we have [not yet documented](https://github.com/centerofci/mathesar/issues/2872).
Python 3.12 will run Mathesar, but you'll have to take extra steps to get some dependencies to build. Installing a package for your OS that provides the `libpq-fe.h` header file should be enough in most cases. On Debian 12, this header is provided by the `libpq-dev` package.

- [PostgreSQL](https://www.postgresql.org/download/linux/) 13 or newer (Verify by logging in, and running the query: `SELECT version();`)

- [Caddy](https://caddyserver.com/docs/install) (Verify with `caddy version`)

- [git](https://git-scm.com/downloads) (Verify with `git --version`)

- [GNU gettext](https://www.gnu.org/software/gettext/) (Verify with `gettext --version`)

### Domain (optional)

If you want Mathesar to be accessible over the internet, you'll probably want to set up a domain or sub-domain to use. **If you don't need a domain, you can skip this section.**

Before you start installation, **ensure that the DNS for your sub-domain or domain is pointing to the machine that you're installing Mathesar on**.

## Customizing this Guide

Type your domain name into the box below. Do not include a trailing slash.

<input data-input-for="DOMAIN_NAME" aria-label="Your Domain name "/>

Then press <kbd>Enter</kbd> to customize this guide with your domain name.


## Installation Steps

### Set up the database
Expand All @@ -75,12 +78,6 @@ Then press <kbd>Enter</kbd> to customize this guide with your domain name.
CREATE DATABASE mathesar_django OWNER mathesar;
```

1. Now we let us create a database for storing your data.

```postgresql
CREATE DATABASE your_db_name OWNER mathesar;
```

1. Press <kbd>Ctrl</kbd>+<kbd>D</kbd> to exit the `psql` shell.


Expand Down Expand Up @@ -129,7 +126,7 @@ Then press <kbd>Enter</kbd> to customize this guide with your domain name.
1. Clone the git repo into the installation directory.

```
git clone https://github.com/centerofci/mathesar.git .
git clone https://github.com/mathesar-foundation/mathesar.git .
```

1. Checkout the tag of the latest stable release, `{{mathesar_version}}`.
Expand All @@ -141,9 +138,6 @@ Then press <kbd>Enter</kbd> to customize this guide with your domain name.
!!! warning "Important"
If you don't run the above command you'll end up installing the latest _development_ version of Mathesar, which will be less stable.

!!! tip
You can install a specific Mathesar release by running commands like `git checkout 0.1.1` (to install version 0.1.1, for example). You can see all available versions by running `git tag`.

1. We need to create a python virtual environment for the Mathesar application.

```
Expand Down Expand Up @@ -216,7 +210,7 @@ Then press <kbd>Enter</kbd> to customize this guide with your domain name.

```
wget https://github.com/mathesar-foundation/mathesar/releases/download/{{mathesar_version}}/static_files.zip
unzip static_files.zip && mv static_files /mathesar/static/mathesar
unzip static_files.zip && mv static_files mathesar/static/mathesar && rm static_files.zip
```


Expand Down
76 changes: 76 additions & 0 deletions docs/docs/releases/0.1.6.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# Mathesar 0.1.6

## Summary

Mathesar 0.1.6 introduces Japanese localization of the UI and adds better support for working with long text in individual record pages. Improvements for administrators include compatibility with Python 3.10 and 3.11, support for databases running PostgreSQL 16, and the removal of `npm` and `nodejs` as dependencies when installing from scratch.

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

## Upgrading to 0.1.6

See our guide on [upgrading Mathesar to 0.1.6](../administration/upgrade/0.1.6.md).

## Improvements

### You can now configure Mathesar's UI to display in Japanese

The language setting is stored per-user and can be modified when logging in or when editing a user. This changes the text displayed on buttons and other UI elements within Mathesar. It does not change the display of data within your database (e.g. table names, column names, and cell values). We are hoping to support more languages beyond English and Japanese eventually. Please reach out to us if your are interested in helping to add more translations!

![image](https://github.com/mathesar-foundation/mathesar/assets/52523023/f100423a-922c-4b6c-ad22-3c16cd06afde)

_[#3486](https://github.com/mathesar-foundation/mathesar/pull/3486 "Enable i18n")_, _[#3484](https://github.com/mathesar-foundation/mathesar/pull/3484 "Updates for file translations/en/LC_MESSAGES/django.po in ja")_, _[#3483](https://github.com/mathesar-foundation/mathesar/pull/3483 "Updates for file mathesar_ui/src/i18n/languages/en/dict.json in ja")_, _[#3472](https://github.com/mathesar-foundation/mathesar/pull/3472 "Separate pluralized string to fix Transifex sync")_, _[#3501](https://github.com/mathesar-foundation/mathesar/pull/3501 "Fix layout problem in Data Explorer actions pane")_

### Text fields now auto-expands on the record page to accommodate longer texts

**Before**

All text inputs on the record page had the same height, regardless of their content.

![image](https://github.com/mathesar-foundation/mathesar/assets/52523023/e6ded1de-7b81-49f9-9b2e-7a6311a22d4f)

**After**

All text inputs in record page dynamically adjust to accommodate the content seamlessly.

![image](https://github.com/mathesar-foundation/mathesar/assets/52523023/31e031cc-5c71-447f-9381-c4d6fae03b2d)

_[#3470](https://github.com/mathesar-foundation/mathesar/pull/3470 "Make textarea inputs auto-expand to accommodate longer text fields on the record page")_, _[#3488](https://github.com/mathesar-foundation/mathesar/pull/3488 "Fix regression with record selector not filtering")_, [#3495](https://github.com/mathesar-foundation/mathesar/pull/3495 "Prevent record selector inputs from growing taller")

### Mathesar is now compatible with Python versions: 3.10 and 3.11 along with 3.9

Mathesar now officially supports Python versions 3.10 and 3.11, in addition to the existing 3.9 compatibility. This will provide great flexibility while building Mathesar from source on an OS that natively ships with relatively newer versions of Python.

_[#3478](https://github.com/mathesar-foundation/mathesar/pull/3478 "Extend mathesar to support python 3.10 and above")_, _[#3499](https://github.com/mathesar-foundation/mathesar/pull/3499 "Fix CSRF failures when app is behind a reverse proxy")_, _[#3503](https://github.com/mathesar-foundation/mathesar/pull/3503 "Remove 3.12 support from docs")_, [#3504](https://github.com/mathesar-foundation/mathesar/pull/3504 "Parameterize dev service python version")

### Mathesar is now compatible with PostgreSQL 16

Mathesar now officially supports, and is tested against, Postgres versions 13, 14, 15 and 16.

_[#3480](https://github.com/mathesar-foundation/mathesar/pull/3480 "Add PG 16 to testing matrix")_

### NodeJS is no longer a requirement for building Mathesar from source

We removed NodeJS as a dependency in favour of providing users with pre-built static assest for building Mathesar from source.

_[#3489](https://github.com/mathesar-foundation/mathesar/pull/3489 "GH workflow to create draft release with built static files")_

## Bug fix

- Fixed connection creation failures due to schema name collisions while adding provided sample schema(s) in the database _[#3490](https://github.com/mathesar-foundation/mathesar/pull/3490 "Fix schema creation errors while adding a new connection")_

## Documentation

- Documented upgrade instructions for v0.1.6 _[#3507](https://github.com/mathesar-foundation/mathesar/pull/3507 "Adds upgrade documentation for 0.1.6, fixes existing issues with upgrade docs")_
- 0.1.6 release notes _[#3506](https://github.com/mathesar-foundation/mathesar/pull/3506 "Release notes v0.1.6")_
- Documented mathesar-debug image for Docker based installations _[#3513](https://github.com/mathesar-foundation/mathesar/pull/3513 "Add Debug image docs")_
- Fixed upgrade instructions for v0.1.5 _[#3469](https://github.com/mathesar-foundation/mathesar/pull/3469 "Merge pull request #3468 from mathesar-foundation/upgrade_instruction_fix")_
- Updated Mathesar's version number in docs _[#3476](https://github.com/mathesar-foundation/mathesar/pull/3476 "Merge pull request #3475 from mathesar-foundation/version_number_in_docs")_
- Added MkDocs edit URI _[#3482](https://github.com/mathesar-foundation/mathesar/pull/3482 "Added MkDocs edit URI")_
- Removed stale code coverage badge _[#3491](https://github.com/mathesar-foundation/mathesar/pull/3491 "Remove stale code coverage badge")_

## Maintenance

- Added a health check endpoint for Mathesar _[#3479](https://github.com/mathesar-foundation/mathesar/pull/3479 "Add health check endpoint to Mathesar")_
- Bumped Django from 4.2.8 to 4.2.10 _[#3492](https://github.com/mathesar-foundation/mathesar/pull/3492 "Bump django from 4.2.8 to 4.2.10")_
- Removed NodeJS from Docker production image _[#3474](https://github.com/mathesar-foundation/mathesar/pull/3474 "Add multiple stages to Dockerfile, remove NodeJS & unnecessary source files from production image")_
- Post release cleanup _[#3463](https://github.com/mathesar-foundation/mathesar/pull/3463 "Merge pull request #3460 from mathesar-foundation/0.1.5")_
5 changes: 4 additions & 1 deletion docs/mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,20 @@ nav:
- Environment variables: configuration/env-variables.md
- Administration:
- Upgrade:
- To 0.1.6: administration/upgrade/0.1.6.md
- To 0.1.5: administration/upgrade/0.1.5.md
- To 0.1.4: administration/upgrade/0.1.4.md
- To older versions: administration/upgrade/older.md
- Uninstall Mathesar: administration/uninstall.md
- Debug Mathesar: administration/debug.md
- Using Mathesar:
- Introduction: user-guide/index.md
- Importing data: user-guide/importing-data.md
- Syncing database changes: user-guide/syncing-db.md
- Users & access levels: user-guide/users.md
- Glossary: user-guide/glossary.md
- Releases:
- '0.1.6': releases/0.1.6.md
- '0.1.5': releases/0.1.5.md
- '0.1.4': releases/0.1.4.md
- '0.1.3': releases/0.1.3.md
Expand Down Expand Up @@ -97,4 +100,4 @@ markdown_extensions:
permalink: true

extra:
mathesar_version: 0.1.5
mathesar_version: 0.1.6
2 changes: 1 addition & 1 deletion mathesar/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
default_app_config = 'mathesar.apps.MathesarConfig'

__version__ = "0.1.5"
__version__ = "0.1.6"
9 changes: 4 additions & 5 deletions mathesar_ui/src/components/EntityPageHeader.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -117,11 +117,10 @@
.actions-right {
margin-left: auto;
display: flex;
> :global(* + *) {
margin-left: var(--size-xx-small);
}
display: grid;
grid-auto-flow: column;
align-items: center;
gap: var(--size-xx-small);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,7 @@
position: absolute;
bottom: var(--padding);
height: var(--input-height);
max-height: var(--input-height);
left: var(--padding);
width: calc(100% - 2 * var(--padding));
background: var(--white);
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "Mathesar"
version = "0.1.5"
version = "0.1.6"
[tool.vulture]
exclude = ["mathesar/migrations"]
ignore_names = ["go_to_patents_data_table", "go_to_all_types_table", "go_to_table_with_numbers_in_text", "admin_user"]
Expand Down
Loading