<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:25:21 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>[DRIVERS-2352] EncryptOpts queryType should accept a string consistent with queryType in encryptedFields</title>
                <link>https://jira.mongodb.org/browse/DRIVERS-2352</link>
                <project id="10980" key="DRIVERS">Drivers</project>
                    <description>&lt;div class=&quot;panel&quot; style=&quot;background-color: #fafbfc;border-color: #21313c;border-style: solid;border-width: 1px;&quot;&gt;&lt;div class=&quot;panelContent&quot; style=&quot;background-color: #fafbfc;&quot;&gt;
&lt;h3&gt;&lt;a name=&quot;Summary&quot;&gt;&lt;/a&gt;&lt;b&gt;Summary&lt;/b&gt;&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/mongodb/specifications/blob/master/source/client-side-encryption/client-side-encryption.rst#encryptopts&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;EncryptOpts&lt;/a&gt; currently defines the &lt;tt&gt;queryType&lt;/tt&gt; option as an enum. Drivers should change the option to accept a string value, which would more easily allow for forward compatibility (a libmongocrypt version bump would likely be required, but drivers would not necessarily need to be changed).&lt;/p&gt;

&lt;p&gt;This would be similar to what is done for &lt;a href=&quot;https://github.com/mongodb/specifications/blob/master/source/read-write-concern/read-write-concern.rst#read-concern&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;Read Concern&lt;/a&gt; &lt;tt&gt;level&lt;/tt&gt;, where drivers provide an enum but also accept string values for forward compatibility.&lt;/p&gt;

&lt;p&gt;This would depend on &lt;a href=&quot;https://jira.mongodb.org/browse/MONGOCRYPT-441&quot; title=&quot;Accept string values for QueryType and IndexType&quot; class=&quot;issue-link&quot; data-issue-key=&quot;MONGOCRYPT-441&quot;&gt;&lt;del&gt;MONGOCRYPT-441&lt;/del&gt;&lt;/a&gt;, which would change libmongocrypt to accept a string value.&lt;/p&gt;

&lt;p&gt;Ideally, the string value accepted for &lt;tt&gt;queryType&lt;/tt&gt; should be consistent with the &lt;tt&gt;queryType&lt;/tt&gt; option accepted by the server in an &lt;tt&gt;encryptedFields&lt;/tt&gt; document. Then, users could utilize the same constant defined by drivers for use with &lt;tt&gt;EncryptOpts&lt;/tt&gt;.&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;Motivation&quot;&gt;&lt;/a&gt;&lt;b&gt;Motivation&lt;/b&gt;&lt;/h3&gt;
&lt;h4&gt;&lt;a name=&quot;Whoistheaffectedenduser%3F&quot;&gt;&lt;/a&gt;Who is the affected end user?&lt;/h4&gt;
&lt;p&gt;Users of queryable encryption.&lt;/p&gt;

&lt;h4&gt;&lt;a name=&quot;Howdoesthisaffecttheenduser%3F&quot;&gt;&lt;/a&gt;How does this affect the end user?&lt;/h4&gt;
&lt;p&gt;Making the string consistent between &lt;tt&gt;encryptedFields&lt;/tt&gt; and  &lt;tt&gt;EncryptOpts&lt;/tt&gt; would be a boon for users.&lt;/p&gt;

&lt;h4&gt;&lt;a name=&quot;Howlikelyisitthatthisproblemorusecasewilloccur%3F&quot;&gt;&lt;/a&gt;How likely is it that this problem or use case will occur?&lt;/h4&gt;
&lt;p&gt;Users may be confused if &lt;tt&gt;encryptedFields&lt;/tt&gt; and  &lt;tt&gt;EncryptOpts&lt;/tt&gt; accept different values for the &lt;tt&gt;queryType&lt;/tt&gt; option. &lt;/p&gt;

&lt;h4&gt;&lt;a name=&quot;Iftheproblemdoesoccur%2Cwhataretheconsequencesandhowseverearethey%3F&quot;&gt;&lt;/a&gt;If the problem does occur, what are the consequences and how severe are they?&lt;/h4&gt;
&lt;p&gt;Immediate error message for an invalid option.&lt;/p&gt;

