Skip to content

Latest commit

 

History

History
1871 lines (1582 loc) · 205 KB

CHANGELOG.md

File metadata and controls

1871 lines (1582 loc) · 205 KB

Changelog

All notable changes to this project will be documented in this file. See standard-version for commit guidelines.


v29 (2024-05-15)

Highlights for this release:

  • Add TypeScript twoslash support in monaco editor. This works in JS, TS, JSX and TSX. See docs.
  • Change the way TypeScript types are loaded using Automatic Type Acquisition (ATA) to overcome some edge cases.
  • Use same typescript version for editor and compiler (currently v5.4.5).

in addition to other improvements and fixes listed below.

Bug Fixes

  • Compilers: add rest of official gleam modules (903e32b)
  • prevent using AMD when building (e.g. lz-string) (f4f7154)
  • ToolsPane: fix show test results in projects with no tests (0f1b25b)
  • ToolsPane: fix unnecessarily changing language of compiled code editor (4b0f023)
  • ToolsPane: hide loading spinner when tests complete (db1c7fc)
  • Types: fix type loader (cfbdec4)
  • Types: fix types in test editor (874f2ee)

Features

  • Editor: add twoslash support in monaco editor (b024c84)
  • Editor: use same typescript version for editor and compiler (9d65622)
  • Modules: add more CDNs (616bae7)
  • Types: enable Automatic Type Acquisition (ATA) for Monaco editor (1f2ab60)

v28 (2024-04-24)

Highlights for this release:

  • Add support for Gleam language: starter template - docs
  • Enable AI code completion on mobile editor (codemirror) - (experimental)
  • Upgrade monaco editor to v0.48.0, TypeScript compiler to v5.4.5, and prettier formatter to v3.2.5

Bug Fixes

  • Types: fix type bundler for subpaths (f4d88e1)

Features

  • App: upgrade monaco editor to v0.48.0 (88253f9)
  • Compilers: add support for gleam language (a1bb21e)
  • Compilers: allow gleam code to use npm modules without import maps (52a269a)
  • Compilers: allow loading custom gleam modules (cf13102)
  • Compilers: dynamically load gleam stdlib (9352da4)
  • Compilers: make official gleam packages available by default (5aed5ea)
  • Compilers: upgrade TypeScript to v5.4.5 (0d020ef)
  • Editor: enable AI code completion for codemirror (ac2c6f3)
  • Formatter: upgrade prettier to v3.2.5 (bf0ee4f)
  • Import-maps: allow config imports to override auto-generated user imports (e87018f)
  • Templates: add gleam starter template (cc57e38)

v27 (2024-04-17)

Highlights for this release:

In addition to many other improvements and bug fixes:

Bug Fixes

  • App: fix ?view=result when loading external content (1314202)
  • App: fix popup window failing to use importmap (52b0e48)
  • compilers: change python-wasm default extension to wasm.py (db7f5c4)
  • Deploy: fix deploy for runtime languages with code in custom script block (use single file) (6caf303)
  • Import: fix import deployed projects (1877959)
  • Import: fix importing for github dir name with spaces (620898b)
  • UI: improve settings menu layout (fd5f243)

Features

  • Compilers: add support for PostgreSQL (1a49363)
  • compilers: allow compiler factory to be async (d76b351)
  • Config: make Config.tools fields optional (42342a7)
  • Deploy: add link to deploy status (8c49c58)
  • Import: load linked assets when importing from GitHub (bf0660d)
  • Modes: add focus mode (3608df4)
  • Modes: add simple mode (6690806)
  • SDK: allow the SDK watch method to watch for changes to external resources (a2aabf7)
  • SDK: allow the SDK watch method to watch for changes to processors (f23c848)
  • ToolsPane: show indicator for console output (eaa33de)
  • UI: allow changing layout horizontal/vertical (df3796f)
  • UI: make app menu responsive (46b7580)
  • UI: remove load buttons from screens. (94ee5d6)

sdk-v0.5.0 (2024-04-16)

  • Config: make Config.tools fields optional (42342a7)
  • Modes: add focus mode (3608df4)
  • Modes: add simple mode (6690806)
  • SDK: allow the SDK watch method to watch for changes to external resources (a2aabf7)
  • SDK: allow the SDK watch method to watch for changes to processors (f23c848)
  • UI: allow changing layout horizontal/vertical (df3796f)

