<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:45:47 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[CSHARP-3612] Installing the driver using NuGet pulls compression dlls </title>
                <link>https://jira.mongodb.org/browse/CSHARP-3612</link>
                <project id="10041" key="CSHARP">C# Driver</project>
                    <description>&lt;p&gt;Users installing MongoDB.Driver via NuGet are pulling extra `dlls` &lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Core/Compression/Snappy/lib/win/snappy32.dll&lt;/li&gt;
	&lt;li&gt;Core/Compression/Snappy/lib/win/snappy64.dll&lt;/li&gt;
	&lt;li&gt;Core/Compression/Zstandard/lib/win/libzstd.dll&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Worth noting that the presence of these files in the project should not cause any issues.&lt;/p&gt;

&lt;p&gt;However, these libraries are defined as content files and not references, they are not copied over the project during a simple NuGet restore, which may become an issue when dealing with VCS.&lt;/p&gt;

&lt;p&gt;Original question : &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://developer.mongodb.com/community/forums/t/nuget-and-snappy-libraries-impact-on-vcs-git/10011&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://developer.mongodb.com/community/forums/t/nuget-and-snappy-libraries-impact-on-vcs-git/10011&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One of the users have kindly provided a repo example project: &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/AnturGyffrous/mongo-snappy&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/AnturGyffrous/mongo-snappy&lt;/a&gt;&lt;/p&gt;

</description>
                <environment></environment>
        <key id="1687694">CSHARP-3612</key>
            <summary>Installing the driver using NuGet pulls compression dlls </summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="13201">Fixed</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="wan.bachtiar@mongodb.com">Wan Bachtiar</reporter>
                        <labels>
                    </labels>
                <created>Thu, 22 Apr 2021 21:20:40 +0000</created>
                <updated>Sat, 28 Oct 2023 11:47:44 +0000</updated>
                            <resolved>Thu, 11 Aug 2022 23:01:40 +0000</resolved>
                                    <version>2.12.2</version>
                                    <fixVersion>2.18.0</fixVersion>
                                    <component>Packaging</component>
                                        <votes>5</votes>
                                    <watches>11</watches>
                                                                                                                <comments>
                            <comment id="4745773" author="james.kovacs" created="Thu, 11 Aug 2022 23:01:40 +0000"  >&lt;p&gt;This issue has been resolved by switching to managed compression libraries (&lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-4271&quot; title=&quot;Replace Snappy and Zstd with managed implementations&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CSHARP-4271&quot;&gt;&lt;del&gt;CSHARP-4271&lt;/del&gt;&lt;/a&gt;). The same problem may be present in &lt;tt&gt;MongoDB.Libmongocrypt&lt;/tt&gt;. Follow &lt;a href=&quot;https://jira.mongodb.org/browse/MONGOCRYPT-471&quot; title=&quot;Improve libmongocrypt packaging for .NET/C# bindings&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MONGOCRYPT-471&quot;&gt;MONGOCRYPT-471&lt;/a&gt; for updates.&lt;/p&gt;</comment>
                            <comment id="4710995" author="talhakaanozkan@gmail.com" created="Thu, 28 Jul 2022 09:02:35 +0000"  >&lt;p&gt;Thank you for your quick reply, I will follow. @James Kovacs&lt;/p&gt;</comment>
                            <comment id="4708836" author="james.kovacs" created="Wed, 27 Jul 2022 15:10:48 +0000"  >&lt;p&gt;We are actively working on &lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-4271&quot; title=&quot;Replace Snappy and Zstd with managed implementations&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CSHARP-4271&quot;&gt;&lt;del&gt;CSHARP-4271&lt;/del&gt;&lt;/a&gt;, which will resolve multiple issues at the same time including this one. You can read &lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-4271&quot; title=&quot;Replace Snappy and Zstd with managed implementations&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CSHARP-4271&quot;&gt;&lt;del&gt;CSHARP-4271&lt;/del&gt;&lt;/a&gt; for a full explanation, but the short one is that we are replacing our unmanaged Snappy and Zstd dependencies with fully managed implementations. We plan to make this change in the 2.18.0 release.&lt;/p&gt;</comment>
                            <comment id="4708303" author="talhakaanozkan@gmail.com" created="Wed, 27 Jul 2022 12:59:42 +0000"  >&lt;p&gt;Any progress on the status of the task? can you inform us? @James Kovacs&lt;/p&gt;</comment>
                            <comment id="4324563" author="mspreafico@gmail.com" created="Mon, 31 Jan 2022 15:10:08 +0000"  >&lt;p&gt;still no news?&lt;/p&gt;</comment>
                            <comment id="4179019" author="JIRAUSER1263244" created="Tue, 9 Nov 2021 21:55:56 +0000"  >&lt;p&gt;@James Kovacs, can you give estimation about fix timing? Thanks in advance!&lt;/p&gt;</comment>
                            <comment id="4172836" author="james.kovacs" created="Fri, 5 Nov 2021 21:35:43 +0000"  >&lt;p&gt;Hi, Matteo,&lt;/p&gt;

&lt;p&gt;Thank you for clarifying the problem. We see now that &lt;tt&gt;dotnet restore&lt;/tt&gt; does not restore the compression libraries included as content files inside the NuGet package. So removing the compression libraries from VCS is not a workable solution if you&apos;re using on-the-wire compression with the driver.&lt;/p&gt;

&lt;p&gt;We will be re-examining our NuGet packaging strategy in a future iteration. We will take these considerations into account when we do so.&lt;/p&gt;

&lt;p&gt;Thank you again for brining this to our attention.&lt;/p&gt;

