Releases: jupyterlite/cockle
v1.4.1
1.4.1
This is a bug fix release to fix handling of extra WebAssembly channels when deploying, and to keep arguments with wildcards if filename expansion has no matches.
Bugs fixed
- Use comma to separate multiple channels in COCKLE_WASM_EXTRA_CHANNEL env var #293 (@ianthomas23)
- Keep arguments with wildcards if filename expansion has no matches #291 (@ianthomas23)
Maintenance and upkeep improvements
- Update screenshot in README #287 (@ianthomas23)
- Bump actions/upload-artifact from 6 to 7 in the actions group #288 (@ianthomas23)
Contributors to this release
The following people contributed discussions, new ideas, code and documentation contributions, and review.
See our definition of contributors.
v1.4.0
1.4.0
Cockle 1.4.0 switches from using WebAssembly command packages built using Emscripten 3.1.73 to Emscripten 4.0.9 that are available on the emscripten-forge-4x channel. New functionality includes a new optional cwd argument to IShell.IOptions to start the shell in a specific directory, and new environment variables for COCKLE_SHELL_ID and COCKLE_BROWSING_CONTEXT_ID.
Enhancements made
- Support setting
cwdinShellconstructorIOptions#286 (@ianthomas23) - Set env vars
COCKLE_SHELL_IDandCOCKLE_BROWSING_CONTEXT_ID#281 (@ianthomas23) - Support pre-colouring of individual table item strings #274 (@ianthomas23)
- Update to use emscripten 4.0.9 packages #261 (@ianthomas23)
Bugs fixed
- Apply aliases and env vars from constructor options after
cockle-config.json#282 (@ianthomas23) - Use
PROXYFSfrom wasm command if available #277 (@ianthomas23) - Fix paste into terminal command exceeding buffer size #276 (@ianthomas23)
- Fix
stderrredirection to file #275 (@ianthomas23)
Maintenance and upkeep improvements
- Fix tests for
vim9.2 #285 (@ianthomas23) - Don't run all workflows on forks #284 (@ianthomas23)
- Support use of a local CORS proxy in demo #283 (@ianthomas23)
- Add
git clonetest using local CORS proxy #279 (@ianthomas23) - Re-enable
git2cpp inittest #278 (@ianthomas23) - Update to
lua5.5.0 in tests #273 (@ianthomas23) - Fix dependabot label #272 (@ianthomas23)
- Bump actions/upload-artifact from 5 to 6 in the actions group #271 (@ianthomas23)
- Bump the actions group with 4 updates #270 (@ianthomas23)
- Add dependabot for github actions #269 (@ianthomas23)
Documentation improvements
- Fix readme #280 (@ianthomas23)
Contributors to this release
The following people contributed discussions, new ideas, code and documentation contributions, and review.
See our definition of contributors.
v1.3.0
1.3.0
Cockle 1.3.0 adds support for getting the current terminal size from external and javascript commands, and adds IOutput.isTerminal to check if writing to a terminal or not. There is also a fix for a significant bug handling timeouts using the service worker for stdin when running interactive commands such as vim.
Enhancements made
- Support getting current window size from external and javascript commands #265 (@ianthomas23)
- Support version restrictions for wasm command packages #260 (@ianthomas23)
- Add
IOutput.isTerminal()function #258 (@ianthomas23) - Combine boolean argument short names #257 (@ianthomas23)
- Validate length of argument short and long names #256 (@ianthomas23)
Bugs fixed
- Fix newline at top of terminal after clear command #268 (@ianthomas23)
- Don't update env at end of wasm command #267 (@ianthomas23)
- Correctly handle infinite poll timeout in service worker IO #263 (@ianthomas23)
Maintenance and upkeep improvements
- Enforce type imports #266 (@ianthomas23)
- Refactor SharedArrayBuffer stdin #264 (@ianthomas23)
- Correctly setup tests for stdin via service worker #262 (@ianthomas23)
- Remove unneeded .nojekyll file #259 (@ianthomas23)
Contributors to this release
v1.2.0
1.2.0
Cockle 1.2.0 is a minor release adding support for changing termios settings in external commands (running in main UI thread) and javascript commands (running in cockle WebWorker), some improvements to tab completion using Argument classes, and a new environment variables COCKLE_DARK_MODE so that external/javascript commands can use colours based on whether the attached terminal is in dark or light mode.
Enhancements made
- Support changing termios settings in TypeScript external commands #254 (@ianthomas23)
- Support changing termios settings in JavaScript commands #253 (@ianthomas23)
- Allow
PositionalArgumentsto returnpathTypeas well as possible matches #252 (@ianthomas23) - Add
shellIdto all run and tab completeContextclasses #251 (@ianthomas23) - Use env var COCKLE_DARK_MODE to record if dark mode or not #250 (@ianthomas23)
- Account for previous flags in tab completion possibles callback #249 (@ianthomas23)
Bugs fixed
- Correct handling of multiple adjacent newlines #255 (@ianthomas23)
Contributors to this release
v1.1.0
1.1.0
Cockle 1.1.0 adds enhancements to the cockle-config command, help for built-in commands, and tab completion, and fixes a bug in filename tab completion. git2cpp has been added to the test suite and demo deployment as it has started to become useful; further enhancements to git2cpp will follow.
Enhancements made
- Add
git2cppto demo and tests #246 (@ianthomas23) - Support tab completion of the last of multiple commands #245 (@ianthomas23)
- Support filtering by command type in
cockle-config command#244 (@ianthomas23) - Show both short and long name options for builtin command help #243 (@ianthomas23)
- Make PositionalArguments.possibles async #242 (@ianthomas23)
Bugs fixed
- Fix tab complete at dot in filename #248 (@ianthomas23)
Contributors to this release
v1.0.0
1.0.0
This is a major release introducing support for tab completion in built-in, external and javascript commands via CommandArguments classes. There are also new built-in commands false, true, help and which.
The changes in external commands, command contexts and command argument classes are backwards incompatible, hence the major version bump.
Thanks to new contributors @martinRenou and @nakul-py.
Enhancements made
- Support pasting of multiple characters to the command line #240 (@ianthomas23)
- Use
Arguments.tabCompletefor builtin commands #238 (@ianthomas23) - Expose
IShell.exitCode()and use in exit code tests #237 (@ianthomas23) - Adding
helpfor builtin commands #236 (@nakul-py) - Rename
IExternalContextasIExternalRunContext#233 (@ianthomas23) - Pass optional dark/light mode boolean to
IShell.themeChange#232 (@ianthomas23) - Rename
Optionsclasses toArguments#231 (@ianthomas23) - Implement
trueandfalsecommands #229 (@martinRenou) - Implement
whichcommand #228 (@martinRenou) - Add tab completion for external commands #227 (@ianthomas23)
- Add tab completion via
Optionsclasses inJavaScriptCommands#226 (@ianthomas23)
Bugs fixed
- Fix display of help for some builtin commands #235 (@ianthomas23)
Maintenance and upkeep improvements
- Update
demo.pngfor 1.0.0 release #241 (@ianthomas23) - Sort imports and add
src/commands/index.ts#239 (@ianthomas23) - List all playwright tests, even if they all pass #230 (@ianthomas23)
Contributors to this release
v0.1.3
0.1.3
Enhancements made
- Perform tab completion in
Optionsclasses #225 (@ianthomas23) - Cache
FS.statinformation 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
IExternalOutputcompatible 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
lessWebAssembly command #191 (@ianthomas23) - Implement stdin for external commands #189 (@ianthomas23)
Maintenance and upkeep improvements
- Add tests for
nanoandvimeditors #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
lessWebAssembly command #191 (@ianthomas23) - Implement stdin for external commands #189 (@ianthomas23)
Maintenance and upkeep improvements
- Add tests for
nanoandvimeditors #190 (@ianthomas23)