v26 (2024-03-04)

Bug Fixes

  • Editor: revert css nesting workaround (66bd226)
  • Embed: fix embed UI code snippets (e01315e)
  • UI: fix toolspane double-click (3114e6c)

Features

  • compilers: upgrade markedjs (7555c4a)
  • Editor: add Monaspace font (434ba96)

v25 (2024-03-01)

Most notable changes in this release:

  • Adds support for JSR, the new JavaScript package registry, using esm.sh. Use the prefix jsr: in imports.

    Example:

    import { yassify } from 'jsr:@kwhinnery/yassify';
    
    console.log(yassify('Hello, World!'));
  • Adds BBCode language support.

  • Changes polyfill CDN to https://cdnjs.cloudflare.com/polyfill/. See #519 (Thanks @gapmiss).

  • Adds a noscript block to notify users that JavaScript is required. (Thanks @saidbakr)

  • Adds a temporary workaround for CSS nesting in Monaco editor. See #515 (Thanks @gapmiss).

Bug Fixes

  • Editor: monaco editor css nesting workaround (c932c29)
  • Templates: fix preact template imports (efbab86)

Features

  • App: add noscript block (e455240)
  • App: change polyfill CDN (1606b3f), closes #519
  • compilers: add support for BBCode (2f15b95)
  • Modules: add support for jsr package registry (e574ec3)

v24 (2024-02-17)

This is a hotfix for embeds failing to load.

Bug Fixes

  • Embed: fix setting on undefined (theme toggle in embeds) (1b845da)

v23 (2024-02-15)

This release allows using the AI code assistant without browser extension, with no account or API token required, totally for free, by just flipping a switch! (Powered by codeium)

The AI code assistant can be enabled from editor settings. Also the new config property enableAI allows enabling it using the SDK.

In addition, new monochrome (light and dark) editor themes and the font Astigmata have been added.

Bug Fixes

  • UI: fix theme switch status (ce0fe2c)

Features

  • App: AI code assistant with no accounts or browser extensions (39916cf)
  • UI: allow enabling/disabling AI from UI (editor settings screen) (c422ded)
  • Editor: add Astigmata font (39cd99b)
  • Editor: add monochrome prism themes (0a507d1)
  • Editor: add monochrome themes for codemirror (3ad8b37)
  • Editor: add monochrome themes for monaco (876294a)
  • Editor: use AI context from content of multiple editors (e2066c5)
  • Result: load stylesheets in importmap (b943274)

v22 (2024-02-03)

Add more docs, including for the Preview in LiveCodes GitHub action.

Bug Fixes

  • fix importing data url stylesheet (d57a06c)

v21 (2024-01-27)

The major changes in this release include:

  • Auto-rendering of default export from JSX/TSX: This significantly reduces the boilerplate code required in JSX (to create and render react-dom root). This is mostly backward-compatible. Manual rendering still works. See JSX docs.
  • Use React new JSX transform
  • Apply same changes to react-native and solid
  • Change React, React-Native and Solid starter templates to use default export with auto-rendering
  • Allow the use of JSX fragments in Vue SFC
  • Improve fetching and bundling of types for editor intellisense. This should significantly improve code auto-completion and type info for imported modules, without the need for manual type-bundling or the use of custom types.
  • Add docs for: JSX, TSX, Solid, Solid(TS), React-Native, React-Native(TSX)

Thank you @dai-shi for suggesting some of these changes.

In addition to various improvements and fixes (see below).

Bug Fixes

  • App: fix loading mode & view (f982fe0)
  • App: fix result mode toolspane visibility (cd1861a)
  • Result: fix removing/ignoring stylesheet imports in scripts (c77980a)
  • Result: remove extra scripts added to detect classes for CSS processors (c63a32f)
  • Types: fix race condition in loading types (a85ba31)

