v0.1.3

twentyhq/twentyv0.1.3Sep 6, 2023by charlesBochet

AI Summary

This release (v0.1.3) of Twenty introduces significant new functionality including a views system for saving and managing table views with filters, sorts, and column visibility, along with CSV import capabilities for companies and persons. The release also includes performance improvements through optimistic rendering and table virtualization, plus various UI/UX enhancements across boards, tables, and detail pages.

Key Highlights

  • Views system - create, edit, delete views with persistent filters, sorts, and column configurations
  • CSV import for companies and persons with spreadsheet-style import workflow
  • Optimistic rendering for tasks, table operations, and pipeline stages for better UX
  • Favorites feature to mark and track important records
  • Table virtualization for improved performance with large datasets

New Features

  • Views and viewSorts tables with database schema
  • Views dropdown UI (list, add, edit views)
  • Persist view filters and sorts on update
  • Create views from selected filters/sorts and table columns
  • Default views created on workspace creation
  • Delete views from views dropdown
  • CSV import for companies and persons
  • Favorites feature
  • Optimistic rendering for tasks, table create/remove, pipeline stages, table relations
  • Board context menu and options dropdown
  • Drag to select boards
  • Pipeline stage creation and deletion
  • Table virtualization
  • Add hotkeys to modals
  • Page titles using React Helmet
  • Company show page enhancements (team section, person management)
  • Photo upload on person show page
  • URL validation improvements
  • New standard fields on People and Companies
  • Foreign key constraints and cascade delete

Full Release Notes

# Highlights
Create views, import CSV

## What's Changed
<details>
<summary>Click to view the 170 changes</summary>
<ul>
<li>Prevent indexing on docs outside of production by @emilienchvt in https://github.com/twentyhq/twenty/pull/1054</li>
<li>Fix Dark Mode Colors by @brendanlaschke in https://github.com/twentyhq/twenty/pull/1099</li>
<li>fix: [#1079] adding max width to menu items and also the tooltip to show full text value by @Daggerhub in https://github.com/twentyhq/twenty/pull/1088</li>
<li>Bump file-type from 13.0.0 to 16.5.4 in /server by @dependabot in https://github.com/twentyhq/twenty/pull/1105</li>
<li>Feat/generic editable board card by @lucasbordeau in https://github.com/twentyhq/twenty/pull/1089</li>
<li>Add company creation from people table by @emilienchvt in https://github.com/twentyhq/twenty/pull/1100</li>
<li>Replace default colors for headers in Boards by @brendanlaschke in https://github.com/twentyhq/twenty/pull/1128</li>
<li>Drag to select boards by @brendanlaschke in https://github.com/twentyhq/twenty/pull/1127</li>
<li>fix update pipelineProgress with 0 probability by @Weiko in https://github.com/twentyhq/twenty/pull/1144</li>
<li>Add optimistic rendering for tasks by @emilienchvt in https://github.com/twentyhq/twenty/pull/1140</li>
<li>Enable optimistic rendering for pipeline stages by @emilienchvt in https://github.com/twentyhq/twenty/pull/1139</li>
<li>chore: Improve design of comment bar in notes by @gitstart-twenty in https://github.com/twentyhq/twenty/pull/1102</li>
<li>feat: I can upload a photo on person show page by @gitstart-twenty in https://github.com/twentyhq/twenty/pull/1103</li>
<li>chore: New standard fields on People by @gitstart-twenty in https://github.com/twentyhq/twenty/pull/1104</li>
<li>Update DropdownMenuSkeletonItem.tsx by @jaykesarkar in https://github.com/twentyhq/twenty/pull/1112</li>
<li>feat: Add team section on company show by @gitstart-twenty in https://github.com/twentyhq/twenty/pull/1119</li>
<li>Add task and note create option in comand menu by @sunilk4u in https://github.com/twentyhq/twenty/pull/1115</li>
<li>feat: Add the workspace logo on Twenty logo on the invited route by @gitstart-twenty in https://github.com/twentyhq/twenty/pull/1136</li>
<li>Use dedicated EditableFieldEntityIdContext for editable fields instead of CardIds by @Weiko in https://github.com/twentyhq/twenty/pull/1145</li>
<li>[opportunities] fix poc being removed after pipeline update by @Weiko in https://github.com/twentyhq/twenty/pull/1148</li>
<li>Add WSL instruction and IDE setup instruction by @charlesBochet in https://github.com/twentyhq/twenty/pull/1150</li>
<li>fix(882): fixes negative number submission for employees input by @srikarsams in https://github.com/twentyhq/twenty/pull/1130</li>
<li>feat: add views and viewSorts tables by @thaisguigon in https://github.com/twentyhq/twenty/pull/1131</li>
<li>Add task to action bar by @brendanlaschke in https://github.com/twentyhq/twenty/pull/1153</li>
<li>Adds URL validation by @srikarsams in https://github.com/twentyhq/twenty/pull/1155</li>
<li>Feature/optmistically render table create & remove by @emilienchvt in https://github.com/twentyhq/twenty/pull/1156</li>
<li>feat: persist view sorts by @thaisguigon in https://github.com/twentyhq/twenty/pull/1154</li>
<li>Add FieldDefinition by @Weiko in https://github.com/twentyhq/twenty/pull/1162</li>
<li>Force 404 on static folder when a file is not found by @charlesBochet in https://github.com/twentyhq/twenty/pull/1165</li>
<li>refactoring editableFieldContext to match with table implementation by @Weiko in https://github.com/twentyhq/twenty/pull/1164</li>
<li>Fixes before deploy by @charlesBochet in https://github.com/twentyhq/twenty/pull/1167</li>
<li>feat: Favorites by @AdityaPimpalkar in https://github.com/twentyhq/twenty/pull/1094</li>
<li>Integrate favorites into release by @charlesBochet in https://github.com/twentyhq/twenty/pull/1168</li>
<li>feat: change column visibility on add by @thaisguigon in https://github.com/twentyhq/twenty/pull/1174</li>
<li>Use FieldDefinition for company show page by @Weiko in https://github.com/twentyhq/twenty/pull/1171</li>
<li>Re-add constraints by @charlesBochet in https://github.com/twentyhq/twenty/pull/1177</li>
<li>[PersonShow] use fieldDefinition for editable fields by @Weiko in https://github.com/twentyhq/twenty/pull/1178</li>
<li>Remove activityType and Id by @charlesBochet in https://github.com/twentyhq/twenty/pull/1179</li>
<li>Remove unused components by @charlesBochet in https://github.com/twentyhq/twenty/pull/1180</li>
<li>fix-on-dropdown-menu-width by @charlesBochet in https://github.com/twentyhq/twenty/pull/1181</li>
<li>Improve editable field performances by @Weiko in https://github.com/twentyhq/twenty/pull/1182</li>
<li>Fix drag-performance by @charlesBochet in https://github.com/twentyhq/twenty/pull/1184</li>
<li>tasks strikes through #1176 by @Manikanta528 in https://github.com/twentyhq/twenty/pull/1186</li>
<li>[Docs] Update WSL instructions + fix broken links by @charlesBochet in https://github.com/twentyhq/twenty/pull/1204</li>
<li>Reorganize context/states/selectors in dedicated folders by @Weiko in https://github.com/twentyhq/twenty/pull/1205</li>
<li>Cosmetic refactoring on context menu by @charlesBochet in https://github.com/twentyhq/twenty/pull/1209</li>
<li>Upgrade /front version and display the version in settings navbar by @Weiko in https://github.com/twentyhq/twenty/pull/1207</li>
<li>feat: I can hide/show filter bar and add filters directly from filter bar by @gitstart-twenty in https://github.com/twentyhq/twenty/pull/1173</li>
<li>Moving queries into dedicated files by @Weiko in https://github.com/twentyhq/twenty/pull/1210</li>
<li>Fix sort and filters behavior by @charlesBochet in https://github.com/twentyhq/twenty/pull/1211</li>
<li>On Company Show, in team section, I can detach a person from a company by @gitstart-twenty in https://github.com/twentyhq/twenty/pull/1202</li>
<li>On Company Show, in team section, I can delete a person by @gitstart-twenty in https://github.com/twentyhq/twenty/pull/1206</li>
<li>Add foreign key constraints and perform on Cascade Delete by @charlesBochet in https://github.com/twentyhq/twenty/pull/1219</li>
<li>feat: add views dropdown (list, add & edit views) by @thaisguigon in https://github.com/twentyhq/twenty/pull/1220</li>
<li>Change sort and filter chip style, Add seperator by @brendanlaschke in https://github.com/twentyhq/twenty/pull/1222</li>
<li>feat: wip import csv [part 1] by @magrinj in https://github.com/twentyhq/twenty/pull/1033</li>
<li>[docs] add folder architecture doc by @Weiko in https://github.com/twentyhq/twenty/pull/1221</li>
<li>removed unused files, unnecessary exports and renamed ownProps by @Weiko in https://github.com/twentyhq/twenty/pull/1225</li>
<li>Boards add context menu by @brendanlaschke in https://github.com/twentyhq/twenty/pull/1223</li>
<li>Update color palette by @charlesBochet in https://github.com/twentyhq/twenty/pull/1226</li>
<li>Fix tests and upgrade node_modules by @charlesBochet in https://github.com/twentyhq/twenty/pull/1227</li>
<li>chore: fix @apollo/client version to 3.7.17 by @thaisguigon in https://github.com/twentyhq/twenty/pull/1233</li>
<li>font weight to medium #1208 by @Manikanta528 in https://github.com/twentyhq/twenty/pull/1228</li>
<li>On Company Show, I can select an existing person and add it to the company by @gitstart-twenty in https://github.com/twentyhq/twenty/pull/1201</li>
<li>Fix: Change title strings by @sunilk4u in https://github.com/twentyhq/twenty/pull/1212</li>
<li>Import company and person from csv file by @magrinj in https://github.com/twentyhq/twenty/pull/1236</li>
<li>feat: delete views from views dropdown by @thaisguigon in https://github.com/twentyhq/twenty/pull/1234</li>
<li>Task update sync issue #1203 by @Manikanta528 in https://github.com/twentyhq/twenty/pull/1232</li>
<li>Fix issue #1037: Task inbox small design improvements by @kelvinyelyen in https://github.com/twentyhq/twenty/pull/1238</li>
<li>Fix Chip font-weight by @Weiko in https://github.com/twentyhq/twenty/pull/1242</li>
<li>Set 3 workers for storybook coverage by @Weiko in https://github.com/twentyhq/twenty/pull/1255</li>
<li>Update README.md by @Bonapara in https://github.com/twentyhq/twenty/pull/1251</li>
<li>Updates date style on tasks page by @srikarsams in https://github.com/twentyhq/twenty/pull/1244</li>
<li>Fix: add 404 page by @sunilk4u in https://github.com/twentyhq/twenty/pull/1230</li>
<li>Added a first round of docs for front end by @lucasbordeau in https://github.com/twentyhq/twenty/pull/1246</li>
<li>Add styled component rule by @Weiko in https://github.com/twentyhq/twenty/pull/1261</li>
<li>Add CreateButton to Tasks page by @brendanlaschke in https://github.com/twentyhq/twenty/pull/1283</li>
<li>remove arrows for number inputs by @srikarsams in https://github.com/twentyhq/twenty/pull/1287</li>
<li>Fix: Avoid showing confirmation dialog on closing spreadsheet import with no changes by @quuu in https://github.com/twentyhq/twenty/pull/1284</li>
<li>Add Empty as value of empty fields inputs #1042 by @Weiko in https://github.com/twentyhq/twenty/pull/1243</li>
<li>Fix: Profile picture does not appear after signin by @AM-77 in https://github.com/twentyhq/twenty/pull/1285</li>
<li>Fix: create time by @sunilk4u in https://github.com/twentyhq/twenty/pull/1250</li>
<li>Fix issue #1161: Update visible fields on person detail page by @kelvinyelyen in https://github.com/twentyhq/twenty/pull/1260</li>
<li>fix(modal): add padding in confirmation modal by @jyash97 in https://github.com/twentyhq/twenty/pull/1247</li>
<li>Fix confirmation modal size by @Weiko in https://github.com/twentyhq/twenty/pull/1295</li>
<li>feat: persist view filters and sorts on Update View button click by @thaisguigon in https://github.com/twentyhq/twenty/pull/1290</li>
<li>Feat/add opportunity by @lucasbordeau in https://github.com/twentyhq/twenty/pull/1267</li>
<li>Feat/hide board fields by @lucasbordeau in https://github.com/twentyhq/twenty/pull/1271</li>
<li>New behavior for editable fields by @Weiko in https://github.com/twentyhq/twenty/pull/1300</li>
<li>feat: disable Update View button if filters and sorts are up to date by @thaisguigon in https://github.com/twentyhq/twenty/pull/1293</li>
<li>Selected row background by @brendanlaschke in https://github.com/twentyhq/twenty/pull/1299</li>
<li>Fix color scheme update by @Weiko in https://github.com/twentyhq/twenty/pull/1298</li>
<li>Add optimistic rendering for table relations by @emilienchvt in https://github.com/twentyhq/twenty/pull/1296</li>
<li>Chore: New standard fields on Companies by @gitstart-twenty in https://github.com/twentyhq/twenty/pull/1276</li>
<li>Feat: The scrollbar should fade away when the scroll is finished or not started by @gitstart-twenty in https://github.com/twentyhq/twenty/pull/1269</li>
<li>Scroll behavior part 2 by @charlesBochet in https://github.com/twentyhq/twenty/pull/1304</li>
<li>feat: create view from selected filters and sorts + switch to newly created view on view creation by @thaisguigon in https://github.com/twentyhq/twenty/pull/1301</li>
<li>padding fix for header logo container #1216 by @Manikanta528 in https://github.com/twentyhq/twenty/pull/1252</li>
<li>Add hotkeys to modals by @Weiko in https://github.com/twentyhq/twenty/pull/1305</li>
<li>Remove danger text from completed passed tasks by @Weiko in https://github.com/twentyhq/twenty/pull/1309</li>
<li>feat: create view from current table columns + persist view fields on… by @thaisguigon in https://github.com/twentyhq/twenty/pull/1308</li>
<li>Feat/phone email link enhancements by @mustajab-ikram in https://github.com/twentyhq/twenty/pull/1172</li>
<li>Rework tel input by @charlesBochet in https://github.com/twentyhq/twenty/pull/1316</li>
<li>Add idealCustomerProfile to company show page by @Weiko in https://github.com/twentyhq/twenty/pull/1312</li>
<li>feat: create default views on workspace creation + add views seed by @thaisguigon in https://github.com/twentyhq/twenty/pull/1313</li>
<li>Fix: Manually delete company cache #1214 by @abhip167 in https://github.com/twentyhq/twenty/pull/1315</li>
<li>Feat: On Company Show, I can create a person and add it to the company by @gitstart-twenty in https://github.com/twentyhq/twenty/pull/1256</li>
<li>Fix confirmation modal style by @Weiko in https://github.com/twentyhq/twenty/pull/1310</li>
<li>Unset companies and owners by @Jmarin123 in https://github.com/twentyhq/twenty/pull/1185</li>
<li>Show Entity task/note tabs by @brendanlaschke in https://github.com/twentyhq/twenty/pull/1282</li>
<li>Fix create task from Add Button by @brendanlaschke in https://github.com/twentyhq/twenty/pull/1318</li>
<li>Fix dragToSelect Board by @brendanlaschke in https://github.com/twentyhq/twenty/pull/1319</li>
<li>Refactor buttons by @charlesBochet in https://github.com/twentyhq/twenty/pull/1257</li>
<li>Fix tasks page by @Weiko in https://github.com/twentyhq/twenty/pull/1325</li>
<li>Fix fontSize DropdownMenu input overwritten by @brendanlaschke in https://github.com/twentyhq/twenty/pull/1364</li>
<li>Create opportunity from board column menu by @brendanlaschke in https://github.com/twentyhq/twenty/pull/1323</li>
<li>refactor: add ColumnDefinition type by @thaisguigon in https://github.com/twentyhq/twenty/pull/1357</li>
<li>feat: add page titles using React Helmet by @mustajab-ikram in https://github.com/twentyhq/twenty/pull/1321</li>
<li>fix: do not allow removal of last table view by @thaisguigon in https://github.com/twentyhq/twenty/pull/1366</li>
<li>chore(docs): Update the best practices page by @gitstart-twenty in https://github.com/twentyhq/twenty/pull/1303</li>
<li>Fix: Wrong type in env variables front support by @charlesBochet in https://github.com/twentyhq/twenty/pull/1368</li>
<li>fix: Vertical scroll bar graphic artifacts in dark mode by @gitstart-twenty in https://github.com/twentyhq/twenty/pull/1369</li>
<li>chore: Make a twenty Eslint Rule to make sure that icons are imported from @/ui/icons by @gitstart-twenty in https://github.com/twentyhq/twenty/pull/1370</li>
<li>Remove unused logic on board column menu tags by @charlesBochet in https://github.com/twentyhq/twenty/pull/1373</li>
<li>feat: allow adding available pre-defined table columns to views by @thaisguigon in https://github.com/twentyhq/twenty/pull/1371</li>
<li>Doc fixes by @lucasbordeau in https://github.com/twentyhq/twenty/pull/1385</li>
<li>Fix view edit button by @brendanlaschke in https://github.com/twentyhq/twenty/pull/1381</li>
<li>New page structure by @brendanlaschke in https://github.com/twentyhq/twenty/pull/1377</li>
<li>refactor: create/update/delete one view instead of many by @thaisguigon in https://github.com/twentyhq/twenty/pull/1384</li>
<li>update metadata + add social card by @friendlymatthew in https://github.com/twentyhq/twenty/pull/1391</li>
<li>Fix person deletion not reflected on Opportunities POC by @charlesBochet in https://github.com/twentyhq/twenty/pull/1387</li>
<li>fix: improve full name editable fields in Person Show page by @thaisguigon in https://github.com/twentyhq/twenty/pull/1390</li>
<li>New MenuItem components by @lucasbordeau in https://github.com/twentyhq/twenty/pull/1389</li>
<li>fix: fix filter and sort position on board horizontal scroll by @thaisguigon in https://github.com/twentyhq/twenty/pull/1386</li>
<li>Robust Photo Uploader, handling unsupported file types, upload error, apollo uploader by @friendlymatthew in https://github.com/twentyhq/twenty/pull/1400</li>
<li>chore: Show my completed tasks without date categories by @gitstart-twenty in https://github.com/twentyhq/twenty/pull/1375</li>
<li>unselect all cards using esc key or click by @friendlymatthew in https://github.com/twentyhq/twenty/pull/1393</li>
<li>refactor: index ViewField by viewId and key by @thaisguigon in https://github.com/twentyhq/twenty/pull/1416</li>
<li>Implement Optimistic Effects by @charlesBochet in https://github.com/twentyhq/twenty/pull/1415</li>
<li>Fix URL validation on long/internationalized URLs by @xprnio in https://github.com/twentyhq/twenty/pull/1423</li>
<li>Added enums use case by @lucasbordeau in https://github.com/twentyhq/twenty/pull/1428</li>
<li>feat: add board options dropdown and pipeline stage creation by @thaisguigon in https://github.com/twentyhq/twenty/pull/1399</li>
<li>Fix/csv import by @magrinj in https://github.com/twentyhq/twenty/pull/1397</li>
<li>In Activities (Tasks / Notes) right drawer, while editing the body and displaying the styling bar, the bar should styling not be larger than the right drawer by @gitstart-twenty in https://github.com/twentyhq/twenty/pull/1414</li>
<li>feat: table virtualization by @magrinj in https://github.com/twentyhq/twenty/pull/1408</li>
<li>Fix column not being saved properly by @xprnio in https://github.com/twentyhq/twenty/pull/1429</li>
<li>feat: delete pipeline stage by @thaisguigon in https://github.com/twentyhq/twenty/pull/1412</li>
<li>fix: fix dropdown buttons z-index by @thaisguigon in https://github.com/twentyhq/twenty/pull/1431</li>
<li>fix: allow zero value on number field by @magrinj in https://github.com/twentyhq/twenty/pull/1436</li>
<li>fix: allow access to the Update View button when a table column can be persisted by @thaisguigon in https://github.com/twentyhq/twenty/pull/1433</li>
<li>fix: DatePicker cut in DropDownMenu by @magrinj in https://github.com/twentyhq/twenty/pull/1437</li>
<li>fix: just change the order to match design by @magrinj in https://github.com/twentyhq/twenty/pull/1410</li>
<li>fix: big view name is not handled by @magrinj in https://github.com/twentyhq/twenty/pull/1439</li>
<li>Fix buttons and z-index by @charlesBochet in https://github.com/twentyhq/twenty/pull/1438</li>
<li>fix: tasks "Done" not visible by @magrinj in https://github.com/twentyhq/twenty/pull/1445</li>
<li>fix: Boolean editable field not align properly by @magrinj in https://github.com/twentyhq/twenty/pull/1444</li>
<li>fix: fix table columns update by @thaisguigon in https://github.com/twentyhq/twenty/pull/1435</li>
<li>fix: avatar disappear when editing a person by @magrinj in https://github.com/twentyhq/twenty/pull/1440</li>
<li>Unselect table rows using esc key or click outside by @friendlymatthew in https://github.com/twentyhq/twenty/pull/1420</li>
<li>feat: add recoil debug observer by @magrinj in https://github.com/twentyhq/twenty/pull/1446</li>
<li>[ESLint rule]: recoil value and setter should be named after their at… by @gitstart-twenty in https://github.com/twentyhq/twenty/pull/1402</li>
<li>fix: use correct table view when switching workspaces by @thaisguigon in https://github.com/twentyhq/twenty/pull/1447</li>
<li>fix: drop down menu should be of 160px size by @magrinj in https://github.com/twentyhq/twenty/pull/1459</li>
<li>fix: view dropdown incorrect button position and floating icon button doesn't match design by @magrinj in https://github.com/twentyhq/twenty/pull/1458</li>
<li>fix: double text chip show null value by @magrinj in https://github.com/twentyhq/twenty/pull/1460</li>
<li>fix: table view dropdown should have a minimum width by @magrinj in https://github.com/twentyhq/twenty/pull/1467</li>
<li>Fix View update button not being displayed in View Bar by @charlesBochet in https://github.com/twentyhq/twenty/pull/1469</li>
<li>fix: allow null value for number and date by @magrinj in https://github.com/twentyhq/twenty/pull/1472</li>
<li>Fix Profile picture uploader by @charlesBochet in https://github.com/twentyhq/twenty/pull/1471</li>
<li>fix: can't set ARR of company to empty by @magrinj in https://github.com/twentyhq/twenty/pull/1474</li>
</ul>
</details>

<details>
<summary>We welcomed 15 new contributors!</summary>
<ul>
<li>@Daggerhub made their first contribution in https://github.com/twentyhq/twenty/pull/1088</li>
<li>@dependabot made their first contribution in https://github.com/twentyhq/twenty/pull/1105</li>
<li>@jaykesarkar made their first contribution in https://github.com/twentyhq/twenty/pull/1112</li>
<li>@sunilk4u made their first contribution in https://github.com/twentyhq/twenty/pull/1115</li>
<li>@srikarsams made their first contribution in https://github.com/twentyhq/twenty/pull/1130</li>
<li>@Manikanta528 made their first contribution in https://github.com/twentyhq/twenty/pull/1186</li>
<li>@kelvinyelyen made their first contribution in https://github.com/twentyhq/twenty/pull/1238</li>
<li>@quuu made their first contribution in https://github.com/twentyhq/twenty/pull/1284</li>
<li>@AM-77 made their first contribution in https://github.com/twentyhq/twenty/pull/1285</li>
<li>@jyash97 made their first contribution in https://github.com/twentyhq/twenty/pull/1247</li>
<li>@mustajab-ikram made their first contribution in https://github.com/twentyhq/twenty/pull/1172</li>
<li>@abhip167 made their first contribution in https://github.com/twentyhq/twenty/pull/1315</li>
<li>@Jmarin123 made their first contribution in https://github.com/twentyhq/twenty/pull/1185</li>
<li>@friendlymatthew made their first contribution in https://github.com/twentyhq/twenty/pull/1391</li>
<li>@xprnio made their first contribution in https://github.com/twentyhq/twenty/pull/1423</li>
</ul>
</details>