ANN: Juno 0.10

Hi all,

Juno 0.10 is out and brings you lots of bugfixes, improvements, and some exciting new features. Big thanks to @aviatesk for all his work on Juno in the last months!

Release notes

New features

  • Auto-completions include local bindings (#165):

    These completions are generated by statically inspecting the current code block (with CSTParser.jl) and are sorted by proximity to the cursor.
  • Filterable outline view, that displays all global bindings in the current file (#165):
    image
    Clicking on an entry takes you to the definition, and the cursor location is highlighted.
  • Added the Julia Client: Close Juno Panes command (#598).
  • Added an option to directly boot into an external terminal (#599).
  • The auto completion pop up now shows a More... link that opens the Documenation Browser (#601).

Improvements

  • Icons in the Workspace, Documentation Browser, and in auto completions are now consistent (#153).
  • Various improvements to the Documentation Browser (#152).
  • Various improvements to auto completions (#151).
  • The Workspace now shows undefined bindings (#156).
  • Progress logging now always respects the global logger (#159).
  • Debugger REPL prompt shows whether you’re in Compiled Mode or not. The debugger REPL also gives proper auto completions now, including local bindings in the current method (#167).
  • julia-client shows a warning if the currently installed version of ink is probably incompatible (#607).
  • Documentation search should work much better, and once again allows you to search through all installed packages, as opposed to only the loaded packages (#10, #11).
  • Improved display of large nested vectors (performance should be much better now).
  • Various style improvements.
  • Better tests for the whole Juno ecosystem, removal of a bunch of old code.

Bugfixes

  • Julia Client: New Terminal selector now works more consistently (ab4cf8b).

Installation

Important : Restart Atom before updating julia-client or ink and do not start a Julia session.

If that does not work, close all Atom windows and type

apm update

into your terminal. If that also doesn’t work, try

apm uninstall ink
apm uninstall julia-client
apm install ink
apm install julia-client

instead.

Versions

Important : This release requires Atom 1.39, 1.40.1, or higher.

As always, make sure all Julia and Atom packages are up-to-date.

Julia packages:

  • Atom.jl version: 0.10.0
  • Juno.jl version: 0.7.2

Atom packages:

  • julia-client version: 0.10.1
  • ink version: 0.11.0
32 Likes

Since the/some update (I jumped quite a few versions due to the Atom bugs) the following message get’s sprinkled seemingly randomly in the REPL:

julia> ┌ Warning: Atom.jl: unrecognised message outline.
└ @ Atom C:\Users\jk\.julia\packages\Atom\Wouyw\src\comm.jl:171

Any idea what’s behind that?
Julia 1.1.0 with Atom 1.40.1 and julia-client 0.10.0.

Yeah, you’re not on the latest release of Atom.jl (at least version 0.10 is required, as mentioned above).

I think so?

(v1.1) pkg> st
    Status `C:\Users\jk\.julia\environments\v1.1\Project.toml`
  [c52e3926] Atom v0.10.1

Did you restart your Julia session after updating (ìf you’re using the Process Cycler then you might need to kill a couple of processes, or just restart Atom)?

1 Like

I was pretty sure I did that (and not just once) but oh well, that seems to have fixed it; thanks! :+1:

1 Like

Quick update: julia-client v0.10.1 fixes a (fairly substantial) performance regression when editing Julia code with multiple cursors.

3 Likes

this happens almost every time I update Juno. When I open up atom the Julia side bar and every thing is gone :frowning:

It doesn’t work with Julia 1.3-rc1 right?

Yeah, there’s a bug in Julia 1.3-RC1 that means Juno won’t work. RC2 should work though, once that’s out.

1 Like

I am having trouble installing the latest Juno. I am on Atom v1.40, and

(v1.1) pkg> status Atom
    Status `~/.julia/environments/v1.1/Project.toml`
  [c52e3926] Atom v0.10.1
  [682c06a0] JSON v0.21.0
  [e5e0dc1b] Juno v0.7.2
  [37b6cedf] Traceur v0.3.0

If I delete all Juno packages from the package manager, and then install uber-juno I get the following error message

Please check your internet connection, or report this to
    http://discuss.junolab.org
and we'll try to help.
    –––
Error: Installing “julia-client@0.10.1” failed.

If, instead, I try to use apm to uninstall and then install ink and julia-client, then I get the more detailed message

(base) Fuji-2:~ ortner$ apm install julia-client
Installing julia-client to /Users/ortner/.atom/packages ✗

> @pfitzseb/node-pty-prebuilt@0.8.1-prebuilt3 install /private/var/folders/6_/0g4_trws39v6l0lyfpygjpzr0000gn/T/apm-install-dir-11988-2256-160ut37.c1ae/node_modules/julia-client/node_modules/@pfitzseb/node-pty-prebuilt
> prebuild-install || node scripts/install.js


prebuild-install WARN install No prebuilt binaries found (target=3.1.10 runtime=node arch=x64 libc= platform=darwin)
gyp ERR! configure error
gyp ERR! stack Error: Python executable "/Applications/Atom.app/Contents/Resources/app/apm/bin/python-interceptor.sh" is v3.7.3, which is not supported by gyp.
gyp ERR! stack You can pass the --python switch to point to Python >= v2.5.0 & < 3.0.0.
gyp ERR! stack     at PythonFinder.failPythonVersion (/Applications/Atom.app/Contents/Resources/app/apm/node_modules/npm/node_modules/node-gyp/lib/configure.js:501:19)
gyp ERR! stack     at PythonFinder.<anonymous> (/Applications/Atom.app/Contents/Resources/app/apm/node_modules/npm/node_modules/node-gyp/lib/configure.js:483:14)
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:282:7)
gyp ERR! stack     at ChildProcess.emit (events.js:182:13)
gyp ERR! stack     at maybeClose (internal/child_process.js:961:16)
gyp ERR! stack     at Socket.stream.socket.on (internal/child_process.js:380:11)
gyp ERR! stack     at Socket.emit (events.js:182:13)
gyp ERR! stack     at Pipe._handle.close [as _onclose] (net.js:596:12)
gyp ERR! System Darwin 18.7.0
gyp ERR! command "/Applications/Atom.app/Contents/Resources/app/apm/bin/node" "/Applications/Atom.app/Contents/Resources/app/apm/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /private/var/folders/6_/0g4_trws39v6l0lyfpygjpzr0000gn/T/apm-install-dir-11988-2256-160ut37.c1ae/node_modules/julia-client/node_modules/@pfitzseb/node-pty-prebuilt
gyp ERR! node -v v10.2.1
gyp ERR! node-gyp -v v3.7.0
gyp ERR! not ok
npm WARN enoent ENOENT: no such file or directory, open '/private/var/folders/6_/0g4_trws39v6l0lyfpygjpzr0000gn/T/apm-install-dir-11988-2256-160ut37.c1ae/package.json'
npm WARN apm-install-dir-11988-2256-160ut37.c1ae No description
npm WARN apm-install-dir-11988-2256-160ut37.c1ae No repository field.
npm WARN apm-install-dir-11988-2256-160ut37.c1ae No README data
npm WARN apm-install-dir-11988-2256-160ut37.c1ae No license field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @pfitzseb/node-pty-prebuilt@0.8.1-prebuilt3 install: `prebuild-install || node scripts/install.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the @pfitzseb/node-pty-prebuilt@0.8.1-prebuilt3 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/ortner/.atom/.apm/_logs/2019-09-08T19_47_44_655Z-debug.log

Ah, right, you need to be on Atom 1.40.1 or 1.39 (there’s a bug in 1.40.0 that prevents installation of julia-client – updated the first post to reflect that).

I see, thanks! Ah - I now also see it in the instructions, sorry I missed this.