Skip to content

v3

Compare
Choose a tag to compare
@hatemhosny hatemhosny released this 13 May 04:09
· 1572 commits to develop since this release
92f0161

3 (2023-05-13)

Bug Fixes

  • add config imports to importmap (63090d7)
  • API: allow API to set full Config not just ContentConfig (69ff21d)
  • app: add es-module-shims to app.html (2c27485)
  • app: avoid unnecessary run before importing external content (d9d0499)
  • app: do not load defaults (template/last used language) if language is specified in query params (1c8da65)
  • app: fix export all sorting (bbbaef8)
  • app: fix loading user config (fab4976)
  • app: fix security issues and unify UI (c6e74fe)
  • app: if mode is codeblock, set config as readonly (b972879)
  • app: import external content on loading config (4328d53)
  • backup: handle the case of selecting no stores to backup (754e6b7)
  • cjs2esm (cb609f2)
  • clean css duplicates (d3873ef)
  • compilers: fix diagrams compiler errors (e5449a2)
  • compilers: fix loading rich text projects (ce3c894)
  • config: remove duplicates in config properties (89e2a22)
  • editor: fix codeblock and show line numbers (093830a)
  • editor: fix losing focus on format (cc51883)
  • editor: fix losing types on language change (cd88f67)
  • editor: fix overriding monaco autocomplete overlay style (28be0fd)
  • embed: avoid changing browser history in embeds (8d1e21e)
  • embed: fix logo link in result mode (52b9466)
  • fix type imports (d0fbf68)
  • hide duplicate tags (from sync) (e60f162)
  • inject css to fix FOUT in index.html (4ceaf98)
  • move from UserData to AppData (2ad2dc0)
  • npm-package: fix loading config object (663941c)
  • postMessage origin for loading default template (23cc869)
  • result: fix converting require if used as method (99c587a)
  • result: fix result flush (d74a759)
  • result: remove messaging script from result in exports (e7415e0)
  • SDK: prevent react SDK from rerendering (d265d2a)
  • services: fix share service (67fe70a)
  • sync: do not re-download unchanged remote sync data (1a56d48)
  • sync: fix sync (cache and encoding) (feec8d5)
  • templates: fix loading starter template from unsaved project (2f09967)
  • tests: fix chai assertion messages by imorting chai from jsdelivr(+esm) (0b9cef0)
  • tools: fix firing onActivate on resizing tools pane (6e26981)
  • UI: disable autofocus in embeds (b009f74)
  • UI: fix focus on hidden editors (2453121)
  • UI: fix logo link (b72ce80)
  • UI: fix logo link (7bbebe1)
  • UI: fix multi-column submenu (70b7e05)
  • UI: fix settings menu external resources handler (9bbd933)
  • UI: remove formatting on paste to project title (198e2b8)
  • web: fix show code styles (b714e4f)

