Skip to content

Commit f7b5dc3

Browse files
authored
🔄 synced changelog with mongodb-ets/charts (#87)
1 parent 3e21565 commit f7b5dc3

File tree

1 file changed

+245
-0
lines changed

1 file changed

+245
-0
lines changed

CHANGELOG.md

Lines changed: 245 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,245 @@
1+
# Changelog
2+
3+
This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
4+
5+
## v3.2.0 (`latest`)
6+
7+
## New
8+
9+
- Set customizations for an embedded chart with `setRenderingSpecOverride` method.
10+
- Set customizations for an embedded chart for the initial render with `renderingSpec` property in `EmbedChartOptions`.
11+
- Get customizations set on an embedded chart with `getRenderingSpecOverride` method.
12+
- Get chart channels for an embedded chart with `getChannels` method.
13+
- Get customizable chart axes for an embedded chart with `getCustomizableAxes` method.
14+
15+
## v3.2.0-beta.1 (`beta`)
16+
17+
## New
18+
19+
- Set customizations for an embedded chart with `setRenderingSpecOverride` method.
20+
- Set customizations for an embedded chart for the initial render with `renderingSpec` property in `EmbedChartOptions`.
21+
- Get customizations set on an embedded chart with `getRenderingSpecOverride` method.
22+
- Get chart channels for an embedded chart with `getChannels` method.
23+
- Get customizable chart axes for an embedded chart with `getCustomizableAxes` method.
24+
25+
## v3.1.0
26+
27+
## Dashboard embedding new methods and embedding options
28+
29+
- Get an image of an embedded dashboard by using the new `getImage()` method to get PNG in `base64` or `binary` encoding
30+
- Get the chart data from an embedded dashboard chart by using the new method `getData()` for dashboard charts
31+
- Added a new `charts` field in the dashboard embedding options for `createDashboard()` that allows you to configure the charts individually in an embedded dashboard. For now, you can specify a different filter for every chart in the embedded dashboard.
32+
33+
## v3.1.0-beta.0
34+
35+
## Dashboard embedding new methods and embedding options
36+
37+
- Get an image of an embedded dashboard by using the new `getImage()` method to get PNG in `base64` or `binary` encoding
38+
- Get the chart data from an embedded dashboard chart by using the new method `getData()` for dashboard charts
39+
- Added a new `charts` field in the dashboard embedding options for `createDashboard()` that allows you to configure the charts individually in an embedded dashboard. For now, you can specify a different filter for every chart in the embedded dashboard.
40+
41+
## v3.0.0
42+
43+
## Breaking Changes
44+
45+
- Minimum `refresh tolerance` when `autoRefresh` is enabled for embedded chart and dashboard is increased from 10 seconds to 60 seconds. Please see [API doc](https://www.npmjs.com/package/@mongodb-js/charts-embed-dom?activeTab=readme#API) for more information under `Refresh Tolerance` section.
46+
- `setFilter` method for embedded chart and dashboard now will only accept a `JavaScript plain object` with valid [query operators](https://www.mongodb.com/docs/manual/reference/operator/query/#query-selectors). If an array is supplied, an exception will be raised.
47+
- The return format of `getFilter` and `getHighlight` methods for embedded chart is updated from EJSON to deserialised EJSON. E.g.`{ beds: {$gt: {$numberInt: '2'}}} ` will now become `{ beds: {$gt: 2}}`.
48+
49+
## New
50+
51+
### Dashboard Embedding
52+
53+
- Dashboard
54+
55+
- You can now set filter on a dashboard level for embedded dashboard through:
56+
- `setFilter` method for embedded dashboard.
57+
- `filter` option during embedded dashboard initialisation
58+
- Added `getFilter` method to retrieve the current filter set to the embedded dashboard
59+
60+
### Chart Embedding
61+
62+
- `getImage` method to get png of the embedded chart in `base64` or `binary` encoding. `Table Chart` is not supported for this method.
63+
64+
## v3.0.0-beta.0
65+
66+
## Breaking Changes
67+
68+
- Minimum `refresh tolerance` when `autoRefresh` is enabled for embedded chart and dashboard is increased from 10 seconds to 60 seconds. Please see [API doc](https://www.npmjs.com/package/@mongodb-js/charts-embed-dom?activeTab=readme#API) for more information under `Refresh Tolerance` section.
69+
- `setFilter` method for embedded chart and dashboard now will only accept a `JavaScript plain object` with valid [query operators](https://www.mongodb.com/docs/manual/reference/operator/query/#query-selectors). If an array is supplied, an exception will be raised.
70+
- The return format of `getFilter` and `getHighlight` methods for embedded chart is updated from EJSON to deserialised EJSON. E.g.`{ beds: {$gt: {$numberInt: '2'}}} ` will now become `{ beds: {$gt: 2}}`.
71+
72+
## New
73+
74+
### Dashboard Embedding
75+
76+
- Dashboard
77+
78+
- You can now set filter on a dashboard level for embedded dashboard through:
79+
- `setFilter` method for embedded dashboard.
80+
- `filter` option during embedded dashboard initialisation
81+
- Added `getFilter` method to retrieve the current filter set to the embedded dashboard
82+
83+
- Dashboard Chart
84+
- N/A
85+
86+
### Chart Embedding
87+
88+
- `getImage` method to get png of the embedded chart in `base64` or `binary` encoding. `Table Chart` is not supported for this method.
89+
90+
## v2.3.1
91+
92+
## Fixed
93+
94+
- Security patch to update `jsonwebtoken` package version to `v9.0.0`.
95+
96+
## v2.3.0
97+
98+
## Dashboard embedding new methods
99+
100+
- Set/Get a filter for a chart in an embedded dashboard.
101+
- `setFilter` and `getFilter` for embedded dashboard charts.
102+
- Set/Get a highlight for a chart in an embedded dashboard.
103+
- `setHighlight` and `getHighlight` for embedded dashboard charts
104+
105+
## Authenticated Embedding
106+
107+
- Add support for authenticated chart and dashboard embedding with [`realm-web`](https://www.npmjs.com/package/realm-web) SDK.
108+
109+
## v2.3.0-beta.2 (`beta`)
110+
111+
### Dashboard embedding new methods
112+
113+
- Set or get a highlight for a chart in an embedded dashboard with the new methods we added - `setHighlight` and `getHighlight` for embedded dashboard charts
114+
115+
### Authenticated embedding
116+
117+
- Added support for authenticated embedding with `realm-web` SDK
118+
119+
## v2.3.0-beta.1
120+
121+
### Dashboard embedding new methods
122+
123+
- Set or get a filter for a chart in an embedded dashboard with the new methods we added - `setFilter` and `getFilter` for embedded dashboard charts.
124+
125+
## v2.2.0
126+
127+
### 🎉 Dashboard embedding
128+
129+
- Embed dashboard in authenticated or unauthenticated way by using `sdk.createDashboard`
130+
131+
### Chart embedding
132+
133+
- Added support for getting chart data via `chart.getData()`
134+
135+
## v2.2.0-beta.2
136+
137+
### Dashboard embedding (beta)
138+
139+
- Added functionality to embed dashboard
140+
141+
## v2.1.0
142+
143+
### 🎉 Interactive click events and applying chart highlights
144+
145+
- Subscribe to click events on an embedded chart using `chart.addEventListener`. The `payload`
146+
parameter in the event callback contains details on the chart element clicked.
147+
- Apply a highlight on an embedded chart using `chart.setHighlight`
148+
149+
### 🛠 Performance Improvements
150+
151+
- Improved performance for authenticated embedded charts, by eliminating redundant API calls.
152+
153+
## v2.1.0-beta.1
154+
155+
### Interactive click events (beta)
156+
157+
- Added the ability to filter click events by role to ensure the "hand" mouse cursor only appears over interactive elements.
158+
159+
### Performance Improvements
160+
161+
- Improved performance for authenticated embedded charts, by eliminating redundant API calls.
162+
163+
## v2.0.1
164+
165+
### Bug fixes
166+
167+
- fix: Publish the UMD bundle of `@mongodb-js/charts-embed-dom` that was mistakenly omitted from the `v2.0.0` release.
168+
169+
## v2.0.0
170+
171+
### Breaking Changes
172+
173+
Changed the [Content-Security-Policy (CSP)](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy) of the `iframe` created by the SDK to include the following `sandbox` directive flags:
174+
175+
- **`allow-popups`**: Allows popups to function (eg: `window.open`, `target="_blank"`).
176+
- **`allow-popups-to-escape-sandbox`**: Allows a sandboxed document to open new windows without forcing the sandboxing flags upon them.
177+
178+
This change fixes the issue that prevented hyperlinks within the `iframe` document from opening a new tab/window. While this change does not change an explicit SDK API, it does change the implicit behaviour of the security model, and therefore warranted a major version bump.
179+
180+
## v1.2.0-beta.1
181+
182+
### Interactive click events (beta)
183+
184+
- Subscribe to click events on a chart using `chart.addEventListener('click', eventHandler);` The `payload`
185+
parameter in the event callback contains details on the chart element clicked. In this beta release, not
186+
all chart types are supported, and the payload format is subject to change.
187+
188+
## v1.1.3
189+
190+
### Bug Fixes
191+
192+
- Fixed an issue (#14) where types for `mongodb-stitch-browser-sdk` were missing causing builds with TSC to fail.
193+
194+
## v1.1.2
195+
196+
### Improved API Documentation
197+
198+
In this release, we've added generated API docs to the NPM package bundle in the `docs` folder. We've also corrected some minor typos and omissions in the README.
199+
200+
### Bug Fixes
201+
202+
- We fixed a minor bug in the `maxAgeData` prop where it would ignore when the prop was set to `0`. This resulted in cached data still being served to the client.
203+
204+
## v1.1.1
205+
206+
### Improved Rollup documentation
207+
208+
We've now added an example `rollup.config.js` to the package README to help Rollup users get started with the SDK.
209+
210+
## v1.1.0
211+
212+
### Chart Caching Support
213+
214+
In the latest Charts cloud release, we’ve given developers more control over the caching and refresh behaviour, which can improve performance and user experience. The new `maxDataAge` option allows you to specify when data should be retrieved from the cache or re-queried from the database. This can also be combined with the `autoRefresh` option to ensure charts are always kept current.
215+
216+
Note: as part of this change, we have deprecated the `refreshInterval` property, as the same functionality is accessible through the new `autoRefresh` and `maxDataAge` properties.
217+
218+
### Minor fixes
219+
220+
- Moved `ts-node` to a dev-dependency
221+
222+
## v1.0.0
223+
224+
### Highlights
225+
226+
- 🎉 First release of the Charts Embedding SDK
227+
- 🛠 Dynamically set the current theme, refresh interval, and filter
228+
- 🔒 Support for embedding authentication providers (Custom / Realm / Google)
229+
230+
### 🎉 First release of the Charts Embedding SDK
231+
232+
We're excited to show you the first v1.0.0 release of the embedding SDK. For comprehensive documentation and guides, head on over to https://github.com/mongodb-js/charts-embed-sdk, or https://docs.mongodb.com/charts/master/embedding-charts-sdk/.
233+
234+
### 🛠 Embedding SDK Commands
235+
236+
The SDK unlocks interactivity in your charts that simply wasn't possible with IFrame embedding.
237+
238+
- You can now dynamically toggle between dark mode using `setTheme`
239+
- Adjust how frequently your chart refreshes using `setRefreshInterval`
240+
- Control what data is shown in your chart using `setFilter`
241+
242+
### 🔒 Support for Embedding Authentication Providers
243+
244+
You can now control who can view your embedded charts by enabling authenticated embedding. With this setting enabled, you will need to pass in a function to `getUserToken` that returns a JWT with claims
245+
representing the user attempting to view the Chart. For more information, check out our authenticated embedding example here: https://github.com/mongodb-js/charts-embed-sdk/tree/master/examples/charts/authenticated-custom-jwt

0 commit comments

Comments
 (0)