<!-- 
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-2720] Check for &quot;encoding.TextMarshaler&quot; and &quot;encoding.BinaryMarshaler&quot; when marshaling BSON and Extended JSON</title>
                <link>https://jira.mongodb.org/browse/GODRIVER-2720</link>
                <project id="14289" key="GODRIVER">Go Driver</project>
                    <description>&lt;p&gt;If a type satisfies the &lt;tt&gt;encoding.TextMarshaler&lt;/tt&gt; or &lt;tt&gt;encoding.BinaryMarshaler&lt;/tt&gt; interfaces, we should use those when marshaling BSON after checking for BSON-specific marshaler functions.&lt;/p&gt;

&lt;p&gt;Similarly, if a type satisfies the &lt;tt&gt;encoding.TextUnmarshaler&lt;/tt&gt; or &lt;tt&gt;encoding.BinaryUnmarshaler&lt;/tt&gt; interfaces, we should use that when unmarshaling BSON after checking for BSON-specific unmarshaler functions.&lt;/p&gt;

&lt;p&gt;Definition of done:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;The BSON and Extended JSON marshaler check if a type satisfies the &lt;tt&gt;encoding.TextMarshaler&lt;/tt&gt; and &lt;tt&gt;encoding.BinaryMarshaler&lt;/tt&gt; interfaces after checking for BSON-specific marshaler functions.&lt;/li&gt;
	&lt;li&gt;The BSON and Extended JSON unmarshaler check if a type satisfies the &lt;tt&gt;encoding.TextUnmarshaler&lt;/tt&gt; and &lt;tt&gt;encoding.BinaryUnmarshaler&lt;/tt&gt; interfaces after checking for BSON-specific marshaler functions.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Open questions:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;What is the priority order between &lt;tt&gt;encoding.TextMarshaler&lt;/tt&gt;, &lt;tt&gt;encoding.BinaryMarshaler&lt;/tt&gt;, and the other BSON-specific marshaler interfaces? What does Go&apos;s &quot;encoding/json&quot; do?&lt;/li&gt;
	&lt;li&gt;Should we do the same thing for the Extended JSON marshaler and unmarshaler?&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
        <key id="2218908">GODRIVER-2720</key>
            <summary>Check for &quot;encoding.TextMarshaler&quot; and &quot;encoding.BinaryMarshaler&quot; when marshaling BSON and Extended JSON</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="10038" iconUrl="https://jira.mongodb.org/images/icons/subtask.gif" description="">Backlog</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="matt.dale@mongodb.com">Matt Dale</reporter>
                        <labels>
                    </labels>
                <created>Fri, 23 Dec 2022 18:59:27 +0000</created>
                <updated>Mon, 8 Jan 2024 21:08:36 +0000</updated>
                                                            <fixVersion>2.0.0</fixVersion>
                                    <component>BSON</component>
                                        <votes>1</votes>
                                    <watches>2</watches>
                                                                                                                        <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_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|hr6jqv:s0000yx</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>