Features

  • compilers: allow using JSX fragments in Vue SFC (32270d8)
  • compilers: render React component if it is the default export (6daace7)
  • compilers: render React component if it is the default export (2ba144f)
  • compilers: render react-native component if it is the default export (7db03f6)
  • compilers: render Solid component if it is the default export (4968f03)
  • compilers: set typescript option { jsx: 'react-jsx' } (e46450d)
  • compilers: set typescript option { jsx: 'react-jsx' } (8793627)
  • Config: allow disabling JSX auto-render from custom settings (20d5b5b)
  • Templates: update react and jest-react starter templates to use the new jsx runtime (2e5b9d1)
  • Types: bundle types in the browser (f9a7951)
  • UI: add links to docs in language info (0bf80a5)
  • UI: add share button to toolbar (9a1cb6d)
  • UI: use the new X/Twitter logo in share screen (848db7e)

v20 (2024-01-17)

Features

  • Editor: support editor themes (7eaafeb)
  • UI: add buttons for project info and custom settings in editor toolbar (e92a4f6)
  • UI: add editor settings button to editor toolbar (213cfc9)

sdk-v0.4.0 (2024-01-17)

Features

  • SDK: add getPlaygroundUrl function to SDK (ef2105b)
  • SDK: update options on changing props in react sdk (0544540)
  • SDK: update options on changing props in vue sdk (04c8ae8)

v19 (2023-11-27)

Bug Fixes

  • Templates: fix solid template (32732a0)

Features

  • compilers: upgrade Brython to v3.12.1 running Python v3.12 (933f606)
  • Types: load types for imports from CDN URLs (8d25463)

v18 (2023-11-26)

This release allows adding content to result page head (e.g. meta tags), and to set html element attributes using Config.head and Config.htmlAttrs.

Now shared projects preserve app config (e.g. open console).

Added Lit starter template.

Fixed rich text editor (broken CDN URL).

Bug Fixes

  • compilers: fix quill CDN url (98381cc)

Features

  • Config: add Config.head and Config.htmlAttrs (360f2fe)
  • Share: include AppConfig in shared projects (9026101)
  • Templates: add Lit starter template (bc23a89)
  • UI: edit head and htmlAttrs from UI in Project Info screen (394d464)

v17 (2023-11-01)

Bug Fixes

  • App: fix autoupdate (if autotest is true) (621c956)
  • Config: fix setting config from SDK (fb433f8)

Features


v16 (2023-10-27)

This release:

  • Adds language support for WebAssembly versions of Ruby, Lua and PHP.
  • Allows importing projects from official TypeScript, Vue and Svelte playgrounds.
  • Allows adding hidden content to editors (code that is evaluated but not shown in the editors).
  • Patches python-wasm (Pyodide) input to use browser prompt.
  • Updates the light theme.
  • Fixes a bug where the SDK method setConfig did not update app settings and user settings.

In addition to various additions to documentations, and bug fixes.

Bug Fixes

  • compilers: do not reload pyodide if still loading (c86d8ee)
  • SDK: fix sdk prefill (948f69e)
  • UI: fix (copy-as-url) button colors (9c813b2)
  • types: fix types and pkg info for modules with CDN specifier (7cdd9b2)

Features

  • compilers: patch pyodide input (4cff525)
  • Config: allow adding hidden content (8b1f347)
  • SDK: apply config (app & editor configs) from SDK setConfig (309ffb7)
  • UI: modify light theme (eb62af7)
  • SDK: add flex-grow to playground container and export type Language (3de6805)
  • compilers: add language lua-wasm using wasmoon (832c8e6)
  • compilers: add support for php-wasm (7cf8780)
  • compilers: add support for ruby-wasm (0842d01)
  • import: allow importing typescript playground projects (ced7678)
  • import: import from svelte playground (a8d35e2)
  • import: import from vue playground (9406630)

sdk-v0.3.0 (2023-10-27)

Bug Fixes

  • compilers: do not reload pyodide if still loading (c86d8ee)
  • SDK: fix sdk prefill (948f69e)
  • UI: fix (copy-as-url) button colors (9c813b2)

Features

  • compilers: patch pyodide input (4cff525)
  • Config: allow adding hidden content (8b1f347)
  • SDK: apply config (app & editor configs) from SDK setConfig (309ffb7)
  • UI: modify light theme (eb62af7)

sdk-v0.2.1 (2023-10-16)

This release mainly updates TypeScript type definitions.

Bug Fixes

  • types: fix types and pkg info for modules with CDN specifier (7cdd9b2)

