{"action":"created","issue":{"url":"https://api.github.com/repos/JohnLangford/vowpal_wabbit/issues/863","labels_url":"https://api.github.com/repos/JohnLangford/vowpal_wabbit/issues/863/labels{/name}","comments_url":"https://api.github.com/repos/JohnLangford/vowpal_wabbit/issues/863/comments","events_url":"https://api.github.com/repos/JohnLangford/vowpal_wabbit/issues/863/events","html_url":"https://github.com/JohnLangford/vowpal_wabbit/pull/863","id":118456189,"number":863,"title":"C# refactoring, memory leak fixes, general goodness,...","user":{"login":"eisber","id":10142286,"avatar_url":"https://avatars.githubusercontent.com/u/10142286?v=3","gravatar_id":"","url":"https://api.github.com/users/eisber","html_url":"https://github.com/eisber","followers_url":"https://api.github.com/users/eisber/followers","following_url":"https://api.github.com/users/eisber/following{/other_user}","gists_url":"https://api.github.com/users/eisber/gists{/gist_id}","starred_url":"https://api.github.com/users/eisber/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eisber/subscriptions","organizations_url":"https://api.github.com/users/eisber/orgs","repos_url":"https://api.github.com/users/eisber/repos","events_url":"https://api.github.com/users/eisber/events{/privacy}","received_events_url":"https://api.github.com/users/eisber/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":32,"created_at":"2015-11-23T19:39:30Z","updated_at":"2015-12-21T15:53:55Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/JohnLangford/vowpal_wabbit/pulls/863","html_url":"https://github.com/JohnLangford/vowpal_wabbit/pull/863","diff_url":"https://github.com/JohnLangford/vowpal_wabbit/pull/863.diff","patch_url":"https://github.com/JohnLangford/vowpal_wabbit/pull/863.patch"},"body":"fixed Runtime library mismatch between zlib, libvw, vw.exe, VowpalWabbitCore.dll (CLR),... by using zlib/boost nuget provided msbuild targets\r\nincluded Visual Leak Detector for memory leak detection on windows\r\nrefactored C# API to allow users to dynamically constructor serializers based on alternate descriptions (not just on static annotations)\r\nstring marshalling is compatible to command line (either escaping or splitting)\r\nschema based pre-hashing: if hash can be determine from schema it's only generated once and re-used for each example.\r\nadded type extension API for marshalling\r\nallow user to generate native and string examples in parallel in both debug and release\r\nkeep marshalling expression tree for debugging\r\nrefactored marshalling expression tree generation to improve readability\r\nadded sweeping helper\r\nimproved C# label parsing extensibility\r\nadded assembly signing\r\nfixed memory leaks in C# usage of VW\r\nfixed model hashing/reload interaction\r\nfixed handling of empty line examples within set of action dependent features\r\nfixed order issue when predicting ADF examples containing empty action dependent features\r\nfixed default namespace incompatibility (space vs. 0)\r\nimproved RunTests to C# test wrapping (detects inter-test dependencies and input files)\r\nunit tests are run in test/ folder, thus no need copy all input files\r\nadded user-supplied model id support"},"comment":{"url":"https://api.github.com/repos/JohnLangford/vowpal_wabbit/issues/comments/166338438","html_url":"https://github.com/JohnLangford/vowpal_wabbit/pull/863#issuecomment-166338438","issue_url":"https://api.github.com/repos/JohnLangford/vowpal_wabbit/issues/863","id":166338438,"user":{"login":"JohnLangford","id":79590,"avatar_url":"https://avatars.githubusercontent.com/u/79590?v=3","gravatar_id":"","url":"https://api.github.com/users/JohnLangford","html_url":"https://github.com/JohnLangford","followers_url":"https://api.github.com/users/JohnLangford/followers","following_url":"https://api.github.com/users/JohnLangford/following{/other_user}","gists_url":"https://api.github.com/users/JohnLangford/gists{/gist_id}","starred_url":"https://api.github.com/users/JohnLangford/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JohnLangford/subscriptions","organizations_url":"https://api.github.com/users/JohnLangford/orgs","repos_url":"https://api.github.com/users/JohnLangford/repos","events_url":"https://api.github.com/users/JohnLangford/events{/privacy}","received_events_url":"https://api.github.com/users/JohnLangford/received_events","type":"User","site_admin":false},"created_at":"2015-12-21T15:53:55Z","updated_at":"2015-12-21T15:53:55Z","body":"I'm a bit worried that we are developing too many top-level \ndirectories.  Having one per language binding seems reasonable.   This \ncould be ok, but if you can think of a plausible way to not have it be \ntop-level, maybe that is better?\n\n-John\n\nOn 12/21/2015 10:47 AM, Markus Cozowicz wrote:\n> This is code that’s easier writeable/maintainable in C#, but I got a \n> dependency on it from the C++/CLI component thus I’m unable to put it \n> into cs/*.\n> Should I rename the project to cs_common?\n>\n> Markus\n>\n> From: John <notifications@github.com<mailto:notifications@github.com>>\n> Reply-To: JohnLangford/vowpal_wabbit \n> <reply@reply.github.com<mailto:reply@reply.github.com>>\n> Date: Monday, December 21, 2015 at 09:59\n> To: JohnLangford/vowpal_wabbit \n> <vowpal_wabbit@noreply.github.com<mailto:vowpal_wabbit@noreply.github.com>>\n> Cc: Markus Cozowicz <marcozo@microsoft.com<mailto:marcozo@microsoft.com>>\n> Subject: Re: [vowpal_wabbit] C# refactoring, memory leak fixes, \n> general goodness,... (#863)\n>\n>\n> What is the purpose of vw_common?\n>\n> —\n> Reply to this email directly or view it on \n> GitHub<https://github.com/JohnLangford/vowpal_wabbit/pull/863#issuecomment-166324130>.\n>\n> —\n> Reply to this email directly or view it on GitHub \n> <https://github.com/JohnLangford/vowpal_wabbit/pull/863#issuecomment-166335803>.\n>\n\n"}}