<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:37:30 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-670] ObjectId constructor should throw an ArgumentOutOfRange if any of the components are out of range.</title>
                <link>https://jira.mongodb.org/browse/CSHARP-670</link>
                <project id="10041" key="CSHARP">C# Driver</project>
                    <description>&lt;p&gt;This makes sure that the values stored in the ObjectId field are all within the range of values that can be successfully round tripped.&lt;/p&gt;

&lt;p&gt;It also prevents weird behavior with Equals and GetHashCode.&lt;/p&gt;

&lt;p&gt;Note that the driver internally is not passing invalid values to the ObjectId constructor, but user code creating a custom ObjectId might.&lt;/p&gt;</description>
                <environment></environment>
        <key id="63566">CSHARP-670</key>
            <summary>ObjectId constructor should throw an ArgumentOutOfRange if any of the components are out of range.</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="4" iconUrl="https://jira.mongodb.org/images/icons/priorities/minor.svg">Minor - P4</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="robert@mongodb.com">Robert Stam</assignee>
                                    <reporter username="robert@mongodb.com">Robert Stam</reporter>
                        <labels>
                    </labels>
                <created>Mon, 28 Jan 2013 22:17:04 +0000</created>
                <updated>Thu, 20 Mar 2014 14:36:24 +0000</updated>
                            <resolved>Tue, 29 Jan 2013 17:07:45 +0000</resolved>
                                    <version>1.7</version>
                                    <fixVersion>1.8</fixVersion>
                                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="252954" author="auto" created="Tue, 29 Jan 2013 17:06:56 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{u&apos;date&apos;: u&apos;2013-01-29T17:06:33Z&apos;, u&apos;email&apos;: u&apos;robert@10gen.com&apos;, u&apos;name&apos;: u&apos;rstam&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/CSHARP-670&quot; title=&quot;ObjectId constructor should throw an ArgumentOutOfRange if any of the components are out of range.&quot; class=&quot;issue-link&quot; data-issue-key=&quot;CSHARP-670&quot;&gt;&lt;del&gt;CSHARP-670&lt;/del&gt;&lt;/a&gt;: ObjectId constructor and Pack method should throw ArgumentOutOfRangeException if machine or increment values are invalid.&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-csharp-driver/commit/25e1ef3db3f595af104b20e990e889fdebb32460&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-csharp-driver/commit/25e1ef3db3f595af104b20e990e889fdebb32460&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="252903" author="rstam" created="Tue, 29 Jan 2013 16:18:30 +0000"  >&lt;p&gt;Regarding backward compatibility: this is not backward breaking if you were already passing only valid values to the constructor or the Pack method.&lt;/p&gt;

&lt;p&gt;This is rarely backward breaking in the event that you were passing invalid values to the constructor or the Pack method and assuming that the invalid values would be truncated by the driver to fit in 3 bytes.&lt;/p&gt;

&lt;p&gt;In the case of the ObjectId constructor the truncation wouldn&apos;t happen until you serialized the ObjectId to a binary stream. In memory it was retaining the invalid value. This means that if you deserialized the ObjectId back into memory it would not compare as Equal to the one you started with.&lt;/p&gt;

&lt;p&gt;In the case of the Pack method it was truncating immediately (but silently).&lt;/p&gt;</comment>
                            <comment id="252889" author="rstam" created="Tue, 29 Jan 2013 16:06:22 +0000"  >&lt;p&gt;The Pack method should check its arguments also.&lt;/p&gt;</comment>
                    </comments>
                    <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|hrlv6f:</customfieldvalue>

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