<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:39:13 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-2719] Remove unnecessary errors returned by &quot;bson.Encoder&quot; and &quot;bson.Decoder&quot; APIs</title>
                <link>https://jira.mongodb.org/browse/GODRIVER-2719</link>
                <project id="14289" key="GODRIVER">Go Driver</project>
                    <description>&lt;p&gt;The &lt;tt&gt;bson.NewEncoder&lt;/tt&gt; and &lt;tt&gt;bson.NewDecoder&lt;/tt&gt; functions (and &lt;tt&gt;New*ValueWriter&lt;/tt&gt;/&lt;tt&gt;New*DocumentReader&lt;/tt&gt; functions) currently return an error that only informs the user that they&apos;ve passed in a nil &lt;tt&gt;ValueWriter&lt;/tt&gt; or &lt;tt&gt;ValueReader&lt;/tt&gt;, respectively. That error makes the API awkward to use and could be replaced by a panic because there&apos;s typically no way to recover from a missing &lt;tt&gt;ValueWriter&lt;/tt&gt; or &lt;tt&gt;ValueReader&lt;/tt&gt; (i.e. that&apos;s an implementation error, not a runtime error). Remove the returned errors to make the API nicer to use.&lt;/p&gt;

&lt;p&gt;Definition of done:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Remove the &lt;tt&gt;error&lt;/tt&gt; returned from:
	&lt;ul&gt;
		&lt;li&gt;&lt;tt&gt;bson.NewEncoder&lt;/tt&gt;&lt;/li&gt;
		&lt;li&gt;&lt;tt&gt;bson.NewDecoder&lt;/tt&gt;&lt;/li&gt;
		&lt;li&gt;&lt;tt&gt;Decoder.Reset&lt;/tt&gt;&lt;/li&gt;
		&lt;li&gt;&lt;tt&gt;Decoder.SetRegistry&lt;/tt&gt;&lt;/li&gt;
		&lt;li&gt;&lt;tt&gt;Decoder.SetContext&lt;/tt&gt; (Deprecated)&lt;/li&gt;
		&lt;li&gt;&lt;tt&gt;Encoder.Reset&lt;/tt&gt;&lt;/li&gt;
		&lt;li&gt;&lt;tt&gt;Encoder.SetRegistry&lt;/tt&gt;&lt;/li&gt;
		&lt;li&gt;&lt;tt&gt;Encoder.SetContext&lt;/tt&gt; (Deprecated)&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;(Optional) Explicitly panic if the &lt;tt&gt;ValueWriter&lt;/tt&gt; or &lt;tt&gt;ValueReader&lt;/tt&gt; argument is nil.&lt;br/&gt;
Note that the alternative is to let subsequent calls to &lt;tt&gt;Encode&lt;/tt&gt;/&lt;tt&gt;Decode&lt;/tt&gt; panic with a &quot;nil pointer dereference&quot; (which is what the Go &quot;encoding/json&quot; library does). An explicit panic may be easier to understand, but the user will get a panic one way or another if they pass nil.&lt;/li&gt;
	&lt;li&gt;Remove the &lt;tt&gt;error&lt;/tt&gt; returned from &lt;tt&gt;bson.NewBSONValueWriter&lt;/tt&gt; and &lt;tt&gt;bson.NewExtJSONValueWriter&lt;/tt&gt;.&lt;/li&gt;
	&lt;li&gt;Rename &lt;tt&gt;bson.NewBSONValueWriter&lt;/tt&gt; to &lt;tt&gt;bson.NewValueWriter&lt;/tt&gt;.&lt;/li&gt;
	&lt;li&gt;Rename &lt;tt&gt;NewBSONDocumentReader&lt;/tt&gt; to &lt;tt&gt;NewValueReader&lt;/tt&gt;.&lt;/li&gt;
	&lt;li&gt;Remove &lt;tt&gt;NewBSONValueReader&lt;/tt&gt;; do not support creating single-value-reader decoders (that&apos;s what &lt;tt&gt;UnmarshalValue&lt;/tt&gt; is for).&lt;/li&gt;
	&lt;li&gt;(Optional) Panic if the &lt;tt&gt;io.Writer&lt;/tt&gt; or &lt;tt&gt;io.Reader&lt;/tt&gt; argument is nil.&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
        <key id="2218438">GODRIVER-2719</key>
            <summary>Remove unnecessary errors returned by &quot;bson.Encoder&quot; and &quot;bson.Decoder&quot; APIs</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="qingyang.hu@mongodb.com">Qingyang Hu</assignee>
                                    <reporter username="matt.dale@mongodb.com">Matt Dale</reporter>
                        <labels>
                    </labels>
                <created>Fri, 23 Dec 2022 06:04:20 +0000</created>
                <updated>Thu, 25 Jan 2024 23:36:47 +0000</updated>
                            <resolved>Thu, 25 Jan 2024 23:36:47 +0000</resolved>
                                                    <fixVersion>2.0.0</fixVersion>
                                    <component>BSON</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="6043232" author="xgen-internal-githook" created="Thu, 25 Jan 2024 23:35:48 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Qingyang Hu&apos;, &apos;email&apos;: &apos;103950869+qingyang-hu@users.noreply.github.com&apos;, &apos;username&apos;: &apos;qingyang-hu&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/GODRIVER-2719&quot; title=&quot;Remove unnecessary errors returned by &amp;quot;bson.Encoder&amp;quot; and &amp;quot;bson.Decoder&amp;quot; APIs&quot; class=&quot;issue-link&quot; data-issue-key=&quot;GODRIVER-2719&quot;&gt;&lt;del&gt;GODRIVER-2719&lt;/del&gt;&lt;/a&gt; Remove unnecessary errors from `bson.Encoder`/`bson.Decoder`. (#1525)&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-go-driver/commit/6109bd18ed746f828ad149e8c0018ae009a872cd&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-go-driver/commit/6109bd18ed746f828ad149e8c0018ae009a872cd&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                            <outwardlinks description="related to">
                                        <issuelink>
            <issuekey id="2335026">GODRIVER-2835</issuekey>
        </issuelink>
                            </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="10012"><![CDATA[Major 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_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-2973</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_21553" key="com.atlassian.jira.plugin.system.customfieldtypes:labels">
                        <customfieldname>Quarter</customfieldname>
                        <customfieldvalues>
                                        <label>FY24Q3</label>
    
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hr6k5t:u</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>