diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index b551e45..f328d39 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -53,7 +53,7 @@
           - os: macos-12
             xcode: '13.4'
           - os: macos-12
-            xcode: '14.1'
+            xcode: '14.2'
     steps:
       - name: Set up Xcode
         uses: maxim-lobanov/setup-xcode@v1
diff --git a/.jenkins.d/00-deps.sh b/.jenkins.d/00-deps.sh
index e42b286..b78b899 100755
--- a/.jenkins.d/00-deps.sh
+++ b/.jenkins.d/00-deps.sh
@@ -20,7 +20,7 @@
 
 if [[ $ID == macos ]]; then
     if [[ -n $GITHUB_ACTIONS ]]; then
-        export HOMEBREW_NO_INSTALL_UPGRADE=1
+        export HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK=1
     fi
     brew update
     brew install --formula "${FORMULAE[@]}"
diff --git a/.waf-tools/default-compiler-flags.py b/.waf-tools/default-compiler-flags.py
index 4debb4e..3a7bf66 100644
--- a/.waf-tools/default-compiler-flags.py
+++ b/.waf-tools/default-compiler-flags.py
@@ -145,9 +145,9 @@
         flags = super(GccBasicFlags, self).getDebugFlags(conf)
         flags['CXXFLAGS'] += ['-Og',
                               '-g3',
-                              '-pedantic',
                               '-Wall',
                               '-Wextra',
+                              '-Wpedantic',
                               '-Werror',
                               '-Wcatch-value=2',
                               '-Wextra-semi',
@@ -163,9 +163,9 @@
         flags = super(GccBasicFlags, self).getOptimizedFlags(conf)
         flags['CXXFLAGS'] += ['-O2',
                               '-g',
-                              '-pedantic',
                               '-Wall',
                               '-Wextra',
+                              '-Wpedantic',
                               '-Wcatch-value=2',
                               '-Wextra-semi',
                               '-Wnon-virtual-dtor',
diff --git a/AUTHORS.md b/AUTHORS.md
index 5201251..b90aef9 100644
--- a/AUTHORS.md
+++ b/AUTHORS.md
@@ -1,8 +1,8 @@
-# ndncert Authors
+# NDNCERT Authors
 
-The following lists maintainers, primary developers, and all much-appreciated contributors to ndncert in alphabetic order.
-The specific contributions of individual authors can be obtained from the git history of the [official ndncert repository](https://github.com/named-data/ndncert).
-If you would like to become a contributor to the official repository, please follow the recommendations in https://github.com/named-data/.github/blob/master/CONTRIBUTING.md.
+The following lists maintainers, primary developers, and all much-appreciated contributors to NDNCERT in alphabetical order.
+The specific contributions of individual authors can be obtained from the git history of the [official NDNCERT repository](https://github.com/named-data/ndncert).
+If you would like to become a contributor to the official repository, please follow the recommendations in <https://github.com/named-data/.github/blob/master/CONTRIBUTING.md>.
 
 * Alexander Afanasyev <https://users.cs.fiu.edu/~afanasyev/>
 * Ashlesh Gawande <https://www.linkedin.com/in/agawande>
@@ -15,6 +15,6 @@
 * Yufeng Zhang <https://yufengzh.io>
 * Zhiyi Zhang <https://zhiyi-zhang.com>
 
-# Technical Advisors
+## Technical Advisors
 
 * Lixia Zhang <https://web.cs.ucla.edu/~lixia>
diff --git a/COPYING.md b/COPYING.md
index 293b2c4..c91f6ca 100644
--- a/COPYING.md
+++ b/COPYING.md
@@ -14,11 +14,10 @@
 - The waf build system is licensed under the terms of the
   [BSD license](https://github.com/named-data/ndncert/blob/master/waf)
 
-
 The GPL license is provided below in this file.  For more information about
-these licenses, see https://www.gnu.org/licenses/
+these licenses, see <https://www.gnu.org/licenses/>
 
-----------------------------------------------------------------------------------
+--------------------------------------------------------------------------------
 
 ### GNU GENERAL PUBLIC LICENSE
 
diff --git a/wscript b/wscript
index f5a330e..65ffe3b 100644
--- a/wscript
+++ b/wscript
@@ -3,9 +3,8 @@
 from waflib import Utils
 import os
 
-VERSION = '0.1'
+VERSION = '0.1.0'
 APPNAME = 'ndncert'
-GIT_TAG_PREFIX = 'ndncert-'
 
 def options(opt):
     opt.load(['compiler_cxx', 'gnu_dirs'])
@@ -31,7 +30,7 @@
     conf.find_program(['pkgconf', 'pkg-config'], var='PKGCONFIG')
 
     pkg_config_path = os.environ.get('PKG_CONFIG_PATH', f'{conf.env.LIBDIR}/pkgconfig')
-    conf.check_cfg(package='libndn-cxx', args=['libndn-cxx >= 0.8.0', '--cflags', '--libs'],
+    conf.check_cfg(package='libndn-cxx', args=['libndn-cxx >= 0.8.1', '--cflags', '--libs'],
                    uselib_store='NDN_CXX', pkg_config_path=pkg_config_path)
 
     conf.check_sqlite3()
