omry: Thanks, can you add a unit test?
omry: And a news fragment file in news?
Something like:
news/Issue-num.bugfix:
Short description of bug fix 
shuki-hpcnt: Should I add new fragment under version `1.4.0`?
omry: Add the news fragment in the dir, not in the news file. 
I have an upcoming major change coming to OmegaConf, which is potentially going to break compatibility in some ways. I will try to include your patch in a maintenance branch for 1.4 but it would be awesome if you can do some early testing for the new version (2.0.0rc1) when I release it.
omry: Changes are at #86.
Changes there are massive but well tested.
I am planning a few other incompatible fixed before 2.0.0.
omry: Please check the issue #87 for details about that that huge PR is about. It’s adds some great new stuff. 
shuki-hpcnt: I've added simple test and news as requested.
Also checked the new PR and issue for Omegaconf 2.0. New features look nice! Looking forward to use it :)
omry: So actually your diff disables date implicit conversion inOmegaConf period.
Not just for from_dotlist. 
omry: Alright, thanks for this.
I created a new 1.4_branch for bug fixes of the existing release line and I will patch it with your changes.
diff --git a/news/95.bugfix b/news/95.bugfix
new file mode 100644
index 0000000..4a99b51
--- /dev/null
+++ b/news/95.bugfix
@@ -0,0 +1,1 @@
+Disable automatic conversion of date strings in yaml decoding
\ No newline at end of file
diff --git a/omegaconf/config.py b/omegaconf/config.py
index 0d76e38..8b21e27 100644
--- a/omegaconf/config.py
+++ b/omegaconf/config.py
@@ -39,6 +39,14 @@ def get_yaml_loader():
         ),
         list(u"-+0123456789."),
     )
+    loader.yaml_implicit_resolvers = {
+        key: [
+            (tag, regexp)
+            for tag, regexp in resolvers
+            if tag != u"tag:yaml.org,2002:timestamp"
+        ]
+        for key, resolvers in loader.yaml_implicit_resolvers.items()
+    }
     return loader
 
 

Disable automatic conversion of date strings in from_dotlist
### Issue
When instantiating OmegaConf from `from_dotlist`, yaml loader tries to convert date-formatted strings into `date` type, therefore raises error when validating the type of values.

```
 OmegaConf.from_dotlist(["my_date=2019-11-11"])

>>>

.../site-packages/omegaconf/config.py in _prepare_value_to_add(self, key, value)
    448         if not Config.is_primitive_type(value):
    449             full_key = self.get_full_key(key)
--> 450             raise ValueError("key {}: {} is not a primitive type".format(full_key, type(value).__name__))
    451
    452         if self._get_flag('readonly'):

ValueError: key my_date: date is not a primitive type
```
This error also blocks the overriding of configuration values by using cli arguments in hydra.

