diff --git a/gerrit/bin/gerrit.sh b/gerrit/bin/gerrit.sh
index 4e51869..b12d0bf 100755
--- a/gerrit/bin/gerrit.sh
+++ b/gerrit/bin/gerrit.sh
@@ -55,52 +55,6 @@
 }
 
 ## -----------------------------------------------------------------------
-## Usage: $0 --repo voltha-go --search --wip
-## -----------------------------------------------------------------------
-function do_gerrit_search_orig()
-{
-    local -n ref_urls=$1   ; shift
-    local -n ref_repos=$1   ; shift
-    local -n ref_status=$1 ; shift
-
-    ref_urls=()
-
-    # local stem='https://gerrit.opencord.org/q/project:voltha-go+status:open'
-    local stem='https://gerrit.opencord.org/q/'
-
-    local -a common=()
-    [[ -v me ]] && { common+=("${me[@]}"); }
-    common+=("${ref_status[@]}")
-
-    local repo
-    for repo in "${ref_repos[@]}";
-    do
-        local -a args=()
-        args+=("project:${repo}")
-        args+=("${common[@]}")
-
-        local url="$stem"
-        url+="$(join_by '+' "${args[@]}")"
-        ref_urls+=("$url")
-    done
-
-    if [[ ${#ref_urls[@]} -eq 0 ]]; then
-        local -a args=()
-        args=("${common[@]}")
-
-        local url="$stem"
-        url+="$(join_by '+' "${args[@]}")"
-        ref_urls+=("$url")
-    fi
-
-    # --debug)  declare -g -i debug=1 ;;
-    # --search) declare -g -i search=1 ;;
-    # --wip)    declare -g -i status_is_open=1 ;;
-
-    return
-}
-
-## -----------------------------------------------------------------------
 ## Intent: Iterate over --admin values and generate repositories
 ## -----------------------------------------------------------------------
 function gen_admin_urls()
@@ -294,11 +248,30 @@
             ;;
 
         ## Modes
+        --age) # https://gerrit-review.googlesource.com/Documentation/user-search.html
+            arg="$1"; shift
+            add_filter_age "$arg"
+            ;;
+
+        ## FMT: 2006-01-02[ 15:04:05[.890][ -0700]]; 
+        --after|--since) # https://gerrit-review.googlesource.com/Documentation/user-search.html            
+            arg="$1"; shift
+            add_filter_after "$arg"
+            ;;
+
+        ## FMT: 2006-01-02[ 15:04:05[.890][ -0700]]; 
+        --before) # https://gerrit-review.googlesource.com/Documentation/user-search.html            
+            arg="$1"; shift
+            add_filter_before "$arg"
+            ;;
+
+        ## Modes
         --debug)
             # shellcheck disable=SC2034
             declare -g -i argv_debug=1
             declare -g -i debug=1
             ;;
+
         --search) declare -g -i argv_search=1 ;;
 
         --me)
diff --git a/gerrit/gerrit/do/search.sh b/gerrit/gerrit/do/search.sh
index d2fbf28..0c92574 100644
--- a/gerrit/gerrit/do/search.sh
+++ b/gerrit/gerrit/do/search.sh
@@ -43,15 +43,20 @@
         args+=("project:${repo}")
         args+=("${common[@]}")
 
+        apply_filter_age args
+
         local url="$stem"
         url+="$(join_by '+' "${args[@]}")"
         ref_urls+=("$url")
     done
 
