Skip to content

Commit 2a6a692

Browse files
committed
v4.1.0
Signed-off-by: Andrew Stein <steinlink@gmail.com>
1 parent 0842f48 commit 2a6a692

File tree

52 files changed

+509
-571
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+509
-571
lines changed

CHANGELOG.md

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,29 @@
1+
# [v4.1.0](https://github.com/perspective-dev/perspective/releases/tag/v4.1.0)
2+
3+
_27 January 2026_ ([Full changelog](https://github.com/finos/perspective/compare/v4.0.1...v4.1.0))
4+
5+
**Breaking**
6+
7+
- Add `table` to `ViewerConfig` [#3107](https://github.com/finos/perspective/pull/3107)
8+
9+
Features
10+
11+
- DuckDB Virtual Server [#3062](https://github.com/finos/perspective/pull/3062)
12+
13+
Fixes
14+
15+
- Fix Arrow decimal type conversion to float instead of integer [#3099](https://github.com/finos/perspective/pull/3099)
16+
- Fix viewport scroll regression in datagrid [#3098](https://github.com/finos/perspective/pull/3098)
17+
18+
Misc
19+
20+
- `&lt;PerspectiveWorkspace&gt;` React component [#3109](https://github.com/finos/perspective/pull/3109)
21+
- Fix windows Python builds [#3110](https://github.com/finos/perspective/pull/3110)
22+
- Convert `viewer-datagrid` to TypeScript [#3108](https://github.com/finos/perspective/pull/3108)
23+
124
# [v4.0.1](https://github.com/perspective-dev/perspective/releases/tag/v4.0.1)
225

3-
_16 December 2025_ ([Full changelog](https://github.com/finos/perspective/compare/v4.0.0...v4.0.1))
26+
_15 December 2025_ ([Full changelog](https://github.com/finos/perspective/compare/v4.0.0...v4.0.1))
427

528
Features
629

Cargo.lock

Lines changed: 14 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/book.toml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
[book]
1414
authors = ["Andrew Stein"]
1515
language = "en"
16-
multilingual = false
1716
src = "md"
1817
title = "Perspective"
1918

@@ -26,9 +25,7 @@ build-dir = "static/guide"
2625
# preferred-dark-theme = "navy"
2726
# smart-punctuation = true
2827
# mathjax-support = false
29-
copy-fonts = true
3028
git-repository-url = "https://github.com/perspective-dev/perspective"
31-
git-repository-icon = "fa-github"
3229
site-url = "https://perspective-dev.github.io/guide/"
3330
additional-css = [
3431
"md/perspective.css",

docs/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@perspective-dev/docs",
3-
"version": "4.0.1",
3+
"version": "4.1.0",
44
"private": true,
55
"scripts": {
66
"build": "node build.js && docusaurus build",

examples/blocks/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "blocks",
33
"private": true,
4-
"version": "4.0.1",
4+
"version": "4.1.0",
55
"description": "A collection of simple client-side Perspective examples for `http://bl.ocks.org`.",
66
"scripts": {
77
"start": "mkdir -p dist && node --experimental-modules server.mjs",

examples/blocks/src/dataset/layout.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
},
3434
"viewers": {
3535
"PERSPECTIVE_GENERATED_ID_0": {
36-
"version": "4.0.1",
36+
"version": "4.1.0",
3737
"plugin": "Datagrid",
3838
"plugin_config": {
3939
"columns": {},
@@ -64,7 +64,7 @@
6464
"settings": false
6565
},
6666
"PERSPECTIVE_GENERATED_ID_1": {
67-
"version": "4.0.1",
67+
"version": "4.1.0",
6868
"plugin": "Y Area",
6969
"plugin_config": {},
7070
"columns_config": {},
@@ -82,7 +82,7 @@
8282
"aggregates": {}
8383
},
8484
"PERSPECTIVE_GENERATED_ID_2": {
85-
"version": "4.0.1",
85+
"version": "4.1.0",
8686
"plugin": "Y Line",
8787
"plugin_config": {},
8888
"columns_config": {},
411 KB
Loading
46.8 KB
Loading
Lines changed: 19 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
index.html: 48 {
2-
"sizes": [
3-
1
4-
],
1+
{
2+
"sizes": [1],
53
"detail": {
64
"main": {
75
"type": "split-area",
@@ -17,29 +15,23 @@ index.html: 48 {
1715
},
1816
{
1917
"type": "tab-area",
20-
"widgets": [
21-
"PERSPECTIVE_GENERATED_ID_3"
22-
],
18+
"widgets": ["PERSPECTIVE_GENERATED_ID_3"],
2319
"currentIndex": 0
2420
},
2521
{
2622
"type": "tab-area",
27-
"widgets": [
28-
"PERSPECTIVE_GENERATED_ID_2"
29-
],
23+
"widgets": ["PERSPECTIVE_GENERATED_ID_2"],
3024
"currentIndex": 0
3125
}
3226
],
3327
"sizes": [
34-
0.3765432098765432,
35-
0.24691358024691357,
36-
0.3765432098765432
28+
0.3765432098765432, 0.24691358024691357, 0.3765432098765432
3729
]
3830
}
3931
},
4032
"viewers": {
4133
"PERSPECTIVE_GENERATED_ID_0": {
42-
"version": "3.5.0",
34+
"version": "4.1.0",
4335
"plugin": "Datagrid",
4436
"plugin_config": {
4537
"columns": {},
@@ -48,18 +40,9 @@ index.html: 48 {
4840
},
4941
"columns_config": {},
5042
"title": "Sales Report 2",
51-
"group_by": [
52-
"Region",
53-
"State"
54-
],
55-
"split_by": [
56-
"Category",
57-
"Sub-Category"
58-
],
59-
"columns": [
60-
"Sales",
61-
"Profit"
62-
],
43+
"group_by": ["Region", "State"],
44+
"split_by": ["Category", "Sub-Category"],
45+
"columns": ["Sales", "Profit"],
6346
"filter": [],
6447
"sort": [],
6548
"expressions": {},
@@ -68,7 +51,7 @@ index.html: 48 {
6851
"settings": false
6952
},
7053
"PERSPECTIVE_GENERATED_ID_1": {
71-
"version": "3.5.0",
54+
"version": "4.1.0",
7255
"plugin": "Datagrid",
7356
"plugin_config": {
7457
"columns": {},
@@ -110,7 +93,7 @@ index.html: 48 {
11093
"settings": false
11194
},
11295
"PERSPECTIVE_GENERATED_ID_3": {
113-
"version": "3.5.0",
96+
"version": "4.1.0",
11497
"plugin": "Datagrid",
11598
"plugin_config": {
11699
"columns": {},
@@ -119,18 +102,9 @@ index.html: 48 {
119102
},
120103
"columns_config": {},
121104
"title": "Sales Report 2 (*)",
122-
"group_by": [
123-
"Region",
124-
"State"
125-
],
126-
"split_by": [
127-
"Category",
128-
"Sub-Category"
129-
],
130-
"columns": [
131-
"Sales",
132-
"Profit"
133-
],
105+
"group_by": ["Region", "State"],
106+
"split_by": ["Category", "Sub-Category"],
107+
"columns": ["Sales", "Profit"],
134108
"filter": [],
135109
"sort": [],
136110
"expressions": {},
@@ -139,31 +113,20 @@ index.html: 48 {
139113
"settings": false
140114
},
141115
"PERSPECTIVE_GENERATED_ID_2": {
142-
"version": "3.5.0",
116+
"version": "4.1.0",
143117
"plugin": "Treemap",
144118
"plugin_config": {},
145119
"columns_config": {},
146120
"title": "Sales Report (by State)",
147-
"group_by": [
148-
"State"
149-
],
121+
"group_by": ["State"],
150122
"split_by": [],
151-
"columns": [
152-
"Sales",
153-
"Profit",
154-
null
155-
],
123+
"columns": ["Sales", "Profit", null],
156124
"filter": [],
157-
"sort": [
158-
[
159-
"Profit",
160-
"desc"
161-
]
162-
],
125+
"sort": [["Profit", "desc"]],
163126
"expressions": {},
164127
"aggregates": {},
165128
"table": "superstore",
166129
"settings": false
167130
}
168131
}
169-
}
132+
}

examples/esbuild-duckdb-virtual/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "esbuild-duckdb-virtual",
33
"private": true,
4-
"version": "3.8.0",
4+
"version": "4.1.0",
55
"type": "module",
66
"description": "Example of a custom VirtualServer running in a Web Worker",
77
"scripts": {

0 commit comments

Comments
 (0)