There should be no codecs left that return str8 intead of bytes.
(And if there are, they will now get an error when used.  So fix them!)
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index c799417..5593ada 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -6407,19 +6407,13 @@
     char *encoding = NULL;
     char *errors = NULL;
     PyObject *v;
-    
+
     if (!PyArg_ParseTuple(args, "|ss:encode", &encoding, &errors))
         return NULL;
     v = PyUnicode_AsEncodedObject((PyObject *)self, encoding, errors);
     if (v == NULL)
         goto onError;
     if (!PyBytes_Check(v)) {
-        if (PyString_Check(v)) {
-            /* Old codec, turn it into bytes */
-            PyObject *b = PyBytes_FromObject(v);
-            Py_DECREF(v);
-            return b;
-        }
         PyErr_Format(PyExc_TypeError,
                      "encoder did not return a bytes object "
                      "(type=%.400s)",