Releases: jupyterlite/cockle
v0.1.3
0.1.3
Enhancements made
- Perform tab completion in
Options
classes #225 (@ianthomas23) - Cache
FS.stat
information during tab completion #224 (@ianthomas23) - Add framework to support tab completion for built-in commands #222 (@ianthomas23)
- Improve tab completion of file and directory names #221 (@ianthomas23)
- Make
IExternalOutput
compatible withIOutput
#220 (@ianthomas23) - Pass command name in IContext rather than as separate argument to run() #219 (@ianthomas23)
- Support setting environment variables in cockle-config-in.json #212 (@ianthomas23)
- Make tab completion more modular #210 (@ianthomas23)
- Move tab completion to separate class #209 (@ianthomas23)
- Support subcommand options #207 (@ianthomas23)
- Add TrailingPathsOption #206 (@ianthomas23)
Bugs fixed
- Correctly identify when writing to tty #217 (@ianthomas23)
- Disable buffered IO before switching it #208 (@ianthomas23)
- Avoid multiple concurrent theme change handlers #205 (@ianthomas23)
Maintenance and upkeep improvements
- Update lua to 5.4.8 #218 (@ianthomas23)
- Add file read and write tests to WebAssembly and JavaScript commands #216 (@ianthomas23)
- Comprehensive testing of JavaScriptCommand #215 (@ianthomas23)
- Comprehensive testing of locally-built wasm command #214 (@ianthomas23)
Contributors to this release
v0.1.2
0.1.2
This release adds support for the less
command (with some significant limitations), various enhancements to external commands (TypeScript commands that run in the main UI thread), and initial support to determine the terminal background color to identify dark mode.
Enhancements made
- Increase theme change timeout to 100 ms #203 (@ianthomas23)
- Use termios raw mode to get terminal background color #202 (@ianthomas23)
- Use termios ONOCR instead of allowAdjacentNewline #201 (@ianthomas23)
- Check if terminal is dark or light mode #200 (@ianthomas23)
- Table layout API #199 (@ianthomas23)
- Support multiple extra channels via
COCKLE_WASM_EXTRA_CHANNEL
#198 (@ianthomas23) - Improved
ExternalEnvironment
#197 (@ianthomas23) - Setting aliases and env vars via Shell constructor #196 (@ianthomas23)
- Register external commands in Shell constructor only #195 (@ianthomas23)
- Support 24-bit RGB foreground and background color in TS/JS commands #194 (@ianthomas23)
- Add
less
WebAssembly command #191 (@ianthomas23) - Implement stdin for external commands #189 (@ianthomas23)
Maintenance and upkeep improvements
- Add tests for
nano
andvim
editors #190 (@ianthomas23)
Documentation improvements
- Remove stale changelog entries for pre-releases #204 (@ianthomas23)
Contributors to this release
v0.1.2-a1
0.1.2-a1
Enhancements made
- Use termios raw mode to get terminal background color #202 (@ianthomas23)
- Use termios ONOCR instead of allowAdjacentNewline #201 (@ianthomas23)
Contributors to this release
v0.1.2-a0
0.1.2-a0
Enhancements made
- Check if terminal is dark or light mode #200 (@ianthomas23)
- Table layout API #199 (@ianthomas23)
- Support multiple extra channels via
COCKLE_WASM_EXTRA_CHANNEL
#198 (@ianthomas23) - Improved
ExternalEnvironment
#197 (@ianthomas23) - Setting aliases and env vars via Shell constructor #196 (@ianthomas23)
- Register external commands in Shell constructor only #195 (@ianthomas23)
- Support 24-bit RGB foreground and background color in TS/JS commands #194 (@ianthomas23)
- Add
less
WebAssembly command #191 (@ianthomas23) - Implement stdin for external commands #189 (@ianthomas23)
Maintenance and upkeep improvements
- Add tests for
nano
andvim
editors #190 (@ianthomas23)
Contributors to this release
v0.1.1
0.1.1
This is a bug fix release to fix bugs in URLs and the use of ServiceWorker for stdin
.
Enhancements made
- Add git2cpp to demo #185 (@ianthomas23)
Bugs fixed
- Fix handling of timeout when vim uses service worker for stdin #188 (@ianthomas23)
- Join URLs correctly with a single slash between baseUrl and path #187 (@ianthomas23)
Contributors to this release
v0.1.0
0.1.0
This release adds support for using a ServiceWorker to provide stdin
whilst commands are running, as an alternative to the existing SharedArrayBuffer implementation. If running in the terminal the ServiceWorker is provided by JupyterLite, alternatively the ServiceWorker implementation provided here can be used instead as shown in the demo
. Use of a ServiceWorker means it is no longer necessary to serve cockle
using cross-origin headers.
If served with cross-origin headers both the SharedArrayBuffer and ServiceWorker stdin
implementations will be available, with SharedArrayBuffer used by default. The user can switch between them at runtime using the shell command cockle-config -s
.
This release also adds experimental support for two new classes of command:
- JavaScript command: runs in the WebWorker but the implementation is pure JavaScript, it does not include compiled WebAssembly.
- External command: runs in the main UI thread, intended to access JupyterLite internals.
Both of these are more limited than WebAssembly commands, and are labelled experimental as their APIs will definitely change.
Enhancements made
- Use
IOptions
whenregisterExternalCommand
#183 (@ianthomas23) - Include command name in
IExternalContext
andIJavaScriptContext
#181 (@ianthomas23) - Terminal service worker support #180 (@ianthomas23)
- Add experimental support for external commands #178 (@ianthomas23)
- Keep a permanent IContext in ShellImpl, don't recreate for each command run #175 (@ianthomas23)
- Support use of ServiceWorker for synchronous stdin #174 (@ianthomas23)
- Rename input options shellId and baseUrl #173 (@ianthomas23)
- Shell id, and stored in static ShellManager #172 (@ianthomas23)
Maintenance and upkeep improvements
- Prepare for v0.1.0 release #184 (@ianthomas23)
- Deploy on github pages #182 (@ianthomas23)
Contributors to this release
v0.1.0-a2
0.1.0-a2
Enhancements made
- Use
IOptions
whenregisterExternalCommand
#183 (@ianthomas23) - Include command name in
IExternalContext
andIJavaScriptContext
#181 (@ianthomas23)
Maintenance and upkeep improvements
- Deploy on github pages #182 (@ianthomas23)
Contributors to this release
v0.1.0-a1
0.1.0-a1
Enhancements made
- Terminal service worker support #180 (@ianthomas23)
Contributors to this release
v0.1.0-a0
0.1.0-a0
Pre-release to test the recent Service Worker improvements of #174 downstream in terminal, and start experimenting with external commands (#178).
Enhancements made
- Add experimental support for external commands #178 (@ianthomas23)
- Keep a permanent IContext in ShellImpl, don't recreate for each command run #175 (@ianthomas23)
- Support use of ServiceWorker for synchronous stdin #174 (@ianthomas23)
- Rename input options shellId and baseUrl #173 (@ianthomas23)
- Shell id, and stored in static ShellManager #172 (@ianthomas23)
Contributors to this release
v0.0.19
0.0.19
Enhancements made
- Add optional
browsingContextId
toIShell.IOptions
andIDriveFSOptions
#171 (@ianthomas23) - Negative timeout passed to
poll()
means infinite timeout #170 (@ianthomas23) - Support async read from stdin in JavaScript commands #169 (@ianthomas23)
- Add command information to
cockle-config
#166 (@ianthomas23) - Refactor SharedArrayBuffer buffered IO #164 (@ianthomas23)
- Output via postMessage rather than SharedArrayBuffer #163 (@ianthomas23)
Maintenance and upkeep improvements
- Remove micromamba pin in CI #168 (@ianthomas23)
- Add unit tests alongside existing integration tests #167 (@ianthomas23)
- Add tests for built-in command Options #165 (@ianthomas23)