blob: 0bd04eaceee9f2ce699349921e555d5d43b465cb [file] [log] [blame]
{"checks":{"bugzilla_create_url":{"desc":"Checks if the URL can be fetched using a simple get query.","results":["OK: Create <a href=\"https:\/\/bugs.eclipse.org\/bugs\/enter_bug.cgi?product=Paho\">URL<\/a> could be successfully fetched."],"value":"https:\/\/bugs.eclipse.org\/bugs\/enter_bug.cgi?product=Paho"},"bugzilla_query_url":{"desc":"Checks if the URL can be fetched using a simple get query.","results":["OK: Query <a href=\"https:\/\/bugs.eclipse.org\/bugs\/buglist.cgi?product=Paho\">URL<\/a> could be successfully fetched."],"value":"https:\/\/bugs.eclipse.org\/bugs\/buglist.cgi?product=Paho"},"build_url":{"desc":"Sends a get request to the given CI URL and looks at the headers in the response (200, 404..). Also checks if the URL is really a Hudson instance (through a call to its API).","results":["Failed: could not get CI URL []."],"value":""},"dev_list":{"desc":"Checks if the Dev ML URL can be fetched using a simple get query.","results":["OK: Dev ML <a href=\"https:\/\/dev.eclipse.org\/mailman\/listinfo\/paho-dev\">URL<\/a> could be successfully fetched."],"value":"https:\/\/dev.eclipse.org\/mailman\/listinfo\/paho-dev"},"documentation_url":{"desc":"Checks if the URL can be fetched using a simple get query.","results":["Failed: no URL defined for documentation_url."]},"download_url":{"desc":"Checks if the URL can be fetched using a simple get query.","results":["OK: Download <a href=\"https:\/\/www.eclipse.org\/paho\/downloads.php\">URL<\/a> could be successfully fetched."],"value":"https:\/\/www.eclipse.org\/paho\/downloads.php"},"forums":{"desc":"Checks if the Forums URL can be fetched using a simple get query.","results":["OK. Forum [Paho discussion forum] correctly defined.","OK: Forum [Paho discussion forum] <a href=\"http:\/\/eclipse.org\/forums\/eclipse.paho\">URL<\/a> could be successfully fetched."],"value":"http:\/\/eclipse.org\/forums\/eclipse.paho"},"gettingstarted_url":{"desc":"Checks if the URL can be fetched using a simple get query.","results":["OK: Documentation <a href=\"http:\/\/wiki.eclipse.org\/Paho#Quick_Start_Guides\">URL<\/a> could be successfully fetched."],"value":"http:\/\/wiki.eclipse.org\/Paho#Quick_Start_Guides"},"mailing_lists":{"desc":"Checks if the Mailing lists URL can be fetched using a simple get query.","results":["Failed: no mailing list defined."]},"plan_url":{"desc":"Checks if the URL can be fetched using a simple get query.","results":["Failed: no URL defined for plan."]},"proposal_url":{"desc":"Checks if the URL can be fetched using a simple get query.","results":["OK: Proposal <a href=\"http:\/\/eclipse.org\/proposals\/technology.paho\/\">URL<\/a> could be successfully fetched."],"value":"http:\/\/eclipse.org\/proposals\/technology.paho\/"},"releases":{"desc":"Checks if the releases have been correctly filled.","results":["Failed. Review for [1.4.1] type [2] is [none] on [2019-02-25 00:00:00].","OK. Review for [1.4.0 (Photon)] is 'success'.","OK. Review for [1.3.0 (Oxygen)] is 'success'.","OK. Review for [1.2.0 (Neon)] is 'success'.","OK. Review for [1.1.0] is 'success'.","OK. Review for [1.0.0 (Luna)] is 'success'.","OK. Review for [0.9.0] is 'success'."]},"source_repo":{"desc":"Checks if the Source repositories are filled and can be fetched using a simple get query.","results":["OK. Source repo [paho.mqtt.c] type [github] path [https:\/\/github.com\/eclipse\/paho.mqtt.c].","OK: Source repo [paho.mqtt.c] <a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.c\">URL<\/a> could be successfully fetched.","OK. Source repo [paho.mqtt.python] type [github] path [https:\/\/github.com\/eclipse\/paho.mqtt.python].","OK: Source repo [paho.mqtt.python] <a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.python\">URL<\/a> could be successfully fetched.","OK. Source repo [paho.mqtt.javascript] type [github] path [https:\/\/github.com\/eclipse\/paho.mqtt.javascript].","OK: Source repo [paho.mqtt.javascript] <a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.javascript\">URL<\/a> could be successfully fetched.","OK. Source repo [paho.mqtt.embedded-c] type [github] path [https:\/\/github.com\/eclipse\/paho.mqtt.embedded-c].","OK: Source repo [paho.mqtt.embedded-c] <a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.embedded-c\">URL<\/a> could be successfully fetched.","OK. Source repo [paho.mqtt.java] type [github] path [https:\/\/github.com\/eclipse\/paho.mqtt.java].","OK: Source repo [paho.mqtt.java] <a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.java\">URL<\/a> could be successfully fetched.","OK. Source repo [paho.mqtt.cpp] type [github] path [https:\/\/github.com\/eclipse\/paho.mqtt.cpp].","OK: Source repo [paho.mqtt.cpp] <a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.cpp\">URL<\/a> could be successfully fetched.","OK. Source repo [paho.mqtt.golang] type [github] path [https:\/\/github.com\/eclipse\/paho.mqtt.golang].","OK: Source repo [paho.mqtt.golang] <a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.golang\">URL<\/a> could be successfully fetched.","OK. Source repo [paho.mqtt-sn.embedded-c] type [github] path [https:\/\/github.com\/eclipse\/paho.mqtt-sn.embedded-c].","OK: Source repo [paho.mqtt-sn.embedded-c] <a href=\"https:\/\/github.com\/eclipse\/paho.mqtt-sn.embedded-c\">URL<\/a> could be successfully fetched.","OK. Source repo [paho.mqtt.m2mqtt] type [github] path [https:\/\/github.com\/eclipse\/paho.mqtt.m2mqtt].","OK: Source repo [paho.mqtt.m2mqtt] <a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.m2mqtt\">URL<\/a> could be successfully fetched.","OK. Source repo [paho.mqtt.testing] type [github] path [https:\/\/github.com\/eclipse\/paho.mqtt.testing].","OK: Source repo [paho.mqtt.testing] <a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.testing\">URL<\/a> could be successfully fetched.","OK. Source repo [paho.mqtt.android] type [github] path [https:\/\/github.com\/eclipse\/paho.mqtt.android].","OK: Source repo [paho.mqtt.android] <a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.android\">URL<\/a> could be successfully fetched.","OK. Source repo [paho.mqtt.d] type [github] path [https:\/\/github.com\/eclipse\/paho.mqtt.d].","OK: Source repo [paho.mqtt.d] <a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.d\">URL<\/a> could be successfully fetched.","OK. Source repo [paho.mqtt-spy] type [github] path [https:\/\/github.com\/eclipse\/paho.mqtt-spy].","OK: Source repo [paho.mqtt-spy] <a href=\"https:\/\/github.com\/eclipse\/paho.mqtt-spy\">URL<\/a> could be successfully fetched.","OK. Source repo [paho.mqtt.ruby] type [github] path [https:\/\/github.com\/eclipse\/paho.mqtt.ruby].","OK: Source repo [paho.mqtt.ruby] <a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.ruby\">URL<\/a> could be successfully fetched.","OK. Source repo [paho.mqtt.rust] type [github] path [https:\/\/github.com\/eclipse\/paho.mqtt.rust].","OK: Source repo [paho.mqtt.rust] <a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.rust\">URL<\/a> could be successfully fetched.","OK. Source repo [paho.golang] type [github] path [https:\/\/github.com\/eclipse\/paho.golang].","OK: Source repo [paho.golang] <a href=\"https:\/\/github.com\/eclipse\/paho.golang\">URL<\/a> could be successfully fetched.","OK. Source repo [paho\/org.eclipse.paho.apps] type [git] path [\/gitroot\/paho\/org.eclipse.paho.apps.git].","OK: Source repo [paho\/org.eclipse.paho.apps] <a href=\"https:\/\/git.eclipse.org\/r\/plugins\/gitiles\/paho\/org.eclipse.paho.apps\">URL<\/a> could be successfully fetched.","OK. Source repo [paho\/org.eclipse.paho.esf] type [git] path [\/gitroot\/paho\/org.eclipse.paho.esf.git].","OK: Source repo [paho\/org.eclipse.paho.esf] <a href=\"https:\/\/git.eclipse.org\/r\/plugins\/gitiles\/paho\/org.eclipse.paho.esf\">URL<\/a> could be successfully fetched.","OK. Source repo [paho\/org.eclipse.paho.mqtt-sn.apps] type [git] path [\/gitroot\/paho\/org.eclipse.paho.mqtt-sn.apps.git].","OK: Source repo [paho\/org.eclipse.paho.mqtt-sn.apps] <a href=\"https:\/\/git.eclipse.org\/r\/plugins\/gitiles\/paho\/org.eclipse.paho.mqtt-sn.apps\">URL<\/a> could be successfully fetched.","OK. Source repo [paho\/org.eclipse.paho.mqtt.lua] type [git] path [\/gitroot\/paho\/org.eclipse.paho.mqtt.lua.git].","OK: Source repo [paho\/org.eclipse.paho.mqtt.lua] <a href=\"https:\/\/git.eclipse.org\/r\/plugins\/gitiles\/paho\/org.eclipse.paho.mqtt.lua\">URL<\/a> could be successfully fetched.","OK. Source repo [paho\/org.eclipse.paho.mqtt.objc] type [git] path [\/gitroot\/paho\/org.eclipse.paho.mqtt.objc.git].","OK: Source repo [paho\/org.eclipse.paho.mqtt.objc] <a href=\"https:\/\/git.eclipse.org\/r\/plugins\/gitiles\/paho\/org.eclipse.paho.mqtt.objc\">URL<\/a> could be successfully fetched."],"value":"https:\/\/git.eclipse.org\/r\/plugins\/gitiles\/paho\/org.eclipse.paho.mqtt.objc"},"title":{"desc":"Checks if a name is defined for the project: !~ m!^\\s*$!","results":["OK"],"value":"Eclipse Paho"},"update_sites":{"desc":"Checks if the update sites can be fetched using a simple get query.","results":["OK. Update site [Java client] has title.","OK: Update site [Java client] <a href=\"http:\/\/download.eclipse.org\/paho\">URL<\/a> could be successfully fetched."],"value":"http:\/\/download.eclipse.org\/paho"},"website_url":{"desc":"Checks if the URL can be fetched using a simple get query.","results":["OK: Website <a href=\"http:\/\/www.eclipse.org\/paho\/\">URL<\/a> could be successfully fetched."],"value":"http:\/\/www.eclipse.org\/paho\/"},"wiki_url":{"desc":"Sends a get request to the project wiki URL and looks at the headers in the response (200, 404..).","results":["OK: Wiki <a href=\"http:\/\/wiki.eclipse.org\/Paho\">URL<\/a> could be successfully fetched."],"value":"http:\/\/wiki.eclipse.org\/Paho"}},"id_pmi":"iot.paho","last_update":1622940742,"name":"Eclipse Paho","pmi":{"bugzilla":[{"component":"","create_url":"https:\/\/bugs.eclipse.org\/bugs\/enter_bug.cgi?product=Paho","product":"Paho","query_url":"https:\/\/bugs.eclipse.org\/bugs\/buglist.cgi?product=Paho"}],"build_description":[{"format":null,"safe_value":"Paho has its own Hudson instance at \r\nhttp:\/\/hudson.eclipse.org\/paho\/","value":"Paho has its own Hudson instance at \r\nhttp:\/\/hudson.eclipse.org\/paho\/"}],"build_doc":[],"build_technologies":[{"tid":"8"},{"tid":"7"}],"build_url":[{}],"contrib_message":[],"contributors":[],"description":[{"format":"full_html","summary":"","value":"<p>The Eclipse Paho project provides reliable open-source implementations of open and standard messaging protocols aimed at new, existing, and emerging applications for Machine-to-Machine (M2M) and Internet of Things (IoT).<\/p>\r\n\r\n<p>Paho reflects the inherent physical and cost constraints of device connectivity. Its objectives include effective levels of decoupling between devices and applications, designed to keep markets open and encourage the rapid growth of scalable Web and Enterprise middleware and applications. Paho contains <a href=\"http:\/\/mqtt.org\">MQTT<\/a> publish\/subscribe client implementations for use on embedded platforms, along with corresponding server support as determined by the community.<\/p>\r\n"}],"dev_list":{"email":"IGnKtokQPOKHAL6n@BFSMoueM8QUXt7xo","name":"paho-dev","url":"https:\/\/dev.eclipse.org\/mailman\/listinfo\/paho-dev"},"documentation":[],"documentation_url":[{}],"download_url":[{"attributes":[],"title":null,"url":"https:\/\/www.eclipse.org\/paho\/downloads.php"}],"downloads":[{"attributes":[],"title":"C client for Windows 1.3.1 - 32 bit","url":"https:\/\/www.eclipse.org\/downloads\/download.php?file=\/paho\/1.4\/eclipse-paho-mqtt-c-win32-1.3.1.zip"},{"attributes":[],"title":"C client for Windows 1.3.1 - 64 bit","url":"https:\/\/www.eclipse.org\/downloads\/download.php?file=\/paho\/1.4\/eclipse-paho-mqtt-c-win64-1.3.1.zip"},{"attributes":[],"title":"C client for Linux 1.3.1","url":"https:\/\/www.eclipse.org\/downloads\/download.php?file=\/paho\/1.4\/Eclipse-Paho-MQTT-C-1.3.1-Linux.tar.gz"},{"attributes":[],"title":"C client for Mac 1.3.1","url":"https:\/\/www.eclipse.org\/downloads\/download.php?file=\/paho\/1.4\/Eclipse-Paho-MQTT-C-1.3.1-Darwin.tar.gz"},{"attributes":[],"title":"C client source 1.3.1","url":"https:\/\/github.com\/eclipse\/paho.mqtt.c\/archive\/v1.3.1.tar.gz"},{"attributes":[],"title":"Python client 1.3","url":"https:\/\/pypi.python.org\/pypi\/paho-mqtt"},{"attributes":[],"title":"Java MQTTv3 client 1.2.5","url":"https:\/\/www.eclipse.org\/downloads\/download.php?file=\/paho\/releases\/1.2.5\/Java\/plugins\/org.eclipse.paho.client.mqttv3_1.2.5.jar"},{"attributes":[],"title":"Java MQTTv5 client 1.2.5","url":"https:\/\/repo.eclipse.org\/content\/repositories\/paho-releases\/org\/eclipse\/paho\/org.eclipse.paho.mqttv5.client\/1.2.5\/org.eclipse.paho.mqttv5.client-1.2.5.jar"},{"attributes":[],"title":"Java Swing GUI Utility 1.0.2","url":"https:\/\/www.eclipse.org\/downloads\/download.php?file=\/paho\/1.1\/org.eclipse.paho.mqtt.utility-1.0.2.jar"},{"attributes":[],"title":"Eclipse view for the Java client 1.2.5","url":"https:\/\/www.eclipse.org\/downloads\/download.php?file=\/paho\/releases\/1.2.5\/Java\/plugins\/org.eclipse.paho.client.eclipse.view_1.2.5.jar"},{"attributes":[],"title":"JavaScript client 1.0.3","url":"https:\/\/www.eclipse.org\/downloads\/download.php?file=\/paho\/releases\/1.0.3\/paho.javascript-1.0.3.zip"},{"attributes":[],"title":"Arduino client library 1.0.0","url":"https:\/\/www.eclipse.org\/downloads\/download.php?file=\/paho\/arduino_1.0.0.zip"},{"attributes":[],"title":"C# .Net and WinRT client M2Mqtt 4.3.0","url":"https:\/\/www.nuget.org\/packages\/M2Mqtt\/"},{"attributes":[],"title":"Eclipse Nexus Repository for Paho Java components","url":"https:\/\/repo.eclipse.org\/index.html#nexus-search;quick~paho"}],"downloads_message":[{"format":"full_html","value":"<p>Downloads for all Paho components from the main web page.&nbsp; Go to the page for the individual component to get download instructions.<\/p>\r\n"}],"forums":[{"description":"A forum for discussing the Paho project. Note that the majority of the developers use the paho-dev mailing list and this forum is low-traffic.","name":"Paho discussion forum","url":"http:\/\/eclipse.org\/forums\/eclipse.paho"}],"gettingstarted_url":[{"attributes":[],"title":null,"url":"http:\/\/wiki.eclipse.org\/Paho#Quick_Start_Guides"}],"github_repos":[{"attributes":[],"title":null,"url":"https:\/\/github.com\/eclipse\/paho.mqtt.c"},{"attributes":[],"title":null,"url":"https:\/\/github.com\/eclipse\/paho.mqtt.python"},{"attributes":[],"title":null,"url":"https:\/\/github.com\/eclipse\/paho.mqtt.javascript"},{"attributes":[],"title":null,"url":"https:\/\/github.com\/eclipse\/paho.mqtt.embedded-c"},{"attributes":[],"title":null,"url":"https:\/\/github.com\/eclipse\/paho.mqtt.java"},{"attributes":[],"title":null,"url":"https:\/\/github.com\/eclipse\/paho.mqtt.cpp"},{"attributes":[],"title":null,"url":"https:\/\/github.com\/eclipse\/paho.mqtt.golang"},{"attributes":[],"title":null,"url":"https:\/\/github.com\/eclipse\/paho.mqtt-sn.embedded-c"},{"attributes":[],"title":null,"url":"https:\/\/github.com\/eclipse\/paho.mqtt.m2mqtt"},{"attributes":[],"title":null,"url":"https:\/\/github.com\/eclipse\/paho.mqtt.testing"},{"attributes":[],"title":null,"url":"https:\/\/github.com\/eclipse\/paho.mqtt.android"},{"attributes":[],"title":null,"url":"https:\/\/github.com\/eclipse\/paho.mqtt.d"},{"attributes":[],"title":null,"url":"https:\/\/github.com\/eclipse\/paho.mqtt-spy"},{"attributes":[],"title":null,"url":"https:\/\/github.com\/eclipse\/paho.mqtt.ruby"},{"attributes":[],"title":null,"url":"https:\/\/github.com\/eclipse\/paho.mqtt.rust"},{"attributes":[],"title":null,"url":"https:\/\/github.com\/eclipse\/paho.golang"}],"gitlab_repos":[],"id":[{"format":null,"safe_value":"iot.paho","value":"iot.paho"}],"ip_due_diligence_type":[],"licenses":[{"name":"Eclipse Distribution License 1.0 (BSD)","url":"http:\/\/www.eclipse.org\/org\/documents\/edl-v10.php"},{"name":"Eclipse Public License 1.0","url":"http:\/\/www.eclipse.org\/org\/documents\/epl-v10.php"}],"logo":[{"alt":"","fid":"720","filemime":"image\/png","filename":"paho-logo-200.png","filesize":"2892","height":"62","rdf_mapping":[],"status":"1","timestamp":"1464367019","title":"","uid":"206","uri":"public:\/\/paho-logo-200.png","width":"200"}],"mailing_lists":[],"marketplace":[{"attributes":[],"title":"Paho","url":"https:\/\/marketplace.eclipse.org\/content\/mqtt-and-mqtt-sn-client-libraries-and-utilities-paho"}],"other_links":[{"attributes":[],"title":"MQTT Community","url":"http:\/\/mqtt.org"},{"attributes":[],"title":"MQTT protocol discussion Google Group","url":"http:\/\/groups.google.com\/group\/mqtt\/"},{"attributes":[],"title":"OASIS MQTT Technical Committee","url":"https:\/\/www.oasis-open.org\/committees\/mqtt\/"}],"parent_project":[{"id":"iot"}],"patent_license":[],"plan_url":[{}],"pmi_url":"https:\/\/projects.eclipse.org\/json\/project\/iot.paho","proposal_url":[{"attributes":[],"title":null,"url":"http:\/\/eclipse.org\/proposals\/technology.paho\/"}],"related":[{"id":"iot.mosquitto"},{"id":"iot.kura"}],"releases":[{"apis":[{"value":"0"}],"architecture":[],"communities":[],"compatibility":[],"conf_ui_guidelines":[{"value":"not_verified"}],"date":[{"date_type":"datetime","timezone":"America\/Montreal","timezone_db":"America\/Montreal","value":"2019-02-25 00:00:00"}],"deliverables":[],"description":[{"format":"full_html","summary":"","value":"<p>More MQTT 5.0 support plus service fixes<\/p>\r\n"}],"endoflife":[],"environment":[],"i18n":[],"ip_due_diligence_type":[],"milestones":[],"noncode":[],"noteworthy":[],"parent_project":[{"id":"iot.paho"}],"review":{"state":[{}]},"screenshots":[],"security":[],"standards":[],"subprojects":[],"themes":[],"title":"1.4.1","type":[{"value":"2"}],"url":"https:\/\/projects.eclipse.org\/projects\/iot.paho\/releases\/1.4.1","usability":[]},{"apis":[{"value":"1"}],"architecture":[{"format":"full_html","value":"<p>Unlike most other Eclipse projects, Paho is made up of a number of separate components that have no relation to each other apart from their focus on MQTT. The majourity of components in Paho are APIs for specific languages or runtime environments, however they are all goverend by the MQTT specification which defines the protocol between clients and servers, but not the APIs that implement it. In the case of the Paho client libraries, we are faced with two options; We could design the APIs to be very similar across all languages and platforms, or we could tailor them to the individual language they are written in so that consumers of the library feel more comforatable using them.<\/p>\r\n\r\n<p>With Paho, we have chosen to follow the API styles set out by the individual languages that each component is written in \/ for.&nbsp;<\/p>\r\n"}],"communities":[{"format":"full_html","value":"<p>In 2015&nbsp;Paho migrated from the Eclipse Git \/ Gerrit \/ Bugzilla infrastructure to GitHub. &nbsp;Since then there has been a continuing&nbsp;increase in issues being raised and&nbsp;code contributions (PRs). At the time of writing, the Paho components have been starred 4108 times in total (up from 1766)&nbsp;and users have forked the code 1969&nbsp;times (up from 967).<\/p>\r\n\r\n<p>In the year to December 2017 668 issues were opened and 490 closed. Issue, PR and mailing list activity has consistent&nbsp;external contributions and interest. &nbsp;The number of committers now stands at&nbsp;13, and the number of code authors is at least 88, (up from 50).<\/p>\r\n\r\n<p>As of December&nbsp;2017, Paho still has the second highest website traffic of any Eclipse IoT project behind Mosquitto.&nbsp;&nbsp;&nbsp; This means that the MQTT projects have over 50% of all Eclipse IoT measured website traffic. &nbsp;Paho had the highest measured downloads of any Eclipse IoT project in December&nbsp;2017&nbsp;with over 50,000 in that month (up from 20,000 the previous year). This statistic omits many downloads of Paho which can be obtained in other ways (external package repositories or source, for instance).&nbsp;<\/p>\r\n\r\n<p>They are only a rough guide, but these figures show continuing increase in activity and interest around Paho and MQTT year on year.<\/p>\r\n\r\n<p>Some of the components are made available on the distribution mechanism suitable for that community: PyPi for Python, Maven central for Java, Linux repos for C. &nbsp; We collaborate&nbsp;with the mbed (mbed.org) community on embedded MQTT clients:&nbsp;<a href=\"http:\/\/mbed.org\/teams\/mqtt\/\">http:\/\/mbed.org\/teams\/mqtt\/<\/a>&nbsp;The master source resides in the Paho project.<\/p>\r\n"}],"compatibility":[{"format":"full_html","value":"<p>Each of the MQTT components supports the MQTT v3.1.1 standard version of the protocol, some may also support the older 3.1 specification, and we are adding support for v5 as soon as is practical.<\/p>\r\n\r\n<table align=\"center\" border=\"1\" cellpadding=\"1\" cellspacing=\"1\">\r\n\t<thead>\r\n\t\t<tr>\r\n\t\t\t<th scope=\"col\">Client<\/th>\r\n\t\t\t<th scope=\"col\">MQTT v3.1.1<\/th>\r\n\t\t\t<th scope=\"col\">MQTT v3.1<\/th>\r\n\t\t\t<th scope=\"col\">MQTT v5<\/th>\r\n\t\t<\/tr>\r\n\t<\/thead>\r\n\t<tbody>\r\n\t\t<tr>\r\n\t\t\t<td>Java<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td>JavaScript<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t\t<td>&nbsp;<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td>Python<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t\t<td>&nbsp;<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td>C<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td>Android<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t\t<td>&nbsp;<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td>Go<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t\t<td>&nbsp;<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td>.Net<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t\t<td>&nbsp;<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td>Embedded C\/C++<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td>C++<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t\t<td>&nbsp;<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td>mqtt-spy<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t\t<td>&nbsp;<\/td>\r\n\t\t<\/tr>\r\n\t<\/tbody>\r\n<\/table>\r\n\r\n<p>The MQTTv3.1.1 specification is available here: <a href=\"https:\/\/www.oasis-open.org\/standards#mqttv3.1.1\">https:\/\/www.oasis-open.org\/standards#mqttv3.1.1<\/a>.<\/p>\r\n\r\n<p>The MQTTv5 Committee Specification v2 is available here: <a href=\"http:\/\/docs.oasis-open.org\/mqtt\/mqtt\/v5.0\/cs02\/mqtt-v5.0-cs02.html\">http:\/\/docs.oasis-open.org\/mqtt\/mqtt\/v5.0\/cs02\/mqtt-v5.0-cs02.html<\/a>. It is unlikely that there will be any further material changes made to it between now and when it becomes a full specification, so the Paho Committers are confident that there shouldn&#39;t be any further breaking changes to the v5 APIs at present.<\/p>\r\n\r\n<p>The MQTT-SN components implement version 1.2 of the MQTT-SN specification <a href=\"http:\/\/mqtt.org\/new\/wp-content\/uploads\/2009\/06\/MQTT-SN_spec_v1.2.pdf\">http:\/\/mqtt.org\/new\/wp-content\/uploads\/2009\/06\/MQTT-SN_spec_v1.2.pdf<\/a>.<\/p>\r\n"}],"conf_ui_guidelines":[{"value":"not_verified"}],"date":[{"date_type":"datetime","timezone":"America\/Montreal","timezone_db":"America\/Montreal","value":"2018-06-27 00:00:00"}],"deliverables":[{"format":"full_html","value":"<ol>\r\n\t<li>Updated (bug-fixed) version of existing components:&nbsp;Android, C++, Golang, Python, MQTT-spy<\/li>\r\n\t<li>First Eclipse Release of MQTTv5 functionality for The Paho Test Material, C, Embedded C\/C++, Java<\/li>\r\n<\/ol>\r\n\r\n<p><u><strong>Component Versions<\/strong><\/u><\/p>\r\n\r\n<table align=\"center\" border=\"1\" cellpadding=\"1\" cellspacing=\"1\">\r\n\t<thead>\r\n\t\t<tr>\r\n\t\t\t<th class=\"rtecenter\" scope=\"col\">Client<\/th>\r\n\t\t\t<th class=\"rtecenter\" scope=\"col\">Version<\/th>\r\n\t\t<\/tr>\r\n\t<\/thead>\r\n\t<tbody>\r\n\t\t<tr>\r\n\t\t\t<td class=\"rtecenter\">Java<\/td>\r\n\t\t\t<td class=\"rtecenter\">1.3.0<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td class=\"rtecenter\">Android<\/td>\r\n\t\t\t<td class=\"rtecenter\">1.3.0<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td class=\"rtecenter\">C<\/td>\r\n\t\t\t<td class=\"rtecenter\">1.3.0<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td class=\"rtecenter\">C++<\/td>\r\n\t\t\t<td class=\"rtecenter\">1.1.0<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td class=\"rtecenter\">JavaScript<\/td>\r\n\t\t\t<td class=\"rtecenter\">1.1.0<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td class=\"rtecenter\">Python<\/td>\r\n\t\t\t<td class=\"rtecenter\">1.4.0<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td class=\"rtecenter\">Go<\/td>\r\n\t\t\t<td class=\"rtecenter\">1.1.1<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td class=\"rtecenter\">Embedded C\/C++<\/td>\r\n\t\t\t<td class=\"rtecenter\">1.2.0<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td class=\"rtecenter\">mqtt-spy<\/td>\r\n\t\t\t<td class=\"rtecenter\">1.0.1<\/td>\r\n\t\t<\/tr>\r\n\t<\/tbody>\r\n<\/table>\r\n\r\n<p><br \/>\r\nGitHub Issues<\/p>\r\n\r\n<ul>\r\n\t<li>Java:&nbsp;<a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.java\/milestone\/2\" target=\"_blank\">https:\/\/github.com\/eclipse\/paho.mqtt.java\/milestone\/2<\/a><\/li>\r\n\t<li>Python:&nbsp;<a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.python\/milestone\/3\" target=\"_blank\">https:\/\/github.com\/eclipse\/paho.mqtt.python\/milestone\/3<\/a><\/li>\r\n\t<li>Android:&nbsp;<a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.android\/milestone\/2\" target=\"_blank\">https:\/\/github.com\/eclipse\/paho.mqtt.android\/milestone\/2<\/a><\/li>\r\n\t<li>C:&nbsp;<a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.c\/milestone\/5\" target=\"_blank\">https:\/\/github.com\/eclipse\/paho.mqtt.c\/milestone\/5<\/a><\/li>\r\n\t<li>Embedded C:&nbsp;<a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.embedded-c\/milestone\/2\" target=\"_blank\">https:\/\/github.com\/eclipse\/paho.mqtt.embedded-c\/milestone\/2<\/a><\/li>\r\n\t<li>Javascript:&nbsp;<a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.javascript\/milestone\/2\" target=\"_blank\">https:\/\/github.com\/eclipse\/paho.mqtt.javascript\/milestone\/2<\/a><\/li>\r\n\t<li>C++:&nbsp;<a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.cpp\/milestone\/2\" target=\"_blank\">https:\/\/github.com\/eclipse\/paho.mqtt.cpp\/milestone\/2<\/a><\/li>\r\n\t<li>Golang:&nbsp;<a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.golang\/releases\/tag\/v1.1.1\">https:\/\/github.com\/eclipse\/paho.mqtt.golang\/releases\/tag\/v1.1.1<\/a><\/li>\r\n\t<li>mqtt-spy:&nbsp;<a href=\"https:\/\/github.com\/eclipse\/paho.mqtt-spy\/milestone\/2\" target=\"_blank\">https:\/\/github.com\/eclipse\/paho.mqtt-spy\/milestone\/2<\/a><\/li>\r\n\t<li>MQTT-SN Embedded C \/ Gateway:&nbsp;<a href=\"https:\/\/github.com\/eclipse\/paho.mqtt-sn.embedded-c\/milestone\/1\" target=\"_blank\">https:\/\/github.com\/eclipse\/paho.mqtt-sn.embedded-c\/milestone\/<\/a><\/li>\r\n<\/ul>\r\n"}],"description":[{"format":"full_html","summary":"","value":"<p>A new version of MQTT is being developed, nearing completion, 5.0. &nbsp;This release of Paho will contain support for MQTT 5.0 for a number of components:<\/p>\r\n\r\n<ul>\r\n\t<li><a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.testing\">Paho Test Material<\/a><\/li>\r\n\t<li><a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.c\">C client Library<\/a><\/li>\r\n\t<li><a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.java\">Java client Library<\/a><\/li>\r\n<\/ul>\r\n\r\n<p>Plus service releases for other components. &nbsp;MQTT 5.0 support for further&nbsp;components will be targeted in follow on releases.<\/p>\r\n"}],"endoflife":[],"environment":[{"format":"full_html","value":"<p><strong><u>Existing Components<\/u><\/strong><\/p>\r\n\r\n<ul>\r\n\t<li>Java - JDK 1.7 and above<\/li>\r\n\t<li>C - Linux, Windows and macOS. Can also be called from C++<\/li>\r\n\t<li>JavaScript - Standard Modern web browsers that support WebSockets, Node.js is supported in limited scenarios.<\/li>\r\n\t<li>Python - Python 2.7.9, 3.4 and above.<\/li>\r\n\t<li>.Net (m2mqtt) - .Net and WinRt, including Windows Phone<\/li>\r\n\t<li>Android - SDK 9 and Above<\/li>\r\n\t<li>Embedded C\/C++ - Microcontroller operating systems such as mbed, Arduino.<\/li>\r\n\t<li>Go - Go Runtime, available on Windows,&nbsp;macOS, Linux and FreeBSD<\/li>\r\n<\/ul>\r\n"}],"i18n":[{"format":"full_html","value":"<p>The client libraries have a limited number of messages for debug information (trace) and errors (exceptions), intended for application developers, not end users.&nbsp; There are no current plans for internationalization.<\/p>\r\n"}],"ip_due_diligence_type":[{"tid":"290"}],"milestones":[],"noncode":[{"format":"full_html","value":"<p>The Paho web pages have a separate getting started page for each component:&nbsp;&nbsp;<a href=\"http:\/\/www.eclipse.org\/paho\/\">http:\/\/www.eclipse.org\/paho\/<\/a>.<\/p>\r\n\r\n<p>All of the APIs have samples demonstrating the use of the API and reference documentation in a form suitable for that language (JavaDoc, Doxygen, etc). There are plans to improve the documentation and example code though as well as a snippets page that allows developers to quickly find short examples for common MQTT tasks using the language \/ client of their choice.<\/p>\r\n\r\n<p>The mqtt.org community wiki has been updated with links to all the Paho components (https:\/\/github.com\/mqtt\/mqtt.github.io\/wiki\/libraries).<\/p>\r\n"}],"noteworthy":[],"parent_project":[{"id":"iot.paho"}],"review":{"description":[],"end_date":[{"date_type":"datetime","timezone":"America\/Montreal","timezone_db":"America\/Montreal","value":"2018-06-06 00:00:00"}],"links":[],"project":[{"id":"iot.paho"}],"reference":[{"title":"1.4.0 (Photon)"}],"state":[{"value":"success"}],"title":"1.4.0 (Photon) Release Review","top_level":[{"id":"iot"}],"type":[{"value":"release"}],"url":"https:\/\/projects.eclipse.org\/projects\/iot.paho\/reviews\/1.4.0-photon-release-review"},"screenshots":[],"security":[{"format":"full_html","value":"<p>MQTT uses TCP as its underlying transport.&nbsp; Each of the APIs allows the TCP connection to be secured with TLS\/SSL using the facilities available on that&nbsp; platform.&nbsp; For example:<\/p>\r\n\r\n<ul>\r\n\t<li>Java - JDK standard TLS\/SSL libraries<\/li>\r\n\t<li>.Net framework standard TLS\/SSL libraries<\/li>\r\n\t<li>Python built-in TLS\/SSL libraries<\/li>\r\n\t<li>C - OpenSSL<\/li>\r\n\t<li>Embedded C - no TLS support included, but supports the use of any TLS library<\/li>\r\n\t<li>GoLang - built-in TLS\/SSL library: crypto\/tls<\/li>\r\n\t<li>JavaScript - Web Browser built-in TLS\/SSL library<\/li>\r\n<\/ul>\r\n\r\n<p>No TLS\/SSL support is directly included in the Paho components, they use what is available in the external environment.&nbsp; That external environment needs to be updated with recent TLS software to ensure TLS vulnerability fixes are included.<\/p>\r\n"}],"standards":[{"format":"full_html","value":"<p>Each of the MQTT components supports the MQTT v3.1.1 standard version of the protocol (https:\/\/www.oasis-open.org\/standards#mqttv3.1.1).&nbsp; Some may also support the older 3.1 specification.<\/p>\r\n\r\n<p>The MQTT-SN components implement version 1.2 of the MQTT-SN specification (http:\/\/mqtt.org\/new\/wp-content\/uploads\/2009\/06\/MQTT-SN_spec_v1.2.pdf).<\/p>\r\n\r\n<p>Some of the MQTT components now support the MQTT 5.0 specification available here:&nbsp;http:\/\/docs.oasis-open.org\/mqtt\/mqtt\/v5.0\/cs02\/mqtt-v5.0-cs02.html<\/p>\r\n"}],"subprojects":[],"themes":[{"committed":"","deferred":"","description":"MQTT version 5 is an important step in the protocols future, the specification available here: http:\/\/docs.oasis-open.org\/mqtt\/mqtt\/v5.0\/cs02\/mqtt-v5.0-cs02.html shows a large number of improvements that make MQTT more suited for large scale \/ cloud use.","name":"MQTT 5.0","proposed":""}],"title":"1.4.0 (Photon)","type":[{"value":"2"}],"url":"https:\/\/projects.eclipse.org\/projects\/iot.paho\/releases\/1.4.0-photon","usability":[{"format":"full_html","value":"<p>Each of the APIs in any of the languages has a similar capability, with one operation for each of the MQTT commands, connect, subscribe, unsubscribe, publish and disconnect.&nbsp;&nbsp; The success or failure of these operations is reported either synchronously via a return code, or asynchronously in a callback, depending on the API.&nbsp;&nbsp;<\/p>\r\n\r\n<p>The basic styles of API have been developed over 8 years or more, from before Paho&#39;s existence, and continued within Paho, so we are confident of their basic usability.&nbsp;<\/p>\r\n\r\n<p>We continue to get feedback and improve where necessary, for instance with the new embedded APIs, which were designed in consultation with experienced developers.<\/p>\r\n\r\n<p>We have also looked to improve areas of functionality within the clients to make using Paho easier for developers. One such example is the introduction of Automatic Reconnect &amp; Offline buffering functionality that is now in the Java, Android and C clients. This means that developers no longer have to write their own code to handle lost connections in their applications or the buffering of messages whilst the client attempts to reconnect. We are always looking for new ways to reduce the amount of &#39;boilerplate code&#39; that developers have to write especially if multiple developers have to write the same code in their applications.<\/p>\r\n"}]},{"apis":[{"value":"1"}],"architecture":[{"format":"full_html","value":"<p>Unlike most other Eclipse projects, Paho is made up of a number of separate components that have no relation to each other apart from their focus on MQTT. The majourity of components in Paho are APIs for specific languages or runtime environments, however they are all goverend by the MQTT specification which defines the protocol between clients and servers, but not the APIs that implement it. In the case of the Paho client libraries, we are faced with two options; We could design the APIs to be very similar across all languages and platforms, or we could tailor them to the individual language they are written in so that consumers of the library feel more comforatable using them.<\/p>\r\n<p>With Paho, we have chosen to follow the API styles set out by the individual languages that each component is written in \/ for.&nbsp;<\/p>\r\n<p>In this release we will have 3 new components, one client library targeted at GoLang, and an MQTT monitorying utility; mqtt-spy. The GoLang library is band new code written in Go and mqtt-spy is written in Java and uses the Paho MQTT library.<\/p>\r\n"}],"communities":[{"format":"full_html","value":"<p>Last year, Paho migrated from the Eclipse Git \/ Gerrit \/ Bugzilla infrastructure to GitHub. With this there has been an increase in issues (bugs) being raised as well as an increase in code contributions in the form of Pull Requests. At the time of writing, the Paho components have been starred 1766 times in total and users have forked the code 967 times.<\/p>\r\n<p>There are currently more than 780 closed issues and 217 unresolved for released Paho components. Issue, PR and mailing list activity has consistentl external contributions and interest. &nbsp;The number of committers has increased by 3 over the year, and the number of code authors is at least 50.<\/p>\r\n<p>As of November 2016, the last month I could find metrics for, Paho still has the second highest website traffic of any Eclipse IoT project behind Mosquitto.&nbsp;&nbsp;&nbsp; This means that the MQTT projects have over 50% of all Eclipse IoT measured website traffic. &nbsp;Paho had the highest measured downloads of any Eclipse IoT project in November 2016 with over 20,000 in that month. This statistic omits many downloads of Paho which can be obtained in other ways (external package repositories or source, for instance).&nbsp;<\/p>\r\n<p>These figures show continuing increase in activity and interest around Paho and MQTT year on year.&nbsp; They are only a rough guide, but show that there is consistent interest in MQTT and Paho.<\/p>\r\n<p>We are collaborating with the mbed (mbed.org) community on embedded MQTT clients:&nbsp;<a href=\"http:\/\/mbed.org\/teams\/mqtt\/\">http:\/\/mbed.org\/teams\/mqtt\/<\/a>&nbsp;The master source resides in the Paho project.<\/p>\r\n"}],"compatibility":[{"format":"full_html","value":"<p style=\"box-sizing: border-box; margin: 0px 0px 10px; color: rgb(51, 51, 51); font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px;\">Each of the MQTT components supports the MQTT v3.1.1 standard version of the protocol (https:\/\/www.oasis-open.org\/standards#mqttv3.1.1).&nbsp; Some may also support the older 3.1 specification.<\/p>\r\n<table align=\"center\" border=\"1\" cellpadding=\"1\" cellspacing=\"1\">\r\n\t<thead>\r\n\t\t<tr>\r\n\t\t\t<th scope=\"col\">\r\n\t\t\t\tClient<\/th>\r\n\t\t\t<th scope=\"col\">\r\n\t\t\t\tMQTT v3.1.1<\/th>\r\n\t\t\t<th scope=\"col\">\r\n\t\t\t\tMQTT v3.1<\/th>\r\n\t\t<\/tr>\r\n\t<\/thead>\r\n\t<tbody>\r\n\t\t<tr>\r\n\t\t\t<td>\r\n\t\t\t\tJava<\/td>\r\n\t\t\t<td>\r\n\t\t\t\t✔<\/td>\r\n\t\t\t<td>\r\n\t\t\t\t✔<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td>\r\n\t\t\t\tJavaScript<\/td>\r\n\t\t\t<td>\r\n\t\t\t\t✔<\/td>\r\n\t\t\t<td>\r\n\t\t\t\t✔<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td>\r\n\t\t\t\tPython<\/td>\r\n\t\t\t<td>\r\n\t\t\t\t✔<\/td>\r\n\t\t\t<td>\r\n\t\t\t\t✔<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td>\r\n\t\t\t\tC<\/td>\r\n\t\t\t<td>\r\n\t\t\t\t✔<\/td>\r\n\t\t\t<td>\r\n\t\t\t\t✔<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td>\r\n\t\t\t\tAndroid<\/td>\r\n\t\t\t<td>\r\n\t\t\t\t✔<\/td>\r\n\t\t\t<td>\r\n\t\t\t\t✔<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td>\r\n\t\t\t\tGo<\/td>\r\n\t\t\t<td>\r\n\t\t\t\t✔<\/td>\r\n\t\t\t<td>\r\n\t\t\t\t✔<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td>\r\n\t\t\t\t.Net<\/td>\r\n\t\t\t<td>\r\n\t\t\t\t✔<\/td>\r\n\t\t\t<td>\r\n\t\t\t\t✔<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td>\r\n\t\t\t\tEmbedded C\/C++<\/td>\r\n\t\t\t<td>\r\n\t\t\t\t✔<\/td>\r\n\t\t\t<td>\r\n\t\t\t\t✔<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td>\r\n\t\t\t\tC++<\/td>\r\n\t\t\t<td>\r\n\t\t\t\t✔<\/td>\r\n\t\t\t<td>\r\n\t\t\t\t✔<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td>\r\n\t\t\t\tmqtt-spy<\/td>\r\n\t\t\t<td>\r\n\t\t\t\t✔<\/td>\r\n\t\t\t<td>\r\n\t\t\t\t✔<\/td>\r\n\t\t<\/tr>\r\n\t<\/tbody>\r\n<\/table>\r\n<p style=\"box-sizing: border-box; margin: 0px; color: rgb(51, 51, 51); font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px;\">&nbsp;<\/p>\r\n<p style=\"box-sizing: border-box; margin: 0px; color: rgb(51, 51, 51); font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px;\">The MQTT-SN components implement version 1.2 of the MQTT-SN specification (http:\/\/mqtt.org\/new\/wp-content\/uploads\/2009\/06\/MQTT-SN_spec_v1.2.pdf).<\/p>\r\n"}],"conf_ui_guidelines":[],"date":[{"date_type":"datetime","timezone":"America\/Montreal","timezone_db":"America\/Montreal","value":"2017-06-28 00:00:00"}],"deliverables":[{"format":"full_html","value":"<ol>\r\n\t<li>\r\n\t\tUpdated (bug-fixed) version of existing client libraries; Java, Pything, JavaScript, C, .Net, Android, Embedded C\/C++, Golang.<\/li>\r\n\t<li>\r\n\t\tFirst Eclipse release of mqtt-spy, a tool for monitoring MQTT traffic<\/li>\r\n\t<li>\r\n\t\tFirst Eclipse release of MQTT-SN client &amp; transparent gateway<\/li>\r\n\t<li>\r\n\t\tFirst Eclipse release of &nbsp;C++ client<\/li>\r\n<\/ol>\r\n<p><u><strong>Component Versions<\/strong><\/u><\/p>\r\n<table align=\"center\" border=\"1\" cellpadding=\"1\" cellspacing=\"1\">\r\n\t<thead>\r\n\t\t<tr>\r\n\t\t\t<th class=\"rtecenter\" scope=\"col\">\r\n\t\t\t\tClient<\/th>\r\n\t\t\t<th class=\"rtecenter\" scope=\"col\">\r\n\t\t\t\tVersion<\/th>\r\n\t\t<\/tr>\r\n\t<\/thead>\r\n\t<tbody>\r\n\t\t<tr>\r\n\t\t\t<td class=\"rtecenter\">\r\n\t\t\t\tJava<\/td>\r\n\t\t\t<td class=\"rtecenter\">\r\n\t\t\t\t1.1.1<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td class=\"rtecenter\">\r\n\t\t\t\tC<\/td>\r\n\t\t\t<td class=\"rtecenter\">\r\n\t\t\t\t1.2.0<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td class=\"rtecenter\">\r\n\t\t\t\tJavaScript<\/td>\r\n\t\t\t<td class=\"rtecenter\">\r\n\t\t\t\t1.0.3<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td class=\"rtecenter\">\r\n\t\t\t\tGo<\/td>\r\n\t\t\t<td class=\"rtecenter\">\r\n\t\t\t\t1.0.1<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td class=\"rtecenter\">\r\n\t\t\t\tAndroid<\/td>\r\n\t\t\t<td class=\"rtecenter\">\r\n\t\t\t\t1.1.1<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td class=\"rtecenter\">\r\n\t\t\t\tm2mqtt (.Net)<\/td>\r\n\t\t\t<td class=\"rtecenter\">\r\n\t\t\t\t4.3.0<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td class=\"rtecenter\">\r\n\t\t\t\tEmbedded C\/C++<\/td>\r\n\t\t\t<td class=\"rtecenter\">\r\n\t\t\t\t1.0.2<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td class=\"rtecenter\">\r\n\t\t\t\tPython<\/td>\r\n\t\t\t<td class=\"rtecenter\">\r\n\t\t\t\t1.3<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td class=\"rtecenter\">\r\n\t\t\t\tC++<\/td>\r\n\t\t\t<td class=\"rtecenter\">\r\n\t\t\t\t1.0<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td class=\"rtecenter\">\r\n\t\t\t\tEmbedded MQTT-SN client &amp; gateway<\/td>\r\n\t\t\t<td class=\"rtecenter\">\r\n\t\t\t\t1.0<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td class=\"rtecenter\">\r\n\t\t\t\tmqtt-spy Mqtt Client Utility<\/td>\r\n\t\t\t<td class=\"rtecenter\">\r\n\t\t\t\t1.0<\/td>\r\n\t\t<\/tr>\r\n\t<\/tbody>\r\n<\/table>\r\n<p>&nbsp;<\/p>\r\n<h2>\r\n\t<br \/>\r\n\tGitHub Issues<\/h2>\r\n<ul>\r\n\t<li>\r\n\t\tJava:&nbsp;<a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.java\/milestone\/2\" target=\"_blank\">https:\/\/github.com\/eclipse\/paho.mqtt.java\/milestone\/2<\/a><\/li>\r\n\t<li>\r\n\t\tPython:&nbsp;<a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.python\/milestone\/3\" target=\"_blank\">https:\/\/github.com\/eclipse\/paho.mqtt.python\/milestone\/3<\/a><\/li>\r\n\t<li>\r\n\t\tAndroid:&nbsp;<a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.android\/milestone\/2\" target=\"_blank\">https:\/\/github.com\/eclipse\/paho.mqtt.android\/milestone\/2<\/a><\/li>\r\n\t<li>\r\n\t\tC:&nbsp;<a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.c\/milestone\/3\" target=\"_blank\">https:\/\/github.com\/eclipse\/paho.mqtt.c\/milestone\/3<\/a><\/li>\r\n\t<li>\r\n\t\tEmbedded C:&nbsp;<a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.embedded-c\/milestone\/1\" target=\"_blank\">https:\/\/github.com\/eclipse\/paho.mqtt.embedded-c\/milestone\/1<\/a><\/li>\r\n\t<li>\r\n\t\tJavascript:&nbsp;<a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.javascript\/milestone\/2\" target=\"_blank\">https:\/\/github.com\/eclipse\/paho.mqtt.javascript\/milestone\/2<\/a><\/li>\r\n\t<li>\r\n\t\tC++:&nbsp;<a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.cpp\/milestone\/2\" target=\"_blank\">https:\/\/github.com\/eclipse\/paho.mqtt.cpp\/milestone\/2<\/a><\/li>\r\n\t<li>\r\n\t\tmqtt-spy:&nbsp;<a href=\"https:\/\/github.com\/eclipse\/paho.mqtt-spy\/milestone\/1\" target=\"_blank\">https:\/\/github.com\/eclipse\/paho.mqtt-spy\/milestone\/1<\/a><\/li>\r\n\t<li>\r\n\t\tMQTT-SN Embedded C \/ Gateway:&nbsp;<a href=\"https:\/\/github.com\/eclipse\/paho.mqtt-sn.embedded-c\/milestone\/1\" target=\"_blank\">https:\/\/github.com\/eclipse\/paho.mqtt-sn.embedded-c\/milestone\/1<\/a><\/li>\r\n<\/ul>\r\n"}],"description":[{"format":"full_html","summary":"","value":"<p>This release will be the first official release for some new and also older Paho clients and tools:<\/p>\r\n<ul>\r\n\t<li>\r\n\t\tFirst <a href=\"https:\/\/github.com\/eclipse\/paho.mqtt-spy\" target=\"_blank\">mqtt-spy<\/a> Paho release<\/li>\r\n\t<li>\r\n\t\tFirst <a href=\"https:\/\/github.com\/eclipse\/paho.mqtt-sn.embedded-c\/tree\/gateway\" target=\"_blank\">MQTT-SN transparent gateway<\/a> release<\/li>\r\n\t<li>\r\n\t\tFirst <a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.cpp\" target=\"_blank\">C++ client<\/a> release<\/li>\r\n<\/ul>\r\n<p>Service releases and updates to existing clients:<\/p>\r\n<ul>\r\n\t<li>\r\n\t\t<a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.c\" target=\"_blank\">C<\/a><\/li>\r\n\t<li>\r\n\t\t<a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.java\" target=\"_blank\">Java<\/a>\/<a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.android\" target=\"_blank\">Android<\/a><\/li>\r\n\t<li>\r\n\t\t<a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.golang\" target=\"_blank\">Go<\/a><\/li>\r\n\t<li>\r\n\t\t<a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.python\" target=\"_blank\">Python<\/a><\/li>\r\n\t<li>\r\n\t\t<a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.m2mqtt\" target=\"_blank\">.Net<\/a><\/li>\r\n\t<li>\r\n\t\t<a href=\"https:\/\/github.com\/eclipse\/paho.mqtt.embedded-c\" target=\"_blank\">Embedded MQTT<\/a> and <a href=\"https:\/\/github.com\/eclipse\/paho.mqtt-sn.embedded-c\" target=\"_blank\">MQTT-SN<\/a><\/li>\r\n<\/ul>\r\n"}],"endoflife":[],"environment":[{"format":"full_html","value":"<p><strong><u>Existing Components<\/u><\/strong><\/p>\r\n<ul>\r\n\t<li>\r\n\t\tJava - JDK 1.7 and above<\/li>\r\n\t<li>\r\n\t\tC - Linux, Windows and macOS. Can also be called from C++<\/li>\r\n\t<li>\r\n\t\tJavaScript - Standard Modern web browsers that support WebSokcets, Node.js is supported in limited scenarios.<\/li>\r\n\t<li>\r\n\t\tPython - Python 2.7.9, 3.4 and above.<\/li>\r\n\t<li>\r\n\t\t.Net (m2mqtt) - .Net and WinRt, including Windows Phone<\/li>\r\n\t<li>\r\n\t\tAndroid - SDK 9 and Above<\/li>\r\n\t<li>\r\n\t\tEmbedded C\/C++ - Microcontroller operating systems such as mbed, Arduino.<\/li>\r\n\t<li>\r\n\t\tGo - Go Runtime, available on Windows,&nbsp;macOS, Linux and FreeBSD<\/li>\r\n<\/ul>\r\n<p><strong><u>New Components<\/u><\/strong><\/p>\r\n<ul>\r\n\t<li>\r\n\t\tmqtt-spy - Java 7 + (Reccommended Java 8) Windows, Linux, macOs<\/li>\r\n\t<li>\r\n\t\tC++ - C++ v11 - Windows, Linux \/ Unix, macOS<\/li>\r\n\t<li>\r\n\t\tMQTT-SN transparent gateway - Linux<\/li>\r\n<\/ul>\r\n"}],"i18n":[{"format":"full_html","value":"<p><span style=\"color: rgb(51, 51, 51); font-family: &quot;Open Sans&quot;, &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-serif; font-size: 14px;\">The client libraries have a limited number of messages for debug information (trace) and errors (exceptions), intended for application developers, not end users.&nbsp; There are no current plans for internationalization.<\/span><\/p>\r\n"}],"ip_due_diligence_type":[{"tid":"290"}],"milestones":[],"noncode":[{"format":"full_html","value":"<p>The Paho web pages have a separate getting started page for each component:&nbsp;&nbsp;<a href=\"http:\/\/www.eclipse.org\/paho\/\">http:\/\/www.eclipse.org\/paho\/<\/a>.<\/p>\r\n<p>All of the APIs have samples demonstrating the use of the API and reference documentation in a form suitable for that language (JavaDoc, Doxygen, etc). There are plans to improve the documentation and example code though as well as a snippets page that allows developers to quickly find short examples for common MQTT tasks using the language \/ client of their choice.<\/p>\r\n<p>The mqtt.org community wiki has been updated with links to all the Paho components (https:\/\/github.com\/mqtt\/mqtt.github.io\/wiki\/libraries).<\/p>\r\n<p>&nbsp;<\/p>\r\n"}],"noteworthy":[],"parent_project":[{"id":"iot.paho"}],"review":{"description":[],"end_date":[{"date_type":"datetime","timezone":"America\/Montreal","timezone_db":"America\/Montreal","value":"2017-06-07 00:00:00"}],"links":[],"project":[{"id":"iot.paho"}],"reference":[{"title":"1.3.0 (Oxygen)"}],"state":[{"value":"success"}],"title":"1.3.0 (Oxygen) Release Review","top_level":[{"id":"iot"}],"type":[{"value":"release"}],"url":"https:\/\/projects.eclipse.org\/projects\/iot.paho\/reviews\/1.3.0-oxygen-release-review"},"screenshots":[],"security":[{"format":"full_html","value":"<p>MQTT uses TCP as its underlying transport.&nbsp; Each of the APIs allows the TCP connection to be secured with TLS\/SSL using the facilities available on that&nbsp; platform.&nbsp; For example:<\/p>\r\n<ul>\r\n\t<li>\r\n\t\tJava - JDK standard TLS\/SSL libraries<\/li>\r\n\t<li>\r\n\t\t.Net framework standard TLS\/SSL libraries<\/li>\r\n\t<li>\r\n\t\tPython built-in TLS\/SSL libraries<\/li>\r\n\t<li>\r\n\t\tC - OpenSSL<\/li>\r\n\t<li>\r\n\t\tEmbedded C - no TLS support included, but supports the use of any TLS library<\/li>\r\n\t<li>\r\n\t\tGoLang - built-in TLS\/SSL library: crypto\/tls<\/li>\r\n\t<li>\r\n\t\tJavaScript - Web Browser built-in TLS\/SSL library<\/li>\r\n<\/ul>\r\n<p>No TLS\/SSL support is directly included in the Paho components, they use what is available in the external environment.&nbsp; That external environment needs to be updated with recent TLS software to ensure TLS vulnerability fixes are included.<\/p>\r\n<div>\r\n\t&nbsp;<\/div>\r\n"}],"standards":[{"format":"full_html","value":"<p>Each of the MQTT components supports the MQTT v3.1.1 standard version of the protocol (https:\/\/www.oasis-open.org\/standards#mqttv3.1.1).&nbsp; Some may also support the older 3.1 specification.<\/p>\r\n<p>The MQTT-SN components implement version 1.2 of the MQTT-SN specification (http:\/\/mqtt.org\/new\/wp-content\/uploads\/2009\/06\/MQTT-SN_spec_v1.2.pdf).<\/p>\r\n<div>\r\n\t&nbsp;<\/div>\r\n"}],"subprojects":[],"themes":[{"committed":"","deferred":"","description":"As a result of moving the project to Github, this has resulted in more contributions, both issues and PRs. This is a great result, but we also need to deal with those contributions, keeping the backlog to a reasonable level. ","name":"Reduce issue and PR backlog for existing components","proposed":""},{"committed":"","deferred":"","description":"mqtt-spy, the MQTT-SN transparent gateway and the C++ client are all having their first proper Eclipse release in Paho 1.3.","name":"Full release for new components","proposed":""},{"committed":"","deferred":"","description":"In parallel with moving to Github, we've adopted Travis and AppVeyor (Windows) for continuous integration testing, moving away from the Eclipse provided Hudson infrastructure. ","name":"Continuous integration testing","proposed":""}],"title":"1.3.0 (Oxygen)","type":[{"value":"2"}],"url":"https:\/\/projects.eclipse.org\/projects\/iot.paho\/releases\/1.3.0-oxygen","usability":[{"format":"full_html","value":"<p>Each of the APIs in any of the languages has a similar capability, with one operation for each of the MQTT commands, connect, subscribe, unsubscribe, publish and disconnect.&nbsp;&nbsp; The success or failure of these operations is reported either synchronously via a return code, or asynchronously in a callback, depending on the API.&nbsp;&nbsp;<\/p>\r\n<p>The basic styles of API have been developed over 8 years or more, from before Paho&#39;s existence, and continued within Paho, so we are confident of their basic usability.&nbsp;<\/p>\r\n<p>We continue to get feedback and improve where necessary, for instance with the new embedded APIs, which were designed in consultation with experienced developers.<\/p>\r\n<p>We have also looked to improve areas of functionality within the clients to make using Paho easier for developers. One such example is the introduction of Automatic Reconnect &amp; Offline buffering functionality that is now in the Java, Android and C clients. This means that developers no longer have to write their own code to handle lost connections in their applications or the buffering of messages whilst the client attempts to reconnect. We are always looking for new ways to reduce the amount of &#39;boilerplate code&#39; that developers have to write especially if multiple developers have to write the same code in their applications.<\/p>\r\n"}]},{"apis":[{"value":"0"}],"architecture":[{"format":"full_html","value":"<p>Unlike most other Eclipse projects, Paho is made up of a number of separate components that have no relation to each other apart from their focus on MQTT. The majourity of components in Paho are APIs for specific languages or runtime environments, however they are all goverend by the MQTT specification which defines the protocol between clients and servers, but not the APIs that implement it. In the case of the Paho client libraries, we are faced with two options; We could design the APIs to be very similar across all languages and platforms, or we could tailor them to the individual language they are written in so that consumers of the library feel more comforatable using them.<\/p>\r\n\r\n<p>With Paho, we have chosen to follow the API styles set out by the individual languages that each component is written in \/ for.&nbsp;<\/p>\r\n\r\n<p>In this release we will have 3 new components, one client library targeted at GoLang, and an MQTT monitorying utility; mqtt-spy. The GoLang library is band new code written in Go and mqtt-spy is written in Java and uses the Paho MQTT library.<\/p>\r\n"}],"communities":[{"format":"full_html","value":"<p>This year, Paho migrated from the Eclipse Git \/ Gerrit \/ Bugzilla infrastructure to GitHub. With this there has been an increase in issues (bugs) being raised as well as an increase in code contributions in the form of Pull Requests. At the time of writing, the Paho components have been starred 246 times in total and users have forked the code 126 times.<\/p>\r\n\r\n<p>There are currently 397 resolved\/closed bugs for Paho and 128 unresolved for released components. Bug and mailing list activity has consistent external contributions and interest.<\/p>\r\n\r\n<p>As of March 2016, Paho still has the second highest website traffic of any Eclipse IoT project.&nbsp; Mosquitto is highest -- (an MQTT server derived from RSMB).&nbsp;&nbsp;&nbsp; This means that the MQTT projects have over 50% of all Eclipse IoT measured website traffic.<\/p>\r\n\r\n<p>Paho has second highest measured downloads of any Eclipse IoT project with over 130,000 in the last 12 months. This was in part due to making paho available in additional locations other than the eclipse download page and repositories.&nbsp; This statistic also omits many downloads of Paho which can be obtained in other ways (source, for instance). There have been some calls for some of the Paho clients to be made available in more package management services, and where possible and appropritate we will try to do this as it will make development significantly easier for some developers.<\/p>\r\n\r\n<p>These figures show continuing increase in activity and interest around Paho and MQTT year on year.&nbsp; They are only a rough guide, but show that there is consistent interest in MQTT and Paho.<\/p>\r\n\r\n<p>We are collaborating with the mbed (mbed.org) community on embedded MQTT clients:&nbsp;<a href=\"http:\/\/mbed.org\/teams\/mqtt\/\">http:\/\/mbed.org\/teams\/mqtt\/<\/a>&nbsp;The master source resides in the Paho project.<\/p>\r\n"}],"compatibility":[{"format":"full_html","value":"<p>Each of the MQTT components supports the MQTT v3.1.1 standard version of the protocol (https:\/\/www.oasis-open.org\/standards#mqttv3.1.1).&nbsp; Some may also support the older 3.1 specification.<\/p>\r\n\r\n<table align=\"center\" border=\"1\" cellpadding=\"1\" cellspacing=\"1\">\r\n\t<thead>\r\n\t\t<tr>\r\n\t\t\t<th scope=\"col\">Client<\/th>\r\n\t\t\t<th scope=\"col\">MQTT v3.1.1<\/th>\r\n\t\t\t<th scope=\"col\">MQTT v3.1<\/th>\r\n\t\t<\/tr>\r\n\t<\/thead>\r\n\t<tbody>\r\n\t\t<tr>\r\n\t\t\t<td>Java<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td>JavaScript<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td>Python<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td>C<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td>Android<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td>Go<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td>.Net<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td>Embedded C\/C++<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t\t<td>✔<\/td>\r\n\t\t<\/tr>\r\n\t<\/tbody>\r\n<\/table>\r\n\r\n<p>&nbsp;<\/p>\r\n\r\n<p>The MQTT-SN components implement version 1.2 of the MQTT-SN specification (http:\/\/mqtt.org\/new\/wp-content\/uploads\/2009\/06\/MQTT-SN_spec_v1.2.pdf).<\/p>\r\n"}],"conf_ui_guidelines":[],"date":[{"date_type":"datetime","timezone":"America\/Montreal","timezone_db":"America\/Montreal","value":"2016-06-17 00:00:00"}],"deliverables":[{"format":"full_html","value":"<ol>\r\n\t<li>Updated (bug-fixed) version of the existing client libraries; Java, Python, JavaScript, C, .Net, Android and Embedded C\/C++.<\/li>\r\n\t<li>Automatic Reconnect &amp; Offline Buffering functionality for the C, Java and Android Clients.<\/li>\r\n\t<li>WebSocket support for the Java and Python Clients.<\/li>\r\n\t<li>Formal release of the Go Client<\/li>\r\n<\/ol>\r\n\r\n<p><u><strong>Client Versions<\/strong><\/u><\/p>\r\n\r\n<table align=\"center\" border=\"1\" cellpadding=\"1\" cellspacing=\"1\">\r\n\t<thead>\r\n\t\t<tr>\r\n\t\t\t<th class=\"rtecenter\" scope=\"col\">Client<\/th>\r\n\t\t\t<th class=\"rtecenter\" scope=\"col\">Version<\/th>\r\n\t\t<\/tr>\r\n\t<\/thead>\r\n\t<tbody>\r\n\t\t<tr>\r\n\t\t\t<td class=\"rtecenter\">Java<\/td>\r\n\t\t\t<td class=\"rtecenter\">1.1.0<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td class=\"rtecenter\">C<\/td>\r\n\t\t\t<td class=\"rtecenter\">1.1.0<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td class=\"rtecenter\">JavaScript<\/td>\r\n\t\t\t<td class=\"rtecenter\">1.0.2<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td class=\"rtecenter\">Go<\/td>\r\n\t\t\t<td class=\"rtecenter\">1.0.0<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td class=\"rtecenter\">Android<\/td>\r\n\t\t\t<td class=\"rtecenter\">1.1.0<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td class=\"rtecenter\">m2mqtt (.Net)<\/td>\r\n\t\t\t<td class=\"rtecenter\">4.3.0<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td class=\"rtecenter\">Embedded C\/C++<\/td>\r\n\t\t\t<td class=\"rtecenter\">1.0.1<\/td>\r\n\t\t<\/tr>\r\n\t\t<tr>\r\n\t\t\t<td class=\"rtecenter\">Python<\/td>\r\n\t\t\t<td class=\"rtecenter\">1.2<\/td>\r\n\t\t<\/tr>\r\n\t<\/tbody>\r\n<\/table>\r\n\r\n<p>&nbsp;<\/p>\r\n\r\n<p><br \/>\r\n&nbsp;<\/p>\r\n"}],"description":[{"format":"full_html","summary":"","value":"<p>Automatic reconnect and offline buffering (allowing publish to be called when the application is not connected) for the C, Java, JavaScript and Android clients.<\/p>\r\n\r\n<p>WebSockets support for Java, Python.<\/p>\r\n\r\n<p>First formal release of the Go client.<\/p>\r\n"}],"endoflife":[],"environment":[{"format":"full_html","value":"<p><strong><u>Existing Components<\/u><\/strong><\/p>\r\n\r\n<ul>\r\n\t<li>Java - JDK 1.4.2 and above<\/li>\r\n\t<li>C - Linux, Windows and Mac OSX. Can also be called from C++<\/li>\r\n\t<li>JavaScript - Standard Modern web browsers that support WebSokcets, Node.js is not supported.<\/li>\r\n\t<li>Python - Python 2.7, 3 and above.<\/li>\r\n\t<li>.Net (m2mqtt) - .Net and WinRt, including Windows Phone<\/li>\r\n\t<li>Android - SDK 9 and Above<\/li>\r\n\t<li>Embedded C\/C++ - Microcontroller operating systems such as mbed, Arduino.<\/li>\r\n<\/ul>\r\n\r\n<p><strong><u>New Components<\/u><\/strong><\/p>\r\n\r\n<ul>\r\n\t<li>Go - Go Runtime, available on Windows, Mac OSX, Linux and FreeBSD<\/li>\r\n<\/ul>\r\n"}],"i18n":[{"format":"full_html","value":"<p><span style=\"color:#333333; font-family:'Open Sans','Helvetica Neue',Helvetica,Arial,sans-serif; font-size:14px\">The client libraries have a limited number of messages for debug information (trace) and errors (exceptions), intended for application developers, not end users.&nbsp; There are no current plans for internationalization.<\/span><\/p>\r\n"}],"ip_due_diligence_type":[],"milestones":[],"noncode":[{"format":"full_html","value":"<div class=\"field-items\">\r\n<div class=\"even field-item\">\r\n<p>The Paho web pages have a separate getting started page for each component:&nbsp;&nbsp;<a href=\"http:\/\/www.eclipse.org\/paho\/\">http:\/\/www.eclipse.org\/paho\/<\/a>.<\/p>\r\n\r\n<p>All of the APIs have samples demonstrating the use of the API and reference documentation in a form suitable for that language (JavaDoc, Doxygen, etc). There are plans to improve the documentation and example code though as well as a snippets page that allows developers to quickly find short examples for common MQTT tasks using the language \/ client of their choice.<\/p>\r\n\r\n<p>The mqtt.org community wiki has been updated with links to all the Paho components (https:\/\/github.com\/mqtt\/mqtt.github.io\/wiki\/libraries).<\/p>\r\n\r\n<p>&nbsp;<\/p>\r\n\r\n<div>&nbsp;<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n<p>&nbsp;<\/p>\r\n"}],"noteworthy":[],"parent_project":[{"id":"iot.paho"}],"review":{"description":[],"end_date":[{"date_type":"datetime","timezone":"America\/Montreal","timezone_db":"America\/Montreal","value":"2016-06-15 00:00:00"}],"links":[],"project":[{"id":"iot.paho"}],"reference":[{"title":"1.2.0 (Neon)"}],"state":[{"value":"success"}],"title":"1.2.0 (Neon) Release Review","top_level":[{"id":"iot"}],"type":[{"value":"release"}],"url":"https:\/\/projects.eclipse.org\/projects\/iot.paho\/reviews\/1.2.0-neon-release-review"},"screenshots":[],"security":[{"format":"full_html","value":"<p>MQTT uses TCP as its underlying transport.&nbsp; Each of the APIs allows the TCP connection to be secured with TLS\/SSL using the facilities available on that&nbsp; platform.&nbsp; For example:<\/p>\r\n\r\n<ul>\r\n\t<li>Java - JDK standard TLS\/SSL libraries<\/li>\r\n\t<li>.Net framework standard TLS\/SSL libraries<\/li>\r\n\t<li>Python built-in TLS\/SSL libraries<\/li>\r\n\t<li>C - OpenSSL<\/li>\r\n\t<li>Embedded C - no TLS support included, but supports the use of any TLS library<\/li>\r\n\t<li>GoLang - built-in TLS\/SSL library: crypto\/tls<\/li>\r\n\t<li>JavaScript - Web Browser built-in TLS\/SSL library<\/li>\r\n<\/ul>\r\n\r\n<p>No TLS\/SSL support is directly included in the Paho components, they use what is available in the external environment.&nbsp; That external environment needs to be updated with recent TLS software to ensure TLS vulnerability fixes are included.<\/p>\r\n\r\n<p>&nbsp;<\/p>\r\n"}],"standards":[{"format":"full_html","value":"<div class=\"field-items\">\r\n<div class=\"even field-item\">\r\n<p>Each of the MQTT components supports the MQTT v3.1.1 standard version of the protocol (https:\/\/www.oasis-open.org\/standards#mqttv3.1.1).&nbsp; Some may also support the older 3.1 specification.<\/p>\r\n\r\n<p>The MQTT-SN components implement version 1.2 of the MQTT-SN specification (http:\/\/mqtt.org\/new\/wp-content\/uploads\/2009\/06\/MQTT-SN_spec_v1.2.pdf).<\/p>\r\n\r\n<div>&nbsp;<\/div>\r\n<\/div>\r\n<\/div>\r\n\r\n<p>&nbsp;<\/p>\r\n"}],"subprojects":[],"themes":[{"committed":"","deferred":"","description":"If the connection between the Paho Client and the MQTT server is lost, the developer currently has to manage the process of re-connecting to the server themselves. Now, the Java, Android and C clients are joining the Python client with the ability to automatically attempt to reconnect once the connection is lost.","name":"Automatic Reconnect","proposed":""},{"committed":"","deferred":"","description":"In situations where the connection has been lost in the Java, Android and C clients, they are now able to continue accepting messages to be published and buffer them until the connection can be re-established. Once this happens the messages are then sent in the correct order to minimise data loss.","name":"Offline Buffering","proposed":""}],"title":"1.2.0 (Neon)","type":[{"value":"2"}],"url":"https:\/\/projects.eclipse.org\/projects\/iot.paho\/releases\/1.2.0-neon","usability":[{"format":"full_html","value":"<p>Each of the APIs in any of the languages has a similar look and feel, with one operation for each of the MQTT commands, connect, subscribe, unsubscribe, publish and disconnect.&nbsp;&nbsp; The success or failure of these operations is reported either synchronously via a return code, or asynchronously in a callback, depending on the API.&nbsp;&nbsp;<\/p>\r\n\r\n<p>The basic styles of API have been developed over 8 years or more, from before Paho&#39;s existence, and continued within Paho, so we are confident of their basic usability.&nbsp;<\/p>\r\n\r\n<p>We continue to get feedback and improve where necessary, for instance with the new embedded APIs, which were designed in consultation with experienced developers.<\/p>\r\n\r\n<p>We have also looked to improve areas of functionality within the clients to make using Paho easier for developers. One such example is the introduction of Automatic Reconnect &amp; Offline buffering functionality that is now in the Java, Android and C clients and is planned for other clients too. This means that developers no longer have to write their own code to handle lost connections in their applications or the buffering of messages whilst the client attempts to reconnect. We are always looking for new ways to reduce the amount of &#39;boilerplate code&#39; that developers have to write especially if multiple developers have to write the same code in their applications.<\/p>\r\n"}]},{"apis":[{"value":"1"}],"architecture":[{"format":"full_html","value":"<p>Paho is different to many other Eclipse projects in that each component is a completely separate entity, with no relation to the others except that they all focus on MQTT.&nbsp;&nbsp;&nbsp; Most of the components are APIs for a specific language or runtime environment.&nbsp; The MQTT specification governs the protocol between clients and servers, and says nothing about what APIs that implement the protocol should look like.&nbsp; We could try and make the APIs look as similar to each other as possible, or instead let them be tailored for or native to, the particular environment they are running in.&nbsp;&nbsp; We are taking the latter approach, to allow the APIs to be comfortable to the developers in the language or environment they are targeted at.<\/p>\r\n\r\n<p>So in this release we have three new components, targeted at .Net and WinRT, Android and embedded microcontrollers.&nbsp; The .Net client is entirely separate code, written in C#.&nbsp;&nbsp; The Android service is a wrapper around the existing Java client.&nbsp; The embedded C APIs are entirely new code, separate from the existing C client, which is too tied to Windows and Linux to be a good starting point.<\/p>\r\n"}],"communities":[{"format":"full_html","value":"<p>At the time of writing, there are 259 resolved\/closed bugs for Paho, and 73 unresolved for released components.&nbsp; Bug and mailing list activity has consistent external contributions and interest.<\/p>\r\n\r\n<p>As of December 2013, Paho has the second highest website traffic of any Eclipse IoT project.&nbsp; Mosquitto is highest -- (an MQTT server derived from RSMB).&nbsp;&nbsp;&nbsp; This means that the MQTT projects have over 50% of all Eclipse IoT measured website traffic.<\/p>\r\n\r\n<p>Paho has second highest measured downloads of any Eclipse IoT project.&nbsp; This statistic also omits many downloads of Paho which can be obtained in other ways (source, for instance).<\/p>\r\n\r\n<p>These figures show continuing increase in activity and interest around Paho and MQTT year on year.&nbsp; They are only a rough guide, but show that there is consistent interest in MQTT and Paho.<\/p>\r\n\r\n<p>We are collaborating with the mbed (mbed.org) community on embedded MQTT clients: <a href=\"http:\/\/mbed.org\/teams\/mqtt\/\">http:\/\/mbed.org\/teams\/mqtt\/<\/a> The master source resides in the Paho project.<\/p>\r\n"}],"compatibility":[{"format":"full_html","value":"<p>Each of the MQTT components supports the MQTT v3.1.1 standard version of the protocol (https:\/\/www.oasis-open.org\/standards#mqttv3.1.1).&nbsp; Some may also support the older 3.1 specification.<\/p>\r\n\r\n<p>The MQTT-SN components implement version 1.2 of the MQTT-SN specification (http:\/\/mqtt.org\/new\/wp-content\/uploads\/2009\/06\/MQTT-SN_spec_v1.2.pdf).<\/p>\r\n"}],"conf_ui_guidelines":[],"date":[{"date_type":"datetime","timezone":"America\/Montreal","timezone_db":"America\/Montreal","value":"2015-01-30 00:00:00"}],"deliverables":[{"format":"full_html","value":"<ol>\r\n\t<li>Updated (bug-fixed) version of the existing client libraries (Java, C, Python and JavaScript)<\/li>\r\n\t<li>A client library to allow .Net and Windows RT\/Phone applications to use MQTT in a native form.<\/li>\r\n\t<li>Mobile device support - Android service to allow messages to be sent and received while the main application&#39;s activity is not active.<\/li>\r\n\t<li>Embedded device support - portable C\/C++ client libraries for MQTT and MQTT-SN, called MQTTPacket and MQTTSNPacket.&nbsp; These client libraries are the first level of a complete set of capabilities for microcontroller operating systems.&nbsp; They differ from the standard Paho C API in that they are:<\/li>\r\n<\/ol>\r\n\r\n<ul class=\"rteindent1\">\r\n\t<li>operating system independent (no use of system calls)<\/li>\r\n\t<li>use no dynamic memory (for predictable, limited memory use)<\/li>\r\n\t<li>network transport independent<\/li>\r\n<\/ul>\r\n\r\n<p>&nbsp;<\/p>\r\n"}],"description":[{"format":"full_html","summary":"","value":"<p>There are three new components in this release:<\/p>\r\n\r\n<p>1) an Android Service based on the Paho Java MQTT client library, which sends and receives messages on behalf of an Android client application when the application&#39;s main Activity may not be running.<\/p>\r\n\r\n<p>2) MQTT and MQTT-SN client libraries in C for embedded devices with limited resources - for instance mbed and Arduino microcontrollers.<\/p>\r\n\r\n<p>3) An MQTT client for .Net and WinRT, written in C#<\/p>\r\n\r\n<p>along with updated (bug-fixed) versions of the existing components: MQTT client libraries for Java, C\/C++, Python and JavaScript.<\/p>\r\n"}],"endoflife":[],"environment":[{"format":"full_html","value":"<div class=\"field-items\">\r\n<div class=\"even field-item\">\r\n<p><u>New components:<\/u><\/p>\r\n\r\n<p>.Net and WinRT, including Windows Phone<\/p>\r\n\r\n<p>Android<\/p>\r\n\r\n<p>Microcontroller operating systems, such as mbed, Arduino.<\/p>\r\n\r\n<p><u>Existing components:<\/u><\/p>\r\n\r\n<p>Java - JDK 1.4.2 and above<\/p>\r\n\r\n<p>C - Linux, Windows and Mac OS\/X.&nbsp; Can also be called from C++<\/p>\r\n\r\n<p>JavaScript - standard web browsers.&nbsp; Node.js is not supported.<\/p>\r\n\r\n<p>Python - Python 2.7,&nbsp; 3 and above.<\/p>\r\n<\/div>\r\n<\/div>\r\n\r\n<p>&nbsp;<\/p>\r\n"}],"i18n":[{"format":"full_html","value":"<p>The client libraries have a limited number of messages for debug information (trace) and errors (exceptions), intended for application developers, not end users.&nbsp; There are no current plans for internationalization.<\/p>\r\n"}],"ip_due_diligence_type":[],"milestones":[],"noncode":[{"format":"full_html","value":"<div class=\"field-items\">\r\n<div class=\"even field-item\">\r\n<p>The Paho web pages have been updated to have a separate getting started page for each component:&nbsp; <a href=\"http:\/\/www.eclipse.org\/paho\/\">http:\/\/www.eclipse.org\/paho\/<\/a>.&nbsp;&nbsp; Links to articles, the project plan and wiki have been added.<\/p>\r\n\r\n<p>All of the APIs have samples demonstrating the use of the API and reference documentation in a form suitable for that language (JavaDoc, Doxygen, etc).<\/p>\r\n\r\n<p>The mqtt.org community website has been updated with links to all the Paho components.<\/p>\r\n<\/div>\r\n<\/div>\r\n\r\n<p>&nbsp;<\/p>\r\n"}],"noteworthy":[],"parent_project":[{"id":"iot.paho"}],"review":{"description":[],"end_date":[{"date_type":"datetime","timezone":"America\/Montreal","timezone_db":"America\/Montreal","value":"2015-01-21 00:00:00"}],"links":[],"project":[{"id":"iot.paho"}],"reference":[{"title":"1.1.0"}],"state":[{"value":"success"}],"title":"1.1.0 Release Review","top_level":[{"id":"iot"}],"type":[{"value":"release"}],"url":"https:\/\/projects.eclipse.org\/projects\/iot.paho\/reviews\/1.1.0-release-review"},"screenshots":[],"security":[{"format":"full_html","value":"<p>MQTT uses TCP as its underlying transport.&nbsp; Each of the APIs allows the TCP connection to be secured with TLS\/SSL using the facilities available on that&nbsp; platform.&nbsp; For example:<\/p>\r\n\r\n<ul>\r\n\t<li>Java - JDK standard TLS\/SSL libraries<\/li>\r\n\t<li>.Net framework standard TLS\/SSL libraries<\/li>\r\n\t<li>Python built-in TLS\/SSL libraries<\/li>\r\n\t<li>C - OpenSSL<\/li>\r\n\t<li>Embedded C - no TLS support included, but supports the use of any TLS library<\/li>\r\n<\/ul>\r\n\r\n<p>No TLS\/SSL support is directly included in the Paho components, they use what is available in the external environment.&nbsp; That external environment needs to be updated with recent TLS software to ensure TLS vulnerability fixes are included.<\/p>\r\n"}],"standards":[{"format":"full_html","value":"<div class=\"field-items\">\r\n<div class=\"even field-item\">\r\n<p>Each of the MQTT components supports the MQTT v3.1.1 standard version of the protocol (https:\/\/www.oasis-open.org\/standards#mqttv3.1.1).&nbsp; Some may also support the older 3.1 specification.<\/p>\r\n\r\n<p>The MQTT-SN components implement version 1.2 of the MQTT-SN specification (http:\/\/mqtt.org\/new\/wp-content\/uploads\/2009\/06\/MQTT-SN_spec_v1.2.pdf).<\/p>\r\n<\/div>\r\n<\/div>\r\n\r\n<p>&nbsp;<\/p>\r\n"}],"subprojects":[],"themes":[],"title":"1.1.0","type":[{"value":"2"}],"url":"https:\/\/projects.eclipse.org\/projects\/iot.paho\/releases\/1.1.0","usability":[{"format":"full_html","value":"<p>Each of the APIs in any of the languages has a similar look and feel, with one operation for each of the MQTT commands, connect, subscribe, unsubscribe, publish and disconnect.&nbsp;&nbsp; The success or failure of these operations is reported either synchronously via a return code, or asynchronously in a callback, depending on the API.&nbsp;&nbsp;<\/p>\r\n\r\n<p>The basic styles of API have been developed over 8 years or more, from before Paho&#39;s existence, and continued within Paho, so we are confident of their basic usability.&nbsp;<\/p>\r\n\r\n<p>We continue to get feedback and improve where necessary, for instance with the new embedded APIs, which were designed in consultation with experienced developers.<\/p>\r\n"}]},{"apis":[{"value":"1"}],"architecture":[{"format":"full_html","value":"<div class=\"field-items\">\r\n<div class=\"even field-item\">\r\n<p>Each of the APIs in any of the languages has a similar look and feel, with one operation for each of the MQTT commands, connect, subscribe, unsubscribe, publish and disconnect.&nbsp; So, the behaviour of each is similar, internally.<\/p>\r\n\r\n<p>Static analyis of the C client library showed no serious logic errors, and only 3 possible minor errors.<\/p>\r\n\r\n<p>Gerrit is used to review contributions on the git source repositories.&nbsp; Build and test results are available on the Paho HIPP instance: <a href=\"https:\/\/hudson.eclipse.org\/paho\/\">https:\/\/hudson.eclipse.org\/paho\/<\/a>, with builds triggered automatically by Gerrit submissions.<\/p>\r\n<\/div>\r\n<\/div>\r\n\r\n<p>&nbsp;<\/p>\r\n"}],"communities":[{"format":"full_html","value":"<p>At the time of writing, there are 112 resolved\/closed bugs for the Java, C, JavaScript and Python clients combined: <a href=\"https:\/\/bugs.eclipse.org\/bugs\/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;classification=Technology&amp;component=MQTT-C&amp;component=MQTT-Java&amp;component=MQTT-JS&amp;component=MQTT-Python&amp;list_id=8914450&amp;product=Paho&amp;query_format=advanced\">https:\/\/bugs.eclipse.org\/bugs\/buglist.cgi?bug_status=RESOLVED&amp;bug_status...<\/a><\/p>\r\n\r\n<p>and 22 unresolved: <a href=\"https:\/\/bugs.eclipse.org\/bugs\/buglist.cgi?bug_status=UNCONFIRMED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;classification=Technology&amp;component=MQTT-C&amp;component=MQTT-Java&amp;component=MQTT-JS&amp;component=MQTT-Python&amp;list_id=8914478&amp;product=Paho&amp;query_format=advanced\">https:\/\/bugs.eclipse.org\/bugs\/buglist.cgi?bug_status=UNCONFIRMED&amp;bug_sta...<\/a>.<\/p>\r\n\r\n<p>At EclipseCon 2014, an MQTT interoperability test day was held (<a href=\"http:\/\/eclipse.org\/org\/press-release\/20140407_mqtt_test_day.php\">http:\/\/eclipse.org\/org\/press-release\/20140407_mqtt_test_day.php<\/a>).&nbsp; Test material from Paho was integral to the success of this day - although the test material is not part of this release. Four sessions at EclipseCon referenced MQTT and Paho: &quot;Flying Sharks and M2M&quot;, &quot;M2M Lightning Talks&quot;, &quot;M2M, IOT, Device Management&quot;, &quot;Powering Your Next Internet of Things App with MQTT&quot;.<\/p>\r\n\r\n<p>MQTT.org is a central focus of the MQTT community - Paho news is updated here too <a href=\"http:\/\/mqtt.org\/tag\/paho\">http:\/\/mqtt.org\/tag\/paho<\/a>.<\/p>\r\n\r\n<p>We are working with the mbed (mbed.org) community on embedded MQTT clients: <a href=\"http:\/\/mbed.org\/teams\/mqtt\/\">http:\/\/mbed.org\/teams\/mqtt\/<\/a> The master source will reside in the Paho project.<\/p>\r\n\r\n<p>Several Paho committers are members of the MQTT OASIS standardization committee: <a href=\"https:\/\/www.oasis-open.org\/committees\/membership.php?wg_abbrev=mqtt\">https:\/\/www.oasis-open.org\/committees\/membership.php?wg_abbrev=mqtt<\/a><\/p>\r\n\r\n<p>MQTT and the Python client library: <a href=\"https:\/\/speakerdeck.com\/jpmens\/mqtt-for-sysadmins\">https:\/\/speakerdeck.com\/jpmens\/mqtt-for-sysadmins<\/a><\/p>\r\n\r\n<p>&nbsp;<\/p>\r\n"}],"compatibility":[{"format":"full_html","value":"<p>The OASIS standard version of MQTT, version 3.1.1 will be nearing completion at the time of this release.&nbsp; The libraries will be able to connect to both 3.1 and 3.1.1 servers.<br \/>\r\n&nbsp;<\/p>\r\n"}],"conf_ui_guidelines":[],"date":[{"date_type":"datetime","timezone":"America\/Montreal","timezone_db":"America\/Montreal","value":"2014-06-25 00:00:00"}],"deliverables":[{"format":"full_html","value":"<p>MQTT 3.1.1 support for each client (C, Java, JavaScript and Python).<\/p>\r\n\r\n<p>JavaScript API exerciser.<\/p>\r\n"}],"description":[{"format":"full_html","summary":"","value":"<p>This is a simultaneous release with Luna, but not in the Luna repositories.&nbsp;<\/p>\r\n\r\n<p>The Paho client libraries have been in use for several years now by IBM and Mosquitto, amongst others, predating the Paho project itself.&nbsp; We consider them mature and suitable for production use, which is why we are proposing to graduate the project with this release.<\/p>\r\n\r\n<p>The main functional addition is the support of the latest version of the MQTT 3.1.1 specification, an OASIS standard.<\/p>\r\n"}],"endoflife":[],"environment":[{"format":"full_html","value":"<div class=\"field-items\">\r\n<div class=\"even field-item\">\r\n<p>Java - JDK 1.4.2 and above<\/p>\r\n\r\n<p>C - Linux, Windows and Mac OS\/X.&nbsp; Can also be called from C++<\/p>\r\n\r\n<p>JavaScript - standard web browsers.&nbsp; Node.js is not supported.<\/p>\r\n\r\n<p>Python - Python 2.7,&nbsp; 3 and above.<\/p>\r\n<\/div>\r\n<\/div>\r\n\r\n<p><br \/>\r\n&nbsp;<\/p>\r\n"}],"i18n":[{"format":"full_html","value":"<p>The client libraries only have messages for debug information (trace) and errors (exceptions).&nbsp; None are internationalized at this point.<br \/>\r\n&nbsp;<\/p>\r\n"}],"ip_due_diligence_type":[],"milestones":[],"noncode":[{"format":"full_html","value":"<p>The Paho web pages have been updated to have a separate page for each MQTT client:&nbsp; <a href=\"http:\/\/www.eclipse.org\/paho\/\">http:\/\/www.eclipse.org\/paho\/<\/a><\/p>\r\n\r\n<p>A number of MQTT\/Paho articles have been written and linked to from the website: <a href=\"http:\/\/www.infoq.com\/articles\/practical-mqtt-with-paho\">http:\/\/www.infoq.com\/articles\/practical-mqtt-with-paho<\/a>, <a href=\"http:\/\/www.eclipse.org\/paho\/articles\/talkingsmall\/\">http:\/\/www.eclipse.org\/paho\/articles\/talkingsmall\/<\/a>.<\/p>\r\n\r\n<p>All of the APIs have samples to show how to get started with the API and reference documentation in a form suitable for that language (JavaDoc, Doxygen, etc).<\/p>\r\n"}],"noteworthy":[],"parent_project":[{"id":"iot.paho"}],"review":{"description":[],"end_date":[{"date_type":"datetime","timezone":"America\/Montreal","timezone_db":"America\/Montreal","value":"2014-06-11 00:00:00"}],"links":[],"project":[{"id":"iot.paho"}],"reference":[{"title":"1.0.0 (Luna)"}],"state":[{"value":"success"}],"title":"1.0.0 (Luna) Release Review","top_level":[{"id":"iot"}],"type":[{"value":"release"},{"value":"graduation"}],"url":"https:\/\/projects.eclipse.org\/projects\/iot.paho\/reviews\/1.0.0-luna-release-review"},"screenshots":[],"security":[{"format":"full_html","value":"<div class=\"field-items\">\r\n<div class=\"even field-item\">\r\n<p>The C client library does make use of OpenSSL for secure connections.&nbsp; However OpenSSL is not packaged or supplied with the Paho library - the version of OpenSSL provided by the host operating system is used.&nbsp; So it is up to the user to use a version of OpenSSL which they are happy with.&nbsp;<\/p>\r\n\r\n<p>The Python MQTT client library also indirectly uses OpenSSL through the Python SSL libraries.&nbsp; Python itself needs to be kept updated to get the latest OpenSSL fixes.<\/p>\r\n\r\n<p>One issue was raised as a vulnerability (<a href=\"https:\/\/bugs.eclipse.org\/bugs\/show_bug.cgi?id=425195\">https:\/\/bugs.eclipse.org\/bugs\/show_bug.cgi?id=425195<\/a>), but this is normally avoided as described in the bug.&nbsp;&nbsp; An option to allow this will be added in a future release.<\/p>\r\n<\/div>\r\n<\/div>\r\n\r\n<p><br \/>\r\n&nbsp;<\/p>\r\n"}],"standards":[{"format":"full_html","value":"<div class=\"field-items\">\r\n<div class=\"even field-item\">\r\n<p>This release will be the first to support the OASIS MQTT 3.1.1 standard http:\/\/docs.oasis-open.org\/mqtt\/mqtt\/v3.1.1\/cs01\/mqtt-v3.1.1-cs01.html<\/p>\r\n<\/div>\r\n<\/div>\r\n\r\n<p>&nbsp;<\/p>\r\n"}],"subprojects":[],"themes":[{"committed":"","deferred":"","description":"Support for the OASIS MQTT 3.1.1 standard ","name":"MQTT 3.1.1 support","proposed":""},{"committed":"","deferred":"","description":"Cleaning up the bug database, fixing important bugs, responding to others, to increase reliability.","name":"Bug triage and fixing","proposed":""}],"title":"1.0.0 (Luna)","type":[{"value":"2"}],"url":"https:\/\/projects.eclipse.org\/projects\/iot.paho\/releases\/1.0.0-luna","usability":[{"format":"full_html","value":"<p>Each of the APIs in any of the languages has a similar look and feel, with one operation for each of the MQTT commands, connect, subscribe, unsubscribe, publish and disconnect.&nbsp;&nbsp; The success or failure of these operations is reported either synchronously via a return code, or asynchronously in a callback, depending on the API.&nbsp;&nbsp; The basic styles of API have been developed over 8 years or more, from before Paho&#39;s existence, and continued within Paho, so we are confident of their basic usability.&nbsp; We continue to get feedback and improve where necessary, for instance with the new embedded APIs.<br \/>\r\n&nbsp;<\/p>\r\n"}]},{"apis":[{"value":"1"}],"architecture":[{"format":"full_html","value":"<p>Each of the APIs in any of the languages has a similar look and feel, with one operation for each of the MQTT commands, connect, subscribe, unsubscribe, publish and disconnect.&nbsp; So, the behaviour of each is similar, internally.<\/p>\r\n\r\n<p>Static analyis of the C client library showed only 3 possible logic errors, none of which were serious.<\/p>\r\n\r\n<p>Gerrit is used to review contributions on the C, Java and Python repositories.&nbsp; Build and test results are available on the Paho HIPP instance: https:\/\/hudson.eclipse.org\/paho\/, with builds triggered automatically by Gerrit submissions for the Java and C repositories.<\/p>\r\n"}],"communities":[{"format":"full_html","value":"<p>At the time of writing, there are 94 resolved\/closed bugs for the Java, C, JavaScript and Python clients combined: https:\/\/bugs.eclipse.org\/bugs\/buglist.cgi?bug_status=RESOLVED&amp;bug_status=VERIFIED&amp;bug_status=CLOSED&amp;classification=Technology&amp;component=MQTT-C&amp;component=MQTT-Java&amp;component=MQTT-JS&amp;component=MQTT-Python&amp;list_id=8914450&amp;product=Paho&amp;query_format=advanced<\/p>\r\n\r\n<p>and 30 unresolved: https:\/\/bugs.eclipse.org\/bugs\/buglist.cgi?bug_status=UNCONFIRMED&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;classification=Technology&amp;component=MQTT-C&amp;component=MQTT-Java&amp;component=MQTT-JS&amp;component=MQTT-Python&amp;list_id=8914478&amp;product=Paho&amp;query_format=advanced.<\/p>\r\n\r\n<p>At EclipseCon, an MQTT interoperability test day was held (http:\/\/eclipse.org\/org\/press-release\/20140407_mqtt_test_day.php).&nbsp; Test material from Paho was integral to the success of this day - although the test material is not part of this release. Four sessions at EclipseCon referenced MQTT and Paho: &quot;Flying Sharks and M2M&quot;, &quot;M2M Lightning Talks&quot;, &quot;M2M, IOT, Device Management&quot;, &quot;Powering Your Next Internet of Things App with MQTT&quot;.<\/p>\r\n\r\n<p>MQTT.org is a central focus of the MQTT community - Paho news is updated here too http:\/\/mqtt.org\/tag\/paho.<\/p>\r\n\r\n<p>A formal release for Paho is an integral part of raising its profile.<\/p>\r\n\r\n<p>We are working with the mbed (mbed.org) community on embedded MQTT clients: http:\/\/mbed.org\/teams\/mqtt\/<\/p>\r\n\r\n<p>Several Paho committers are part of the MQTT standardization committee at OASIS: https:\/\/www.oasis-open.org\/committees\/membership.php?wg_abbrev=mqtt<\/p>\r\n\r\n<p>MQTT and the Python client library: https:\/\/speakerdeck.com\/jpmens\/mqtt-for-sysadmins<\/p>\r\n\r\n<p>&nbsp;<\/p>\r\n\r\n<p>&nbsp;<\/p>\r\n"}],"compatibility":[{"format":"full_html","value":"<p>Future releases will support MQTT 3.1.1 as well as the existing MQTT 3.1 specification.&nbsp; MQTT 3.1 support will not be dropped for the forseeable future.<\/p>\r\n"}],"conf_ui_guidelines":[],"date":[{"date_type":"datetime","timezone":"America\/Montreal","timezone_db":"America\/Montreal","value":"2014-05-02 00:00:00"}],"deliverables":[{"format":"full_html","value":"<p>Java MQTT client library.&nbsp; Hudson\/Maven product build. p2 repository.<\/p>\r\n\r\n<p>C MQTT client library.&nbsp; Binaries for 64-bit Linux, Windows and Mac. Build for the Eclipse IDE.<\/p>\r\n\r\n<p>JavaScript library for use in web browsers.<\/p>\r\n\r\n<p>Samples for each.<\/p>\r\n\r\n<p>API Documentation for each.<\/p>\r\n\r\n<p>Bug fixes.<\/p>\r\n"}],"description":[{"format":"full_html","summary":"","value":"<p>This is the first release of the Java, C, JavaScript and Python MQTT client libraries.&nbsp; They allow application programs to communicate with MQTT servers using the existing MQTT specification, 3.1.&nbsp; The MQTT standard currently being drafted, 3.1.1, will be supported in a later release.<\/p>\r\n\r\n<p>Each library supports the full MQTT 3.1 specification including:<\/p>\r\n\r\n<p>- QoS 0, 1 and 2<\/p>\r\n\r\n<p>- payloads up to 256MB (MQTT server support needed)<\/p>\r\n\r\n<p>- will messages.<\/p>\r\n\r\n<p>&nbsp;<\/p>\r\n"}],"endoflife":[{"format":"full_html","value":"<p>No previous releases, so this does not apply.<\/p>\r\n"}],"environment":[{"format":"full_html","value":"<p>Java - JDK 1.4.2 and above<\/p>\r\n\r\n<p>C - Linux, Windows and Mac OS\/X.&nbsp; Can also be called from C++<\/p>\r\n\r\n<p>JavaScript - standard web browsers.&nbsp; Node.js is not supported.<\/p>\r\n\r\n<p>Python - Python 2.7,&nbsp; 3 and above.<\/p>\r\n"}],"i18n":[{"format":"full_html","value":"<p>The client libraries only have messages for debug information (trace) and errors (exceptions).&nbsp; None are internationalized at this point.<\/p>\r\n"}],"ip_due_diligence_type":[],"milestones":[],"noncode":[{"format":"full_html","value":"<p>The Paho web pages are in the process of being updated in readiness for the new release.&nbsp; The old pages are here:&nbsp; http:\/\/www.eclipse.org\/paho\/, the new here: http:\/\/www.eclipse.org\/paho\/new\/<\/p>\r\n\r\n<p>A number of MQTT\/Paho articles have been written and linked to from the website: http:\/\/www.infoq.com\/articles\/practical-mqtt-with-paho, http:\/\/www.eclipse.org\/paho\/new\/articles\/talkingsmall\/.<\/p>\r\n\r\n<p>All of the APIs have samples to show how to get started with the API and reference documentation in a form suitable for that language (JavaDoc, Doxygen, etc).<\/p>\r\n\r\n<p>&nbsp;<\/p>\r\n"}],"noteworthy":[],"parent_project":[{"id":"iot.paho"}],"review":{"description":[{"format":"filtered_html","safe_summary":"","safe_value":"<p>Release Review<\/p>","summary":"","value":"<p>Release Review<\/p>\r\n"}],"end_date":[{"date_type":"datetime","timezone":"America\/Montreal","timezone_db":"America\/Montreal","value":"2014-04-30 00:00:00"}],"links":[],"project":[{"id":"iot.paho"}],"reference":[{"title":"0.9.0"}],"state":[{"value":"success"}],"title":"0.9.0 Release Review","top_level":[{"id":"iot"}],"type":[{"value":"release"}],"url":"https:\/\/projects.eclipse.org\/projects\/iot.paho\/reviews\/0.9.0-release-review"},"screenshots":[],"security":[{"format":"full_html","value":"<p>The C client library does make use of OpenSSL for secure connections.&nbsp; However OpenSSL is not packaged or supplied with the Paho library - the version of OpenSSL provided by the host operating system is used.&nbsp; So it is up to the user to use a version of OpenSSL which they are happy with.&nbsp; The Python MQTT client library also indirectly uses OpenSSL through the Python SSL libraries.&nbsp; Python itself needs to be kept updated to get the latest OpenSSL fixes.<\/p>\r\n\r\n<p>One issue was raised as a vulnerability (https:\/\/bugs.eclipse.org\/bugs\/show_bug.cgi?id=425195), but this is normally avoided as described in the bug.&nbsp;&nbsp; An option to allow this will be added in a future release.<\/p>\r\n"}],"standards":[{"format":"full_html","value":"<p>The current support is for the MQTT 3.1 specification, here: http:\/\/www.ibm.com\/developerworks\/webservices\/library\/ws-mqtt\/index.html<\/p>\r\n\r\n<p>Future releases will also support the OASIS MQTT 3.1.1 standard, which has not yet been finalized.<\/p>\r\n"}],"subprojects":[],"themes":[{"committed":"","deferred":"","description":"The existing MQTT specification is for 3.1","name":"MQTT 3.1 support","proposed":""},{"committed":"","deferred":"","description":"Libraries for Java, C\/C++, JavaScript and Python.","name":"Programming Language Support","proposed":""}],"title":"0.9.0","type":[{"value":"2"}],"url":"https:\/\/projects.eclipse.org\/projects\/iot.paho\/releases\/0.9.0","usability":[{"format":"full_html","value":"<p>Each of the APIs in any of the languages has a similar look and feel, with one operation for each of the MQTT commands, connect, subscribe, unsubscribe, publish and disconnect.&nbsp;&nbsp; The success or failure of these operations is reported either synchronously via a return code, or asynchronously in a callback, depending on the API.&nbsp;&nbsp; The basic styles of API have been developed over 8 years or more, from before Paho&#39;s existence, and continued within Paho, so we are confident of their basic usability.&nbsp; We continue to get feedback and improve where necessary, for instance with the new embedded APIs.<br \/>\r\n&nbsp;<\/p>\r\n"}]}],"scope":[{"format":"full_html","value":"<p>The scope of the Eclipse Paho project is to provide open source implementations of open and standard messaging protocols that support current and emerging requirements of M2M integration with Web and Enterprise middleware and applications.&nbsp; It will include client implementations for use on embedded platforms along with corresponding server support as determined by the community.<\/p>\r\n\r\n<p>In order for M2M device and client developers to integrate, develop and test messaging components end-to-end, Paho will address the development of frameworks and sample code needed to support testing and development of end-to-end device connectivity with a server. The project will make these available in an Eclipse M2M sever &ldquo;sandbox&rdquo;, as recommended by the Eclipse M2M Industry Working Group. &nbsp;<\/p>\r\n\r\n<p>The Paho project scope includes the development of tooling that will support effective use, integration and testing of the messaging components.<\/p>\r\n"}],"source_repo":[{"name":"paho.mqtt.c","path":"https:\/\/github.com\/eclipse\/paho.mqtt.c","type":"github","url":"https:\/\/github.com\/eclipse\/paho.mqtt.c"},{"name":"paho.mqtt.python","path":"https:\/\/github.com\/eclipse\/paho.mqtt.python","type":"github","url":"https:\/\/github.com\/eclipse\/paho.mqtt.python"},{"name":"paho.mqtt.javascript","path":"https:\/\/github.com\/eclipse\/paho.mqtt.javascript","type":"github","url":"https:\/\/github.com\/eclipse\/paho.mqtt.javascript"},{"name":"paho.mqtt.embedded-c","path":"https:\/\/github.com\/eclipse\/paho.mqtt.embedded-c","type":"github","url":"https:\/\/github.com\/eclipse\/paho.mqtt.embedded-c"},{"name":"paho.mqtt.java","path":"https:\/\/github.com\/eclipse\/paho.mqtt.java","type":"github","url":"https:\/\/github.com\/eclipse\/paho.mqtt.java"},{"name":"paho.mqtt.cpp","path":"https:\/\/github.com\/eclipse\/paho.mqtt.cpp","type":"github","url":"https:\/\/github.com\/eclipse\/paho.mqtt.cpp"},{"name":"paho.mqtt.golang","path":"https:\/\/github.com\/eclipse\/paho.mqtt.golang","type":"github","url":"https:\/\/github.com\/eclipse\/paho.mqtt.golang"},{"name":"paho.mqtt-sn.embedded-c","path":"https:\/\/github.com\/eclipse\/paho.mqtt-sn.embedded-c","type":"github","url":"https:\/\/github.com\/eclipse\/paho.mqtt-sn.embedded-c"},{"name":"paho.mqtt.m2mqtt","path":"https:\/\/github.com\/eclipse\/paho.mqtt.m2mqtt","type":"github","url":"https:\/\/github.com\/eclipse\/paho.mqtt.m2mqtt"},{"name":"paho.mqtt.testing","path":"https:\/\/github.com\/eclipse\/paho.mqtt.testing","type":"github","url":"https:\/\/github.com\/eclipse\/paho.mqtt.testing"},{"name":"paho.mqtt.android","path":"https:\/\/github.com\/eclipse\/paho.mqtt.android","type":"github","url":"https:\/\/github.com\/eclipse\/paho.mqtt.android"},{"name":"paho.mqtt.d","path":"https:\/\/github.com\/eclipse\/paho.mqtt.d","type":"github","url":"https:\/\/github.com\/eclipse\/paho.mqtt.d"},{"name":"paho.mqtt-spy","path":"https:\/\/github.com\/eclipse\/paho.mqtt-spy","type":"github","url":"https:\/\/github.com\/eclipse\/paho.mqtt-spy"},{"name":"paho.mqtt.ruby","path":"https:\/\/github.com\/eclipse\/paho.mqtt.ruby","type":"github","url":"https:\/\/github.com\/eclipse\/paho.mqtt.ruby"},{"name":"paho.mqtt.rust","path":"https:\/\/github.com\/eclipse\/paho.mqtt.rust","type":"github","url":"https:\/\/github.com\/eclipse\/paho.mqtt.rust"},{"name":"paho.golang","path":"https:\/\/github.com\/eclipse\/paho.golang","type":"github","url":"https:\/\/github.com\/eclipse\/paho.golang"},{"name":"paho\/org.eclipse.paho.apps","path":"\/gitroot\/paho\/org.eclipse.paho.apps.git","type":"git","url":"https:\/\/git.eclipse.org\/r\/plugins\/gitiles\/paho\/org.eclipse.paho.apps"},{"name":"paho\/org.eclipse.paho.esf","path":"\/gitroot\/paho\/org.eclipse.paho.esf.git","type":"git","url":"https:\/\/git.eclipse.org\/r\/plugins\/gitiles\/paho\/org.eclipse.paho.esf"},{"name":"paho\/org.eclipse.paho.mqtt-sn.apps","path":"\/gitroot\/paho\/org.eclipse.paho.mqtt-sn.apps.git","type":"git","url":"https:\/\/git.eclipse.org\/r\/plugins\/gitiles\/paho\/org.eclipse.paho.mqtt-sn.apps"},{"name":"paho\/org.eclipse.paho.mqtt.lua","path":"\/gitroot\/paho\/org.eclipse.paho.mqtt.lua.git","type":"git","url":"https:\/\/git.eclipse.org\/r\/plugins\/gitiles\/paho\/org.eclipse.paho.mqtt.lua"},{"name":"paho\/org.eclipse.paho.mqtt.objc","path":"\/gitroot\/paho\/org.eclipse.paho.mqtt.objc.git","type":"git","url":"https:\/\/git.eclipse.org\/r\/plugins\/gitiles\/paho\/org.eclipse.paho.mqtt.objc"}],"spec_working_group":[],"state":[{"value":"Regular"}],"tags":[{"tid":"17"},{"tid":"18"},{"tid":"28"},{"tid":"29"}],"team_project_sets":[],"techology_types":[{"tid":"65"},{"tid":"23"},{"tid":"24"}],"title":"Eclipse Paho","update_sites":[{"attributes":[],"title":"Java client","url":"http:\/\/download.eclipse.org\/paho"}],"url":"https:\/\/projects.eclipse.org\/projects\/iot.paho","website_url":[{"attributes":[],"title":null,"url":"http:\/\/www.eclipse.org\/paho\/"}],"wiki_url":[{"attributes":[],"title":null,"url":"http:\/\/wiki.eclipse.org\/Paho"}],"working_group":[{"tid":"113"}]},"pmi_url":"https:\/\/projects.eclipse.org\/json\/project\/iot.paho"}