&lt;h4&gt;&lt;a name=&quot;Isthisissueurgent%3F&quot;&gt;&lt;/a&gt;Is this issue urgent?&lt;/h4&gt;
&lt;p&gt;Ideally before 6.0-compat stable driver releases.&lt;/p&gt;

&lt;h4&gt;&lt;a name=&quot;Isthisticketrequiredbyadownstreamteam%3F&quot;&gt;&lt;/a&gt;Is this ticket required by a downstream team?&lt;/h4&gt;
&lt;p&gt;May be relevant to &lt;tt&gt;mongosh&lt;/tt&gt;.&lt;/p&gt;

&lt;h4&gt;&lt;a name=&quot;Isthisticketonlyfortests%3F&quot;&gt;&lt;/a&gt;Is this ticket only for tests?&lt;/h4&gt;
&lt;p&gt;No.&lt;/p&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment></environment>
        <key id="2065501">DRIVERS-2352</key>
            <summary>EncryptOpts queryType should accept a string consistent with queryType in encryptedFields</summary>
                <type id="14901" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14700&amp;avatarType=issuetype">Spec Change</type>
                                            <priority id="10300" iconUrl="https://jira.mongodb.org/images/icons/priorities/medium.svg">Unknown</priority>
                        <status id="13453" iconUrl="https://jira.mongodb.org/images/icons/status_generic.gif" description="">Implementing</status>
                    <statusCategory id="4" key="indeterminate" colorName="inprogress"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="kevin.albertson@mongodb.com">Kevin Albertson</assignee>
                                    <reporter username="jmikola@mongodb.com">Jeremy Mikola</reporter>
                        <labels>
                    </labels>
                <created>Thu, 9 Jun 2022 20:25:16 +0000</created>
                <updated>Fri, 17 Jun 2022 16:55:36 +0000</updated>
                                                                <component>Client Side Encryption</component>
                                        <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="4624291" author="xgen-internal-githook" created="Fri, 17 Jun 2022 16:49:03 +0000"  >&lt;p&gt;Author:&lt;/p&gt;
{&apos;name&apos;: &apos;Kevin Albertson&apos;, &apos;email&apos;: &apos;kevin.albertson@mongodb.com&apos;, &apos;username&apos;: &apos;kevinAlbs&apos;}
&lt;p&gt;Message: &lt;a href=&quot;https://jira.mongodb.org/browse/DRIVERS-2352&quot; title=&quot;EncryptOpts queryType should accept a string consistent with queryType in encryptedFields&quot; class=&quot;issue-link&quot; data-issue-key=&quot;DRIVERS-2352&quot;&gt;DRIVERS-2352&lt;/a&gt; use a string for QueryType (#1252)&lt;br/&gt;
Branch: master&lt;br/&gt;
&lt;a href=&quot;https://github.com/mongodb/specifications/commit/cb58ded938146fcbce2b04a91d09f72d66832603&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/commit/cb58ded938146fcbce2b04a91d09f72d66832603&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Depends</name>
                                            <outwardlinks description="depends on">
                                        <issuelink>
            <issuekey id="2065487">MONGOCRYPT-441</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10620">
                    <name>Issue split</name>
                                            <outwardlinks description="split to">
                                        <issuelink>
            <issuekey id="2066655">PHPC-2104</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2066648">CXX-2525</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2066647">CDRIVER-4404</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2066649">CSHARP-4204</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2066650">GODRIVER-2454</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2066651">JAVA-4643</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2066653">MOTOR-976</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2066652">NODE-4303</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2066654">PYTHON-3301</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2066656">RUBY-3024</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="2066657">RUST-1361</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </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_17052" key="com.atlassian.jira.plugin.system.customfieldtypes:textarea">
                        <customfieldname>Downstream Changes Summary</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>&lt;h1&gt;&lt;a name=&quot;BindingsChanges&quot;&gt;&lt;/a&gt;Bindings Changes&lt;/h1&gt;

