<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:37:43 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-751] Legacy Conventions Are Not Handled Properly.</title>
                <link>https://jira.mongodb.org/browse/CSHARP-751</link>
                <project id="10041" key="CSHARP">C# Driver</project>
                    <description>&lt;p&gt;I was using driver version 1.8 and used conventions in a following way:&lt;/p&gt;

&lt;p&gt;var cp = new ConventionProfile();&lt;br/&gt;
cp.SetIgnoreIfNullConvention(new AlwaysIgnoreIfNullConvention());&lt;br/&gt;
cp.SetIgnoreExtraElementsConvention(new AlwaysIgnoreExtraElementsConvention());&lt;br/&gt;
BsonClassMap.RegisterConventions(cp, t =&amp;gt; true);&lt;/p&gt;

&lt;p&gt;This worked fine. Then I&apos;ve updated driver to 1.8.1, and I found that strong typed version of IndexKeysBuilder do not work anymore. &lt;br/&gt;
A code similar to IndexKeys&amp;lt;JsonArticleUniversal&amp;gt;.Ascending(x =&amp;gt; x.insertTime);&lt;br/&gt;
failed with exception &quot;JsonArticleUniversal does not have insertTime property&quot;.&lt;br/&gt;
Of course it have this property, the code is compiling.&lt;/p&gt;

&lt;p&gt;I looked through the driver sources and found how classmap works. Then I&apos;ve updated conventions to use new classes and everything began to work.&lt;/p&gt;

&lt;p&gt;I see, that legacy version are marked as obsolete, but they should either still work or be totally removed.&lt;br/&gt;
I think the best and easiest way to close this bug, it to make constructors for legacy convention classes private. This will break the code and draw attention to the spot, then developers will be able to quickly find new classes and fix the problem. Otherwise, you should fix and support legacy classes.&lt;/p&gt;</description>
                <environment></environment>
        <key id="78017">CSHARP-751</key>
            <summary>Legacy Conventions Are Not Handled Properly.</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</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="9">Done</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="maxbl4">Vladimir Perevalov</reporter>
                        <labels>
                    </labels>
                <created>Wed, 5 Jun 2013 18:27:25 +0000</created>
                <updated>Wed, 14 May 2014 19:03:06 +0000</updated>
                            <resolved>Wed, 5 Jun 2013 18:36:17 +0000</resolved>
                                    <version>1.8</version>
                                    <fixVersion>1.8.2</fixVersion>
                                                        <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="386562" author="rstam" created="Mon, 22 Jul 2013 21:40:40 +0000"  >&lt;p&gt;The commit comment for:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/mongodb/mongo-csharp-driver/commit/619e56445d973338cfac04ed665fb52547e9b6d4&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-csharp-driver/commit/619e56445d973338cfac04ed665fb52547e9b6d4&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;references CSHARP-728. That ticket no longer exists.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-751&quot; title=&quot;Legacy Conventions Are Not Handled Properly.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CSHARP-751&quot;&gt;&lt;del&gt;CSHARP-751&lt;/del&gt;&lt;/a&gt; is the same issue that CSHARP-728 originally referred to.&lt;/p&gt;</comment>
                            <comment id="353819" author="craiggwilson" created="Wed, 5 Jun 2013 18:34:23 +0000"  >&lt;p&gt;Hi Max,&lt;br/&gt;
  Sorry for the trouble.  Yes, we had this bug report already and this should be fixed in master, but that ticket apparently got moved to a private ticket so you can&apos;t see it.  We can use this ticket to track this. The intent was to have these be fully compatible, but unfortunately this regression was not caught before release.  The old classes will likely be removed in 2.0.&lt;/p&gt;

&lt;p&gt;This was fixed in this commit: &lt;a href=&quot;https://github.com/mongodb/mongo-csharp-driver/commit/619e56445d973338cfac04ed665fb52547e9b6d4&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-csharp-driver/commit/619e56445d973338cfac04ed665fb52547e9b6d4&lt;/a&gt;.  It is in master, but hasn&apos;t been released.  The fix for this will be in 1.9.&lt;/p&gt;

&lt;p&gt;Craig&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                            <outwardlinks description="duplicates">
                                                        </outwardlinks>
                                                        </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|hrqzo7:</customfieldvalue>

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