Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
824bebd
feat: Add context menu in data browser to get related records from St…
mtrezza Jan 16, 2026
6f05149
chore(release): 8.3.0-alpha.1 [skip ci]
semantic-release-bot Jan 16, 2026
26c909c
feat: Detect and warn about unprintable characters in Cloud Config pa…
mtrezza Jan 16, 2026
2fa6bcb
chore(release): 8.3.0-alpha.2 [skip ci]
semantic-release-bot Jan 16, 2026
2acaa27
fix: Context menu sub-menu in data browser vertically misaligned when…
mtrezza Jan 16, 2026
a353c72
chore(release): 8.3.0-alpha.3 [skip ci]
semantic-release-bot Jan 16, 2026
b632074
feat: Add quick-remove button to array parameter in Cloud Config (#3121)
mtrezza Jan 16, 2026
c3a6304
chore(release): 8.3.0-alpha.4 [skip ci]
semantic-release-bot Jan 16, 2026
230c1e2
fix: Context menu of header cell in info panel does not group related…
mtrezza Jan 17, 2026
5c46c69
chore(release): 8.3.0-alpha.5 [skip ci]
semantic-release-bot Jan 17, 2026
9bc5197
feat: Add context menu in data browser to add cell content or selecte…
mtrezza Jan 17, 2026
de55c5c
chore(release): 8.3.0-alpha.6 [skip ci]
semantic-release-bot Jan 17, 2026
bb6de31
fix: Cloud Config parameter modal cannot scroll when content scales b…
mtrezza Jan 17, 2026
904497c
chore(release): 8.3.0-alpha.7 [skip ci]
semantic-release-bot Jan 17, 2026
70bf081
fix: Dashboard crashes when adding Parse Pointer JSON to array field …
mtrezza Jan 17, 2026
473e3b9
chore(release): 8.3.0-alpha.8 [skip ci]
semantic-release-bot Jan 17, 2026
d45c27b
feat: Add custom dashboard canvas with graphs and data tables (#3126)
mtrezza Jan 18, 2026
a6cf4ae
chore(release): 8.3.0-alpha.9 [skip ci]
semantic-release-bot Jan 18, 2026
53e4f2b
fix: Data browser graph requires value field even when calculated val…
mtrezza Jan 18, 2026
9d2d9d8
chore(release): 8.3.0-alpha.10 [skip ci]
semantic-release-bot Jan 18, 2026
00ff1aa
fix: Canvas graph element does not apply data filter option (#3128)
mtrezza Jan 19, 2026
a05a1be
chore(release): 8.3.0-alpha.11 [skip ci]
semantic-release-bot Jan 19, 2026
7c5d1b3
feat: Add formula-based calculated value to data browser graph (#3129)
mtrezza Jan 20, 2026
1b7daea
chore(release): 8.3.0-alpha.12 [skip ci]
semantic-release-bot Jan 20, 2026
2946e64
feat: Add customizable Y-axis titles for data browser graphs (#3130)
mtrezza Jan 20, 2026
0d4925c
chore(release): 8.3.0-alpha.13 [skip ci]
semantic-release-bot Jan 20, 2026
501dd4b
feat: Add customizable styles for line and bar series in data browser…
mtrezza Jan 20, 2026
766f315
chore(release): 8.3.0-alpha.14 [skip ci]
semantic-release-bot Jan 20, 2026
9493b18
fix: Name of calculated value in data browser graph allows leading an…
mtrezza Jan 20, 2026
6173035
chore(release): 8.3.0-alpha.15 [skip ci]
semantic-release-bot Jan 20, 2026
2f2ae9a
feat: Allow adding View elements to canvas (#3133)
mtrezza Jan 20, 2026
b071723
chore(release): 8.3.0-alpha.16 [skip ci]
semantic-release-bot Jan 20, 2026
b76b9d1
fix: Security upgrade react-router and react-router-dom (#3107)
dependabot[bot] Jan 20, 2026
2c41d27
chore(release): 8.3.0-alpha.17 [skip ci]
semantic-release-bot Jan 20, 2026
ddbd666
feat: Add more customization options for graphs in canvas (#3134)
mtrezza Jan 20, 2026
0016c06
chore(release): 8.3.0-alpha.18 [skip ci]
semantic-release-bot Jan 20, 2026
1e3a3c7
feat: Allow to favorite canvas for quick-access via sidebar menu (#3135)
mtrezza Jan 20, 2026
4b0f007
chore(release): 8.3.0-alpha.19 [skip ci]
semantic-release-bot Jan 20, 2026
99e9b47
docs: Update pull template (#3138)
mtrezza Jan 21, 2026
6d8b8e6
fix: Graph in canvas ignores date filter constraints (#3137)
mtrezza Jan 21, 2026
bd05eda
chore(release): 8.3.0-alpha.20 [skip ci]
semantic-release-bot Jan 21, 2026
cb73122
fix: Canvas is not expandable or scrollable beyond current view size …
mtrezza Jan 22, 2026
08851f5
chore(release): 8.3.0-alpha.21 [skip ci]
semantic-release-bot Jan 22, 2026
5c711e1
fix: Optimize data browser cell context menu grouping and readability…
mtrezza Jan 23, 2026
f25709a
chore(release): 8.3.0-alpha.22 [skip ci]
semantic-release-bot Jan 23, 2026
33d3595
feat: Add context menu item to get related records for selected text …
mtrezza Jan 23, 2026
7a5e124
chore(release): 8.3.0-alpha.23 [skip ci]
semantic-release-bot Jan 23, 2026
619240f
refactor: Bump lodash-es from 4.17.21 to 4.17.23 (#3139)
dependabot[bot] Jan 23, 2026
1594ec8
feat: Add non-alphanumeric character detection in Cloud Config parame…
mtrezza Jan 23, 2026
720f281
chore(release): 8.3.0-alpha.24 [skip ci]
semantic-release-bot Jan 23, 2026
dec06ad
feat: Add cloning of element in canvas (#3144)
mtrezza Jan 23, 2026
244a343
chore(release): 8.3.0-alpha.25 [skip ci]
semantic-release-bot Jan 23, 2026
1558826
feat: Optimize canvas menu organization (#3145)
mtrezza Jan 23, 2026
3a2c046
chore(release): 8.3.0-alpha.26 [skip ci]
semantic-release-bot Jan 23, 2026
e58dc82
feat: Add canvas tree to sidebar instead of loading dialog and favori…
mtrezza Jan 23, 2026
cc5ed87
chore(release): 8.3.0-alpha.27 [skip ci]
semantic-release-bot Jan 23, 2026
94228eb
refactor: Bump @babel/plugin-proposal-decorators from 7.28.0 to 7.28.…
dependabot[bot] Jan 23, 2026
a9edcaf
feat: Optimize appearance of graph tick labels on x-axis for date val…
mtrezza Jan 23, 2026
6f23ce8
chore(release): 8.3.0-alpha.28 [skip ci]
semantic-release-bot Jan 23, 2026
cd654dc
feat: Improve usability and layout of canvas and elements (#3148)
mtrezza Jan 24, 2026
5b6a268
chore(release): 8.3.0-alpha.29 [skip ci]
semantic-release-bot Jan 24, 2026
3cd8197
feat: Add auto-scrolling for info panels (#3149)
mtrezza Jan 25, 2026
8ef8cbe
chore(release): 8.3.0-alpha.30 [skip ci]
semantic-release-bot Jan 25, 2026
523dd0f
refactor: Bump @babel/runtime from 7.28.4 to 7.28.6 (#3150)
dependabot[bot] Jan 26, 2026
423d83a
feat: Various improvements for auto-scrolling info panel (#3151)
mtrezza Jan 26, 2026
9cdad08
chore(release): 8.3.0-alpha.31 [skip ci]
semantic-release-bot Jan 26, 2026
14b4d48
fix: Incorrect percentage and average calculation for calculated valu…
mtrezza Jan 26, 2026
5364179
chore(release): 8.3.0-alpha.32 [skip ci]
semantic-release-bot Jan 26, 2026
0ffd767
feat: Add expanded view for canvas elements graph, table, view (#3156)
mtrezza Jan 27, 2026
4c302ac
chore(release): 8.3.0-alpha.33 [skip ci]
semantic-release-bot Jan 27, 2026
51feba4
feat: Replace graph fields with graph series for more customization (…
mtrezza Jan 28, 2026
117ca77
chore(release): 8.3.0-alpha.34 [skip ci]
semantic-release-bot Jan 28, 2026
da419e0
feat: Add dialog to execute Cloud Job with parameters (#3158)
mtrezza Jan 28, 2026
d1a5441
chore(release): 8.3.0-alpha.35 [skip ci]
semantic-release-bot Jan 28, 2026
b8e8891
fix: Group-by not using custom aggregation type for single-series gra…
mtrezza Jan 28, 2026
14d52cd
chore(release): 8.3.0-alpha.36 [skip ci]
semantic-release-bot Jan 28, 2026
db38f14
feat: Allow to pause auto-scroll of info panel by holding the Option …
mtrezza Jan 28, 2026
792779d
chore(release): 8.3.0-alpha.37 [skip ci]
semantic-release-bot Jan 28, 2026
2847ccf
feat: Add field `objectId` to get related records context menu in dat…
mtrezza Jan 28, 2026
ac27538
chore(release): 8.3.0-alpha.38 [skip ci]
semantic-release-bot Jan 28, 2026
feb3a74
refactor: Bump puppeteer from 24.12.1 to 24.36.0 (#3153)
dependabot[bot] Jan 29, 2026
890494b
refactor: Bump sass from 1.89.2 to 1.97.3 (#3162)
dependabot[bot] Jan 30, 2026
b31dbc4
empty commit to trigger CI
github-actions[bot] Feb 1, 2026
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
26 changes: 9 additions & 17 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,18 @@
### New Pull Request Checklist
<!--
Please check the following boxes [x] before submitting your issue.
Click the "Preview" tab for better readability.
Thanks for contributing to Parse Server!
-->
## Pull Request

- [ ] I am not disclosing a [vulnerability](https://github.com/parse-community/parse-server/blob/master/SECURITY.md).
- [ ] I am creating this PR in reference to an [issue](https://github.com/parse-community/parse-dashboard/issues?q=is%3Aissue).
- Report security issues [confidentially](https://github.com/parse-community/parse-dashboard/security/policy).
- Any contribution is under this [license](https://github.com/parse-community/parse-dashboard/blob/alpha/LICENSE).

### Issue Description
<!-- Add a brief description of the issue this PR solves. -->
## Issue
<!-- Add the link to the issue that this PR closes. -->

Closes: FILL_THIS_OUT

### Approach
<!-- Add a description of the approach in this PR. -->
## Approach
<!-- Describe the changes in this PR. -->

### TODOs before merging
<!--
Add TODOs that need to be completed before merging this PR.
Delete TODOs that do not apply to this PR.
-->
## Tasks
<!-- Delete tasks that don't apply. -->

- [ ] Add tests
- [ ] Add changes to documentation (guides, repository pages, in-code descriptions)
133 changes: 131 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,10 @@ Parse Dashboard is a standalone dashboard for managing your [Parse Server](https
- [Scripts](#scripts)
- [Resource Cache](#resource-cache)
- [Running as Express Middleware](#running-as-express-middleware)
- [Browser Control API (Development Only)](#browser-control-api-development-only)
- [Browser Control API (Development Only)](#browser-control-api-development-only)
- [⚠️ Security Requirements](#️-security-requirements)
- [Configuration](#configuration)
- [Usage](#usage)
- [Deploying Parse Dashboard](#deploying-parse-dashboard)
- [Preparing for Deployment](#preparing-for-deployment)
- [Security Considerations](#security-considerations)
Expand Down Expand Up @@ -83,14 +86,22 @@ Parse Dashboard is a standalone dashboard for managing your [Parse Server](https
- [Audio Item](#audio-item)
- [Button Item](#button-item)
- [Panel Item](#panel-item)
- [Auto-Scroll](#auto-scroll)
- [Prefetching](#prefetching)
- [Graph](#graph)
- [Calculated Values](#calculated-values)
- [Formula Operator](#formula-operator)
- [Arithmetic Operators](#arithmetic-operators)
- [Comparison Operators](#comparison-operators)
- [Conditional Operator](#conditional-operator)
- [Math Functions](#math-functions)
- [Freeze Columns](#freeze-columns)
- [Browse as User](#browse-as-user)
- [Change Pointer Key](#change-pointer-key)
- [Limitations](#limitations)
- [CSV Export](#csv-export)
- [AI Agent](#ai-agent)
- [Configuration](#configuration)
- [Configuration](#configuration-1)
- [Providers](#providers)
- [OpenAI](#openai)
- [Views](#views)
Expand Down Expand Up @@ -1433,6 +1444,26 @@ Example:
}
```

#### Auto-Scroll

▶️ *Core > Browser > Settings > Info Panel > Auto-scroll*

The info panel supports automatic scrolling, which is useful for hands-free browsing of panel content, for example to conveniently browse through large sets of data.

**How to use:**

1. Enable auto-scroll via *Settings > Info Panel > Auto-scroll*.
2. Hold the **Command** (⌘) key while scrolling in the panel to record the scroll amount.
3. Release the Command key after pausing for the desired interval between scrolls.
4. Auto-scrolling begins automatically, repeating the recorded scroll amount and pause interval.

**Controls:**

- **Escape key**: Stop auto-scrolling.
- **Command key**: Stop current auto-scroll and start recording a new scroll pattern.
- **Manual scroll**: Temporarily pauses auto-scrolling, which resumes after inactivity.
- **Auto-scroll button**: Click the highlighted "Auto-scroll" button in the toolbar to stop.

#### Prefetching

To reduce the time for info panel data to appear, data can be prefetched.
Expand All @@ -1449,6 +1480,104 @@ Prefetching is particularly useful when navigating through lists of objects. To

When `prefetchObjects` is enabled, media content (images, videos, and audio) in the info panel can also be prefetched to improve loading performance. By default, all media types are prefetched, but you can selectively disable prefetching for specific media types using the `prefetchImage`, `prefetchVideo`, and `prefetchAudio` options.

### Graph

▶️ *Core > Browser > Graph*

The data browser includes a graph feature that allows you to visualize data in pie charts, bar charts, or line charts. You can configure calculated values to display aggregated or computed data.

#### Calculated Values

Calculated values allow you to derive new values from your data. The following operators are available:

| Operator | Description |
|----------|-------------|
| Sum | Sum of all values in the selected field |
| Percent | Percentage of numerator relative to denominator |
| Average | Average of all values in the selected field |
| Difference | Difference between two fields |
| Ratio | Ratio of numerator to denominator |
| Formula | Custom formula using mathematical expressions |

**Naming Rules:**
Calculated value names must follow Parse field naming conventions:
- Start with a letter or underscore
- Contain only letters, numbers, and underscores
- No spaces or special characters

#### Formula Operator

The Formula operator allows you to define custom calculations using a safe expression syntax. You can reference field values directly by their names.

**Syntax:**
- Use field names directly as variables (e.g., `price`, `quantity`)
- Reference previous calculated values by name (e.g., `profit`, `total_cost`)
- Optionally prefix field names with `$` (e.g., `$price`, `$quantity`)

> [!TIP]
> If a field name conflicts with a reserved function name (like `round`, `min`, `max`), prefix it with `$` to reference the field. For example, use `$round` to reference a field named "round": `round($round, 2)`.

**Example formulas:**
```
price * quantity # Multiply two fields
round(revenue / cost * 100, 2) # Calculate percentage with rounding
max(value, 0) # Floor at 0 (no negatives)
min(value, 100) # Cap at 100
score > 50 ? score : 0 # Conditional logic
round((revenue - cost) / revenue * 100, 1) # Profit margin calculation
```

##### Arithmetic Operators

| Operator | Description | Example |
|----------|-------------|---------|
| `+` | Addition | `price + tax` |
| `-` | Subtraction | `revenue - cost` |
| `*` | Multiplication | `price * quantity` |
| `/` | Division | `total / count` |
| `%` | Modulo (remainder) | `value % 10` |
| `^` | Power | `base ^ 2` |
| `()` | Grouping | `(a + b) * c` |

##### Comparison Operators

Comparison operators return `1` for true and `0` for false.

| Operator | Description | Example |
|----------|-------------|---------|
| `>` | Greater than | `value > 100` |
| `<` | Less than | `value < 0` |
| `>=` | Greater than or equal | `value >= 50` |
| `<=` | Less than or equal | `value <= 100` |
| `==` | Equal | `status == 1` |
| `!=` | Not equal | `status != 0` |

##### Conditional Operator

| Operator | Description | Example |
|----------|-------------|---------|
| `? :` | Ternary conditional | `value > 0 ? value : 0` |

##### Math Functions

| Function | Description | Example |
|----------|-------------|---------|
| `round(value)` | Round to nearest integer | `round(3.7)` → `4` |
| `round(value, decimals)` | Round to decimal places | `round(3.14159, 2)` → `3.14` |
| `floor(value)` | Round down | `floor(3.7)` → `3` |
| `ceil(value)` | Round up | `ceil(3.2)` → `4` |
| `trunc(value)` | Truncate decimal part | `trunc(3.7)` → `3` |
| `abs(value)` | Absolute value | `abs(-5)` → `5` |
| `sign(value)` | Sign of number (-1, 0, 1) | `sign(-5)` → `-1` |
| `min(a, b, ...)` | Minimum value | `min(10, 5, 8)` → `5` |
| `max(a, b, ...)` | Maximum value | `max(10, 5, 8)` → `10` |
| `sqrt(value)` | Square root | `sqrt(16)` → `4` |
| `cbrt(value)` | Cube root | `cbrt(27)` → `3` |
| `exp(value)` | Exponential (e^x) | `exp(1)` → `2.718...` |
| `log(value)` | Natural logarithm | `log(2.718)` → `1` |
| `log10(value)` | Base-10 logarithm | `log10(100)` → `2` |
| `log2(value)` | Base-2 logarithm | `log2(8)` → `3` |

### Freeze Columns

▶️ *Core > Browser > Freeze column*
Expand Down
Loading
Loading