Features

  • SDK: add flex-grow to playground container and export type Language (3de6805)
  • compilers: add language lua-wasm using wasmoon (832c8e6)
  • compilers: add support for php-wasm (7cf8780)
  • compilers: add support for ruby-wasm (0842d01)
  • import: allow importing typescript playground projects (ced7678)
  • import: import from svelte playground (a8d35e2)
  • import: import from vue playground (9406630)

v15 (2023-10-01)

This release improves R and Python(Pyodide) language support:

  • upgrade versions
  • significant performance improvements
  • add docs

In addition:

  • on deploy QR code is generated for the deploy URL
  • QR code generated for share has LiveCodes logo
  • various bug fixes

Bug Fixes

  • export-share: fix share screen on generating qrcode for short url (7cbede4)
  • result: avoid duplicate handlers in live reload (bef4906)
  • tests: fix sending test results to SDK (08d9bc0)

Features


v14 (2023-09-16)

This release improves running tests:

  • Jest has been upgraded to latest version (v29.7). This includes support for newer Jest API features (e.g. test.each).
  • Added autotest config option to allow auto-running tests on code changes.
  • Show skipped tests, and mark the test result status as skip.

In addition, UI improvements and bug fixes have been added.

Bug Fixes

  • sync: fix autosync toggle not being saved in user data (a52413e)
  • tools: fix showing toolspane in result mode (4ecfe83)
  • tools: show skipped tests (5623c8e)

Features

  • config: add autotest to UserConfig (6fa16f2)
  • config: update UI on loading new config (0f63688)
  • tests: use browserJest (d01989f)
  • tools: run configureToolsPane in loadConfig (ef3aecb)

v13 (2023-09-05)

This release adds support for headless mode. It also adds support to watch for console output and test results.

AI code completion can be disallowed in embedded playgrounds using the query parameter disableAI.

Formatter is lazy loaded in embedded playgrounds only when used.

In addition, various bug fixes and performance improvements were made.

Bug Fixes

  • app: fix URL from "/app" to "/" (09571c7)
  • fix url update on loadConfig e.g. recover (3400bd7)
  • prevent using dev result for SDK code export (6f4300e), closes #423

Features

  • app: allow disabling AI code completion (c4c50f6)
  • services: use sandbox service v7 (26cda26)

Performance Improvements

  • formatter: lazy load formatter (7e73849)
  • mark pure utils & selector functions for tree shaking (3fa8c91)

sdk-v0.2.0 (2023-09-05)

This release introduces headless mode. It also added support to watch for various events including: playground load, console output and test results.

DEPRECATION

  • The SDK method onChange is deprecated in favor of the more generic watch method which, in addition to code changes, also supports watching for test results and console outputs.

Bug Fixes

  • SDK: fix race condition when calling SDK methods (85ee589)

Features

  • SDK: add support for headless playgrounds (b312b88)
  • SDK: allow SDK to watch for console output and test results (69f3f04)

Performance Improvements

  • SDK: do not load visual features when headless (dab8ae9)
  • SDK: send data in custom SDK events only if being watched (5810916)

v12 (2023-08-20)

Bug Fixes


v11 (2023-08-18)

Features

  • editor: support codeium AI code assistant (2949ccd)

v10 (2023-08-04)

Bug Fixes

  • split.show full on small screen (2ce9067)
  • compilers: fix typo in julia public api (06986df)
  • editor: fix editor position, let columns start at 1 (47d0f90)

Features

  • editor: upgrade codejar to v4.1.1 (6d5327f)

sdk-v0.1.2 (2023-07-26)

Bug Fixes

  • app: update editor settings code sample to use react 18 (fbae92a)
  • console: clear console silently on result page reload (6137125)
  • embed: edit svelte embed snippet to clean up (1da2b38)
  • SDK: add type: "module" to SDK (2444cc5)
  • SDK: fix vue sdk types (79068a3)

Features

  • console: upgrade luna console (2a764d4)
  • editor: upgrade codejar to v3.7.0 (7d256eb)
  • editor: upgrade monaco editor to v0.40.0 (d33aa5c)

v9 (2023-07-22)

Bug Fixes

  • editor: fix monaco menus overflow (58a7f6a)
  • editor: fix updating editor types (f0576ff)
  • SDK: improve SDK types bundle (75b919b)

