{"id":5109,"date":"2023-05-16T22:08:22","date_gmt":"2023-05-16T20:08:22","guid":{"rendered":"https:\/\/millistream.com\/?p=5109"},"modified":"2023-05-16T22:12:46","modified_gmt":"2023-05-16T20:12:46","slug":"millistream-data-feed-api-mdf-version-1-0-27-released","status":"publish","type":"post","link":"https:\/\/millistream.com\/index.php\/millistream-data-feed-api-mdf-version-1-0-27-released\/","title":{"rendered":"Millistream Data Feed API (MDF) version 1.0.27 released"},"content":{"rendered":"<p>Millistream is pleased to announce the release of version 1.0.27 of our open source Data Feed API.<\/p>\n<ul>\n<li>added support for decoding strings compressed with zstd. This also makes libzstd an added dependency (handled automatically for people using our pre-built binaries).<\/li>\n<li>small optimization in mdf_get_next_message2().<\/li>\n<li>changed how the internal read buffer is resized in response to the widening of the TCP\/IP window.<\/li>\n<li>fixed an error from v1.0.26 where the SHA512 digest function where using the same id as SHA3-512 which could lead to mdf_connect() failing constantly if either of these 2 digests had been chosen for the connection.<\/li>\n<li>new property MDF_OPT_RBUF_SIZE that reports the number of bytes waiting to be processed in the internal read buffer after a call to mdf_consume().<\/li>\n<li>new property MDF_OPT_RBUF_MAXSIZE that reports or sets the current total size of the internal read buffer.<\/li>\n<li>new function mdf_extract() which extracts the current message from the mdf handle.<\/li>\n<li>new function mdf_inject() which injects a previously extracted message to the mdf handle. These 2 new functions allow a client to use one mdf handle to receive messages from a server over the network but then passing on the message to be decoded by one or several other mdf handles running on e.g different threads.<\/li>\n<\/ul>\n<p>As usual this version of MDF is binary compatible with previous versions, so there is no need to recompile client applications, so users (including users of the Java JNI wrapper) can simply upgrade by replacing the libmdf file itself.<\/p>\n<p>MDF v1.0.27 is available for download from the following locations:<\/p>\n<ul>\n<li>Windows: <a href=\"https:\/\/packages.millistream.com\/source\/libmdf-1.0.27.tar.gz\">https:\/\/packages.millistream.com\/Windows\/libmdf-1.0.27.exe<\/a><\/li>\n<li>macOS: <a href=\"https:\/\/packages.millistream.com\/macOS\/libmdf-1.0.26.pkg\">https:\/\/packages.millistream.com\/macOS\/libmdf-1.0.26.pkg<\/a><\/li>\n<li>Red Hat \/ CentOS: <a href=\"https:\/\/packages.millistream.com\/rpm\/\">https:\/\/packages.millistream.com\/rpm\/<\/a><\/li>\n<li>Debian \/ Ubuntu: <a href=\"https:\/\/packages.millistream.com\/apt\/\">https:\/\/packages.millistream.com\/apt\/<\/a><\/li>\n<li>Source code: <a href=\"https:\/\/packages.millistream.com\/source\/libmdf-1.0.27.tar.gz\">https:\/\/packages.millistream.com\/source\/libmdf-1.0.27.tar.gz<\/a><\/li>\n<li>Documentation: <a href=\"https:\/\/packages.millistream.com\/documents\/MDF%20C%20API.pdf\">https:\/\/packages.millistream.com\/documents\/MDF C API.pdf<\/a><\/li>\n<\/ul>\n<p>Linux users who have added our deb or rpm repositories can upgrade by simply issuing:<\/p>\n<ul>\n<li>Debian\/Ubuntu: &#8220;<code>apt-get update &amp;&amp; apt-get upgrade<\/code>&#8220;<\/li>\n<li>Red Hat\/CentOS\/Amazon Linux AMI: &#8220;<code>yum upgrade<\/code>&#8220;<\/li>\n<\/ul>\n<p>Information on how to add these repositories are available at<br \/>\n<a href=\"https:\/\/packages.millistream.com\/Linux\/\">https:\/\/packages.millistream.com\/Linux\/<\/a><\/p>\n<p>And as usual, if you have any questions what so ever regarding this release or other things, don&#8217;t hesitate to contact us at <a href=\"mailto:tech@millistream.com\">tech@millistream.com<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Millistream is pleased to announce the release of version 1.0.27 of our open source Data Feed API. added support for decoding strings compressed with zstd. This also makes libzstd an added dependency (handled automatically for people using our pre-built binaries). small optimization in mdf_get_next_message2(). changed how the internal read buffer is resized in response to [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":3595,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[49],"tags":[56],"class_list":["post-5109","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology-news","tag-latest"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Millistream Data Feed API (MDF) version 1.0.27 released - Millistream<\/title>\n<meta name=\"description\" content=\"Financial market data from exchanges like Nasdaq, NYSE, Deutsche B\u00f6rse and London Stock Exchange. Real time and delayed via feed API:s and widgets.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/millistream.com\/index.php\/millistream-data-feed-api-mdf-version-1-0-27-released\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Millistream Data Feed API (MDF) version 1.0.27 released - Millistream\" \/>\n<meta property=\"og:description\" content=\"Financial market data from exchanges like Nasdaq, NYSE, Deutsche B\u00f6rse and London Stock Exchange. Real time and delayed via feed API:s and widgets.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/millistream.com\/index.php\/millistream-data-feed-api-mdf-version-1-0-27-released\/\" \/>\n<meta property=\"og:site_name\" content=\"Millistream\" \/>\n<meta property=\"article:published_time\" content=\"2023-05-16T20:08:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-05-16T20:12:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/millistream.com\/wp-content\/uploads\/2017\/05\/Millistream-highres-300x23.png\" \/>\n\t<meta property=\"og:image:width\" content=\"300\" \/>\n\t<meta property=\"og:image:height\" content=\"23\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Henrik Holst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Henrik Holst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/millistream.com\\\/index.php\\\/millistream-data-feed-api-mdf-version-1-0-27-released\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/millistream.com\\\/index.php\\\/millistream-data-feed-api-mdf-version-1-0-27-released\\\/\"},\"author\":{\"name\":\"Henrik Holst\",\"@id\":\"https:\\\/\\\/millistream.com\\\/#\\\/schema\\\/person\\\/2077820af732fc051625b0872602d531\"},\"headline\":\"Millistream Data Feed API (MDF) version 1.0.27 released\",\"datePublished\":\"2023-05-16T20:08:22+00:00\",\"dateModified\":\"2023-05-16T20:12:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/millistream.com\\\/index.php\\\/millistream-data-feed-api-mdf-version-1-0-27-released\\\/\"},\"wordCount\":388,\"image\":{\"@id\":\"https:\\\/\\\/millistream.com\\\/index.php\\\/millistream-data-feed-api-mdf-version-1-0-27-released\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/millistream.com\\\/wp-content\\\/uploads\\\/2017\\\/05\\\/Millistream-highres-300x23.png\",\"keywords\":[\"latest\"],\"articleSection\":[\"Technology News\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/millistream.com\\\/index.php\\\/millistream-data-feed-api-mdf-version-1-0-27-released\\\/\",\"url\":\"https:\\\/\\\/millistream.com\\\/index.php\\\/millistream-data-feed-api-mdf-version-1-0-27-released\\\/\",\"name\":\"Millistream Data Feed API (MDF) version 1.0.27 released - Millistream\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/millistream.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/millistream.com\\\/index.php\\\/millistream-data-feed-api-mdf-version-1-0-27-released\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/millistream.com\\\/index.php\\\/millistream-data-feed-api-mdf-version-1-0-27-released\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/millistream.com\\\/wp-content\\\/uploads\\\/2017\\\/05\\\/Millistream-highres-300x23.png\",\"datePublished\":\"2023-05-16T20:08:22+00:00\",\"dateModified\":\"2023-05-16T20:12:46+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/millistream.com\\\/#\\\/schema\\\/person\\\/2077820af732fc051625b0872602d531\"},\"description\":\"Financial market data from exchanges like Nasdaq, NYSE, Deutsche B\u00f6rse and London Stock Exchange. Real time and delayed via feed API:s and widgets.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/millistream.com\\\/index.php\\\/millistream-data-feed-api-mdf-version-1-0-27-released\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/millistream.com\\\/index.php\\\/millistream-data-feed-api-mdf-version-1-0-27-released\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/millistream.com\\\/index.php\\\/millistream-data-feed-api-mdf-version-1-0-27-released\\\/#primaryimage\",\"url\":\"https:\\\/\\\/millistream.com\\\/wp-content\\\/uploads\\\/2017\\\/05\\\/Millistream-highres-300x23.png\",\"contentUrl\":\"https:\\\/\\\/millistream.com\\\/wp-content\\\/uploads\\\/2017\\\/05\\\/Millistream-highres-300x23.png\",\"width\":300,\"height\":23},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/millistream.com\\\/index.php\\\/millistream-data-feed-api-mdf-version-1-0-27-released\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/millistream.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Millistream Data Feed API (MDF) version 1.0.27 released\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/millistream.com\\\/#website\",\"url\":\"https:\\\/\\\/millistream.com\\\/\",\"name\":\"Millistream\",\"description\":\"A Modern Market Data Company\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/millistream.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/millistream.com\\\/#\\\/schema\\\/person\\\/2077820af732fc051625b0872602d531\",\"name\":\"Henrik Holst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1653ab5521e33f89270afb16c1767dd4b4c8c0a1157fd2f32314338b33624e1c?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1653ab5521e33f89270afb16c1767dd4b4c8c0a1157fd2f32314338b33624e1c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1653ab5521e33f89270afb16c1767dd4b4c8c0a1157fd2f32314338b33624e1c?s=96&d=mm&r=g\",\"caption\":\"Henrik Holst\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Millistream Data Feed API (MDF) version 1.0.27 released - Millistream","description":"Financial market data from exchanges like Nasdaq, NYSE, Deutsche B\u00f6rse and London Stock Exchange. Real time and delayed via feed API:s and widgets.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/millistream.com\/index.php\/millistream-data-feed-api-mdf-version-1-0-27-released\/","og_locale":"en_US","og_type":"article","og_title":"Millistream Data Feed API (MDF) version 1.0.27 released - Millistream","og_description":"Financial market data from exchanges like Nasdaq, NYSE, Deutsche B\u00f6rse and London Stock Exchange. Real time and delayed via feed API:s and widgets.","og_url":"https:\/\/millistream.com\/index.php\/millistream-data-feed-api-mdf-version-1-0-27-released\/","og_site_name":"Millistream","article_published_time":"2023-05-16T20:08:22+00:00","article_modified_time":"2023-05-16T20:12:46+00:00","og_image":[{"width":300,"height":23,"url":"https:\/\/millistream.com\/wp-content\/uploads\/2017\/05\/Millistream-highres-300x23.png","type":"image\/png"}],"author":"Henrik Holst","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Henrik Holst","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/millistream.com\/index.php\/millistream-data-feed-api-mdf-version-1-0-27-released\/#article","isPartOf":{"@id":"https:\/\/millistream.com\/index.php\/millistream-data-feed-api-mdf-version-1-0-27-released\/"},"author":{"name":"Henrik Holst","@id":"https:\/\/millistream.com\/#\/schema\/person\/2077820af732fc051625b0872602d531"},"headline":"Millistream Data Feed API (MDF) version 1.0.27 released","datePublished":"2023-05-16T20:08:22+00:00","dateModified":"2023-05-16T20:12:46+00:00","mainEntityOfPage":{"@id":"https:\/\/millistream.com\/index.php\/millistream-data-feed-api-mdf-version-1-0-27-released\/"},"wordCount":388,"image":{"@id":"https:\/\/millistream.com\/index.php\/millistream-data-feed-api-mdf-version-1-0-27-released\/#primaryimage"},"thumbnailUrl":"https:\/\/millistream.com\/wp-content\/uploads\/2017\/05\/Millistream-highres-300x23.png","keywords":["latest"],"articleSection":["Technology News"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/millistream.com\/index.php\/millistream-data-feed-api-mdf-version-1-0-27-released\/","url":"https:\/\/millistream.com\/index.php\/millistream-data-feed-api-mdf-version-1-0-27-released\/","name":"Millistream Data Feed API (MDF) version 1.0.27 released - Millistream","isPartOf":{"@id":"https:\/\/millistream.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/millistream.com\/index.php\/millistream-data-feed-api-mdf-version-1-0-27-released\/#primaryimage"},"image":{"@id":"https:\/\/millistream.com\/index.php\/millistream-data-feed-api-mdf-version-1-0-27-released\/#primaryimage"},"thumbnailUrl":"https:\/\/millistream.com\/wp-content\/uploads\/2017\/05\/Millistream-highres-300x23.png","datePublished":"2023-05-16T20:08:22+00:00","dateModified":"2023-05-16T20:12:46+00:00","author":{"@id":"https:\/\/millistream.com\/#\/schema\/person\/2077820af732fc051625b0872602d531"},"description":"Financial market data from exchanges like Nasdaq, NYSE, Deutsche B\u00f6rse and London Stock Exchange. Real time and delayed via feed API:s and widgets.","breadcrumb":{"@id":"https:\/\/millistream.com\/index.php\/millistream-data-feed-api-mdf-version-1-0-27-released\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/millistream.com\/index.php\/millistream-data-feed-api-mdf-version-1-0-27-released\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/millistream.com\/index.php\/millistream-data-feed-api-mdf-version-1-0-27-released\/#primaryimage","url":"https:\/\/millistream.com\/wp-content\/uploads\/2017\/05\/Millistream-highres-300x23.png","contentUrl":"https:\/\/millistream.com\/wp-content\/uploads\/2017\/05\/Millistream-highres-300x23.png","width":300,"height":23},{"@type":"BreadcrumbList","@id":"https:\/\/millistream.com\/index.php\/millistream-data-feed-api-mdf-version-1-0-27-released\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/millistream.com\/"},{"@type":"ListItem","position":2,"name":"Millistream Data Feed API (MDF) version 1.0.27 released"}]},{"@type":"WebSite","@id":"https:\/\/millistream.com\/#website","url":"https:\/\/millistream.com\/","name":"Millistream","description":"A Modern Market Data Company","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/millistream.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/millistream.com\/#\/schema\/person\/2077820af732fc051625b0872602d531","name":"Henrik Holst","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/1653ab5521e33f89270afb16c1767dd4b4c8c0a1157fd2f32314338b33624e1c?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1653ab5521e33f89270afb16c1767dd4b4c8c0a1157fd2f32314338b33624e1c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1653ab5521e33f89270afb16c1767dd4b4c8c0a1157fd2f32314338b33624e1c?s=96&d=mm&r=g","caption":"Henrik Holst"}}]}},"_links":{"self":[{"href":"https:\/\/millistream.com\/index.php\/wp-json\/wp\/v2\/posts\/5109","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/millistream.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/millistream.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/millistream.com\/index.php\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/millistream.com\/index.php\/wp-json\/wp\/v2\/comments?post=5109"}],"version-history":[{"count":3,"href":"https:\/\/millistream.com\/index.php\/wp-json\/wp\/v2\/posts\/5109\/revisions"}],"predecessor-version":[{"id":5113,"href":"https:\/\/millistream.com\/index.php\/wp-json\/wp\/v2\/posts\/5109\/revisions\/5113"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/millistream.com\/index.php\/wp-json\/wp\/v2\/media\/3595"}],"wp:attachment":[{"href":"https:\/\/millistream.com\/index.php\/wp-json\/wp\/v2\/media?parent=5109"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/millistream.com\/index.php\/wp-json\/wp\/v2\/categories?post=5109"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/millistream.com\/index.php\/wp-json\/wp\/v2\/tags?post=5109"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}