&lt;p&gt;Upgrade to libmongocrypt 1.5.0-rc2. Binaries can be downloaded from the &lt;a href=&quot;https://spruce.mongodb.com/task/libmongocrypt_publish_snapshot_upload_all_1756c5120814152c15a2eee7a679a33a4764ba63_22_06_17_13_52_35/files?execution=0&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;upload-all task&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Bindings in the libmongocrypt repository were updated in MONGOCRYPT-414. Drivers with bindings outside of the libmongocrypt repo will need to update bindings code.&lt;/p&gt;

&lt;p&gt;Replace calls of &lt;tt&gt;mongocrypt_ctx_setopt_index_type&lt;/tt&gt; with &lt;tt&gt;mongocrypt_ctx_setopt_algorithm&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;Update calls of &lt;tt&gt;mongocrypt_ctx_setopt_query_type&lt;/tt&gt; to use the string &quot;equality&quot;.&lt;/p&gt;
&lt;h1&gt;&lt;a name=&quot;DriverChanges&quot;&gt;&lt;/a&gt;Driver Changes&lt;/h1&gt;

&lt;p&gt;Change &lt;tt&gt;EncryptOpts.QueryType&lt;/tt&gt; from an enum to a string. See the specification change here: &lt;a href=&quot;https://github.com/mongodb/specifications/commit/cb58ded938146fcbce2b04a91d09f72d66832603&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/specifications/commit/cb58ded938146fcbce2b04a91d09f72d66832603&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;See the C driver changes for reference: &lt;a href=&quot;https://github.com/mongodb/mongo-c-driver/commit/fe2bae72bc733515d766a46a8799783667396590&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/mongodb/mongo-c-driver/commit/fe2bae72bc733515d766a46a8799783667396590&lt;/a&gt;&lt;/p&gt;</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10951" key="com.atlassian.jira.plugin.system.customfieldtypes:radiobuttons">
                        <customfieldname>Driver Changes</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10748"><![CDATA[Needed]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_23952" key="com.onresolve.jira.groovy.groovyrunner:scripted-field">
                        <customfieldname>Driver Compliance</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[<style type='text/css'>
         #scriptField, #scriptField *{
                border: 1px solid black;
            }

            #scriptField{
                border-collapse: collapse;
            }

            #scriptField td {
                text-align: center; /* Center-align text in table cells */
            }

            #scriptField td.key {
                text-align: left; /* Left-align text in the Key column */
            }

            #scriptField a {
                text-decoration: none; /* Remove underlines from links */
                border: none; /* Remove border from links */
            }
            
            /* Add green background color to cells with FixVersion */
            #scriptField td.hasFixVersion {
                background-color: #00FF00; /* Green color code */
            }

            /* Center-align the first row headers */
            #scriptField th {
                text-align: center;
            }
        </style>
<table id='scriptField'>
  <tr>
    <th>Key</th>
    <th>Status/Resolution</th>
    <th>FixVersion</th>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/CDRIVER-4404'>CDRIVER-4404</a>
    </td>
    <td>Done</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/CXX-2525'>CXX-2525</a>
    </td>
    <td>Backlog</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/CSHARP-4204'>CSHARP-4204</a>
    </td>
    <td>Duplicate</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/GODRIVER-2454'>GODRIVER-2454</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>1.10.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/JAVA-4643'>JAVA-4643</a>
    </td>
    <td>Done</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/NODE-4303'>NODE-4303</a>
    </td>
    <td>Done</td>
    <td class='hasFixVersion'>mongodb-client-encryption-2.2.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/MOTOR-976'>MOTOR-976</a>
    </td>
    <td>Duplicate</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/PYTHON-3301'>PYTHON-3301</a>
    </td>
    <td>Duplicate</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/PHPC-2104'>PHPC-2104</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>1.14.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/RUBY-3024'>RUBY-3024</a>
    </td>
    <td>Fixed</td>
    <td class='hasFixVersion'>2.18.0</td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/RUST-1361'>RUST-1361</a>
    </td>
    <td>Duplicate</td>
    <td class=''></td>
  </tr>
  <tr>
    <td class='key'>
      <a href='https://jira.mongodb.org/browse/SWIFT-1581'>SWIFT-1581</a>
    </td>
    <td>Duplicate</td>
    <td class=''></td>
  </tr>
</table>]]></customfieldvalue>


                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|i0gxm0:</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>