{"action":"created","issue":{"url":"https://api.github.com/repos/jupyter/jupyterlab/issues/1011","repository_url":"https://api.github.com/repos/jupyter/jupyterlab","labels_url":"https://api.github.com/repos/jupyter/jupyterlab/issues/1011/labels{/name}","comments_url":"https://api.github.com/repos/jupyter/jupyterlab/issues/1011/comments","events_url":"https://api.github.com/repos/jupyter/jupyterlab/issues/1011/events","html_url":"https://github.com/jupyter/jupyterlab/issues/1011","id":180148037,"number":1011,"title":"Handle compatibility of Lab Extensions","user":{"login":"blink1073","id":2096628,"avatar_url":"https://avatars.githubusercontent.com/u/2096628?v=3","gravatar_id":"","url":"https://api.github.com/users/blink1073","html_url":"https://github.com/blink1073","followers_url":"https://api.github.com/users/blink1073/followers","following_url":"https://api.github.com/users/blink1073/following{/other_user}","gists_url":"https://api.github.com/users/blink1073/gists{/gist_id}","starred_url":"https://api.github.com/users/blink1073/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/blink1073/subscriptions","organizations_url":"https://api.github.com/users/blink1073/orgs","repos_url":"https://api.github.com/users/blink1073/repos","events_url":"https://api.github.com/users/blink1073/events{/privacy}","received_events_url":"https://api.github.com/users/blink1073/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/jupyter/jupyterlab/labels/component:Build%20System","name":"component:Build System","color":"bfd4f2"},{"url":"https://api.github.com/repos/jupyter/jupyterlab/labels/type:Bug","name":"type:Bug","color":"ee0701"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/jupyter/jupyterlab/milestones/1","html_url":"https://github.com/jupyter/jupyterlab/milestones/0.90","labels_url":"https://api.github.com/repos/jupyter/jupyterlab/milestones/1/labels","id":1866462,"number":1,"title":"0.90","description":"A version of JupyterLab that is reasonably feature-complete and stable enough to be usable for day-to-day work. Targeted to early adopters and advanced users who are willing to put up with some rough edges and a few missing features and small regressions.\r\n\r\nThis is a marker for us to hit first; we'll then push out a series of 0.91, 0.92, ..., 0.9X releases until we've satisfied the [Milestone 1.0](https://github.com/jupyter/jupyterlab/milestones/2) criteria.","creator":{"login":"fperez","id":57394,"avatar_url":"https://avatars.githubusercontent.com/u/57394?v=3","gravatar_id":"","url":"https://api.github.com/users/fperez","html_url":"https://github.com/fperez","followers_url":"https://api.github.com/users/fperez/followers","following_url":"https://api.github.com/users/fperez/following{/other_user}","gists_url":"https://api.github.com/users/fperez/gists{/gist_id}","starred_url":"https://api.github.com/users/fperez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fperez/subscriptions","organizations_url":"https://api.github.com/users/fperez/orgs","repos_url":"https://api.github.com/users/fperez/repos","events_url":"https://api.github.com/users/fperez/events{/privacy}","received_events_url":"https://api.github.com/users/fperez/received_events","type":"User","site_admin":false},"open_issues":51,"closed_issues":237,"state":"open","created_at":"2016-07-06T00:50:01Z","updated_at":"2016-10-07T19:26:14Z","due_on":null,"closed_at":null},"comments":12,"created_at":"2016-09-29T20:03:11Z","updated_at":"2016-10-08T19:03:31Z","closed_at":null,"body":"## Problem\r\nCurrently, if a Lab extension is built against an incompatible version of JupyterLab, it causes the Application to fail to load with an error similar to the one below due to incompatible versions of `Token` objects.\r\n\r\n<img width=\"451\" alt=\"screen shot 2016-09-29 at 1 26 26 pm\" src=\"https://cloud.githubusercontent.com/assets/2096628/18970080/6e77cc0c-8655-11e6-9851-20253a59e906.png\">\r\n\r\n## Proposal\r\n- Special case JupyterLab and perhaps Phosphor in the JupyterLab builder script to be version-less (and perhaps not include them in the bundle).\r\n- Add the JupyterLab semver data to the manifest file, so we can determine whether it is a compatible extension.  \r\n- Force JupyterLab itself to a `devDependency` or a `dependency` of the extension that is being built, and throw an error if it does not exist.\r\n\r\n\r\n## Precedent\r\nBoth VSCode and Atom have an `\"engines\"` field in their `package.json` to specify a semver range of compatible versions of the application, and that code is expected to be provided by the environment.\r\n\r\nhttps://code.visualstudio.com/docs/extensionAPI/extension-manifest\r\nhttp://flight-manual.atom.io/hacking-atom/sections/package-word-count/"},"comment":{"url":"https://api.github.com/repos/jupyter/jupyterlab/issues/comments/252442219","html_url":"https://github.com/jupyter/jupyterlab/issues/1011#issuecomment-252442219","issue_url":"https://api.github.com/repos/jupyter/jupyterlab/issues/1011","id":252442219,"user":{"login":"jasongrout","id":192614,"avatar_url":"https://avatars.githubusercontent.com/u/192614?v=3","gravatar_id":"","url":"https://api.github.com/users/jasongrout","html_url":"https://github.com/jasongrout","followers_url":"https://api.github.com/users/jasongrout/followers","following_url":"https://api.github.com/users/jasongrout/following{/other_user}","gists_url":"https://api.github.com/users/jasongrout/gists{/gist_id}","starred_url":"https://api.github.com/users/jasongrout/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jasongrout/subscriptions","organizations_url":"https://api.github.com/users/jasongrout/orgs","repos_url":"https://api.github.com/users/jasongrout/repos","events_url":"https://api.github.com/users/jasongrout/events{/privacy}","received_events_url":"https://api.github.com/users/jasongrout/received_events","type":"User","site_admin":false},"created_at":"2016-10-08T19:03:31Z","updated_at":"2016-10-08T19:03:31Z","body":"Another idea is to treat the primary package modules differently than dependencies. Maybe the versioned loader should have this priority:\r\n\r\n(a) Find the max satisfying version of the primary package\r\n(b) If no primary package was found, find the max satisfying version of the specific module needed.\r\n"}}
{"actor":{"display_login":"jasongrout"}}