<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 09:03:37 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>[JAVA-5051] Deprecate Stream API</title>
                <link>https://jira.mongodb.org/browse/JAVA-5051</link>
                <project id="10006" key="JAVA">Java Driver</project>
                    <description>&lt;h4&gt;&lt;a name=&quot;Summary&quot;&gt;&lt;/a&gt;Summary&lt;/h4&gt;

&lt;p&gt;Deprecate Stream-related API, for removal in 5.0 :&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;MongoClientSettings.Builder#streamFactoryFactory&lt;/li&gt;
	&lt;li&gt;MongoClientSettings.getStreamFactoryFactory&lt;/li&gt;
	&lt;li&gt;NettyStreamFactoryFactory&lt;/li&gt;
	&lt;li&gt;NettyStreamFactory&lt;/li&gt;
	&lt;li&gt;AsynchronousSocketChannelStreamFactory&lt;/li&gt;
	&lt;li&gt;AsynchronousSocketChannelStreamFactoryFactory&lt;/li&gt;
	&lt;li&gt;BufferProvider&lt;/li&gt;
	&lt;li&gt;SocketStreamFactory&lt;/li&gt;
	&lt;li&gt;Stream&lt;/li&gt;
	&lt;li&gt;StreamFactory&lt;/li&gt;
	&lt;li&gt;StreamFactoryFactory&lt;/li&gt;
	&lt;li&gt;TlsChannelStreamFactoryFactory&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Provide a replacement for &lt;tt&gt;com.mongodb.connection.netty.NettyStreamFactoryFactory&lt;/tt&gt; that supports configuration of Netty, including&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;&lt;tt&gt;io.netty.buffer.ByteBufAllocator&lt;/tt&gt;&lt;/li&gt;
	&lt;li&gt;&lt;tt&gt;io.netty.channel.EventLoopGroup&lt;/tt&gt;&lt;/li&gt;
	&lt;li&gt;&lt;tt&gt;Class&amp;lt;? extends SocketChannel&amp;gt;&lt;/tt&gt;&lt;/li&gt;
	&lt;li&gt;&lt;tt&gt;io.netty.handler.ssl.SslContext&lt;/tt&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Note: this same configuration will be required for gRPC support, so consider that in API design.&lt;/p&gt;

&lt;h4&gt;&lt;a name=&quot;Motivation&quot;&gt;&lt;/a&gt;Motivation&lt;/h4&gt;

&lt;p&gt;Exposing this large an API surface was a mistake, as in practice the only thing it was used for was to configure Netty as the transport implementation.  By deprecating these types and providing an alternative way to configure Netty with a simpler Settings-style API, we can simplify the API and make it possible to evolve the driver more easily once these deprecated types are removed.&lt;/p&gt;</description>
                <environment></environment>
        <key id="2382828">JAVA-5051</key>
            <summary>Deprecate Stream API</summary>
                <type id="4" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14710&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</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="jeff.yemin@mongodb.com">Jeffrey Yemin</assignee>
                                    <reporter username="jeff.yemin@mongodb.com">Jeffrey Yemin</reporter>
                        <labels>
                    </labels>
                <created>Mon, 3 Jul 2023 18:16:05 +0000</created>
                <updated>Sat, 28 Oct 2023 11:20:22 +0000</updated>
                            <resolved>Thu, 14 Sep 2023 14:01:55 +0000</resolved>
                                                    <fixVersion>4.11.0</fixVersion>
                                    <component>API</component>
                    <component>Connection Management</component>
                                        <votes>0</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="5703979" author="xgen-internal-githook" created="Thu, 14 Sep 2023 13:59:06 +0000"  >&lt;p&gt;Author: &lt;/p&gt;
{&apos;name&apos;: &apos;Jeff Yemin&apos;, &apos;email&apos;: &apos;jeff.yemin@mongodb.com&apos;, &apos;username&apos;: &apos;jyemin&apos;}
&lt;p&gt;Message: Deprecate Stream-related API (#1195)&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;Deprecate Stream-related API&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Adds:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;TransportSettings abstract class&lt;/li&gt;
	&lt;li&gt;NettyTransportSettings subclass of TransportSettings&lt;/li&gt;
	&lt;li&gt;A new method on MongoClientSettings to configure TransportSettings&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Deprecates:&lt;/p&gt;

&lt;ul&gt;
	&lt;li&gt;MongoClientSettings.Builder#streamFactoryFactory&lt;/li&gt;
	&lt;li&gt;MongoClientSettings.getStreamFactoryFactory&lt;/li&gt;
	&lt;li&gt;NettyStreamFactoryFactory&lt;/li&gt;
	&lt;li&gt;NettyStreamFactory&lt;/li&gt;
	&lt;li&gt;AsynchronousSocketChannelStreamFactory&lt;/li&gt;
	&lt;li&gt;AsynchronousSocketChannelStreamFactoryFactory&lt;/li&gt;
	&lt;li&gt;BufferProvider&lt;/li&gt;
	&lt;li&gt;SocketStreamFactory&lt;/li&gt;
	&lt;li&gt;Stream&lt;/li&gt;
	&lt;li&gt;StreamFactory&lt;/li&gt;
	&lt;li&gt;StreamFactoryFactory&lt;/li&gt;
	&lt;li&gt;TlsChannelStreamFactoryFactory&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&lt;a href=&quot;https://jira.mongodb.org/browse/JAVA-5051&quot; title=&quot;Deprecate Stream API&quot; class=&quot;issue-link&quot; data-issue-key=&quot;JAVA-5051&quot;&gt;&lt;del&gt;JAVA-5051&lt;/del&gt;&lt;/a&gt;&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/mongo-java-driver/commit/2ed89c9e4f66cdf2800e510ddd87b31f07901eb9&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-java-driver/commit/2ed89c9e4f66cdf2800e510ddd87b31f07901eb9&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10320">
                    <name>Documented</name>
                                                                <inwardlinks description="is documented by">
                                                        </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10010">
                    <name>Duplicate</name>
                                                                <inwardlinks description="is duplicated by">
                                        <issuelink>
            <issuekey id="2412741">JAVA-5102</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                            <issuelinktype id="10012">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="2441626">JAVA-5161</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </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="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_10257" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Documentation Changes</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10250"><![CDATA[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;/p&gt;

&lt;p&gt;That the indicated types are deprecated for removal in 5.0&lt;/p&gt;

&lt;p&gt;2.  Would you like the user to see examples of the syntax and/or executable code and its output?&lt;/p&gt;

&lt;p&gt;Yes.  Since the most likely scenario for anyone using the deprecated types is for Netty, show how to convert use of NettyStreamFactoryFactory to NettyTransportSettings&lt;/p&gt;

&lt;p&gt;3.  Which versions of the driver/connector does this apply to?&lt;/p&gt;

&lt;p&gt;4.11.0&lt;/p&gt;</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>JAVA-5063</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|hr1d6w:rw</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>