diff --git a/docs/docs/administration/upgrade/0.1.5.md b/docs/docs/administration/upgrade/0.1.5.md new file mode 100644 index 0000000000..855de0bf3c --- /dev/null +++ b/docs/docs/administration/upgrade/0.1.5.md @@ -0,0 +1,18 @@ +# Upgrade Mathesar to 0.1.5 + +### 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 \ + --force-recreate --build service +``` + +!!! 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 from scratch, the upgrade instructions are the same as [for 0.1.4](../../administration/upgrade/0.1.4/#scratch), but you can skip Step 5 – you do not need to change the environment variables. diff --git a/docs/docs/releases/0.1.4.md b/docs/docs/releases/0.1.4.md index cbdd0c926f..d2f2854eb9 100644 --- a/docs/docs/releases/0.1.4.md +++ b/docs/docs/releases/0.1.4.md @@ -4,6 +4,8 @@ Mathesar 0.1.4 focuses on improving the installation and setup experience. +_This page provides a comprehensive list of all changes in the release._ + ## Upgrading to 0.1.4 See our guide on [upgrading Mathesar to 0.1.4](../administration/upgrade/0.1.4.md). diff --git a/docs/docs/releases/0.1.5.md b/docs/docs/releases/0.1.5.md new file mode 100644 index 0000000000..751a4d4e30 --- /dev/null +++ b/docs/docs/releases/0.1.5.md @@ -0,0 +1,37 @@ +# Mathesar 0.1.5 + +## Summary + +Mathesar 0.1.5 is a small, bug fix release. + +_This page provides a comprehensive list of all changes in the release._ + +## Upgrading to Mathesar 0.1.5 + +See our guide on [upgrading Mathesar to 0.1.5](../administration/upgrade/0.1.5.md). + +## Improvements + +- Improve performance of loading sample data when adding a new connection _[#3448](https://github.com/mathesar-foundation/mathesar/pull/3448 "Efficient data loader")_ +- Constrain the width of the connections page _[#3439](https://github.com/mathesar-foundation/mathesar/pull/3439 "Constrain the width of the connections page")_ + +## Bug fixes + +- Fix "Page not found" error when viewing a shared exploration _[#3456](https://github.com/mathesar-foundation/mathesar/pull/3456 "Fix regression where `connections` list is empty in `common_data`")_ +- Fix bugs preventing Mathesar from running in demo mode _[#3459](https://github.com/mathesar-foundation/mathesar/pull/3459 "Fix Demo mode issues")_ +- Fix timeout when setting up a new database with sample data in installations with higher network latency _[#3448](https://github.com/mathesar-foundation/mathesar/pull/3448 "Efficient data loader")_ +- Restore display of column type icons within shared tables _[#3456](https://github.com/mathesar-foundation/mathesar/pull/3456 "Fix regression where `connections` list is empty in `common_data`")_ +- Temporarily hide link to missing docs page _[#3451](https://github.com/mathesar-foundation/mathesar/pull/3451 "Temporarily hide link to missing docs page")_ +- Fix active cell displaying above row header cell _[#3382](https://github.com/mathesar-foundation/mathesar/pull/3382 "Fix active cell displaying above row header cell")_ + +## Documentation + +- Improve docs on using an external PostgreSQL server for Mathesar's internal database _[#3457](https://github.com/mathesar-foundation/mathesar/pull/3457 "Updates to documentation")_ +- Add embedded video walkthrough within installation steps _[#3437](https://github.com/mathesar-foundation/mathesar/pull/3437 "Merge pull request #3436 from mathesar-foundation/video_walkthrough")_ _[#3443](https://github.com/mathesar-foundation/mathesar/pull/3443 "Merge pull request #3442 from mathesar-foundation/update_video_link")_ +- 0.1.5 release notes _[#3449](https://github.com/mathesar-foundation/mathesar/pull/3449 "0.1.5 release notes")_ + +## Maintenance + +- Improve our release notes helper script _[#3435](https://github.com/mathesar-foundation/mathesar/pull/3435 "Merge pull request #3434 from mathesar-foundation/release_notes")_ +- Post-release cleanup _[#3432](https://github.com/mathesar-foundation/mathesar/pull/3432 "Merge pull request #3429 from mathesar-foundation/0.1.4")_ + diff --git a/docs/docs/releases/README.md b/docs/docs/releases/README.md index 29a8e8c26e..e1ad78a11b 100644 --- a/docs/docs/releases/README.md +++ b/docs/docs/releases/README.md @@ -14,25 +14,7 @@ This is developer documentation to help with release notes. It is not published - If you haven't yet created a release notes file for this release, it will create one for you. - The script will find PRs which have been merged but not yet included in the release notes file. -1. Open `missing_prs.csv` to see the PRs you need to add. Incorporate them into the release notes as you see fit. Save the release notes and commit them. +1. Open the release notes file and find a new section at the end titled **(TO CATEGORIZE)**. Incorporate PRs listed within this section into the release notes as you see fit. Rewrite the title text that appears directly in the markdown. Leave the titles as-written within the quotes (these will appear within hover text). Save the release notes and commit them. -1. Re-run the script as needed. When more PRs are merged, they will appear in `missing_prs.csv`. - -## How to format the release notes content - -1. Group changes into sections in the following order - - ```md - ## Security fixes - ## Breaking changes - ## New features - ## Groundwork - ## Documentation - ## Bug fixes - ## Maintenance - ``` - - You can omit sections if there are no applicable changes. - -1. Within the "New features" section, further categorize changes by specific features using level 3 headings. +1. Re-run the script as needed. diff --git a/docs/docs/releases/TEMPLATE.md b/docs/docs/releases/TEMPLATE.md new file mode 100644 index 0000000000..5b1ab24200 --- /dev/null +++ b/docs/docs/releases/TEMPLATE.md @@ -0,0 +1,35 @@ +# Mathesar __VERSION__ + +## Summary + +TODO + +_This page provides a comprehensive list of all changes in the release._ + +## Upgrading to __VERSION__ + +TODO + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/docs/releases/find_missing_prs.sh b/docs/docs/releases/find_missing_prs.sh index 851942f8fd..0bf2bec6ff 100755 --- a/docs/docs/releases/find_missing_prs.sh +++ b/docs/docs/releases/find_missing_prs.sh @@ -39,19 +39,21 @@ fi RELEASE=$1 NOTES_FILE=$RELEASE.md +TEMPLATE_FILE=TEMPLATE.md # If the notes file doesn't yet exist, create one if [ ! -f $NOTES_FILE ]; then - echo "# Mathesar $RELEASE" > $NOTES_FILE + cp $TEMPLATE_FILE $NOTES_FILE + sed -i "s/__VERSION__/$RELEASE/g" $NOTES_FILE fi PREV_NOTES_FILE=$(ls -1 | sort | grep -B 1 $NOTES_FILE | head -n 1) PREV_RELEASE=$(echo $PREV_NOTES_FILE | sed s/.md$//) -COMMITS_FILE=cache/commits.txt -ALL_PRS_FILE=cache/all_prs.json -INCLUDED_PRS_FILE=cache/included_prs.txt -MISSING_PRS_FILE=missing_prs.csv +CACHE_DIR=cache +COMMITS_FILE="$CACHE_DIR/commits.txt" +ALL_PRS_FILE="$CACHE_DIR/all_prs.json" +INCLUDED_PRS_FILE="$CACHE_DIR/included_prs.txt" # Use the latest release notes file NOTES_FILE=$(ls -1 | grep -e '^[0-9]\.[0-9]\.[0-9]' | sort | tail -n 1) @@ -72,6 +74,8 @@ RELEASE_BRANCH=$( fi ) +mkdir -p "$CACHE_DIR" + # Find and cache the hashes for all the PR-merge commits included in the release # branch but not included in the master branch. git log --format=%H --first-parent $PREV_RELEASE..$RELEASE_BRANCH > $COMMITS_FILE @@ -79,14 +83,11 @@ git log --format=%H --first-parent $PREV_RELEASE..$RELEASE_BRANCH > $COMMITS_FIL # Find and cache details about all the PRs merged within the past year. This # gets more PRs than we need, but we'll filter it shortly. gh pr list \ - --base $RELEASE_BRANCH \ --limit 1000 \ --json additions,author,deletions,mergeCommit,title,url \ --search "is:closed merged:>$(date -d '1 year ago' '+%Y-%m-%d')" \ --jq 'map({ additions: .additions, - author: .author.login, - deletions: .deletions, mergeCommit: .mergeCommit.oid, title: .title, url: .url @@ -99,14 +100,11 @@ grep -Po 'https://github\.com/mathesar-foundation/mathesar/pull/\d*' \ # Generate a CSV containing details for PRs that match commits in the release # but not in the release notes. -echo " +PR_LIST=$(echo " SELECT - pr.title, - pr.url, - pr.author, - pr.additions, - pr.deletions, - '[#' || regexp_extract(pr.url, '(\d+)$', 1) || '](' || pr.url || ')' AS link + '- ' || pr.title || + ' _[#' || regexp_extract(pr.url, '(\d+)$', 1) || ']' || + '(' || pr.url || ' \"' || replace(pr.title, '\"', '') || '\")_' AS link FROM read_json('$ALL_PRS_FILE', auto_detect=true) AS pr JOIN read_csv('$COMMITS_FILE', columns={'hash': 'text'}) AS commit ON commit.hash = pr.mergeCommit @@ -114,9 +112,15 @@ echo " ON included.url = pr.url WHERE included.url IS NULL ORDER BY pr.additions DESC;" | \ - duckdb -csv > $MISSING_PRS_FILE - -COUNT=$(tail -n +2 $MISSING_PRS_FILE | wc -l) + duckdb -ascii -noheader -newline $'\n') -echo "$COUNT missing PRs written to $MISSING_PRS_FILE" +if [ -z "$PR_LIST" ]; then + echo "No missing PRs" + exit 0 +fi +echo $'\n\n## (TO CATEGORIZE)\n' >> $NOTES_FILE +echo "$PR_LIST" >> $NOTES_FILE +echo $'\n' >> $NOTES_FILE +COUNT=$(wc -l <<< "$PR_LIST") +echo "$COUNT PRs added to $NOTES_FILE. Please categorize them." diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index d8f3d00b91..d424cc1069 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -13,6 +13,7 @@ nav: - Environment variables: configuration/env-variables.md - Administration: - Upgrade: + - 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 @@ -23,6 +24,7 @@ nav: - Users & access levels: user-guide/users.md - Glossary: user-guide/glossary.md - Releases: + - '0.1.5': releases/0.1.5.md - '0.1.4': releases/0.1.4.md - '0.1.3': releases/0.1.3.md - '0.1.2': releases/0.1.2.md