oc 0.50.16 → 0.50.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,8 @@
1
1
  ## Change Log
2
2
 
3
+ ### v0.50.17
4
+ - [#1423](https://github.com/opencomponents/oc/pull/1423) extend discovery options, add a way to filter states (experimental/deprecated), and also a way to hide experiments from api even
5
+
3
6
  ### v0.50.16
4
7
  - [#1422](https://github.com/opencomponents/oc/pull/1422) Fix splat path on local static redirector
5
8
 
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "oc-client",
3
3
  "description": "The OpenComponents client-side javascript client",
4
- "version": "0.50.16",
4
+ "version": "0.50.17",
5
5
  "repository": "https://github.com/opencomponents/oc/tree/master/components/oc-client",
6
6
  "author": "Matteo Figus <matteofigus@gmail.com>",
7
7
  "oc": {
@@ -22,14 +22,14 @@
22
22
  ],
23
23
  "dataProvider": {
24
24
  "type": "node.js",
25
- "hashKey": "dad0150b254438ec1d3afe5de326e3af68f174bd",
25
+ "hashKey": "df45c903a400a3de3379c2bbeb31df4a58441078",
26
26
  "src": "server.js",
27
27
  "size": 613
28
28
  }
29
29
  },
30
- "version": "0.50.16",
30
+ "version": "0.50.17",
31
31
  "packaged": true,
32
- "date": 1754030049064
32
+ "date": 1755085352107
33
33
  },
