You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/docs/releases/0.2.2.md
+41-28Lines changed: 41 additions & 28 deletions
Original file line number
Diff line number
Diff line change
@@ -7,19 +7,22 @@
7
7
8
8
## Summary
9
9
10
-
Mathesar 0.2.2 brings key improvements, including enhanced primary key handling, smart pasting for easier data entry, and various bug fixes. Users can now choose UUIDs as primary keys, designate any existing column as a primary key during data import, and benefit from a new UUID column type.
10
+
Mathesar 0.2.2 introduces several improvements, including enhanced primary key handling, smart pasting for easier data entry, and various bug fixes. Users can now choose UUIDs as primary keys, designate any existing column as a primary key during data import, and benefit from a new UUID column type.
11
11
12
12
_This page provides a comprehensive list of all changes in the release._
13
13
14
14
## Improvements
15
15
16
-
### Enhanced primary key handling
16
+
### Inserting records when the primary key has no default value
17
17
18
-
Mathesar 0.2.2 introduces several improvements to working with primary keys, including support for UUIDs as primary keys. We've also added a dedicated UUID column type, making it easier to work with UUIDs in any column—not just primary keys.
18
+
Previously, Mathesar required a default value to be set on the primary key column in order to insert records. However there are some valid use cases for primary keys without default values, such as a TEXT column that receives a manually-supplied value on each insert. In 0.2.2 Mathesar now allows you to insert records into such tables by entering the primary key values during the insert.
19
19
20
-
#### Improvements when importing data
20
+
[#4337](https://github.com/mathesar-foundation/mathesar/pull/4337"Refactor records store to improve readability")
21
+
[#4348](https://github.com/mathesar-foundation/mathesar/pull/4348"Allow editing PK cell when inserting rows, when PK column does not have a dynamic default set")
21
22
22
-
When importing existing data, Mathesar automatically generates a primary key column if one isn’t provided. Previously, importing a simple CSV like:
23
+
### Configuring primary keys during import
24
+
25
+
When importing existing data, Mathesar automatically generates a primary key column. Previously, importing a simple CSV like:
23
26
24
27
```csv
25
28
First Name,Last Name
@@ -29,40 +32,36 @@ Laura,Stein
29
32
Amy,Richards
30
33
```
31
34
32
-
would result in Mathesar automatically adding an integer primary key column that auto-increments by default.
35
+
would result in Mathesar automatically adding an integer "id" primary key column that auto-increments by default.
33
36
34
37
That's still the default behavior. But now, you can choose the type of generated primary key column: either an auto-incrementing integer _or_ a UUID column with a default value of a random UUIDv4:
35
38
36
39

37
40
38
41
Additionally, you can now designate _any_ existing column as the primary key. If you select a UUID or Number column, you’ll have the option to apply the same default value settings that Mathesar uses for generated primary key columns.
39
42
40
-
#### Improvements to creating tables
43
+
[#4353](https://github.com/mathesar-foundation/mathesar/pull/4353"Implement PK config for CSV imports")
[#4366](https://github.com/mathesar-foundation/mathesar/pull/4366"Make identity setting declarative in `data_modeling.set_primary_key_column`")
46
+
[#4316](https://github.com/mathesar-foundation/mathesar/pull/4316"Simplify CSV wrangling logic when importing data")
47
+
48
+
### Configuring primary keys when creating tables from scratch
41
49
42
50
When creating new tables in Mathesar, you'll now have the option to set the name and type of your primary key column:
43
51
44
52

45
53
46
54
As when importing data, you can choose between an auto-incrementing integer _or_ a UUID column with a default value of a random UUIDv4.
47
55
48
-
#### Improvements to tables without primary keys
49
-
50
-
Previously, Mathesar would display all kinds of errors when viewing and attempting to edit records in tables without primary keys. Now, we've made the limitations of working with tables without primary keys in Mathesar much clearer:
51
-
52
-
- Cell editing is disabled
53
-
- The placeholder row and 'Add new record' button is hidden.
54
-
- We display an attention indicator with a tooltip that mentions that row level operations are not supported.
56
+
[#4331](https://github.com/mathesar-foundation/mathesar/pull/4331"Backend functions to modify table primary keys")
55
57
56
-
[#4337](https://github.com/mathesar-foundation/mathesar/pull/4337 "Refactor records store to improve readability") [#4331](https://github.com/mathesar-foundation/mathesar/pull/4331 "Backend functions to modify table primary keys") [#4353](https://github.com/mathesar-foundation/mathesar/pull/4353 "Implement PK config for CSV imports") [#4348](https://github.com/mathesar-foundation/mathesar/pull/4348 "Allow editing PK cell when inserting rows, when PK column does not have a dynamic default set") [#4358](https://github.com/mathesar-foundation/mathesar/pull/4358 "Fix no-header import bug") [#4349](https://github.com/mathesar-foundation/mathesar/pull/4349 "Improve experience for tables without primary keys") [#4366](https://github.com/mathesar-foundation/mathesar/pull/4366 "Make identity setting declarative in `data_modeling.set_primary_key_column`") [#4316](https://github.com/mathesar-foundation/mathesar/pull/4316 "Simplify CSV wrangling logic when importing data") [#4320](https://github.com/mathesar-foundation/mathesar/pull/4320 "Implement UUID type on front end") [#4329](https://github.com/mathesar-foundation/mathesar/pull/4329 "support uuid casts and inference") [#4321](https://github.com/mathesar-foundation/mathesar/pull/4321 "Skip PK column in records.patch from record page") [#4359](https://github.com/mathesar-foundation/mathesar/pull/4359 "Make recovery easier during failed import, show proper errors during header change failure")
58
+
### Pasting data into multiple Mathesar cells
57
59
60
+
Mathesar now supports pasting, making it easy to update multiple cells across multiple rows and/or columns in one go. It automatically handles type conversions, so you can paste data from different formats without hassle. Linked column references work just like any other value. You can also copy-paste multiple cells from a variety of other spreadsheet applications directly into Mathesar.
58
61
59
-
### Smart pasting to and from cells
62
+
To paste cells that you've copied, select the top-left cell of the cell range in Mathesar where you want to paste. Then use your system's keyboard shortcut to paste — <kbd>⌘ Command</kbd>+<kbd>V</kbd> on macOS, or <kbd>Ctrl</kbd>+<kbd>V</kbd> on Windows and Linux.
60
63
61
-
Mathesar now supports smart pasting, making it easy to update multiple cells across rows in one go. Mathesar automatically handles type conversions, so you can paste data from different formats without hassle. Linked column references work just like any other value.
62
-
63
-
After selecting and copying cells, highlight the cells to paste into and press your system's keyboard shortcut (`Command+V`/`⌘+V` on macOS, and `Ctrl+V` on Windows and Linux).
64
-
65
-
You'll see a conformation dialog:
64
+
You'll see a confirmation dialog:
66
65
67
66

68
67
@@ -73,6 +72,19 @@ After choosing "paste", your selected rows will be updated with the new values.
73
72
[#4258](https://github.com/mathesar-foundation/mathesar/pull/4258"Support pasting data into cells from system clipboard")[#4322](https://github.com/mathesar-foundation/mathesar/pull/4322"Allow pasting empty strings in NOT NULL columns")[#4327](https://github.com/mathesar-foundation/mathesar/pull/4327"Add PK control to New Table form")[#4326](https://github.com/mathesar-foundation/mathesar/pull/4326"Define pkey during table.add")
74
73
[#4345](https://github.com/mathesar-foundation/mathesar/pull/4345"Fix bug when pasting into cell n edit mode")
75
74
75
+
### Improved support for UUID types
76
+
77
+
We've elevated PostgreSQL's [`uuid` data type](https://www.postgresql.org/docs/current/datatype-uuid.html) to be a fully-supported type from within Mathesar.
78
+
79
+
- As mentioned in the sections above, you can now configure UUID primary keys for tables created via import and from scratch.
80
+
- UUID columns now display with an appropriate icon and column type label.
81
+
- Hexadecimal serialization of UUIDs in CSV data will be inferred to the UUID type during import.
82
+
- When searching and filtering records, you can now enter a substring of a UUID hexadecimal representation.
83
+
- You can now add UUID columns to existing tables from Mathesar. (However you cannot yet [define dynamic defaults](https://github.com/mathesar-foundation/mathesar/issues/3128) for those columns from within Mathesar.)
84
+
85
+
[#4316](https://github.com/mathesar-foundation/mathesar/pull/4316"Simplify CSV wrangling logic when importing data")
86
+
[#4329](https://github.com/mathesar-foundation/mathesar/pull/4329"support uuid casts and inference")
-Revert custom line-height on Dropdown [#4344](https://github.com/mathesar-foundation/mathesar/pull/4344"Revert custom line-height on Dropdown")
86
-
-Remove mathesar_money from type inference [#4350](https://github.com/mathesar-foundation/mathesar/pull/4350"Remove mathesar_money from type inference")
87
-
- Fix documentation version chooser [#4291](https://github.com/mathesar-foundation/mathesar/pull/4291"Fix documentation version chooser")
88
-
-Make SQL tests fail when test file is broken [#4293](https://github.com/mathesar-foundation/mathesar/pull/4293"Make SQL tests fail when test file is broken")
96
+
-Gracefully handle restrictions on editing data in tables lacking primary keys [#4349](https://github.com/mathesar-foundation/mathesar/pull/4349"Improve experience for tables without primary keys")
97
+
-Fix error when saving a record in a table with a "GENERATED ALWAYS AS IDENTITY" primary key [#4321](https://github.com/mathesar-foundation/mathesar/pull/4321"Skip PK column in records.patch from record page")
98
+
-Allow the user to recover from failed type inference during import [#4359](https://github.com/mathesar-foundation/mathesar/pull/4359"Make recovery easier during failed import, show proper errors during header change failure")
99
+
- Fix bug causing Mathesar to infer certain text strings as money values when importing [#4350](https://github.com/mathesar-foundation/mathesar/pull/4350"Remove mathesar_money from type inference")
100
+
-Fix text descender clipping in Select dropdown elements [#4344](https://github.com/mathesar-foundation/mathesar/pull/4344"Revert custom line-height on Dropdown")
89
101
- Fix problem with timezones and date/time keywords [#4317](https://github.com/mathesar-foundation/mathesar/pull/4317"Fix problem with timezones and date/time keywords")
90
-
-Invalid uri empty page[#4365](https://github.com/mathesar-foundation/mathesar/pull/4365"4187 invalid uri empty page")
102
+
-Don't render invalid URLs as hyperlinks in URI cells[#4365](https://github.com/mathesar-foundation/mathesar/pull/4365"4187 invalid uri empty page")
91
103
92
104
## Documentation
93
105
106
+
- Fix documentation version chooser [#4291](https://github.com/mathesar-foundation/mathesar/pull/4291"Fix documentation version chooser")
94
107
- Fix search result styling [#4287](https://github.com/mathesar-foundation/mathesar/pull/4287"Fix search result styling")
95
108
- Update README.md to fix typo [#4361](https://github.com/mathesar-foundation/mathesar/pull/4361"Update README.md to fix typo")
96
109
97
110
## Maintenance
98
111
99
112
- Revert "Bump django from 4.2.18 to 4.2.20" [#4325](https://github.com/mathesar-foundation/mathesar/pull/4325"Revert Bump django from 4.2.18 to 4.2.20")
100
113
- Bump django from 4.2.18 to 4.2.20 [#4315](https://github.com/mathesar-foundation/mathesar/pull/4315"Bump django from 4.2.18 to 4.2.20")
101
-
114
+
- Make SQL tests fail when test file is broken [#4293](https://github.com/mathesar-foundation/mathesar/pull/4293"Make SQL tests fail when test file is broken")
0 commit comments