{"action":"created","issue":{"url":"https://api.github.com/repos/Hammerspoon/hammerspoon/issues/729","labels_url":"https://api.github.com/repos/Hammerspoon/hammerspoon/issues/729/labels{/name}","comments_url":"https://api.github.com/repos/Hammerspoon/hammerspoon/issues/729/comments","events_url":"https://api.github.com/repos/Hammerspoon/hammerspoon/issues/729/events","html_url":"https://github.com/Hammerspoon/hammerspoon/issues/729","id":126957465,"number":729,"title":"When do we 1.0?","user":{"login":"cmsj","id":353427,"avatar_url":"https://avatars.githubusercontent.com/u/353427?v=3","gravatar_id":"","url":"https://api.github.com/users/cmsj","html_url":"https://github.com/cmsj","followers_url":"https://api.github.com/users/cmsj/followers","following_url":"https://api.github.com/users/cmsj/following{/other_user}","gists_url":"https://api.github.com/users/cmsj/gists{/gist_id}","starred_url":"https://api.github.com/users/cmsj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cmsj/subscriptions","organizations_url":"https://api.github.com/users/cmsj/orgs","repos_url":"https://api.github.com/users/cmsj/repos","events_url":"https://api.github.com/users/cmsj/events{/privacy}","received_events_url":"https://api.github.com/users/cmsj/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-01-15T21:01:53Z","updated_at":"2016-01-15T21:31:01Z","closed_at":null,"body":"This is a very vague issue, but it occurs to me that we're generally pretty API stable, and I'm not quite sure why we're not at 1.0 yet.\r\n\r\nPart of me thinks that a worthy 1.0 goal would be to rewrite a large number of the extensions so they're all using common patterns, taking full advantage of LuaSkin, etc. However, I'm not sure how much it's worth it, and whether it would be worth all the regressions we'd introduce (vs rewriting them individually as we feel the need to).\r\n\r\nWe seem to also be pretty stable code-wise, the crash reports that we get are inscrutable and either mean we have one or two very fundamental memory bugs somewhere, or we have users with dodgy RAM/installs.\r\n\r\nWhat do people actually think we should put on a roadmap to get us to 1.0?"},"comment":{"url":"https://api.github.com/repos/Hammerspoon/hammerspoon/issues/comments/172098432","html_url":"https://github.com/Hammerspoon/hammerspoon/issues/729#issuecomment-172098432","issue_url":"https://api.github.com/repos/Hammerspoon/hammerspoon/issues/729","id":172098432,"user":{"login":"asmagill","id":8139480,"avatar_url":"https://avatars.githubusercontent.com/u/8139480?v=3","gravatar_id":"","url":"https://api.github.com/users/asmagill","html_url":"https://github.com/asmagill","followers_url":"https://api.github.com/users/asmagill/followers","following_url":"https://api.github.com/users/asmagill/following{/other_user}","gists_url":"https://api.github.com/users/asmagill/gists{/gist_id}","starred_url":"https://api.github.com/users/asmagill/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/asmagill/subscriptions","organizations_url":"https://api.github.com/users/asmagill/orgs","repos_url":"https://api.github.com/users/asmagill/repos","events_url":"https://api.github.com/users/asmagill/events{/privacy}","received_events_url":"https://api.github.com/users/asmagill/received_events","type":"User","site_admin":false},"created_at":"2016-01-15T21:31:01Z","updated_at":"2016-01-15T21:31:01Z","body":"Regarding the inscrutable crashes, one thing I added in the recent LuaSkin update that I haven't really mentioned before is a lua_atpanic function which logs the error message at the top of the stack, prefixed with \"LUA_AT_PANIC:\" via CLS_NSLOG, so hopefully some of the crashes which occur somewhere in the lua internals may become slightly less inscrutable...\r\n\r\nAs to the issue itself, I would like to see in 1.0:\r\n\r\n* Finally removing any reference/need for hammerspoon.h... this will mean all internal modules (those that need external Hammerspoon functionality, at any rate) will be utilizing LuaSkin (and its delegate) to some degree, even if they aren't fully taking advantage of all of the utility or protections LuaSkin offers.\r\n* A once over (or even a twice over) of all of the documentation -- we still have some typos and a few items which aren't fully described clearly.\r\n* Modify hs.webview and hs.console so that they no longer offer `:asHSDrawing()` -- rather use it internally to wrap the drawing methods which are safely compatible -- I've found that even with the checks for drawing type in most of hs.drawing's methods, there are still a few which could still crash if used on a \"drawing\" which is really a mimicry of another object, and it seems cleaner to fix webview and console, since they are the interlopers. (this is on my list for next week, so this is more of a reminder to myself)\r\n\r\nI plan to do a rewrite of hs.pasteboard and hs.sound at some point, and will certainly fully utilize LuaSkin when I do, but from the users perspective, it should only be additions, and I don't know exactly when I'll get to it, so I don't think this should be a show stopper for 1.0.  I have no specific plans for the other modules, so \"if and when\" seems sufficient, and while I do have a couple of additions in the works, I hope to have them ready for review in a week, give or take."}}