<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:37:58 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>[GODRIVER-2167] Deprecate frequently lossy &quot;bson.RawValue&quot; &quot;AsInt32&quot; and &quot;AsInt32OK&quot; functions</title>
                <link>https://jira.mongodb.org/browse/GODRIVER-2167</link>
                <project id="14289" key="GODRIVER">Go Driver</project>
                    <description>&lt;p&gt;The BSON library currently includes 4 BSON-to-Go numeric value conversion functions that can cause silent data loss:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&lt;tt&gt;AsInt32&lt;/tt&gt;/&lt;tt&gt;AsInt32OK&lt;/tt&gt;&lt;/li&gt;
	&lt;li&gt;&lt;tt&gt;AsInt64&lt;/tt&gt;/&lt;tt&gt;AsInt64OK&lt;/tt&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;While converting BSON numeric types to a Go &lt;tt&gt;int64&lt;/tt&gt; can cause data loss in some cases, it&apos;s generally for extremely large or extremely small values that most users never encounter (values &amp;gt; 9.2e+18 or &amp;lt; -9.2e+18). However, converting BSON numeric types to a Go &lt;tt&gt;int32&lt;/tt&gt; can cause data loss for values that users may commonly encounter (values &amp;gt; 2,147,483,647 or &amp;lt; -2,147,483,648). As a result, using &lt;tt&gt;AsInt32&lt;/tt&gt;/&lt;tt&gt;AsInt32OK&lt;/tt&gt; is practically much less safe than &lt;tt&gt;AsInt64&lt;/tt&gt;/&lt;tt&gt;AsInt64OK&lt;/tt&gt; so we should deprecate &lt;tt&gt;AsInt32&lt;/tt&gt;/&lt;tt&gt;AsInt32OK&lt;/tt&gt; and recommend people use &lt;tt&gt;AsInt64&lt;/tt&gt;/&lt;tt&gt;AsInt64OK&lt;/tt&gt; instead. If users really need an &lt;tt&gt;int32&lt;/tt&gt;, they can convert the &lt;tt&gt;int64&lt;/tt&gt; to an &lt;tt&gt;int32&lt;/tt&gt; themselves and implement whatever overflow/underflow checking logic they require.&lt;/p&gt;

&lt;p&gt;See &lt;a href=&quot;https://jira.mongodb.org/browse/GODRIVER-2751&quot; title=&quot;Make all BSON-to-Go numeric type conversions safe&quot; class=&quot;issue-link&quot; data-issue-key=&quot;GODRIVER-2751&quot;&gt;GODRIVER-2751&lt;/a&gt; for changes to prevent data loss in &lt;tt&gt;AsInt64&lt;/tt&gt;/&lt;tt&gt;AsInt64OK&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;Definition of done:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Deprecate frequently lossy &lt;tt&gt;bson.RawValue&lt;/tt&gt; methods &lt;tt&gt;AsInt32&lt;/tt&gt; and &lt;tt&gt;AsInt32OK&lt;/tt&gt;.&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
        <key id="1887367">GODRIVER-2167</key>
            <summary>Deprecate frequently lossy &quot;bson.RawValue&quot; &quot;AsInt32&quot; and &quot;AsInt32OK&quot; functions</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="10300" iconUrl="https://jira.mongodb.org/images/icons/priorities/medium.svg">Unknown</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="matt.dale@mongodb.com">Matt Dale</assignee>
                                    <reporter username="matt.dale@mongodb.com">Matt Dale</reporter>
                        <labels>
                    </labels>
                <created>Thu, 30 Sep 2021 21:16:24 +0000</created>
                <updated>Sat, 28 Oct 2023 11:37:42 +0000</updated>
                            <resolved>Wed, 5 Apr 2023 20:47:31 +0000</resolved>
                                                    <fixVersion>1.12.0</fixVersion>
                                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="5328111" author="xgen-internal-githook" created="Wed, 5 Apr 2023 20:43:55 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Matt Dale&apos;, &apos;email&apos;: &apos;9760375+matthewdale@users.noreply.github.com&apos;, &apos;username&apos;: &apos;matthewdale&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/GODRIVER-2167&quot; title=&quot;Deprecate frequently lossy &amp;quot;bson.RawValue&amp;quot; &amp;quot;AsInt32&amp;quot; and &amp;quot;AsInt32OK&amp;quot; functions&quot; class=&quot;issue-link&quot; data-issue-key=&quot;GODRIVER-2167&quot;&gt;&lt;del&gt;GODRIVER-2167&lt;/del&gt;&lt;/a&gt; Deprecate frequently lossy AsInt32 and AsInt32OK functions. (#1216)&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-go-driver/commit/30253840006b18c4c35f49b9d06aa971804287bf&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-go-driver/commit/30253840006b18c4c35f49b9d06aa971804287bf&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="5321162" author="JIRAUSER1259527" created="Mon, 3 Apr 2023 20:31:54 +0000"  >&lt;p&gt;PR: &lt;a href=&quot;https://github.com/mongodb/mongo-go-driver/pull/1216&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-go-driver/pull/1216&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="631537">GODRIVER-632</issuekey>
        </issuelink>
                            </outwardlinks>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="2256117">GODRIVER-2751</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10257" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Documentation Changes</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="11861"><![CDATA[Not Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_14266" key="com.atlassian.jira.plugin.system.customfieldtypes:textarea">
                        <customfieldname>Documentation Changes Summary</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>&lt;p&gt;1.  What would you like to communicate to the user about this feature?&lt;br/&gt;
2.  Would you like the user to see examples of the syntax and/or executable code and its output?&lt;br/&gt;
3.  Which versions of the driver/connector does this apply to?&lt;/p&gt;</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>GODRIVER-2680</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_21553" key="com.atlassian.jira.plugin.system.customfieldtypes:labels">
                        <customfieldname>Quarter</customfieldname>
                        <customfieldvalues>
                                        <label>FY24Q1</label>
    
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i0xmaq:</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>