Features

  • app: confirm before deleting user templates (8176622)
  • editor: allow setting default types across all languages (f60ea1a)
  • editor: edit pkg info hover (b728b97)

sdk-v0.1.1 (2023-07-22)

Bug Fixes

  • editor: fix monaco menus overflow (58a7f6a)
  • editor: fix updating editor types (f0576ff)
  • SDK: improve SDK types bundle (75b919b)

Features

  • app: confirm before deleting user templates (8176622)
  • editor: allow setting default types across all languages (f60ea1a)
  • editor: edit pkg info hover (b728b97)

v8 (2023-07-22)

Bug Fixes

  • import: fix jsbin import regex (78970e6)

Features

  • app: add imports property to custom settings editor if not added (bf71760)

sdk-v0.1.0 (2023-07-22)


v7 (2023-07-19)

  • CI: fix deploy to gh-pages

v6 (2023-07-19)

  • CI: fix deploy to gh-pages

sdk-v0.0.3 (2023-07-19)

  • SDK: fix race condition when loading from sdk (bdc25f6)
  • SDK: fix sending config object from SDK (457696f)

v5 (2023-07-19)

Bug Fixes

  • add encodeURIComponent to bookmarklet (1171d30)
  • app: fix a race condition (a2da49b)
  • app: show formatter (enabled/disabled) in editor toolbar on changing editors (0438deb)
  • compilers: map svelte import to svelte/internal (bdb0d21)
  • compilers: upgrade react in mdx (5644a38)
  • config: fix loading user config (b3983df)
  • config: validate config tools (0698f9f)
  • do not autorun result page if config.autoupdate is false (3e1e405)
  • do not treat safari as mobile (f08ae93)
  • do not use CDN for already bundled imports (e5f3b50)
  • editor: edit monaco addCloseTag regex to improve performance (dd03a69)
  • fallback to blob url if data url is not supported as worker (ea7ac04)
  • import: show error for invalid template/import URL (691afcf)
  • in result mode, hide toolspane by default (e38128c)
  • result: improve console (70106d7)
  • UI: do not double check saved status on new -> starter template (8675b48)
  • UI: hide editors till they become active (4d52cc7)
  • use appCDN in result page scripts (3d3923e)
  • use appCDN in sync worker (9d20e4f)
  • wait for slow e2e tests (cb44e43)
  • welcome: improve welcome screen layout (6b50c13)

Features

  • about: add about screen (a2f89b4)
  • allow src import in SFCs (08189c0)
  • allow deploying the app +/- docs to gh-pages (0a33c8b)
  • allow stylesheet import from CDNs (1e51790)
  • allow using param ?new as ?screen=new (d75f97b)
  • app: copy code as data URL (3ea5b04)
  • app: if CDN is unreachable, fall back to next CDN (6e72eb4)
  • app: loading spinner (9a5385c)
  • app: show loading screen during recover (6f710e3)
  • compilers: add lang attribute for sfc src imports (63e4dc6)
  • compilers: add ClojureScript support (2a4d723)
  • compilers: add jsx support in vue sfc (2c76b47)
  • compilers: allow generating import maps during compile (1bba4d2)
  • compilers: allow importing remote vue sfc (406c6c6)
  • compilers: allow recursive imports in vue sfc (b438e0b)
  • compilers: allow svelte SFC to import and compile other SFCs (9d5ca48)
  • compilers: do not inline remote style imports by default (3e38335)
  • compilers: retry loading rescript compiler if failed (1e8562f)
  • compilers: support css modules in vue sfc (6169f34)
  • compilers: use official vue SFC compiler for vue 3 (c82ef76)
  • config: use default language if invalid (c2c4b22)
  • editor: auto add close tag in monaco (1cb0db7)
  • embed: allow selecting active tool in embed screen (c66b476)
  • embed: embed as Svelte (707f48d)
  • embed: use permanent url by default for embeds (c091ef9)
  • export-share: allow using permanent url in share (906bcc5)
  • formatter: upgrade @prettier/plugin-php to v0.19.6 (13b5d8b)
  • formatter: upgrade prettier to v3.0.0 (b06d8bd)
  • import: import data url (ab84f2f)
  • result: allow importing stylesheets in script editor (9bc077f)
  • result: maintain result page scroll position on update (0cea826), closes #297
  • services: allow switching default CDN (f5203cc)
  • services: provide permanent SDK url (fa0d76a)
  • UI: 2-column style menu (13d5702)
  • UI: add cookie notice to login screen (5c23a43)
  • welcome: show recent projects above templates (2c7b991)

