Uploaded image for project: 'Python Driver'
  1. Python Driver
  2. PYTHON-2046

Change default JSONMode from LEGACY to RELAXED

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.0
    • Affects Version/s: None
    • Component/s: JSON
    • Labels:
    • Major Change

      The Extended JSON spec says:

      An Extended JSON generator (hereafter just "generator") produces strings in an Extended JSON format.

      A generator MUST allow users to produce strings in either the Canonical Extended JSON format or the Relaxed Extended JSON format. If generators provide a default format, the default SHOULD be the Relaxed Extended JSON format.

      A generator MAY be capable of exporting strings that adhere to other formats, such as Legacy Extended JSON formats.

      Our current default is JSONMode.LEGACY. We should change that to JSONMode.RELAXED in PyMongo 4.0 to adhere to the spec.

      We also need to raise some kind of warning when users of PyMongo 3.X use the default JSONMode, eg "JSONOptions()" or DEFAULT_JSON_OPTIONS.

            shane.harvey@mongodb.com Shane Harvey
            shane.harvey@mongodb.com Shane Harvey
            0 Vote for this issue
            1 Start watching this issue