ANN: 0.8.0-alpha pre-release!!!

6,945 views
Skip to first unread message

cldwalker

unread,
Oct 24, 2015, 10:46:53 AM10/24/15
to Light Table Discussion

Hi All,

We are excited to announce an 0.8.0-alpha release of LightTable! This is the first release solely lead by the open source team. Many thanks to our many contributors including Chris and Mike with the move to Electron. As with any pre-release, there may be some bugs. If reporting bugs, please check known bugs and provide reproducible steps.

To download LightTable, go to https://github.com/LightTable/LightTable/releases/tag/0.8.0-alpha and download the package for your operating system. For linux users, 32-bit and 64-bit have been merged into one linux package. For OSX users, the install process involves the following steps until we officially sign our OSX App:

  • In Finder, Ctrl-click on LightTable.app/ and select Open.
  • When you see this prompt about LightTable being unidentified, click Open.
  • If Ctrl-click doesn't work for you, open System Preferences > Security & Privacy > General, temporarily change "Allow apps downloaded from:" to Anywhere and double click on LightTable.app.

This release has a large number of changes with the most important ones being:

  • CHANGED: We have switched to Electron from NW.js
  • CHANGED: LT's releases and self-updating processes are completely in the open on Github
  • CHANGED: We no longer ship with a node binary as we're able to use Electon's node binary for background processes
  • ADDED: LT can be built from source with provided scripts across supported platforms
  • ADDED: Improved documentation - most core fns have docstrings, all namespaces have docstrings and developer docs
  • ADDED: Most of LT's node libraries are installed as npm dependencies instead of as forked libraries
  • FIX: Major usability issues on >= OSX 10.10
  • CHANGED: :lt.objs.app/set-default-zoom-level behavior takes a value from 0 to 1. With nw.js, it could take negative numbers which no longer work and will freeze LT on startup
  • CHANGED: Proxy support has been disabled. There is an issue for re-enabling it athttps://github.com/LightTable/LightTable/issues/1984. We are looking for help on how to QA this.
  • CHANGED: When opening a file from the commandline, each invocation opens a new LightTable app regardless of whether LightTable is already open. To optionally bring back the old behavior, see https://github.com/LightTable/LightTable/issues/2014.

Notes for plugin authors:

  • lt.objs.app/window-number numbering now starts on 1 instead of 0. We encourage you to uselt.objs.app/first-window
  • Use lt.objs.platform/electron set to true if your plugin needs to detect for behavior specific to LT versions before or after 0.8.0 (and electron).
  • The following fns have been removed: lt.objs.thread/node-exe and lt.objs.app/extract!

Cheers,

The LightTable Team - Magnus, Kenny and Gabriel

Atamert Ölçgen

unread,
Oct 24, 2015, 11:01:25 AM10/24/15
to light-table...@googlegroups.com
Congratulations and thanks for all the hard work! I was so looking forward to this.

Is there a upgrade guide from 0.7?

Assuming I have to do a new install:

If I copy my user behavior & user keymap, would that be enough?

How can I get the same set of plugins? (other than noting the names one by one and then installing them one by one)


--
You received this message because you are subscribed to the Google Groups "Light Table Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to light-table-discu...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.



--
Kind Regards,
Atamert Ölçgen

◻◼◻
◻◻◼
◼◼◼

www.muhuk.com

Gabriel Horner

unread,
Oct 24, 2015, 11:44:40 AM10/24/15
to light-table...@googlegroups.com
Hi Atamert,
 There isn't an upgrade guide yet but hopefully we can help you along and eventually make one :)

If you're coming from 0.7, you should be able to be copy over your behaviors and keymaps since the new flat config format was introduced in 0.7. If you still have your old 0.7 install around, your installed plugins would be in PLUGINS/../User/plugin.edn where PLUGINS is the the plugins directory . If you take that plugin.edn file and copy it to the same location once the new LT is installed, LT prompts to install those plugins on startup. In general, I'd recommend understanding the User plugin that comes with LightTable as it allows you to save your settings across versions, put it in git and share your configuration with others. For example, here is my LT configuration

Cheers,
Gabriel


alexei guevara

unread,
Oct 24, 2015, 2:37:47 PM10/24/15
to Light Table Discussion
Wow congratulations !!

Atamert Ölçgen

unread,
Oct 25, 2015, 5:01:22 AM10/25/15
to light-table...@googlegroups.com
Hi Gabriel,

On Sat, Oct 24, 2015 at 6:44 PM, Gabriel Horner <gabriel...@gmail.com> wrote:
Hi Atamert,
 There isn't an upgrade guide yet but hopefully we can help you along and eventually make one :)

If you're coming from 0.7, you should be able to be copy over your behaviors and keymaps since the new flat config format was introduced in 0.7. If you still have your old 0.7 install around, your installed plugins would be in PLUGINS/../User/plugin.edn where PLUGINS is the the plugins directory . If you take that plugin.edn file and copy it to the same location once the new LT is installed, LT prompts to install those plugins on startup. In general, I'd recommend understanding the User plugin that comes with LightTable as it allows you to save your settings across versions, put it in git and share your configuration with others. For example, here is my LT configuration

Thanks for the info, I appreciate it.

I read the changelog and spent quite some time being careful not to break anything... Then I figured the binary installation uses ~/.config/LightTable to store everything. I was puzzled when user.keymap file didn't have my bindings etc. So I just unpacked the new binary dist and changed updated my shortcut.

I'll look into the User plugin in more detail in the future.