4 (2023-05-13)


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)

22 (2023-05-12)

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)

v0.7.0 (2023-03-31)

⚠ BREAKING CHANGES

  • API: rename exported method to createPlayground

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 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 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 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: commonjs support (87757d5)
  • compilers: diagrams runOrContinue (4635ece)
  • 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: 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)

Bug Fixes

  • 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)

  • clean css duplicates (d3873ef)

  • compilers: fix diagrams compiler errors (e5449a2)

  • compilers: fix loading rich text projects (ce3c894)

  • 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)

  • 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)

  • API: rename exported method to createPlayround (6e086f2)


v0.4.0 (2021-11-19)

⚠ BREAKING CHANGES

  • config: remove baseUrl config option
  • config: config.modules has been replaced by config.imports
  • config: use config option activeEditor instead of language (automatically changed in config upgrade)
  • config: autoprefixer config option moved to processors.postcss

Features

  • API: expose API (7114905)
  • app: allow enabling specific languages/editors (e11d857)
  • app: allow to restore last unsaved project (06bd659)
  • app: convert to async indexedDB storage using localforage (28c637a)
  • app: organize saved projects (4ea78f6)
  • auth: github auth (5e1074a)
  • auth: Lazy load authentication (58c70a8)
  • compilers: add AssemblyScript language support (2ada4d6)
  • compilers: add babel as compiler (b545498)
  • compilers: add blockly (38bcd53)
  • compilers: add custom settings for brython python compiler (20f2e1e)
  • compilers: add dependencies and aliases for compilers (b2cadc2)
  • compilers: add doT compiler (cee6db4)
  • compilers: add EJS compiler (75b8c51)
  • compilers: add haml language support (2751fc9)
  • compilers: add Handlebars compiler (c8f99fb)
  • compilers: add language info (2fb3558)
  • compilers: add LiquidJS (4d3348c)
  • compilers: add livescript language support (2a2cafc)
  • compilers: add lua language support (2616156)
  • compilers: add MDX support (68bde77)
  • compilers: add Nunjucks compiler (71bcc6a)
  • compilers: add Perl language support (3fb78a6)
  • compilers: add PHP language support via uniter (6b585ca)
  • compilers: add postcss plugins support (83baa78)
  • compilers: add pyodide as additional python compiler (727f654)
  • compilers: add Python language support via Brython (bed2e0c)
  • compilers: add ReScript support (8ab265d)
  • compilers: add Scheme language support (39f9931)
  • compilers: add solidjs support (6ca125f)
  • compilers: add SQL language support (8923111)
  • compilers: add Stencil support (b9bca2c)
  • compilers: add support for Astro (01f38d7)
  • compilers: add support for Go (f74b7b3)
  • compilers: add support for malinajs (18b7da2)
  • compilers: add support for React Native (d72b5dd)
  • compilers: add support for Reason and OCaml (0d21867)
  • compilers: add support for Riot.js (0e01bf4)
  • compilers: add support for Twig templating engine (3b6f214)
  • compilers: add Svelte support (fdb1e17)
  • compilers: add tailwindcss JIT compiler (4336916)
  • compilers: add TSX support, with intellisense for react (d706f56)
  • compilers: add Vue 2 SFC support (71bb81d)
  • compilers: add Vue 3 SFC support (2173eac)
  • compilers: add WebAssembly Text Format (aaea694)
  • compilers: add windicss (cab11f6)
  • compilers: allow compiler to use other compilers (2719fed)
  • compilers: allow compilers to live reload (3cbee30)
  • compilers: allow compiling in the sandboxed iframe outside the web worker (5d356fa)
  • compilers: allow dynamically adding scripts to result page during compile (2b19ae1)
  • compilers: allow importing CSS from URL and from CDN (5fb6b58)
  • compilers: allow importing python modules from external URL by setting pythonpath (4b5f960)
  • compilers: allow loading db file or sql scripts from URL (57c54d8)
  • compilers: allow using processors (compilers) for SFC blocks (866cd40)
  • compilers: dom manipulation using blockly (c2ec045)
  • compilers: enable style import in vue SFC (ece3bf2)
  • compilers: enable users to configure compilers via custom config scripts in markup (67c6cdf)
  • compilers: haml dynamic evaluation (8587a17)
  • compilers: prerender markup templating engines by default (083be37)
  • compilers: Pug templates load as prerendered or dynamic (40892a5)
  • compilers: run compilers in sandboxed iframe (163db41)
  • compilers: send compiler messages to console (c67ea42)
  • compilers: support processors in riotjs components (2e3f55d)
  • config: add version to config (0b3c050)
  • config: store user config (45de26b)
  • config: upgrade config from previous versions (237c137)
  • config: validate config before load (e2f82bf)
  • deploy: allow commiting source code and result as separate files (a183ede)
  • deploy: allow deploy to github pages (997ab39)
  • editor: add codemirror emmet support (f4c2c0f)
  • editor: add prismjs as readonly code editor (5c0b6c2)
  • editor: allow defining custom types for languages (bae28f3)
  • editor: autoload typescript types (777a96f)
  • editor: create CodeEditor interface (f788857)
  • editor: dynamically load monaco-editor or codemirror (24d8143)
  • editor: fallback to codemirror on-error loading the editor (e151b2c)
  • editor: show npm package info on hover (in monaco) (7de356c)
  • embed: add "edit in LocalPen" link (3d83d97)
  • export-share: allow sharing project by URL (f929c7a)
  • export-share: enable social share (bd5ea08)
  • export-share: export all saved projects (38c6589)
  • export-share: export to github gist (23d30f4)
  • export-share: share permanent or short url (8cc7b78)
  • export-share: show share url (e36ede8)
  • export-share: use dpaste.com for share service (c57f72b)
  • formatter: add Go formatter (a47d073)
  • import: allow logged in user to import from private github repos (4a23f7a)
  • import: bulk import projects (859cad1)
  • import: import from JS Bin (2b1a559)
  • import: improve auto identification of raw code on import (3b08cbe)
  • import: use cors service for url import (42c25c6)
  • import: use cors service to import from JS Bin (2c1ae89)
  • result: move result page to a separate subdomain (a4a0186)
  • result: use the standard import-maps instead of custom modules (1a50ac5)
  • services: add cors service (0fc2230)
  • services: add services for API access (e5e831b)
  • services: allow specifying CDN service to use for bare modules import (aaef9f1)
  • services: create result service (d36cc39)
  • services: use domain alias for result page (7cfbf80)
  • templates: add backbone starter template (48de466)
  • templates: add coffeescript starter template (02b6e32)
  • templates: add Go starter template (bceeca5)
  • templates: add knockout starter template (37287b1)
  • templates: add Polymer starter template and improve baseUrl mapping in templates (a946a26)
  • templates: add ReScript starter template (a69bd74)
  • templates: add Riot.js starter template (fd9717b)
  • templates: add solid starter template and typescript support (5b80f9b)
  • templates: allow loading starter template by name from query string param (38f3587)
  • UI: add light theme (d24953d)
  • UI: add project info screen (5d35416)
  • UI: add project info screen (a691e71)
  • UI: add result button (9aa2f3e)
  • UI: add tags in project info (7509d10)
  • UI: add tooltips (be6b5e3)
  • UI: allow adding language info (3d4484e)
  • UI: allow adding language info (a3422cb)
  • UI: allow language menus to scroll (12a9f98)
  • UI: allow showing UI screens from query string (a698adb)
  • UI: modify UI for postcss plugins (aa0f12b)
  • UI: multi-column language menu (edf3df8)
  • UI: multi-column settings menu (761e809)
  • UI: set window title to reflect project title (a191718)
  • UI: show code/output on button click when the pane is closed (f7f05f0)
  • UI: show loading screen when opening a saved project (3304641)
  • UI: style scrollbars (514883e)
  • UI: updateUrl on save (07c3ad5)
  • UI: use code editors for custom settings UI screen (511caea)
  • UI: use snackbar for notifications (b5b5c9d)
  • add config option to show version and git commit in console (e700235)