&lt;p&gt;Sincerely,&lt;br/&gt;
James&lt;/p&gt;</comment>
                            <comment id="4166344" author="mspreafico@gmail.com" created="Wed, 3 Nov 2021 11:46:24 +0000"  >&lt;p&gt;Hi James,&lt;br/&gt;
as noted by Oleksandr that is not an option. The binaries files are included in the .csproj file, excluding them from the code repo would end in compilation errors.&lt;/p&gt;

&lt;p&gt;regards&lt;/p&gt;</comment>
                            <comment id="4164441" author="james.kovacs" created="Tue, 2 Nov 2021 17:49:22 +0000"  >&lt;p&gt;Hi, Matteo,&lt;/p&gt;

&lt;p&gt;Thank you for noting the potential VCS problem. During testing with some project types, we encountered issues with references to the unmanaged libraries used for compression. The solution was to use a content files rather than references. Until we re-examine our NuGet packaging strategy, we recommend adding these unmanaged compression libraries to your &lt;tt&gt;.gitignore&lt;/tt&gt; file.&lt;/p&gt;

&lt;p&gt;Sincerely,&lt;br/&gt;
James&lt;/p&gt;</comment>
                            <comment id="4163436" author="mspreafico@gmail.com" created="Tue, 2 Nov 2021 15:29:01 +0000"  >&lt;p&gt;I think the statement &quot;&lt;em&gt;Worth noting that the presence of these files in the project should not cause any issues&lt;/em&gt;&quot; should be removed and that the severity of this case should be raised.&lt;/p&gt;

&lt;p&gt;If you have many projects using the package (quite common in an enterprise class solution) you end up flooding the source control system with tens (maybe hundreds) of binaries files. This impact the performances of many operations (clones, comparisons, merges, etc...).&lt;/p&gt;

&lt;p&gt;Also, you put pressure (in term of time taken and disk space used) on many of the task involved in build and release pipelines.&lt;/p&gt;

&lt;p&gt;These are clearly issues.&lt;/p&gt;

&lt;p&gt;m.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="4148446" author="JIRAUSER1262417" created="Tue, 26 Oct 2021 14:54:43 +0000"  >&lt;p&gt;I didn&apos;t remove from the csproj. Also I didn&apos;t add any changes to gitignore. I deployed my changes 2 weeks ago. Everything works.&lt;/p&gt;</comment>
                            <comment id="4148192" author="marcoscavaleiro@gmail.com" created="Tue, 26 Oct 2021 14:09:16 +0000"  >&lt;p&gt;Hi,&lt;br/&gt;
Oleksandr Seliuchenko, did you removed from the csproj?&lt;/p&gt;</comment>
                            <comment id="4065965" author="JIRAUSER1262417" created="Thu, 16 Sep 2021 15:25:22 +0000"  >&lt;p&gt;Hi Dmitry, you suggested that we can add unmanaged binaries to .gitignore.&lt;br/&gt;
 What should we do with these lines in the .csproj file? Can we remove these lines? Thanks.&lt;/p&gt;
&lt;p/&gt;
&lt;div id=&quot;syntaxplugin&quot; class=&quot;syntaxplugin&quot; style=&quot;border: 1px dashed #bbb; border-radius: 5px !important; overflow: auto; max-height: 30em;&quot;&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot; width=&quot;100%&quot; style=&quot;font-size: 1em; line-height: 1.4em !important; font-weight: normal; font-style: normal; color: black;&quot;&gt;
		&lt;tbody &gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;  margin-top: 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&amp;lt;Content Include=&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&quot;Core\Compression\Snappy\lib\win\snappy32.dll&quot;&lt;/span&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt; /&amp;gt;&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&amp;lt;Content Include=&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&quot;Core\Compression\Snappy\lib\win\snappy64.dll&quot;&lt;/span&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt; /&amp;gt;&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&amp;lt;Content Include=&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&quot;Core\Compression\Zstandard\lib\win\libzstd.dll&quot;&lt;/span&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt; /&amp;gt;&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&amp;lt;Content Include=&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&quot;mongocrypt.dll&quot;&lt;/span&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt; /&amp;gt;&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&amp;lt;None Include=&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&quot;libmongocrypt.so&quot;&lt;/span&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt; /&amp;gt;&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
				&lt;tr id=&quot;syntaxplugin_code_and_gutter&quot;&gt;
						&lt;td  style=&quot; line-height: 1.4em !important; padding: 0em; vertical-align: top;&quot;&gt;
					&lt;pre style=&quot;font-size: 1em; margin: 0 10px;   margin-bottom: 10px;  width: auto; padding: 0;&quot;&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&amp;lt;None Include=&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt;&quot;libmongocrypt.dylib&quot;&lt;/span&gt;&lt;span style=&quot;color: black; font-family: &apos;Consolas&apos;, &apos;Bitstream Vera Sans Mono&apos;, &apos;Courier New&apos;, Courier, monospace !important;&quot;&gt; /&amp;gt;&lt;/span&gt;&lt;/pre&gt;
			&lt;/td&gt;
		&lt;/tr&gt;
			&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p/&gt;</comment>
                            <comment id="3741873" author="dmitry.lukyanov" created="Tue, 27 Apr 2021 17:43:04 +0000"  >&lt;p&gt;We agree that this behavior is not ideal, but it was required to work around other packaging issues in non-SDK projects. We suggest explicitly excluding these unmanaged binaries from VCS (using .gitignore). We will place this ticket into our backlog and will further investigate packaging improvements in the future.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="2112088">MONGOCRYPT-471</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="1050202">CSHARP-2874</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2099832">CSHARP-4271</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                        <customfield id="customfield_10011" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Backwards Compatibility</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10011"><![CDATA[Minor Change]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hyqzqf:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>