Features

  • API: add params to EmbedOptions (c084b3f)
  • API: add API method destroy (c7a0d5b)
  • API: add API method onChange (0e39347)
  • API: allow going to specific line and column from API (a3740c9)
  • API: allow running tests from API (9917095)
  • API: API watch changes (9488ea1)
  • API: load from API (3e18357)
  • API: load on scroll (e81ee4a)
  • API: show panes from API (a53da9f)
  • app: add detectLanguage utility function (251bcc7)
  • app: add pub/sub (567c514)
  • app: allow adding local files as assets (e12d249)
  • app: allow partial matching in search (84e3c35)
  • app: emit change events (8c025a9)
  • app: sandbox app iframe (cbf2aad)
  • app: type-safe query params (ccf533e)
  • assets: deploy assets to GitHub Pages (13c833a)
  • backup: backup/restore UI (WIP) (10c8f39)
  • backup: implement backup (1804557)
  • backup: implement restore (d71804c)
  • broadcast: broadcast playground state (4f394f4)
  • broadcast: broadcast result page and code to API (78b1f7e)
  • broadcast: inform the server that broadcast has stopped (f0bfba4)
  • broadcast: provide a default broadcast service (7023091)
  • broadcast: show broadcast status button in toolbar (5693244)
  • broadcast: use channelToken (9ded492)
  • compiled: show python (brython) compiled code (61fd514)
  • compilers: add support for UnoCSS (53e66d6)
  • compilers: add Clang compiler for C/C++ (040bb2e)
  • compilers: add elkjs in diagram (56c8630)
  • compilers: add mjml language support (70562b2)
  • compilers: add R language support (0747b71)
  • compilers: add R language support (e3dca42)
  • compilers: add support for art-template (95da5fc)
  • compilers: add support for C++ (d003ea5)
  • compilers: add support for Clio (8b4c4d9)
  • compilers: add support for common lisp (f2efeb1)
  • compilers: add support for cytoscape in diagram (a9b1322)
  • compilers: add support for Eta (1d1624d)
  • compilers: add support for Fennel language (764aecd)
  • compilers: add support for flow (6edbabe)
  • compilers: add support for Gnuplot (e9acf92)
  • compilers: add support for graphviz (05da2fd)
  • compilers: add support for imba (f375c10)
  • compilers: add support for Julia (52d7ff0)
  • compilers: add support for Lightning CSS (0d7bfe4)
  • compilers: add support for Mustache (ae12f3d)
  • compilers: add support for nomnoml (504075f)
  • compilers: add support for plotly (cb408be)
  • compilers: add support for Prolog using Tau Prolog (8721824)
  • compilers: add support for Stylis (9865f44)
  • compilers: add support for Sucrase (60b7e37)
  • compilers: add support for svgbob (6854d3b)
  • compilers: add support for Tcl (7786b8c)
  • compilers: add support for Token CSS (00c8930)
  • compilers: add support for vega and vega-lite (fa0570f)
  • compilers: add support for wavedrom (3a0f3e8)
  • compilers: add Teal language support (82c6644)
  • compilers: allow compilers to return additional data compileInfo (2ff9353)
  • compilers: commonjs support (87757d5)
  • compilers: diagrams runOrContinue (4635ece)
  • compilers: import css (including css modules) from script (db3160f)
  • compilers: reload the compiler sandbox page on repeated failure to load compiler (3791fb9)
  • compilers: retry loading compiler on error (c0c3dfd)
  • compilers: rich text editor for markup (using quill.js) (e415f90)
  • compilers: upgrade mdx to v2.0 (438a0da)
  • compilers: use dart-sass instead of sass.js (313ebb3)
  • config: add zoom to config (1cd7973)
  • config: allow setting enabled tools and status from query param tools (4796ba0)
  • config: collect tools config under config.tools (c02ef9c)
  • config: improve merging config from external content (b5e4bf6)
  • config: improve tools config (status) (3a6f9e3)
  • console: clear console on result update (c7b47c0)
  • CSS Presets: move CSS preset UI from app menu to external resources screen (a052c8e)
  • CSS Presets: remove github-markdown-css and asciidoctor.css from css presets (88b4391)
  • deploy: save project deploy repo (b43126c)
  • editor-settings: add editor settings UI (9187ad2)
  • editor-settings: add more fonts (ed5bd18)
  • editor-settings: allow changing editor fonts (d728238)
  • editor: add closeBrackets to editor settings (14008c5)
  • editor: add codejar key bindings (f90bae8)
  • editor: add codemirror-lang-vue (cbc7e2d)
  • editor: add monaco support for wat (97222be)
  • editor: add vim and emacs modes to monaco (75ad047)
  • editor: allow configuring editor settings (df03806)
  • editor: allow users to add custom types (b466a73)
  • editor: create fake editor for use when mode=result (478f280)
  • editor: enable custom editor commands (e.g. keyboard shortcuts) (1ff4b9e)
  • editor: enable emmet for more languages (9b2d6cc)
  • editor: goToLine in code editors (f9b5ac7)
  • editor: italic comments (d40ecdd)
  • editor: upgrade codemirror to v6 (38bf731)
  • editor: use codejar as editor instead of prism (acd72a6)
  • editor: use configurable codemirror basic setup (078b7df)
  • editor: use official emmet plugin for codemirror (b765023)
  • embed: add embed preview (fdf9aa0)
  • embed: add react and vue SDKs to embed screen (2f6eef4)
  • embed: add UI for creating embeds (1c6cbe8)
  • embed: allow full screen for embeds (5e3e54e)
  • embed: allow selecting active editor in embed UI (b1e26a6)
  • embed: change embed option click-to-load to loading (032e1b1)
  • embed: click to load embeds (3c76ff8)
  • embed: create a lite build (50874c0)
  • embed: do not allow access to storage and auth from embeds (2961f70)
  • embed: embed as html code in DOM (ef70847)
  • embed: rename view mode editor,result to split (4ffeeed)
  • embed: set as embed if loaded in iframe (b60e92a)
  • embed: show embed preview (d3fc4f1)
  • embed: use codejar in lite mode (63d72c4)
  • export-share: allow codepen export for unsupported languages (957f698)
  • export-share: improve QR code UI (68dd329)
  • export-share: share using QR code (34d1eb7)
  • formatter: add formatter for common lisp and scheme (a4786c9)
  • formatter: add lua formatter (84f273f)
  • formatter: add sql formatter (2c9b0f5)
  • functions: add server-side analytics (3ee4fdc)
  • import: allow importing code from local files (5fb211a)
  • import: allow importing code in zip file from UI (14d8a5c)
  • import: allow importing code in zip file from url (d528022)
  • import: import from CodePen (9cc82bf)
  • import: import test file (f166b29)
  • import: support esm imports for deno modules (c062560)
  • import: support esm imports from github/gitlab/bitbucket/rawgit (0443f14)
  • import: use language paramSelectors for DOM import (aa43694)
  • import: use querystring x instead of hash for imports (5257994)
  • npm-package: add view to EmbedOptions (cc707ed)
  • npm-package: add library for embeds (c94ccb2)
  • npm-package: allow using lite mode in library EmbedOptions (6cb97f9)
  • npm-package: rename EmbedOptions['importUrl'] to EmbedOptions['import'] (16507ec)
  • resources: allow adding google fonts in external resources (18c03e1)
  • resources: search packages (20a6af6)
  • result: add custom settings to enable/disable mapping imports and commonjs (4748dc9)
  • result: allow adding head content and html classes to result page (7ce6ddd)
  • result: allow showing spacing in result page (d3692ed)
  • result: allow users to add custom imports (0fd471c)
  • result: auto-update result popup (ea6fbf1)
  • result: import from './script' (d538c7c)
  • result: import from './script' (5e1f250)
  • result: improve result display mode (7bb0d59)
  • result: show result in new window (95f26d0)
  • result: support bare modules in dynamic imports (91ba4f6)
  • result: use type="module" in module scripts (1604082)
  • SDK: add react SDK (a8f5822)
  • SDK: add react SDK (ba275dd)
  • SDK: add types for vue SDK (27a0592)
  • SDK: add types for vue SDK (ae79a55)
  • SDK: add vue SDK (eb55c90)
  • SDK: add vue SDK (7bcabb4)
  • SDK: allow accessing the Playground API from react SDK (4495476)
  • SDK: allow accessing the Playground API from react SDK (a96ad03)
  • SDK: allow accessing the Playground API from vue SDK (8db0abc)
  • SDK: allow accessing the Playground API from vue SDK (7e4f43f)
  • SDK: apply default styles in JS/TS SDK (75c7e90)
  • services: add cors service for non-allowed origins (b744588)
  • services: add jsdelivr package info service (9438e04)
  • services: allow setting defaultCDN in config.customSettings (5da02aa)
  • services: support importing modules from github, gitlab and bitbucket via githack (778b3ec)
  • services: use api non-expiring share service (f2b3593)
  • snippets: add code snippets (120dabe)
  • storage: allow subscription to changes in storage (e824571)
  • storage: load last used language (e9e10eb)
  • storage: preserve user data across logout/login (31856b1)
  • storage: Request persistent storage (88a6b19)
  • storage: user-specific stores (e1c936e)
  • Stories: add storybook (524d898)
  • Stories: add storybook controls for config and embed options (86799ec)
  • sync: communicate with SimpleStorage from web worker (e6d9192)
  • sync: implement autosync (2b811d3)
  • sync: show sync status (bbaf924)
  • templates: add javascript starter template (7b39c96)
  • templates: add jest and jest/react starter templates (43312b2)
  • templates: add Julia starter template (e3aeeae)
  • templates: add ocaml starter template (f34d800)
  • templates: add reason starter template (426b06f)
  • templates: load default template (4fd2925)
  • templates: UI for selecting default template (748ce28)
  • templates: upgrade react starter template to v18 (2bbc595)
  • templates: use signals in preact template (4c92f7f)
  • tests: add user tests to toolspane (e54f2d8)
  • tests: add user tests to toolspane (326bca1)
  • tests: allow using chai assertions in tests (dc1a630)
  • tests: compile user tests and map imports (6ff5df6)
  • tests: compile user tests and map imports (c7e0013)
  • tests: watch tests (bb1823a)
  • tests: watch tests (93e13fb)
  • tools: add zoom button (59e3491)
  • tools: enable/disable tools in runtime (a5518e4)
  • UI: add close button for modals (2ff3303)
  • UI: add editor toolbar with buttons for common tasks (6fed698)
  • UI: add External Resources button to editor tools bar (2ca095d)
  • UI: allow setting default view (via querystring view) to editor or result (c54cf90)
  • UI: allow setting delay from app menu (bf8e7c8)
  • UI: change 404 image (bf89f44)
  • UI: close modal on pressing Esc keyboard shortcut (3a932ea)
  • UI: decrease tools pane buttons padding to allow more space (16bc167)
  • UI: highlight selected language menu item (83f73bb)
  • UI: improve copy button UI (97a8ea0)
  • UI: improve menus layout (0117141)
  • UI: notify user when downloading a large compiler (46f768c)
  • UI: show backup/restore in progress message (d13c4d3)
  • UI: show URL length in share screen (35bd0d5)
  • UI: use thin scrollbar (6fb2d48)
  • web: add OpenCode component (57ac7fc)
  • web: add 404 page (4cbf3ad)
  • web: add code sample to homepage (03d3963)
  • web: add docs website (9cb490a)
  • web: add Examples section (a1f9422)
  • web: add link to starter templates on homepage (4f7618c)
  • web: build website home page (f07a13a)
  • web: format code samples (168dacc)
  • web: show code for LiveCodes embed (0dd9205)
  • welcome: add recent starter templates to welcome screen (97cf8b8)
  • welcome: allow project recover from welcome screen (15b6aff)
  • welcome: hide recover section after save or cancel (a2c3bcc)
  • welcome: improve welcome screen UI (391438c)
  • welcome: show recent projects in welcome screen (52ee33a)
  • welcome: show welcome screen (1b34de9)