+    # https://gerrit.opencord.org/q/status:open+after:%222024-04-24%22
     if [[ ${#ref_urls[@]} -eq 0 ]]; then
         local -a args=()
         args=("${common[@]}")
 
+        apply_filter_age args
+        
         local url="$stem"
         url+="$(join_by '+' "${args[@]}")"
         ref_urls+=("$url")
diff --git a/gerrit/gerrit/filters/age.sh b/gerrit/gerrit/filters/age.sh
new file mode 100644
index 0000000..d8376a7
--- /dev/null
+++ b/gerrit/gerrit/filters/age.sh
@@ -0,0 +1,85 @@
+#!/bin/bash
+# -----------------------------------------------------------------------
+# Copyright 2024 Open Networking Foundation Contributors
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http:#www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# -----------------------------------------------------------------------
+# SPDX-FileCopyrightText: 2024 Open Networking Foundation Contributors
+# SPDX-License-Identifier: Apache-2.0
+# -----------------------------------------------------------------------
+
+## -----------------------------------------------------------------------
+## Intent: Update gerrit query to filter based on age
+## -----------------------------------------------------------------------
+function add_filter_age()
+{
+    local val="$1"; shift
+
+    case "$val" in
+        *y|*year*) ;;     # 1 y[ear(s)]
+        *m|*mon*)  ;;     # 1 m[onth(s)]
+        *d|*day*)  ;;     # 1 d[ay(s)]
+        *h|*hour*) ;;     # 1 h[our(s)]
+        *) error "--age [$val] is invalid" ;;
+    esac
+
+    [[ -v argv_age ]] && { error '--age: detected multiple switches'; }
+    declare -g -a argv_age=("$age")
+    return
+}
+
+## -----------------------------------------------------------------------
+## Intent: Update gerrit query to filter based on created after date
+## FMT: 2006-01-02[ 15:04:05[.890][ -0700]]; 
+## -----------------------------------------------------------------------
+function add_filter_after()
+{
+    local val="$1"; shift
+ 
+    [[ -v argv_after ]] && { error '--after: detected multiple switches'; }
+    declare -g -a argv_after=("$arg")
+    return
+}
+
+## -----------------------------------------------------------------------
+## Intent: Update gerrit query to filter based on created before date
+## FMT: 2006-01-02[ 15:04:05[.890][ -0700]]; 
+## -----------------------------------------------------------------------
+function add_filter_before()
+{
+    local val="$1"; shift
+ 
+    [[ -v argv_before ]] && { error '--before: detected multiple switches'; }
+    declare -g -a argv_before=("$arg")
+    return
+}
+
+## -----------------------------------------------------------------------
+## Intent: Merge status attributes into a URL query
+## -----------------------------------------------------------------------
+function apply_filter_age()
+{
+    local -n ref=$1; shift
+
+    [[ -v argv_age ]]    && { ref+=("age:\"${argv_age[@]}\""); }
+
+    [[ -v argv_after ]]  && { ref+=("after:\"${argv_after}\""); }
+    [[ -v argv_before ]] && { ref+=("before:\"${argv_before}\""); }
+
+    :
+    return
+}
+
+: # ($?==0) for source script
+
+# [EOF]
diff --git a/gerrit/gerrit/filters/include.sh b/gerrit/gerrit/filters/include.sh
index 34c84ea..ca67f2c 100644
--- a/gerrit/gerrit/filters/include.sh
+++ b/gerrit/gerrit/filters/include.sh
@@ -21,6 +21,7 @@
 ##--------------------##
 ##---]  INCLUDES  [---##
 ##--------------------##
+source "${libdir}/filters/age.sh"
 source "${libdir}/filters/status.sh"
 source "${libdir}/filters/reviewers.sh"
 
diff --git a/gerrit/gerrit/usage/main.sh b/gerrit/gerrit/usage/main.sh
index 7a9f4ed..caceadc 100644
--- a/gerrit/gerrit/usage/main.sh
+++ b/gerrit/gerrit/usage/main.sh
@@ -66,11 +66,14 @@
     v2.3.3           View a tag
 
 [REVIEW]
-  --review         Load pending code review requests
-  --review --me    Load only my pending requests
-  --reviewer       Load reviews by user
+  --review           Load pending code review requests
+  --review --me      Load only my pending requests
+  --reviewer         Load reviews by user
 
 [FILTER(s)]
+  --age
+  --before           Change time modified before (alias: --until)
+  --after            Change time modified after  (alias: --since)
   --status [s]       Filter query results by status={open,merged,closed}
     s=open (is:open)
     s=merged
@@ -82,16 +85,20 @@
 
 
 [USAGE]
-  % gerrit.sh --wip
-      Display unmerged patches
 
-  % gerrit.sh --wip --me
-      Display my unmerged patches
+  # Display my unmerged patches
+    % gerrit.sh --wip
+
+  # Display my unmerged patches
+    % gerrit.sh --wip --me
 
   % gerrit.sh --repo voltha-go --admin tags --admin branches
 
