Releases: live-codes/livecodes
v47
v47 (2025-10-04)
Highlights for this release
- The main feature in this release is adding a Docker setup for self-hosting LiveCodes with implementations for server-side features available in the hosted app, e.g. automatic HTTPS, Open Graph meta tags, oEmbed, custom headers, short-URL share, broadcast server, separate origin sandbox to run code, custom 404 page, etc. See docs for more details.
- This release also adds support for Go language using Yaegi compiled to WASM, and updates
python-wasmto use Pyodide v0.28.3 (running Python 3.13.2). - Code can now be imported from images using OCR.
- Unpublished npm packages can be imported from pkg.pr.new. See docs for more details.
- Compiler errors are now shown in the integrated console.
- Added Persian language support.
In addition to many improvements and bug fixes.
Features
- Docs: remove links to vercel (8662daa)
- Compilers: add support for Go using Yaegi compiled to WASM (422c649)
- Compilers: update python-wasm to use Pyodide v0.28.3 (4f99d6c)
- Code-to-Image: add share url to png meta data (58b2f26)
- Compilers: show compiler error messages in console (dd3514a)
- Config: allow setting customSettings in query params (a15492a)
- Config: set config objects in query params (2532f23)
- i18n: add Persian language (940ba28)
- Import: allow importing code from images (OCR) (7347299)
- Import: extract
htmlAttrs(2900706) - Modules: import unpublished modules under development from pkg.pr.new (2cd50ea)
- self-hosting: add broadcast server to self-host (865e1f3)
- self-hosting: custom log url (31159ea)
- self-hosting: docker continuous deployment (c3429f6)
- self-hosting: self-host share service (1759b84)
- UI: show a mark when project info fields (
headorhtmlAttrs) are modified (4a5917e) - UI: show loading notification when importing from UI (cd056bb)
Bug Fixes
- App: fix persistent loading message in compiled code viewer (3076b59)
- CommandMenu: fix selecting languages in command menu (43339a8)
- Compilers: do not add Tailwind compiled CSS in code blocks (5eca80e)
- Config: fix changing editor config from SDK (b717efc)
- Config: fix loading user config (533e221)
- Config: fix updating editor config (1f0292c)
- docs: correct broken links due to .mdx/.md mismatch (5395c81)
- Editor: do not show lineNumbers in console editor (f077639)
- i18n: fix formatting / jsdoc & use unknown instead of any (a6f5a7a)
- i18n: no need for extra type checking workflow, revert #718 (5bd4181)
- i18n: optimize i18n types performance (2a17e3c)
- Result: allow importing stylesheets in markup editor (76a3e1c)
- Result: avoid rerenders on firefox (sandbox v9) (245cdc7)
Credits
- @abight-devsanctuary added docker support
- @Muhammad-Ayman added support for go-wasm
- @zyf722 improved type checking for i18n files
- @sbelluzzo updated python-wasm
- @Red007Master and @seifsapagh added fixes to docs
- @Yusyuriv reported multiple re-renders in Firefox
- @MhmoudAlim , @mtantawy , @mrgb7, @MariamElansary and @aabouzaid suggested features and reviewed PRs
Thank you ❤️
sdk-v0.12.0
sdk-v0.12.0 (2025-10-04)
Features
- SDK: allow return value of
getShareUrl()to be used asappUrl(1294cb9)
Bug Fixes
- SDK: clean-up SDK event handlers (3c1184f)
- SDK: fix
heightin Vue SDK (79b4a70) - SDK: force destroy playground even if stuck (e.g. in infinite loop) (c44fe3e)
Credits
- @felixhuttmann added force destroying playground even if stuck
Thank you ❤️
v46
v46 (2025-05-24)
Highlights for this release
- This release refactors how LiveCodes loads the projects which makes it more performant, more consistent and supports loading much bigger projects.
- Support for Jinja templating language was added.
- Upgraded React Compiler to RC.
- Added docs for the new Markdown-to-LiveCodes feature.
- Allowed SDK to update editor content only with
setConfigwithout reloading the project or editor language. This is useful for streaming content (e.g. from LLM). Demo: https://livecodes.io/?x=id/vya9n6jbuvq&mode=result
Features
- Compilers: add Jinja template support (9e15076)
- encode minimal data in url search params and the rest in hash params to allow for longer urls while still maintaining server analytics feature (80efa44)
- SDK: allow sdk
setConfigto just update editor content (282824c) - SDK: communicate sdk and app versions (63e7db2)
- sort imports with prettier (7f1145c)
Bug Fixes
- Compilers: compile asciidoc as standalone (7ae4220)
- Config: fix decoding params (3494e58)
- Editor: fix loading vue & custom languages in monaco (b7bbb80)
- fixed self-hosted deployments to GitHub Pages (9859940)
Credits
- @BassemHalim refactored the app and SDK to allow for the new project loading feature.
- @tarekwfa0110 added HTML language docs.
- @ahmeddelattarr added AsciiDoc language docs
- @ahmadalfy , @zyf722 and @Seth0x41 reviewed the Markdown-to-LiveCodes feature.
Thank you ❤️
sdk-v0.11.1
sdk-v0.11.0
sdk-v0.11.0 (2025-05-24)
-
This release enables the SDK to create playgrounds and generate URLs for much bigger projects, by encoding data in URL hash instead of query params, while maintaining backwards compatibility.
-
Adds support for Jinja templating engine.
Credits
- @BassemHalim did a lot of work on this release. Thank you ❤️
v45
v45 (2025-04-25)
Highlights for this release
- This release adds support for csharp-wasm and java languages.
- The SDK now compresses and encodes SDK params.
- In addition to some UI changes and bug fixes.
Credits
- @Seth0x41 added csharp-wasm and java support
Thank you ❤️
Features
- add Csharp-Wasm support (63164e8)
- add Java language support with DoppioJVM (0ecb6b3)
- UI: make the script language menu wider with more columns (2b3c2eb)
Bug Fixes
sdk-v0.10.0
sdk-v0.10.0 (2025-04-25)
v44
v44 (2025-04-10)
Highlights for this release
This release adds multiple new features and fixes, including:
- Significant improvements in editor support for Vue (e.g. auto-complete, hover info,
definePropscan now infer props from locally declared types, and more). - Vue and Svelte single file components can import (and recursively compile) other components encoded as data URLs (docs).
- CSS processors (e.g. Tailwind CSS) can now process style blocks (e.g.
@apply) in Vue and Svelete SFCs. - ESM imports for full, relative and data URLs no longer show typescript error.
- React native now uses React v19 (see starter template).
- A new config option
foldRegionswas added. When set totrue, regions marked by#regionand#endregioncomments are folded when the project is loaded. - Editor configurations (
config.markup,config.style,config.script) have a new propertyfoldLinesthat accepts an array of objects (e.g.[{ from: 1, to: 5 }]) that indicates which lines to fold. This can be useful for less relevant code in embedded playgrounds. config.editornow supports the value"auto", which indicates that Monaco editor is used on desktop and CodeMirror is used on mobile regardless of other settings. This can be useful in"simple"mode.- The loading screen now uses an animated logo.
- A new command menu action was added for selecting editor theme.
- Various UI improvements and fixes.
Credits
- @FathyMuhamed added the animated loading logo and command menu action for editor theme.
- @logaretm and @ismail9k guided Vue improvements.
Thank you ❤️
Features
- Command Menu: add editor theme option with translations (314b97c)
- CommandMenu: add editor theme action to command menu (88b67e3)
- Compilers: allow SFC to import other SFCs encoded as data URLs (11cef05)
- Compilers: run processors on SFC blocks (7208924)
- Compilers: vue, infer props from types (af91b7d)
- Config: add the value
"auto"toconfig.editoroptions (0f62de8) - Editor: add monaco-volar to improve Vue editor experience (badaf6a)
- Editor: allow folding lines and regions (984c913)
- Loading: replace logo with loading animation SVG in index.html (d8254f4)
- Templates: edit Vue template to infer props from types (9269d30)
- Translations: add editor theme translation to command menu (04fb14a)
- UI: pulsating loading logo (9c62d48)
Bug Fixes
- Build: fix incrementing release version (b12c8f9)
- Compilers: fix react native (support react v19) (ed3a533)
- Editor: fix TS errors for data url imports (60d9563)
- Editor: fix TS errors for http & relative imports (f6943cd)
- UI: fix gutter overflow (9c48c05)
- UI: fix hidden editor horizontal scroll bar (f368f1b)
- UI: fix modal focus in inputs (92f9416)
sdk-v0.9.1
sdk-v0.9.1 (2025-04-10)
Features
-
Editor: allow folding lines and regions (984c913)
A new config option
foldRegionswas added. When set totrue, regions marked by#regionand#endregioncomments are folded when the project is loaded.In addition, editor configurations (
config.markup,config.style,config.script) have a new propertyfoldLinesthat accepts an array of objects (e.g.[{ from: 1, to: 5 }]) that indicates which lines to fold. This can be useful for less relevant code in embedded playgrounds.
-
Config: add the value
"auto"toconfig.editoroptions (0f62de8)If set to
auto, Monaco editor is used on desktop and CodeMirror is used on mobile regardless of other settings. This can be useful in"simple"mode.
v43
v43 (2025-03-15)
Highlights for this release
This release added multiple new features and fixes, including:
- Vue and Svelte can now be used in the markup editor, in addition to the script editor. This allows having 2 components in a single project. (see docs).
- Vue and Svelte starter templates were updated to use multiple components.
- The editor (
markup,style,script) order in the UI can now be set using a neworderoption in the editor configuration. (e.g.config.markup.order). This can be useful, specially after adding support for Vue and Svelte in the markup editor, for example to have components followed by the styles. (see example). - Tailwind CSS plugins: In addition to allowing importing plugins from URLs, now plugins can be imported as bare modules (from npm) e.g.
@plugin "daisyui"{ /* ... */ }. - A new
daisyuistarter template was added (https://livecodes.io/?template=daisyui). - Significant improvements in docs website, including a dark mode, changing the default theme color used for demo playgrounds, and adding support for llms.txt files.
- Multiple fixes, notably, avoiding autofocus in embeds, fixing preact module resolution and type fixes.
Credits
- @logaretm suggested having multiple Vue components.
- @jcubic reported the conflicting modules in preact.
Thank you ❤️
This is the full list of changes:
Features
- Compilers: add svelte to markup languages (16e5091)
- Compilers: add vue to markup languages (70f5b33)
- Compilers: allow bare module tailwindcss plugins (c9e156c)
- Config: allow re-ordering code editors (5d73064)
- Import-maps: allow using custom file names to import from script editor (4499458)
- SDK: Change SDK react component type from
JSX.ElementtoReact.ReactElement<Props>(962d4da) - Templates: add daisyUI starter template (c24fc56)
- Templates: update vue and svelte templates to use multiple SFCs (3c42c61)
Bug Fixes
- App: avoid autofocusing embeds (cd33134)
- App: fix changing modes (84cf763)
- App: fix loading types in embeds (d5f727c)
- ci: update output variable for skip condition in
i18n-update-scheduled(dc2b625) - Editor: disable monaco mouse wheel zoom (b1596ef)
- Import-maps: fix importing duplicate instances of vue (ceb2868)
- Import-maps: fix preact module resolution (198becf), closes #752
- Types: fix importing react types in jsx/tsx (db605d3)