Breaking change in 26 release: Remove msg.UnknownFields() support in pure python and cpp extension.
Users should use the add-on unknown_fields.py support.
Old usage example:
unknown_field_set = msg.UnknownFields()
New usage should be:
from google.protobuf import unknown_fields
unknown_field_set = unknown_fields.UnknownFieldSet(msg)
PiperOrigin-RevId: 589969095
diff --git a/python/google/protobuf/internal/python_message.py b/python/google/protobuf/internal/python_message.py
index 40c7764..870ff18 100755
--- a/python/google/protobuf/internal/python_message.py
+++ b/python/google/protobuf/internal/python_message.py
@@ -1385,15 +1385,9 @@
def _UnknownFields(self):
- warnings.warn(
- 'message.UnknownFields() is deprecated. Please use the add one '
- 'feature unknown_fields.UnknownFieldSet(message) in '
- 'unknown_fields.py instead.'
- )
- if self._unknown_field_set is None: # pylint: disable=protected-access
- # pylint: disable=protected-access
- self._unknown_field_set = containers.UnknownFieldSet()
- return self._unknown_field_set # pylint: disable=protected-access
+ raise NotImplementedError('Please use the add-on feaure '
+ 'unknown_fields.UnknownFieldSet(message) in '
+ 'unknown_fields.py instead.')
def _DiscardUnknownFields(self):
diff --git a/python/google/protobuf/pyext/message.cc b/python/google/protobuf/pyext/message.cc
index 449a11d..7e01f64 100644
--- a/python/google/protobuf/pyext/message.cc
+++ b/python/google/protobuf/pyext/message.cc
@@ -2346,16 +2346,11 @@
}
static PyObject* GetUnknownFields(CMessage* self) {
- PyErr_Warn(nullptr,
- "message.UnknownFields() is deprecated. Please use the "
- "add one feature unknown_fields.UnknownFieldSet(message) in "
- "unknown_fields.py instead.");
- if (self->unknown_field_set == nullptr) {
- self->unknown_field_set = unknown_fields::NewPyUnknownFields(self);
- } else {
- Py_INCREF(self->unknown_field_set);
- }
- return self->unknown_field_set;
+ PyErr_Format(PyExc_NotImplementedError,
+ "Please use the add-on feature "
+ "unknown_fields.UnknownFieldSet(message) in "
+ "unknown_fields.py instead.");
+ return nullptr;
}
static PyGetSetDef Getters[] = {