-  ## Search for umerged patches in repo:voltha-go
-  % gerrit.sh --repo voltha-go --search --wip
+  # Search for umerged patches in repo:voltha-go
+    % gerrit.sh --repo voltha-go --search --wip
+
+  # Display new patches created since 'yesterday'
+     % gerrit.sh --wip --since '2024-04-24'
 
 [HELP: Extended]
   --help-status
diff --git a/jenkins/bin/jenkins.sh b/jenkins/bin/jenkins.sh
index 29c8f51..47f7b49 100755
--- a/jenkins/bin/jenkins.sh
+++ b/jenkins/bin/jenkins.sh
@@ -74,11 +74,15 @@
             esac
             ;;
 
-        *)
-            arg="$1"; shift
+        -*)
+            shopt -s extglob # ON
+            arg="${arg##+(-)}" # remove switch prefix
+            shopt -u extglob # OFF
             search+=("$arg")
             declare -g -i argv_search=1
             ;;
+
+        *) error "Detected invalid argument [$arg]" ;;
     esac
 done
 
diff --git a/jira/README.md b/jira/README.md
index 05cbd08..ff616d8 100644
--- a/jira/README.md
+++ b/jira/README.md
@@ -1,34 +1,27 @@
-# jira-search
+jira-search
+===========
 
 A script for constructing jira JCL queries
 
 ```bash
 % git clone ssh://gerrit.opencord.org/onf-scripts
-
-# Checkout git submodules
-% make -C onf-scripts
-
 % cd onf-scripts/jira/bin
+
 % ./jira-search.sh –help
 ```
 
-## Conditional Search
+Conditional Searches
+====================
 
-```bash
-% jira-search.sh --server opencord --unresolved ({search-by-flags})
-```
+| Jira | Command | Description |
+| ---- | ------- | ----------- |
+| [x](https://jira.opencord.org/browse/VOL-5287?jql=component%20IN%20(bbsim)%20AND%20(resolved%20IS%20EMPTY)) | ./jira-search.sh -–opencord –-unresolved –-component bbsim | Search for unresolved tickets with a component of bbsim |
+| [x](https://jira.opencord.org/browse/VOL-5220?jql=(labels%20IN%20(bbsim))%20AND%20(resolved%20IS%20EMPTY)) | ./jira-search.sh -–opencord -–unresolved -–label bbsim | Search for unresolved tickets with 'bbsim' mentioned in the label field. |
+| [x](https://jira.opencord.org/browse/VOL-5118?jql=(text%20~%20"bbsim")%20AND%20(resolved%20IS%20EMPTY)) | ./jira-search.sh -–opencord -–unresolved -–text bbsim | Search for unresolved tickets with 'bbsim' mentioned in the description |
+| [x](https://jira.opencord.org/browse/VOL-5293?jql=component%20IN%20(onos%2Cbbsim)%20AND%20(resolved%20IS%20EMPTY)) | ./jira-search.sh -–opencord -–component onos -–component bbsim | Switches can be combined but construction logic still needs work.  Query will be loaded into a browser and can be manually cleaned up. |
 
-### Search Switches
-
-| Jira | Switches | Description |
-| ---- | -------- | ----------- |
-| [x](https://jira.opencord.org/browse/VOL-5287?jql=component%20IN%20(bbsim)%20AND%20(resolved%20IS%20EMPTY)) | –-component bbsim | Search for records with component type bbsim |
-| [x](https://jira.opencord.org/browse/VOL-5220?jql=(labels%20IN%20(bbsim))%20AND%20(resolved%20IS%20EMPTY)) | -–label bbsim | Search label field for string |
-| [x](https://jira.opencord.org/browse/VOL-5118?jql=(text%20~%20"bbsim")%20AND%20(resolved%20IS%20EMPTY)) | -–text bbsim | Search ticket description for string |
-| [x](https://jira.opencord.org/browse/VOL-5293?jql=component%20IN%20(onos%2Cbbsim)%20AND%20(resolved%20IS%20EMPTY)) | -–component onos -–component bbsim | WIP Query for two component types.<br>Manual cleanup of JCL query needed|
-
-
-## Help
+Help
+====
 
 | Command | Description |
 | ------- | ----------- |
@@ -37,4 +30,3 @@
 | ./jira-search.sh --usage-resolved | Display use cases for resolved based searches |
 | ./jira-search.sh --help-user | Display assigned, requested-by or 'my' jira tickets' |
 
-# See Also
