{"version":3,"sources":["webpack:///./src/pages/docs/version-one-page.mdx"],"names":["_frontmatter","layoutProps","MDXLayout","DefaultLayout","MDXContent","components","props","mdxType","src","parentName","isMDXComponent"],"mappings":"0PAQaA,G,UAAe,S,qNAC5B,IAAMC,EAAc,CAClBD,gBAEIE,EAAYC,IACH,SAASC,EAAT,GAGZ,IAFDC,EAEC,EAFDA,WACGC,EACF,8BACD,OAAO,YAACJ,EAAD,eAAeD,EAAiBK,EAAhC,CAAuCD,WAAYA,EAAYE,QAAQ,cAG5E,iBAAQ,CACN,GAAM,eADR,gBAGA,0TAGA,gIACA,yaAIA,iBAAQ,CACN,GAAM,mBADR,mBAGA,iQAGA,mBAAKC,IAAI,oCACT,uXAKA,mBAAKA,IAAI,2BACT,wKAGA,iBAAQ,CACN,GAAM,OADR,OAGA,8VAIA,sKACyC,6BAAGC,WAAW,KAAQ,CAC3D,KAAQ,mBAD6B,mBADzC,0GAKA,iBAAQ,CACN,GAAM,sBADR,sBAGA,sZAKA,sBACE,kBAAIA,WAAW,MAAf,qCACA,kBAAIA,WAAW,MAAf,2CACA,kBAAIA,WAAW,MAAf,mDACA,kBAAIA,WAAW,MAAf,8BACA,kBAAIA,WAAW,MAAf,sCACA,kBAAIA,WAAW,MAAf,2DACA,kBAAIA,WAAW,MAAf,0DACA,kBAAIA,WAAW,MAAf,mEACA,kBAAIA,WAAW,MAAf,uEACA,kBAAIA,WAAW,MAAf,2CACA,kBAAIA,WAAW,MAAf,kCAEF,iBAAQ,CACN,GAAM,2BADR,4BAGA,qBAAG,sBAAQA,WAAW,KAAnB,kBACH,4FACF,6BAAGA,WAAW,KAAQ,CAChB,KAAQ,+EADd,sBADE,gBAKA,qBAAG,sBAAQA,WAAW,KAAnB,gBACH,sFACI,6BAAGA,WAAW,KAAQ,CACtB,KAAQ,4DADR,gBADJ,W,mNAQJL,EAAWM,gBAAiB","file":"component---src-pages-docs-version-one-page-mdx-afc86396fbbc74d49733.js","sourcesContent":["import * as React from 'react'\n  /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\n\nimport DefaultLayout from \"/Users/srinify/Documents/superset/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n  _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n  components,\n  ...props\n}) {\n  return <MDXLayout {...layoutProps} {...props} components={components} mdxType=\"MDXLayout\">\n\n\n    <h2 {...{\n      \"id\": \"superset-10\"\n    }}>{`Superset 1.0`}</h2>\n    <p>{`Apache Superset 1.0 is a major milestone that the community has been working towards since the\nvery first commit at a hackathon at Airbnb back in 2015. Superset 1.0 packs a lot of new features,\nuplevels usability, holds a higher quality standard, and raises the bar for releases to come.`}</p>\n    <p>{`This page chronicles the key advancements that our community has been building up towards this release.`}</p>\n    <p>{`While growing fast over the past four years, Superset had accumulated a certain amount of technical debt,\ndesign debt, bugs, and idiosyncrasies. For this release, we wanted to pay the bulk of that debt off,\nstreamlining the core user flows, refreshing the overall look and feel, taking off some of the\nscaffolding that was left standing around, and more generally, leveling up the user experience.`}</p>\n    <h2 {...{\n      \"id\": \"user-experience\"\n    }}>{`User Experience`}</h2>\n    <p>{`Visually, Superset 1.0 is stunning, introducing card layouts with thumbnails throughout the application,\nstreamlining navigation and content discovery with a new home page, redesigned menus,\nand generally enriching existing pages.`}</p>\n    <img src=\"/images/dashboard_card_view.jpg\" />\n    <p>{`Behind the scenes, we moved away from Bootstrap 2x in favor of building a\nproper design system on top of Ant Design.\nWe also redesigned all of our CRUD (Create Read Update Delete), moving away\nfrom the rigid scaffolding “auto-magic” provided by FAB (Flask App Builder),\nto our own React-based solution that enables us to build richer experiences.`}</p>\n    <img src=\"/images/explore_ui.jpg\" />\n    <p>{`More generally,\nmany rough edges got buffed, the whole product got polished,\nand we managed to get our core user flows to, well, flow nicely.`}</p>\n    <h2 {...{\n      \"id\": \"api\"\n    }}>{`API`}</h2>\n    <p>{`For engineers and hackers, we’ve made Superset much more modular,\nextensible and integratable. We’re now exposing the building blocks of Superset\nfor engineers to extend or use in other projects. It’s now easier than ever to\ncreate new visualization plugins for Superset and to share those plugins back with the community.`}</p>\n    <p>{` We’re excited by the possibilities that this opens and excited to observe a growing ecosystem of\nplugins take life. We’ve also formalized a `}<a parentName=\"p\" {...{\n        \"href\": \"/docs/rest-api\"\n      }}>{`public REST API`}</a>{` that enables engineers to essentially\ndo everything that users can do in Superset, programmatically.`}</p>\n    <h2 {...{\n      \"id\": \"honorable-mentions\"\n    }}>{`Honorable Mentions`}</h2>\n    <p>{`With 1680 PRs merged and 25+ SIPs (Superset Improvement Proposals) over 2020, it’s hard\nto summarize what went into this release. Improvements happened in all aspects\nof the project, from infrastructure to design, through backend and frontend, to community and\ngovernance. Here are some honorable mentions that we haven’t been covered above,\nbut deserve a mention in this post:`}</p>\n    <ul>\n      <li parentName=\"ul\">{`Asynchronous backend improvements`}</li>\n      <li parentName=\"ul\">{`Metadata and data pane in explorer view`}</li>\n      <li parentName=\"ul\">{`Toolbars redesign (SQL Lab, dashboard, explore)`}</li>\n      <li parentName=\"ul\">{`Date range picker redesign`}</li>\n      <li parentName=\"ul\">{`Various Docker / Helm improvements`}</li>\n      <li parentName=\"ul\">{`Migration of key visualization to plugins using Echarts`}</li>\n      <li parentName=\"ul\">{`Time series forecasting leveraging the Prophet library`}</li>\n      <li parentName=\"ul\">{`Improvements to and extensive use of our feature flag framework`}</li>\n      <li parentName=\"ul\">{`Improved analytics logging, capturing more events more consistently`}</li>\n      <li parentName=\"ul\">{`Exploration control panels improvements`}</li>\n      <li parentName=\"ul\">{`Improved SQL-to-explore flows`}</li>\n    </ul>\n    <h2 {...{\n      \"id\": \"start-using-superset-10\"\n    }}>{`Start Using Superset 1.0`}</h2>\n    <p><strong parentName=\"p\">{`Release Notes`}</strong></p>\n    <p>{`To digest the full set of changes in 1.0, we recommend reading the\n`}<a parentName=\"p\" {...{\n        \"href\": \"https://github.com/apache/superset/tree/master/RELEASING/release-notes-1-0\"\n      }}>{`full Release Notes`}</a>{`\non Github.`}</p>\n    <p><strong parentName=\"p\">{`Source Code`}</strong></p>\n    <p>{`You can download the official ASF release for 1.0 from\ntheir `}<a parentName=\"p\" {...{\n        \"href\": \"https://github.com/apache/superset/tree/master/superset\"\n      }}>{`website here`}</a>{`.`}</p>\n\n    </MDXLayout>;\n}\n;\nMDXContent.isMDXComponent = true;\n      "],"sourceRoot":""}