Performance Improvements

  • app: lazy load deploy UI (6841e1e)
  • app: lazy load import UI (02c1f23)
  • app: lazy load open (saved projects) screen (cf6dc87)
  • app: lazy load share UI (e18559a)
  • app: lazy-load export (404e534)
  • compilers: improve tree-shaking (d5e173b)
  • compilers: lazy load assemblyscript (77f61a3)
  • compilers: lazy load astro compiler (fb37aee)
  • compilers: lazy load clang (03cda20)
  • compilers: lazy load clio compiler (3638a36)
  • compilers: lazy load commonlisp (b9a24ac)
  • compilers: lazy load cpp (a0e0852)
  • compilers: lazy load haml (fdb7d0c)
  • compilers: lazy load handlebars (e36dea5)
  • compilers: lazy load julia (31e5ba9)
  • compilers: lazy load liquid (8411b6f)
  • compilers: lazy load malina (12c4601)
  • compilers: lazy load mdx (48db0b0)
  • compilers: lazy load mdx (505218f)
  • compilers: lazy load mustache (8b93bd3)
  • compilers: lazy load nunjucks (88351a0)
  • compilers: lazy load perl (bc07048)
  • compilers: lazy load processors (09bcaaa)
  • compilers: lazy load prolog (01340f3)
  • compilers: lazy load pug (f01941c)
  • compilers: lazy load pyodide (3853603)
  • compilers: lazy load rescript (908eafc)
  • compilers: lazy load riot (febae85)
  • compilers: lazy load scss (93fbd01)
  • compilers: lazy load solid (a7a0764)
  • compilers: lazy load sql (ab3b613)
  • compilers: lazy load svelte (73012d7)
  • compilers: lazy load tcl (6414732)
  • compilers: lazy load twig (44dbf3b)
  • compilers: lazy load vue (61c453a)
  • compilers: lazy load wat (3f88792)
  • compilers: rename graph to diagram and lazy load it (85a27f9)
  • compilers: run Fennel compiler in web worker (f8933ef)
  • editor: asynchronously highlight code in codejar (8b3343f)
  • editor: lazy-load codemirror languages and extensions (6636b08)
  • editor: lazy-load custom monaco languages (76369d3)
  • editor: lazy-load prism languages (b95c55b)
  • editor: remove language specs from editor bundles (5f486a5)
  • editor: use CodeJar/Prism by default when readonly (2736a93)
  • embed: preload script (24da929)
  • functions: cache versioned files (b349cc5)
  • sync: compress sync files (dc59a91)
  • sync: move sync to web worker (cad2123)
  • templates: load diagrams template markup from contentUrl (827c06d)

Reverts

  • Revert "build: upgrade storybook to v7" (89b8b54)
  • Revert "fix mdx" (0c3aaae)
  • Revert "build(editor): load monaco from CDN" (cd09133)