diff --git a/doc/conf.py b/doc/conf.py
index 298524a74f42007cf18f38cd39bf240fe91b8cd4..1c3b5a934e3be37f7112f3b58cc9fd7dc8ef632a 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -235,10 +235,10 @@ rst_epilog = """
 # Default processing flags for sphinx
 autoclass_content = "class"
 autodoc_member_order = "bysource"
-autodoc_default_flags = [
-    "members",
-    "show-inheritance",
-]
+autodoc_default_options = {
+  "members": True,
+  "show-inheritance": True,
+}
 
 # For inter-documentation mapping:
 from bob.extension.utils import link_documentation, load_requirements
@@ -250,26 +250,3 @@ if os.path.exists(sphinx_requirements):
     )
 else:
     intersphinx_mapping = link_documentation()
-
-
-# We want to remove all private (i.e. _. or __.__) members
-# that are not in the list of accepted functions
-accepted_private_functions = ["__array__"]
-
-
-def member_function_test(app, what, name, obj, skip, options):
-    # test if we have a private function
-    if len(name) > 1 and name[0] == "_":
-        # test if this private function should be allowed
-        if name not in accepted_private_functions:
-            # omit privat functions that are not in the list of accepted private functions
-            return skip
-        else:
-            # test if the method is documented
-            if not hasattr(obj, "__doc__") or not obj.__doc__:
-                return skip
-    return False
-
-
-def setup(app):
-    app.connect("autodoc-skip-member", member_function_test)