### Potential workaround
Could be solved by removing implicit timestamp resolvers in default `yaml.SafeLoader`.
(Related stackoverflow: https://stackoverflow.com/questions/34667108/ignore-dates-and-times-while-parsing-yaml)



diff --git a/tests/test_create.py b/tests/test_create.py
index 5d11d5d..668181d 100644
--- a/tests/test_create.py
+++ b/tests/test_create.py
@@ -50,7 +50,15 @@ def test_cli_passing():
 
 
 @pytest.mark.parametrize(
-    "input_, expected", [(["a=1", "b.c=2"], dict(a=1, b=dict(c=2)))]
+    "input_, expected",
+    [
+        # simple
+        (["a=1", "b.c=2"], dict(a=1, b=dict(c=2))),
+        # string
+        (["a=hello", "b=world"], dict(a="hello", b="world")),
+        # date-formatted string
+        (["my_date=2019-12-11"], dict(my_date="2019-12-11")),
+    ],
 )
 def test_dotlist(input_, expected):
     c = OmegaConf.from_dotlist(input_)

pip install -e .[dev]
parse_log_pytest
requirements.txt
3.8
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
argcomplete==3.6.1
attrs==25.3.0
backports.tarfile==1.2.0
black==24.8.0
certifi==2025.1.31
cffi==1.17.1
cfgv==3.4.0
charset-normalizer==3.4.1
click==8.1.8
colorlog==6.9.0
coverage==7.6.1
coveralls==4.0.1
cryptography==44.0.2
dependency-groups==1.3.0
distlib==0.3.9
docopt==0.6.2
docutils==0.20.1
exceptiongroup==1.2.2
filelock==3.16.1
flake8==7.1.2
id==1.5.0
identify==2.6.1
idna==3.10
importlib_metadata==8.5.0
importlib_resources==6.4.5
iniconfig==2.1.0
jaraco.classes==3.4.0
jaraco.context==6.0.1
jaraco.functools==4.1.0
jeepney==0.9.0
Jinja2==3.1.6
keyring==25.5.0
markdown-it-py==3.0.0
MarkupSafe==2.1.5
mccabe==0.7.0
mdurl==0.1.2
more-itertools==10.5.0
mypy-extensions==1.0.0
nh3==0.2.21
nodeenv==1.9.1
nox==2025.2.9
-e git+https://github.com/omry/omegaconf.git@9f54f9ca971e899fbe522cf7e37af8e5f3c5f33b#egg=omegaconf
packaging==24.2
pathspec==0.12.1
platformdirs==4.3.6
pluggy==1.5.0
pre-commit==3.5.0
pycodestyle==2.12.1
pycparser==2.22
pyflakes==3.2.0
Pygments==2.19.1
pytest==8.3.5
PyYAML==6.0.2
readme_renderer==43.0
requests==2.32.3
requests-toolbelt==1.0.0
rfc3986==2.0.0
rich==14.0.0
SecretStorage==3.3.3
tomli==2.2.1
towncrier==24.8.0
twine==6.1.0
typing_extensions==4.13.0
urllib3==2.2.3
virtualenv==20.29.3
zipp==3.20.2

name: omegaconf
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=3.0.16=h5eee18b_0
  - pip=24.2=py38h06a4308_0
  - python=3.8.20=he870216_0
  - readline=8.2=h5eee18b_0
  - setuptools=75.1.0=py38h06a4308_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - wheel=0.44.0=py38h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - argcomplete==3.6.1
      - attrs==25.3.0
      - backports-tarfile==1.2.0
      - black==24.8.0
      - certifi==2025.1.31
      - cffi==1.17.1
      - cfgv==3.4.0
      - charset-normalizer==3.4.1
      - click==8.1.8
      - colorlog==6.9.0
      - coverage==7.6.1
      - coveralls==4.0.1
      - cryptography==44.0.2
      - dependency-groups==1.3.0
      - distlib==0.3.9
      - docopt==0.6.2
      - docutils==0.20.1
      - exceptiongroup==1.2.2
      - filelock==3.16.1
      - flake8==7.1.2
      - id==1.5.0
      - identify==2.6.1
      - idna==3.10
      - importlib-metadata==8.5.0
      - importlib-resources==6.4.5
      - iniconfig==2.1.0
      - jaraco-classes==3.4.0
      - jaraco-context==6.0.1
      - jaraco-functools==4.1.0
      - jeepney==0.9.0
      - jinja2==3.1.6
      - keyring==25.5.0
      - markdown-it-py==3.0.0
      - markupsafe==2.1.5
      - mccabe==0.7.0
      - mdurl==0.1.2
      - more-itertools==10.5.0
      - mypy-extensions==1.0.0
      - nh3==0.2.21
      - nodeenv==1.9.1
      - nox==2025.2.9
      - omegaconf==1.5.0rc1
      - packaging==24.2
      - pathspec==0.12.1
      - platformdirs==4.3.6
      - pluggy==1.5.0
      - pre-commit==3.5.0
      - pycodestyle==2.12.1
      - pycparser==2.22
      - pyflakes==3.2.0
      - pygments==2.19.1
      - pytest==8.3.5
      - pyyaml==6.0.2
      - readme-renderer==43.0
      - requests==2.32.3
      - requests-toolbelt==1.0.0
      - rfc3986==2.0.0
      - rich==14.0.0
      - secretstorage==3.3.3
      - tomli==2.2.1
      - towncrier==24.8.0
      - twine==6.1.0
      - typing-extensions==4.13.0
      - urllib3==2.2.3
      - virtualenv==20.29.3
      - zipp==3.20.2
prefix: /opt/conda/envs/omegaconf

tests/test_create.py::test_dotlist[input_2-expected2]
tests/test_create.py::test_create_value[hello-expected0] tests/test_create.py::test_create_value[hello: tests/test_create.py::test_create_value[input_2-expected2] tests/test_create.py::test_create_value[-expected3] tests/test_create.py::test_create_value[input_4-expected4] tests/test_create.py::test_create_value[input_5-expected5] tests/test_create.py::test_create_value[input_6-expected6] tests/test_create.py::test_create_value[input_7-expected7] tests/test_create.py::test_create_value[input_8-expected8] tests/test_create.py::test_create_from_cli tests/test_create.py::test_cli_passing tests/test_create.py::test_dotlist[input_0-expected0] tests/test_create.py::test_dotlist[input_1-expected1] tests/test_create.py::test_create_list_with_illegal_value_idx0 tests/test_create.py::test_create_list_with_illegal_value_idx1 tests/test_create.py::test_create_dict_with_illegal_value tests/test_create.py::test_create_nested_dict_with_illegal_value tests/test_create.py::test_create_from_oc
news/95.bugfix omegaconf/config.py
news/95.bugfix omegaconf/config.py