Releases: rowyio/rowy
Rowy's biggest release yet 🎉 + Introducing BuildShip
We are super excited to release today, Rowy's next big version. This release has over 100+ amazing new features, enhancements and fixes that our team and a large group of open-source contributors have been working over the last one year in develop branch.
With this release Rowy's open-source project and Rowy.app cloud version - our goal is to bring to you the most powerful, yet intuitive way to to manage your database on a collaborative spreadsheet / CMS UI. Especially for Firestore and Google Cloud/Firebase stack.
Before diving into the release notes, we invite you to celebrate with us as Rowy's open-source project crosses the milestone of 5,000 stars! 🌟🥳 We will give your project built with Rowy a shoutout in our social channels if you tweet at us @rowyio and say what you built.
Introducing BuildShip
We at the Rowy team also launched a new product called BuildShip 🎉
BuildShip is a low-code visual API, scheduled jobs, backend cloud functions builder - in workflow style right from the browser and ship them instantly with a single click (no long build waiting time, that Rowy users complain!).
BuildShip pairs really well with Rowy and is stack-agnostic! So it works with any database like Firestore, Supabase, Postgres and you can build cloud functions for them on data changes and CRUD operations in no-code style. We've prebuilt integrations with AI models from OpenAI, Replicate, and hundreds of third-party tools.
Best part? If any integration is missing, creating a node connector with AI is a breeze. Give BuildShip a try from here or join our low-code Discord to learn more about BuildShip and Rowy.
What's new in Rowy?
- [New] Multiple filters support - finally! Filter using multiple fields and navigate your data better.
- [New] Support for bulk deletion of rows by @il3ven in #1291
- [New]: Workspaces with multiple project support in Rowy.app. Connect to different Firebase projects - dev/testing/prod or from different ideas/clients - to manage them efficiently with a single unified dashboard.
- [New] Rowy.app: User management and in app table rules generator. Table level admin perms. Set which roles can view, create, update and delete data on your tables. You can also add table level admin permissions.
- [New] "Filter by" option to filter by the value of the cell by @mnmt7 in #1251
- [New] Field Types: Geo point column, Array subtable, Formula, User column
- [New] Google Cloud Secret Manager UI
- [New] Rowy.app: Import from Airtable including uploading files/images to Cloud Storage by @iamanishroy
- [New] Rowy.App: Get started tutorial to create your first table
- [New] Table: all fields can now be edited without opening the Side Drawer by @iamanishroy
- [New] Accessible reorder option in column menu
- [New] Table: shows total number of rows in the table using new Firestore
count()
query - [New] Table: display realtime and offline indicators
- [New] Ratings field: customizable icons by @mshamsrainey in #817
- [New] Ability to add images to richtext field by @mnmt7 in #1326
- [New] Long Text field: add character limit and regex
- [New] Right click menu to filter items, copy and paste with ease
- [New] Filter data by color field, array column type
- [New] Import JSON
- [New] Monaco code editor auto typing
Improved
- [Improved] Export image/file assets, reference field types with JSON
- [Improved] Upload multiple image, files at the same time
- [Improved] rowy.app: User management and inviting team members
- [Improved] Rowy: Ability to edit field keys when importing CSVs
- [Improved] Add an accessible resizing option by @nithinrdy
- [Improved] Allow for disabling save popups in tables by @nithinrdy
- [Improved] Ability to edit field keys when importing CSVs by @nithinrdy
- [Improved] Table: keyboard and screen reader accessibility and adhering to WAI-ARIA guidelines
- [Improved]: Copy paste keyboard shortcut
- [Improved] Table: keyboard-accessible reordering of columns
- [Improved] Persistent navigation bar
- [Improved] Reorder columns in the column menu
- [Improved] Import CSV creates new columns by default if it can’t find an existing column with a similar name (
- [Improved] Build logs snackbar collapses to show only title by @ganeshmani
- [Improved] Rich Text field: enable full-screen editor by @saravanan-inc]
- [Improved] Reorder Select, MultiSelect field 515 by @saravanan-inc
- [Improved] Reorder image file field by @saravanan-inc
- [Improved] Table sections are sorted alphabetically
- [Improved] Error messages and offline error indicators
- [Improved] Ask for confirmation before duplicating rows by @BeeBombshell
- [Improved] Tooltips for buttons by @janvi01
- [Improved] Add colour change customisation to Slider by @rjackson
- [Improved] Customization options added to long text field by @RajGM
- [Improved] Email field: validation regex field added along with default values by @RajGM
- [Improved] Percentage field color customization by @htuerker
- [Improved] Select & MultiSelect Chip Colors - ROWY-135 by @devsgnr
- [Improved] Added confirmation for Duplicate Row button by @BeeBombshell
- [Improved] Copy Document Path to Clipboard by @Rohitbels
- [Improved] Editable Action Label by @mshamsrainey
- [Improved] Default action script to cloud function instead of instead of runnable script
- [Improved] Import wizard select all by @mshamsrainey
- [Improved] Runtime options for functions
- [Improved] Change Export CSV date format so it can be parsed by Import CSV by @iamanishroy
- [Improved] Richtext field full screen mode, similar to markdown fieldtype by @saravanan-inc in #972
- [Improved] Implement auto import for array subtables by @rishipurwar1 in #1302
- [Improved] Support copying subtables
- [Improved] Formula field ESM support
Fixed
- [Fixed] Attempting to read a config doc while offline will result in it being overwritten with default values when going back online, causing loss of table columns
- [Fixed] Uploaded files and images will overwrite existing Firebase Storage files if they have the same file name
- [Fixed] Remove listener fields in other columns when that field column is deleted
- [Fixed] Build logs collapse by default by @ganeshmani in #939
- [Fixed] Table name textbox UI error fix by @AnushDeokar in #1412
- [Fixed] Minimize
BuildLogsSnack
upon fullscreen by @il3ven in #1303 - [Fixed] Prevent redirecting to link when deleting file by @jyash97 in #1047
- [Fixed] Logic for Custom Icons in Action Field by @mshamsrainey in #819
- Many more bug fixes and improvements - full details on this merge: https://github.com/rowyio/rowy/pull/1406/commits
- Following libraries got bumped up to latest versions @adobe/css-tools, tinymce, protobufjs, ejs, tmpl, minimist, terser, async, loader-utils, loader-utils, json5, webpack, ua-parser-js
New Contributors
- @htuerker made their first contribution in #696
- @BeeBombshell made their first contribution in #814
- @mshamsrainey made their first contribution in #819
- @Rohitbels made their first contribution in #835
- @RajGM made their first contribution in #821
- @ganeshmani made their first contribution in #939
- @saravanan-inc made their first contribution in #972
- @iamanishroy made their first contribution in #984
- @jyash97 made their first contribution in #1047
- @devsgnr made their first contribution in #1151
- @prabhatexit0 made their first contribution in #1213
- @yamankatby made their first contribution in #1208
- @mnmt7 made their first contribution in #1233
- @alceil made their first contribution in #1241
- @rjackson made their first contribution in #1254
- @il3ven made their first contribution in #1279
- @rishipurwar1 made their first contribution in #1283
- @staticGuru made their first contribution in #1256
- @rishi-raj-jain made their first contribution in #1389
- @nithinrdy made their first contribution in #1368
- @AnushDeokar made their first contribution in #1412
- @janvi01 made their first contribution in #1430
Full Changelog: https://github.com/rowyio/rowy/com...
v2.6.1
Thanks to our community contributor @htuerker!
Improved
- [Improved] Percentage field: customize color scale by @htuerker in #692 (#518)
- [Improved] Filter by the current cell’s value from the context menu
Fixed
- [Fixed] Row would not be written to database when last required field is filled with value
- [Fixed] Create table collections dropdown is empty instead of showing a text field to enter connection name
- [Fixed] Date filters could be set to filter for null, which causes the table page to be inaccessible
- [Fixed] Single Select filters cannot access options
- [Fixed] Navigation drawer items not accessible with Tab key
- [Fixed] Rich text editor not displaying text styles dropdown correctly in dark mode, and not responding to theme changes correctly by @htuerker in #696 (#537)
- [Fixed] Added /settings/debug page to fix any corrupted table filters or local Firestore cache
- [Fixed] Incorrect read-only rules suggestion
- [Fixed] Windows displaying light mode scrollbars in dark mode
- [Fixed] Page loading with white screen while system is in dark mode
v2.6.0 – New field types, architecture rewrite, quality of life improvements
New
- [New] Reference field type for Firestore document references (#534)
- [New] GeoPoint field type (#535)
- [New] Markdown field type (#683)
- [New] Duration field type: added side drawer editor (#545)
- [New] Filter by ID (#668)
- [New] Hide and filter columns from the column menu
- [New] Clear cell value and delete field from context menu
- [New] Display sub-tables in modal, so you don’t lose position in the main table (#634)
Improved
- [Improved] Import CSV now writes to the database in batches of 500, improving reliability and performance (#607)
- [Improved] Create a table from any page
- [Improved] Show loading indicators when loading another page of the table
- [Improved] Empty table screen now prompts you to add a row
- [Improved] Column sort button now shows current sort state and next sort state on hover
- [Improved] Image field: open images in a new tab even when column is unlocked
- [Improved] Date & Time fields let you filter by same date (#522)
- [Improved] Display browser alert when leaving the page while a table or column modal is open, to prevent losing unsaved changes
- [Improved] Allow table to scroll right far enough such that an open side drawer doesn’t hide columns
- [Improved] Added shareable links for column and table modals, and current table page
- [Improved] Display limited column menu for non-ADMIN and non-OPS users (#580)
- [Improved] Skip confirm dialogs when Alt/Option key is pressed
- [Improved] Show column index and field name when Alt/Option key is pressed
- [Improved] Navigation drawer hierarchy
- [Improved] Standard design when selecting columns for hiding, filtering, and exporting
- [Improved] Toggle design to improve clarity and to match Material 3 guidelines
- [Improved] Add warning when changing field type to one with an incompatible data type, which can result in data loss
- [Improved] Show icon for hidden fields displayed in side drawer
- [Improved] Color pickers match current theme
- [Improved] Display field name in full screen code editor
Fixed
- [Fixed] Date filters no longer require time values to match
- [Fixed] Resizing fixed columns would resize other columns with the same index
- [Fixed] Unreliable reorder and insert column actions
- [Fixed] Date field: Side drawer field would never disable
- [Fixed] Rating field: Cannot set full star rating when half-star precision is enabled (mui/material-ui#32557)
- [Fixed] Time not selectable in Date & Time side drawer field
- [Fixed] Rowy Run modal crashes when user has no roles
v2.5.0 – Templates, automated onboarding, Connector field
New
- [New] rowy.app: Create a table from list of templates
- [New] rowy.app: Automated onboarding steps to create Firebase project, Firestore, and Cloud Storage
- [New] Connector field to get data from any data source in searchable list view demo
- [New] rowy.app: Send feedback from within the app
Improved
- [Improved] Table settings: Set default table name to be based on selected collection
- [Improved] Table settings: Show EDITOR and VIEWER roles as options in access controls
- [Improved] Display a snackbar while creating a table, resetting table columns, or deleting a table
- [Improved] Copy the URL to a row in the context menu
- [Improved] Color field: Added debounce to in-cell color picker
- [Improved] Home page: Fixed "No tables" appearing before tables load in
Fixed
- [Fixed] Adding a row to a filtered table causing data to be overwritten
- [Fixed] URL updating whenever a row is selected
- [Fixed] Table settings: Collections list being fetched too many times
- [Fixed] Image field: drag & drop target size not full size of table cell
v2.4.0 – Simplified onboarding, DX improvements
Thanks to our community contributor @n-sviridenko!
New
- [New] Simpler onboarding flow on deploy.rowy.app to get started even faster
- [New] Syntax validation for Derivative, Action, and dynamic default value functions
- [New] Evaluate individual Derivative cells from the context menu on demand, without waiting for builds
- [New] Code completion for JSON fields in code editors based on table data
- [New] Shortcuts to Secret Manager and Cloud Functions on Google Cloud Console from code editor
- [New]
rowy
utility class for fetching secrets, simplified storage uploads, and access to environment metadata - [New] Duplicate and delete row from the context menu
Improved
- [Improved] Fixed errors and bugs when using Rowy without Rowy Run deployed
- [Improved] Display error snackbar when Firebase Storage permissions denied
Removed
- [Removed] Aggregate field type, which was unusable and undocumented
Fixed
- [Fixed] Single select fields pointing to a nested field key will not write the value to the database, but updates the value in the UI by @n-sviridenko in #659
- [Fixed] Duplicate and Delete row buttons not appearing in read-only tables for ADMINs
- [Fixed] Filters not displaying zero results
v2.3.2
v2.3.1
Improved
- [Improved] Show error snackbar on failed cell deletion
- [Improved] Prevent strings from being pasted into Number fields
- [Improved] Support filtering Derivative columns with supported output types
Fixed
- [Fixed] Deleting columns would only cause them to be reordered
- [Fixed] Status field options
v2.3.0 – Read-only tables, table-level filters, right-click menu
New
- [New] Read-only tables: for non-ADMIN users, locks all columns and disables adding and deleting rows and columns (#577)
- [New] Table-level filters that can optionally be overridden by users (#587)
- [New] Right-click context menu to cut, copy, and paste cell values (#600, #544)
- [New] Import and export Table settings as JSON
- [New] Table descriptions: support Markdown and display in the table page as a dismissable tooltip (#594)
- [New] Status field: allow edits using dropdown and support filtering (#546, #527)
- [New] View table Cloud Function logs
- [New] Support TSV import and export
- [New] rowy.app: Show templates in home page
- [New] Webhooks: Sendgrid events parser
- [New] Trigger extension based on specific field key
Improved
- [Improved] Reorganized table settings modal with a step-based UI
- [Improved] Filter cloud logs by severity
- [Improved] Deep linking for extensions and webhooks modals
- [Improved] Display webhooks error messages in cloud logs
- [Improved] Add Load more button to Cloud logs
- [Improved] Basic search algorithm for Home and User Management pages using match-sorter
- [Improved] Display 404 when incorrect table ID is entered in URL
- [Improved] rowy.app: Hide unnecessary Check for updates button
Fixed
- [Fixed] Unreliable Add column to left/right behavior (#558)
- [Fixed] Unpredictable behavior of reordering columns (#559)
- [Fixed] Collection group tables not loading more than one page of data if two rows have the same ID but are in collections (#595)
- [Fixed] Add row options dropdown not disabled in collection group tables
- [Fixed] Webhooks not writing audit fields
- [Fixed] Auth redirect ignoring hash in URL
- [Fixed] Case sensitive owner email validation during onboarding
- [Fixed] Type completion for
auth
in code editor
v2.2.0 – Webhooks, cloud logs
Thanks to our community contributor @lafronzt!
New
- [New] Add webhooks using a UI to add new rows from third-party services (#566)
- [New] View cloud logs for webhooks, auditing, and builds/deploys in the table view
- [New] Add rows with custom ID
- [New] Revamped Action field settings with step-based UI, support for form inputs (alpha), and emoji as button icon
- [New] JSON fields can now be edited with the Monaco code editor in the Side Drawer (#509)
- [New] Firestore Rules are now edited with the Monaco diff editor in setup
Improved
- [Improved] Monaco code editors can be resized and appear full screen, use GitHub themes, and tooltips no longer get cut off
- [Improved] Import CSV will import in the same order as the CSV file
- [Improved] Import CSV wizard will not suggest to import to ID field as it cannot write custom document IDs
- [Improved] Column settings will not close on backdrop click or escape key press to prevent unsaved changes
- [Improved] Derivatives field settings do not list field being edited in the listener field dropdown
- [Improved] Derivatives Field listener and render fields are required in column settings (#564)
- [Improved] Copy for “Loading chunk failed error” caused by a new update being ready is more user-friendly and suggests the user reloads the page (#530)
- [Improved] Added Side Drawer toggle to show fields hidden in table (off by default)
- [Improved] Setup rules step removes an insecure Firestore rule that allows anyone to access any part of your database
- [Improved] Display project ID in user menu
- [Improved] Home page welcome text to emphasize you can create tables from existing Firestore collections
Fixed
- [Fixed] Document ID generation algorithm eventually breaks and can’t create new rows after
000...undefined
(#567) - [Fixed] Import CSV writes all CSV rows into one row (#583)
- [Fixed] Connect Service (Alpha) field shows item field name instead of value by @lafronzt in #570 (#569)
- [Fixed] Connect Service (Alpha) dropdown shows white gradient in dark theme
- [Fixed] Side Drawer crashing when document contains a Firestore
DocumentReference
as an array value or in a nested field (#565) - [Fixed] Hidden fields & filters not working with multiple table views
- [Fixed] Import CSV wizard preview error when importing dates that are strings
- [Fixed] Cloud build log snackbar not appearing for Derivative function deploy
v2.1.0 – New Extensions UI, table auditing
Thanks to our community contributors @fabricio-godoi, @nandinikaregowdra, @doilie, @DariaNico, @jmutt78, @coder-mina, and @yashodha03!
New
- [New] Step-based Extensions UI with updated copy and links to docs
- [New] Table auditing: track when a user creates or updates a row. View this data with the new Created By, Updated By, Created At, and Updated At field types in your table or disable auditing if you don’t want these fields written to your documents.
- [New] Connect Table field supports single selection without arrays (#504)
- [New] Allow users to add custom options in Single and Multi Select fields
- [New] Add initial columns in Create table modal
Improved
- [Improved] Side Drawer scrolls to the selected cell and focus if available
- [Improved] Filters UI now shows Side Drawer fields and supports more field types
- [Improved] Long Text field supports multiline in-cell text editing
- [Improved] Import CSV will suggest matching table column if CSV field name matches by @DariaNico in #558 (#536)
- [Improved] Add not equal to filter by @nandinikaregowdra in #547 (#528)
- [Improved] Rating field shows configuration modal after creation by @coder-mina in #556 (#540)
- [Improved] Slider field shows configuration modal after creation by @yashodha03 in #557 (#541)
- [Improved] Show cap on number of rows loaded in table header
- [Improved] Switch monospace font from IBM Plex Mono to JetBrains Mono for improved clarity
- [Improved] Set text field caret color to theme primary color for improved clarity
- [Improved] Table settings: Show collection name in Copy columns from existing table instead of ID
Fixed
- [Fixed] Table settings: fix Table ID being automatically edited when changing table name, causing creation of new table
- [Fixed] Side Drawer crashing when document contains a Firestore
DocumentReference
- [Fixed] Add row will not add to top of table after deleting any row
- [Fixed] Missing in-cell editing of Date Time fields to match Date fields
- [Fixed] Position of tooltip for column header name
- [Fixed] Collections list in Table Settings empty on first load
- [Fixed] Import previews in Import Wizards have misaligned column headers by @jmutt78 in #553 (#531)
- [Fixed] Export not working for subcollections by fabricio-godoi in #499
- [Fixed] Status field resetting operator on edit
- [Fixed] PopoverCell: fix double causing cell to appear blank
- [Fixed] Side Drawer not loading the correct row’s values for some fields after clicking the navigation buttons
- [Fixed] Array and object fields not updating correctly if an element or property is removed
- [Fixed] Last frozen row not showing selection outline