34
34
  "devDependencies": {
35
35
  "oc-template-es6-compiler": "^1.0.1"
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=(t,s)=>{const{staticPath:e,templates:a}=t;return s(null,{staticPath:e,templates:a})},o=(t,s)=>{r(t,(e,a)=>{if(e)return s(e);if(a==null)return s(null,{__oc_emptyResponse:!0});const n=t.action?a:Object.assign({},a,{_staticPath:t.staticPath,_baseUrl:t.baseUrl,_componentName:"oc-client",_componentVersion:"0.50.16"}),c=t.staticPath.indexOf("http")===0?t.staticPath:"https:"+t.staticPath;return s(null,Object.assign({},{component:{key:"8b7545cba94f7c029b9d46108bfe8e4e6040ea09",src:c+"template.js",props:n}}))})};exports.data=o;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=(t,s)=>{const{staticPath:e,templates:a}=t;return s(null,{staticPath:e,templates:a})},o=(t,s)=>{r(t,(e,a)=>{if(e)return s(e);if(a==null)return s(null,{__oc_emptyResponse:!0});const n=t.action?a:Object.assign({},a,{_staticPath:t.staticPath,_baseUrl:t.baseUrl,_componentName:"oc-client",_componentVersion:"0.50.17"}),c=t.staticPath.indexOf("http")===0?t.staticPath:"https:"+t.staticPath;return s(null,Object.assign({},{component:{key:"8b7545cba94f7c029b9d46108bfe8e4e6040ea09",src:c+"template.js",props:n}}))})};exports.data=o;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "oc-client",
3
3
  "description": "The OpenComponents client-side javascript client",
4
- "version": "0.50.16",
4
+ "version": "0.50.17",
5
5
  "repository": "https://github.com/opencomponents/oc/tree/master/components/oc-client",
6
6
  "author": "Matteo Figus <matteofigus@gmail.com>",
7
7
  "oc": {
@@ -1,7 +1,26 @@
1
1
  import { compileSync } from 'oc-client-browser';
2
2
  import type { Config } from '../../types';
3
3
  type CompileOptions = Omit<Exclude<Parameters<typeof compileSync>[0], undefined>, 'templates'>;
4
- export interface RegistryOptions<T = any> extends Partial<Omit<Config<T>, 'beforePublish'>> {
4
+ export interface RegistryOptions<T = any> extends Partial<Omit<Config<T>, 'beforePublish' | 'discovery'>> {
5
+ /**
6
+ * Configuration object to enable/disable the HTML discovery page and the API
7
+ *
8
+ * @default true
9
+ */
10
+ discovery?: {
11
+ /**
12
+ * Enables the HTML discovery page
13
+ *
14
+ * @default true
15
+ */
16
+ ui?: boolean;
17
+ /**
18
+ * Shows experimental components from the API
19
+ *
20
+ * @default true
21
+ */
22
+ experimental?: boolean;
23
+ } | boolean;
5
24
  /**
6
25
  * Public base URL where the registry will be accessible by consumers.
7
26
  * It **must** already include the chosen {@link Config.prefix} and end with a trailing slash.
@@ -71,9 +71,17 @@ function optionsSanitiser(input) {
71
71
  if (!options.verbosity) {
72
72
  options.verbosity = 0;
73
73
  }
74
- if (typeof options.discovery === 'undefined') {
75
- options.discovery = true;
76
- }
74
+ const showUI = typeof options.discovery === 'boolean'
75
+ ? options.discovery
76
+ : (options.discovery?.ui ?? true);
77
+ const showExperimental = typeof options.discovery === 'boolean'
78
+ ? // We keep previous default behavior for backward compatibility
79
+ true
80
+ : (options.discovery?.experimental ?? true);
81
+ options.discovery = {
82
+ ui: showUI,
83
+ experimental: showExperimental
84
+ };
77
85
  if (typeof options.pollingInterval === 'undefined') {
78
86
  options.pollingInterval = 5;
79
87
  }
@@ -5,5 +5,5 @@ type ValidationResult = {
5
5
  isValid: false;
6
6
  message: string;
7
7
  };
8
- export default function registryConfiguration(conf: Partial<Config>): ValidationResult;
8
+ export default function registryConfiguration(conf: Partial<Omit<Config, 'discovery'>>): ValidationResult;
9
9
  export {};
@@ -6,7 +6,7 @@ function discoveryHandler(req, res, next) {
6
6
  res.conf.discoveryFunc ||
7
7
  (typeof res.conf.discovery === 'function' ? res.conf.discovery : undefined);
8
8
  if (res.conf.discoveryFunc) {
9
- res.conf.discovery = res.conf.discoveryFunc({
9
+ res.conf.discovery.ui = res.conf.discoveryFunc({
10
10
  host: req.headers.host,
11
11
  secure: req.secure
12
12
  });
@@ -65,7 +65,7 @@ function componentInfo(err, req, res, component, componentDetail) {
65
65
  return;
66
66
  }
67
67
  const isHtmlRequest = !!req.headers.accept && req.headers.accept.indexOf('text/html') >= 0;
68
- if (isHtmlRequest && !!res.conf.discovery) {
68
+ if (isHtmlRequest && !!res.conf.discovery.ui) {
69
69
  const params = getParams(component);
70
70
  const parsedAuthor = getParsedAuthor(component);
71
71
  let href = res.conf.baseUrl;
@@ -7,7 +7,7 @@ exports.default = dependencies;
7
7
  const get_available_dependencies_1 = __importDefault(require("./helpers/get-available-dependencies"));
8
8
  function dependencies(conf) {
9
9
  return (_req, res) => {
10
- if (res.conf.discovery) {
10
+ if (res.conf.discovery.ui) {
11
11
  const dependencies = (0, get_available_dependencies_1.default)(conf.dependencies).map(({ core, name, version }) => {
12
12
  const dep = {
13
13
  name,
@@ -8,7 +8,7 @@ const get_components_history_1 = __importDefault(require("./helpers/get-componen
8
8
  function history(repository) {
9
9
  return async (_req, res) => {
10
10
  try {
11
- if (res.conf.discovery && !res.conf.local) {
11
+ if (res.conf.discovery.ui && !res.conf.local) {
12
12
  const details = await repository.getComponentsDetails();
13
13
  const componentsHistory = (0, get_components_history_1.default)(details);
14
14
  res.setHeader('Cache-Control', 'public, max-age=600');
@@ -1,3 +1,3 @@
1
- import type { NextFunction, Request, Response } from 'express';
1
+ import type { Request, Response } from 'express';
2
2
  import type { Repository } from '../domain/repository';
3
- export default function (repository: Repository): (req: Request, res: Response, next: NextFunction) => void;
3
+ export default function (repository: Repository): (req: Request, res: Response) => Promise<void>;
@@ -5,14 +5,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.default = default_1;
7
7
  const node_path_1 = __importDefault(require("node:path"));
8
- const async_1 = __importDefault(require("async"));
9
8
  const fs_extra_1 = __importDefault(require("fs-extra"));
10
9
  const parse_author_1 = __importDefault(require("parse-author"));
11
10
  const date_stringify_1 = __importDefault(require("../../utils/date-stringify"));
12
11
  const views_1 = __importDefault(require("../views"));
13
12
  const get_available_dependencies_1 = __importDefault(require("./helpers/get-available-dependencies"));
14
13
  const urlBuilder = require("../domain/url-builder");
15
- const universalify_1 = require("universalify");
16
14
  const packageInfo = fs_extra_1.default.readJsonSync(node_path_1.default.join(__dirname, '..', '..', '..', 'package.json'));
17
15
  const getParsedAuthor = (author) => {
18
16
  author = author || {};
@@ -21,65 +19,69 @@ const getParsedAuthor = (author) => {
21
19
  const mapComponentDetails = (component) => Object.assign(component, { author: getParsedAuthor(component.author) });
22
20
  const isHtmlRequest = (headers) => !!headers.accept && headers.accept.indexOf('text/html') >= 0;
23
21
  function default_1(repository) {
24
- return (req, res, next) => {
25
- (0, universalify_1.fromPromise)(repository.getComponents)((err, components) => {
26
- if (err) {
27
- res.errorDetails = 'cdn not available';
28
- res.status(404).json({ error: res.errorDetails });
29
- return;
22
+ return async (req, res) => {
23
+ let components;
24
+ try {
25
+ components = await repository.getComponents();
26
+ }
27
+ catch {
28
+ res.errorDetails = 'cdn not available';
29
+ res.status(404).json({ error: res.errorDetails });
30
+ return;
31
+ }
32
+ const baseResponse = {
33
+ href: res.conf.baseUrl,
34
+ ocVersion: packageInfo.version,
35
+ type: res.conf.local ? 'oc-registry-local' : 'oc-registry'
36
+ };
37
+ const componentResults = await Promise.all(components.map((component) => repository.getComponent(component, undefined)));
38
+ if (isHtmlRequest(req.headers) && !!res.conf.discovery.ui) {
39
+ const componentsInfo = componentResults.map((result) => {
40
+ if (result.oc?.date) {
41
+ result.oc.stringifiedDate = (0, date_stringify_1.default)(new Date(result.oc.date));
42
+ }
43
+ return mapComponentDetails(result);
44
+ });
45
+ const componentsReleases = componentResults.reduce((sum, result) => sum + result.allVersions.length, 0);
46
+ const stateCounts = {};
47
+ const componentsList = componentsInfo.map((component) => {
48
+ const state = component?.oc?.state || '';
49
+ if (state) {
50
+ stateCounts[state] = (stateCounts[state] || 0) + 1;
51
+ }
52
+ return {
53
+ name: component.name,
54
+ author: component.author,
55
+ state
56
+ };
57
+ });
58
+ componentsInfo.sort((a, b) => a.name.localeCompare(b.name));
59
+ res.send((0, views_1.default)(
60
+ // @ts-ignore existing code relies on runtime merging
61
+ Object.assign(baseResponse, {
62
+ availableDependencies: (0, get_available_dependencies_1.default)(res.conf.dependencies),
63
+ availablePlugins: res.conf.plugins,
64
+ components: componentsInfo,
65
+ componentsReleases,
66
+ componentsList,
67
+ q: req.query['q'] || '',
68
+ stateCounts,
69
+ templates: repository.getTemplatesInfo(),
70
+ title: 'OpenComponents Registry'
71
+ })));
72
+ }
73
+ else {
74
+ const state = req.query['state'] || '';
75
+ let list = componentResults;
76
+ if (!res.conf.discovery.experimental) {
77
+ list = list.filter((component) => component.oc?.state !== 'experimental');
30
78
  }
31
- const baseResponse = {
32
- href: res.conf.baseUrl,
33
- ocVersion: packageInfo.version,
34
- type: res.conf.local ? 'oc-registry-local' : 'oc-registry'
35
- };
36
- if (isHtmlRequest(req.headers) && !!res.conf.discovery) {
37
- let componentsInfo = [];
38
- let componentsReleases = 0;
39
- const stateCounts = {};
40
- async_1.default.each(components, (component, callback) => (0, universalify_1.fromPromise)(repository.getComponent)(component, undefined, (err, result) => {
41
- if (err)
42
- return callback(err);
43
- if (result.oc?.date) {
44
- result.oc.stringifiedDate = (0, date_stringify_1.default)(new Date(result.oc.date));
45
- }
46
- componentsInfo.push(mapComponentDetails(result));
47
- componentsReleases += result.allVersions.length;
48
- callback();
49
- }), (err) => {
50
- if (err)
51
- return next(err);
52
- componentsInfo = componentsInfo.sort((a, b) => a.name.localeCompare(b.name));
53
- res.send((0, views_1.default)(
54
- // @ts-ignore
55
- Object.assign(baseResponse, {
56
- availableDependencies: (0, get_available_dependencies_1.default)(res.conf.dependencies),
57
- availablePlugins: res.conf.plugins,
58
- components: componentsInfo,
59
- componentsReleases,
60
- componentsList: componentsInfo.map((component) => {
61
- const state = component?.oc?.state || '';
62
- if (state) {
63
- stateCounts[state] = (stateCounts[state] || 0) + 1;
64
- }
65
- return {
66
- name: component.name,
67
- author: component.author,
68
- state
69
- };
70
- }),
71
- q: req.query['q'] || '',
72
- stateCounts,
73
- templates: repository.getTemplatesInfo(),
74
- title: 'OpenComponents Registry'
75
- })));
76
- });
79
+ if (state) {
80
+ list = list.filter((component) => component.oc?.state === state);
77
81
  }
78
- else {
79
- res.status(200).json(Object.assign(baseResponse, {
80
- components: components.map((component) => urlBuilder.component(component, res.conf.baseUrl))
81
- }));
82
- }
83
- });
82
+ res.status(200).json(Object.assign(baseResponse, {
83
+ components: list.map((component) => urlBuilder.component(component.name, res.conf.baseUrl))
84
+ }));
85
+ }
84
86
  };
85
87
  }
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = plugins;
4
4
  function plugins(conf) {
5
5
  return (_req, res) => {
6
- if (res.conf.discovery) {
6
+ if (res.conf.discovery.ui) {
7
7
  const plugins = Object.entries(conf.plugins).map(([pluginName, pluginFn]) => ({
8
8
  name: pluginName,
9
9
  description: pluginFn.toString()
package/dist/types.d.ts CHANGED
@@ -193,11 +193,18 @@ export interface Config<T = any> {
193
193
  */
194
194
  dependencies: string[];
195
195
  /**
196
- * Enables the HTML discovery page and `/components` endpoint.
197
- *
198
- * @default true
199
- */
200
- discovery: boolean;
196
+ * Configuration object to enable/disable the HTML discovery page and the API
197
+ */
198
+ discovery: {
199
+ /**
200
+ * Enables the HTML discovery page
201
+ */
202
+ ui: boolean;
203
+ /**
204
+ * Shows experimental components from the API
205
+ */
206
+ experimental: boolean;
207
+ };
201
208
  /**
202
209
  * Function invoked to decide whether discovery should be enabled for the
203
210
  * current request.
package/logintervals.md CHANGED
@@ -1 +1 @@
1
- [{"to":"v0.50.16","from":"v0.50.15"},{"to":"v0.50.15","from":"v0.50.14"},{"to":"v0.50.14","from":"v0.50.13"},{"to":"v0.50.13","from":"v0.50.12"},{"to":"v0.50.12","from":"v0.50.11"},{"to":"v0.50.11","from":"v0.50.10"},{"to":"v0.50.10","from":"v0.50.9"},{"to":"v0.50.9","from":"v0.50.8"},{"to":"v0.50.8","from":"v0.50.7"},{"to":"v0.50.7","from":"v0.50.6"},{"to":"v0.50.6","from":"v0.50.5"},{"to":"v0.50.5","from":"v0.50.4"},{"to":"v0.50.4","from":"v0.50.3"},{"to":"v0.50.3","from":"v0.50.2"},{"to":"v0.50.2","from":"v0.50.1"},{"to":"v0.50.1","from":"v0.50.0"},{"to":"v0.50.0","from":"v0.49.67"},{"to":"v0.49.67","from":"v0.49.66"},{"to":"v0.49.66","from":"v0.49.65"},{"to":"v0.49.65","from":"v0.49.64"},{"to":"v0.49.64","from":"v0.49.63"},{"to":"v0.49.63","from":"v0.49.62"},{"to":"v0.49.62","from":"v0.49.61"},{"to":"v0.49.61","from":"v0.49.60"},{"to":"v0.49.60","from":"v0.49.59"},{"to":"v0.49.59","from":"v0.49.58"},{"to":"v0.49.58","from":"v0.49.57"},{"to":"v0.49.57","from":"v0.49.56"},{"to":"v0.49.56","from":"v0.49.55"},{"to":"v0.49.55","from":"v0.49.54"},{"to":"v0.49.54","from":"v0.49.53"},{"to":"v0.49.53","from":"v0.49.52"},{"to":"v0.49.52","from":"v0.49.51"},{"to":"v0.49.51","from":"v0.49.50"},{"to":"v0.49.50","from":"v0.49.49"},{"to":"v0.49.49","from":"v0.49.48"},{"to":"v0.49.48","from":"v0.49.47"},{"to":"v0.49.47","from":"v0.49.46"},{"to":"v0.49.46","from":"v0.49.45"},{"to":"v0.49.45","from":"v0.49.44"},{"to":"v0.49.44","from":"v0.49.43"},{"to":"v0.49.43","from":"v0.49.42"},{"to":"v0.49.42","from":"v0.49.41"},{"to":"v0.49.41","from":"v0.49.40"},{"to":"v0.49.40","from":"v0.49.39"},{"to":"v0.49.39","from":"v0.49.38"},{"to":"v0.49.38","from":"v0.49.37"},{"to":"v0.49.37","from":"v0.49.36"},{"to":"v0.49.36","from":"v0.49.35"},{"to":"v0.49.35","from":"v0.49.34"},{"to":"v0.49.34","from":"v0.49.32"},{"to":"v0.49.32","from":"v0.49.31"},{"to":"v0.49.31","from":"v0.49.30"},{"to":"v0.49.30","from":"v0.49.29"},{"to":"v0.49.29","from":"v0.49.28"},{"to":"v0.49.28","from":"v0.49.27"},{"to":"v0.49.27","from":"v0.49.26"},{"to":"v0.49.26","from":"v0.49.25"},{"to":"v0.49.25","from":"v0.49.24"},{"to":"v0.49.24","from":"v0.49.23"},{"to":"v0.49.23","from":"v0.49.22"},{"to":"v0.49.22","from":"v0.49.21"},{"to":"v0.49.21","from":"v0.49.20"},{"to":"v0.49.20","from":"v0.49.19"},{"to":"v0.49.19","from":"v0.49.18"},{"to":"v0.49.18","from":"v0.49.17"},{"to":"v0.49.17","from":"v0.49.16"},{"to":"v0.49.16","from":"v0.49.15"},{"to":"v0.49.15","from":"v0.49.14"},{"to":"v0.49.14","from":"v0.49.12"},{"to":"v0.49.12","from":"v0.49.11"},{"to":"v0.49.11","from":"v0.49.9"},{"to":"v0.49.9","from":"v0.49.8"},{"to":"v0.49.8","from":"v0.49.7"},{"to":"v0.49.7","from":"v0.49.6"},{"to":"v0.49.6","from":"v0.49.5"},{"to":"v0.49.5","from":"v0.49.4"},{"to":"v0.49.4","from":"v0.49.3"},{"to":"v0.49.3","from":"v0.49.2"},{"to":"v0.49.2","from":"v0.49.1"},{"to":"v0.49.1","from":"v0.49.0"},{"to":"v0.49.0","from":"v0.48.23"},{"to":"v0.48.23","from":"v0.48.22"},{"to":"v0.48.22","from":"v0.48.21"},{"to":"v0.48.21","from":"v0.48.19"},{"to":"v0.48.19","from":"v0.48.18"},{"to":"v0.48.18","from":"v0.48.17"},{"to":"v0.48.17","from":"v0.48.16"},{"to":"v0.48.16","from":"v0.48.15"},{"to":"v0.48.15","from":"v0.48.14"},{"to":"v0.48.14","from":"v0.48.13"},{"to":"v0.48.13","from":"v0.48.12"},{"to":"v0.48.12","from":"v0.48.11"},{"to":"v0.48.11","from":"v0.48.10"},{"to":"v0.48.10","from":"v0.48.9"},{"to":"v0.48.9","from":"v0.48.7"},{"to":"v0.48.7","from":"v0.48.6"},{"to":"v0.48.6","from":"v0.48.5"},{"to":"v0.48.5","from":"v0.48.4"},{"to":"v0.48.4","from":"v0.48.3"},{"to":"v0.48.3","from":"v0.48.2"},{"to":"v0.48.2","from":"v0.48.1"},{"to":"v0.48.1","from":"v0.48.0"},{"to":"v0.48.0","from":"v0.47.1"},{"to":"v0.47.1","from":"v0.47.0"},{"to":"v0.47.0","from":"v0.46.0"},{"to":"v0.46.0","from":"v0.45.4"},{"to":"v0.45.4","from":"v0.45.3"},{"to":"v0.45.3","from":"v0.45.2"},{"to":"v0.45.2","from":"v0.45.1"},{"to":"v0.45.1","from":"v0.45.0"},{"to":"v0.45.0","from":"v0.44.13"},{"to":"v0.44.13","from":"v0.44.12"},{"to":"v0.44.12","from":"v0.44.11"},{"to":"v0.44.11","from":"v0.44.10"},{"to":"v0.44.10","from":"v0.44.9"},{"to":"v0.44.9","from":"v0.44.8"},{"to":"v0.44.8","from":"v0.44.7"},{"to":"v0.44.7","from":"v0.44.6"},{"to":"v0.44.6","from":"v0.44.5"},{"to":"v0.44.5","from":"v0.44.4"},{"to":"v0.44.4","from":"v0.44.3"},{"to":"v0.44.3","from":"v0.44.2"},{"to":"v0.44.2","from":"v0.44.1"},{"to":"v0.44.1","from":"v0.44.0"},{"to":"v0.44.0","from":"v0.43.2"},{"to":"v0.43.2","from":"v0.43.1"},{"to":"v0.43.1","from":"v0.43.0"},{"to":"v0.43.0","from":"v0.42.26"},{"to":"v0.42.26","from":"v0.42.25"},{"to":"v0.42.25","from":"v0.42.24"},{"to":"v0.42.24","from":"v0.42.23"},{"to":"v0.42.23","from":"v0.42.22"},{"to":"v0.42.22","from":"v0.42.21"},{"to":"v0.42.21","from":"v0.42.20"},{"to":"v0.42.20","from":"v0.42.19"},{"to":"v0.42.19","from":"v0.42.18"},{"to":"v0.42.18","from":"v0.42.17"},{"to":"v0.42.17","from":"v0.42.16"},{"to":"v0.42.16","from":"v0.42.15"},{"to":"v0.42.15","from":"v0.42.14"},{"to":"v0.42.14","from":"v0.42.13"},{"to":"v0.42.13","from":"v0.42.12"},{"to":"v0.42.12","from":"v0.42.10"},{"to":"v0.42.10","from":"v0.42.9"},{"to":"v0.42.9","from":"v0.42.8"},{"to":"v0.42.8","from":"v0.42.7"},{"to":"v0.42.7","from":"v0.42.6"},{"to":"v0.42.6","from":"v0.42.5"},{"to":"v0.42.5","from":"v0.42.4"},{"to":"v0.42.4","from":"v0.42.3"},{"to":"v0.42.3","from":"v0.42.2"},{"to":"v0.42.2","from":"v0.42.1"},{"to":"v0.42.1","from":"v0.42.0"},{"to":"v0.42.0","from":"v0.41.16"},{"to":"v0.41.16","from":"v0.41.15"},{"to":"v0.41.15","from":"v0.41.14"},{"to":"v0.41.14","from":"v0.41.13"},{"to":"v0.41.13","from":"v0.41.12"},{"to":"v0.41.12","from":"v0.41.11"},{"to":"v0.41.11","from":"v0.41.10"},{"to":"v0.41.10","from":"v0.41.9"},{"to":"v0.41.9","from":"v0.41.8"},{"to":"v0.41.8","from":"v0.41.7"},{"to":"v0.41.7","from":"v0.41.6"},{"to":"v0.41.6","from":"v0.41.5"},{"to":"v0.41.5","from":"v0.41.4"},{"to":"v0.41.4","from":"v0.41.3"},{"to":"v0.41.3","from":"v0.41.2"},{"to":"v0.41.2","from":"v0.41.1"},{"to":"v0.41.1","from":"v0.41.0"},{"to":"v0.41.0","from":"v0.40.10"},{"to":"v0.40.10","from":"v0.40.9"},{"to":"v0.40.9","from":"v0.40.8"},{"to":"v0.40.8","from":"v0.40.7"},{"to":"v0.40.7","from":"v0.40.6"},{"to":"v0.40.6","from":"v0.40.5"},{"to":"v0.40.5","from":"v0.40.4"},{"to":"v0.40.4","from":"v0.40.3"},{"to":"v0.40.3","from":"v0.40.2"},{"to":"v0.40.2","from":"v0.40.1"},{"to":"v0.40.1","from":"v0.40.0"},{"to":"v0.40.0","from":"v0.39.8"},{"to":"v0.39.8","from":"v0.39.7"},{"to":"v0.39.7","from":"v0.39.6"},{"to":"v0.39.6","from":"v0.39.5"},{"to":"v0.39.5","from":"v0.39.4"},{"to":"v0.39.4","from":"v0.39.3"},{"to":"v0.39.3","from":"v0.39.2"},{"to":"v0.39.2","from":"v0.39.1"},{"to":"v0.39.1","from":"v0.39.0"},{"to":"v0.39.0","from":"v0.38.8"},{"to":"v0.38.8","from":"v0.38.7"},{"to":"v0.38.7","from":"v0.38.6"},{"to":"v0.38.6","from":"v0.38.5"},{"to":"v0.38.5","from":"v0.38.4"},{"to":"v0.38.4","from":"v0.38.3"},{"to":"v0.38.3","from":"v0.38.2"},{"to":"v0.38.2","from":"v0.38.1"},{"to":"v0.38.1","from":"v0.38.0"},{"to":"v0.38.0","from":"v0.37.11"},{"to":"v0.37.11","from":"v0.37.10"},{"to":"v0.37.10","from":"v0.37.9"},{"to":"v0.37.9","from":"v0.37.8"},{"to":"v0.37.8","from":"v0.37.7"},{"to":"v0.37.7","from":"v0.37.6"},{"to":"v0.37.6","from":"v0.37.5"},{"to":"v0.37.5","from":"v0.37.4"},{"to":"v0.37.4","from":"v0.37.3"},{"to":"v0.37.3","from":"v0.37.2"},{"to":"v0.37.2","from":"v0.37.1"},{"to":"v0.37.1","from":"v0.37.0"},{"to":"v0.37.0","from":"v0.36.28"},{"to":"v0.36.28","from":"v0.36.27"},{"to":"v0.36.27","from":"v0.36.26"},{"to":"v0.36.26","from":"v0.36.25"},{"to":"v0.36.25","from":"v0.36.24"},{"to":"v0.36.24","from":"v0.36.23"},{"to":"v0.36.23","from":"v0.36.22"},{"to":"v0.36.22","from":"v0.36.21"},{"to":"v0.36.21","from":"v0.36.20"},{"to":"v0.36.20","from":"v0.36.19"},{"to":"v0.36.19","from":"v0.36.18"},{"to":"v0.36.18","from":"v0.36.17"},{"to":"v0.36.17","from":"v0.36.16"},{"to":"v0.36.16","from":"v0.36.15"},{"to":"v0.36.15","from":"v0.36.14"},{"to":"v0.36.14","from":"v0.36.13"},{"to":"v0.36.13","from":"v0.36.12"},{"to":"v0.36.12","from":"v0.36.11"},{"to":"v0.36.11","from":"v0.36.10"},{"to":"v0.36.10","from":"v0.36.9"},{"to":"v0.36.9","from":"v0.36.8"},{"to":"v0.36.8","from":"v0.36.7"},{"to":"v0.36.7","from":"v0.36.6"},{"to":"v0.36.6","from":"v0.36.5"},{"to":"v0.36.5","from":"v0.36.4"},{"to":"v0.36.4","from":"v0.36.3"},{"to":"v0.36.3","from":"v0.36.2"},{"to":"v0.36.2","from":"v0.36.1"},{"to":"v0.36.1","from":"v0.36.0"},{"to":"v0.36.0","from":"v0.35.6"},{"to":"v0.35.6","from":"v0.35.5"},{"to":"v0.35.5","from":"v0.35.4"},{"to":"v0.35.4","from":"v0.35.3"},{"to":"v0.35.3","from":"v0.35.2"},{"to":"v0.35.2","from":"v0.35.1"},{"to":"v0.35.1","from":"v0.35.0"},{"to":"v0.35.0","from":"v0.34.8"},{"to":"v0.34.8","from":"v0.34.7"},{"to":"v0.34.7","from":"v0.34.6"},{"to":"v0.34.6","from":"v0.34.5"},{"to":"v0.34.5","from":"v0.34.4"},{"to":"v0.34.4","from":"v0.34.3"},{"to":"v0.34.3","from":"v0.34.2"},{"to":"v0.34.2","from":"v0.34.1"},{"to":"v0.34.1","from":"v0.34.0"},{"to":"v0.34.0","from":"v0.33.31"},{"to":"v0.33.31","from":"v0.33.30"},{"to":"v0.33.30","from":"v0.33.29"},{"to":"v0.33.29","from":"v0.33.28"},{"to":"v0.33.28","from":"v0.33.27"},{"to":"v0.33.27","from":"v0.33.26"},{"to":"v0.33.26","from":"v0.33.25"},{"to":"v0.33.25","from":"v0.33.24"},{"to":"v0.33.24","from":"v0.33.23"},{"to":"v0.33.23","from":"v0.33.22"},{"to":"v0.33.22","from":"v0.33.21"},{"to":"v0.33.21","from":"v0.33.20"},{"to":"v0.33.20","from":"v0.33.19"},{"to":"v0.33.19","from":"v0.33.18"},{"to":"v0.33.18","from":"v0.33.17"},{"to":"v0.33.17","from":"v0.33.16"},{"to":"v0.33.16","from":"v0.33.15"},{"to":"v0.33.15","from":"v0.33.14"},{"to":"v0.33.14","from":"v0.33.13"},{"to":"v0.33.13","from":"v0.33.12"},{"to":"v0.33.12","from":"v0.33.11"},{"to":"v0.33.11","from":"v0.33.10"},{"to":"v0.33.10","from":"v0.33.9"},{"to":"v0.33.9","from":"v0.33.8"},{"to":"v0.33.8","from":"v0.33.7"},{"to":"v0.33.7","from":"v0.33.6"},{"to":"v0.33.6","from":"v0.33.5"},{"to":"v0.33.5","from":"v0.33.4"},{"to":"v0.33.4","from":"v0.33.3"},{"to":"v0.33.3","from":"v0.33.2"},{"to":"v0.33.2","from":"v0.33.1"},{"to":"v0.33.1","from":"v0.33.0"},{"to":"v0.33.0","from":"v0.32.6"},{"to":"v0.32.6","from":"v0.32.5"},{"to":"v0.32.5","from":"v0.32.4"},{"to":"v0.32.4","from":"v0.32.3"},{"to":"v0.32.3","from":"v0.32.2"},{"to":"v0.32.2","from":"v0.32.1"},{"to":"v0.32.1","from":"v0.32.0"},{"to":"v0.32.0","from":"v0.31.2"},{"to":"v0.31.2","from":"v0.31.1"},{"to":"v0.31.1","from":"v0.31.0"},{"to":"v0.31.0","from":"v0.30.9"},{"to":"v0.30.9","from":"v0.30.8"},{"to":"v0.30.8","from":"v0.30.7"},{"to":"v0.30.7","from":"v0.30.6"},{"to":"v0.30.6","from":"v0.30.5"},{"to":"v0.30.5","from":"v0.30.4"},{"to":"v0.30.4","from":"v0.30.3"},{"to":"v0.30.3","from":"v0.30.2"},{"to":"v0.30.2","from":"v0.30.1"},{"to":"v0.30.1","from":"v0.30.0"},{"to":"v0.30.0","from":"v0.29.4"},{"to":"v0.29.4","from":"v0.29.3"},{"to":"v0.29.3","from":"v0.29.2"},{"to":"v0.29.2","from":"v0.29.1"},{"to":"v0.29.1","from":"v0.29.0"},{"to":"v0.29.0","from":"v0.28.9"},{"to":"v0.28.9","from":"v0.28.8"},{"to":"v0.28.8","from":"v0.28.7"},{"to":"v0.28.7","from":"v0.28.6"},{"to":"v0.28.6","from":"v0.28.5"},{"to":"v0.28.5","from":"v0.28.4"},{"to":"v0.28.4","from":"v0.28.3"},{"to":"v0.28.3","from":"v0.28.2"},{"to":"v0.28.2","from":"v0.28.1"},{"to":"v0.28.1","from":"v0.28.0"},{"to":"v0.28.0","from":"v0.27.9"},{"to":"v0.27.9","from":"v0.27.8"},{"to":"v0.27.8","from":"v0.27.7"},{"to":"v0.27.7","from":"v0.27.6"},{"to":"v0.27.6","from":"v0.27.5"},{"to":"v0.27.5","from":"v0.27.4"},{"to":"v0.27.4","from":"v0.27.3"},{"to":"v0.27.3","from":"v0.27.2"},{"to":"v0.27.2","from":"v0.27.1"},{"to":"v0.27.1","from":"v0.27.0"},{"to":"v0.27.0","from":"v0.26.2"},{"to":"v0.26.2","from":"v0.26.1"},{"to":"v0.26.1","from":"v0.26.0"},{"to":"v0.26.0","from":"v0.25.0"},{"to":"v0.25.0","from":"v0.24.1"},{"to":"v0.24.1","from":"v0.24.0"},{"to":"v0.24.0","from":"v0.23.7"},{"to":"v0.23.7","from":"v0.23.6"},{"to":"v0.23.6","from":"v0.23.5"},{"to":"v0.23.5","from":"v0.23.4"},{"to":"v0.23.4","from":"v0.23.3"},{"to":"v0.23.3","from":"v0.23.2"},{"to":"v0.23.2","from":"v0.23.1"},{"to":"v0.23.1","from":"v0.23.0"},{"to":"v0.23.0","from":"v0.22.3"},{"to":"v0.22.3","from":"v0.22.2"},{"to":"v0.22.2","from":"v0.22.1"},{"to":"v0.22.1","from":"v0.22.0"},{"to":"v0.22.0","from":"v0.21.0"},{"to":"v0.21.0","from":"v0.20.5"},{"to":"v0.20.5","from":"v0.20.4"},{"to":"v0.20.4","from":"v0.20.3"},{"to":"v0.20.3","from":"v0.20.2"},{"to":"v0.20.2","from":"v0.20.1"},{"to":"v0.20.1","from":"v0.20.0"},{"to":"v0.20.0","from":"v0.19.5"},{"to":"v0.19.5","from":"v0.19.4"},{"to":"v0.19.4","from":"v0.19.3"},{"to":"v0.19.3","from":"v0.19.2"},{"to":"v0.19.2","from":"v0.19.1"},{"to":"v0.19.1","from":"v0.19.0"},{"to":"v0.19.0","from":"6181a540729a7179d7a9d41489dfc241335cf1b5"}]
1
+ [{"to":"v0.50.17","from":"v0.50.16"},{"to":"v0.50.16","from":"v0.50.15"},{"to":"v0.50.15","from":"v0.50.14"},{"to":"v0.50.14","from":"v0.50.13"},{"to":"v0.50.13","from":"v0.50.12"},{"to":"v0.50.12","from":"v0.50.11"},{"to":"v0.50.11","from":"v0.50.10"},{"to":"v0.50.10","from":"v0.50.9"},{"to":"v0.50.9","from":"v0.50.8"},{"to":"v0.50.8","from":"v0.50.7"},{"to":"v0.50.7","from":"v0.50.6"},{"to":"v0.50.6","from":"v0.50.5"},{"to":"v0.50.5","from":"v0.50.4"},{"to":"v0.50.4","from":"v0.50.3"},{"to":"v0.50.3","from":"v0.50.2"},{"to":"v0.50.2","from":"v0.50.1"},{"to":"v0.50.1","from":"v0.50.0"},{"to":"v0.50.0","from":"v0.49.67"},{"to":"v0.49.67","from":"v0.49.66"},{"to":"v0.49.66","from":"v0.49.65"},{"to":"v0.49.65","from":"v0.49.64"},{"to":"v0.49.64","from":"v0.49.63"},{"to":"v0.49.63","from":"v0.49.62"},{"to":"v0.49.62","from":"v0.49.61"},{"to":"v0.49.61","from":"v0.49.60"},{"to":"v0.49.60","from":"v0.49.59"},{"to":"v0.49.59","from":"v0.49.58"},{"to":"v0.49.58","from":"v0.49.57"},{"to":"v0.49.57","from":"v0.49.56"},{"to":"v0.49.56","from":"v0.49.55"},{"to":"v0.49.55","from":"v0.49.54"},{"to":"v0.49.54","from":"v0.49.53"},{"to":"v0.49.53","from":"v0.49.52"},{"to":"v0.49.52","from":"v0.49.51"},{"to":"v0.49.51","from":"v0.49.50"},{"to":"v0.49.50","from":"v0.49.49"},{"to":"v0.49.49","from":"v0.49.48"},{"to":"v0.49.48","from":"v0.49.47"},{"to":"v0.49.47","from":"v0.49.46"},{"to":"v0.49.46","from":"v0.49.45"},{"to":"v0.49.45","from":"v0.49.44"},{"to":"v0.49.44","from":"v0.49.43"},{"to":"v0.49.43","from":"v0.49.42"},{"to":"v0.49.42","from":"v0.49.41"},{"to":"v0.49.41","from":"v0.49.40"},{"to":"v0.49.40","from":"v0.49.39"},{"to":"v0.49.39","from":"v0.49.38"},{"to":"v0.49.38","from":"v0.49.37"},{"to":"v0.49.37","from":"v0.49.36"},{"to":"v0.49.36","from":"v0.49.35"},{"to":"v0.49.35","from":"v0.49.34"},{"to":"v0.49.34","from":"v0.49.32"},{"to":"v0.49.32","from":"v0.49.31"},{"to":"v0.49.31","from":"v0.49.30"},{"to":"v0.49.30","from":"v0.49.29"},{"to":"v0.49.29","from":"v0.49.28"},{"to":"v0.49.28","from":"v0.49.27"},{"to":"v0.49.27","from":"v0.49.26"},{"to":"v0.49.26","from":"v0.49.25"},{"to":"v0.49.25","from":"v0.49.24"},{"to":"v0.49.24","from":"v0.49.23"},{"to":"v0.49.23","from":"v0.49.22"},{"to":"v0.49.22","from":"v0.49.21"},{"to":"v0.49.21","from":"v0.49.20"},{"to":"v0.49.20","from":"v0.49.19"},{"to":"v0.49.19","from":"v0.49.18"},{"to":"v0.49.18","from":"v0.49.17"},{"to":"v0.49.17","from":"v0.49.16"},{"to":"v0.49.16","from":"v0.49.15"},{"to":"v0.49.15","from":"v0.49.14"},{"to":"v0.49.14","from":"v0.49.12"},{"to":"v0.49.12","from":"v0.49.11"},{"to":"v0.49.11","from":"v0.49.9"},{"to":"v0.49.9","from":"v0.49.8"},{"to":"v0.49.8","from":"v0.49.7"},{"to":"v0.49.7","from":"v0.49.6"},{"to":"v0.49.6","from":"v0.49.5"},{"to":"v0.49.5","from":"v0.49.4"},{"to":"v0.49.4","from":"v0.49.3"},{"to":"v0.49.3","from":"v0.49.2"},{"to":"v0.49.2","from":"v0.49.1"},{"to":"v0.49.1","from":"v0.49.0"},{"to":"v0.49.0","from":"v0.48.23"},{"to":"v0.48.23","from":"v0.48.22"},{"to":"v0.48.22","from":"v0.48.21"},{"to":"v0.48.21","from":"v0.48.19"},{"to":"v0.48.19","from":"v0.48.18"},{"to":"v0.48.18","from":"v0.48.17"},{"to":"v0.48.17","from":"v0.48.16"},{"to":"v0.48.16","from":"v0.48.15"},{"to":"v0.48.15","from":"v0.48.14"},{"to":"v0.48.14","from":"v0.48.13"},{"to":"v0.48.13","from":"v0.48.12"},{"to":"v0.48.12","from":"v0.48.11"},{"to":"v0.48.11","from":"v0.48.10"},{"to":"v0.48.10","from":"v0.48.9"},{"to":"v0.48.9","from":"v0.48.7"},{"to":"v0.48.7","from":"v0.48.6"},{"to":"v0.48.6","from":"v0.48.5"},{"to":"v0.48.5","from":"v0.48.4"},{"to":"v0.48.4","from":"v0.48.3"},{"to":"v0.48.3","from":"v0.48.2"},{"to":"v0.48.2","from":"v0.48.1"},{"to":"v0.48.1","from":"v0.48.0"},{"to":"v0.48.0","from":"v0.47.1"},{"to":"v0.47.1","from":"v0.47.0"},{"to":"v0.47.0","from":"v0.46.0"},{"to":"v0.46.0","from":"v0.45.4"},{"to":"v0.45.4","from":"v0.45.3"},{"to":"v0.45.3","from":"v0.45.2"},{"to":"v0.45.2","from":"v0.45.1"},{"to":"v0.45.1","from":"v0.45.0"},{"to":"v0.45.0","from":"v0.44.13"},{"to":"v0.44.13","from":"v0.44.12"},{"to":"v0.44.12","from":"v0.44.11"},{"to":"v0.44.11","from":"v0.44.10"},{"to":"v0.44.10","from":"v0.44.9"},{"to":"v0.44.9","from":"v0.44.8"},{"to":"v0.44.8","from":"v0.44.7"},{"to":"v0.44.7","from":"v0.44.6"},{"to":"v0.44.6","from":"v0.44.5"},{"to":"v0.44.5","from":"v0.44.4"},{"to":"v0.44.4","from":"v0.44.3"},{"to":"v0.44.3","from":"v0.44.2"},{"to":"v0.44.2","from":"v0.44.1"},{"to":"v0.44.1","from":"v0.44.0"},{"to":"v0.44.0","from":"v0.43.2"},{"to":"v0.43.2","from":"v0.43.1"},{"to":"v0.43.1","from":"v0.43.0"},{"to":"v0.43.0","from":"v0.42.26"},{"to":"v0.42.26","from":"v0.42.25"},{"to":"v0.42.25","from":"v0.42.24"},{"to":"v0.42.24","from":"v0.42.23"},{"to":"v0.42.23","from":"v0.42.22"},{"to":"v0.42.22","from":"v0.42.21"},{"to":"v0.42.21","from":"v0.42.20"},{"to":"v0.42.20","from":"v0.42.19"},{"to":"v0.42.19","from":"v0.42.18"},{"to":"v0.42.18","from":"v0.42.17"},{"to":"v0.42.17","from":"v0.42.16"},{"to":"v0.42.16","from":"v0.42.15"},{"to":"v0.42.15","from":"v0.42.14"},{"to":"v0.42.14","from":"v0.42.13"},{"to":"v0.42.13","from":"v0.42.12"},{"to":"v0.42.12","from":"v0.42.10"},{"to":"v0.42.10","from":"v0.42.9"},{"to":"v0.42.9","from":"v0.42.8"},{"to":"v0.42.8","from":"v0.42.7"},{"to":"v0.42.7","from":"v0.42.6"},{"to":"v0.42.6","from":"v0.42.5"},{"to":"v0.42.5","from":"v0.42.4"},{"to":"v0.42.4","from":"v0.42.3"},{"to":"v0.42.3","from":"v0.42.2"},{"to":"v0.42.2","from":"v0.42.1"},{"to":"v0.42.1","from":"v0.42.0"},{"to":"v0.42.0","from":"v0.41.16"},{"to":"v0.41.16","from":"v0.41.15"},{"to":"v0.41.15","from":"v0.41.14"},{"to":"v0.41.14","from":"v0.41.13"},{"to":"v0.41.13","from":"v0.41.12"},{"to":"v0.41.12","from":"v0.41.11"},{"to":"v0.41.11","from":"v0.41.10"},{"to":"v0.41.10","from":"v0.41.9"},{"to":"v0.41.9","from":"v0.41.8"},{"to":"v0.41.8","from":"v0.41.7"},{"to":"v0.41.7","from":"v0.41.6"},{"to":"v0.41.6","from":"v0.41.5"},{"to":"v0.41.5","from":"v0.41.4"},{"to":"v0.41.4","from":"v0.41.3"},{"to":"v0.41.3","from":"v0.41.2"},{"to":"v0.41.2","from":"v0.41.1"},{"to":"v0.41.1","from":"v0.41.0"},{"to":"v0.41.0","from":"v0.40.10"},{"to":"v0.40.10","from":"v0.40.9"},{"to":"v0.40.9","from":"v0.40.8"},{"to":"v0.40.8","from":"v0.40.7"},{"to":"v0.40.7","from":"v0.40.6"},{"to":"v0.40.6","from":"v0.40.5"},{"to":"v0.40.5","from":"v0.40.4"},{"to":"v0.40.4","from":"v0.40.3"},{"to":"v0.40.3","from":"v0.40.2"},{"to":"v0.40.2","from":"v0.40.1"},{"to":"v0.40.1","from":"v0.40.0"},{"to":"v0.40.0","from":"v0.39.8"},{"to":"v0.39.8","from":"v0.39.7"},{"to":"v0.39.7","from":"v0.39.6"},{"to":"v0.39.6","from":"v0.39.5"},{"to":"v0.39.5","from":"v0.39.4"},{"to":"v0.39.4","from":"v0.39.3"},{"to":"v0.39.3","from":"v0.39.2"},{"to":"v0.39.2","from":"v0.39.1"},{"to":"v0.39.1","from":"v0.39.0"},{"to":"v0.39.0","from":"v0.38.8"},{"to":"v0.38.8","from":"v0.38.7"},{"to":"v0.38.7","from":"v0.38.6"},{"to":"v0.38.6","from":"v0.38.5"},{"to":"v0.38.5","from":"v0.38.4"},{"to":"v0.38.4","from":"v0.38.3"},{"to":"v0.38.3","from":"v0.38.2"},{"to":"v0.38.2","from":"v0.38.1"},{"to":"v0.38.1","from":"v0.38.0"},{"to":"v0.38.0","from":"v0.37.11"},{"to":"v0.37.11","from":"v0.37.10"},{"to":"v0.37.10","from":"v0.37.9"},{"to":"v0.37.9","from":"v0.37.8"},{"to":"v0.37.8","from":"v0.37.7"},{"to":"v0.37.7","from":"v0.37.6"},{"to":"v0.37.6","from":"v0.37.5"},{"to":"v0.37.5","from":"v0.37.4"},{"to":"v0.37.4","from":"v0.37.3"},{"to":"v0.37.3","from":"v0.37.2"},{"to":"v0.37.2","from":"v0.37.1"},{"to":"v0.37.1","from":"v0.37.0"},{"to":"v0.37.0","from":"v0.36.28"},{"to":"v0.36.28","from":"v0.36.27"},{"to":"v0.36.27","from":"v0.36.26"},{"to":"v0.36.26","from":"v0.36.25"},{"to":"v0.36.25","from":"v0.36.24"},{"to":"v0.36.24","from":"v0.36.23"},{"to":"v0.36.23","from":"v0.36.22"},{"to":"v0.36.22","from":"v0.36.21"},{"to":"v0.36.21","from":"v0.36.20"},{"to":"v0.36.20","from":"v0.36.19"},{"to":"v0.36.19","from":"v0.36.18"},{"to":"v0.36.18","from":"v0.36.17"},{"to":"v0.36.17","from":"v0.36.16"},{"to":"v0.36.16","from":"v0.36.15"},{"to":"v0.36.15","from":"v0.36.14"},{"to":"v0.36.14","from":"v0.36.13"},{"to":"v0.36.13","from":"v0.36.12"},{"to":"v0.36.12","from":"v0.36.11"},{"to":"v0.36.11","from":"v0.36.10"},{"to":"v0.36.10","from":"v0.36.9"},{"to":"v0.36.9","from":"v0.36.8"},{"to":"v0.36.8","from":"v0.36.7"},{"to":"v0.36.7","from":"v0.36.6"},{"to":"v0.36.6","from":"v0.36.5"},{"to":"v0.36.5","from":"v0.36.4"},{"to":"v0.36.4","from":"v0.36.3"},{"to":"v0.36.3","from":"v0.36.2"},{"to":"v0.36.2","from":"v0.36.1"},{"to":"v0.36.1","from":"v0.36.0"},{"to":"v0.36.0","from":"v0.35.6"},{"to":"v0.35.6","from":"v0.35.5"},{"to":"v0.35.5","from":"v0.35.4"},{"to":"v0.35.4","from":"v0.35.3"},{"to":"v0.35.3","from":"v0.35.2"},{"to":"v0.35.2","from":"v0.35.1"},{"to":"v0.35.1","from":"v0.35.0"},{"to":"v0.35.0","from":"v0.34.8"},{"to":"v0.34.8","from":"v0.34.7"},{"to":"v0.34.7","from":"v0.34.6"},{"to":"v0.34.6","from":"v0.34.5"},{"to":"v0.34.5","from":"v0.34.4"},{"to":"v0.34.4","from":"v0.34.3"},{"to":"v0.34.3","from":"v0.34.2"},{"to":"v0.34.2","from":"v0.34.1"},{"to":"v0.34.1","from":"v0.34.0"},{"to":"v0.34.0","from":"v0.33.31"},{"to":"v0.33.31","from":"v0.33.30"},{"to":"v0.33.30","from":"v0.33.29"},{"to":"v0.33.29","from":"v0.33.28"},{"to":"v0.33.28","from":"v0.33.27"},{"to":"v0.33.27","from":"v0.33.26"},{"to":"v0.33.26","from":"v0.33.25"},{"to":"v0.33.25","from":"v0.33.24"},{"to":"v0.33.24","from":"v0.33.23"},{"to":"v0.33.23","from":"v0.33.22"},{"to":"v0.33.22","from":"v0.33.21"},{"to":"v0.33.21","from":"v0.33.20"},{"to":"v0.33.20","from":"v0.33.19"},{"to":"v0.33.19","from":"v0.33.18"},{"to":"v0.33.18","from":"v0.33.17"},{"to":"v0.33.17","from":"v0.33.16"},{"to":"v0.33.16","from":"v0.33.15"},{"to":"v0.33.15","from":"v0.33.14"},{"to":"v0.33.14","from":"v0.33.13"},{"to":"v0.33.13","from":"v0.33.12"},{"to":"v0.33.12","from":"v0.33.11"},{"to":"v0.33.11","from":"v0.33.10"},{"to":"v0.33.10","from":"v0.33.9"},{"to":"v0.33.9","from":"v0.33.8"},{"to":"v0.33.8","from":"v0.33.7"},{"to":"v0.33.7","from":"v0.33.6"},{"to":"v0.33.6","from":"v0.33.5"},{"to":"v0.33.5","from":"v0.33.4"},{"to":"v0.33.4","from":"v0.33.3"},{"to":"v0.33.3","from":"v0.33.2"},{"to":"v0.33.2","from":"v0.33.1"},{"to":"v0.33.1","from":"v0.33.0"},{"to":"v0.33.0","from":"v0.32.6"},{"to":"v0.32.6","from":"v0.32.5"},{"to":"v0.32.5","from":"v0.32.4"},{"to":"v0.32.4","from":"v0.32.3"},{"to":"v0.32.3","from":"v0.32.2"},{"to":"v0.32.2","from":"v0.32.1"},{"to":"v0.32.1","from":"v0.32.0"},{"to":"v0.32.0","from":"v0.31.2"},{"to":"v0.31.2","from":"v0.31.1"},{"to":"v0.31.1","from":"v0.31.0"},{"to":"v0.31.0","from":"v0.30.9"},{"to":"v0.30.9","from":"v0.30.8"},{"to":"v0.30.8","from":"v0.30.7"},{"to":"v0.30.7","from":"v0.30.6"},{"to":"v0.30.6","from":"v0.30.5"},{"to":"v0.30.5","from":"v0.30.4"},{"to":"v0.30.4","from":"v0.30.3"},{"to":"v0.30.3","from":"v0.30.2"},{"to":"v0.30.2","from":"v0.30.1"},{"to":"v0.30.1","from":"v0.30.0"},{"to":"v0.30.0","from":"v0.29.4"},{"to":"v0.29.4","from":"v0.29.3"},{"to":"v0.29.3","from":"v0.29.2"},{"to":"v0.29.2","from":"v0.29.1"},{"to":"v0.29.1","from":"v0.29.0"},{"to":"v0.29.0","from":"v0.28.9"},{"to":"v0.28.9","from":"v0.28.8"},{"to":"v0.28.8","from":"v0.28.7"},{"to":"v0.28.7","from":"v0.28.6"},{"to":"v0.28.6","from":"v0.28.5"},{"to":"v0.28.5","from":"v0.28.4"},{"to":"v0.28.4","from":"v0.28.3"},{"to":"v0.28.3","from":"v0.28.2"},{"to":"v0.28.2","from":"v0.28.1"},{"to":"v0.28.1","from":"v0.28.0"},{"to":"v0.28.0","from":"v0.27.9"},{"to":"v0.27.9","from":"v0.27.8"},{"to":"v0.27.8","from":"v0.27.7"},{"to":"v0.27.7","from":"v0.27.6"},{"to":"v0.27.6","from":"v0.27.5"},{"to":"v0.27.5","from":"v0.27.4"},{"to":"v0.27.4","from":"v0.27.3"},{"to":"v0.27.3","from":"v0.27.2"},{"to":"v0.27.2","from":"v0.27.1"},{"to":"v0.27.1","from":"v0.27.0"},{"to":"v0.27.0","from":"v0.26.2"},{"to":"v0.26.2","from":"v0.26.1"},{"to":"v0.26.1","from":"v0.26.0"},{"to":"v0.26.0","from":"v0.25.0"},{"to":"v0.25.0","from":"v0.24.1"},{"to":"v0.24.1","from":"v0.24.0"},{"to":"v0.24.0","from":"v0.23.7"},{"to":"v0.23.7","from":"v0.23.6"},{"to":"v0.23.6","from":"v0.23.5"},{"to":"v0.23.5","from":"v0.23.4"},{"to":"v0.23.4","from":"v0.23.3"},{"to":"v0.23.3","from":"v0.23.2"},{"to":"v0.23.2","from":"v0.23.1"},{"to":"v0.23.1","from":"v0.23.0"},{"to":"v0.23.0","from":"v0.22.3"},{"to":"v0.22.3","from":"v0.22.2"},{"to":"v0.22.2","from":"v0.22.1"},{"to":"v0.22.1","from":"v0.22.0"},{"to":"v0.22.0","from":"v0.21.0"},{"to":"v0.21.0","from":"v0.20.5"},{"to":"v0.20.5","from":"v0.20.4"},{"to":"v0.20.4","from":"v0.20.3"},{"to":"v0.20.3","from":"v0.20.2"},{"to":"v0.20.2","from":"v0.20.1"},{"to":"v0.20.1","from":"v0.20.0"},{"to":"v0.20.0","from":"v0.19.5"},{"to":"v0.19.5","from":"v0.19.4"},{"to":"v0.19.4","from":"v0.19.3"},{"to":"v0.19.3","from":"v0.19.2"},{"to":"v0.19.2","from":"v0.19.1"},{"to":"v0.19.1","from":"v0.19.0"},{"to":"v0.19.0","from":"6181a540729a7179d7a9d41489dfc241335cf1b5"}]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oc",
3
- "version": "0.50.16",
3
+ "version": "0.50.17",
4
4
  "description": "A framework for developing and distributing html components",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",