Bug Fixes

  • app: do not skip initial page load (9769fd2)

  • app: fix detecting style-only changes (b91a392)

  • app: fix saved status (687c575)

  • compilers: compile and replace imports astro frontmatter (408735e)

  • compilers: do not add DOM element if svelete customElement is enabled (8c3f330)

  • compilers: fix cannot use import outside module (e58cd28)

  • compilers: fix imports not being replaced in javascript (87d733a)

  • compilers: fix Sass on safari (9480361)

  • compilers: use pyodide new API (67a627b)

  • config: remove baseUrl config options and always use the loaded module url (14b7968)

  • editor: editor.getLanguage() should return the actual language not the mapped one (ecf5cba)

  • editor: fix duplicate emmet suggestions (0a930c9)

  • editor: fix duplicate identifier in typescript (27397fd)

  • result: escape closing script tags in script content (77db4d9)

  • improve restore state (57a9b0a)

  • race on monaco dispose (59c48c2)

  • compiled: fix compiled code viewer going out of sync (9493224)

  • compilers: fix rescript compiler (a7ad75c)

  • console: fix console (message source check) (dfd3fd7)

  • editor: fix autofocus active editor (cf5b11c)

  • editor: fix editor inconsistencies on changing languages (3fb51a6)

  • editor: fix emmet multiple invocations (f407d75)

  • editor: fix monaco duplicate types (fdb4d33)

  • editor: fix monaco language highlight for rescript, reason, and wat (77f0956)

  • editor: fix monaco unhandled 'Canceled' promise rejection (8e172b4)

  • editor: re-activate fixed test (0e13c85)

  • import: fix not selecting pug editor when importing github gist (e123c42)

  • result: move all styles and scripts to result head (only keep markup and editor script) (40ebd85)

  • UI: fix allowLangChange (1d78659)

  • UI: fix autocomplete error on closing deploy screen before fetching results (118a58d)

  • UI: fix displayName null (99e335f)

  • UI: fix menus on safari (5799560)

  • UI: fix mobile layout (ae0bb2d)

  • UI: fix modal click outside (9b55b68)

  • UI: fix modal click outside (c3ecf28)

  • UI: fix modal click outside to close (5c27d62)

  • UI: fix modal event listeners (5f0c9ee)

  • UI: fix modes showing tools pane (0a6da7e)

  • UI: fix project title (7f1411d)

  • UI: fix safari (31cea26)

  • UI: fix settings menu container preventing interaction (7517845)

  • config: use config option activeEditor instead of language (f951f79)


