All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
v39 (2024-12-22)
- UI: hide code to image button in embeds (648654b)
v38 (2024-12-21)
- This release adds the new feature "Code to Image". It allows generating nice-looking code screenshots. Many customization options are available to change the look of the generated image. In addition, many presets are available for quick selection. See docs.
- Catppuccin themes were added for Monaco, CodeMirror and CodeJar.
- User-defined import map in a
<script type="importmap">
tag added to markup is now supported. - In addition to many bugs fixes and improvements.
Credits:
Many thanks to our contributors:
- @zyf722: for improving the i18n workflow and sync with Lokalise, helping with translations and reviewing the "Code to Image" feature.
- @Shlok-Bhakta: for adding Catppuccin themes.
- App: fix changing themes in embeds (5ad16f4)
- App: show selected screen after importing external content (3e473b8)
- Compilers: fix cannot find TS compiler in JS (76a7345)
- Compilers: fix Svelte backward compatibility (c9a7412)
- Editor: fix codejar changing cursor position on highlight (84baf7d)
- SDK: fix changing appLanguage from SDK (bd23174)
- Templates: fix/upgrade testing-library (c292807)
- ToolsPane: improve console output for HTMLCollection (d4df4ac)
- ToolsPane: improve console output for nodelist and event objects (e7821cf)
- ci: update .lokalise.json after pulling from Lokalise (ba305c6)
- Code-to-Image: add Code to Image feature (f9a2856)
- Code-to-Image: add copy code link (d883d4e)
- Code-to-Image: apply preset (c7f1db5)
- Code-to-Image: prefill empty editor (f1fe6fa)
- Code-to-Image: re-calculate width on window resize (7dbc1f5)
- Code-to-Image: save custom preset (cf1143c)
- Code-to-Image: set fileName from title (02095a2)
- Code-to-Image: share image (d7611e3)
- Code-to-Image: specify image file name (b3266e2)
- Compilers: upgrade Svelte to v5.12.0 (63d2e2c)
- Import-maps: allow user-defined import map in
<script type="importmap">
(d7d34d2) - UI: add accordion (a8f37fc)
sdk-v0.7.2 (2024-12-21)
- SDK: Add Catppuccin themes for Monaco, CodeMirror and CodeJar (
catppuccin-latte
,catppuccin-frappe
,catppuccin-macchiato
andcatppuccin-mocha
)
v37 (2024-12-09)
- Compilers: add support for React Compiler (353ed97). The React starter template now uses the React compiler.
- Compilers: upgrade Svelte to version 5 (db3053c)
- Svelte 5 is mostly compatible with Svelte 4, but there are some breaking changes. See release notes
sdk-v0.7.1 (2024-12-09)
- Add
react
andreact-tsx
to supported languages for React compiler.
v36 (2024-12-07)
This is a big release, featuring:
- Total redesign of the UI to a cleaner, more modern, more consistent and more accessible design. In addition, a customizable
themeColor
allows for a lot of customization (see livecodes.io/docs/configuration/configuration-object#themecolor). - Internationalization (i18n) support for the entire UI. The app can be displayed in multiple languages - currently 12. The new config option
appLanguage
allows setting the app language (see livecodes.io/docs/configuration/configuration-object#applanguage).
A huge shout-out to our contributors for making this release possible!
- @gigamaster for the design and implementation of the new UI.
- @zyf722 for the i18n support.
Thank you :)
- App: do not clear console in style-only update (f6ebeb5)
- docs: align code block for e2e tests (751c766)
- docs: fix links to CDNs (4150510)
- services: fix CORS error in firefox when calling jsdelivr API (d00c7e5)
- ToolsPane: fix console themes (58da00c)
- UI: fix external resources screen styles in firefox (ff9f347)
- Templates modify React Native template till React Native Web supports React 19.
- Config: add
appLanguage
config property to set i18n language (c682d7c) - Config: add
themeColor
config property to set theme color.
- abstract tag for innerHTML (7c942e3)
- add a script to generate English .ts and .json template from .html for i18n (7ab9473)
- add i18n integration for html pages (e426d0f)
- App: add console message (c17c4ed)
- export i18n keys in alphabetical order to have better diff (7c72fda)
- extract i18n from .ts files with translateString (1f1f507)
- i18n: add
getLanguageDirection
to get ltr/rtl layout (016b62c) - i18n: add
placeholder
as translatable attribute (6c9a27c) - i18n: add a ci script to push source texts to lokalise (0eaa5e7)
- i18n: add an
overwrite
flag fori18n-export
(eb9ba81) - i18n: add app language in editor settings (861a26b)
- i18n: add branching and rename
i18n-push-to-lokalise
(d304f09) - i18n: add i18n for loading screen (1ff478d)
- i18n: add i18n-import (83a040a)
- i18n: add i18n-lokalise-json (35471c7)
- i18n: add interpolation for element-level translation (647849a)
- i18n: add types for translation keys (d44159e)
- i18n: async lazy load i18n for language-info (a7bc906)
- i18n: change escapeValue to false to prevent HTML tag escaping (4d3c04b)
- i18n: change tag numbering to left-to-right in
abstractifyHTML
(f995c76) - i18n: change translate to support multiple properties (f482820)
- i18n: custom event driven translation (a6c60cf)
- i18n: deprecate outdated keys when importing (2c4b49a)
- i18n: enhance type-safety and intellisense of i18n (cb4d9d6)
- i18n: enhance type-safety for translateString (12bdeea)
- i18n: lazy-load i18n (56411fc)
- i18n: only allow supported appLanguages (4114d98)
- i18n: remove empty translation entries (5d05602)
- i18n: set
dir
based onappLanguage
(cf115c1) - i18n: string-level i18n (d01bab0)
- i18n: use ts to have type-safe translation (b38e1a9)
- i18n: utility function to support dynamically-added elements (fe69071)
- Import: import local files by dropping in editor (09c69f6)
- Import: improve file selection criteria on import (c96c541)
- load
appLanguage
ingetUserConfig
(2e73a96) - set document language with i18n (0149c4a)
- UI: add fallback when css masking is not supported (bde3df7)
- use i18next (73d74e2)
sdk-v0.7.0 (2024-12-07)
-
Config: add
appLanguage
config property to set i18n language (c682d7c) -
Config: add
themeColor
config property to set theme color.
v35 (2024-08-01)
-
Added starter templates for D3 and Phaser:
-
Fixed solid-js compiler
- Compilers: fix solid-js compiler (f96032d)
v34 (2024-07-27)
-
Config: allow setting custom editor title (95287d0)
-
SDK v0.6.0
sdk-v0.6.0 (2024-07-27)
- Config: allow setting custom editor title (95287d0)
- SDK: add JSDoc comments (323ce5a)
- SDK: add JSDoc comments for react & vue SDKs (cf7b46d)
- SDK: change react SDK build to use
react-jsx
(d603103)
v33 (2024-07-13)
-
BREAKING: Most compilers were upgraded to their latest versions. Some compilers do have breaking changes. The full list of compilers upgraded and their new versions can be found here.
If your code stops working as intended, you may want to use a permanent URL to a previous LiveCodes version (e.g. https://v32.livecodes.io), till you upgrade your code.
-
A custom build for Monaco editor is now used to allow matching the playground TypeScript version and the use of ESM bundled version of Monaco. This now makes it much faster (than previously used CDN), and avoids some bugs related to the Monaco loader.
-
Fixed a bug that sometimes caused formatting to change the code in Monaco.
-
Added support for Vento template engine.
- Editor: destroy editors in modals onClose (84736cb)
- Editor: fix formatting on monaco (85cd72a)
- Editor: when formatting in monaco, avoid referring to editors destroyed after closing modals (c6234bd)
v32 (2024-06-30)
- Brython upgraded to v3.12.3 and fixed a bug that caused Python code to run twice.
- Compilers: upgrade brython to v3.12.3 and fix bug of running code twice (28c2922)
v31 (2024-06-29)
-
CodeMirror TypeScript editor support:
This release adds TypeScript editor support for CodeMirror (the default editor on mobile). This includes auto-complete, type info on hover and linting (showing type errors). This also includes automatically loading types for imported npm modules and the support of custom (user-defined) types.
All of these features (except showing type errors) are also available in JS & JSX.
-
The AI code assistant now works on CodeMirror editor.
- App: fix race condition for AMD
define
between monaco editor and localforage (847d567) - Editor: fix multiple registers for twoslash completions (2f0147e)
- Types: fix loading custom types (33458af)
- Editor: support adding types on codemirror (7ef6551)
v30 (2024-06-21)
- Upgrade typescript compiler to v5.5.
- Improvements in imports.
- Bug fixes.
Thanks to @sharno for bug reports and suggestions.
- App: do not format when auto-saving (10a3f44)
- App: fix loading AMD modules (for autocomplete & qrcode) (da0f9a5)
- Deploy: fix deploy user info (0e67a61)
- Editor: fix solid jsx/tsx in monaco (0040f31)
- Compilers: upgrade typescript compiler to v5.5.2 (14fbf52)
- Import: set activeEditor when importing (7f6fcd0)
- Import: use
files
query param for file selection when importing (b787e03)
v29 (2024-05-15)
- 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.
- 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)
- 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)
- 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
- Types: fix type bundler for subpaths (f4d88e1)
- 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:
- Add support for PostgreSQL using
pglite
(starter template - docs) - Add focus and simple modes for a cleaner and less complex layout for the app and embedded playgrounds.
- Add vertical layout.
Now the default layout is responsive (in small view ports, the layout is vertical if the playground height is larger than its width). This can be changed from the UI (App menu) or with thelayout
config option. - Allow loading assets when importing a file or directory from GitHub.
examples:
In addition to many other improvements and 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)
- 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)
- Editor: revert css nesting workaround (66bd226)
- Embed: fix embed UI code snippets (e01315e)
- UI: fix toolspane double-click (3114e6c)
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).
- Editor: monaco editor css nesting workaround (c932c29)
- Templates: fix preact template imports (efbab86)
- 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.
- 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.
- UI: fix theme switch status (ce0fe2c)
- 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.
- 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).
- 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)
- 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)
- 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)
- 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)
- Templates: fix solid template (32732a0)
- 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).
- compilers: fix quill CDN url (98381cc)
- Config: add
Config.head
andConfig.htmlAttrs
(360f2fe) - Share: include AppConfig in shared projects (9026101)
- Templates: add Lit starter template (bc23a89)
- UI: edit
head
andhtmlAttrs
from UI in Project Info screen (394d464)
v17 (2023-11-01)
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 browserprompt
. - 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.
- 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)
- 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 typeLanguage
(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)
- compilers: do not reload pyodide if still loading (c86d8ee)
- SDK: fix sdk prefill (948f69e)
- UI: fix (copy-as-url) button colors (9c813b2)
- 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.
- types: fix types and pkg info for modules with CDN specifier (7cdd9b2)
- SDK: add
flex-grow
to playground container and export typeLanguage
(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
- 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)
- compilers: clean up pyodide state between reloads (07fafe4)
- compilers: expose R output and plots as
livecodes.r.output
andlivecodes.r.plots
(707aa54) - compilers: upgrade Pyodide to v0.24.0 (ed1246d), closes /pyodide.org/en/stable/project/changelog.html#version-0-24-0
- compilers: upgrade webr to v0.2.1 (2f3b590)
- compilers: use micropip in Pyodide (2a96b0d)
- deploy: generate QR code for deploy (7391204)
- export-share: add logo to QR code and allow image download (4fa21d9)
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.
- sync: fix
autosync
toggle not being saved in user data (a52413e) - tools: fix showing toolspane in result mode (4ecfe83)
- tools: show skipped tests (5623c8e)
- config: add
autotest
toUserConfig
(6fa16f2) - config: update UI on loading new config (0f63688)
- tests: use browserJest (d01989f)
- tools: run
configureToolsPane
inloadConfig
(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.
- 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
- 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.
- The SDK method
onChange
is deprecated in favor of the more genericwatch
method which, in addition to code changes, also supports watching for test results and console outputs.
- SDK: fix race condition when calling SDK methods (85ee589)
- SDK: add support for headless playgrounds (b312b88)
- SDK: allow SDK to watch for console output and test results (69f3f04)
- 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)
v11 (2023-08-18)
- editor: support codeium AI code assistant (2949ccd)
v10 (2023-08-04)
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)
- editor: upgrade codejar to v4.1.1 (6d5327f)
sdk-v0.1.2 (2023-07-26)
- 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)
- 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)
- editor: fix monaco menus overflow (58a7f6a)
- editor: fix updating editor types (f0576ff)
- SDK: improve SDK types bundle (75b919b)
- 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)
- editor: fix monaco menus overflow (58a7f6a)
- editor: fix updating editor types (f0576ff)
- SDK: improve SDK types bundle (75b919b)
- 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)
- import: fix jsbin import regex (78970e6)
- 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)
- 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 tosvelte/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)
- 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)
- add config imports to importmap (63090d7)
- API: allow API to set full
Config
not justContentConfig
(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 importing 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: add
params
toEmbedOptions
(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
andasciidoctor.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
toloading
(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
tosplit
(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
toEmbedOptions
(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
inconfig.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
) toeditor
orresult
(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)
- 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
todiagram
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)
- Revert "build: upgrade storybook to v7" (89b8b54)
- Revert "fix mdx" (0c3aaae)
- Revert "build(editor): load monaco from CDN" (cd09133)
22 (2023-05-12)
- add config imports to importmap (63090d7)
- API: allow API to set full
Config
not justContentConfig
(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 importing 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: add
params
toEmbedOptions
(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
andasciidoctor.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
toloading
(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
tosplit
(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
toEmbedOptions
(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
inconfig.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
) toeditor
orresult
(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)
- 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
todiagram
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)
- 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)
- API: rename exported method to
createPlayground
- API: add
params
toEmbedOptions
(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
andasciidoctor.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
toloading
(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
tosplit
(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
toEmbedOptions
(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
inconfig.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
) toeditor
orresult
(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)
-
API: allow API to set full
Config
not justContentConfig
(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 importing 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)
- config: remove
baseUrl
config option - config:
config.modules
has been replaced byconfig.imports
- config: use config option
activeEditor
instead oflanguage
(automatically changed in config upgrade) - config:
autoprefixer
config option moved toprocessors.postcss
- 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 committing 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)
-
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 oflanguage
(f951f79)
v0.3.0 (2021-02-11)
- 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)
- 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)
- 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)
- result: use blob URL as src for result iframe (c7c61c8)
- config: rename snakecase config params to camelcase (6cc9c99)
- 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)
- config: rename snakecase config params to camelcase
- Initial public release