diff --git a/CHANGELOG.md b/CHANGELOG.md
index b1e4ab3..ef4a5e4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,15 @@ All notable changes to wuttaweb will be documented in this file.
 The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
 and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
 
+## v0.20.1 (2025-01-13)
+
+### Fix
+
+- expose setting to choose menu handler, in appinfo/configure
+- use prop key instead of column name, for master view model key
+- add grid filters specific to numeric, integer types
+- use default value for config settings
+
 ## v0.20.0 (2025-01-11)
 
 ### Feat
diff --git a/pyproject.toml b/pyproject.toml
index a7a19ff..8ec3f7c 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -6,7 +6,7 @@ build-backend = "hatchling.build"
 
 [project]
 name = "WuttaWeb"
-version = "0.20.0"
+version = "0.20.1"
 description = "Web App for Wutta Framework"
 readme = "README.md"
 authors = [{name = "Lance Edgar", email = "lance@wuttaproject.org"}]
@@ -44,7 +44,7 @@ dependencies = [
         "pyramid_tm",
         "waitress",
         "WebHelpers2",
-        "WuttJamaican[db]>=0.20.0",
+        "WuttJamaican[db]>=0.20.1",
         "zope.sqlalchemy>=1.5",
 ]
 
diff --git a/tests/views/test_master.py b/tests/views/test_master.py
index d334258..d77e2b8 100644
--- a/tests/views/test_master.py
+++ b/tests/views/test_master.py
@@ -1528,42 +1528,50 @@ class TestMasterView(WebTestCase):
                                     get_index_url=MagicMock(return_value='/appinfo/'),
                                     configure_get_simple_settings=MagicMock(return_value=settings)):
 
-                    # get the form page
-                    response = view.configure(session=self.session)
-                    self.assertIsInstance(response, Response)
+                    # nb. appinfo/configure template requires menu_handlers
+                    original_context = view.configure_get_context
+                    def get_context(**kw):
+                        kw = original_context(**kw)
+                        kw['menu_handlers'] = []
+                        return kw
+                    with patch.object(view, 'configure_get_context', new=get_context):
 
-                    # post request to save settings
-                    self.request.method = 'POST'
-                    self.request.POST = {
-                        'wutta.app_title': 'Wutta',
-                        'wutta.foo': 'bar',
-                        'wutta.flag': 'true',
-                    }
-                    response = view.configure(session=self.session)
-                    # nb. should get redirect back to configure page
-                    self.assertEqual(response.status_code, 302)
+                        # get the form page
+                        response = view.configure(session=self.session)
+                        self.assertIsInstance(response, Response)
 
-                    # should now have 5 settings
-                    count = self.session.query(model.Setting).count()
-                    self.assertEqual(count, 5)
-                    get_setting = functools.partial(self.app.get_setting, self.session)
-                    self.assertEqual(get_setting('wutta.app_title'), 'Wutta')
-                    self.assertEqual(get_setting('wutta.foo'), 'bar')
-                    self.assertEqual(get_setting('wutta.flag'), 'true')
-                    self.assertEqual(get_setting('wutta.number'), '42')
-                    self.assertEqual(get_setting('wutta.value1'), '')
-                    self.assertEqual(get_setting('wutta.value2'), None)
+                        # post request to save settings
+                        self.request.method = 'POST'
+                        self.request.POST = {
+                            'wutta.app_title': 'Wutta',
+                            'wutta.foo': 'bar',
+                            'wutta.flag': 'true',
+                        }
+                        response = view.configure(session=self.session)
+                        # nb. should get redirect back to configure page
+                        self.assertEqual(response.status_code, 302)
 
-                    # post request to remove settings
-                    self.request.method = 'POST'
-                    self.request.POST = {'remove_settings': '1'}
-                    response = view.configure(session=self.session)
-                    # nb. should get redirect back to configure page
-                    self.assertEqual(response.status_code, 302)
+                        # should now have 5 settings
+                        count = self.session.query(model.Setting).count()
+                        self.assertEqual(count, 5)
+                        get_setting = functools.partial(self.app.get_setting, self.session)
+                        self.assertEqual(get_setting('wutta.app_title'), 'Wutta')
+                        self.assertEqual(get_setting('wutta.foo'), 'bar')
+                        self.assertEqual(get_setting('wutta.flag'), 'true')
+                        self.assertEqual(get_setting('wutta.number'), '42')
+                        self.assertEqual(get_setting('wutta.value1'), '')
+                        self.assertEqual(get_setting('wutta.value2'), None)
 
-                    # should now have 0 settings
-                    count = self.session.query(model.Setting).count()
-                    self.assertEqual(count, 0)
+                        # post request to remove settings
+                        self.request.method = 'POST'
+                        self.request.POST = {'remove_settings': '1'}
+                        response = view.configure(session=self.session)
+                        # nb. should get redirect back to configure page
+                        self.assertEqual(response.status_code, 302)
+
+                        # should now have 0 settings
+                        count = self.session.query(model.Setting).count()
+                        self.assertEqual(count, 0)
 
     def test_configure_gather_settings(self):
         view = self.make_view()