v0.3.0 (2021-02-11)

Bug Fixes

  • app: await async functions (3e647b7)
  • console: fix changed variable names (c514815)
  • CSS Presets: fix selecting CSS preset none (8382605)
  • import: fix importing github and gitlab repos root directory (ba55e3d)
  • result: use postMessage to send code to result page (636acad)
  • UI: fix settings menu too wide on small screens (18f1159)

Features

  • compiled: view compiled code (f93e2ce)
  • console: add console input auto-complete for user code (1115331)
  • console: add JS console (36a24e9)
  • console: add tools pane (aeefcb3)
  • console: handle logging different data types (9c59aad)
  • import: load imports without page refresh (cce9539)
  • loading: use animating logo as loading indicator (f65753a)
  • result: show result page size on resize (a48107e)
  • UI: add loading indicator on tools pane (8b8ea41)
  • UI: scroll settings menu when longer than view port (b706274)

v0.2.0 (2021-01-22)

Bug Fixes

  • compilers: fix baseUrl for sass worker (25320a1)
  • compilers: fix Less transpiler (d3e4174)
  • display active editor on loadConfig (737bce5)
  • set active language on changing editor (1e884d8)

Code Refactoring

  • result: use blob URL as src for result iframe (c7c61c8)
  • config: rename snakecase config params to camelcase (6cc9c99)

Features

  • result: add iframe sandbox (217d7ee)
  • templates: start new projects from templates (d2fcdc5)
  • CSS Presets: Add CSS Presets (347fed8)
  • formatter: add prettier parser for pug (b153098)

BREAKING CHANGES

  • config: rename snakecase config params to camelcase

v0.1.0 (2021-01-10)

  • Initial public release