Everything works except Recall plugin which depends on the old platform. (https://github.com/joshuafcole/recall/issues/19)

New editor looks snappy too.

Tim Thatsme

unread,
Oct 25, 2015, 12:25:54 PM10/25/15
to Light Table Discussion
Thanks for this update!

Regarding:

  • CHANGED: LT's releases and self-updating processes are completely in the open on Github
I gave version 0.8.0 a whirl, but I'm frequently getting a connection error (my environment always defaults to disable internet connection and requires abnormal steps to turn on). Is there a mechanism to turn self-updating off? I did look for an auto-update option in the fuzzy-match drop-down within the user behaviours file, but found nothing. When I used LT long ago I swear this once existed.

Also, considering the self-updating process is now "completely" open, maybe self-updating should default to off? 

P.S. I've noticed that LT is not just doing the check on app launch, but *seems* to do it when attempting other types of connections such as connecting to an external browser or when the app tries to update project.clj resources. I could be wrong on what triggers it, but it is more than just on app launch. I'm not sure if that's by design, but it I wouldn't expect that to happen.

Thanks,
Tim

LT: 0.8.0-alpha
System: Mac OSX 10.10.4
Error:

Gabriel Horner

unread,
Oct 25, 2015, 1:46:34 PM10/25/15
to light-table...@googlegroups.com
On Sun, Oct 25, 2015 at 5:00 AM, Atamert Ölçgen <mu...@muhuk.com> wrote:
Hi Gabriel,

On Sat, Oct 24, 2015 at 6:44 PM, Gabriel Horner <gabriel...@gmail.com> wrote:
Hi Atamert,
 There isn't an upgrade guide yet but hopefully we can help you along and eventually make one :)

If you're coming from 0.7, you should be able to be copy over your behaviors and keymaps since the new flat config format was introduced in 0.7. If you still have your old 0.7 install around, your installed plugins would be in PLUGINS/../User/plugin.edn where PLUGINS is the the plugins directory . If you take that plugin.edn file and copy it to the same location once the new LT is installed, LT prompts to install those plugins on startup. In general, I'd recommend understanding the User plugin that comes with LightTable as it allows you to save your settings across versions, put it in git and share your configuration with others. For example, here is my LT configuration

Thanks for the info, I appreciate it.

I read the changelog and spent quite some time being careful not to break anything... Then I figured the binary installation uses ~/.config/LightTable to store everything. I was puzzled when user.keymap file didn't have my bindings etc. So I just unpacked the new binary dist and changed updated my shortcut.

I'll look into the User plugin in more detail in the future.

Everything works except Recall plugin which depends on the old platform. (https://github.com/joshuafcole/recall/issues/19)

I've been using Reminisce in place of Recall as it works with the latest LightTable. Until Reminisce releases a new version, you'll need to git clone it to your plugins directory

Cheers,
Gabriel

Gabriel Horner

unread,
Oct 25, 2015, 2:10:23 PM10/25/15
to light-table...@googlegroups.com
Hi Tim,

On Sun, Oct 25, 2015 at 12:25 PM, Tim Thatsme <tcr...@gmail.com> wrote:
Thanks for this update!

Regarding:

  • CHANGED: LT's releases and self-updating processes are completely in the open on Github
I gave version 0.8.0 a whirl, but I'm frequently getting a connection error (my environment always defaults to disable internet connection and requires abnormal steps to turn on). Is there a mechanism to turn self-updating off? I did look for an auto-update option in the fuzzy-match drop-down within the user behaviours file, but found nothing. When I used LT long ago I swear this once existed.


Yep! Turn off self-updating with ` [:app :-lt.objs.deploy/check-version]`. You may also want to disable metrics if you normally work offline.

Also, considering the self-updating process is now "completely" open, maybe self-updating should default to off? 

P.S. I've noticed that LT is not just doing the check on app launch, but *seems* to do it when attempting other types of connections such as connecting to an external browser or when the app tries to update project.clj resources. I could be wrong on what triggers it, but it is more than just on app launch. I'm not sure if that's by design, but it I wouldn't expect that to happen.

Self-updating checks do happen periodically but aren't related to those features.

Cheers,
Gabriel


Thanks,
Tim

LT: 0.8.0-alpha
System: Mac OSX 10.10.4
Error:

Tim Thatsme

unread,
Oct 25, 2015, 3:25:09 PM10/25/15
to Light Table Discussion
Wow, even the Wiki docs have had major improvements! Now I know to check there first...
Thanks,
Tim 

Michael Landis

unread,
Oct 26, 2015, 11:30:48 AM10/26/15
to Light Table Discussion
Did I drop in at a bad time?  I have no prior experience with LightTable.  My first exposure is downloading the 0.8.0-alpha-windows release, unpacking, ... when I run the executable (on 64-bit Windows-10), I get a window with a close box, but nothing works (not even the close box).  Alpha can't be that far off the mark.  What gives?

George Oliver

unread,
Oct 26, 2015, 11:14:32 PM10/26/15
to Light Table Discussion


On Monday, October 26, 2015 at 8:30:48 AM UTC-7, Michael Landis wrote:
Did I drop in at a bad time?  I have no prior experience with LightTable.  My first exposure is downloading the 0.8.0-alpha-windows release, unpacking, ... when I run the executable (on 64-bit Windows-10), I get a window with a close box, but nothing works (not even the close box).  Alpha can't be that far off the mark.  What gives?


hey Michael, it works OK for me on Windows 7; given that there's a note on the release page that the exe was built on 7 maybe building the alpha from source will work better for you? 

Atamert Ölçgen

unread,
Oct 27, 2015, 2:43:00 PM10/27/15
to light-table...@googlegroups.com
On Sun, Oct 25, 2015 at 7:46 PM, Gabriel Horner <gabriel...@gmail.com> wrote:

On Sun, Oct 25, 2015 at 5:00 AM, Atamert Ölçgen <mu...@muhuk.com> wrote:
Hi Gabriel,

On Sat, Oct 24, 2015 at 6:44 PM, Gabriel Horner <gabriel...@gmail.com> wrote:
Hi Atamert,
 There isn't an upgrade guide yet but hopefully we can help you along and eventually make one :)

If you're coming from 0.7, you should be able to be copy over your behaviors and keymaps since the new flat config format was introduced in 0.7. If you still have your old 0.7 install around, your installed plugins would be in PLUGINS/../User/plugin.edn where PLUGINS is the the plugins directory . If you take that plugin.edn file and copy it to the same location once the new LT is installed, LT prompts to install those plugins on startup. In general, I'd recommend understanding the User plugin that comes with LightTable as it allows you to save your settings across versions, put it in git and share your configuration with others. For example, here is my LT configuration

Thanks for the info, I appreciate it.

I read the changelog and spent quite some time being careful not to break anything... Then I figured the binary installation uses ~/.config/LightTable to store everything. I was puzzled when user.keymap file didn't have my bindings etc. So I just unpacked the new binary dist and changed updated my shortcut.

I'll look into the User plugin in more detail in the future.

Everything works except Recall plugin which depends on the old platform. (https://github.com/joshuafcole/recall/issues/19)

I've been using Reminisce in place of Recall as it works with the latest LightTable. Until Reminisce releases a new version, you'll need to git clone it to your plugins directory

Sadly tabsets are not supported.

I was wondering; to open a second tabset when LT starts, do I need to call create tabset command in my user.cljs?

Gabriel Horner

unread,
Oct 27, 2015, 11:10:24 PM10/27/15
to light-table...@googlegroups.com
On Sun, Oct 25, 2015 at 2:46 PM, Atamert Ölçgen <mu...@muhuk.com> wrote:


On Sun, Oct 25, 2015 at 7:46 PM, Gabriel Horner <gabriel...@gmail.com> wrote:

On Sun, Oct 25, 2015 at 5:00 AM, Atamert Ölçgen <mu...@muhuk.com> wrote:
Hi Gabriel,

On Sat, Oct 24, 2015 at 6:44 PM, Gabriel Horner <gabriel...@gmail.com> wrote:
Hi Atamert,
 There isn't an upgrade guide yet but hopefully we can help you along and eventually make one :)

If you're coming from 0.7, you should be able to be copy over your behaviors and keymaps since the new flat config format was introduced in 0.7. If you still have your old 0.7 install around, your installed plugins would be in PLUGINS/../User/plugin.edn where PLUGINS is the the plugins directory . If you take that plugin.edn file and copy it to the same location once the new LT is installed, LT prompts to install those plugins on startup. In general, I'd recommend understanding the User plugin that comes with LightTable as it allows you to save your settings across versions, put it in git and share your configuration with others. For example, here is my LT configuration

Thanks for the info, I appreciate it.

I read the changelog and spent quite some time being careful not to break anything... Then I figured the binary installation uses ~/.config/LightTable to store everything. I was puzzled when user.keymap file didn't have my bindings etc. So I just unpacked the new binary dist and changed updated my shortcut.

I'll look into the User plugin in more detail in the future.

Everything works except Recall plugin which depends on the old platform. (https://github.com/joshuafcole/recall/issues/19)

I've been using Reminisce in place of Recall as it works with the latest LightTable. Until Reminisce releases a new version, you'll need to git clone it to your plugins directory

Sadly tabsets are not supported.

I was wondering; to open a second tabset when LT starts, do I need to call create tabset command in my user.cljs?

To define a custom behavior on startup use the :lt.objs.app/run-post-init behavior. For example, if I wanted to create a tabset, move to that tabset and create a new file in that tabset, I'd add this to my user.behaviors:
[:app :lt.objs.app/run-post-init [:tabset.new :tabset.next :new-file]]

If you want to run a custom command on startup, creating it in user.cljs and using it in the above behavior would be the way to go

Cheers,
Gabriel

Atamert Ölçgen

unread,
Oct 30, 2015, 3:15:36 PM10/30/15
to light-table...@googlegroups.com
Hi Gabriel, 

Thanks a lot! (the solution turned out to be quite unlike what I imagined, much simpler)

One of these weekends I'll learn me some LT plugin dev.

Reply all
Reply to author
Forward
0 new messages