<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:39:01 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-2618] Create an &quot;extjson&quot; package for the Extended JSON marshaler/unmarshaler</title>
                <link>https://jira.mongodb.org/browse/GODRIVER-2618</link>
                <project id="14289" key="GODRIVER">Go Driver</project>
                    <description>&lt;p&gt;Separate the Extended JSON marshaler/unmarshaler into a separate &lt;tt&gt;extjson&lt;/tt&gt; package that is a sibling package to the &lt;tt&gt;bson&lt;/tt&gt; package (i.e. &lt;tt&gt;go.mongodb.org/mongo-driver/extjson&lt;/tt&gt;). Also deprecate all of the Extended JSON marshaler/unmarshaler functions in the &lt;tt&gt;bson&lt;/tt&gt; package.&lt;/p&gt;
&lt;h1&gt;&lt;a name=&quot;Motivation&quot;&gt;&lt;/a&gt;Motivation&lt;/h1&gt;
&lt;h2&gt;&lt;a name=&quot;Usability&quot;&gt;&lt;/a&gt;Usability&lt;/h2&gt;

&lt;p&gt;The BSON and Extended JSON formats are completely separate, so they should be in separate packages.&lt;/p&gt;

&lt;p&gt;For example &lt;tt&gt;bson.MarshalExtJSON&lt;/tt&gt; is confusing because the format is not BSON, it&apos;s Extended JSON.&lt;/p&gt;
&lt;h2&gt;&lt;a name=&quot;CodeSeparation&quot;&gt;&lt;/a&gt;Code Separation&lt;/h2&gt;

&lt;p&gt;Based on the background of &lt;a href=&quot;https://jira.mongodb.org/browse/GODRIVER-612&quot; title=&quot;Remove duplicated Extended JSON logic from &amp;quot;bsoncore&amp;quot;&quot; class=&quot;issue-link&quot; data-issue-key=&quot;GODRIVER-612&quot;&gt;GODRIVER-612&lt;/a&gt;, keeping the BSON and Extended JSON marshaler/unmarshaler in the same package seems to create unnecessary duplication in the &lt;tt&gt;bsoncore&lt;/tt&gt; package due to the dependency chain of &lt;tt&gt;bson&lt;/tt&gt; -&amp;gt; &lt;tt&gt;bsonrw&lt;/tt&gt; -&amp;gt; &lt;tt&gt;bsoncore&lt;/tt&gt;. Avoid that problem by completely separating the Extended JSON marshaler/unmarshaler.&lt;/p&gt;

&lt;h1&gt;&lt;a name=&quot;Definitionofdone&quot;&gt;&lt;/a&gt;Definition of done&lt;/h1&gt;
&lt;ul&gt;
	&lt;li&gt;Create a new &lt;tt&gt;extjson&lt;/tt&gt; package that provides an Extended JSON marshaler/unmarshaler. Make it a sibling of the &lt;tt&gt;bson&lt;/tt&gt; package.
	&lt;ul&gt;
		&lt;li&gt;The &lt;tt&gt;extjson&lt;/tt&gt; package cannot import any &lt;tt&gt;bson&lt;/tt&gt; or &lt;tt&gt;bsoncore&lt;/tt&gt; packages because those packages need to be able to reference &lt;tt&gt;extjson&lt;/tt&gt; for BSON-to-JSON and BSON-to-string conversion.&lt;/li&gt;
	&lt;/ul&gt;
	&lt;/li&gt;
	&lt;li&gt;Deprecate all Extended JSON functions and types in the &lt;tt&gt;bson&lt;/tt&gt; package.&lt;/li&gt;
&lt;/ul&gt;
</description>
                <environment></environment>
        <key id="2167774">GODRIVER-2618</key>
            <summary>Create an &quot;extjson&quot; package for the Extended JSON marshaler/unmarshaler</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="12300">Won&apos;t Do</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="matt.dale@mongodb.com">Matt Dale</reporter>
                        <labels>
                    </labels>
                <created>Wed, 26 Oct 2022 18:57:12 +0000</created>
                <updated>Thu, 2 Mar 2023 01:00:36 +0000</updated>
                            <resolved>Sat, 24 Dec 2022 05:11:21 +0000</resolved>
                                                                                        <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                <comments>
                            <comment id="5075518" author="JIRAUSER1259527" created="Sat, 24 Dec 2022 05:11:21 +0000"  >&lt;p&gt;Abandoning this in favor of merging all BSON packages together and significantly simplifying the BSON library API.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                                                <inwardlinks description="is depended on by">
                                        <issuelink>
            <issuekey id="624162">GODRIVER-612</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2159677">GODRIVER-2591</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2167725">GODRIVER-2617</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_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i0y7fk:</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>