{"action":"created","issue":{"url":"https://api.github.com/repos/FreeOpcUa/python-opcua/issues/103","labels_url":"https://api.github.com/repos/FreeOpcUa/python-opcua/issues/103/labels{/name}","comments_url":"https://api.github.com/repos/FreeOpcUa/python-opcua/issues/103/comments","events_url":"https://api.github.com/repos/FreeOpcUa/python-opcua/issues/103/events","html_url":"https://github.com/FreeOpcUa/python-opcua/issues/103","id":124917133,"number":103,"title":"1.0 and 2.0 Release","user":{"login":"oroulet","id":2564046,"avatar_url":"https://avatars.githubusercontent.com/u/2564046?v=3","gravatar_id":"","url":"https://api.github.com/users/oroulet","html_url":"https://github.com/oroulet","followers_url":"https://api.github.com/users/oroulet/followers","following_url":"https://api.github.com/users/oroulet/following{/other_user}","gists_url":"https://api.github.com/users/oroulet/gists{/gist_id}","starred_url":"https://api.github.com/users/oroulet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oroulet/subscriptions","organizations_url":"https://api.github.com/users/oroulet/orgs","repos_url":"https://api.github.com/users/oroulet/repos","events_url":"https://api.github.com/users/oroulet/events{/privacy}","received_events_url":"https://api.github.com/users/oroulet/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/FreeOpcUa/python-opcua/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/FreeOpcUa/python-opcua/labels/question","name":"question","color":"cc317c"}],"state":"open","locked":false,"assignee":{"login":"oroulet","id":2564046,"avatar_url":"https://avatars.githubusercontent.com/u/2564046?v=3","gravatar_id":"","url":"https://api.github.com/users/oroulet","html_url":"https://github.com/oroulet","followers_url":"https://api.github.com/users/oroulet/followers","following_url":"https://api.github.com/users/oroulet/following{/other_user}","gists_url":"https://api.github.com/users/oroulet/gists{/gist_id}","starred_url":"https://api.github.com/users/oroulet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oroulet/subscriptions","organizations_url":"https://api.github.com/users/oroulet/orgs","repos_url":"https://api.github.com/users/oroulet/repos","events_url":"https://api.github.com/users/oroulet/events{/privacy}","received_events_url":"https://api.github.com/users/oroulet/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/FreeOpcUa/python-opcua/milestones/1","html_url":"https://github.com/FreeOpcUa/python-opcua/milestones/1.0","labels_url":"https://api.github.com/repos/FreeOpcUa/python-opcua/milestones/1/labels","id":1484240,"number":1,"title":"1.0","description":null,"creator":{"login":"oroulet","id":2564046,"avatar_url":"https://avatars.githubusercontent.com/u/2564046?v=3","gravatar_id":"","url":"https://api.github.com/users/oroulet","html_url":"https://github.com/oroulet","followers_url":"https://api.github.com/users/oroulet/followers","following_url":"https://api.github.com/users/oroulet/following{/other_user}","gists_url":"https://api.github.com/users/oroulet/gists{/gist_id}","starred_url":"https://api.github.com/users/oroulet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oroulet/subscriptions","organizations_url":"https://api.github.com/users/oroulet/orgs","repos_url":"https://api.github.com/users/oroulet/repos","events_url":"https://api.github.com/users/oroulet/events{/privacy}","received_events_url":"https://api.github.com/users/oroulet/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":0,"state":"open","created_at":"2016-01-05T08:13:22Z","updated_at":"2016-01-05T08:14:45Z","due_on":null,"closed_at":null},"comments":8,"created_at":"2016-01-05T08:14:45Z","updated_at":"2016-01-06T11:19:30Z","closed_at":null,"body":"Thanks to @alkor we now have support for encryption in both server and client. The OPC-UA implementation is now quasi complete. There are some shortcuts around, but even the proprietary stacks are not 100% perfect. I am waiting a bit to be sure we catch the most obvious bugs, then I propose to release a 1.0 version.\r\n\r\nIf someone knowns of  are missing big part of the protocol let me know\r\n\r\n2.0 will then be released when we support xml protocol, but I currently have no use for it so it will wait for someone motivated. It should not be very hard though..."},"comment":{"url":"https://api.github.com/repos/FreeOpcUa/python-opcua/issues/comments/169301142","html_url":"https://github.com/FreeOpcUa/python-opcua/issues/103#issuecomment-169301142","issue_url":"https://api.github.com/repos/FreeOpcUa/python-opcua/issues/103","id":169301142,"user":{"login":"huazh","id":12130700,"avatar_url":"https://avatars.githubusercontent.com/u/12130700?v=3","gravatar_id":"","url":"https://api.github.com/users/huazh","html_url":"https://github.com/huazh","followers_url":"https://api.github.com/users/huazh/followers","following_url":"https://api.github.com/users/huazh/following{/other_user}","gists_url":"https://api.github.com/users/huazh/gists{/gist_id}","starred_url":"https://api.github.com/users/huazh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/huazh/subscriptions","organizations_url":"https://api.github.com/users/huazh/orgs","repos_url":"https://api.github.com/users/huazh/repos","events_url":"https://api.github.com/users/huazh/events{/privacy}","received_events_url":"https://api.github.com/users/huazh/received_events","type":"User","site_admin":false},"created_at":"2016-01-06T11:19:30Z","updated_at":"2016-01-06T11:19:30Z","body":"The server code will not be more complex. We can use decorator to automatically submit most of InternalServer/InternalSession method to asyncio loop by call_soon(), then wait for the result. In  contrast, it will make code simpler as we can remove explicit locks to avoid subtle deadlock or race condition.\r\n\r\nI agree the best thing of asyncio is co-routines. To support pypy and python2, we can just use trollius on python3 as trollius could be used on python3 and it's compatible with asyncio (with some limitations).\r\n"}}