Remove "preview" from QE prefix+suffix, and rename "text" to "string"

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Unknown
    • None
    • Component/s: Client Side Encryption
    • None
    • Needed
    • Hide

      Summary of necessary driver changes

      • Rename QE "text" APIs to "string" and document as stable
        • rename TextOpts to StringOpts
        • replace "prefixPreview" queryType with "prefix"
        • replace "suffixPreview" queryType with "suffix"
        • replace "TextPreview" algorithm with "String"
      • Update spec and prose tests for the new names.
      • Upgrade to libmongocrypt 1.19.0+ to support the new names.

      "substringPreview" remains experimental API and is pending. If decided as GA, "substringPreview" will be renamed to "substring" as part of DRIVERS-3540.

      This is expected break compatibility of experimental QE APIs. This is expected to be OK in a minor release since APIs were documented as "unstable API and subject to backwards breaking changes".

      Commits for syncing spec/prose tests

      Show
      Summary of necessary driver changes Rename QE "text" APIs to "string" and document as stable rename TextOpts to StringOpts replace "prefixPreview" queryType with "prefix" replace "suffixPreview" queryType with "suffix" replace "TextPreview" algorithm with "String" Update spec and prose tests for the new names. Upgrade to libmongocrypt 1.19.0+ to support the new names. "substringPreview" remains experimental API and is pending. If decided as GA, "substringPreview" will be renamed to "substring" as part of DRIVERS-3540 . This is expected break compatibility of experimental QE APIs. This is expected to be OK in a minor release since APIs were documented as "unstable API and subject to backwards breaking changes". Commits for syncing spec/prose tests https://github.com/mongodb/specifications/commit/c9b3ee0af76537b37a1a95e8025811f0337e468c
    • $i18n.getText("admin.common.words.hide")
      Key Status/Resolution FixVersion
      CDRIVER-6293 In Code Review
      CXX-3467 Ready for Work 4.4.0
      CSHARP-5984 Ready for Work 3.10.0
      GODRIVER-3863 Backlog
      JAVA-6168 Backlog
      NODE-7537 Backlog
      PYTHON-5799 Needs Triage
      PHPLIB-1827 Backlog
      RUBY-3805 Ready for Work
      RUST-2402 Needs Triage
      $i18n.getText("admin.common.words.show")
      #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 */ } #scriptField td.willNotDo { background-color: #FF0000; /* Red color code */ } /* Center-align the first row headers */ #scriptField th { text-align: center; } Key Status/Resolution FixVersion CDRIVER-6293 In Code Review CXX-3467 Ready for Work 4.4.0 CSHARP-5984 Ready for Work 3.10.0 GODRIVER-3863 Backlog JAVA-6168 Backlog NODE-7537 Backlog PYTHON-5799 Needs Triage PHPLIB-1827 Backlog RUBY-3805 Ready for Work RUST-2402 Needs Triage

      Summary

      Remove "preview" from QE prefix+suffix, and rename "text" to "string".

      Motivation

      This is a continuation of work done in DRIVERS-3227. Text indexes are currently documented as experimental.

      Renaming "text" to "string" is intended to avoid confusion with existing MongoDB text search.

      Quoting Queryable Encryption Biweekly Sync notes:

      need to ensure we don’t use “Text search” in public APIs

      Though the renames break API, QE Text is documented as:

      These features are unstable and their security is not guaranteed until released as Generally Available (GA). The GA version of these features may not be backwards compatible with the preview version.

      Who is the affected end user?

      Users of QE wanting to use text indexes in production.

      Is this issue urgent?

      Planned for server 9.0. See Initiative Plan: Queryable Encryption under 3.24

      Acceptance Criteria

      • Rename "suffixPreview" to "suffix", "prefixPreview" to "prefix" in the specification
      • Rename "textPreview" to "string" for "suffix" and "prefix".
      • Rename "TextOpts" to "StringOpts".
      • "substringPreview" remains with experimental (pending WRITING-37758).
      • Remove the "should be used for experimental workloads only" documentation.
      • Upgrade libmongocrypt with needed protocol changes (MONGOCRYPT-856).

            Assignee:
            Kevin Albertson
            Reporter:
            Kevin Albertson
            Kevin Albertson Kevin Albertson
            Rishabh Bisht Rishabh Bisht
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated: