emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master af3bbc83600: Merge from origin/emacs-30


From: Eli Zaretskii
Subject: master af3bbc83600: Merge from origin/emacs-30
Date: Sat, 28 Dec 2024 08:32:34 -0500 (EST)

branch: master
commit af3bbc83600bec6c8621e1b04437dbfdeb329106
Merge: ad5c8f25b36 2ba6387d1d6
Author: Eli Zaretskii <eliz@gnu.org>
Commit: Eli Zaretskii <eliz@gnu.org>

    Merge from origin/emacs-30
    
    2ba6387d1d6 ; Fix inaccuracy in ELisp Reference manual
    8ac6a178804 ; * etc/PROBLEMS: Mention problems with XPM support in GD...
    624322d5f6a Add missing fontification matches for elixir-ts-mode
    5bafb11b400 ; Fix copyright year
    186ea407326 Don't start docstrings with "This function" or similar
    cb8ce2e68bb Enable indent-tabs-mode in obj-c-mode
    54f35137096 Fix comment indent in 'lua-ts-mode' and old grammar
    8b95549e908 * admin/nt/dist-build/build-dep-zips.py: (deps src) handl...
    8064b2a6798 Document undocumented completion commands
    c29b798537e ; etc/w32-feature.el (harfbuzz): improve test
    0e43e35f96e * admin/nt/dist-build/emacs.nsi: (Uninstall) delete only ...
    b83cd8a8fb0 ; * etc/tutorials/TUTORIAL.ko: Fix the beginning.
    41caccc488b ; * etc/publicsuffix.txt: Update from upstream.
    e6fb18406ee ; Fix refcards
    14e791f9ba2 ; Update acknowledgments for Emacs 30
    861b7864fc4 ; Fix node name in emacs-lisp-intro.texi
    77243ba5be8 ; Update version tags of defcustoms
    fe2ac33bae8 ;* doc/misc/efaq.texi (New in Emacs 30): Mention 'trusted...
    8fb884f0dc0 ; * etc/NEWS: Fix wording.
    e281355a5e8 Improve D-Bus and Tramp manual
    
    # Conflicts:
    #       doc/emacs/emacs.texi
    #       etc/NEWS
    #       lisp/erc/erc-log.el
    #       lisp/eshell/esh-mode.el
    #       lisp/which-key.el
---
 .dir-locals.el                        |    1 +
 admin/nt/dist-build/build-dep-zips.py |  278 ++-
 admin/nt/dist-build/emacs.nsi         |   95 +-
 admin/release-process                 |   22 +-
 doc/emacs/ack.texi                    |   46 +-
 doc/emacs/emacs.texi                  |   31 +-
 doc/emacs/mini.texi                   |  104 +-
 doc/lispintro/emacs-lisp-intro.texi   |    4 +-
 doc/lispref/objects.texi              |    2 +-
 doc/misc/dbus.texi                    |    9 +-
 doc/misc/efaq.texi                    |    7 +
 doc/misc/tramp.texi                   |    9 +-
 etc/NEWS.30                           |    2 +-
 etc/PROBLEMS                          |   10 +
 etc/publicsuffix.txt                  | 3173 ++++++++++++++++-----------------
 etc/refcards/cs-refcard.tex           |    1 -
 etc/refcards/cs-survival.tex          |    3 +-
 etc/refcards/de-refcard.tex           |    1 -
 etc/refcards/fr-refcard.tex           |    1 -
 etc/refcards/fr-survival.tex          |    4 +-
 etc/refcards/pl-refcard.tex           |    2 -
 etc/refcards/pt-br-refcard.tex        |    1 -
 etc/refcards/refcard.tex              |    1 -
 etc/refcards/ru-refcard.tex           |    1 -
 etc/refcards/sk-refcard.tex           |    1 -
 etc/refcards/sk-survival.tex          |    3 +-
 etc/refcards/survival.tex             |    3 +-
 etc/tutorials/TUTORIAL.ko             |    5 +-
 etc/w32-feature.el                    |    4 +-
 lisp/editorconfig.el                  |    2 +
 lisp/erc/erc-backend.el               |    2 +-
 lisp/erc/erc-log.el                   |    4 +-
 lisp/erc/erc-track.el                 |    2 +-
 lisp/eshell/em-cmpl.el                |    3 +-
 lisp/eshell/em-smart.el               |    2 +-
 lisp/eshell/esh-ext.el                |    1 +
 lisp/eshell/esh-mode.el               |    2 +-
 lisp/gnus/gnus-art.el                 |    2 +-
 lisp/gnus/nnfeed.el                   |    1 +
 lisp/mail/supercite.el                |    2 +-
 lisp/minibuffer.el                    |   12 +-
 lisp/net/newst-ticker.el              |    1 +
 lisp/net/nsm.el                       |   21 +-
 lisp/org/org-element.el               |    2 +-
 lisp/progmodes/cc-vars.el             |    1 +
 lisp/progmodes/cperl-mode.el          |    1 +
 lisp/progmodes/eglot.el               |   18 +-
 lisp/progmodes/elixir-ts-mode.el      |    7 +-
 lisp/progmodes/flymake.el             |    5 +
 lisp/progmodes/lua-ts-mode.el         |    2 +-
 lisp/progmodes/modula2.el             |    2 +-
 lisp/progmodes/ruby-mode.el           |    1 +
 lisp/progmodes/verilog-mode.el        |    9 +
 lisp/progmodes/xscheme.el             |    8 +-
 lisp/register.el                      |    3 +-
 lisp/vc/vc-annotate.el                |    1 +
 lisp/which-key.el                     |    2 +-
 src/minibuf.c                         |    5 +
 58 files changed, 2082 insertions(+), 1866 deletions(-)

diff --git a/.dir-locals.el b/.dir-locals.el
index c74da88a811..06ebedb7a49 100644
--- a/.dir-locals.el
+++ b/.dir-locals.el
@@ -33,6 +33,7 @@
  (objc-mode . ((c-file-style . "GNU")
                (electric-quote-comment . nil)
                (electric-quote-string . nil)
+               (indent-tabs-mode . t)
               (mode . bug-reference-prog)))
  (c-ts-mode . ((c-ts-mode-indent-style . gnu))) ;Inherits `c-mode' settings.
  (log-edit-mode . ((log-edit-font-lock-gnu-style . t)
diff --git a/admin/nt/dist-build/build-dep-zips.py 
b/admin/nt/dist-build/build-dep-zips.py
index 0b1cc4d8695..9df5d6703a8 100755
--- a/admin/nt/dist-build/build-dep-zips.py
+++ b/admin/nt/dist-build/build-dep-zips.py
@@ -20,41 +20,56 @@ import argparse
 import os
 import shutil
 import re
-import functools
-import operator
+import subprocess
 
 from subprocess import check_output
 
 ## Constants
-EMACS_MAJOR_VERSION="28"
+EMACS_MAJOR_VERSION= os.getenv('EMACS_MAJOR_VERSION') or "30"
 
-# This list derives from the features we want Emacs to compile with.
+# Base URI for the package sources mapped in PKG_REQ
+SRC_REPO="https://repo.msys2.org/mingw/sources";
+
+# Map items in `dynamic-library-alist' to source pakages
 PKG_REQ='''mingw-w64-x86_64-giflib
 mingw-w64-x86_64-gnutls
 mingw-w64-x86_64-harfbuzz
+mingw-w64-x86_64-jansson
 mingw-w64-x86_64-lcms2
 mingw-w64-x86_64-libjpeg-turbo
 mingw-w64-x86_64-libpng
 mingw-w64-x86_64-librsvg
+mingw-w64-x86_64-libwebp
 mingw-w64-x86_64-libtiff
 mingw-w64-x86_64-libxml2
-mingw-w64-x86_64-xpm-nox'''.split()
-
-DLL_REQ='''libgif
-libgnutls
-libharfbuzz
-liblcms2
-libturbojpeg
-libpng
-librsvg
-libtiff
-libxml
-libXpm'''.split()
-
+mingw-w64-x86_64-gmp
+mingw-w64-x86_64-xpm-nox
+mingw-w64-x86_64-tree-sitter
+mingw-w64-x86_64-sqlite3'''.split()
+
+# Emacs style path to dependancy DLLs on build system
+DLL_SRC="c:/msys64/mingw64/bin"
+
+# libraries we never include
+DLL_SKIP=["libgccjit-0.dll"]
+
+# Report first existing file for entries in dynamic-library-alist
+# ELISP_PROG="""
+# (message "%s" (mapconcat 'identity (remove nil
+#      (mapcar (lambda(lib)
+#                (seq-find
+#                 (lambda(file)
+#                   (file-exists-p
+#                    (file-name-concat "{}"
+#                                      file)))
+#                 (cdr lib)))
+#              dynamic-library-alist)
+#      ) "\\n"))
+# """.format(DLL_SRC)
 
 ## Options
 DRY_RUN=False
-
+# NEW_EMACS="bin/emacs.exe"
 
 def check_output_maybe(*args,**kwargs):
     if(DRY_RUN):
@@ -62,31 +77,76 @@ def check_output_maybe(*args,**kwargs):
     else:
         return check_output(*args,**kwargs)
 
+####################
 ## DLL Capture
+
+# entry point
 def gather_deps():
 
     os.mkdir("x86_64")
     os.chdir("x86_64")
 
-    for dep in full_dll_dependency():
-        check_output_maybe(["cp /mingw64/bin/{}*.dll .".format(dep)],
-                           shell=True)
-
-    print("Zipping")
-    check_output_maybe("zip -9r ../emacs-{}-{}deps.zip *"
-                       .format(EMACS_MAJOR_VERSION, DATE),
-                       shell=True)
+    #full=full_dll_dependency(init_deps())
+    #filtered=filter(lambda x: x not in DLL_SKIP, full)
+    #print("full:",full.len(), " filtered:",filtered.len())
+    #exit
+
+    for dep in full_dll_dependency(init_deps()):
+        if dep not in DLL_SKIP:
+            if args.l != True:
+                print("Adding dep", dep)
+            check_output_maybe(["cp /mingw64/bin/{} .".format(dep)], 
shell=True)
+        else:
+            if args.l != True:
+                print("Skipping dep", dep)
+
+    zipfile="../emacs-{}-{}deps.zip".format(EMACS_MAJOR_VERSION, DATE)
+    tmpfile="{}.tmp".format(zipfile)
+    print("Zipping deps in", os.getcwd(), "as", tmpfile)
+    check_output_maybe("zip -9vr {} *.dll".format(tmpfile), shell=True)
+    if os.path.isfile(zipfile):
+        os.remove(zipfile)
+    os.rename(tmpfile, zipfile)
+    print("Deps updated in", os.getcwd(), "as", zipfile)
     os.chdir("../")
 
-## Return all Emacs dependencies
-def full_dll_dependency():
-    deps = [dll_dependency(dep) for dep in DLL_REQ]
-    return set(sum(deps, []) + DLL_REQ)
-
-## Dependencies for a given DLL
+# Return dependancies listed in Emacs
+def init_deps():
+    return '''libXpm-nox4.dll
+libpng16-16.dll
+libjpeg-8.dll
+libgif-7.dll
+librsvg-2-2.dll
+libwebp-7.dll
+libwebpdemux-2.dll
+libsqlite3-0.dll
+libgdk_pixbuf-2.0-0.dll
+libglib-2.0-0.dll
+libgio-2.0-0.dll
+libgobject-2.0-0.dll
+libgnutls-30.dll
+libxml2-2.dll
+zlib1.dll
+liblcms2-2.dll
+libgccjit-0.dll
+libtree-sitter.dll'''.split()
+    # job_args=[NEW_EMACS, "--batch", "--eval", ELISP_PROG]
+    # #print("args: ", job_args)
+    # return subprocess.check_output(job_args, stderr=subprocess.STDOUT
+    #                                ).decode('utf-8').splitlines()
+
+# Return all second order dependencies
+def full_dll_dependency(dlls):
+    deps = [dll_dependency(dep) for dep in dlls]
+    return set(sum(deps, []) + dlls)
+
+#xs = filter(lambda x: x.attribute == value, xs)
+
+# Dependencies for a given DLL
 def dll_dependency(dll):
     output = check_output(["/mingw64/bin/ntldd", "--recursive",
-                           "/mingw64/bin/{}*.dll".format(dll)]).decode("utf-8")
+                           "/mingw64/bin/{}".format(dll)]
+                          ).decode("utf-8")
     ## munge output
     return ntldd_munge(output)
 
@@ -101,9 +161,8 @@ def ntldd_munge(out):
 
         ## if it's the former, we want it, if its the later we don't
         splt = dep.split()
-        if len(splt) > 2 and "msys64" in splt[2]:
-            print("Adding dep", splt[0])
-            rtn.append(splt[0].split(".")[0])
+        if len(splt) > 2 and "mingw64" in splt[2]:
+            rtn.append(splt[0])
 
     return rtn
 
@@ -112,26 +171,92 @@ def ntldd_munge(out):
 ## Packages to fiddle with
 ## Source for gcc-libs is part of gcc
 SKIP_SRC_PKGS=["mingw-w64-gcc-libs"]
-SKIP_DEP_PKGS=frozenset(["mingw-w64-x86_64-glib2"])
-MUNGE_SRC_PKGS={"mingw-w64-libwinpthread-git":"mingw-w64-winpthreads-git"}
+SKIP_DEP_PKGS=["mingw-w64-glib2", "mingw-w64-ca-certificates-20211016-3"]
+MUNGE_SRC_PKGS={
+    "mingw-w64-libwinpthread-git":"mingw-w64-winpthreads-git",
+    "mingw-w64-gettext-runtime":"mingw-w64-gettext"
+}
 MUNGE_DEP_PKGS={
     "mingw-w64-x86_64-libwinpthread":"mingw-w64-x86_64-libwinpthread-git",
     "mingw-w64-x86_64-libtre": "mingw-w64-x86_64-libtre-git",
 }
+SRC_EXT={
+    "mingw-w64-freetype": ".src.tar.zst",
+    "mingw-w64-fribidi": ".src.tar.zst",
+    "mingw-w64-glib2": ".src.tar.zst",
+    "mingw-w64-harfbuzz": ".src.tar.zst",
+    "mingw-w64-libunistring": ".src.tar.zst",
+    "mingw-w64-winpthreads-git": ".src.tar.zst",
+    "mingw-w64-ca-certificates": ".src.tar.zst",
+    "mingw-w64-libxml2": ".src.tar.zst",
+    "mingw-w64-ncurses": ".src.tar.zst",
+    "mingw-w64-openssl": ".src.tar.zst",
+    "mingw-w64-pango": ".src.tar.zst",
+    "mingw-w64-python": ".src.tar.zst",
+    "mingw-w64-sqlite3": ".src.tar.zst",
+    "mingw-w64-xpm-nox": ".src.tar.zst",
+    "mingw-w64-xz": ".src.tar.zst",
+    "mingw-w64-bzip2": ".src.tar.zst",
+    "mingw-w64-cairo": ".src.tar.zst",
+    "mingw-w64-expat": ".src.tar.zst",
+    "mingw-w64-fontconfig":  ".src.tar.zst",
+    "mingw-w64-gdk-pixbuf2":  ".src.tar.zst",
+    "mingw-w64-giflib":  ".src.tar.zst",
+    "mingw-w64-gmp":  ".src.tar.zst",
+    "mingw-w64-gnutls":  ".src.tar.zst",
+    "mingw-w64-graphite2":  ".src.tar.zst",
+    "mingw-w64-jbigkit":  ".src.tar.zst",
+    "mingw-w64-lcms2":  ".src.tar.zst",
+    "mingw-w64-lerc":  ".src.tar.zst",
+    "mingw-w64-libdatrie":  ".src.tar.zst",
+    "mingw-w64-libffi":  ".src.tar.zst",
+    "mingw-w64-libiconv":  ".src.tar.zst",
+    "mingw-w64-libiconv":  ".src.tar.zst",
+    "mingw-w64-libpng":  ".src.tar.zst",
+    "mingw-w64-librsvg": ".src.tar.zst",
+    "mingw-w64-libsystre": ".src.tar.zst",
+    "mingw-w64-libtasn": ".src.tar.zst",
+    "mingw-w64-libthai": ".src.tar.zst",
+    "mingw-w64-libtiff": ".src.tar.zst",
+    "mingw-w64-libtre-git": ".src.tar.zst",
+    "mingw-w64-libwebp": ".src.tar.zst",
+    "mingw-w64-mpdecimal": ".src.tar.zst",
+    "mingw-w64-nettle": ".src.tar.zst",
+    "mingw-w64-p11-kit": ".src.tar.zst",
+    "mingw-w64-pcre": ".src.tar.zst",
+    "mingw-w64-pixman": ".src.tar.zst",
+    "mingw-w64-python-packaging": ".src.tar.zst",
+    "mingw-w64-readline": ".src.tar.zst",
+    "mingw-w64-tcl": ".src.tar.zst",
+    "mingw-w64-termcap": ".src.tar.zst",
+    "mingw-w64-tk": ".src.tar.zst",
+    "mingw-w64-tree-sitter": ".src.tar.zst",
+    "mingw-w64-tzdata": ".src.tar.zst",
+    "mingw-w64-wineditline": ".src.tar.zst",
+    "mingw-w64-zlib": ".src.tar.zst",
+    "mingw-w64-zstd": ".src.tar.zst",
+    "mingw-w64-brotli": ".src.tar.zst",
+    "mingw-w64-gettext": ".src.tar.zst",
+    "mingw-w64-libdeflate": ".src.tar.zst",
+    "mingw-w64-libidn2": ".src.tar.zst",
+    "mingw-w64-libjpeg-turbo": ".src.tar.zst",
+    "mingw-w64-libtasn1": ".src.tar.zst",
+    "mingw-w64-pcre2": ".src.tar.zst",
+}
 
 ## Currently no packages seem to require this!
 ARCH_PKGS=[]
-SRC_REPO="https://repo.msys2.org/mingw/sources";
 
+def immediate_deps(pkg):
+    package_info = check_output(["pacman", "-Si", 
pkg]).decode("utf-8").split("\n")
 
-def immediate_deps(pkgs):
-    package_info = check_output(["pacman", "-Si"] + 
pkgs).decode("utf-8").splitlines()
+    ## Extract the "Depends On" line
+    depends_on = [x for x in package_info if x.startswith("Depends On")][0]
+    ## Remove "Depends On" prefix
+    dependencies = depends_on.split(":")[1]
 
-    ## Extract the packages listed for "Depends On:" lines.
-    dependencies = [line.split(":")[1].split() for line in package_info
-                    if line.startswith("Depends On")]
-    ## Flatten dependency lists from multiple packages into one list.
-    dependencies = functools.reduce(operator.iconcat, dependencies, [])
+    ## Split into dependencies
+    dependencies = dependencies.strip().split(" ")
 
     ## Remove > signs TODO can we get any other punctuation here?
     dependencies = [d.split(">")[0] for d in dependencies if d]
@@ -147,18 +272,16 @@ def extract_deps():
     print( "Extracting deps" )
 
     # Get a list of all dependencies needed for packages mentioned above.
-    pkgs = set(PKG_REQ)
-    newdeps = pkgs
-    print("adding...")
-    while True:
-        subdeps = frozenset(immediate_deps(list(newdeps)))
-        newdeps = subdeps - SKIP_DEP_PKGS - pkgs
-        if not newdeps:
-            break
-        print('\n'.join(newdeps))
-        pkgs |= newdeps
+    pkgs = PKG_REQ[:]
+    n = 0
+    while n < len(pkgs):
+        subdeps = immediate_deps(pkgs[n])
+        for p in subdeps:
+            if not (p in pkgs or p in SKIP_DEP_PKGS):
+                pkgs.append(p)
+        n = n + 1
 
-    return list(pkgs)
+    return sorted(pkgs)
 
 
 def download_source(tarball):
@@ -206,14 +329,24 @@ def gather_source(deps):
         ## Switch names if necessary
         pkg_name = MUNGE_SRC_PKGS.get(pkg_name,pkg_name)
 
-        tarball = "{}-{}.src.tar.gz".format(pkg_name,pkg_version)
+        ## src archive is usually a .tar.gz
+        if pkg_name in SRC_EXT.keys():
+            src_ext = SRC_EXT[pkg_name]
+        else:
+            src_ext = ".src.tar.gz"
+
+        tarball = "{}-{}{}".format(pkg_name,pkg_version,src_ext)
 
         download_source(tarball)
 
-    print("Zipping")
-    check_output_maybe("zip -9 ../emacs-{}-{}deps-mingw-w64-src.zip *"
-                       .format(EMACS_MAJOR_VERSION,DATE),
-                       shell=True)
+    
srczip="../emacs-{}-{}deps-mingw-w64-src.zip".format(EMACS_MAJOR_VERSION,DATE)
+    tmpzip="{}.tmp".format(srczip)
+    print("Zipping Dsrc in", os.getcwd(), "as", tmpzip)
+    check_output_maybe("zip -9 {} *".format(tmpzip), shell=True)
+    if os.path.isfile(srczip):
+        os.remove(srczip)
+    os.rename(tmpzip, srczip)
+    print("Dsrc updated in", os.getcwd(), "as", srczip)
 
     os.chdir("..")
 
@@ -231,6 +364,9 @@ if(os.environ["MSYSTEM"] != "MSYS"):
 
 
 parser = argparse.ArgumentParser()
+
+#parser.add_argument("emacs", help="emacs executable")
+
 parser.add_argument("-s", help="snapshot build",
                     action="store_true")
 
@@ -243,19 +379,29 @@ parser.add_argument("-c", help="clean only",
 parser.add_argument("-d", help="dry run",
                     action="store_true")
 
-parser.add_argument("-l", help="list dependencies only",
+parser.add_argument("-l", help="list dependencies",
+                    action="store_true")
+
+parser.add_argument("-e", help="extract direct dependancies",
                     action="store_true")
 
 args = parser.parse_args()
 do_all=not (args.c or args.r)
 
-
+#NEW_EMACS=args.emacs
 
 DRY_RUN=args.d
 
+if( args.e ):
+    print("\n".join(init_deps()))
+
 if( args.l ):
-    print("List of dependencies")
-    print( deps )
+    print("List of dependencies:")
+    print(full_dll_dependency(init_deps()))
+    print("List of source packages:")
+    print( extract_deps() )
+
+if( args.e or args.l ):
     exit(0)
 
 if args.s:
diff --git a/admin/nt/dist-build/emacs.nsi b/admin/nt/dist-build/emacs.nsi
index 557bb106dde..b8226d69423 100644
--- a/admin/nt/dist-build/emacs.nsi
+++ b/admin/nt/dist-build/emacs.nsi
@@ -8,7 +8,10 @@ Outfile "emacs-${OUT_VERSION}-installer.exe"
 SetCompressor /solid lzma
 
 Var StartMenuFolder
+Var UninstallerPath
 
+!define UNINST_KEY \
+    
"Software\Microsoft\Windows\CurrentVersion\Uninstall\emacs-${VERSION_BRANCH}"
 
 !define MUI_WELCOMEPAGE_TITLE "Emacs"
 !define MUI_WELCOMEPAGE_TITLE_3LINES
@@ -20,16 +23,27 @@ Var StartMenuFolder
 
 !insertmacro MUI_PAGE_WELCOME
 
-
-!define MUI_LICENSEPAGE_TEXT_TOP "The GNU General Public License"
+# licensing/about click-though page
+!define MUI_PAGE_HEADER_TEXT "Emacs is Free Software"
+!define MUI_PAGE_HEADER_SUBTEXT "A component of the GNU operating system."
+!define MUI_LICENSEPAGE_TEXT_TOP "This program is free software."
+!define MUI_LICENSEPAGE_TEXT_BOTTOM "You can redistribute this program and/or 
modify it under the terms of the GNU General Public License as published by the 
Free Software Foundation, either version 3 of the License (as above), or (at 
your option) any later version."
+!define MUI_LICENSEPAGE_BUTTON "OK"
 !insertmacro MUI_PAGE_LICENSE 
"emacs-${VERSION_BRANCH}\share\emacs\${EMACS_VERSION}\lisp\COPYING"
 
+# user option page: installation path
 !insertmacro MUI_PAGE_DIRECTORY
-!insertmacro MUI_PAGE_INSTFILES
 
+# user option page: start menu shortcut
 !insertmacro MUI_PAGE_STARTMENU Application $StartMenuFolder
 
+# user option confirm/begin install
+!insertmacro MUI_PAGE_INSTFILES
+
+# uninstaller confirmation/options (no options)
 !insertmacro MUI_UNPAGE_CONFIRM
+
+# uninstaller begin
 !insertmacro MUI_UNPAGE_INSTFILES
 
 !insertmacro MUI_LANGUAGE "English"
@@ -39,23 +53,35 @@ function .onInit
     StrCpy $INSTDIR "$PROGRAMFILES64\Emacs"
 functionend
 
-
+# main section logic, run after confirming installation
 Section
 
-  SetOutPath $INSTDIR
+  # insisting on installing shortcuts for "all users"
+  # might ensure uninstall can remove shortcuts we created
+  # SetShellVarContext all
 
+  # extract program files
+  SetOutPath $INSTDIR
   File /r emacs-${VERSION_BRANCH}
 
   # define uninstaller name
-  WriteUninstaller $INSTDIR\Uninstall.exe
+  StrCpy $UninstallerPath "$INSTDIR\Uninstall-${VERSION_BRANCH}.exe"
+
+  # create uninstaller
+  WriteUninstaller "$UninstallerPath"
+
+  # add registry key to enable uninstall from control panel
+  WriteRegStr HKLM "${UNINST_KEY}" "DisplayName" "GNU Emacs ${VERSION_BRANCH}"
+  WriteRegStr HKLM "${UNINST_KEY}" "UninstallString" "$\"$UninstallerPath$\""
 
-  !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
   ;Create shortcuts
+  !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
   CreateDirectory "$SMPROGRAMS\$StartMenuFolder"
-  CreateShortcut "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" 
"$INSTDIR\Uninstall.exe"
-
+  CreateShortcut "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk" \
+      "$UninstallerPath"
+  CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Emacs.lnk" \
+      "$INSTDIR\emacs-${VERSION_BRANCH}\bin\runemacs.exe"
   !insertmacro MUI_STARTMENU_WRITE_END
-  CreateShortCut "$SMPROGRAMS\$StartMenuFolder\Emacs.lnk" 
"$INSTDIR\emacs-${VERSION_BRANCH}\bin\runemacs.exe"
 SectionEnd
 
 
@@ -63,15 +89,50 @@ SectionEnd
 # the section will always be named "Uninstall"
 Section "Uninstall"
 
-  # Always delete uninstaller first
-  Delete "$INSTDIR\Uninstall.exe"
+  # remove All Users shortcuts only
+  # SetShellVarContext all
+
+  # retreive/recalculate uninstaller location
+  StrCpy $UninstallerPath "$INSTDIR\Uninstall-${VERSION_BRANCH}.exe"
+
+  # remove registry key
+  DeleteRegKey HKLM "${UNINST_KEY}"
 
-  # now delete installed directory
-  RMDir /r "$INSTDIR"
-  RMDir "$INSTDIR"
+  # delete uninstaller
+  Delete "$INSTDIR\Uninstall-${VERSION_BRANCH}.exe"
 
+  # retreive/reclculate startmenu shortcuts location
   !insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuFolder
+  StrCpy $StartMenuFolder "$SMPROGRAMS\$StartMenuFolder"
+
+  # remove Start Menu Program shortcuts
+  Delete "$StartMenuFolder\Emacs.lnk"
+  Delete "$StartMenuFolder\Uninstall.lnk"
+
+  # remove empty startmenu parents up to $SMPROGRAMS
+  startMenuDeleteLoop:
+    ClearErrors
+    RMDir $StartMenuFolder
+    GetFullPathName $StartMenuFolder "$StartMenuFolder\.."
+    IfErrors startMenuDeleteLoopDone
+    StrCmp $StartMenuFolder $SMPROGRAMS startMenuDeleteLoopDone 
startMenuDeleteLoop
+
+  # we're basically using GOTO, above, so we should get here..
+  startMenuDeleteLoopDone:
+
+  # next we remove stuff from program-files/instalation path
+  # start with recursive delete of the Emacs we installed
+  RMDir /r "$INSTDIR\emacs-${VERSION_BRANCH}"
+
+  # now walk parents of installation directory, deleting if empty
+  instDirDeleteLoop:
+    ClearErrors
+    RMDir $INSTDIR
+    GetFullPathName $INSTDIR "$INSTDIR\.."
+    IfErrors instDirDeleteLoopDone
+    StrCmp $INSTDIR $PROGRAMFILES64 instDirDeleteLoopDone instDirDeleteLoop
+
+  # final clean-up (after removing from startmenu and progfiles)
+  instDirDeleteLoopDone:
 
-  Delete "$SMPROGRAMS\$StartMenuFolder\Uninstall.lnk"
-  RMDir "$SMPROGRAMS\$StartMenuFolder"
 SectionEnd
diff --git a/admin/release-process b/admin/release-process
index ef698f51666..d66bc48f70d 100644
--- a/admin/release-process
+++ b/admin/release-process
@@ -93,7 +93,19 @@ documentation (or decide no updates are necessary) for those 
that aren't.
 ** For a major release, add a "New in Emacs XX" section to faq.texi.
 
 ** cusver-check from admin.el can help find new defcustoms missing
-:version tags.
+:version tags.  This asks for new and old Lisp directories; use the one
+in the current release branch as New and the one from the last released
+Emacs version as Old.
+
+Note that this doesn't (yet) know about :package-version and
+'customize-package-emacs-version-alist', so it could produce false
+positives for packages that use :package-version.  Make sure the files
+with defcustoms that use :package-version have the appropriate
+add-to-list that determines the correspondence between package versions
+and Emacs versions.  Any changes you make in :version etc. should be
+tested by running "M-x customize-changed" after regenerating cus-load.el
+(run "make custom-deps" in the lisp/ directory) and loaddefs.el (run
+"make autoloads-force").
 
 ** Manuals
 Check for node names using problematic characters:
@@ -102,7 +114,13 @@ Sadly makeinfo does not warn about such characters.
 
 Check for major new features added since the last release (e.g. new
 lisp files), and add the relevant authors to the Acknowledgments in
-doc/emacs/ack.texi and emacs.texi.
+doc/emacs/ack.texi and emacs.texi.  To find new files, you could run a
+command such as this:
+
+  $ diff -rq emacs-NN.MM emacs-XX.YY | grep "^Only in emacs-XX"
+
+where NN.MM is the previous Emacs version, and XX.YY is the new version.
+This assumes you have the source trees of both versions available.
 
 For major releases, rewrite the "Antinews" appendix of the User Manual
 (doc/emacs/anti.texi) to describe features lost by downgrading to the
diff --git a/doc/emacs/ack.texi b/doc/emacs/ack.texi
index 3fc65476591..48aa1cd35b6 100644
--- a/doc/emacs/ack.texi
+++ b/doc/emacs/ack.texi
@@ -119,7 +119,8 @@ NeXTstep port of Emacs.
 
 @item
 Stephen Berman wrote @file{todo-mode.el} (based on the original version
-by Oliver Seidel), a package for maintaining @file{TODO} list files.
+by Oliver Seidel), a package for maintaining @file{TODO} list files.  He
+also wrote @file{visual-wrap.el} together with Stefan Monnier.
 
 @item
 Anna M. Bigatti wrote @file{cal-html.el}, which produces HTML calendars.
@@ -326,6 +327,10 @@ folders have mail waiting in them.
 @item
 Torbj@"orn Einarsson wrote @file{f90.el}, a mode for Fortran 90 files.
 
+@item
+Helmut Eller wrote @file{peg.el}, a Parsing Expression Grammars package
+for Emacs.
+
 @item
 Tsugutomo Enami co-wrote the support for international character sets.
 
@@ -354,6 +359,10 @@ Oscar Figueiredo wrote EUDC, the Emacs Unified Directory 
Client, which
 is an interface to directory servers via LDAP, CCSO PH/QI, or BBDB; and
 @file{ldap.el}, the LDAP client interface.
 
+@item
+Jared Finder implemented window tool bars in @file{window-tool-bar.el}
+and enhanced xterm mouse support in @file{xt-mouse.el}.
+
 @item
 Fred Fish wrote the support for dumping COFF executable files.
 
@@ -459,6 +468,10 @@ as well as helping to maintain Org mode (q.v.).
 Henry Guillaume wrote @file{find-file.el}, a package to visit files
 related to the currently visited file.
 
+@item
+Dmitry Gutov wrote @file{etags-regen.el}, a package for automatic
+(re)generation of @file{TAGS} files.
+
 @item
 Doug Gwyn wrote the portable @code{alloca} implementation.
 
@@ -628,6 +641,11 @@ editing the same file.  He also wrote the initial version 
of
 @file{uniquify.el}, a facility to make buffer names unique by adding
 parts of the file's name to the buffer name.
 
+@item
+Wilhelm H Kirschbaum wrote @file{elixir-ts-mode.el} and
+@file{heex-ts-mode.el}, Emacs major modes for editing Elixir and Heex
+files.
+
 @item
 Peter Kleiweg wrote @file{ps-mode.el}, a mode for editing PostScript
 files and running a PostScript interpreter interactively from within
@@ -880,12 +898,18 @@ indentation engine; and @file{pcase.el}, implementing 
ML-style pattern
 matching.  In Emacs 24, he integrated the lexical binding code,
 cleaned up the CL namespace (making it acceptable to use CL
 functions at runtime), added generalized variables to core Emacs
-Lisp, and implemented a new lightweight advice mechanism.
+Lisp, and implemented a new lightweight advice mechanism.  He also wrote
+@file{track-changes.el}, a library which accumulates changes in a buffer
+until some client Lisp program wants to consume those changes.
 
 @item
 Morioka Tomohiko wrote several packages for MIME support in Gnus and
 elsewhere.
 
+@item
+John Muhl wrote @file{lua-ts-mode.el}, an Emacs mode for editing Lua
+programs.
+
 @item
 Sen Nagata wrote @file{crm.el}, a package for reading multiple strings
 with completion, and @file{rfc2368.el}, support for @code{mailto:}
@@ -1033,6 +1057,10 @@ He also expanded and redesigned the @code{etags} program.
 Michael D. Prange and Steven A. Wood wrote @file{fortran.el}, a mode
 for editing Fortran code.
 
+@item
+Vincenzo Pupillo wrote @code{php-ts-mode.el}, a major mode for editing
+PHP programs.
+
 @item
 Ashwin Ram wrote @file{refer.el}, commands to look up references in
 bibliography files by keyword.
@@ -1161,6 +1189,10 @@ wrote parts of the IRC client ERC (q.v.).
 @item
 Randal Schwartz wrote @file{pp.el}, a pretty-printer for lisp objects.
 
+@item
+Daniel Semyonov write @file{nnatom.el}, the Atom backend for Gnus, and
+@file{nnfeed.el}, a generic feed backend for Gnus.
+
 @item
 Manuel Serrano wrote the Flyspell package, which does spell checking
 as you type.
@@ -1286,6 +1318,10 @@ which completes the partial word before point, based on 
other nearby
 words for which it is a prefix.  He also wrote the original dumping
 support.
 
+@item
+Theodor Thornhill wrote @file{html-ts-mode.el}, a major mode based on
+the tree-sitter library for editing HTML files.
+
 @item
 Toru Tomabechi contributed to Tibetan support.
 
@@ -1419,6 +1455,12 @@ merging two versions of a file.
 Francis J. Wright wrote @file{woman.el}, a package for browsing
 manual pages without the @code{man} command.
 
+@item
+Po Lu ported Emacs to Android, and wrote
+@code{pixel-scroll-precision-mode}.  He also added XInput2 support to
+Emacs, implemented touchpad commands in @file{touch-screen.el}, and
+extended drag-n-drop support.
+
 @item
 Masatake Yamato wrote @file{ld-script.el}, an editing mode for GNU
 linker scripts, and contributed subword handling and style
diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi
index 634788392d2..c282a8741a1 100644
--- a/doc/emacs/emacs.texi
+++ b/doc/emacs/emacs.texi
@@ -1465,10 +1465,10 @@ Dershowitz, Dave Detlefs, Matthieu Devin, Christophe de 
Dinechin, Eri
 Ding, Jan Dj@"arv, Lawrence R. Dodd, Carsten Dominik, Scott Draves,
 Benjamin Drieu, Viktor Dukhovni, Jacques Duthen, Dmitry Dzhus, John
 Eaton, Rolf Ebert, Carl Edman, David Edmondson, Paul Eggert, Stephen
-Eglen, Christian Egli, Torbj@"orn Einarsson, Tsugutomo Enami, David
-Engster, Hans Henrik Eriksen, Michael Ernst, Ata Etemadi, Frederick
-Farnbach, Oscar Figueiredo, Fred Fish, Steve Fisk, Thomas Fitzsimmons, Karl 
Fogel, Gary
-Foster, Eric S. Fraga, Romain Francoise, Noah Friedman, Andreas
+Eglen, Christian Egli, Torbj@"orn Einarsson, Helmut Eller, Tsugutomo
+Enami, David Engster, Hans Henrik Eriksen, Michael Ernst, Ata Etemadi, 
Frederick
+Farnbach, Oscar Figueiredo, Jared Finder, Fred Fish, Steve Fisk, Thomas 
Fitzsimmons,
+Karl Fogel, Gary Foster, Eric S. Fraga, Romain Francoise, Noah Friedman, 
Andreas
 Fuchs, Shigeru Fukaya, Xue Fuqiao, Hallvard Furuseth, Keith Gabryelski, Peter 
S.
 Galbraith, Kevin Gallagher, Fabi@'an E. Gallina, Kevin Gallo, Juan Le@'en 
Lahoz Garc@'ia,
 Howard Gayle, Daniel German, Stephen Gildea, Julien Gilles, David
@@ -1486,8 +1486,9 @@ Thorsten Jolitz, Michael K. Johnson, Kyle Jones, Terry 
Jones, Simon
 Josefsson, Alexandre Julliard, Arne J@o{}rgensen, Tomoji Kagatani,
 Brewster Kahle, Tokuya Kameshima, Lute Kamstra, Stefan Kangas, Ivan Kanis, 
David
 Kastrup, David Kaufman, Henry Kautz, Taichi Kawabata, Taro Kawagishi,
-Howard Kaye, Michael Kifer, Richard King, Peter Kleiweg, Karel
-Kl@'i@v{c}, Shuhei Kobayashi, Pavel Kobyakov, Larry K. Kolodney, David
+Howard Kaye, Michael Kifer, Richard King, Wilhelm Kirschbaum, Peter Kleiweg,
+Karel Kl@'i@v{c}, Shuhei Kobayashi, Pavel Kobyakov, Larry K. Kolodney, David
+Howard Kaye, Michael Kifer, Richard King, Peter Kleiweg,
 M. Koppelman, Koseki Yoshinori, Robert Krawitz, Sebastian Kremer,
 Ryszard Kubiak, Tak Kunihiro, Igor Kuzmin, David K@aa{}gedal, Daniel 
LaLiberte, Karl
 Landstrom, Mario Lang, Aaron Larson, James R. Larus, Gemini Lasswell, Vinicius 
Jose
@@ -1502,7 +1503,7 @@ Yukihiro Matsumoto, Tomohiro Matsuyama, David Maus, 
Thomas May, Will Mengarini,
 Megginson, Jimmy Aguilar Mena, Stefan Merten, Ben A. Mesander, Wayne Mesard, 
Brad
 Miller, Lawrence Mitchell, Richard Mlynarik, Gerd M@"ollmann, Dani Moncayo, 
Stefan
 Monnier, Keith Moore, Jan Moringen, Morioka Tomohiko, Glenn Morris,
-Don Morrison, Diane Murray, Riccardo Murri, Sen Nagata, Erik Naggum,
+Don Morrison, John Muhl, Diane Murray, Riccardo Murri, Sen Nagata, Erik Naggum,
 Gergely Nagy, Nobuyoshi Nakada, Thomas Neumann, Mike Newton, Thien-Thi Nguyen,
 Jurgen Nickelsen, Dan Nicolaescu, Hrvoje Nik@v{s}i@'c, Jeff Norden,
 Andrew Norman, Theresa O'Connor, Kentaro Ohkouchi, Christian Ohler,
@@ -1512,8 +1513,8 @@ Jeff Peck, Damon Anton Permezel, Tom Perrine, William M. 
Perry, Per
 Persson, Jens Petersen, Nicolas Petton, Daniel Pfeiffer, Justus Piater, 
Richard L.
 Pieri, Fred Pierresteguy, Fran@,{c}ois Pinard, Daniel Pittman, Christian
 Plaunt, Alexander Pohoyda, David Ponce, Noam Postavsky, Francesco A. Potort@`i,
-Michael D. Prange, Mukesh Prasad, Steve Purcell, Ken Raeburn, Marko Rahamaa, 
Ashwin
-Ram, Eric S. Raymond, Paul Reilly, Edward M. Reingold, David
+Michael D. Prange, Mukesh Prasad, Steve Purcell, Vincenzo Pupillo, Ken Raeburn,
+Marko Rahamaa, Ashwin Ram, Eric S. Raymond, Paul Reilly, Edward M. Reingold, 
David
 Reitter, Alex Rezinsky, Rob Riepel, Lara Rios, Adrian Robert, Nick
 Roberts, Roland B. Roberts, John Robinson, Denis B. Roegel, Danny
 Roozendaal, Sebastian Rose, William Rosenblatt, Markus Rost, Guillermo
@@ -1523,9 +1524,9 @@ Timo Savola, Jorgen Sch@"afer, Holger Schauer, William 
Schelter, Ralph
 Schleicher, Gregor Schmid, Michael Schmidt, Ronald S. Schnell,
 Philippe Schnoebelen, Jan Schormann, Alex Schroeder, Stefan Schoef,
 Rainer Sch@"opf, Raymond Scholz, Eric Schulte, Andreas Schwab, Randal
-Schwartz, Oliver Seidel, Manuel Serrano, Paul Sexton, Hovav Shacham,
-Stanislav Shalunov, Marc Shapiro, Richard Sharman, Olin Shivers, Tibor
-@v{S}imko, Espen Skoglund, Rick Sladkey, Lynn Slater, Chris Smith,
+Schwartz, Oliver Seidel, Daniel Semyonov, Manuel Serrano, Paul Sexton,
+Hovav Shacham, Stanislav Shalunov, Marc Shapiro, Richard Sharman, Olin
+Shivers, Tibor @v{S}imko, Espen Skoglund, Rick Sladkey, Lynn Slater, Chris 
Smith,
 David Smith, JD Smith, Paul D. Smith, Wilson Snyder, William Sommerfeld, Simon
 South, Andre Spiegel, Michael Staats, Thomas Steffen, Ulf Stegemann,
 Reiner Steib, Sam Steingold, Ake Stenhoff, Philipp Stephani, Peter Stephenson, 
Ken
@@ -1533,15 +1534,15 @@ Stevens, Andy Stewart, Jonathan Stigelman, Martin 
Stjernholm, Kim F.
 Storm, Steve Strassmann, Christopher Suckling, Olaf Sylvester, Naoto
 Takahashi, Steven Tamm, Jan Tatarik, Jo@~ao T@'avora, Luc Teirlinck,
 Jean-Philippe Theberge, Jens T.@: Berger Thielemann, Spencer Thomas,
-Jim Thompson, Toru Tomabechi, David O'Toole, Markus Triska, Tom Tromey, Eli
-Tziperman, Daiki Ueno, Masanobu Umeda, Rajesh Vaidheeswarran, Neil
+Jim Thompson, Theodor Thornhill, Toru Tomabechi, David O'Toole, Markus Triska,
+Tom Tromey, Eli Tziperman, Daiki Ueno, Masanobu Umeda, Rajesh Vaidheeswarran, 
Neil
 W. Van Dyke, Didier Verna, Joakim Verona, Ulrik Vieth, Geoffrey
 Voelker, Johan Vromans, Inge Wallin, John Paul Wallington, Colin
 Walters, Barry Warsaw, Christoph Wedler, Ilja Weis, Zhang Weize,
 Morten Welinder, Joseph Brian Wells, Rodney Whitby, John Wiegley,
 Sascha Wilde, Ed Wilkinson, Mike Williams, Roland Winkler, Bill
 Wohler, Steven A. Wood, Dale R. Worley, Francis J. Wright, Felix
-S. T. Wu, Tom Wurgler, Yamamoto Mitsuharu, Katsumi Yamaoka,
+S. T. Wu, Tom Wurgler, Yamamoto Mitsuharu, Po Lu, Katsumi Yamaoka,
 Masatake Yamato, Jonathan Yavner, Ryan Yeske, Ilya Zakharevich, Milan
 Zamazal, Victor Zandy, Eli Zaretskii, Jamie Zawinski, Andrew Zhilin,
 Shenghuo Zhu, Piotr Zieli@'nski, Ian T. Zimmermann, Reto Zimmermann,
diff --git a/doc/emacs/mini.texi b/doc/emacs/mini.texi
index 8e0d58d0f7c..84ff76017fe 100644
--- a/doc/emacs/mini.texi
+++ b/doc/emacs/mini.texi
@@ -342,18 +342,44 @@ when completion is allowed.
 @table @kbd
 @item @key{TAB}
 Complete the text in the minibuffer as much as possible; if unable to
-complete, display a list of possible completions
-(@code{minibuffer-complete}).
+complete, display a list of possible completions.
 @item @key{SPC}
-Complete up to one word from the minibuffer text before point
-(@code{minibuffer-complete-word}).  This command is not available for
-arguments that often include spaces, such as file names.
+Complete up to one word from the minibuffer text before point.
+@item C-x @key{UP}
+Complete the text in the minibuffer using minibuffer history.
+@item C-x @key{DOWN}
+Complete the text in the minibuffer using minibuffer defaults.
 @item @key{RET}
 Submit the text in the minibuffer as the argument, possibly completing
-first (@code{minibuffer-complete-and-exit}).  @xref{Completion Exit}.
+first.  @xref{Completion Exit}.
 @item ?
 Display a list of completions and a few useful key bindings
 (@code{minibuffer-completion-help}).
+@item M-@key{DOWN}
+@itemx M-@key{UP}
+Navigate through list of completions.
+@item M-v
+@itemx M-g M-c
+@itemx @key{PageUp}
+@itemx @key{prior}
+While in the minibuffer, select the window showing the completion list.
+@item @key{RET}
+In the completions buffer, choose the completion at point.
+@item mouse-1
+@itemx mouse-2
+In the completions buffer, choose the completion at mouse click.
+@item @key{TAB}
+@itemx @key{RIGHT}
+@itemx @key{n}
+In the completions buffer, move to the following completion candidate.
+@item @key{S-TAB}
+@itemx @key{LEFT}
+@itemx @key{p}
+In the completions buffer, move to the previous completion candidate.
+@item q
+Quit the completions window and switch to the minibuffer window.
+@item z
+Kill the completions buffer and delete the window showing it.
 @end table
 
 @kindex TAB @r{(completion)}
@@ -371,7 +397,8 @@ are chosen.
 @samp{auto-f} in the minibuffer and type @key{SPC}, it finds that the
 completion is @samp{auto-fill-mode}, but it only inserts @samp{ill-},
 giving @samp{auto-fill-}.  Another @key{SPC} at this point completes
-all the way to @samp{auto-fill-mode}.
+all the way to @samp{auto-fill-mode}.  This command is not available for
+arguments that often include spaces, such as file names.
 
 @kindex ? @r{(completion)}
 @cindex completion list
@@ -382,7 +409,6 @@ can display the same completion list and help with @kbd{?}
 (@code{minibuffer-completion-help}).  The following commands can be used
 with the completion list:
 
-@table @kbd
 @vindex minibuffer-completion-auto-choose
 @kindex M-DOWN
 @kindex M-UP
@@ -390,12 +416,10 @@ with the completion list:
 @findex minibuffer-next-completion
 @findex minibuffer-previous-completion
 @findex minibuffer-choose-completion
-@item M-@key{DOWN}
-@itemx M-@key{UP}
 While in the minibuffer or in the completion list buffer, @kbd{M-@key{DOWN}}
 (@code{minibuffer-next-completion} and @kbd{M-@key{UP}}
 (@code{minibuffer-previous-completion}) navigate through the
-completions and displayed in the completions buffer.  When
+completions displayed in the completions buffer.  When
 @code{minibuffer-completion-auto-choose} is non-@code{nil} (which is
 the default), using these commands also inserts the current completion
 candidate into the minibuffer.  If
@@ -407,9 +431,6 @@ M-@key{RET}} inserts the currently active candidate without 
exiting
 the minibuffer.
 
 @findex switch-to-completions
-@item M-v
-@itemx @key{PageUp}
-@itemx @key{prior}
 Typing @kbd{M-v}, while in the minibuffer, selects the window showing
 the completion list (@code{switch-to-completions}).  This paves the
 way for using the commands below.  @key{PageUp}, @key{prior} and
@@ -417,39 +438,38 @@ way for using the commands below.  @key{PageUp}, 
@key{prior} and
 ways (@pxref{Windows}).
 
 @findex choose-completion
-@item @key{RET}
-@itemx mouse-1
-@itemx mouse-2
-While in the completion list buffer, this chooses the completion at
-point (@code{choose-completion}).  With a prefix argument, @kbd{C-u
-@key{RET}} inserts the completion at point into the minibuffer, but
-doesn't exit the minibuffer---thus, you can change your mind and
-choose another candidate.
+While in the completion list buffer, @kbd{@key{RET}} chooses the completion
+candidate at point (@code{choose-completion}) and @kbd{mouse-1} and
+@kbd{mouse-2} choose the completion at mouse click.  With a prefix
+argument, @kbd{C-u @key{RET}} inserts the completion at point into the
+minibuffer, but doesn't exit the minibuffer---thus, you can change your
+mind and choose another candidate.
 
 @findex next-completion
-@item @key{TAB}
-@item @key{RIGHT}
-@item @key{n}
-While in the completion list buffer, these keys move point to the
-following completion alternative (@code{next-completion}).
-
-@findex previous-completion
-@item @key{S-TAB}
-@item @key{LEFT}
-@item @key{p}
-While in the completion list buffer, these keys move point to the
-previous completion alternative (@code{previous-completion}).
+While in the completion list buffer, you can use @kbd{@key{TAB}},
+@kbd{@key{RIGHT}}, or @kbd{n} to move point to the following completion
+candidate (@code{next-completion}).  You can also use @kbd{@key{S-TAB}},
+@kbd{@key{LEFT}}, and @kbd{p} to move point to the previous completion
+alternative (@code{previous-completion}).
+
+@findex minibuffer-complete-history
+@findex minibuffer-complete-defaults
+@kindex C-x UP @r{(completion)}
+@kindex C-x DOWN @r{(completion)}
+You can also complete using the history of minibuffer inputs for the
+command which prompted you.  @kbd{C-x @key{UP}}
+(@code{minibuffer-complete-history}) works like @kbd{@key{TAB}}, but
+completes using minibuffer history instead of the usual completion
+candidates.  A similar command @kbd{C-x @key{DOWN}}
+(@code{minibuffer-complete-defaults}) completes using the default input
+items provided by the prompting command.
 
 @findex quit-window
-@item @kbd{q}
-While in the completion list buffer, this quits the window showing it
-and selects the window showing the minibuffer (@code{quit-window}).
-
 @findex kill-current-buffer
-@item @kbd{z}
-While in the completion list buffer, kill it and delete the window
-showing it (@code{kill-current-buffer}).
-@end table
+Finally, @kbd{q} quits the window showing it and selects the window
+showing the minibuffer (@code{quit-window}), and @kbd{z} kills the
+completion buffer and delete the window showing it
+(@code{kill-current-buffer}).
 
 @vindex minibuffer-visible-completions
   If the variable @code{minibuffer-visible-completions} is customized to
diff --git a/doc/lispintro/emacs-lisp-intro.texi 
b/doc/lispintro/emacs-lisp-intro.texi
index 49916235fbf..226ffc823ed 100644
--- a/doc/lispintro/emacs-lisp-intro.texi
+++ b/doc/lispintro/emacs-lisp-intro.texi
@@ -3774,7 +3774,7 @@ elisp, The Emacs Lisp Reference Manual}.
 
 @menu
 * Lexical & Dynamic Binding Differences::
-* Lexical vs. Dynamic Binding Example::
+* Lexical vs Dynamic Binding Example::
 @end menu
 
 @node Lexical & Dynamic Binding Differences
@@ -3811,7 +3811,7 @@ on the top of the stack, and then executes the @code{let} 
body.  Once
 the @code{let} body finishes, it takes that binding off of the stack,
 revealing the one it had (if any) before the @code{let} expression.
 
-@node Lexical vs. Dynamic Binding Example
+@node Lexical vs Dynamic Binding Example
 @unnumberedsubsubsec Example of Lexical vs. Dynamic Binding
 In some cases, both lexical and dynamic binding behave identically.
 However, in other cases, they can change the meaning of your program.
diff --git a/doc/lispref/objects.texi b/doc/lispref/objects.texi
index df9c2267cc4..c782256390f 100644
--- a/doc/lispref/objects.texi
+++ b/doc/lispref/objects.texi
@@ -445,7 +445,7 @@ characters which resemble the previously mentioned 
@acronym{ASCII}
 ones, to avoid confusing people reading your code.  Emacs will
 highlight some non-escaped commonly confused characters such as
 @samp{‘} to encourage this.  You can also add a backslash before whitespace
-characters such as space, tab, newline and formfeed.  However, it is
+characters such as space and tab.  However, it is
 cleaner to use one of the easily readable escape sequences, such as
 @samp{\t} or @samp{\s}, instead of an actual whitespace character such
 as a tab or a space.  (If you do write backslash followed by a space,
diff --git a/doc/misc/dbus.texi b/doc/misc/dbus.texi
index 42fe07367b8..e852d64b71d 100644
--- a/doc/misc/dbus.texi
+++ b/doc/misc/dbus.texi
@@ -75,9 +75,12 @@ another.  An overview of D-Bus can be found at
 @cindex overview
 
 D-Bus is an inter-process communication mechanism for applications
-residing on the same host.  The communication is based on
-@dfn{messages}.  Data in the messages is carried in a structured way,
-it is not just a byte stream.
+residing on the same host.  Emacs uses it when it is compiled with the
+respective library, see configuration option @option{--with-dbus}.  At
+runtime, the form @code{(featurep 'dbusbind)} indicates D-Bus support.
+
+D-Bus communication is based on @dfn{messages}.  Data in the messages is
+carried in a structured way, it is not just a byte stream.
 
 The communication is connection oriented to two kinds of message
 buses: a so called @dfn{system bus}, and a @dfn{session bus}.  On a
diff --git a/doc/misc/efaq.texi b/doc/misc/efaq.texi
index f6362b4f075..d94f9fe90b7 100644
--- a/doc/misc/efaq.texi
+++ b/doc/misc/efaq.texi
@@ -942,6 +942,13 @@ Emacs has been ported to the Android operating system.  
See the file
 @file{java/INSTALL} in the Emacs source distribution for details on how
 to build it.
 
+@item
+New user option @code{trusted-contents} to allow potentially dangerous
+Emacs features which could execute arbitrary Lisp code.  Use this
+variable to list files and directories whose contents Emacs should
+trust, thus allowing those potentially dangerous features when those
+files are visited.
+
 @item
 Numerous performance improvements, for example in parsing JSON, reading
 data from subprocesses, handling output from Eshell and in Shell mode, X
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi
index 943f6da7b04..342511da38d 100644
--- a/doc/misc/tramp.texi
+++ b/doc/misc/tramp.texi
@@ -1407,9 +1407,12 @@ Desktop, @uref{https://en.wikipedia.org/wiki/GVFS}.  
Remote files on
 @acronym{GVFS} are mounted locally through @acronym{FUSE} and
 @value{tramp} uses this locally mounted directory internally.
 
-Emacs uses the D-Bus mechanism to communicate with @acronym{GVFS}@.
-Emacs must have the message bus system, D-Bus integration active,
-@pxref{Top, , D-Bus, dbus}.
+Emacs uses the D-Bus mechanism to communicate with @acronym{GVFS}@.  It
+must have been compiled with D-Bus support, @pxref{Top, , D-Bus, dbus}.
+
+@vindex tramp-gvfs-enabled
+The @code{tramp-gvfs-enabled} variable, being non-@code{nil}, signals
+that @value{tramp} can use @acronym{GVFS}-based methods.
 
 @table @asis
 @cindex method @option{afp}
diff --git a/etc/NEWS.30 b/etc/NEWS.30
index 61cb66387bb..5309364a513 100644
--- a/etc/NEWS.30
+++ b/etc/NEWS.30
@@ -201,7 +201,7 @@ see the variable 'url-request-extra-headers'.
 
 +++
 ** New user option 'trusted-content' to allow potentially dangerous features.
-This variable lists those files and directories whose content Emacs should
+This option lists those files and directories whose content Emacs should
 consider as sufficiently trusted to run any part of the code contained
 therein even without any explicit user request.
 For example, Flymake's backend for Emacs Lisp consults this option
diff --git a/etc/PROBLEMS b/etc/PROBLEMS
index c1745e8d18f..ef50b48273a 100644
--- a/etc/PROBLEMS
+++ b/etc/PROBLEMS
@@ -485,6 +485,16 @@ running the just-built Emacs.
 
 * General runtime problems
 
+** GTK+ problems
+
+*** Some tool-bar icons aren't displayed.
+
+This could be caused by lack of support for XPM image format in the
+installed GTK packages.  Some GNU/Linux distros no longer install
+support for those formats by default, so you might need to install
+additional support packages.  E.g., on Fedora you need to install the
+'gdk-pixbuf2-modules-extra' package.
+
 ** Lisp problems
 
 *** Changes made to .el files do not take effect.
diff --git a/etc/publicsuffix.txt b/etc/publicsuffix.txt
index 3e8f934322a..a1bc5ea6c06 100644
--- a/etc/publicsuffix.txt
+++ b/etc/publicsuffix.txt
@@ -5,6 +5,9 @@
 // Please pull this list from, and only from 
https://publicsuffix.org/list/public_suffix_list.dat,
 // rather than any other VCS sites. Pulling from any other URL is not 
guaranteed to be supported.
 
+// VERSION: 2024-12-20_13-01-30_UTC
+// COMMIT: 9e89e8b8a64027217dc22dda2e7c9dacd3d6ee6c
+
 // Instructions on pulling and using this list can be found at 
https://publicsuffix.org/list/.
 
 // ===BEGIN ICANN DOMAINS===
@@ -14,40 +17,48 @@ ac
 com.ac
 edu.ac
 gov.ac
-net.ac
 mil.ac
+net.ac
 org.ac
 
-// ad : https://en.wikipedia.org/wiki/.ad
+// ad : https://www.iana.org/domains/root/db/ad.html
+// Confirmed by Amadeu Abril i Abril (CORE) <amadeu.abril@corenic.org> 
2024-11-17
 ad
-nom.ad
 
 // ae : https://tdra.gov.ae/en/aeda/ae-policies
 ae
+ac.ae
 co.ae
+gov.ae
+mil.ae
 net.ae
 org.ae
 sch.ae
-ac.ae
-gov.ae
-mil.ae
 
-// aero : see https://www.information.aero/index.php?id=66
+// aero : https://information.aero/registration/policies/dmp
 aero
+// 2LDs
+airline.aero
+airport.aero
+// 2LDs (currently not accepting registration, seemingly never have)
+// As of 2024-07, these are marked as reserved for potential 3LD
+// registrations (clause 11 "allocated subdomains" in the 2006 TLD
+// policy), but the relevant industry partners have not opened them up
+// for registration. Current status can be determined from the TLD's
+// policy document: 2LDs that are open for registration must list
+// their policy in the TLD's policy. Any 2LD without such a policy is
+// not open for registrations.
 accident-investigation.aero
 accident-prevention.aero
 aerobatic.aero
 aeroclub.aero
 aerodrome.aero
 agents.aero
-aircraft.aero
-airline.aero
-airport.aero
 air-surveillance.aero
-airtraffic.aero
 air-traffic-control.aero
+aircraft.aero
+airtraffic.aero
 ambulance.aero
-amusement.aero
 association.aero
 author.aero
 ballooning.aero
@@ -78,6 +89,7 @@ exchange.aero
 express.aero
 federation.aero
 flight.aero
+freight.aero
 fuel.aero
 gliding.aero
 government.aero
@@ -92,6 +104,7 @@ leasing.aero
 logistics.aero
 magazine.aero
 maintenance.aero
+marketplace.aero
 media.aero
 microlight.aero
 modelling.aero
@@ -114,6 +127,7 @@ show.aero
 skydiving.aero
 software.aero
 student.aero
+taxi.aero
 trader.aero
 trading.aero
 trainer.aero
@@ -121,27 +135,27 @@ union.aero
 workinggroup.aero
 works.aero
 
-// af : http://www.nic.af/help.jsp
+// af : https://www.nic.af/domain-price
 af
-gov.af
 com.af
-org.af
-net.af
 edu.af
+gov.af
+net.af
+org.af
 
 // ag : http://www.nic.ag/prices.htm
 ag
+co.ag
 com.ag
-org.ag
 net.ag
-co.ag
 nom.ag
+org.ag
 
 // ai : http://nic.com.ai/
 ai
-off.ai
 com.ai
 net.ai
+off.ai
 org.ai
 
 // al : http://www.ert.gov.al/ert_alb/faq_det.html?Id=31
@@ -154,6 +168,7 @@ net.al
 org.al
 
 // am : https://www.amnic.net/policy/en/Policy_EN.pdf
+// Confirmed by ISOC AM <isoc@isoc.am> 2024-11-18
 am
 co.am
 com.am
@@ -161,17 +176,20 @@ commune.am
 net.am
 org.am
 
-// ao : https://en.wikipedia.org/wiki/.ao
-// http://www.dns.ao/REGISTR.DOC
+// ao : https://www.iana.org/domains/root/db/ao.html
+// https://www.dns.ao/ao/
 ao
+co.ao
 ed.ao
+edu.ao
+gov.ao
 gv.ao
+it.ao
 og.ao
-co.ao
+org.ao
 pb.ao
-it.ao
 
-// aq : https://en.wikipedia.org/wiki/.aq
+// aq : https://www.iana.org/domains/root/db/aq.html
 aq
 
 // ar : https://nic.ar/es/nic-argentina/normativa
@@ -191,45 +209,46 @@ org.ar
 senasa.ar
 tur.ar
 
-// arpa : https://en.wikipedia.org/wiki/.arpa
+// arpa : https://www.iana.org/domains/root/db/arpa.html
 // Confirmed by registry <iana-questions@icann.org> 2008-06-18
 arpa
 e164.arpa
+home.arpa
 in-addr.arpa
 ip6.arpa
 iris.arpa
 uri.arpa
 urn.arpa
 
-// as : https://en.wikipedia.org/wiki/.as
+// as : https://www.iana.org/domains/root/db/as.html
 as
 gov.as
 
-// asia : https://en.wikipedia.org/wiki/.asia
+// asia : https://www.iana.org/domains/root/db/asia.html
 asia
 
-// at : https://en.wikipedia.org/wiki/.at
+// at : https://www.iana.org/domains/root/db/at.html
 // Confirmed by registry <it@nic.at> 2008-06-17
 at
 ac.at
+sth.ac.at
 co.at
 gv.at
 or.at
-sth.ac.at
 
-// au : https://en.wikipedia.org/wiki/.au
+// au : https://www.iana.org/domains/root/db/au.html
 // http://www.auda.org.au/
+// Confirmed by registry <general@auda.org.au> 2024-11-17
 au
 // 2LDs
+asn.au
 com.au
-net.au
-org.au
 edu.au
 gov.au
-asn.au
 id.au
+net.au
+org.au
 // Historic 2LDs (closed to new registration, but sites still exist)
-info.au
 conf.au
 oz.au
 // CGDNs - http://www.cgdn.org.au/
@@ -264,27 +283,31 @@ wa.gov.au
 // education.tas.edu.au - Removed at the request of the Department of 
Education Tasmania
 schools.nsw.edu.au
 
-// aw : https://en.wikipedia.org/wiki/.aw
+// aw : https://www.iana.org/domains/root/db/aw.html
 aw
 com.aw
 
-// ax : https://en.wikipedia.org/wiki/.ax
+// ax : https://www.iana.org/domains/root/db/ax.html
 ax
 
-// az : https://en.wikipedia.org/wiki/.az
+// az : https://www.iana.org/domains/root/db/az.html
+// Confirmed via https://whois.az/?page_id=10 2024-12-11
 az
+biz.az
+co.az
 com.az
-net.az
-int.az
-gov.az
-org.az
 edu.az
+gov.az
 info.az
-pp.az
+int.az
 mil.az
 name.az
+net.az
+org.az
+pp.az
+// No longer available for registration, however domains exist as of 2024-12-11
+// see https://whois.az/?page_id=783
 pro.az
-biz.az
 
 // ba : http://nic.ba/users_data/files/pravilnik_o_registraciji.pdf
 ba
@@ -295,7 +318,7 @@ mil.ba
 net.ba
 org.ba
 
-// bb : https://en.wikipedia.org/wiki/.bb
+// bb : https://www.iana.org/domains/root/db/bb.html
 bb
 biz.bb
 co.bb
@@ -308,21 +331,31 @@ org.bb
 store.bb
 tv.bb
 
-// bd : https://en.wikipedia.org/wiki/.bd
+// bd : https://www.iana.org/domains/root/db/bd.html
 *.bd
 
-// be : https://en.wikipedia.org/wiki/.be
+// be : https://www.iana.org/domains/root/db/be.html
 // Confirmed by registry <tech@dns.be> 2008-06-08
 be
 ac.be
 
-// bf : https://en.wikipedia.org/wiki/.bf
+// bf : https://www.iana.org/domains/root/db/bf.html
 bf
 gov.bf
 
-// bg : https://en.wikipedia.org/wiki/.bg
+// bg : https://www.iana.org/domains/root/db/bg.html
 // https://www.register.bg/user/static/rules/en/index.html
 bg
+0.bg
+1.bg
+2.bg
+3.bg
+4.bg
+5.bg
+6.bg
+7.bg
+8.bg
+9.bg
 a.bg
 b.bg
 c.bg
@@ -349,26 +382,16 @@ w.bg
 x.bg
 y.bg
 z.bg
-0.bg
-1.bg
-2.bg
-3.bg
-4.bg
-5.bg
-6.bg
-7.bg
-8.bg
-9.bg
 
-// bh : https://en.wikipedia.org/wiki/.bh
+// bh : https://www.iana.org/domains/root/db/bh.html
 bh
 com.bh
 edu.bh
+gov.bh
 net.bh
 org.bh
-gov.bh
 
-// bi : https://en.wikipedia.org/wiki/.bi
+// bi : https://www.iana.org/domains/root/db/bi.html
 // http://whois.nic.bi/
 bi
 co.bi
@@ -377,7 +400,7 @@ edu.bi
 or.bi
 org.bi
 
-// biz : https://en.wikipedia.org/wiki/.biz
+// biz : https://www.iana.org/domains/root/db/biz.html
 biz
 
 // bj : https://nic.bj/bj-suffixes.txt
@@ -399,12 +422,12 @@ money.bj
 net.bj
 org.bj
 ote.bj
-resto.bj
 restaurant.bj
+resto.bj
 tourism.bj
 univ.bj
 
-// bm : http://www.bermudanic.bm/dnr-text.txt
+// bm : https://www.bermudanic.bm/domain-registration/index.php
 bm
 com.bm
 edu.bm
@@ -420,15 +443,16 @@ gov.bn
 net.bn
 org.bn
 
-// bo : https://nic.bo/delegacion2015.php#h-1.10
+// bo : https://nic.bo
+// Confirmed by registry <soporte@nic.bo> 2024-11-19
 bo
 com.bo
 edu.bo
 gob.bo
 int.bo
-org.bo
-net.bo
 mil.bo
+net.bo
+org.bo
 tv.bo
 web.bo
 // Social Domains
@@ -454,9 +478,9 @@ natural.bo
 nombre.bo
 noticias.bo
 patria.bo
+plurinacional.bo
 politica.bo
 profesional.bo
-plurinacional.bo
 pueblo.bo
 revista.bo
 salud.bo
@@ -484,6 +508,7 @@ ato.br
 b.br
 barueri.br
 belem.br
+bet.br
 bhz.br
 bib.br
 bio.br
@@ -571,6 +596,7 @@ joinville.br
 jor.br
 jus.br
 leg.br
+leilao.br
 lel.br
 log.br
 londrina.br
@@ -641,12 +667,12 @@ zlg.br
 // bs : http://www.nic.bs/rules.html
 bs
 com.bs
-net.bs
-org.bs
 edu.bs
 gov.bs
+net.bs
+org.bs
 
-// bt : https://en.wikipedia.org/wiki/.bt
+// bt : https://www.iana.org/domains/root/db/bt.html
 bt
 com.bt
 edu.bt
@@ -658,14 +684,16 @@ org.bt
 // Submitted by registry <jarle@uninett.no>
 bv
 
-// bw : https://en.wikipedia.org/wiki/.bw
-// http://www.gobin.info/domainname/bw.doc
-// list of other 2nd level tlds ?
+// bw : https://www.iana.org/domains/root/db/bw.html
+// https://nic.net.bw/bw-name-structure
 bw
+ac.bw
 co.bw
+gov.bw
+net.bw
 org.bw
 
-// by : https://en.wikipedia.org/wiki/.by
+// by : https://www.iana.org/domains/root/db/by.html
 // http://tld.by/rules_2006_en.html
 // list of other 2nd level tlds ?
 by
@@ -678,16 +706,17 @@ com.by
 // http://hoster.by/
 of.by
 
-// bz : https://en.wikipedia.org/wiki/.bz
+// bz : https://www.iana.org/domains/root/db/bz.html
 // http://www.belizenic.bz/
 bz
+co.bz
 com.bz
-net.bz
-org.bz
 edu.bz
 gov.bz
+net.bz
+org.bz
 
-// ca : https://en.wikipedia.org/wiki/.ca
+// ca : https://www.iana.org/domains/root/db/ca.html
 ca
 // ca geographical names
 ab.ca
@@ -708,46 +737,43 @@ yk.ca
 // see also: http://registry.gc.ca/en/SubdomainFAQ
 gc.ca
 
-// cat : https://en.wikipedia.org/wiki/.cat
+// cat : https://www.iana.org/domains/root/db/cat.html
 cat
 
-// cc : https://en.wikipedia.org/wiki/.cc
+// cc : https://www.iana.org/domains/root/db/cc.html
 cc
 
-// cd : https://en.wikipedia.org/wiki/.cd
-// see also: https://www.nic.cd/domain/insertDomain_2.jsp?act=1
+// cd : https://www.iana.org/domains/root/db/cd.html
+// https://www.nic.cd
 cd
 gov.cd
 
-// cf : https://en.wikipedia.org/wiki/.cf
+// cf : https://www.iana.org/domains/root/db/cf.html
 cf
 
-// cg : https://en.wikipedia.org/wiki/.cg
+// cg : https://www.iana.org/domains/root/db/cg.html
 cg
 
-// ch : https://en.wikipedia.org/wiki/.ch
+// ch : https://www.iana.org/domains/root/db/ch.html
 ch
 
-// ci : https://en.wikipedia.org/wiki/.ci
-// http://www.nic.ci/index.php?page=charte
+// ci : https://www.iana.org/domains/root/db/ci.html
 ci
-org.ci
-or.ci
-com.ci
+ac.ci
+aéroport.ci
+asso.ci
 co.ci
-edu.ci
+com.ci
 ed.ci
-ac.ci
-net.ci
+edu.ci
 go.ci
-asso.ci
-aéroport.ci
-int.ci
-presse.ci
-md.ci
 gouv.ci
+int.ci
+net.ci
+or.ci
+org.ci
 
-// ck : https://en.wikipedia.org/wiki/.ck
+// ck : https://www.iana.org/domains/root/db/ck.html
 *.ck
 !www.ck
 
@@ -759,26 +785,26 @@ gob.cl
 gov.cl
 mil.cl
 
-// cm : https://en.wikipedia.org/wiki/.cm plus bug 981927
+// cm : https://www.iana.org/domains/root/db/cm.html plus bug 981927
 cm
 co.cm
 com.cm
 gov.cm
 net.cm
 
-// cn : https://en.wikipedia.org/wiki/.cn
+// cn : https://www.iana.org/domains/root/db/cn.html
 // Submitted by registry <tanyaling@cnnic.cn>
 cn
 ac.cn
 com.cn
 edu.cn
 gov.cn
+mil.cn
 net.cn
 org.cn
-mil.cn
 公司.cn
-网络.cn
 網絡.cn
+网络.cn
 // cn geographic names
 ah.cn
 bj.cn
@@ -786,18 +812,20 @@ cq.cn
 fj.cn
 gd.cn
 gs.cn
-gz.cn
 gx.cn
+gz.cn
 ha.cn
 hb.cn
 he.cn
 hi.cn
+hk.cn
 hl.cn
 hn.cn
 jl.cn
 js.cn
 jx.cn
 ln.cn
+mo.cn
 nm.cn
 nx.cn
 qh.cn
@@ -807,38 +835,32 @@ sh.cn
 sn.cn
 sx.cn
 tj.cn
+tw.cn
 xj.cn
 xz.cn
 yn.cn
 zj.cn
-hk.cn
-mo.cn
-tw.cn
 
-// co : https://en.wikipedia.org/wiki/.co
-// Submitted by registry <tecnico@uniandes.edu.co>
+// co : https://www.iana.org/domains/root/db/co.html
+// https://www.cointernet.com.co/registra
+// https://www.cointernet.com.co/como-funciona-un-dominio-restringido
+// Confirmed by registry <gonzalo@cointernet.com.co> 2024-11-18
 co
-arts.co
 com.co
 edu.co
-firm.co
 gov.co
-info.co
-int.co
 mil.co
 net.co
 nom.co
 org.co
-rec.co
-web.co
 
-// com : https://en.wikipedia.org/wiki/.com
+// com : https://www.iana.org/domains/root/db/com.html
 com
 
-// coop : https://en.wikipedia.org/wiki/.coop
+// coop : https://www.iana.org/domains/root/db/coop.html
 coop
 
-// cr : http://www.nic.cr/niccr_publico/showRegistroDominiosScreen.do
+// cr : https://nic.cr/capitulo-1-registro-de-un-nombre-de-dominio/
 cr
 ac.cr
 co.cr
@@ -848,40 +870,45 @@ go.cr
 or.cr
 sa.cr
 
-// cu : https://en.wikipedia.org/wiki/.cu
+// cu : https://www.iana.org/domains/root/db/cu.html
 cu
 com.cu
 edu.cu
-org.cu
-net.cu
-gov.cu
+gob.cu
 inf.cu
+nat.cu
+net.cu
+org.cu
 
-// cv : https://en.wikipedia.org/wiki/.cv
-// cv : 
http://www.dns.cv/tldcv_portal/do?com=DS;5446457100;111;+PAGE(4000018)+K-CAT-CODIGO(RDOM)+RCNT(100);
 <- registration rules
+// cv : https://www.iana.org/domains/root/db/cv.html
+// https://ola.cv/domain-extensions-under-cv/
+// Confirmed by registry <support@ola.cv> 2024-11-26
 cv
 com.cv
 edu.cv
+id.cv
 int.cv
+net.cv
 nome.cv
 org.cv
+publ.cv
 
-// cw : http://www.una.cw/cw_registry/
-// Confirmed by registry <registry@una.net> 2013-03-26
+// cw : https://www.uoc.cw/cw-registry
+// Confirmed by registry <registry@uoc.cw> 2024-11-19
 cw
 com.cw
 edu.cw
 net.cw
 org.cw
 
-// cx : https://en.wikipedia.org/wiki/.cx
+// cx : https://www.iana.org/domains/root/db/cx.html
 // list of other 2nd level tlds ?
 cx
 gov.cx
 
 // cy : http://www.nic.cy/
-// Submitted by registry Panayiotou Fotia <cydns@ucy.ac.cy>
-// namespace policies URL 
https://www.nic.cy/portal//sites/default/files/symfonia_gia_eggrafi.pdf
+// Submitted by Panayiotou Fotia <cydns@ucy.ac.cy>
+// 
https://nic.cy/wp-content/uploads/2024/01/Create-Request-for-domain-name-registration-1.pdf
 cy
 ac.cy
 biz.cy
@@ -896,30 +923,33 @@ press.cy
 pro.cy
 tm.cy
 
-// cz : https://en.wikipedia.org/wiki/.cz
+// cz : https://www.iana.org/domains/root/db/cz.html
 cz
 
-// de : https://en.wikipedia.org/wiki/.de
+// de : https://www.iana.org/domains/root/db/de.html
 // Confirmed by registry <ops@denic.de> (with technical
 // reservations) 2008-07-01
 de
 
-// dj : https://en.wikipedia.org/wiki/.dj
+// dj : https://www.iana.org/domains/root/db/dj.html
 dj
 
-// dk : https://en.wikipedia.org/wiki/.dk
+// dk : https://www.iana.org/domains/root/db/dk.html
 // Confirmed by registry <robert@dk-hostmaster.dk> 2008-06-17
 dk
 
-// dm : https://en.wikipedia.org/wiki/.dm
+// dm : https://www.iana.org/domains/root/db/dm.html
+// https://nic.dm/policies/pdf/DMRulesandGuidelines2024v1.pdf
+// Confirmed by registry <admin@dotdm.dm> 2024-11-19
 dm
+co.dm
 com.dm
-net.dm
-org.dm
 edu.dm
 gov.dm
+net.dm
+org.dm
 
-// do : https://en.wikipedia.org/wiki/.do
+// do : https://www.iana.org/domains/root/db/do.html
 do
 art.do
 com.do
@@ -939,88 +969,93 @@ asso.dz
 com.dz
 edu.dz
 gov.dz
-org.dz
 net.dz
+org.dz
 pol.dz
 soc.dz
 tm.dz
 
-// ec : http://www.nic.ec/reg/paso1.asp
+// ec : https://www.nic.ec/
 // Submitted by registry <vabboud@nic.ec>
 ec
 com.ec
-info.ec
-net.ec
+edu.ec
 fin.ec
+gob.ec
+gov.ec
+info.ec
 k12.ec
 med.ec
-pro.ec
-org.ec
-edu.ec
-gov.ec
-gob.ec
 mil.ec
+net.ec
+org.ec
+pro.ec
 
-// edu : https://en.wikipedia.org/wiki/.edu
+// edu : https://www.iana.org/domains/root/db/edu.html
 edu
 
-// ee : http://www.eenet.ee/EENet/dom_reeglid.html#lisa_B
+// ee : 
https://www.internet.ee/domains/general-domains-and-procedure-for-registration-of-sub-domains-under-general-domains
 ee
+aip.ee
+com.ee
 edu.ee
+fie.ee
 gov.ee
-riik.ee
 lib.ee
 med.ee
-com.ee
-pri.ee
-aip.ee
 org.ee
-fie.ee
+pri.ee
+riik.ee
 
-// eg : https://en.wikipedia.org/wiki/.eg
+// eg : https://www.iana.org/domains/root/db/eg.html
+// https://domain.eg/en/domain-rules/subdomain-names-types/
 eg
+ac.eg
 com.eg
 edu.eg
 eun.eg
 gov.eg
+info.eg
+me.eg
 mil.eg
 name.eg
 net.eg
 org.eg
 sci.eg
+sport.eg
+tv.eg
 
-// er : https://en.wikipedia.org/wiki/.er
+// er : https://www.iana.org/domains/root/db/er.html
 *.er
 
-// es : https://www.nic.es/site_ingles/ingles/dominios/index.html
+// es : https://www.dominios.es/en
 es
 com.es
+edu.es
+gob.es
 nom.es
 org.es
-gob.es
-edu.es
 
-// et : https://en.wikipedia.org/wiki/.et
+// et : https://www.iana.org/domains/root/db/et.html
 et
+biz.et
 com.et
-gov.et
-org.et
 edu.et
-biz.et
-name.et
+gov.et
 info.et
+name.et
 net.et
+org.et
 
-// eu : https://en.wikipedia.org/wiki/.eu
+// eu : https://www.iana.org/domains/root/db/eu.html
 eu
 
-// fi : https://en.wikipedia.org/wiki/.fi
+// fi : https://www.iana.org/domains/root/db/fi.html
 fi
-// aland.fi : https://en.wikipedia.org/wiki/.ax
+// aland.fi : https://www.iana.org/domains/root/db/ax.html
 // This domain is being phased out in favor of .ax. As there are still many
 // domains under aland.fi, we still keep it on the list until aland.fi is
 // completely removed.
-// TODO: Check for updates (expected to be phased out around Q1/2009)
 aland.fi
 
 // fj : http://domains.fj/
@@ -1037,17 +1072,17 @@ net.fj
 org.fj
 pro.fj
 
-// fk : https://en.wikipedia.org/wiki/.fk
+// fk : https://www.iana.org/domains/root/db/fk.html
 *.fk
 
-// fm : https://en.wikipedia.org/wiki/.fm
+// fm : https://www.iana.org/domains/root/db/fm.html
+fm
 com.fm
 edu.fm
 net.fm
 org.fm
-fm
 
-// fo : https://en.wikipedia.org/wiki/.fo
+// fo : https://www.iana.org/domains/root/db/fo.html
 fo
 
 // fr : https://www.afnic.fr/ 
https://www.afnic.fr/wp-media/uploads/2022/12/afnic-naming-policy-2023-01-01.pdf
@@ -1064,59 +1099,60 @@ cci.fr
 greta.fr
 huissier-justice.fr
 
-// ga : https://en.wikipedia.org/wiki/.ga
+// ga : https://www.iana.org/domains/root/db/ga.html
 ga
 
 // gb : This registry is effectively dormant
 // Submitted by registry <Damien.Shaw@ja.net>
 gb
 
-// gd : https://en.wikipedia.org/wiki/.gd
+// gd : https://www.iana.org/domains/root/db/gd.html
+gd
 edu.gd
 gov.gd
-gd
 
-// ge : http://www.nic.net.ge/policy_en.pdf
+// ge : https://nic.ge/en/administrator/the-ge-domain-regulations
+// Confirmed by registry <info@nic.ge> 2024-11-20
 ge
 com.ge
 edu.ge
 gov.ge
-org.ge
-mil.ge
 net.ge
+org.ge
 pvt.ge
+school.ge
 
-// gf : https://en.wikipedia.org/wiki/.gf
+// gf : https://www.iana.org/domains/root/db/gf.html
 gf
 
-// gg : http://www.channelisles.net/register-domains/
+// gg : https://www.channelisles.net/register-1/register-direct
 // Confirmed by registry <nigel@channelisles.net> 2013-11-28
 gg
 co.gg
 net.gg
 org.gg
 
-// gh : https://en.wikipedia.org/wiki/.gh
-// see also: http://www.nic.gh/reg_now.php
+// gh : https://www.iana.org/domains/root/db/gh.html
+// https://www.nic.gh/
 // Although domains directly at second level are not possible at the moment,
 // they have been possible for some time and may come back.
 gh
 com.gh
 edu.gh
 gov.gh
-org.gh
 mil.gh
+org.gh
 
 // gi : http://www.nic.gi/rules.html
 gi
 com.gi
-ltd.gi
+edu.gi
 gov.gi
+ltd.gi
 mod.gi
-edu.gi
 org.gi
 
-// gl : https://en.wikipedia.org/wiki/.gl
+// gl : https://www.iana.org/domains/root/db/gl.html
 // http://nic.gl
 gl
 co.gl
@@ -1135,22 +1171,22 @@ ac.gn
 com.gn
 edu.gn
 gov.gn
-org.gn
 net.gn
+org.gn
 
-// gov : https://en.wikipedia.org/wiki/.gov
+// gov : https://www.iana.org/domains/root/db/gov.html
 gov
 
 // gp : http://www.nic.gp/index.php?lang=en
 gp
+asso.gp
 com.gp
-net.gp
-mobi.gp
 edu.gp
+mobi.gp
+net.gp
 org.gp
-asso.gp
 
-// gq : https://en.wikipedia.org/wiki/.gq
+// gq : https://www.iana.org/domains/root/db/gq.html
 gq
 
 // gr : https://grweb.ics.forth.gr/english/1617-B-2005.html
@@ -1158,11 +1194,11 @@ gq
 gr
 com.gr
 edu.gr
+gov.gr
 net.gr
 org.gr
-gov.gr
 
-// gs : https://en.wikipedia.org/wiki/.gs
+// gs : https://www.iana.org/domains/root/db/gs.html
 gs
 
 // gt : https://www.gt/sitio/registration_policy.php?lang=en
@@ -1188,11 +1224,11 @@ net.gu
 org.gu
 web.gu
 
-// gw : https://en.wikipedia.org/wiki/.gw
+// gw : https://www.iana.org/domains/root/db/gw.html
 // gw : https://nic.gw/regras/
 gw
 
-// gy : https://en.wikipedia.org/wiki/.gy
+// gy : https://www.iana.org/domains/root/db/gy.html
 // http://registry.gy/
 gy
 co.gy
@@ -1211,92 +1247,92 @@ gov.hk
 idv.hk
 net.hk
 org.hk
+个人.hk
+個人.hk
 公司.hk
-教育.hk
-敎育.hk
 政府.hk
-個人.hk
-个人.hk
+敎育.hk
+教育.hk
 箇人.hk
+組織.hk
+組织.hk
+網絡.hk
 網络.hk
-网络.hk
 组織.hk
-網絡.hk
-网絡.hk
 组织.hk
-組織.hk
-組织.hk
+网絡.hk
+网络.hk
 
-// hm : https://en.wikipedia.org/wiki/.hm
+// hm : https://www.iana.org/domains/root/db/hm.html
 hm
 
 // hn : http://www.nic.hn/politicas/ps02,,05.html
 hn
 com.hn
 edu.hn
-org.hn
-net.hn
-mil.hn
 gob.hn
+mil.hn
+net.hn
+org.hn
 
 // hr : http://www.dns.hr/documents/pdf/HRTLD-regulations.pdf
 hr
-iz.hr
+com.hr
 from.hr
+iz.hr
 name.hr
-com.hr
 
 // ht : http://www.nic.ht/info/charte.cfm
 ht
+adult.ht
+art.ht
+asso.ht
 com.ht
-shop.ht
+coop.ht
+edu.ht
 firm.ht
+gouv.ht
 info.ht
-adult.ht
+med.ht
 net.ht
-pro.ht
 org.ht
-med.ht
-art.ht
-coop.ht
+perso.ht
 pol.ht
-asso.ht
-edu.ht
+pro.ht
 rel.ht
-gouv.ht
-perso.ht
+shop.ht
 
 // hu : http://www.domain.hu/domain/English/sld.html
 // Confirmed by registry <pasztor@iszt.hu> 2008-06-12
 hu
-co.hu
-info.hu
-org.hu
-priv.hu
-sport.hu
-tm.hu
 2000.hu
 agrar.hu
 bolt.hu
 casino.hu
 city.hu
+co.hu
 erotica.hu
 erotika.hu
 film.hu
 forum.hu
 games.hu
 hotel.hu
+info.hu
 ingatlan.hu
 jogasz.hu
 konyvelo.hu
 lakas.hu
 media.hu
 news.hu
+org.hu
+priv.hu
 reklam.hu
 sex.hu
 shop.hu
+sport.hu
 suli.hu
 szex.hu
+tm.hu
 tozsde.hu
 utazas.hu
 video.hu
@@ -1316,7 +1352,7 @@ ponpes.id
 sch.id
 web.id
 
-// ie : https://en.wikipedia.org/wiki/.ie
+// ie : https://www.iana.org/domains/root/db/ie.html
 ie
 gov.ie
 
@@ -1348,15 +1384,15 @@ org.il
 im
 ac.im
 co.im
-com.im
 ltd.co.im
+plc.co.im
+com.im
 net.im
 org.im
-plc.co.im
 tt.im
 tv.im
 
-// in : https://en.wikipedia.org/wiki/.in
+// in : https://www.iana.org/domains/root/db/in.html
 // see also: https://registry.in/policies
 // Please note, that nic.in is not an official eTLD, but used by most
 // government institutions.
@@ -1403,27 +1439,33 @@ uk.in
 up.in
 us.in
 
-// info : https://en.wikipedia.org/wiki/.info
+// info : https://www.iana.org/domains/root/db/info.html
 info
 
-// int : https://en.wikipedia.org/wiki/.int
+// int : https://www.iana.org/domains/root/db/int.html
 // Confirmed by registry <iana-questions@icann.org> 2008-06-18
 int
 eu.int
 
 // io : http://www.nic.io/rules.htm
-// list of other 2nd level tlds ?
 io
+co.io
 com.io
+edu.io
+gov.io
+mil.io
+net.io
+nom.io
+org.io
 
 // iq : http://www.cmc.iq/english/iq/iqregister1.htm
 iq
-gov.iq
+com.iq
 edu.iq
+gov.iq
 mil.iq
-com.iq
-org.iq
 net.iq
+org.iq
 
 // ir : http://www.nic.ir/Terms_and_Conditions_ir,_Appendix_1_Domain_Rules
 // Also see http://www.nic.ir/Internationalized_Domain_Names
@@ -1442,22 +1484,16 @@ sch.ir
 ايران.ir
 
 // is : http://www.isnic.is/domain/rules.php
-// Confirmed by registry <marius@isgate.is> 2008-12-06
+// Confirmed by registry <marius@isgate.is> 2024-11-17
 is
-net.is
-com.is
-edu.is
-gov.is
-org.is
-int.is
-
-// it : https://en.wikipedia.org/wiki/.it
+
+// it : https://www.iana.org/domains/root/db/it.html
+// https://www.nic.it/
 it
-gov.it
 edu.it
-// Reserved geo-names (regions and provinces):
-// 
https://www.nic.it/sites/default/files/archivio/docs/Regulation_assignation_v7.1.pdf
-// Regions
+gov.it
+// Regions (3.3.1)
+// https://www.nic.it/en/manage-your-it/forms-and-docs -> "Assignment and 
Management of domain names"
 abr.it
 abruzzo.it
 aosta-valley.it
@@ -1516,6 +1552,7 @@ trentin-sudtirol.it
 trentin-südtirol.it
 trentin-sued-tirol.it
 trentin-suedtirol.it
+trentino.it
 trentino-a-adige.it
 trentino-aadige.it
 trentino-alto-adige.it
@@ -1528,7 +1565,6 @@ trentino-sudtirol.it
 trentino-südtirol.it
 trentino-sued-tirol.it
 trentino-suedtirol.it
-trentino.it
 trentinoa-adige.it
 trentinoaadige.it
 trentinoalto-adige.it
@@ -1572,7 +1608,7 @@ vao.it
 vda.it
 ven.it
 veneto.it
-// Provinces
+// Provinces (3.3.2)
 ag.it
 agrigento.it
 al.it
@@ -1600,10 +1636,10 @@ at.it
 av.it
 avellino.it
 ba.it
+balsan.it
 balsan-sudtirol.it
 balsan-südtirol.it
 balsan-suedtirol.it
-balsan.it
 bari.it
 barletta-trani-andria.it
 barlettatraniandria.it
@@ -1617,21 +1653,21 @@ bl.it
 bn.it
 bo.it
 bologna.it
-bolzano-altoadige.it
 bolzano.it
+bolzano-altoadige.it
+bozen.it
 bozen-sudtirol.it
 bozen-südtirol.it
 bozen-suedtirol.it
-bozen.it
 br.it
 brescia.it
 brindisi.it
 bs.it
 bt.it
+bulsan.it
 bulsan-sudtirol.it
 bulsan-südtirol.it
 bulsan-suedtirol.it
-bulsan.it
 bz.it
 ca.it
 cagliari.it
@@ -1733,9 +1769,9 @@ milano.it
 mn.it
 mo.it
 modena.it
+monza.it
 monza-brianza.it
 monza-e-della-brianza.it
-monza.it
 monzabrianza.it
 monzaebrianza.it
 monzaedellabrianza.it
@@ -1814,8 +1850,8 @@ sondrio.it
 sp.it
 sr.it
 ss.it
-suedtirol.it
 südtirol.it
+suedtirol.it
 sv.it
 ta.it
 taranto.it
@@ -1874,23 +1910,30 @@ org.je
 // jm : http://www.com.jm/register.html
 *.jm
 
-// jo : http://www.dns.jo/Registration_policy.aspx
+// jo : https://www.dns.jo/JoFamily.aspx
+// Confirmed by registry <DNS@modee.gov.jo> 2024-11-17
 jo
+agri.jo
+ai.jo
 com.jo
-org.jo
-net.jo
 edu.jo
-sch.jo
+eng.jo
+fm.jo
 gov.jo
 mil.jo
-name.jo
+net.jo
+org.jo
+per.jo
+phd.jo
+sch.jo
+tv.jo
 
-// jobs : https://en.wikipedia.org/wiki/.jobs
+// jobs : https://www.iana.org/domains/root/db/jobs.html
 jobs
 
-// jp : https://en.wikipedia.org/wiki/.jp
+// jp : https://www.iana.org/domains/root/db/jp.html
 // http://jprs.co.jp/en/jpdomain.html
-// Submitted by registry <info@jprs.jp>
+// Confirmed by registry <info@jprs.jp> 2024-11-22
 jp
 // jp organizational type names
 ac.jp
@@ -1903,6 +1946,9 @@ lg.jp
 ne.jp
 or.jp
 // jp prefecture type names
+// 2024-11-22: JPRS confirmed that regional .jp suffixes no longer accept new 
registrations.
+// Once all existing registrations expire (marking full discontinuation), 
these suffixes
+// will be removed from the PSL.
 aichi.jp
 akita.jp
 aomori.jp
@@ -1950,26 +1996,14 @@ wakayama.jp
 yamagata.jp
 yamaguchi.jp
 yamanashi.jp
-栃木.jp
-愛知.jp
-愛媛.jp
+三重.jp
+京都.jp
+佐賀.jp
 兵庫.jp
-熊本.jp
-茨城.jp
 北海道.jp
 千葉.jp
 和歌山.jp
-長崎.jp
-長野.jp
-新潟.jp
-青森.jp
-静岡.jp
-東京.jp
-石川.jp
 埼玉.jp
-三重.jp
-京都.jp
-佐賀.jp
 大分.jp
 大阪.jp
 奈良.jp
@@ -1979,20 +2013,32 @@ yamanashi.jp
 山口.jp
 山形.jp
 山梨.jp
-岩手.jp
 岐阜.jp
 岡山.jp
+岩手.jp
 島根.jp
 広島.jp
 徳島.jp
+愛媛.jp
+愛知.jp
+新潟.jp
+東京.jp
+栃木.jp
 沖縄.jp
 滋賀.jp
+熊本.jp
+石川.jp
 神奈川.jp
 福井.jp
 福岡.jp
 福島.jp
 秋田.jp
 群馬.jp
+茨城.jp
+長崎.jp
+長野.jp
+青森.jp
+静岡.jp
 香川.jp
 高知.jp
 鳥取.jp
@@ -2000,18 +2046,18 @@ yamanashi.jp
 // jp geographic type names
 // http://jprs.jp/doc/rule/saisoku-1.html
 *.kawasaki.jp
-*.kitakyushu.jp
-*.kobe.jp
-*.nagoya.jp
-*.sapporo.jp
-*.sendai.jp
-*.yokohama.jp
 !city.kawasaki.jp
+*.kitakyushu.jp
 !city.kitakyushu.jp
+*.kobe.jp
 !city.kobe.jp
+*.nagoya.jp
 !city.nagoya.jp
+*.sapporo.jp
 !city.sapporo.jp
+*.sendai.jp
 !city.sendai.jp
+*.yokohama.jp
 !city.yokohama.jp
 // 4th level registration
 aisai.aichi.jp
@@ -3702,56 +3748,56 @@ sc.ke
 
 // kg : http://www.domain.kg/dmn_n.html
 kg
-org.kg
-net.kg
 com.kg
 edu.kg
 gov.kg
 mil.kg
+net.kg
+org.kg
 
 // kh : http://www.mptc.gov.kh/dns_registration.htm
 *.kh
 
 // ki : http://www.ki/dns/index.html
 ki
-edu.ki
 biz.ki
-net.ki
-org.ki
+com.ki
+edu.ki
 gov.ki
 info.ki
-com.ki
+net.ki
+org.ki
 
-// km : https://en.wikipedia.org/wiki/.km
+// km : https://www.iana.org/domains/root/db/km.html
 // http://www.domaine.km/documents/charte.doc
 km
-org.km
-nom.km
+ass.km
+com.km
+edu.km
 gov.km
+mil.km
+nom.km
+org.km
 prd.km
 tm.km
-edu.km
-mil.km
-ass.km
-com.km
 // These are only mentioned as proposed suggestions at domaine.km, but
-// https://en.wikipedia.org/wiki/.km says they're available for registration:
-coop.km
+// https://www.iana.org/domains/root/db/km.html says they're available for 
registration:
 asso.km
-presse.km
+coop.km
+gouv.km
 medecin.km
 notaires.km
 pharmaciens.km
+presse.km
 veterinaire.km
-gouv.km
 
-// kn : https://en.wikipedia.org/wiki/.kn
+// kn : https://www.iana.org/domains/root/db/kn.html
 // http://www.dot.kn/domainRules.html
 kn
-net.kn
-org.kn
 edu.kn
 gov.kn
+net.kn
+org.kn
 
 // kp : http://www.kcce.kp/en_index.php
 kp
@@ -3762,7 +3808,7 @@ org.kp
 rep.kp
 tra.kp
 
-// kr : https://en.wikipedia.org/wiki/.kr
+// kr : https://www.iana.org/domains/root/db/kr.html
 // see also: http://domain.nida.or.kr/eng/registration.jsp
 kr
 ac.kr
@@ -3815,29 +3861,29 @@ edu.ky
 net.ky
 org.ky
 
-// kz : https://en.wikipedia.org/wiki/.kz
+// kz : https://www.iana.org/domains/root/db/kz.html
 // see also: http://www.nic.kz/rules/index.jsp
 kz
-org.kz
+com.kz
 edu.kz
-net.kz
 gov.kz
 mil.kz
-com.kz
+net.kz
+org.kz
 
-// la : https://en.wikipedia.org/wiki/.la
+// la : https://www.iana.org/domains/root/db/la.html
 // Submitted by registry <gavin.brown@nic.la>
 la
-int.la
-net.la
-info.la
+com.la
 edu.la
 gov.la
-per.la
-com.la
+info.la
+int.la
+net.la
 org.la
+per.la
 
-// lb : https://en.wikipedia.org/wiki/.lb
+// lb : https://www.iana.org/domains/root/db/lb.html
 // Submitted by registry <randy@psg.com>
 lb
 com.lb
@@ -3846,36 +3892,36 @@ gov.lb
 net.lb
 org.lb
 
-// lc : https://en.wikipedia.org/wiki/.lc
+// lc : https://www.iana.org/domains/root/db/lc.html
 // see also: http://www.nic.lc/rules.htm
 lc
-com.lc
-net.lc
 co.lc
-org.lc
+com.lc
 edu.lc
 gov.lc
+net.lc
+org.lc
 
-// li : https://en.wikipedia.org/wiki/.li
+// li : https://www.iana.org/domains/root/db/li.html
 li
 
 // lk : 
https://www.nic.lk/index.php/domain-registration/lk-domain-naming-structure
 lk
-gov.lk
-sch.lk
-net.lk
-int.lk
+ac.lk
+assn.lk
 com.lk
-org.lk
 edu.lk
+gov.lk
+grp.lk
+hotel.lk
+int.lk
+ltd.lk
+net.lk
 ngo.lk
+org.lk
+sch.lk
 soc.lk
 web.lk
-ltd.lk
-assn.lk
-grp.lk
-hotel.lk
-ac.lk
 
 // lr : http://psg.com/dns/lr/lr.txt
 // Submitted by registry <randy@psg.com>
@@ -3883,8 +3929,8 @@ lr
 com.lr
 edu.lr
 gov.lr
-org.lr
 net.lr
+org.lr
 
 // ls : http://www.nic.ls/
 // Confirmed by registry <lsadmin@nic.ls>
@@ -3899,7 +3945,7 @@ net.ls
 org.ls
 sc.ls
 
-// lt : https://en.wikipedia.org/wiki/.lt
+// lt : https://www.iana.org/domains/root/db/lt.html
 lt
 // gov.lt : http://www.gov.lt/index_en.php
 gov.lt
@@ -3909,88 +3955,87 @@ lu
 
 // lv : http://www.nic.lv/DNS/En/generic.php
 lv
+asn.lv
 com.lv
+conf.lv
 edu.lv
 gov.lv
-org.lv
-mil.lv
 id.lv
+mil.lv
 net.lv
-asn.lv
-conf.lv
+org.lv
 
 // ly : http://www.nic.ly/regulations.php
 ly
 com.ly
-net.ly
-gov.ly
-plc.ly
 edu.ly
-sch.ly
+gov.ly
+id.ly
 med.ly
+net.ly
 org.ly
-id.ly
+plc.ly
+sch.ly
 
-// ma : https://en.wikipedia.org/wiki/.ma
+// ma : https://www.iana.org/domains/root/db/ma.html
 // http://www.anrt.ma/fr/admin/download/upload/file_fr782.pdf
 ma
+ac.ma
 co.ma
-net.ma
 gov.ma
+net.ma
 org.ma
-ac.ma
 press.ma
 
 // mc : http://www.nic.mc/
 mc
-tm.mc
 asso.mc
+tm.mc
 
-// md : https://en.wikipedia.org/wiki/.md
+// md : https://www.iana.org/domains/root/db/md.html
 md
 
-// me : https://en.wikipedia.org/wiki/.me
+// me : https://www.iana.org/domains/root/db/me.html
 me
+ac.me
 co.me
-net.me
-org.me
 edu.me
-ac.me
 gov.me
 its.me
+net.me
+org.me
 priv.me
 
-// mg : http://nic.mg/nicmg/?page_id=39
+// mg : https://nic.mg
 mg
-org.mg
-nom.mg
-gov.mg
-prd.mg
-tm.mg
+co.mg
+com.mg
 edu.mg
+gov.mg
 mil.mg
-com.mg
-co.mg
+nom.mg
+org.mg
+prd.mg
 
-// mh : https://en.wikipedia.org/wiki/.mh
+// mh : https://www.iana.org/domains/root/db/mh.html
 mh
 
-// mil : https://en.wikipedia.org/wiki/.mil
+// mil : https://www.iana.org/domains/root/db/mil.html
 mil
 
-// mk : https://en.wikipedia.org/wiki/.mk
+// mk : https://www.iana.org/domains/root/db/mk.html
 // see also: http://dns.marnet.net.mk/postapka.php
 mk
 com.mk
-org.mk
-net.mk
 edu.mk
 gov.mk
 inf.mk
 name.mk
+net.mk
+org.mk
 
 // ml : http://www.gobin.info/domainname/ml-template.doc
-// see also: https://en.wikipedia.org/wiki/.ml
+// see also: https://www.iana.org/domains/root/db/ml.html
 ml
 com.ml
 edu.ml
@@ -4000,34 +4045,34 @@ net.ml
 org.ml
 presse.ml
 
-// mm : https://en.wikipedia.org/wiki/.mm
+// mm : https://www.iana.org/domains/root/db/mm.html
 *.mm
 
-// mn : https://en.wikipedia.org/wiki/.mn
+// mn : https://www.iana.org/domains/root/db/mn.html
 mn
-gov.mn
 edu.mn
+gov.mn
 org.mn
 
 // mo : http://www.monic.net.mo/
 mo
 com.mo
-net.mo
-org.mo
 edu.mo
 gov.mo
+net.mo
+org.mo
 
-// mobi : https://en.wikipedia.org/wiki/.mobi
+// mobi : https://www.iana.org/domains/root/db/mobi.html
 mobi
 
 // mp : http://www.dot.mp/
 // Confirmed by registry <dcamacho@saipan.com> 2008-06-17
 mp
 
-// mq : https://en.wikipedia.org/wiki/.mq
+// mq : https://www.iana.org/domains/root/db/mq.html
 mq
 
-// mr : https://en.wikipedia.org/wiki/.mr
+// mr : https://www.iana.org/domains/root/db/mr.html
 mr
 gov.mr
 
@@ -4047,20 +4092,20 @@ edu.mt
 net.mt
 org.mt
 
-// mu : https://en.wikipedia.org/wiki/.mu
+// mu : https://www.iana.org/domains/root/db/mu.html
 mu
-com.mu
-net.mu
-org.mu
-gov.mu
 ac.mu
 co.mu
+com.mu
+gov.mu
+net.mu
 or.mu
+org.mu
 
 // museum : 
https://welcome.museum/wp-content/uploads/2018/05/20180525-Registration-Policy-MUSEUM-EN_VF-2.pdf
 https://welcome.museum/buy-your-dot-museum-2/
 museum
 
-// mv : https://en.wikipedia.org/wiki/.mv
+// mv : https://www.iana.org/domains/root/db/mv.html
 // "mv" included because, contra Wikipedia, google.mv exists.
 mv
 aero.mv
@@ -4088,7 +4133,6 @@ coop.mw
 edu.mw
 gov.mw
 int.mw
-museum.mw
 net.mw
 org.mw
 
@@ -4096,10 +4140,10 @@ org.mw
 // Submitted by registry <farias@nic.mx>
 mx
 com.mx
-org.mx
-gob.mx
 edu.mx
+gob.mx
 net.mx
+org.mx
 
 // my : http://www.mynic.my/
 // Available strings: https://mynic.my/resources/domains/buying-a-domain/
@@ -4126,27 +4170,16 @@ net.mz
 org.mz
 
 // na : http://www.na-nic.com.na/
-// http://www.info.na/domain/
 na
-info.na
-pro.na
-name.na
-school.na
-or.na
-dr.na
-us.na
-mx.na
-ca.na
-in.na
-cc.na
-tv.na
-ws.na
-mobi.na
+alt.na
 co.na
 com.na
+gov.na
+net.na
 org.na
 
-// name : has 2nd-level tlds, but there's no list of them
+// name : http://www.nic.name/
+// Regarding 2LDs: https://github.com/publicsuffix/list/issues/2306
 name
 
 // nc : http://www.cctld.nc/
@@ -4154,24 +4187,24 @@ nc
 asso.nc
 nom.nc
 
-// ne : https://en.wikipedia.org/wiki/.ne
+// ne : https://www.iana.org/domains/root/db/ne.html
 ne
 
-// net : https://en.wikipedia.org/wiki/.net
+// net : https://www.iana.org/domains/root/db/net.html
 net
 
-// nf : https://en.wikipedia.org/wiki/.nf
+// nf : https://www.iana.org/domains/root/db/nf.html
 nf
-com.nf
-net.nf
-per.nf
-rec.nf
-web.nf
 arts.nf
+com.nf
 firm.nf
 info.nf
+net.nf
 other.nf
+per.nf
+rec.nf
 store.nf
+web.nf
 
 // ng : 
http://www.nira.org.ng/index.php/join-us/register-ng-domain/189-nira-slds
 ng
@@ -4203,7 +4236,7 @@ nom.ni
 org.ni
 web.ni
 
-// nl : https://en.wikipedia.org/wiki/.nl
+// nl : https://www.iana.org/domains/root/db/nl.html
 //      https://www.sidn.nl/
 //      ccTLD for the Netherlands
 nl
@@ -4216,18 +4249,18 @@ nl
 no
 // Norid category second level domains : 
https://www.norid.no/en/om-domenenavn/regelverk-for-no/vedlegg-c/
 fhs.no
-vgs.no
-fylkesbibl.no
 folkebibl.no
-museum.no
+fylkesbibl.no
 idrett.no
+museum.no
 priv.no
+vgs.no
 // Norid category second-level domains managed by parties other than Norid : 
https://www.norid.no/en/om-domenenavn/regelverk-for-no/vedlegg-d/
-mil.no
-stat.no
 dep.no
-kommune.no
 herad.no
+kommune.no
+mil.no
+stat.no
 // Norid geographical second level domains : 
https://www.norid.no/en/om-domenenavn/regelverk-for-no/vedlegg-b/
 // counties
 aa.no
@@ -4279,10 +4312,10 @@ akrehamn.no
 algard.no
 ålgård.no
 arna.no
-brumunddal.no
-bryne.no
 bronnoysund.no
 brønnøysund.no
+brumunddal.no
+bryne.no
 drobak.no
 drøbak.no
 egersund.no
@@ -4326,27 +4359,32 @@ tananger.no
 tranby.no
 vossevangen.no
 // communities
+aarborte.no
+aejrie.no
 afjord.no
 åfjord.no
 agdenes.no
+nes.akershus.no
+aknoluokta.no
+ákŋoluokta.no
 al.no
 ål.no
+alaheadju.no
+álaheadju.no
 alesund.no
 ålesund.no
 alstahaug.no
 alta.no
 áltá.no
-alaheadju.no
-álaheadju.no
 alvdal.no
 amli.no
 åmli.no
 amot.no
 åmot.no
+andasuolo.no
 andebu.no
 andoy.no
 andøy.no
-andasuolo.no
 ardal.no
 årdal.no
 aremark.no
@@ -4356,9 +4394,9 @@ aseral.no
 åseral.no
 asker.no
 askim.no
-askvoll.no
 askoy.no
 askøy.no
+askvoll.no
 asnes.no
 åsnes.no
 audnedaln.no
@@ -4371,27 +4409,37 @@ austevoll.no
 austrheim.no
 averoy.no
 averøy.no
-balestrand.no
-ballangen.no
+badaddja.no
+bådåddjå.no
+bærum.no
+bahcavuotna.no
+báhcavuotna.no
+bahccavuotna.no
+báhccavuotna.no
+baidar.no
+báidár.no
+bajddar.no
+bájddar.no
 balat.no
 bálát.no
+balestrand.no
+ballangen.no
 balsfjord.no
-bahccavuotna.no
-báhccavuotna.no
 bamble.no
 bardu.no
+barum.no
+batsfjord.no
+båtsfjord.no
+bearalvahki.no
+bearalváhki.no
 beardu.no
 beiarn.no
-bajddar.no
-bájddar.no
-baidar.no
-báidár.no
 berg.no
 bergen.no
 berlevag.no
 berlevåg.no
-bearalvahki.no
-bearalváhki.no
+bievat.no
+bievát.no
 bindal.no
 birkenes.no
 bjarkoy.no
@@ -4400,36 +4448,32 @@ bjerkreim.no
 bjugn.no
 bodo.no
 bodø.no
-badaddja.no
-bådåddjå.no
-budejju.no
 bokn.no
+bomlo.no
+bømlo.no
 bremanger.no
 bronnoy.no
 brønnøy.no
+budejju.no
+nes.buskerud.no
 bygland.no
 bykle.no
-barum.no
-bærum.no
-bo.telemark.no
-bø.telemark.no
-bo.nordland.no
-bø.nordland.no
-bievat.no
-bievát.no
-bomlo.no
-bømlo.no
-batsfjord.no
-båtsfjord.no
-bahcavuotna.no
-báhcavuotna.no
+cahcesuolo.no
+čáhcesuolo.no
+davvenjarga.no
+davvenjárga.no
+davvesiida.no
+deatnu.no
+dielddanuorri.no
+divtasvuodna.no
+divttasvuotna.no
+donna.no
+dønna.no
 dovre.no
 drammen.no
 drangedal.no
 dyroy.no
 dyrøy.no
-donna.no
-dønna.no
 eid.no
 eidfjord.no
 eidsberg.no
@@ -4441,14 +4485,12 @@ enebakk.no
 engerdal.no
 etne.no
 etnedal.no
-evenes.no
 evenassi.no
 evenášši.no
+evenes.no
 evje-og-hornnes.no
 farsund.no
 fauske.no
-fuossko.no
-fuoisku.no
 fedje.no
 fet.no
 finnoy.no
@@ -4456,33 +4498,40 @@ finnøy.no
 fitjar.no
 fjaler.no
 fjell.no
+fla.no
+flå.no
 flakstad.no
 flatanger.no
 flekkefjord.no
 flesberg.no
 flora.no
-fla.no
-flå.no
 folldal.no
+forde.no
+førde.no
 forsand.no
 fosnes.no
+fræna.no
+frana.no
 frei.no
 frogn.no
 froland.no
 frosta.no
-frana.no
-fræna.no
 froya.no
 frøya.no
+fuoisku.no
+fuossko.no
 fusa.no
 fyresdal.no
-forde.no
-førde.no
+gaivuotna.no
+gáivuotna.no
+galsa.no
+gálsá.no
 gamvik.no
 gangaviika.no
 gáŋgaviika.no
 gaular.no
 gausdal.no
+giehtavuoatna.no
 gildeskal.no
 gildeskål.no
 giske.no
@@ -4500,38 +4549,37 @@ granvin.no
 gratangen.no
 grimstad.no
 grong.no
-kraanghke.no
-kråanghke.no
 grue.no
 gulen.no
+guovdageaidnu.no
+ha.no
+hå.no
+habmer.no
+hábmer.no
 hadsel.no
+hægebostad.no
+hagebostad.no
 halden.no
 halsa.no
 hamar.no
 hamaroy.no
-habmer.no
-hábmer.no
-hapmir.no
-hápmir.no
-hammerfest.no
 hammarfeasta.no
 hámmárfeasta.no
+hammerfest.no
+hapmir.no
+hápmir.no
 haram.no
 hareid.no
 harstad.no
 hasvik.no
-aknoluokta.no
-ákŋoluokta.no
 hattfjelldal.no
-aarborte.no
 haugesund.no
+os.hedmark.no
+valer.hedmark.no
+våler.hedmark.no
 hemne.no
 hemnes.no
 hemsedal.no
-heroy.more-og-romsdal.no
-herøy.møre-og-romsdal.no
-heroy.nordland.no
-herøy.nordland.no
 hitra.no
 hjartdal.no
 hjelmeland.no
@@ -4543,96 +4591,95 @@ hole.no
 holmestrand.no
 holtalen.no
 holtålen.no
+os.hordaland.no
 hornindal.no
 horten.no
-hurdal.no
-hurum.no
-hvaler.no
-hyllestad.no
-hagebostad.no
-hægebostad.no
 hoyanger.no
 høyanger.no
 hoylandet.no
 høylandet.no
-ha.no
-hå.no
+hurdal.no
+hurum.no
+hvaler.no
+hyllestad.no
 ibestad.no
 inderoy.no
 inderøy.no
 iveland.no
+ivgu.no
 jevnaker.no
-jondal.no
 jolster.no
 jølster.no
-karasjok.no
+jondal.no
+kafjord.no
+kåfjord.no
 karasjohka.no
 kárášjohka.no
+karasjok.no
 karlsoy.no
-galsa.no
-gálsá.no
 karmoy.no
 karmøy.no
 kautokeino.no
-guovdageaidnu.no
-klepp.no
 klabu.no
 klæbu.no
+klepp.no
 kongsberg.no
 kongsvinger.no
+kraanghke.no
+kråanghke.no
 kragero.no
 kragerø.no
 kristiansand.no
 kristiansund.no
 krodsherad.no
 krødsherad.no
+kvæfjord.no
+kvænangen.no
+kvafjord.no
 kvalsund.no
-rahkkeravju.no
-ráhkkerávju.no
 kvam.no
+kvanangen.no
 kvinesdal.no
 kvinnherad.no
 kviteseid.no
 kvitsoy.no
 kvitsøy.no
-kvafjord.no
-kvæfjord.no
-giehtavuoatna.no
-kvanangen.no
-kvænangen.no
-navuotna.no
-návuotna.no
-kafjord.no
-kåfjord.no
-gaivuotna.no
-gáivuotna.no
+laakesvuemie.no
+lærdal.no
+lahppi.no
+láhppi.no
+lardal.no
 larvik.no
-lavangen.no
 lavagis.no
-loabat.no
-loabát.no
+lavangen.no
+leangaviika.no
+leaŋgaviika.no
 lebesby.no
-davvesiida.no
 leikanger.no
 leirfjord.no
 leka.no
 leksvik.no
 lenvik.no
-leangaviika.no
-leaŋgaviika.no
+lerdal.no
 lesja.no
 levanger.no
 lier.no
 lierne.no
 lillehammer.no
 lillesand.no
-lindesnes.no
 lindas.no
 lindås.no
+lindesnes.no
+loabat.no
+loabát.no
+lodingen.no
+lødingen.no
 lom.no
 loppa.no
-lahppi.no
-láhppi.no
+lorenskog.no
+lørenskog.no
+loten.no
+løten.no
 lund.no
 lunner.no
 luroy.no
@@ -4640,25 +4687,19 @@ lurøy.no
 luster.no
 lyngdal.no
 lyngen.no
-ivgu.no
-lardal.no
-lerdal.no
-lærdal.no
-lodingen.no
-lødingen.no
-lorenskog.no
-lørenskog.no
-loten.no
-løten.no
+malatvuopmi.no
+málatvuopmi.no
+malselv.no
+målselv.no
 malvik.no
-masoy.no
-måsøy.no
-muosat.no
-muosát.no
 mandal.no
 marker.no
 marnardal.no
 masfjorden.no
+masoy.no
+måsøy.no
+matta-varjjat.no
+mátta-várjjat.no
 meland.no
 meldal.no
 melhus.no
@@ -4666,39 +4707,39 @@ meloy.no
 meløy.no
 meraker.no
 meråker.no
-moareke.no
-moåreke.no
 midsund.no
 midtre-gauldal.no
+moareke.no
+moåreke.no
 modalen.no
 modum.no
 molde.no
+heroy.more-og-romsdal.no
+sande.more-og-romsdal.no
+herøy.møre-og-romsdal.no
+sande.møre-og-romsdal.no
 moskenes.no
 moss.no
 mosvik.no
-malselv.no
-målselv.no
-malatvuopmi.no
-málatvuopmi.no
+muosat.no
+muosát.no
+naamesjevuemie.no
+nååmesjevuemie.no
+nærøy.no
 namdalseid.no
-aejrie.no
 namsos.no
 namsskogan.no
-naamesjevuemie.no
-nååmesjevuemie.no
-laakesvuemie.no
 nannestad.no
-narvik.no
+naroy.no
 narviika.no
+narvik.no
 naustdal.no
+navuotna.no
+návuotna.no
 nedre-eiker.no
-nes.akershus.no
-nes.buskerud.no
 nesna.no
 nesodden.no
 nesseby.no
-unjarga.no
-unjárga.no
 nesset.no
 nissedal.no
 nittedal.no
@@ -4707,21 +4748,20 @@ nord-fron.no
 nord-odal.no
 norddal.no
 nordkapp.no
-davvenjarga.no
-davvenjárga.no
+bo.nordland.no
+bø.nordland.no
+heroy.nordland.no
+herøy.nordland.no
 nordre-land.no
 nordreisa.no
-raisa.no
-ráisa.no
 nore-og-uvdal.no
 notodden.no
-naroy.no
-nærøy.no
 notteroy.no
 nøtterøy.no
 odda.no
 oksnes.no
 øksnes.no
+omasvuotna.no
 oppdal.no
 oppegard.no
 oppegård.no
@@ -4732,11 +4772,11 @@ orskog.no
 ørskog.no
 orsta.no
 ørsta.no
-os.hedmark.no
-os.hordaland.no
 osen.no
 osteroy.no
 osterøy.no
+valer.ostfold.no
+våler.østfold.no
 ostre-toten.no
 østre-toten.no
 overhalla.no
@@ -4752,11 +4792,18 @@ porsanger.no
 porsangu.no
 porsáŋgu.no
 porsgrunn.no
+rade.no
+råde.no
 radoy.no
 radøy.no
+rælingen.no
+rahkkeravju.no
+ráhkkerávju.no
+raisa.no
+ráisa.no
 rakkestad.no
+ralingen.no
 rana.no
-ruovat.no
 randaberg.no
 rauma.no
 rendalen.no
@@ -4767,16 +4814,14 @@ rindal.no
 ringebu.no
 ringerike.no
 ringsaker.no
-rissa.no
 risor.no
 risør.no
+rissa.no
 roan.no
-rollag.no
-rygge.no
-ralingen.no
-rælingen.no
 rodoy.no
 rødøy.no
+rollag.no
+romsa.no
 romskog.no
 rømskog.no
 roros.no
@@ -4787,18 +4832,14 @@ royken.no
 røyken.no
 royrvik.no
 røyrvik.no
-rade.no
-råde.no
+ruovat.no
+rygge.no
 salangen.no
-siellak.no
-saltdal.no
 salat.no
-sálát.no
 sálat.no
+sálát.no
+saltdal.no
 samnanger.no
-sande.more-og-romsdal.no
-sande.møre-og-romsdal.no
-sande.vestfold.no
 sandefjord.no
 sandnes.no
 sandoy.no
@@ -4810,39 +4851,60 @@ sel.no
 selbu.no
 selje.no
 seljord.no
+siellak.no
 sigdal.no
 siljan.no
 sirdal.no
+skanit.no
+skánit.no
+skanland.no
+skånland.no
 skaun.no
 skedsmo.no
 ski.no
 skien.no
-skiptvet.no
-skjervoy.no
-skjervøy.no
 skierva.no
 skiervá.no
+skiptvet.no
 skjak.no
 skjåk.no
+skjervoy.no
+skjervøy.no
 skodje.no
-skanland.no
-skånland.no
-skanit.no
-skánit.no
 smola.no
 smøla.no
-snillfjord.no
+snaase.no
+snåase.no
 snasa.no
 snåsa.no
+snillfjord.no
 snoasa.no
-snaase.no
-snåase.no
 sogndal.no
+sogne.no
+søgne.no
 sokndal.no
 sola.no
 solund.no
+somna.no
+sømna.no
+sondre-land.no
+søndre-land.no
 songdalen.no
+sor-aurdal.no
+sør-aurdal.no
+sor-fron.no
+sør-fron.no
+sor-odal.no
+sør-odal.no
+sor-varanger.no
+sør-varanger.no
+sorfold.no
+sørfold.no
+sorreisa.no
+sørreisa.no
 sortland.no
+sorum.no
+sørum.no
 spydeberg.no
 stange.no
 stavanger.no
@@ -4855,7 +4917,6 @@ stor-elvdal.no
 stord.no
 stordal.no
 storfjord.no
-omasvuotna.no
 strand.no
 stranda.no
 stryn.no
@@ -4867,72 +4928,55 @@ surnadal.no
 sveio.no
 svelvik.no
 sykkylven.no
-sogne.no
-søgne.no
-somna.no
-sømna.no
-sondre-land.no
-søndre-land.no
-sor-aurdal.no
-sør-aurdal.no
-sor-fron.no
-sør-fron.no
-sor-odal.no
-sør-odal.no
-sor-varanger.no
-sør-varanger.no
-matta-varjjat.no
-mátta-várjjat.no
-sorfold.no
-sørfold.no
-sorreisa.no
-sørreisa.no
-sorum.no
-sørum.no
 tana.no
-deatnu.no
+bo.telemark.no
+bø.telemark.no
 time.no
 tingvoll.no
 tinn.no
 tjeldsund.no
-dielddanuorri.no
 tjome.no
 tjøme.no
 tokke.no
 tolga.no
+tonsberg.no
+tønsberg.no
 torsken.no
+træna.no
+trana.no
 tranoy.no
 tranøy.no
+troandin.no
+trogstad.no
+trøgstad.no
+tromsa.no
 tromso.no
 tromsø.no
-tromsa.no
-romsa.no
 trondheim.no
-troandin.no
 trysil.no
-trana.no
-træna.no
-trogstad.no
-trøgstad.no
 tvedestrand.no
 tydal.no
 tynset.no
 tysfjord.no
-divtasvuodna.no
-divttasvuotna.no
 tysnes.no
-tysvar.no
 tysvær.no
-tonsberg.no
-tønsberg.no
+tysvar.no
 ullensaker.no
 ullensvang.no
 ulvik.no
+unjarga.no
+unjárga.no
 utsira.no
+vaapste.no
 vadso.no
 vadsø.no
-cahcesuolo.no
-čáhcesuolo.no
+værøy.no
+vaga.no
+vågå.no
+vagan.no
+vågan.no
+vagsoy.no
+vågsøy.no
 vaksdal.no
 valle.no
 vang.no
@@ -4941,8 +4985,8 @@ vardo.no
 vardø.no
 varggat.no
 várggát.no
+varoy.no
 vefsn.no
-vaapste.no
 vega.no
 vegarshei.no
 vegårshei.no
@@ -4950,6 +4994,7 @@ vennesla.no
 verdal.no
 verran.no
 vestby.no
+sande.vestfold.no
 vestnes.no
 vestre-slidre.no
 vestre-toten.no
@@ -4959,21 +5004,9 @@ vevelstad.no
 vik.no
 vikna.no
 vindafjord.no
+voagat.no
 volda.no
 voss.no
-varoy.no
-værøy.no
-vagan.no
-vågan.no
-voagat.no
-vagsoy.no
-vågsøy.no
-vaga.no
-vågå.no
-valer.ostfold.no
-våler.østfold.no
-valer.hedmark.no
-våler.hedmark.no
 
 // np : http://www.mos.com.np/register.html
 *.np
@@ -4982,17 +5015,17 @@ våler.hedmark.no
 // Submitted by registry <technician@cenpac.net.nr>
 nr
 biz.nr
-info.nr
-gov.nr
+com.nr
 edu.nr
-org.nr
+gov.nr
+info.nr
 net.nr
-com.nr
+org.nr
 
-// nu : https://en.wikipedia.org/wiki/.nu
+// nu : https://www.iana.org/domains/root/db/nu.html
 nu
 
-// nz : https://en.wikipedia.org/wiki/.nz
+// nz : https://www.iana.org/domains/root/db/nz.html
 // Submitted by registry <jay@nzrs.net.nz>
 nz
 ac.nz
@@ -5005,14 +5038,14 @@ health.nz
 iwi.nz
 kiwi.nz
 maori.nz
-mil.nz
 māori.nz
+mil.nz
 net.nz
 org.nz
 parliament.nz
 school.nz
 
-// om : https://en.wikipedia.org/wiki/.om
+// om : https://www.iana.org/domains/root/db/om.html
 om
 co.om
 com.om
@@ -5027,82 +5060,87 @@ pro.om
 // onion : https://tools.ietf.org/html/rfc7686
 onion
 
-// org : https://en.wikipedia.org/wiki/.org
+// org : https://www.iana.org/domains/root/db/org.html
 org
 
 // pa : http://www.nic.pa/
 // Some additional second level "domains" resolve directly as hostnames, such 
as
 // pannet.pa, so we add a rule for "pa".
 pa
+abo.pa
 ac.pa
-gob.pa
 com.pa
-org.pa
-sld.pa
 edu.pa
-net.pa
+gob.pa
 ing.pa
-abo.pa
 med.pa
+net.pa
 nom.pa
+org.pa
+sld.pa
 
 // pe : https://www.nic.pe/InformeFinalComision.pdf
 pe
+com.pe
 edu.pe
 gob.pe
-nom.pe
 mil.pe
-org.pe
-com.pe
 net.pe
+nom.pe
+org.pe
 
 // pf : http://www.gobin.info/domainname/formulaire-pf.pdf
 pf
 com.pf
-org.pf
 edu.pf
+org.pf
 
-// pg : https://en.wikipedia.org/wiki/.pg
+// pg : https://www.iana.org/domains/root/db/pg.html
 *.pg
 
 // ph : http://www.domains.ph/FAQ2.asp
 // Submitted by registry <jed@email.com.ph>
 ph
 com.ph
-net.ph
-org.ph
-gov.ph
 edu.ph
-ngo.ph
-mil.ph
+gov.ph
 i.ph
+mil.ph
+net.ph
+ngo.ph
+org.ph
+
+// pk : https://pknic.net.pk
+// pk : http://pk5.pknic.net.pk/pk5/msgNamepk.PK + grandfathered old gon.pk
+// Contact Email: staff@pknic.net.pk    PKNIC .PK Registry
 
-// pk : http://pk5.pknic.net.pk/pk5/msgNamepk.PK
 pk
+ac.pk
+biz.pk
 com.pk
-net.pk
 edu.pk
-org.pk
 fam.pk
-biz.pk
-web.pk
-gov.pk
+gkp.pk
 gob.pk
+gog.pk
 gok.pk
 gon.pk
 gop.pk
 gos.pk
-info.pk
+gov.pk
+net.pk
+org.pk
+web.pk
 
-// pl http://www.dns.pl/english/index.html
-// Submitted by registry
+// pl : https://www.dns.pl/en/
+// Confirmed by registry <info@dns.pl> 2024-11-18
 pl
 com.pl
 net.pl
 org.pl
-// pl functional domains (http://www.dns.pl/english/index.html)
-aid.pl
+// pl functional domains : 
https://www.dns.pl/en/list_of_functional_domain_names
 agro.pl
+aid.pl
 atm.pl
 auto.pl
 biz.pl
@@ -5111,8 +5149,8 @@ gmina.pl
 gsm.pl
 info.pl
 mail.pl
-miasta.pl
 media.pl
+miasta.pl
 mil.pl
 nieruchomosci.pl
 nom.pl
@@ -5131,7 +5169,8 @@ tm.pl
 tourism.pl
 travel.pl
 turystyka.pl
-// Government domains
+// Government domains : 
https://www.dns.pl/informacje_o_rejestracji_domen_gov_pl
+// In accordance with the .gov.pl Domain Name Regulations : 
https://www.dns.pl/regulamin_gov_pl
 gov.pl
 ap.gov.pl
 griw.gov.pl
@@ -5188,7 +5227,7 @@ wuoz.gov.pl
 wzmiuw.gov.pl
 zp.gov.pl
 zpisdn.gov.pl
-// pl regional domains (http://www.dns.pl/english/index.html)
+// pl regional domains : https://www.dns.pl/en/list_of_regional_domain_names
 augustow.pl
 babia-gora.pl
 bedzin.pl
@@ -5215,11 +5254,11 @@ jaworzno.pl
 jelenia-gora.pl
 jgora.pl
 kalisz.pl
-kazimierz-dolny.pl
 karpacz.pl
 kartuzy.pl
 kaszuby.pl
 katowice.pl
+kazimierz-dolny.pl
 kepno.pl
 ketrzyn.pl
 klodzko.pl
@@ -5262,8 +5301,8 @@ pisz.pl
 podhale.pl
 podlasie.pl
 polkowice.pl
-pomorze.pl
 pomorskie.pl
+pomorze.pl
 prochowice.pl
 pruszkow.pl
 przeworsk.pl
@@ -5274,11 +5313,11 @@ rybnik.pl
 rzeszow.pl
 sanok.pl
 sejny.pl
+skoczow.pl
 slask.pl
 slupsk.pl
 sosnowiec.pl
 stalowa-wola.pl
-skoczow.pl
 starachowice.pl
 stargard.pl
 suwalki.pl
@@ -5314,31 +5353,31 @@ pm
 
 // pn : http://www.government.pn/PnRegistry/policies.htm
 pn
-gov.pn
 co.pn
-org.pn
 edu.pn
+gov.pn
 net.pn
+org.pn
 
-// post : https://en.wikipedia.org/wiki/.post
+// post : https://www.iana.org/domains/root/db/post.html
 post
 
 // pr : http://www.nic.pr/index.asp?f=1
 pr
+biz.pr
 com.pr
-net.pr
-org.pr
-gov.pr
 edu.pr
-isla.pr
-pro.pr
-biz.pr
+gov.pr
 info.pr
+isla.pr
 name.pr
-// these aren't mentioned on nic.pr, but on https://en.wikipedia.org/wiki/.pr
+net.pr
+org.pr
+pro.pr
+// these aren't mentioned on nic.pr, but on 
https://www.iana.org/domains/root/db/pr.html
+ac.pr
 est.pr
 prof.pr
-ac.pr
 
 // pro : http://registry.pro/get-pro
 pro
@@ -5354,36 +5393,32 @@ law.pro
 med.pro
 recht.pro
 
-// ps : https://en.wikipedia.org/wiki/.ps
+// ps : https://www.iana.org/domains/root/db/ps.html
 // http://www.nic.ps/registration/policy.html#reg
 ps
+com.ps
 edu.ps
 gov.ps
-sec.ps
-plo.ps
-com.ps
-org.ps
 net.ps
+org.ps
+plo.ps
+sec.ps
 
 // pt : 
https://www.dns.pt/en/domain/pt-terms-and-conditions-registration-rules/
 pt
-net.pt
+com.pt
+edu.pt
 gov.pt
+int.pt
+net.pt
+nome.pt
 org.pt
-edu.pt
-int.pt
 publ.pt
-com.pt
-nome.pt
 
-// pw : https://en.wikipedia.org/wiki/.pw
+// pw : https://www.iana.org/domains/root/db/pw.html
+// Confirmed by registry in private correspondence with @dnsguru 2024-12-09
 pw
-co.pw
-ne.pw
-or.pw
-ed.pw
-go.pw
-belau.pw
+gov.pw
 
 // py : http://www.nic.py/pautas.html#seccion_9
 // Submitted by registry
@@ -5408,10 +5443,11 @@ org.qa
 sch.qa
 
 // re : 
https://www.afnic.fr/wp-media/uploads/2022/12/afnic-naming-policy-2023-01-01.pdf
+// Confirmed by registry <support@afnic.fr> 2024-11-18
 re
+// Closed for registration on 2013-03-15 but domains are still maintained
 asso.re
 com.re
-nom.re
 
 // ro : http://www.rotld.ro/
 ro
@@ -5453,12 +5489,12 @@ org.rw
 // sa : http://www.nic.net.sa/
 sa
 com.sa
-net.sa
-org.sa
+edu.sa
 gov.sa
 med.sa
+net.sa
+org.sa
 pub.sa
-edu.sa
 sch.sa
 
 // sb : http://www.sbnic.net.sb/
@@ -5473,25 +5509,26 @@ org.sb
 // sc : http://www.nic.sc/
 sc
 com.sc
+edu.sc
 gov.sc
 net.sc
 org.sc
-edu.sc
 
 // sd : http://www.isoc.sd/sudanic.isoc.sd/billing_pricing.htm
 // Submitted by registry <admin@isoc.sd>
 sd
 com.sd
-net.sd
-org.sd
 edu.sd
-med.sd
-tv.sd
 gov.sd
 info.sd
+med.sd
+net.sd
+org.sd
+tv.sd
 
-// se : https://en.wikipedia.org/wiki/.se
-// Submitted by registry <patrik.wallstrom@iis.se>
+// se : https://www.iana.org/domains/root/db/se.html
+// https://data.internetstiftelsen.se/barred_domains_list.txt -> Second level 
domains & Sub-domains
+// Confirmed by Registry Services <registry@internetstiftelsen.se> 2024-11-20
 se
 a.se
 ac.se
@@ -5533,47 +5570,46 @@ x.se
 y.se
 z.se
 
-// sg : 
http://www.nic.net.sg/page/registration-policies-procedures-and-guidelines
+// sg : https://www.sgnic.sg/domain-registration/sg-categories-rules
+// Confirmed by registry <dnq@sgnic.sg> 2024-11-19
 sg
 com.sg
+edu.sg
+gov.sg
 net.sg
 org.sg
-gov.sg
-edu.sg
-per.sg
 
 // sh : http://nic.sh/rules.htm
 sh
 com.sh
-net.sh
 gov.sh
-org.sh
 mil.sh
+net.sh
+org.sh
 
-// si : https://en.wikipedia.org/wiki/.si
+// si : https://www.iana.org/domains/root/db/si.html
 si
 
 // sj : No registrations at this time.
 // Submitted by registry <jarle@uninett.no>
 sj
 
-// sk : https://en.wikipedia.org/wiki/.sk
-// list of 2nd level domains ?
+// sk : https://www.iana.org/domains/root/db/sk.html
 sk
 
 // sl : http://www.nic.sl
 // Submitted by registry <adam@neoip.com>
 sl
 com.sl
-net.sl
 edu.sl
 gov.sl
+net.sl
 org.sl
 
-// sm : https://en.wikipedia.org/wiki/.sm
+// sm : https://www.iana.org/domains/root/db/sm.html
 sm
 
-// sn : https://en.wikipedia.org/wiki/.sn
+// sn : https://www.iana.org/domains/root/db/sn.html
 sn
 art.sn
 com.sn
@@ -5592,13 +5628,14 @@ me.so
 net.so
 org.so
 
-// sr : https://en.wikipedia.org/wiki/.sr
+// sr : https://www.iana.org/domains/root/db/sr.html
 sr
 
 // ss : https://registry.nic.ss/
 // Submitted by registry <technical@nic.ss>
 ss
 biz.ss
+co.ss
 com.ss
 edu.ss
 gov.ss
@@ -5621,7 +5658,7 @@ principe.st
 saotome.st
 store.st
 
-// su : https://en.wikipedia.org/wiki/.su
+// su : https://www.iana.org/domains/root/db/su.html
 su
 
 // sv : http://www.svnet.org.sv/niveldos.pdf
@@ -5632,46 +5669,46 @@ gob.sv
 org.sv
 red.sv
 
-// sx : https://en.wikipedia.org/wiki/.sx
+// sx : https://www.iana.org/domains/root/db/sx.html
 // Submitted by registry <jcvignes@openregistry.com>
 sx
 gov.sx
 
-// sy : https://en.wikipedia.org/wiki/.sy
+// sy : https://www.iana.org/domains/root/db/sy.html
 // see also: http://www.gobin.info/domainname/sy.doc
 sy
+com.sy
 edu.sy
 gov.sy
-net.sy
 mil.sy
-com.sy
+net.sy
 org.sy
 
-// sz : https://en.wikipedia.org/wiki/.sz
+// sz : https://www.iana.org/domains/root/db/sz.html
 // http://www.sispa.org.sz/
 sz
-co.sz
 ac.sz
+co.sz
 org.sz
 
-// tc : https://en.wikipedia.org/wiki/.tc
+// tc : https://www.iana.org/domains/root/db/tc.html
 tc
 
-// td : https://en.wikipedia.org/wiki/.td
+// td : https://www.iana.org/domains/root/db/td.html
 td
 
-// tel: https://en.wikipedia.org/wiki/.tel
+// tel: https://www.iana.org/domains/root/db/tel.html
 // http://www.telnic.org/
 tel
 
 // tf : 
https://www.afnic.fr/wp-media/uploads/2022/12/afnic-naming-policy-2023-01-01.pdf
 tf
 
-// tg : https://en.wikipedia.org/wiki/.tg
+// tg : https://www.iana.org/domains/root/db/tg.html
 // http://www.nic.tg/
 tg
 
-// th : https://en.wikipedia.org/wiki/.th
+// th : https://www.iana.org/domains/root/db/th.html
 // Submitted by registry <krit@thains.co.th>
 th
 ac.th
@@ -5700,23 +5737,24 @@ org.tj
 test.tj
 web.tj
 
-// tk : https://en.wikipedia.org/wiki/.tk
+// tk : https://www.iana.org/domains/root/db/tk.html
 tk
 
-// tl : https://en.wikipedia.org/wiki/.tl
+// tl : https://www.iana.org/domains/root/db/tl.html
 tl
 gov.tl
 
-// tm : http://www.nic.tm/local.html
+// tm : https://www.nic.tm/local.html
+// Confirmed by registry <admin@nic.TM> - 2024-11-19
 tm
-com.tm
 co.tm
-org.tm
-net.tm
-nom.tm
+com.tm
+edu.tm
 gov.tm
 mil.tm
-edu.tm
+net.tm
+nom.tm
+org.tm
 
 // tn : http://www.registre.tn/fr/
 // https://whois.ati.tn/
@@ -5735,15 +5773,15 @@ org.tn
 perso.tn
 tourism.tn
 
-// to : https://en.wikipedia.org/wiki/.to
+// to : https://www.iana.org/domains/root/db/to.html
 // Submitted by registry <egullich@colo.to>
 to
 com.to
+edu.to
 gov.to
+mil.to
 net.to
 org.to
-edu.to
-mil.to
 
 // tr : https://nic.tr/
 // https://nic.tr/forms/eng/policies.pdf
@@ -5759,9 +5797,9 @@ edu.tr
 gen.tr
 gov.tr
 info.tr
-mil.tr
 k12.tr
 kep.tr
+mil.tr
 name.tr
 net.tr
 org.tr
@@ -5775,46 +5813,40 @@ nc.tr
 // Used by government agencies of Northern Cyprus
 gov.nc.tr
 
-// tt : http://www.nic.tt/
+// tt : https://www.nic.tt/
+// Confirmed by registry <admin@nic.tt> - 2024-11-19
 tt
+biz.tt
 co.tt
 com.tt
-org.tt
-net.tt
-biz.tt
+edu.tt
+gov.tt
 info.tt
-pro.tt
-int.tt
-coop.tt
-jobs.tt
-mobi.tt
-travel.tt
-museum.tt
-aero.tt
+mil.tt
 name.tt
-gov.tt
-edu.tt
+net.tt
+org.tt
+pro.tt
 
-// tv : https://en.wikipedia.org/wiki/.tv
+// tv : https://www.iana.org/domains/root/db/tv.html
 // Not listing any 2LDs as reserved since none seem to exist in practice,
 // Wikipedia notwithstanding.
 tv
 
-// tw : https://en.wikipedia.org/wiki/.tw
+// tw : https://www.iana.org/domains/root/db/tw.html
+// https://twnic.tw/dnservice_catag.php
+// Confirmed by registry <dns@twnic.tw> 2024-11-26
 tw
+club.tw
+com.tw
+ebiz.tw
 edu.tw
+game.tw
 gov.tw
+idv.tw
 mil.tw
-com.tw
 net.tw
 org.tw
-idv.tw
-game.tw
-ebiz.tw
-club.tw
-網路.tw
-組織.tw
-商業.tw
 
 // tz : http://www.tznic.or.tz/index.php/domains
 // Submitted by registry <manager@tznic.or.tz>
@@ -5920,16 +5952,16 @@ zt.ua
 
 // ug : https://www.registry.co.ug/
 ug
-co.ug
-or.ug
 ac.ug
-sc.ug
+co.ug
+com.ug
 go.ug
 ne.ug
-com.ug
+or.ug
 org.ug
+sc.ug
 
-// uk : https://en.wikipedia.org/wiki/.uk
+// uk : https://www.iana.org/domains/root/db/uk.html
 // Submitted by registry <Michael.Daly@nominet.org.uk>
 uk
 ac.uk
@@ -5944,14 +5976,13 @@ plc.uk
 police.uk
 *.sch.uk
 
-// us : https://en.wikipedia.org/wiki/.us
+// us : https://www.iana.org/domains/root/db/us.html
+// Confirmed via the .us zone file by William Harrison - 2024-12-10
 us
 dni.us
-fed.us
 isa.us
-kids.us
 nsn.us
-// us geographic names
+// Geographic Names
 ak.us
 al.us
 ar.us
@@ -6000,9 +6031,9 @@ sd.us
 tn.us
 tx.us
 ut.us
+va.us
 vi.us
 vt.us
-va.us
 wa.us
 wi.us
 wv.us
@@ -6060,22 +6091,30 @@ k12.sc.us
 k12.tn.us
 k12.tx.us
 k12.ut.us
+k12.va.us
 k12.vi.us
 k12.vt.us
-k12.va.us
 k12.wa.us
 k12.wi.us
 // k12.wv.us  Bug 947705 - Removed at request of Verne Britton 
<verne@wvnet.edu>
-k12.wy.us
 cc.ak.us
+lib.ak.us
 cc.al.us
+lib.al.us
 cc.ar.us
+lib.ar.us
 cc.as.us
+lib.as.us
 cc.az.us
+lib.az.us
 cc.ca.us
+lib.ca.us
 cc.co.us
+lib.co.us
 cc.ct.us
+lib.ct.us
 cc.dc.us
+lib.dc.us
 cc.de.us
 cc.fl.us
 cc.ga.us
@@ -6115,22 +6154,14 @@ cc.sd.us
 cc.tn.us
 cc.tx.us
 cc.ut.us
+cc.va.us
 cc.vi.us
 cc.vt.us
-cc.va.us
 cc.wa.us
 cc.wi.us
 cc.wv.us
 cc.wy.us
-lib.ak.us
-lib.al.us
-lib.ar.us
-lib.as.us
-lib.az.us
-lib.ca.us
-lib.co.us
-lib.ct.us
-lib.dc.us
+k12.wy.us
 // lib.de.us  Issue #243 - Moved to Private section at request of Ed Moore 
<Ed.Moore@lib.de.us>
 lib.fl.us
 lib.ga.us
@@ -6170,23 +6201,23 @@ lib.sd.us
 lib.tn.us
 lib.tx.us
 lib.ut.us
+lib.va.us
 lib.vi.us
 lib.vt.us
-lib.va.us
 lib.wa.us
 lib.wi.us
 // lib.wv.us  Bug 941670 - Removed at request of Larry W Arnold 
<arnold@wvlc.lib.wv.us>
 lib.wy.us
 // k12.ma.us contains school districts in Massachusetts. The 4LDs are
-//  managed independently except for private (PVT), charter (CHTR) and
-//  parochial (PAROCH) schools.  Those are delegated directly to the
-//  5LD operators.   <k12-ma-hostmaster _ at _ rsuc.gweep.net>
-pvt.k12.ma.us
+// managed independently except for private (PVT), charter (CHTR) and
+// parochial (PAROCH) schools. Those are delegated directly to the
+// 5LD operators. <k12-ma-hostmaster@rsuc.gweep.net>
 chtr.k12.ma.us
 paroch.k12.ma.us
+pvt.k12.ma.us
 // Merit Network, Inc. maintains the registry for =~ /(k12|cc|lib).mi.us/ and 
the following
-//    see also: http://domreg.merit.edu
-//    see also: whois -h whois.domreg.merit.edu help
+// see also: https://domreg.merit.edu : domreg@merit.edu
+// see also: whois -h whois.domreg.merit.edu help
 ann-arbor.mi.us
 cog.mi.us
 dst.mi.us
@@ -6212,18 +6243,18 @@ com.uz
 net.uz
 org.uz
 
-// va : https://en.wikipedia.org/wiki/.va
+// va : https://www.iana.org/domains/root/db/va.html
 va
 
-// vc : https://en.wikipedia.org/wiki/.vc
+// vc : https://www.iana.org/domains/root/db/vc.html
 // Submitted by registry <kshah@ca.afilias.info>
 vc
 com.vc
-net.vc
-org.vc
+edu.vc
 gov.vc
 mil.vc
-edu.vc
+net.vc
+org.vc
 
 // ve : https://registro.nic.ve/
 // Submitted by registry nic@nic.ve and nicve@conatel.gob.ve
@@ -6249,7 +6280,7 @@ store.ve
 tec.ve
 web.ve
 
-// vg : https://en.wikipedia.org/wiki/.vg
+// vg : https://www.iana.org/domains/root/db/vg.html
 vg
 
 // vi : http://www.nic.vi/newdomainform.htm
@@ -6347,7 +6378,7 @@ vinhlong.vn
 vinhphuc.vn
 yenbai.vn
 
-// vu : https://en.wikipedia.org/wiki/.vu
+// vu : https://www.iana.org/domains/root/db/vu.html
 // http://www.vunic.vu/
 vu
 com.vu
@@ -6358,14 +6389,14 @@ org.vu
 // wf : 
https://www.afnic.fr/wp-media/uploads/2022/12/afnic-naming-policy-2023-01-01.pdf
 wf
 
-// ws : https://en.wikipedia.org/wiki/.ws
+// ws : https://www.iana.org/domains/root/db/ws.html
 // http://samoanic.ws/index.dhtml
 ws
 com.ws
+edu.ws
+gov.ws
 net.ws
 org.ws
-gov.ws
-edu.ws
 
 // yt : 
https://www.afnic.fr/wp-media/uploads/2022/12/afnic-naming-policy-2023-01-01.pdf
 yt
@@ -6400,12 +6431,12 @@ yt
 
 // xn--fiqs8s ("Zhongguo/China", Chinese, Simplified) : CN
 // CNNIC
-// http://cnnic.cn/html/Dir/2005/10/11/3218.htm
+// https://www.cnnic.cn/11/192/index.html
 中国
 
 // xn--fiqz9s ("Zhongguo/China", Chinese, Traditional) : CN
 // CNNIC
-// http://cnnic.cn/html/Dir/2005/10/11/3218.htm
+// https://www.cnnic.com.cn/AU/MediaC/Announcement/201609/t20160905_54470.htm
 中國
 
 // xn--lgbbat1ad8j ("Algeria/Al Jazair", Arabic) : DZ
@@ -6438,12 +6469,12 @@ yt
 // Submitted by registry <hk.tech@hkirc.hk>
 // https://www.hkirc.hk/content.jsp?id=30#!/34
 香港
+個人.香港
 公司.香港
-教育.香港
 政府.香港
-個人.香港
-網絡.香港
+教育.香港
 組織.香港
+網絡.香港
 
 // xn--2scrj9c ("Bharat", Kannada) : IN
 // India
@@ -6574,12 +6605,12 @@ yt
 // xn--90a3ac ("srb", Cyrillic) : RS
 // https://www.rnids.rs/en/domains/national-domains
 срб
-пр.срб
-орг.срб
+ак.срб
 обр.срб
 од.срб
+орг.срб
+пр.срб
 упр.срб
-ак.срб
 
 // xn--p1ai ("rf", Russian-Cyrillic) : RU
 // https://cctld.ru/files/pdf/docs/en/rules_ru-rf.pdf
@@ -6622,11 +6653,11 @@ yt
 // xn--o3cw4h ("Thai", Thai) : TH
 // http://www.thnic.co.th
 ไทย
-ศึกษา.ไทย
-ธุรกิจ.ไทย
-รัฐบาล.ไทย
 ทหาร.ไทย
+ธุรกิจ.ไทย
 เน็ต.ไทย
+รัฐบาล.ไทย
+ศึกษา.ไทย
 องค์กร.ไทย
 
 // xn--pgbs0dh ("Tunisia", Arabic) : TN
@@ -6634,7 +6665,7 @@ yt
 تونس
 
 // xn--kpry57d ("Taiwan", Chinese, Traditional) : TW
-// http://www.twnic.net/english/dn/dn_07a.htm
+// https://twnic.tw/dnservice_catag.php
 台灣
 
 // xn--kprw13d ("Taiwan", Chinese, Simplified) : TW
@@ -6658,8 +6689,8 @@ ye
 com.ye
 edu.ye
 gov.ye
-net.ye
 mil.ye
+net.ye
 org.ye
 
 // za : https://www.zadna.org.za/content/page/domain-information/
@@ -6706,10 +6737,9 @@ gov.zw
 mil.zw
 org.zw
 
-
 // newGTLDs
 
-// List of new gTLDs imported from 
https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 
2024-06-13T15:15:16Z
+// List of new gTLDs imported from 
https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 
2024-12-12T15:18:58Z
 // This list is auto-generated, don't edit it manually.
 // aaa : American Automobile Association, Inc.
 // https://www.iana.org/domains/root/db/aaa.html
@@ -6939,7 +6969,7 @@ art
 // https://www.iana.org/domains/root/db/arte.html
 arte
 
-// asda : Wal-Mart Stores, Inc.
+// asda : Asda Stores Limited
 // https://www.iana.org/domains/root/db/asda.html
 asda
 
@@ -7655,10 +7685,6 @@ cymru
 // https://www.iana.org/domains/root/db/cyou.html
 cyou
 
-// dabur : Dabur India Limited
-// https://www.iana.org/domains/root/db/dabur.html
-dabur
-
 // dad : Charleston Road Registry Inc.
 // https://www.iana.org/domains/root/db/dad.html
 dad
@@ -8111,7 +8137,7 @@ forex
 // https://www.iana.org/domains/root/db/forsale.html
 forsale
 
-// forum : Fegistry, LLC
+// forum : Waterford Limited
 // https://www.iana.org/domains/root/db/forum.html
 forum
 
@@ -8391,11 +8417,11 @@ haus
 // https://www.iana.org/domains/root/db/hbo.html
 hbo
 
-// hdfc : HOUSING DEVELOPMENT FINANCE CORPORATION LIMITED
+// hdfc : HDFC BANK LIMITED
 // https://www.iana.org/domains/root/db/hdfc.html
 hdfc
 
-// hdfcbank : HDFC Bank Limited
+// hdfcbank : HDFC BANK LIMITED
 // https://www.iana.org/domains/root/db/hdfcbank.html
 hdfcbank
 
@@ -9023,7 +9049,7 @@ maison
 // https://www.iana.org/domains/root/db/makeup.html
 makeup
 
-// man : MAN SE
+// man : MAN Truck & Bus SE
 // https://www.iana.org/domains/root/db/man.html
 man
 
@@ -9103,6 +9129,10 @@ men
 // https://www.iana.org/domains/root/db/menu.html
 menu
 
+// merck : Merck Registry Holdings, Inc.
+// https://www.iana.org/domains/root/db/merck.html
+merck
+
 // merckmsd : MSD Registry Holdings, Inc.
 // https://www.iana.org/domains/root/db/merckmsd.html
 merckmsd
@@ -9315,7 +9345,7 @@ nissay
 // https://www.iana.org/domains/root/db/nokia.html
 nokia
 
-// norton : NortonLifeLock Inc.
+// norton : Gen Digital Inc.
 // https://www.iana.org/domains/root/db/norton.html
 norton
 
@@ -9683,7 +9713,7 @@ realestate
 // https://www.iana.org/domains/root/db/realtor.html
 realtor
 
-// realty : Internet Naming Company LLC
+// realty : Waterford Limited
 // https://www.iana.org/domains/root/db/realty.html
 realty
 
@@ -9999,10 +10029,6 @@ shangrila
 // https://www.iana.org/domains/root/db/sharp.html
 sharp
 
-// shaw : Shaw Cablesystems G.P.
-// https://www.iana.org/domains/root/db/shaw.html
-shaw
-
 // shell : Shell Information Technology International Inc
 // https://www.iana.org/domains/root/db/shell.html
 shell
@@ -10059,7 +10085,7 @@ ski
 // https://www.iana.org/domains/root/db/skin.html
 skin
 
-// sky : Sky International AG
+// sky : Sky UK Limited
 // https://www.iana.org/domains/root/db/sky.html
 sky
 
@@ -10495,7 +10521,7 @@ ups
 // https://www.iana.org/domains/root/db/vacations.html
 vacations
 
-// vana : Internet Naming Company LLC
+// vana : D3 Registry LLC
 // https://www.iana.org/domains/root/db/vana.html
 vana
 
@@ -10767,7 +10793,7 @@ xin
 // https://www.iana.org/domains/root/db/xn--3bst00m.html
 集团
 
-// xn--3ds443g : TLD REGISTRY LIMITED OY
+// xn--3ds443g : Beijing TLD Registry Technology Limited
 // https://www.iana.org/domains/root/db/xn--3ds443g.html
 在线
 
@@ -11123,7 +11149,7 @@ yahoo
 // https://www.iana.org/domains/root/db/yamaxun.html
 yamaxun
 
-// yandex : Yandex Europe B.V.
+// yandex : ADC Tech Netherlands B.V.
 // https://www.iana.org/domains/root/db/yandex.html
 yandex
 
@@ -11175,11 +11201,28 @@ zone
 // https://www.iana.org/domains/root/db/zuerich.html
 zuerich
 
-
 // ===END ICANN DOMAINS===
+
 // ===BEGIN PRIVATE DOMAINS===
+
 // (Note: these are in alphabetical order by company name)
 
+// .KRD : https://nic.krd
+co.krd
+edu.krd
+
+// .pl domains (grandfathered)
+art.pl
+gliwice.pl
+krakow.pl
+poznan.pl
+wroc.pl
+zakopane.pl
+
+// .US
+// Submitted by Ed Moore <Ed.Moore@lib.de.us>
+lib.de.us
+
 // 12CHARS: https://12chars.com
 // Submitted by Kenny Niehage <psl@12chars.com>
 12chars.dev
@@ -11192,26 +11235,14 @@ cc.ua
 inf.ua
 ltd.ua
 
-// 611coin : https://611project.org/
+// 611 blockchain domain name system : https://611project.net/
 611.to
 
-// AAA workspace : https://aaa.vodka
-// Submitted by Kirill Rezraf <admin@aaa.vodka>
-aaa.vodka
-
 // A2 Hosting
 // Submitted by Tyler Hall <sysadmin@a2hosting.com>
 a2hosted.com
 cpserver.com
 
-// Aaron Marais' Gitlab pages: https://lab.aaronleem.co.za
-// Submitted by Aaron Marais <its_me@aaronleem.co.za>
-graphox.us
-
-// accesso Technology Group, plc. : https://accesso.com/
-// Submitted by accesso Team <accessoecommerce@accesso.com>
-*.devcdnaccesso.com
-
 // Acorn Labs : https://acorn.io
 // Submitted by Craig Jellick <domains@acorn.io>
 *.on-acorn.io
@@ -11224,6 +11255,13 @@ activetrail.biz
 // Submitted by Mark Terrel <support@adaptable.io>
 adaptable.app
 
+// addr.tools : https://addr.tools/
+// Submitted by Brian Shea <publicsuffixlist@addr.tools>
+myaddr.dev
+myaddr.io
+dyn.addr.tools
+myaddr.tools
+
 // Adobe : https://www.adobe.com/
 // Submitted by Ian Boston <boston@adobe.com> and Lars Trieloff 
<trieloff@adobe.com>
 adobeaemcloud.com
@@ -11240,6 +11278,10 @@ hlx3.page
 adobeio-static.net
 adobeioruntime.net
 
+// Africa.com Web Solutions Ltd : https://registry.africa.com
+// Submitted by Gavin Brown <gavin.brown@centralnic.com>
+africa.com
+
 // Agnat sp. z o.o. : https://domena.pl
 // Submitted by Przemyslaw Plewa <it-admin@domena.pl>
 beep.pl
@@ -11250,8 +11292,9 @@ airkitapps.com
 airkitapps-au.com
 airkitapps.eu
 
-// Aiven: https://aiven.io/
-// Submitted by Etienne Stalmans <security@aiven.io>
+// Aiven : https://aiven.io/
+// Submitted by Aiven Security Team <security+appdomains@aiven.io>
+aiven.app
 aivencloud.com
 
 // Akamai : https://www.akamai.com/
@@ -11303,7 +11346,7 @@ myamaze.net
 
 // Amazon API Gateway
 // Submitted by AWS Security <psl-maintainers@amazon.com>
-// Reference: 9e37648f-a66c-4655-9ab1-5981f8737197
+// Reference: 6a4f5a95-8c7d-4077-a7af-9cf1abec0a53
 execute-api.cn-north-1.amazonaws.com.cn
 execute-api.cn-northwest-1.amazonaws.com.cn
 execute-api.af-south-1.amazonaws.com
@@ -11317,6 +11360,7 @@ execute-api.ap-southeast-1.amazonaws.com
 execute-api.ap-southeast-2.amazonaws.com
 execute-api.ap-southeast-3.amazonaws.com
 execute-api.ap-southeast-4.amazonaws.com
+execute-api.ap-southeast-5.amazonaws.com
 execute-api.ca-central-1.amazonaws.com
 execute-api.ca-west-1.amazonaws.com
 execute-api.eu-central-1.amazonaws.com
@@ -11345,8 +11389,9 @@ cloudfront.net
 
 // Amazon Cognito
 // Submitted by AWS Security <psl-maintainers@amazon.com>
-// Reference: 09588633-91fe-49d8-b4e7-ec36496d11f3
+// Reference: cb38c251-c93d-4cda-81ec-e72c4f0fdb72
 auth.af-south-1.amazoncognito.com
+auth.ap-east-1.amazoncognito.com
 auth.ap-northeast-1.amazoncognito.com
 auth.ap-northeast-2.amazoncognito.com
 auth.ap-northeast-3.amazoncognito.com
@@ -11357,6 +11402,7 @@ auth.ap-southeast-2.amazoncognito.com
 auth.ap-southeast-3.amazoncognito.com
 auth.ap-southeast-4.amazoncognito.com
 auth.ca-central-1.amazoncognito.com
+auth.ca-west-1.amazoncognito.com
 auth.eu-central-1.amazoncognito.com
 auth.eu-central-2.amazoncognito.com
 auth.eu-north-1.amazoncognito.com
@@ -11492,23 +11538,32 @@ emrstudio-prod.us-west-2.amazonaws.com
 
 // Amazon Managed Workflows for Apache Airflow
 // Submitted by AWS Security <psl-maintainers@amazon.com>
-// Reference: 87f24ece-a77e-40e8-bb4a-f6b74fe9f975
+// Reference: f5ea5d0a-ec6a-4f23-ac1c-553fbff13f5c
 *.cn-north-1.airflow.amazonaws.com.cn
 *.cn-northwest-1.airflow.amazonaws.com.cn
 *.af-south-1.airflow.amazonaws.com
 *.ap-east-1.airflow.amazonaws.com
 *.ap-northeast-1.airflow.amazonaws.com
 *.ap-northeast-2.airflow.amazonaws.com
+*.ap-northeast-3.airflow.amazonaws.com
 *.ap-south-1.airflow.amazonaws.com
+*.ap-south-2.airflow.amazonaws.com
 *.ap-southeast-1.airflow.amazonaws.com
 *.ap-southeast-2.airflow.amazonaws.com
+*.ap-southeast-3.airflow.amazonaws.com
+*.ap-southeast-4.airflow.amazonaws.com
 *.ca-central-1.airflow.amazonaws.com
+*.ca-west-1.airflow.amazonaws.com
 *.eu-central-1.airflow.amazonaws.com
+*.eu-central-2.airflow.amazonaws.com
 *.eu-north-1.airflow.amazonaws.com
 *.eu-south-1.airflow.amazonaws.com
+*.eu-south-2.airflow.amazonaws.com
 *.eu-west-1.airflow.amazonaws.com
 *.eu-west-2.airflow.amazonaws.com
 *.eu-west-3.airflow.amazonaws.com
+*.il-central-1.airflow.amazonaws.com
+*.me-central-1.airflow.amazonaws.com
 *.me-south-1.airflow.amazonaws.com
 *.sa-east-1.airflow.amazonaws.com
 *.us-east-1.airflow.amazonaws.com
@@ -11518,7 +11573,7 @@ emrstudio-prod.us-west-2.amazonaws.com
 
 // Amazon S3
 // Submitted by AWS Security <psl-maintainers@amazon.com>
-// Reference: cd5c8b3a-67b7-4b40-9236-c87ce81a3d10
+// Reference: ada5c9df-55e1-4195-a1ce-732d6c81e357
 s3.dualstack.cn-north-1.amazonaws.com.cn
 s3-accesspoint.dualstack.cn-north-1.amazonaws.com.cn
 s3-website.dualstack.cn-north-1.amazonaws.com.cn
@@ -11576,6 +11631,7 @@ s3-object-lambda.ap-south-1.amazonaws.com
 s3-website.ap-south-1.amazonaws.com
 s3.dualstack.ap-south-2.amazonaws.com
 s3-accesspoint.dualstack.ap-south-2.amazonaws.com
+s3-website.dualstack.ap-south-2.amazonaws.com
 s3.ap-south-2.amazonaws.com
 s3-accesspoint.ap-south-2.amazonaws.com
 s3-object-lambda.ap-south-2.amazonaws.com
@@ -11596,16 +11652,26 @@ s3-object-lambda.ap-southeast-2.amazonaws.com
 s3-website.ap-southeast-2.amazonaws.com
 s3.dualstack.ap-southeast-3.amazonaws.com
 s3-accesspoint.dualstack.ap-southeast-3.amazonaws.com
+s3-website.dualstack.ap-southeast-3.amazonaws.com
 s3.ap-southeast-3.amazonaws.com
 s3-accesspoint.ap-southeast-3.amazonaws.com
 s3-object-lambda.ap-southeast-3.amazonaws.com
 s3-website.ap-southeast-3.amazonaws.com
 s3.dualstack.ap-southeast-4.amazonaws.com
 s3-accesspoint.dualstack.ap-southeast-4.amazonaws.com
+s3-website.dualstack.ap-southeast-4.amazonaws.com
 s3.ap-southeast-4.amazonaws.com
 s3-accesspoint.ap-southeast-4.amazonaws.com
 s3-object-lambda.ap-southeast-4.amazonaws.com
 s3-website.ap-southeast-4.amazonaws.com
+s3.dualstack.ap-southeast-5.amazonaws.com
+s3-accesspoint.dualstack.ap-southeast-5.amazonaws.com
+s3-website.dualstack.ap-southeast-5.amazonaws.com
+s3.ap-southeast-5.amazonaws.com
+s3-accesspoint.ap-southeast-5.amazonaws.com
+s3-deprecated.ap-southeast-5.amazonaws.com
+s3-object-lambda.ap-southeast-5.amazonaws.com
+s3-website.ap-southeast-5.amazonaws.com
 s3.dualstack.ca-central-1.amazonaws.com
 s3-accesspoint.dualstack.ca-central-1.amazonaws.com
 s3-accesspoint-fips.dualstack.ca-central-1.amazonaws.com
@@ -11626,6 +11692,7 @@ s3.ca-west-1.amazonaws.com
 s3-accesspoint.ca-west-1.amazonaws.com
 s3-accesspoint-fips.ca-west-1.amazonaws.com
 s3-fips.ca-west-1.amazonaws.com
+s3-object-lambda.ca-west-1.amazonaws.com
 s3-website.ca-west-1.amazonaws.com
 s3.dualstack.eu-central-1.amazonaws.com
 s3-accesspoint.dualstack.eu-central-1.amazonaws.com
@@ -11636,6 +11703,7 @@ s3-object-lambda.eu-central-1.amazonaws.com
 s3-website.eu-central-1.amazonaws.com
 s3.dualstack.eu-central-2.amazonaws.com
 s3-accesspoint.dualstack.eu-central-2.amazonaws.com
+s3-website.dualstack.eu-central-2.amazonaws.com
 s3.eu-central-2.amazonaws.com
 s3-accesspoint.eu-central-2.amazonaws.com
 s3-object-lambda.eu-central-2.amazonaws.com
@@ -11655,6 +11723,7 @@ s3-object-lambda.eu-south-1.amazonaws.com
 s3-website.eu-south-1.amazonaws.com
 s3.dualstack.eu-south-2.amazonaws.com
 s3-accesspoint.dualstack.eu-south-2.amazonaws.com
+s3-website.dualstack.eu-south-2.amazonaws.com
 s3.eu-south-2.amazonaws.com
 s3-accesspoint.eu-south-2.amazonaws.com
 s3-object-lambda.eu-south-2.amazonaws.com
@@ -11682,12 +11751,14 @@ s3-object-lambda.eu-west-3.amazonaws.com
 s3-website.eu-west-3.amazonaws.com
 s3.dualstack.il-central-1.amazonaws.com
 s3-accesspoint.dualstack.il-central-1.amazonaws.com
+s3-website.dualstack.il-central-1.amazonaws.com
 s3.il-central-1.amazonaws.com
 s3-accesspoint.il-central-1.amazonaws.com
 s3-object-lambda.il-central-1.amazonaws.com
 s3-website.il-central-1.amazonaws.com
 s3.dualstack.me-central-1.amazonaws.com
 s3-accesspoint.dualstack.me-central-1.amazonaws.com
+s3-website.dualstack.me-central-1.amazonaws.com
 s3.me-central-1.amazonaws.com
 s3-accesspoint.me-central-1.amazonaws.com
 s3-object-lambda.me-central-1.amazonaws.com
@@ -11756,6 +11827,7 @@ s3.dualstack.us-east-2.amazonaws.com
 s3-accesspoint.dualstack.us-east-2.amazonaws.com
 s3-accesspoint-fips.dualstack.us-east-2.amazonaws.com
 s3-fips.dualstack.us-east-2.amazonaws.com
+s3-website.dualstack.us-east-2.amazonaws.com
 s3.us-east-2.amazonaws.com
 s3-accesspoint.us-east-2.amazonaws.com
 s3-accesspoint-fips.us-east-2.amazonaws.com
@@ -11903,6 +11975,11 @@ studio.us-west-2.sagemaker.aws
 studio.cn-north-1.sagemaker.com.cn
 studio.cn-northwest-1.sagemaker.com.cn
 
+// Amazon SageMaker with MLflow
+// Submited by: AWS Security <psl-maintainers@amazon.com>
+// Reference: c19f92b3-a82a-452d-8189-831b572eea7e
+*.experiments.sagemaker.aws
+
 // Analytics on AWS
 // Submitted by AWS Security <psl-maintainers@amazon.com>
 // Reference: 955f9f40-a495-4e73-ae85-67b77ac9cadd
@@ -11919,8 +11996,8 @@ analytics-gateway.us-west-2.amazonaws.com
 
 // AWS Amplify
 // Submitted by AWS Security <psl-maintainers@amazon.com>
-// Reference: 5ecce854-c033-4fc4-a755-1a9916d9a9bb
-*.amplifyapp.com
+// Reference: c35bed18-6f4f-424f-9298-5756f2f7d72b
+amplifyapp.com
 
 // AWS App Runner
 // Submitted by AWS Security <psl-maintainers@amazon.com>
@@ -12057,16 +12134,11 @@ eero-stage.online
 
 // concludes Amazon
 
-// Amune : https://amune.org/
-// Submitted by Team Amune <cert@amune.org>
-t3l3p0rt.net
-tele.amune.org
-
 // Apigee : https://apigee.com/
 // Submitted by Apigee Security Team <security@apigee.com>
 apigee.io
 
-// Apis Networks: https://apisnetworks.com
+// Apis Networks : https://apisnetworks.com
 // Submitted by Matt Saladna <matt@apisnetworks.com>
 panel.dev
 
@@ -12091,6 +12163,10 @@ on-aptible.com
 // Submitted by Aki Ueno <admin@aquapal.net>
 f5.si
 
+// ArvanCloud EdgeCompute
+// Submitted by ArvanCloud CDN <cdn@arvancloud.ir>
+arvanedge.ir
+
 // ASEINet : https://www.aseinet.com/
 // Submitted by Asei SEKIGUCHI <mail@aseinet.com>
 user.aseinet.ne.jp
@@ -12120,10 +12196,6 @@ cdn.prod.atlassian-dev.net
 // Submitted by Lukas Reschke <lukas@authentick.net>
 translated.page
 
-// Autocode : https://autocode.com
-// Submitted by Jacob Lee <jacob@autocode.com>
-autocode.dev
-
 // AVM : https://avm.de
 // Submitted by Andreas Weise <a.weise@avm.de>
 myfritz.link
@@ -12138,7 +12210,7 @@ onavstack.net
 *.awdev.ca
 *.advisor.ws
 
-// AZ.pl sp. z.o.o: https://az.pl
+// AZ.pl sp. z.o.o : https://az.pl
 // Submitted by Krzysztof Wolski <krzysztof.wolski@home.eu>
 ecommerce-shop.pl
 
@@ -12146,25 +12218,10 @@ ecommerce-shop.pl
 // Submitted by Olivier Benz <olivier.benz@b-data.ch>
 b-data.io
 
-// backplane : https://www.backplane.io
-// Submitted by Anthony Voutas <anthony@backplane.io>
-backplaneapp.io
-
 // Balena : https://www.balena.io
 // Submitted by Petros Angelatos <petrosagg@balena.io>
 balena-devices.com
 
-// University of Banja Luka : https://unibl.org
-// Domains for Republic of Srpska administrative entity.
-// Submitted by Marko Ivanovic <kormang@hotmail.rs>
-rs.ba
-
-// Banzai Cloud
-// Submitted by Janos Matyas <info@banzaicloud.com>
-*.banzai.cloud
-app.banzaicloud.io
-*.backyards.banzaicloud.io
-
 // BASE, Inc. : https://binc.jp
 // Submitted by Yuya NAGASAWA <public-suffix-list@binc.jp>
 base.ec
@@ -12190,14 +12247,6 @@ beagleboard.io
 // Submitted by Hazel Cora <hazy@besties.house>
 pages.gay
 
-// BetaInABox
-// Submitted by Adrian <adrian@betainabox.com>
-betainabox.com
-
-// University of Bielsko-Biala regional domain: http://dns.bielsko.pl/
-// Submitted by Marcin <dns@ath.bielsko.pl>
-bielsko.pl
-
 // BinaryLane : http://www.binarylane.com
 // Submitted by Nathan O'Sullivan <nathan@mammoth.com.au>
 bnr.la
@@ -12252,6 +12301,11 @@ shop.brendly.rs
 // Submitted by Dave Tharp <browsersafetymark.io@quicinc.com>
 browsersafetymark.io
 
+// BRS Media : https://brsmedia.com/
+// Submitted by Gavin Brown <gavin.brown@centralnic.com>
+radio.am
+radio.fm
+
 // Bytemark Hosting : https://www.bytemark.co.uk
 // Submitted by Paul Cammish <paul.cammish@bytemark.co.uk>
 uk0.bigv.io
@@ -12262,10 +12316,6 @@ vm.bytemark.co.uk
 // Submitted by Antonio Lain <antlai@cafjs.com>
 cafjs.com
 
-// callidomus : https://www.callidomus.com/
-// Submitted by Marcus Popp <admin@callidomus.com>
-mycd.eu
-
 // Canva Pty Ltd : https://canva.com/
 // Submitted by Joel Aquilina <publicsuffixlist@canva.com>
 canva-apps.cn
@@ -12281,75 +12331,42 @@ carrd.co
 crd.co
 ju.mp
 
-// CentralNic : http://www.centralnic.com/names/domains
-// Submitted by registry <gavin.brown@centralnic.com>
-za.bz
-br.com
-cn.com
-de.com
-eu.com
-jpn.com
-mex.com
-ru.com
-sa.com
-uk.com
-us.com
-za.com
-com.de
-gb.net
-hu.net
-jp.net
-se.net
-uk.net
-ae.org
-com.se
-
-// No longer operated by CentralNic, these entries should be adopted and/or 
removed by current operators
-// Submitted by Gavin Brown <gavin.brown@centralnic.com>
-ar.com
-hu.com
-kr.com
-no.com
-qc.com
-uy.com
-
-// Africa.com Web Solutions Ltd : https://registry.africa.com
-// Submitted by Gavin Brown <gavin.brown@centralnic.com>
-africa.com
-
-// iDOT Services Limited : http://www.domain.gr.com
-// Submitted by Gavin Brown <gavin.brown@centralnic.com>
-gr.com
-
-// Radix FZC : http://domains.in.net
-// Submitted by Gavin Brown <gavin.brown@centralnic.com>
-web.in
-in.net
-
-// US REGISTRY LLC : http://us.org
-// Submitted by Gavin Brown <gavin.brown@centralnic.com>
-us.org
-
-// co.com Registry, LLC : https://registry.co.com
-// Submitted by Gavin Brown <gavin.brown@centralnic.com>
-co.com
-
-// Roar Domains LLC : https://roar.basketball/
-// Submitted by Gavin Brown <gavin.brown@centralnic.com>
-aus.basketball
-nz.basketball
-
-// BRS Media : https://brsmedia.com/
-// Submitted by Gavin Brown <gavin.brown@centralnic.com>
-radio.am
-radio.fm
+// CDDO : https://www.gov.uk/guidance/get-an-api-domain-on-govuk
+// Submitted by Jamie Tanna <jamie.tanna@digital.cabinet-office.gov.uk>
+api.gov.uk
 
-// c.la : http://www.c.la/
-c.la
+// CDN77.com : http://www.cdn77.com
+// Submitted by Jan Krpes <jan.krpes@cdn77.com>
+cdn77-storage.com
+rsc.contentproxy9.cz
+r.cdn77.net
+cdn77-ssl.net
+c.cdn77.org
+rsc.cdn77.org
+ssl.origin.cdn77-secure.org
 
-// certmgr.org : https://certmgr.org
-// Submitted by B. Blechschmidt <hostmaster@certmgr.org>
-certmgr.org
+// CentralNic : https://teaminternet.com/
+// Submitted by registry <gavin.brown@centralnic.com>
+za.bz
+br.com
+cn.com
+de.com
+eu.com
+jpn.com
+mex.com
+ru.com
+sa.com
+uk.com
+us.com
+za.com
+com.de
+gb.net
+hu.net
+jp.net
+se.net
+uk.net
+ae.org
+com.se
 
 // Cityhost LLC  : https://cityhost.ua
 // Submitted by Maksym Rivtin <support@cityhost.net.ua>
@@ -12360,13 +12377,6 @@ cx.ua
 discourse.group
 discourse.team
 
-// Clever Cloud : https://www.clever-cloud.com/
-// Submitted by Quentin Adam <noc@clever-cloud.com>
-cleverapps.cc
-*.services.clever-cloud.com
-cleverapps.io
-cleverapps.tech
-
 // Clerk : https://www.clerk.dev
 // Submitted by Colin Sidoti <systems@clerk.dev>
 clerk.app
@@ -12376,10 +12386,44 @@ clerkstage.app
 *.stg.dev
 *.stgstage.dev
 
+// Clever Cloud : https://www.clever-cloud.com/
+// Submitted by Quentin Adam <noc@clever-cloud.com>
+cleverapps.cc
+*.services.clever-cloud.com
+cleverapps.io
+cleverapps.tech
+
 // ClickRising : https://clickrising.com/
 // Submitted by Umut Gumeli <infrastructure-publicsuffixlist@clickrising.com>
 clickrising.net
 
+// Cloud DNS Ltd : http://www.cloudns.net
+// Submitted by Aleksander Hristov <noc@cloudns.net> & Boyan Peychev 
<boyan@cloudns.net>
+cloudns.asia
+cloudns.be
+cloud-ip.biz
+cloudns.biz
+cloudns.cc
+cloudns.ch
+cloudns.cl
+cloudns.club
+dnsabr.com
+ip-ddns.com
+cloudns.cx
+cloudns.eu
+cloudns.in
+cloudns.info
+ddns-ip.net
+dns-cloud.net
+dns-dynamic.net
+cloudns.nz
+cloudns.org
+ip-dynamic.org
+cloudns.ph
+cloudns.pro
+cloudns.pw
+cloudns.us
+
 // Cloud66 : https://www.cloud66.com/
 // Submitted by Khash Sajadi <khash@cloud66.com>
 c66.me
@@ -12394,11 +12438,6 @@ cloudaccess.host
 freesite.host
 cloudaccess.net
 
-// cloudControl : https://www.cloudcontrol.com/
-// Submitted by Tobias Wilken <tw@cloudcontrol.com>
-cloudcontrolapp.com
-cloudcontrolled.com
-
 // Cloudera, Inc. : https://www.cloudera.com/
 // Submitted by Kedarnath Waikar <security@cloudera.com>
 *.cloudera.site
@@ -12411,11 +12450,11 @@ trycloudflare.com
 pages.dev
 r2.dev
 workers.dev
+cloudflare.net
+cdn.cloudflare.net
 cdn.cloudflareanycast.net
 cdn.cloudflarecn.net
 cdn.cloudflareglobal.net
-cloudflare.net
-cdn.cloudflare.net
 
 // cloudscale.ch AG : https://www.cloudscale.ch/
 // Submitted by Gaudenz Steinlin <support@cloudscale.ch>
@@ -12427,53 +12466,20 @@ objects.rma.cloudscale.ch
 // Submitted by Patrick Nielsen <patrick@clovyr.io>
 wnext.app
 
-// co.ca : http://registry.co.ca/
-co.ca
+// CNPY : https://cnpy.gdn
+// Submitted by Angelo Gladding <angelo@lahacker.net>
+cnpy.gdn
 
 // Co & Co : https://co-co.nl/
 // Submitted by Govert Versluis <govert@co-co.nl>
 *.otap.co
 
-// i-registry s.r.o. : http://www.i-registry.cz/
-// Submitted by Martin Semrad <semrad@i-registry.cz>
-co.cz
-
-// CDN77.com : http://www.cdn77.com
-// Submitted by Jan Krpes <jan.krpes@cdn77.com>
-cdn77-storage.com
-rsc.contentproxy9.cz
-r.cdn77.net
-cdn77-ssl.net
-c.cdn77.org
-rsc.cdn77.org
-ssl.origin.cdn77-secure.org
-
-// Cloud DNS Ltd : http://www.cloudns.net
-// Submitted by Aleksander Hristov <noc@cloudns.net> & Boyan Peychev 
<boyan@cloudns.net>
-cloudns.asia
-cloudns.be
-cloudns.biz
-cloudns.cc
-cloudns.ch
-cloudns.cl
-cloudns.club
-dnsabr.com
-cloudns.cx
-cloudns.eu
-cloudns.in
-cloudns.info
-dns-cloud.net
-dns-dynamic.net
-cloudns.nz
-cloudns.org
-cloudns.ph
-cloudns.pro
-cloudns.pw
-cloudns.us
+// co.ca : http://registry.co.ca/
+co.ca
 
-// CNPY : https://cnpy.gdn
-// Submitted by Angelo Gladding <angelo@lahacker.net>
-cnpy.gdn
+// co.com Registry, LLC : https://registry.co.com
+// Submitted by Gavin Brown <gavin.brown@centralnic.com>
+co.com
 
 // Codeberg e. V. : https://codeberg.org
 // Submitted by Moritz Marquardt <git@momar.de>
@@ -12493,6 +12499,10 @@ co.no
 webhosting.be
 hosting-cluster.nl
 
+// Contentful GmbH : https://www.contentful.com
+// Submitted by Contentful Developer Experience Team 
<prd-ecosystem-dx@contentful.com>
+ctfcloud.net
+
 // Convex : https://convex.dev/
 // Submitted by James Cowling <security@convex.dev>
 convex.site
@@ -12504,7 +12514,6 @@ edu.ru
 gov.ru
 int.ru
 mil.ru
-test.ru
 
 // COSIMO GmbH : http://www.cosimo.de
 // Submitted by Rene Marticke <rmarticke@cosimo.de>
@@ -12518,9 +12527,9 @@ feste-ip.net
 knx-server.net
 static-access.net
 
-// cPanel L.L.C. : https://www.cpanel.net/
-// Submitted by Dustin Scherer <public.suffix@cpanel.net>
-*.cprapid.com
+// Craft Docs Ltd : https://www.craft.do/
+// Submitted by Zsombor Fuszenecker <security@craft.do>
+craft.me
 
 // Craynic, s.r.o. : http://www.craynic.com/
 // Submitted by Ales Krajnik <ales.krajnik@craynic.com>
@@ -12534,54 +12543,19 @@ on.crisp.email
 // Submitted by Andrew Cady <public-suffix-list@cryptonomic.net>
 *.cryptonomic.net
 
-// Cupcake : https://cupcake.io/
-// Submitted by Jonathan Rudenberg <jonathan@cupcake.io>
-cupcake.is
-
 // Curv UG : https://curv-labs.de/
 // Submitted by Marvin Wiesner <Marvin@curv-labs.de>
 curv.dev
 
-// Customer OCI - Oracle Dyn https://cloud.oracle.com/home https://dyn.com/dns/
-// Submitted by Gregory Drake <support@dyn.com>
-// Note: This is intended to also include customer-oci.com due to wildcards 
implicitly including the current label
-*.customer-oci.com
-*.oci.customer-oci.com
-*.ocp.customer-oci.com
-*.ocs.customer-oci.com
-
-// Cyclic Software : https://www.cyclic.sh
-// Submitted by Kam Lasater <dns-admin@cyclic.sh>
-cyclic.app
-cyclic.cloud
-cyclic-app.com
-cyclic.co.in
+// cyber_Folks S.A. : https://cyberfolks.pl
+// Submitted by Bartlomiej Kida <security@cyberfolks.pl>
+cfolks.pl
 
 // cyon GmbH : https://www.cyon.ch/
 // Submitted by Dominic Luechinger <dol@cyon.ch>
 cyon.link
 cyon.site
 
-// Danger Science Group: https://dangerscience.com/
-// Submitted by Skylar MacDonald <skylar@dangerscience.com>
-platform0.app
-fnwk.site
-folionetwork.site
-
-// Daplie, Inc : https://daplie.com
-// Submitted by AJ ONeal <aj@daplie.com>
-daplie.me
-localhost.daplie.me
-
-// Datto, Inc. : https://www.datto.com/
-// Submitted by Philipp Heckel <ph@datto.com>
-dattolocal.com
-dattorelay.com
-dattoweb.com
-mydatto.com
-dattolocal.net
-mydatto.net
-
 // Dansk.net : http://www.dansk.net/
 // Submitted by Anani Voule <digital@digital.co.dk>
 biz.dk
@@ -12594,11 +12568,6 @@ store.dk
 // Submitted by Abel Boldu / DAppNode Team <community@dappnode.io>
 dyndns.dappnode.io
 
-// dapps.earth : https://dapps.earth/
-// Submitted by Daniil Burdakov <icqkill@gmail.com>
-*.dapps.earth
-*.bzz.dapps.earth
-
 // Dark, Inc. : https://darklang.com
 // Submitted by Paul Biggar <ops@darklang.com>
 builtwithdark.com
@@ -12613,14 +12582,36 @@ instance.datadetect.com
 // Submitted by Richard Li <secalert@datawire.io>
 edgestack.me
 
-// DDNS5 : https://ddns5.com
-// Submitted by Cameron Elliott <cameron@cameronelliott.com>
-ddns5.com
+// Datto, Inc. : https://www.datto.com/
+// Submitted by Philipp Heckel <ph@datto.com>
+dattolocal.com
+dattorelay.com
+dattoweb.com
+mydatto.com
+dattolocal.net
+mydatto.net
+
+// ddnss.de : https://www.ddnss.de/
+// Submitted by Robert Niedziela <webmaster@ddnss.de>
+ddnss.de
+dyn.ddnss.de
+dyndns.ddnss.de
+dyn-ip24.de
+dyndns1.de
+home-webserver.de
+dyn.home-webserver.de
+myhome-server.de
+ddnss.org
 
 // Debian : https://www.debian.org/
 // Submitted by Peter Palfrader / Debian Sysadmin Team 
<dsa-publicsuffixlist@debian.org>
 debian.net
 
+// Definima : http://www.definima.com/
+// Submitted by Maxence Bitterli <maxence@definima.com>
+definima.io
+definima.net
+
 // Deno Land Inc : https://deno.com/
 // Submitted by Luca Casonato <hostmaster@deno.com>
 deno.dev
@@ -12635,10 +12626,28 @@ dedyn.io
 deta.app
 deta.dev
 
+// dhosting.pl Sp. z o.o.: https://dhosting.pl/
+// Submitted by Michal Kokoszkiewicz <bok@dhosting.pl>
+dfirma.pl
+dkonto.pl
+you2.pl
+
+// DigitalOcean App Platform : 
https://www.digitalocean.com/products/app-platform/
+// Submitted by Braxton Huggins <psl-maintainers@digitalocean.com>
+ondigitalocean.app
+
+// DigitalOcean Spaces : https://www.digitalocean.com/products/spaces/
+// Submitted by Robin H. Johnson <psl-maintainers@digitalocean.com>
+*.digitaloceanspaces.com
+
+// DigitalPlat : https://www.digitalplat.org/
+// Submitted by Edward Hsing <contact@digitalplat.org>
+us.kg
+
 // Diher Solutions : https://diher.solutions
 // Submitted by Didi Hermawan <mail@diher.solutions>
-*.rss.my.id
-*.diher.solutions
+rss.my.id
+diher.solutions
 
 // Discord Inc : https://discord.com
 // Submitted by Sahn Lam <slam@discordapp.com>
@@ -12670,6 +12679,10 @@ shoparena.pl
 // Submitted by Andrew Farmer <andrew.farmer@dreamhost.com>
 dreamhosters.com
 
+// Dreamyoungs, Inc. : https://durumis.com
+// Submitted by Infra Team <infra@durumis.com>
+durumis.com
+
 // Drobo : http://www.drobo.com/
 // Submitted by Ricardo Padilha <rpadilha@drobo.com>
 mydrobo.com
@@ -12683,13 +12696,6 @@ drud.us
 // Submitted by Richard Harper <richard@duckdns.org>
 duckdns.org
 
-// Bip : https://bip.sh
-// Submitted by Joel Kennedy <joel@bip.sh>
-bip.sh
-
-// bitbridge.net : Submitted by Craig Welch, abeliidev@gmail.com
-bitbridge.net
-
 // dy.fi : http://dy.fi/
 // Submitted by Heikki Hannikainen <hessu@hes.iki.fi>
 dy.fi
@@ -12976,39 +12982,6 @@ stuff-4-sale.us
 dyndns.ws
 mypets.ws
 
-// ddnss.de : https://www.ddnss.de/
-// Submitted by Robert Niedziela <webmaster@ddnss.de>
-ddnss.de
-dyn.ddnss.de
-dyndns.ddnss.de
-dyn-ip24.de
-dyndns1.de
-home-webserver.de
-dyn.home-webserver.de
-myhome-server.de
-ddnss.org
-
-// Definima : http://www.definima.com/
-// Submitted by Maxence Bitterli <maxence@definima.com>
-definima.io
-definima.net
-
-// DigitalOcean App Platform : 
https://www.digitalocean.com/products/app-platform/
-// Submitted by Braxton Huggins <psl-maintainers@digitalocean.com>
-ondigitalocean.app
-
-// DigitalOcean Spaces : https://www.digitalocean.com/products/spaces/
-// Submitted by Robin H. Johnson <psl-maintainers@digitalocean.com>
-*.digitaloceanspaces.com
-
-// DigitalPlat : https://www.digitalplat.org/
-// Submitted by Edward Hsing <contact@digitalplat.org>
-us.kg
-
-// dnstrace.pro : https://dnstrace.pro/
-// Submitted by Chris Partridge <chris@partridge.tech>
-bci.dnstrace.pro
-
 // Dynu.com : https://www.dynu.com/
 // Submitted by Sue Ye <sue@dynu.com>
 ddnsfree.com
@@ -13027,7 +13000,6 @@ freeddns.org
 mywire.org
 webredirect.org
 myddns.rocks
-blogsite.xyz
 
 // dynv6 : https://dynv6.com
 // Submitted by Dominik Menke <dom@digineo.de>
@@ -13081,11 +13053,6 @@ tuleap-partners.com
 encr.app
 encoreapi.com
 
-// ECG Robotics, Inc: https://ecgrobotics.org
-// Submitted by <frc1533@ecgrobotics.org>
-onred.one
-staging.onred.one
-
 // encoway GmbH : https://www.encoway.de
 // Submitted by Marcel Daus <cloudops@encoway.de>
 eu.encoway.cloud
@@ -13126,7 +13093,6 @@ kr.eu.org
 lt.eu.org
 lu.eu.org
 lv.eu.org
-mc.eu.org
 me.eu.org
 mk.eu.org
 mt.eu.org
@@ -13136,10 +13102,8 @@ ng.eu.org
 nl.eu.org
 no.eu.org
 nz.eu.org
-paris.eu.org
 pl.eu.org
 pt.eu.org
-q-a.eu.org
 ro.eu.org
 ru.eu.org
 se.eu.org
@@ -13286,6 +13250,12 @@ myfast.host
 fastvps.site
 myfast.space
 
+// FearWorks Media Ltd. : https://fearworksmedia.co.uk
+// submitted by Keith Fairley <domains@fearworksmedia.co.uk>
+conn.uk
+copro.uk
+hosp.uk
+
 // Fedora : https://fedoraproject.org/
 // submitted by Patrick Uiterwijk <puiterwijk@fedoraproject.org>
 fedorainfracloud.org
@@ -13294,12 +13264,6 @@ cloud.fedoraproject.org
 app.os.fedoraproject.org
 app.os.stg.fedoraproject.org
 
-// FearWorks Media Ltd. : https://fearworksmedia.co.uk
-// submitted by Keith Fairley <domains@fearworksmedia.co.uk>
-conn.uk
-copro.uk
-hosp.uk
-
 // Fermax : https://fermax.com/
 // submitted by Koen Van Isterdael <k.vanisterdael@fermax.be>
 mydobiss.com
@@ -13311,30 +13275,19 @@ fh-muenster.io
 // Filegear Inc. : https://www.filegear.com
 // Submitted by Jason Zhu <jason@owtware.com>
 filegear.me
-filegear-au.me
-filegear-de.me
-filegear-gb.me
-filegear-ie.me
-filegear-jp.me
-filegear-sg.me
 
 // Firebase, Inc.
 // Submitted by Chris Raynor <chris@firebase.com>
 firebaseapp.com
 
-// Firewebkit : https://www.firewebkit.com
-// Submitted by Majid Qureshi <mqureshi@amrayn.com>
-fireweb.app
-
-// FLAP : https://www.flap.cloud
-// Submitted by Louis Chemineau <louis@chmn.me>
-flap.id
-
 // FlashDrive : https://flashdrive.io
 // Submitted by Eric Chan <support@flashdrive.io>
-onflashdrive.app
 fldrv.com
 
+// Fleek Labs Inc : https://fleek.xyz
+// Submitted by Parsa Ghadimi <dev@fleek.xyz>
+on-fleek.app
+
 // FlutterFlow : https://flutterflow.io
 // Submitted by Anton Emelyanov <anton@flutterflow.io>
 flutterflow.app
@@ -13345,10 +13298,6 @@ fly.dev
 shw.io
 edgeapp.net
 
-// Flynn : https://flynn.io
-// Submitted by Jonathan Rudenberg <jonathan@flynn.io>
-flynnhosting.net
-
 // Forgerock : https://www.forgerock.com
 // Submitted by Roderick Parr <roderick.parr@forgerock.com>
 forgeblocks.com
@@ -13364,17 +13313,9 @@ framer.photos
 framer.website
 framer.wiki
 
-// Frusky MEDIA&PR : https://www.frusky.de
-// Submitted by Victor Pupynin <hallo@frusky.de>
-*.frusky.de
-
-// RavPage : https://www.ravpage.co.il
-// Submitted by Roni Horowitz <roni@responder.co.il>
-ravpage.co.il
-
-// Frederik Braun https://frederik-braun.com
+// Frederik Braun : https://frederik-braun.com
 // Submitted by Frederik Braun <fb@frederik-braun.com>
-0e.vc
+*.0e.vc
 
 // Freebox : http://www.freebox.fr
 // Submitted by Romain Fliedel <rfliedel@freebox.fr>
@@ -13393,6 +13334,10 @@ freedesktop.org
 // Submitted by Cadence <contact@freemyip.com>
 freemyip.com
 
+// Frusky MEDIA&PR : https://www.frusky.de
+// Submitted by Victor Pupynin <hallo@frusky.de>
+*.frusky.de
+
 // FunkFeuer - Verein zur Förderung freier Netze : https://www.funkfeuer.at
 // Submitted by Daniel A. Maierhofer <vorstand@funkfeuer.at>
 wien.funkfeuer.at
@@ -13442,10 +13387,6 @@ independent-review.uk
 public-inquiry.uk
 royal-commission.uk
 
-// CDDO : https://www.gov.uk/guidance/get-an-api-domain-on-govuk
-// Submitted by Jamie Tanna <jamie.tanna@digital.cabinet-office.gov.uk>
-api.gov.uk
-
 // Gehirn Inc. : https://www.gehirn.co.jp/
 // Submitted by Kohei YOSHIDA <tech@gehirn.co.jp>
 gehirn.ne.jp
@@ -13455,15 +13396,8 @@ usercontent.jp
 // Submitted by Tom Klein <tom@gentlent.com>
 gentapps.com
 gentlentapis.com
-lab.ms
 cdn-edges.net
 
-// Getlocalcert: https://www.getlocalcert.net
-// Submitted by Robert Alexander <support@getlocalcert.net>
-localcert.net
-localhostcert.net
-corpnet.work
-
 // GignoSystemJapan: http://gsj.bz
 // Submitted by GignoSystemJapan <kakutou-ec@gsj.bz>
 gsj.bz
@@ -13604,20 +13538,11 @@ watson.jp
 weblike.jp
 whitesnow.jp
 zombie.jp
-heteml.net
-
-// GoDaddy Registry : https://registry.godaddy
-// Submitted by Rohan Durrant <tldns@registry.godaddy>
-graphic.design
-
-// GOV.UK Platform as a Service : https://www.cloud.service.gov.uk/
-// Submitted by Tom Whitwell 
<gov-uk-paas-support@digital.cabinet-office.gov.uk>
-cloudapps.digital
-london.cloudapps.digital
+heteml.net
 
-// GOV.UK Pay : https://www.payments.service.gov.uk/
-// Submitted by Richard Baker <richard.baker@digital.cabinet-office.gov.uk>
-pymnt.uk
+// GoDaddy Registry : https://registry.godaddy
+// Submitted by Rohan Durrant <tldns@registry.godaddy>
+graphic.design
 
 // GoIP DNS Services : http://www.goip.de
 // Submitted by Christian Poulter <milchstrasse@goip.de>
@@ -13625,26 +13550,9 @@ goip.de
 
 // Google, Inc.
 // Submitted by Shannon McCabe <public-suffix-editors@google.com>
-blogspot.ae
-blogspot.al
-blogspot.am
 *.hosted.app
 *.run.app
 web.app
-blogspot.com.ar
-blogspot.co.at
-blogspot.com.au
-blogspot.ba
-blogspot.be
-blogspot.bg
-blogspot.bj
-blogspot.com.br
-blogspot.com.by
-blogspot.ca
-blogspot.cf
-blogspot.ch
-blogspot.cl
-blogspot.com.co
 *.0emm.com
 appspot.com
 *.r.appspot.com
@@ -13653,87 +13561,39 @@ codespot.com
 googleapis.com
 googlecode.com
 pagespeedmobilizer.com
-publishproxy.com
 withgoogle.com
 withyoutube.com
-blogspot.cv
-blogspot.com.cy
-blogspot.cz
-blogspot.de
 *.gateway.dev
-blogspot.dk
-blogspot.com.ee
-blogspot.com.eg
-blogspot.com.es
-blogspot.fi
-blogspot.fr
 cloud.goog
 translate.goog
 *.usercontent.goog
-blogspot.gr
-blogspot.hk
-blogspot.hr
-blogspot.hu
-blogspot.co.id
-blogspot.ie
-blogspot.co.il
-blogspot.in
-blogspot.is
-blogspot.it
-blogspot.jp
-blogspot.co.ke
-blogspot.kr
-blogspot.li
-blogspot.lt
-blogspot.lu
-blogspot.md
-blogspot.mk
-blogspot.mr
-blogspot.com.mt
-blogspot.mx
-blogspot.my
 cloudfunctions.net
-blogspot.com.ng
-blogspot.nl
-blogspot.no
-blogspot.co.nz
-blogspot.pe
-blogspot.pt
-blogspot.qa
-blogspot.re
-blogspot.ro
-blogspot.rs
-blogspot.ru
-blogspot.se
-blogspot.sg
-blogspot.si
-blogspot.sk
-blogspot.sn
-blogspot.td
-blogspot.com.tr
-blogspot.tw
-blogspot.ug
-blogspot.co.uk
-blogspot.com.uy
-blogspot.vn
-blogspot.co.za
 
 // Goupile : https://goupile.fr
 // Submitted by Niels Martignene <hello@goupile.fr>
 goupile.fr
 
+// GOV.UK Pay : https://www.payments.service.gov.uk/
+// Submitted by Richard Baker <richard.baker@digital.cabinet-office.gov.uk>
+pymnt.uk
+
+// GOV.UK Platform as a Service : https://www.cloud.service.gov.uk/
+// Submitted by Tom Whitwell 
<gov-uk-paas-support@digital.cabinet-office.gov.uk>
+cloudapps.digital
+london.cloudapps.digital
+
 // Government of the Netherlands: https://www.government.nl
 // Submitted by <domeinnaam@minaz.nl>
 gov.nl
 
+// Grafana Labs: https://grafana.com/
+// Submitted by Platform Engineering <info@grafana.com>
+grafana-dev.net
+
 // GrayJay Web Solutions Inc. : https://grayjaysports.ca
 // Submitted by Matt Yamkowy <info@grayjaysports.ca>
 grayjayleagues.com
 
-// Group 53, LLC : https://www.group53.com
-// Submitted by Tyler Todd <noc@nova53.net>
-awsmppl.com
-
 // GünstigBestellen : https://günstigbestellen.de
 // Submitted by Furkan Akkoc <info@hendelzon.de>
 günstigbestellen.de
@@ -13747,10 +13607,13 @@ caa.li
 ua.rs
 conf.se
 
-// Handshake : https://handshake.org
-// Submitted by Mike Damm <md@md.vc>
-hs.run
-hs.zone
+// Häkkinen.fi
+// Submitted by Eero Häkkinen <Eero+psl@Häkkinen.fi>
+häkkinen.fi
+
+// Harrison Network : https://hrsn.net
+// Submitted by William Harrison <psl@hrsn.net>
+hrsn.dev
 
 // Hashbang : https://hashbang.sh
 hashbang.sh
@@ -13760,27 +13623,41 @@ hashbang.sh
 hasura.app
 hasura-app.io
 
+// Hatena Co., Ltd. : https://hatena.co.jp
+// Submitted by Masato Nakamura <blog-developers@hatena.ne.jp>
+hatenablog.com
+hatenadiary.com
+hateblo.jp
+hatenablog.jp
+hatenadiary.jp
+hatenadiary.org
+
 // Heilbronn University of Applied Sciences - Faculty Informatics (GitLab 
Pages): https://www.hs-heilbronn.de
-// Submitted by Richard Zowalla <mi-admin@hs-heilbronn.de>
+// Submitted by Richard Zowalla <it-admin@hs-heilbronn.de>
 pages.it.hs-heilbronn.de
+pages-research.it.hs-heilbronn.de
+
+// HeiyuSpace: https://lazycat.cloud
+// Submitted by Xia Bin <admin@lazycat.cloud>
+heiyu.space
 
 // Helio Networks : https://heliohost.org
 // Submitted by Ben Frede <admin@heliohost.org>
 helioho.st
 heliohost.us
 
-// HeiyuSpace: https://lazycat.cloud
-// Submitted by Xia Bin <admin@lazycat.cloud>
-heiyu.space
-
 // Hepforge : https://www.hepforge.org
 // Submitted by David Grellscheid <admin@hepforge.org>
 hepforge.org
 
 // Heroku : https://www.heroku.com/
-// Submitted by Tom Maher <tmaher@heroku.com>
+// Submitted by Shumon Huque <public-dns@salesforce.com>
 herokuapp.com
-herokussl.com
+
+// Heyflow : https://www.heyflow.com
+// Submitted by Mirko Nitschke <tech@heyflow.com>
+heyflow.page
+heyflow.site
 
 // Hibernating Rhinos
 // Submitted by Oren Eini <oren@ravendb.net>
@@ -13799,62 +13676,70 @@ homesklep.pl
 *.id.pub
 *.kin.pub
 
-// Hong Kong Productivity Council: https://www.hkpc.org/
-// Submitted by SECaaS Team <summchan@hkpc.org>
-secaas.hk
-
 // Hoplix : https://www.hoplix.com
 // Submitted by Danilo De Franco<info@hoplix.shop>
 hoplix.shop
 
-
 // HOSTBIP REGISTRY : https://www.hostbip.com/
 // Submitted by Atanunu Igbunuroghene <publicsuffixlist@hostbip.com>
 orx.biz
 biz.gl
+biz.ng
+co.biz.ng
+dl.biz.ng
+go.biz.ng
+lg.biz.ng
+on.biz.ng
 col.ng
 firm.ng
 gen.ng
 ltd.ng
 ngo.ng
-edu.scot
-sch.so
+plc.ng
 
 // HostFly : https://www.ie.ua
 // Submitted by Bohdan Dub <support@hostfly.com.ua>
 ie.ua
 
-// HostyHosting (hostyhosting.com)
+// HostyHosting : https://hostyhosting.com
 hostyhosting.io
 
+// Hugging Face: https://huggingface.co
+// Submitted by Eliott Coyac <website@huggingface.co>
+hf.space
+static.hf.space
+
 // Hypernode B.V. : https://www.hypernode.com/
 // Submitted by Cipriano Groenendal <security@nl.team.blue>
 hypernode.io
 
-// Häkkinen.fi
-// Submitted by Eero Häkkinen <Eero+psl@Häkkinen.fi>
-häkkinen.fi
+// I-O DATA DEVICE, INC. : http://www.iodata.com/
+// Submitted by Yuji Minagawa <domains-admin@iodata.jp>
+iobb.net
+
+// i-registry s.r.o. : http://www.i-registry.cz/
+// Submitted by Martin Semrad <semrad@i-registry.cz>
+co.cz
 
 // Ici la Lune : http://www.icilalune.com/
 // Submitted by Simon Morvan <simon@icilalune.com>
 *.moonscale.io
 moonscale.net
 
+// iDOT Services Limited : http://www.domain.gr.com
+// Submitted by Gavin Brown <gavin.brown@centralnic.com>
+gr.com
+
 // iki.fi
 // Submitted by Hannu Aronsson <haa@iki.fi>
 iki.fi
 
-// iliad italia: https://www.iliad.it
+// iliad italia : https://www.iliad.it
 // Submitted by Marios Makassikis <mmakassikis@freebox.fr>
 ibxos.it
 iliadboxos.it
 
-// Impertrix Solutions : <https://impertrixcdn.com>
-// Submitted by Zhixiang Zhao <csuite@impertrix.com>
-impertrix.com
-impertrixcdn.com
-
-// Incsub, LLC: https://incsub.com/
+// Incsub, LLC : https://incsub.com/
 // Submitted by Aaron Edwards <sysadmins@incsub.com>
 smushcdn.com
 wphostedmail.com
@@ -13917,26 +13802,43 @@ to.leg.br
 // Submitted by Wolfgang Schwarz <admin@intermetrics.de>
 pixolino.com
 
-// Internet-Pro, LLP: https://netangels.ru/
+// Internet-Pro, LLP : https://netangels.ru/
 // Submitted by Vasiliy Sheredeko <piphon@gmail.com>
 na4u.ru
 
+// IONOS SE : https://www.ionos.com/,
+// IONOS Group SE: https://www.ionos-group.com/
+// submitted by Henrik Willert <security@ionos.com>
+apps-1and1.com
+live-website.com
+apps-1and1.net
+websitebuilder.online
+app-ionos.space
+
 // iopsys software solutions AB : https://iopsys.eu/
 // Submitted by Roman Azarenko <roman.azarenko@iopsys.eu>
 iopsys.se
 
+// IPFS Project : https://ipfs.tech/
+// Submitted by Interplanetary Shipyard <domains@ipshipyard.com>
+*.dweb.link
+
 // IPiFony Systems, Inc. : https://www.ipifony.com/
 // Submitted by Matthew Hardeman <mhardeman@ipifony.com>
 ipifony.net
 
-// is-a.dev : https://www.is-a.dev
-// Submitted by William Harrison <admin@maintainers.is-a.dev>
-is-a.dev
-
 // ir.md : https://nic.ir.md
 // Submitted by Ali Soizi <info@nic.ir.md>
 ir.md
 
+// is-a-good.dev : https://is-a-good.dev
+// Submitted by William Harrison <webmaster@is-a-good.dev>
+is-a-good.dev
+
+// is-a.dev : https://is-a.dev
+// Submitted by William Harrison <psl@is-a.dev>
+is-a.dev
+
 // IServ GmbH : https://iserv.de
 // Submitted by Mario Hoberg <info@iserv.de>
 iservschule.de
@@ -13946,15 +13848,10 @@ schulserver.de
 test-iserv.de
 iserv.dev
 
-// I-O DATA DEVICE, INC. : http://www.iodata.com/
-// Submitted by Yuji Minagawa <domains-admin@iodata.jp>
-iobb.net
-
 // Jelastic, Inc. : https://jelastic.com/
 // Submitted by Ihor Kolodyuk <ik@jelastic.com>
 mel.cloudlets.com.au
 cloud.interhostsolutions.be
-mycloud.by
 alp1.ae.flow.ch
 appengine.flow.ch
 es-1.axarnet.cloud
@@ -13976,7 +13873,6 @@ us.reclaim.cloud
 ch.trendhosting.cloud
 de.trendhosting.cloud
 jele.club
-amscompute.com
 dopaas.com
 paas.hosted-by-previder.com
 rag-cloud.hosteur.com
@@ -13984,10 +13880,8 @@ rag-cloud-ch.hosteur.com
 jcloud.ik-server.com
 jcloud-ver-jpc.ik-server.com
 demo.jelastic.com
-kilatiron.com
 paas.massivegrid.com
 jed.wafaicloud.com
-lon.wafaicloud.com
 ryd.wafaicloud.com
 j.scaleforce.com.cy
 jelastic.dogado.eu
@@ -13999,18 +13893,14 @@ mircloud.host
 paas.beebyte.io
 sekd1.beebyteapp.io
 jele.io
-cloud-fr1.unispace.io
 jc.neen.it
-cloud.jelastic.open.tim.it
 jcloud.kz
-upaas.kazteleport.kz
 cloudjiffy.net
 fra1-de.cloudjiffy.net
 west1-us.cloudjiffy.net
 jls-sto1.elastx.net
 jls-sto2.elastx.net
 jls-sto3.elastx.net
-faststacks.net
 fr-1.paas.massivegrid.net
 lon-1.paas.massivegrid.net
 lon-2.paas.massivegrid.net
@@ -14020,11 +13910,9 @@ sg-1.paas.massivegrid.net
 jelastic.saveincloud.net
 nordeste-idc.saveincloud.net
 j.scaleforce.net
-jelastic.tsukaeru.net
 sdscloud.pl
 unicloud.pl
 mircloud.ru
-jelastic.regruhosting.ru
 enscaled.sg
 jele.site
 jelastic.team
@@ -14064,14 +13952,15 @@ js.org
 kaas.gg
 khplay.nl
 
-// Kakao : https://www.kakaocorp.com/
-// Submitted by JaeYoong Lee <cec@kakaocorp.com>
-ktistory.com
-
 // Kapsi : https://kapsi.fi
 // Submitted by Tomi Juntunen <erani@kapsi.fi>
 kapsi.fi
 
+// Katholieke Universiteit Leuven: https://www.kuleuven.be
+// Submitted by Abuse KU Leuven <abuse@kuleuven.be>
+ezproxy.kuleuven.be
+kuleuven.cloud
+
 // Keyweb AG : https://www.keyweb.de
 // Submitted by Martin Dannehl <postmaster@keymachine.de>
 keymachine.de
@@ -14089,24 +13978,15 @@ knightpoint.systems
 // Submitted by Iván Oliva <ivan.oliva@koobin.com>
 koobin.events
 
-// KUROKU LTD : https://kuroku.ltd/
-// Submitted by DisposaBoy <security@oya.to>
-oya.to
-
-// Katholieke Universiteit Leuven: https://www.kuleuven.be
-// Submitted by Abuse KU Leuven <abuse@kuleuven.be>
-ezproxy.kuleuven.be
-kuleuven.cloud
-
-// .KRD : http://nic.krd/data/krd/Registration%20Policy.pdf
-co.krd
-edu.krd
-
 // Krellian Ltd. : https://krellian.com
 // Submitted by Ben Francis <ben@krellian.com>
 webthings.io
 krellian.net
 
+// KUROKU LTD : https://kuroku.ltd/
+// Submitted by DisposaBoy <security@oya.to>
+oya.to
+
 // LCube - Professional hosting e.K. : https://www.lcube-webhosting.de
 // Submitted by Lars Laehn <info@lcube.de>
 git-repos.de
@@ -14119,9 +13999,9 @@ leadpages.co
 lpages.co
 lpusercontent.com
 
-// Lelux.fi : https://lelux.fi/
-// Submitted by Lelux Admin <publisuffix@lelux.site>
-lelux.site
+// libp2p project : https://libp2p.io
+// Submitted by Interplanetary Shipyard <domains@ipshipyard.com>
+libp2p.direct
 
 // Libre IT Ltd : https://libre.nz
 // Submitted by Tomas Maggio <support@libre.nz>
@@ -14153,13 +14033,28 @@ ip.linodeusercontent.com
 // Submitted by Victor Velchev <admin@liquidnetlimited.com>
 we.bs
 
+// Listen53 : https://www.l53.net
+// Submitted by Gerry Keh <biz@l53.net>
+filegear-sg.me
+ggff.net
+
 // Localcert : https://localcert.dev
 // Submitted by Lann Martin <security@localcert.dev>
 *.user.localcert.dev
 
-// localzone.xyz
-// Submitted by Kenny Niehage <hello@yahe.sh>
-localzone.xyz
+// LocalCert : https://localcert.net
+// Submitted by William Harrison <psl@localcert.net>
+localcert.net
+localhostcert.net
+
+// Lodz University of Technology LODMAN regional domains 
https://www.man.lodz.pl/dns
+// Submitted by Piotr Wilk <dns@man.lodz.pl>
+lodz.pl
+pabianice.pl
+plock.pl
+sieradz.pl
+skierniewice.pl
+zgierz.pl
 
 // Log'in Line : https://www.loginline.com/
 // Submitted by Rémi Mach <remi.mach@loginline.com>
@@ -14169,14 +14064,14 @@ loginline.io
 loginline.services
 loginline.site
 
-// Lokalized : https://lokalized.nl
-// Submitted by Noah Taheij <noah@lokalized.nl>
-servers.run
-
 // Lõhmus Family, The
 // Submitted by Heiki Lõhmus <hostmaster at lohmus dot me>
 lohmus.me
 
+// Lokalized : https://lokalized.nl
+// Submitted by Noah Taheij <noah@lokalized.nl>
+servers.run
+
 // LubMAN UMCS Sp. z o.o : https://lubman.pl/
 // Submitted by Ireneusz Maliszewski <ireneusz.maliszewski@lubman.pl>
 krasnik.pl
@@ -14229,23 +14124,26 @@ barsyonline.co.uk
 // Submitted by Damien Tournoud <dtournoud@magento.cloud>
 *.magentosite.cloud
 
+// Mail.Ru Group : https://hb.cldmail.ru
+// Submitted by Ilya Zaretskiy <zaretskiy@corp.mail.ru>
+hb.cldmail.ru
+
+// MathWorks : https://www.mathworks.com/
+// Submitted by Emily Reed <psl-maintainers@groups.mathworks.com>
+matlab.cloud
+modelscape.com
+mwcloudnonprod.com
+polyspace.com
+
 // May First - People Link : https://mayfirst.org/
 // Submitted by Jamie McClelland <info@mayfirst.org>
 mayfirst.info
 mayfirst.org
 
-// Mail.Ru Group : https://hb.cldmail.ru
-// Submitted by Ilya Zaretskiy <zaretskiy@corp.mail.ru>
-hb.cldmail.ru
-
 // Maze Play: https://www.mazeplay.com
 // Submitted by Adam Humpherys <adam@mws.dev>
 mazeplay.com
 
-// mcpe.me : https://mcpe.me
-// Submitted by Noa Heyl <hi@noa.dev>
-mcpe.me
-
 // McHost : https://mchost.ru
 // Submitted by Evgeniy Subbotin <e.subbotin@mchost.ru>
 mcdir.me
@@ -14262,6 +14160,10 @@ mediatech.dev
 // Submitted by Michael Olson <molson@medicomhealth.com>
 hra.health
 
+// MedusaJS, Inc : https://medusajs.com/
+// Submitted by Stevche Radevski <engineering@medusajs.com>
+medusajs.app
+
 // Memset hosting : https://www.memset.com
 // Submitted by Tom Whitwell <domains@memset.com>
 miniserver.com
@@ -14277,12 +14179,9 @@ atmeta.com
 apps.fbsbx.com
 
 // MetaCentrum, CESNET z.s.p.o. : https://www.metacentrum.cz/en/
-// Submitted by Zdeněk Šustr <zdenek.sustr@cesnet.cz>
+// Submitted by Zdeněk Šustr <zdenek.sustr@cesnet.cz> and Radim Janča 
<janca@cesnet.cz>
 *.cloud.metacentrum.cz
 custom.metacentrum.cz
-
-// MetaCentrum, CESNET z.s.p.o. : https://www.metacentrum.cz/en/
-// Submitted by Radim Janča <janca@cesnet.cz>
 flt.cloud.muni.cz
 usr.cloud.muni.cz
 
@@ -14322,26 +14221,30 @@ trafficmanager.net
 blob.core.windows.net
 servicebus.windows.net
 
+// MikroTik: https://mikrotik.com
+// Submitted by MikroTik SysAdmin Team <support@mikrotik.com>
+routingthecloud.com
+sn.mynetname.net
+routingthecloud.net
+routingthecloud.org
+
 // minion.systems : http://minion.systems
 // Submitted by Robert Böttinger <r@minion.systems>
 csx.cc
 
-// Mintere : https://mintere.com/
-// Submitted by Ben Aubin <security@mintere.com>
-mintere.site
-
-// MobileEducation, LLC : https://joinforte.com
-// Submitted by Grayson Martin <grayson.martin@mobileeducation.us>
-forte.id
+// Mittwald CM Service GmbH & Co. KG : https://mittwald.de
+// Submitted by Marco Rieger <security@mittwald.de>
+mydbserver.com
+webspaceconfig.de
+mittwald.info
+mittwaldserver.info
+typo3server.info
+project.space
 
 // MODX Systems LLC : https://modx.com
 // Submitted by Elizabeth Southwell <elizabeth@modx.com>
 modx.dev
 
-// Mozilla Corporation : https://mozilla.com
-// Submitted by Ben Francis <bfrancis@mozilla.com>
-mozilla-iot.org
-
 // Mozilla Foundation : https://mozilla.org/
 // Submitted by glob <glob@mozilla.com>
 bmoattachments.org
@@ -14375,6 +14278,11 @@ ui.nabu.casa
 // Net at Work Gmbh : https://www.netatwork.de
 // Submitted by Jan Jaeschke <jan.jaeschke@netatwork.de>
 cloud.nospamproxy.com
+o365.cloud.nospamproxy.com
+
+// Net libre : https://www.netlib.re
+// Submitted by Philippe PITTOLI <security@netlib.re>
+netlib.re
 
 // Netfy Domains : https://netfy.domains
 // Submitted by Suranga Ranasinghe <security@mavicsoft.com>
@@ -14388,6 +14296,14 @@ netlify.app
 // Submitted by Trung Tran <Trung.Tran@neustar.biz>
 4u.com
 
+// NFSN, Inc. : https://www.NearlyFreeSpeech.NET/
+// Submitted by Jeff Wheelhouse <support@nearlyfreespeech.net>
+nfshost.com
+
+// NFT.Storage : https://nft.storage/
+// Submitted by Vasco Santos <vasco.santos@protocol.ai> or 
<support@nft.storage>
+ipfs.nftstorage.link
+
 // NGO.US Registry : https://nic.ngo.us
 // Submitted by Alstra Solutions Ltd. Networking Team <admin@alstra.org>
 ngo.us
@@ -14417,68 +14333,6 @@ torun.pl
 nh-serv.co.uk
 nimsite.uk
 
-// NFSN, Inc. : https://www.NearlyFreeSpeech.NET/
-// Submitted by Jeff Wheelhouse <support@nearlyfreespeech.net>
-nfshost.com
-
-// NFT.Storage : https://nft.storage/
-// Submitted by Vasco Santos <vasco.santos@protocol.ai> or 
<support@nft.storage>
-ipfs.nftstorage.link
-
-// Noop : https://noop.app
-// Submitted by Nathaniel Schweinberg <noop@rearc.io>
-*.developer.app
-noop.app
-
-// Northflank Ltd. : https://northflank.com/
-// Submitted by Marco Suter <marco@northflank.com>
-*.northflank.app
-*.build.run
-*.code.run
-*.database.run
-*.migration.run
-
-// Noticeable : https://noticeable.io
-// Submitted by Laurent Pellegrino <security@noticeable.io>
-noticeable.news
-
-// Notion Labs, Inc : https://www.notion.so/
-// Submitted by Jess Yao <trust-core-team@makenotion.com>
-notion.site
-
-// Now-DNS : https://now-dns.com
-// Submitted by Steve Russell <steve@now-dns.com>
-dnsking.ch
-mypi.co
-n4t.co
-001www.com
-ddnslive.com
-myiphost.com
-forumz.info
-16-b.it
-32-b.it
-64-b.it
-soundcast.me
-tcp4.me
-dnsup.net
-hicam.net
-now-dns.net
-ownip.net
-vpndns.net
-dynserv.org
-now-dns.org
-x443.pw
-now-dns.top
-ntdll.top
-freeddns.us
-crafting.xyz
-zapto.xyz
-
-// nsupdate.info : https://www.nsupdate.info/
-// Submitted by Thomas Waldmann <info@nsupdate.info>
-nsupdate.info
-nerdpol.ovh
-
 // No-IP.com : https://noip.com/
 // Submitted by Deven Reza <publicsuffixlist@noip.com>
 mmafan.biz
@@ -14571,16 +14425,57 @@ pointto.us
 // Submitted by Konstantin Nosov <Nosov@nodeart.io>
 stage.nodeart.io
 
-// Nucleos Inc. : https://nucleos.com
-// Submitted by Piotr Zduniak <piotr@nucleos.com>
-pcloud.host
+// Noop : https://noop.app
+// Submitted by Nathaniel Schweinberg <noop@rearc.io>
+*.developer.app
+noop.app
+
+// Northflank Ltd. : https://northflank.com/
+// Submitted by Marco Suter <marco@northflank.com>
+*.northflank.app
+*.build.run
+*.code.run
+*.database.run
+*.migration.run
+
+// Noticeable : https://noticeable.io
+// Submitted by Laurent Pellegrino <security@noticeable.io>
+noticeable.news
+
+// Notion Labs, Inc : https://www.notion.so/
+// Submitted by Jess Yao <trust-core-team@makenotion.com>
+notion.site
+
+// Now-DNS : https://now-dns.com
+// Submitted by Steve Russell <steve@now-dns.com>
+dnsking.ch
+mypi.co
+myiphost.com
+forumz.info
+soundcast.me
+tcp4.me
+dnsup.net
+hicam.net
+now-dns.net
+ownip.net
+vpndns.net
+dynserv.org
+now-dns.org
+x443.pw
+ntdll.top
+freeddns.us
+
+// nsupdate.info : https://www.nsupdate.info/
+// Submitted by Thomas Waldmann <info@nsupdate.info>
+nsupdate.info
+nerdpol.ovh
 
-// NYC.mn : http://www.information.nyc.mn
-// Submitted by Matthew Brown <mattbrown@nyc.mn>
+// NYC.mn : https://dot.nyc.mn/
+// Submitted by NYC.mn Subdomain Service <nyc.mn@mailfence.com>
 nyc.mn
 
 // O3O.Foundation : https://o3o.foundation/
-// Submitted by the prvcy.page Registry Team <psl@registry.prvcy.page>
+// Submitted by the prvcy.page Registry Team <info@o3o.foundation>
 prvcy.page
 
 // Obl.ong : <https://obl.ong>
@@ -14592,11 +14487,7 @@ obl.ong
 observablehq.cloud
 static.observableusercontent.com
 
-// Octopodal Solutions, LLC. : https://ulterius.io/
-// Submitted by Andrew Sampson <andrew@ulterius.io>
-cya.gg
-
-// OMG.LOL : <https://omg.lol>
+// OMG.LOL : https://omg.lol
 // Submitted by Adam Newbold <adam@omg.lol>
 omg.lol
 
@@ -14630,12 +14521,9 @@ simplesite.pl
 123paginaweb.pt
 123minsida.se
 
-// One Fold Media : http://www.onefoldmedia.com/
-// Submitted by Eddie Jones <eddie@onefoldmedia.com>
-nid.io
-
 // Open Domains : https://open-domains.net
 // Submitted by William Harrison <admin@open-domains.net>
+is-a-fullstack.dev
 is-cool.dev
 is-not-a.dev
 localplayer.dev
@@ -14649,6 +14537,12 @@ opensocial.site
 // Submitted by Sven Marnach <sven@opencraft.com>
 opencraft.hosting
 
+// OpenHost : https://registry.openhost.uk
+// Submitted by OpenHost Registry Team <support@openhost.uk>
+16-b.it
+32-b.it
+64-b.it
+
 // OpenResearch GmbH: https://openresearch.com/
 // Submitted by Philipp Schmid <ops@openresearch.com>
 orsites.com
@@ -14657,6 +14551,17 @@ orsites.com
 // Submitted by Yngve Pettersen <yngve@opera.com>
 operaunite.com
 
+// Oracle Dyn : https://cloud.oracle.com/home https://dyn.com/dns/
+// Submitted by Gregory Drake <support@dyn.com>
+// Note: This is intended to also include customer-oci.com due to wildcards 
implicitly including the current label
+*.customer-oci.com
+*.oci.customer-oci.com
+*.ocp.customer-oci.com
+*.ocs.customer-oci.com
+*.oraclecloudapps.com
+*.oraclegovcloudapps.com
+*.oraclegovcloudapps.uk
+
 // Orange : https://www.orange.com
 // Submitted by Alexandre Linte <alexandre.linte@orange.com>
 tech.orange
@@ -14666,7 +14571,7 @@ tech.orange
 // Submitted by OsSav Technology Ltd. <support@ossav.com>
 can.re
 
-// Oursky Limited : https://authgear.com/, https://skygear.io/
+// Oursky Limited : https://authgear.com/
 // Submitted by Authgear Team <hello@authgear.com>, Skygear Developer 
<hello@skygear.io>
 authgear-staging.com
 authgearapps.com
@@ -14702,14 +14607,15 @@ oy.lc
 // Submitted by Derek Myers <derek@pagefog.com>
 pgfog.com
 
-// Pagefront : https://www.pagefronthq.com/
-// Submitted by Jason Kriss <jason@pagefronthq.com>
-pagefrontapp.com
-
 // PageXL : https://pagexl.com
 // Submitted by Yann Guichard <yann@pagexl.com>
 pagexl.com
 
+// Pantheon Systems, Inc. : https://pantheon.io/
+// Submitted by Gary Dylina <gary@pantheon.io>
+gotpantheon.com
+pantheonsite.io
+
 // Paywhirl, Inc : https://paywhirl.com/
 // Submitted by Daniel Netzer <dan@paywhirl.com>
 *.paywhirl.com
@@ -14723,18 +14629,9 @@ srv.us
 gh.srv.us
 gl.srv.us
 
-// .pl domains (grandfathered)
-art.pl
-gliwice.pl
-krakow.pl
-poznan.pl
-wroc.pl
-zakopane.pl
-
-// Pantheon Systems, Inc. : https://pantheon.io/
-// Submitted by Gary Dylina <gary@pantheon.io>
-gotpantheon.com
-pantheonsite.io
+// PE Ulyanov Kirill Sergeevich : https://airy.host
+// Submitted by Kirill Ulyanov <k.ulyanov@airy.host>
+lk3.ru
 
 // Peplink | Pepwave : http://peplink.com/
 // Submitted by Steve Leung <steveleung@peplink.com>
@@ -14744,10 +14641,6 @@ mypep.link
 // Submitted by Kenneth Van Alstyne <kvanalstyne@perspecta.com>
 perspecta.cloud
 
-// PE Ulyanov Kirill Sergeevich : https://airy.host
-// Submitted by Kirill Ulyanov <k.ulyanov@airy.host>
-lk3.ru
-
 // Planet-Work : https://www.planet-work.com/
 // Submitted by Frédéric VANNIÈRE <f.vanniere@planet-work.com>
 on-web.fr
@@ -14768,20 +14661,10 @@ platter-app.com
 platter-app.dev
 platterp.us
 
-// Plesk : https://www.plesk.com/
-// Submitted by Anton Akhtyamov <program-managers@plesk.com>
-pleskns.com
-pdns.page
-plesk.page
-
 // Pley AB : https://www.pley.com/
 // Submitted by Henning Pohl <infra@pley.com>
 pley.games
 
-// Port53 : https://port53.io/
-// Submitted by Maximilian Schieder <maxi@zeug.co>
-dyn53.io
-
 // Porter : https://porter.run/
 // Submitted by Rudraksh MK <rudi@porter.run>
 onporter.run
@@ -14809,10 +14692,6 @@ xen.prgmr.com
 // Submitted by registry <lendl@nic.at>
 priv.at
 
-// Protocol Labs : https://protocol.ai/
-// Submitted by Michael Burns <noc@protocol.ai>
-*.dweb.link
-
 // Protonet GmbH : http://protonet.io
 // Submitted by Martin Meier <admin@protonet.io>
 protonet.io
@@ -14831,40 +14710,6 @@ pubtls.org
 pythonanywhere.com
 eu.pythonanywhere.com
 
-// QOTO, Org.
-// Submitted by Jeffrey Phillips Freeman <jeffrey.freeman@qoto.org>
-qoto.io
-
-// Qualifio : https://qualifio.com/
-// Submitted by Xavier De Cock <xdecock@gmail.com>
-qualifioapp.com
-
-// Quality Unit: https://qualityunit.com
-// Submitted by Vasyl Tsalko <vtsalko@qualityunit.com>
-ladesk.com
-
-// QuickBackend: https://www.quickbackend.com
-// Submitted by Dani Biro <dani@pymet.com>
-qbuser.com
-
-// Rad Web Hosting: https://radwebhosting.com
-// Submitted by Scott Claeys <s.claeys@radwebhosting.com>
-cloudsite.builders
-myradweb.net
-servername.us
-
-// Redgate Software: https://red-gate.com
-// Submitted by Andrew Farries <andrew.farries@red-gate.com>
-instances.spawn.cc
-
-// Redstar Consultants : https://www.redstarconsultants.com/
-// Submitted by Jons Slemmer <jons@redstarconsultants.com>
-instantcloud.cn
-
-// Russian Academy of Sciences
-// Submitted by Tech Support <support@rasnet.ru>
-ras.ru
-
 // QA2
 // Submitted by Daniel Dent (https://www.danieldent.com/)
 qa2.com
@@ -14883,6 +14728,22 @@ mycloudnas.com
 mynascloud.com
 myqnapcloud.com
 
+// QOTO, Org.
+// Submitted by Jeffrey Phillips Freeman <jeffrey.freeman@qoto.org>
+qoto.io
+
+// Qualifio : https://qualifio.com/
+// Submitted by Xavier De Cock <xdecock@gmail.com>
+qualifioapp.com
+
+// Quality Unit : https://qualityunit.com
+// Submitted by Vasyl Tsalko <vtsalko@qualityunit.com>
+ladesk.com
+
+// QuickBackend: https://www.quickbackend.com
+// Submitted by Dani Biro <dani@pymet.com>
+qbuser.com
+
 // Quip : https://quip.com
 // Submitted by Patrick Linehan <plinehan@quip.com>
 *.quipelements.com
@@ -14897,9 +14758,21 @@ vaporcloud.io
 rackmaze.com
 rackmaze.net
 
-// Rakuten Games, Inc : https://dev.viberplay.io
-// Submitted by Joshua Zhang <public-suffix@rgames.jp>
-g.vbrplsbx.io
+// Rad Web Hosting: https://radwebhosting.com
+// Submitted by Scott Claeys <s.claeys@radwebhosting.com>
+cloudsite.builders
+myradweb.net
+servername.us
+
+// Radix FZC : http://domains.in.net
+// Submitted by Gavin Brown <gavin.brown@centralnic.com>
+web.in
+in.net
+
+// Raidboxes GmbH : https://raidboxes.de
+// Submitted by Auke Tembrink <hostmaster@raidboxes.de>
+myrdbx.io
+site.rb-hosting.io
 
 // Rancher Labs, Inc : https://rancher.com
 // Submitted by Vincent Fiduccia <domains@rancher.com>
@@ -14907,14 +14780,23 @@ g.vbrplsbx.io
 *.on-k3s.io
 *.on-rio.io
 
+// RavPage : https://www.ravpage.co.il
+// Submitted by Roni Horowitz <roni@responder.co.il>
+ravpage.co.il
+
 // Read The Docs, Inc : https://www.readthedocs.org
 // Submitted by David Fischer <team@readthedocs.org>
+readthedocs-hosted.com
 readthedocs.io
 
 // Red Hat, Inc. OpenShift : https://openshift.redhat.com/
 // Submitted by Tim Kramer <tkramer@rhcloud.com>
 rhcloud.com
 
+// Redgate Software: https://red-gate.com
+// Submitted by Andrew Farries <andrew.farries@red-gate.com>
+instances.spawn.cc
+
 // Render : https://render.com
 // Submitted by Anurag Goel <dev@render.com>
 onrender.com
@@ -14966,11 +14848,6 @@ devices.resinstaging.io
 // Submitted by Chris Kastorff <info@rethinkdb.com>
 hzc.io
 
-// Revitalised Limited : http://www.revitalised.co.uk
-// Submitted by Jack Price <jack@revitalised.co.uk>
-wellbeingzone.eu
-wellbeingzone.co.uk
-
 // Rico Developments Limited : https://adimo.co
 // Submitted by Colin Brown <hello@adimo.co>
 adimo.co.uk
@@ -14979,6 +14856,11 @@ adimo.co.uk
 // Submitted by Micah Anderson <micah@riseup.net>
 itcouldbewor.se
 
+// Roar Domains LLC : https://roar.basketball/
+// Submitted by Gavin Brown <gavin.brown@centralnic.com>
+aus.basketball
+nz.basketball
+
 // Rochester Institute of Technology : http://www.rit.edu/
 // Submitted by Jennifer Herting <jchits@rit.edu>
 git-pages.rit.edu
@@ -14987,6 +14869,12 @@ git-pages.rit.edu
 // Submitted by Neil Hanlon <neil@resf.org>
 rocky.page
 
+// Ruhr University Bochum http://ruhr-uni-bochum.de
+// Submitted by Andreas Jobs <noc@ruhr-uni-bochum.de>
+rub.de
+ruhr-uni-bochum.de
+io.noc.ruhr-uni-bochum.de
+
 // Rusnames Limited: http://rusnames.ru/
 // Submitted by Sergey Zotov <admin@rusnames.ru>
 биз.рус
@@ -15000,6 +14888,14 @@ rocky.page
 спб.рус
 я.рус
 
+// Russian Academy of Sciences
+// Submitted by Tech Support <support@rasnet.ru>
+ras.ru
+
+// Sakura Frp : https://www.natfrp.com
+// Submitted by Bobo Liu <support@natfrp.cloud>
+nyat.app
+
 // SAKURA Internet Inc. : https://www.sakura.ad.jp/
 // Submitted by Internet Service Department <rs-vendor-ml@sakura.ad.jp>
 180r.com
@@ -15143,17 +15039,17 @@ seidat.net
 // Submitted by Yuriy Romadin <contact@sellfy.com>
 sellfy.store
 
-// Senseering GmbH : https://www.senseering.de
-// Submitted by Felix Mönckemeyer <f.moenckemeyer@senseering.de>
-senseering.net
-
 // Sendmsg: https://www.sendmsg.co.il
 // Submitted by Assaf Stern <domains@comstar.co.il>
 minisite.ms
 
-// Service Magnet : https://myservicemagnet.com
-// Submitted by Dave Sanders <dave@myservicemagnet.com>
-magnet.page
+// Senseering GmbH : https://www.senseering.de
+// Submitted by Felix Mönckemeyer <f.moenckemeyer@senseering.de>
+senseering.net
+
+// Servebolt AS: https://servebolt.com
+// Submitted by Daniel Kjeserud <cloudops@servebolt.com>
+servebolt.cloud
 
 // Service Online LLC : http://drs.ua/
 // Submitted by Serhii Bulakh <support@drs.ua>
@@ -15169,15 +15065,6 @@ as.sh.cn
 // Submitted by Nyoom <admin@sheezy.art>
 sheezy.games
 
-// Shift Crypto AG : https://shiftcrypto.ch
-// Submitted by alex <alex@shiftcrypto.ch>
-shiftcrypto.dev
-shiftcrypto.io
-
-// ShiftEdit : https://shiftedit.net/
-// Submitted by Adam Jimenez <adam@shiftcreate.com>
-shiftedit.io
-
 // Shopblocks : http://www.shopblocks.com/
 // Submitted by Alex Bowers <alex@shopblocks.com>
 myshopblocks.com
@@ -15192,6 +15079,7 @@ shopitsite.com
 
 // shopware AG : https://shopware.com
 // Submitted by Jens Küper <cloud@shopware.com>
+shopware.shop
 shopware.store
 
 // Siemens Mobility GmbH
@@ -15210,11 +15098,9 @@ vipsinaapp.com
 // Submitted by Skylar Challand <support@siteleaf.com>
 siteleaf.net
 
-// Skyhat : http://www.skyhat.io
-// Submitted by Shante Adam <shante@skyhat.io>
-bounty-full.com
-alpha.bounty-full.com
-beta.bounty-full.com
+// Small Technology Foundation : https://small-tech.org
+// Submitted by Aral Balkan <aral@small-tech.org>
+small-web.org
 
 // Smallregistry by Promopixel SARL: https://www.smallregistry.net
 // Former AFNIC's SLDs
@@ -15230,10 +15116,6 @@ pharmacien.fr
 port.fr
 veterinaire.fr
 
-// Small Technology Foundation : https://small-tech.org
-// Submitted by Aral Balkan <aral@small-tech.org>
-small-web.org
-
 // Smoove.io : https://www.smoove.io/
 // Submitted by Dan Kozak <dan@smoove.io>
 vp4.me
@@ -15249,64 +15131,18 @@ streamlitapp.com
 // Submitted by Ian Streeter <ian@snowplowanalytics.com>
 try-snowplow.com
 
-// SourceHut : https://sourcehut.org
-// Submitted by Drew DeVault <sir@cmpwn.com>
-srht.site
-
-// SparrowHost : https://sparrowhost.in/
-// Submitted by Anant Pandey <info@sparrowhost.in>
-ind.mom
-
-// StackBlitz : https://stackblitz.com
-// Submitted by Dominic Elm <hello@stackblitz.com>
-w-corp-staticblitz.com
-w-credentialless-staticblitz.com
-w-staticblitz.com
-
-// Stackhero : https://www.stackhero.io
-// Submitted by Adrien Gillon <adrien+public-suffix-list@stackhero.io>
-stackhero-network.com
-
-// STACKIT : https://www.stackit.de/en/
-// Submitted by STACKIT-DNS Team (Simon Stier) <stackit-dns@mail.schwarz>
-runs.onstackit.cloud
-stackit.gg
-stackit.rocks
-stackit.run
-stackit.zone
-
-// Staclar : https://staclar.com
-// Submitted by Q Misell <q@staclar.com>
-// Submitted by Matthias Merkel <matthias.merkel@staclar.com>
-musician.io
-novecore.site
-
-// staticland : https://static.land
-// Submitted by Seth Vincent <sethvincent@gmail.com>
-static.land
-dev.static.land
-sites.static.land
-
-// Storebase : https://www.storebase.io
-// Submitted by Tony Schirmer <tony@storebase.io>
-storebase.store
-
-// Strapi : https://strapi.io/
-// Submitted by Florent Baldino <security@strapi.io>
-strapiapp.com
-media.strapiapp.com
-
-// Strategic System Consulting (eApps Hosting): https://www.eapps.com/
-// Submitted by Alex Oancea <aoancea@cloudscale365.com>
-vps-host.net
-atl.jelastic.vps-host.net
-njs.jelastic.vps-host.net
-ric.jelastic.vps-host.net
+// Software Consulting Michal Zalewski : https://www.mafelo.com
+// Submitted by Michal Zalewski <security@mafelo.com>
+mafelo.net
 
 // Sony Interactive Entertainment LLC : https://sie.com/
 // Submitted by David Coles <david.coles@sony.com>
 playstation-cloud.com
 
+// SourceHut : https://sourcehut.org
+// Submitted by Drew DeVault <sir@cmpwn.com>
+srht.site
+
 // SourceLair PC : https://www.sourcelair.com
 // Submitted by Antonis Kalipetis <akalipetis@sourcelair.com>
 apps.lair.io
@@ -15316,6 +15152,10 @@ apps.lair.io
 // Submitted by Reza Akhavan <spacekit.io@gmail.com>
 spacekit.io
 
+// SparrowHost : https://sparrowhost.in/
+// Submitted by Anant Pandey <info@sparrowhost.in>
+ind.mom
+
 // SpeedPartner GmbH: https://www.speedpartner.de/
 // Submitted by Stefan Neufeind <info@speedpartner.de>
 customer.speedpartner.de
@@ -15342,6 +15182,30 @@ myspreadshop.pl
 myspreadshop.se
 myspreadshop.co.uk
 
+// StackBlitz : https://stackblitz.com
+// Submitted by Dominic Elm <hello@stackblitz.com>
+w-corp-staticblitz.com
+w-credentialless-staticblitz.com
+w-staticblitz.com
+
+// Stackhero : https://www.stackhero.io
+// Submitted by Adrien Gillon <adrien+public-suffix-list@stackhero.io>
+stackhero-network.com
+
+// STACKIT GmbH & Co. KG : https://www.stackit.de/en/
+// Submitted by STACKIT-DNS Team (Simon Stier) <dns@stackit.cloud>
+runs.onstackit.cloud
+stackit.gg
+stackit.rocks
+stackit.run
+stackit.zone
+
+// Staclar : https://staclar.com
+// Submitted by Q Misell <q@staclar.com>
+// Submitted by Matthias Merkel <matthias.merkel@staclar.com>
+musician.io
+novecore.site
+
 // Standard Library : https://stdlib.com
 // Submitted by Jacob Lee <jacob@stdlib.com>
 api.stdlib.com
@@ -15359,6 +15223,10 @@ researched.cx
 tests.cx
 surveys.so
 
+// Storebase : https://www.storebase.io
+// Submitted by Tony Schirmer <tony@storebase.io>
+storebase.store
+
 // Storipress : https://storipress.com
 // Submitted by Benno Liu <benno@storipress.com>
 storipress.app
@@ -15367,21 +15235,33 @@ storipress.app
 // Submitted by Philip Hutchins <hostmaster@storj.io>
 storj.farm
 
+// Strapi : https://strapi.io/
+// Submitted by Florent Baldino <security@strapi.io>
+strapiapp.com
+media.strapiapp.com
+
+// Strategic System Consulting (eApps Hosting): https://www.eapps.com/
+// Submitted by Alex Oancea <aoancea@cloudscale365.com>
+vps-host.net
+atl.jelastic.vps-host.net
+njs.jelastic.vps-host.net
+ric.jelastic.vps-host.net
+
 // Streak : https://streak.com
 // Submitted by Blake Kadatz <eng@streak.com>
 streak-link.com
 streaklinks.com
 streakusercontent.com
 
-// Studenten Net Twente : http://www.snt.utwente.nl/
-// Submitted by Silke Hofstra <syscom@snt.utwente.nl>
-utwente.io
-
 // Student-Run Computing Facility : https://www.srcf.net/
 // Submitted by Edwin Balani <sysadmins@srcf.net>
 soc.srcf.net
 user.srcf.net
 
+// Studenten Net Twente : http://www.snt.utwente.nl/
+// Submitted by Silke Hofstra <syscom@snt.utwente.nl>
+utwente.io
+
 // Sub 6 Limited: http://www.sub6.com
 // Submitted by Dan Miller <dm@sub6.com>
 temp-dns.com
@@ -15391,12 +15271,6 @@ temp-dns.com
 supabase.co
 supabase.in
 supabase.net
-su.paba.se
-
-// Symfony, SAS : https://symfony.com/
-// Submitted by Fabien Potencier <fabien@symfony.com>
-*.sensiosite.cloud
-*.s5y.io
 
 // Syncloud : https://syncloud.org
 // Submitted by Boris Rybalkin <syncloud@syncloud.it>
@@ -15432,18 +15306,26 @@ tabitorder.co.il
 taifun-dns.de
 
 // Tailscale Inc. : https://www.tailscale.com
-// Submitted by David Anderson <danderson@tailscale.com>
-beta.tailscale.net
+// Submitted by David Anderson <infra+public-suffix-list@tailscale.com>
 ts.net
 *.c.ts.net
 
-// TASK geographical domains (www.task.gda.pl/uslugi/dns)
+// TASK geographical domains : 
https://task.gda.pl/en/services/for-entrepreneurs/
 gda.pl
 gdansk.pl
 gdynia.pl
 med.pl
 sopot.pl
 
+// Tave Creative Corp : https://tave.com/
+// Submitted by Adrian Ziemkowski <devops@tave.com>
+taveusercontent.com
+
+// tawk.to, Inc : https://www.tawk.to
+// Submitted by tawk.to developer team <dev-accounts@tawk.to>
+p.tawk.email
+p.tawkto.email
+
 // team.blue https://team.blue
 // Submitted by Cedric Dubois <cedric.dubois@team.blue>
 site.tb-hosting.com
@@ -15484,13 +15366,12 @@ azimuth.network
 tlon.network
 
 // Tor Project, Inc. : https://torproject.org
-// Submitted by Antoine Beaupré <anarcat@torproject.org
+// Submitted by Antoine Beaupré <anarcat@torproject.org>
 torproject.net
 pages.torproject.net
 
 // TownNews.com : http://www.townnews.com
 // Submitted by Dustin Ward <dward@townnews.com>
-bloxcms.com
 townnews-staging.com
 
 // TrafficPlex GmbH : https://www.trafficplex.de/
@@ -15516,14 +15397,11 @@ webspace.rocks
 lima.zone
 
 // TransIP : https://www.transip.nl
-// Submitted by Rory Breuk <rbreuk@transip.nl>
+// Submitted by Rory Breuk <rbreuk@transip.nl> and Cedric Dubois 
<cedric.dubois@team.blue>
 *.transurl.be
 *.transurl.eu
-*.transurl.nl
-
-// TransIP: https://www.transip.nl
-// Submitted by Cedric Dubois <cedric.dubois@team.blue>
 site.transip.me
+*.transurl.nl
 
 // TuxFamily : http://tuxfamily.org
 // Submitted by TuxFamily administrators <adm@staff.tuxfamily.org>
@@ -15573,6 +15451,11 @@ it.com
 // Submitted by Simon Højberg <security@unison.cloud>
 unison-services.cloud
 
+// United Gameserver GmbH : https://united-gameserver.de
+// Submitted by Stefan Schwarz <sysadm@united-gameserver.de>
+virtual-user.de
+virtualuser.de
+
 // UNIVERSAL DOMAIN REGISTRY : https://www.udr.org.yt/
 // see also: whois -h whois.udr.org.yt help
 // Submitted by Atanunu Igbunuroghene <publicsuffixlist@udr.org.yt>
@@ -15582,39 +15465,45 @@ biz.wf
 sch.wf
 org.yt
 
-// United Gameserver GmbH : https://united-gameserver.de
-// Submitted by Stefan Schwarz <sysadm@united-gameserver.de>
-virtual-user.de
-virtualuser.de
+// University of Banja Luka : https://unibl.org
+// Domains for Republic of Srpska administrative entity.
+// Submitted by Marko Ivanovic <kormang@hotmail.rs>
+rs.ba
 
-// Upli : https://upli.io
-// Submitted by Lenny Bakkalian <lenny.bakkalian@gmail.com>
-upli.io
+// University of Bielsko-Biala regional domain: http://dns.bielsko.pl/
+// Submitted by Marcin <dns@ath.bielsko.pl>
+bielsko.pl
 
 // urown.net : https://urown.net
 // Submitted by Hostmaster <hostmaster@urown.net>
 urown.cloud
 dnsupdate.info
 
-// .US
-// Submitted by Ed Moore <Ed.Moore@lib.de.us>
-lib.de.us
+// US REGISTRY LLC : http://us.org
+// Submitted by Gavin Brown <gavin.brown@centralnic.com>
+us.org
+
+// V.UA Domain Administrator : https://domain.v.ua/
+// Submitted by Serhii Rostilo <sergey@rostilo.kiev.ua>
+v.ua
 
 // Val Town, Inc : https://val.town/
 // Submitted by Tom MacWright <security@val.town>
 express.val.run
 web.val.run
 
-// VeryPositive SIA : http://very.lv
-// Submitted by Danko Aleksejevs <danko@very.lv>
-2038.io
-
 // Vercel, Inc : https://vercel.com/
-// Submitted by Connor Davis <security@vercel.com>
+// Submitted by Max Leiter <security@vercel.com>
 vercel.app
+v0.build
 vercel.dev
+vusercontent.net
 now.sh
 
+// VeryPositive SIA : http://very.lv
+// Submitted by Danko Aleksejevs <danko@very.lv>
+2038.io
+
 // Viprinet Europe GmbH : http://www.viprinet.com
 // Submitted by Simon Kissel <hostmaster@viprinet.com>
 router.management
@@ -15627,10 +15516,6 @@ v-info.info
 // Submitted by Nathan van Bakel <info@voorloper.com>
 voorloper.cloud
 
-// V.UA Domain Administrator : https://domain.v.ua/
-// Submitted by Serhii Rostilo <sergey@rostilo.kiev.ua>
-v.ua
-
 // Vultr Objects : https://www.vultr.com/products/object-storage/
 // Submitted by Niels Maumenee <storage@vultr.com>
 *.vultrobjects.com
@@ -15644,11 +15529,11 @@ wafflecell.com
 webflow.io
 webflowtest.io
 
-// WebHare bv: https://www.webhare.com/
+// WebHare bv : https://www.webhare.com/
 // Submitted by Arnold Hendriks <info@webhare.com>
 *.webhare.dev
 
-// WebHotelier Technologies Ltd: https://www.webhotelier.net/
+// WebHotelier Technologies Ltd : https://www.webhotelier.net/
 // Submitted by Apostolos Tsakpinis <apostolos.tsakpinis@gmail.com>
 bookonline.app
 hotelwithflight.com
@@ -15657,19 +15542,17 @@ reserve-online.net
 
 // WebPros International, LLC : https://webpros.com/
 // Submitted by Nicolas Rochelemagne <public.suffix@webpros.com>
+cprapid.com
+pleskns.com
 wp2.host
+pdns.page
+plesk.page
 wpsquared.site
 
-// WebWaddle Ltd: https://webwaddle.com/
+// WebWaddle Ltd : https://webwaddle.com/
 // Submitted by Merlin Glander <hostmaster@webwaddle.com>
 *.wadl.top
 
-// WeDeploy by Liferay, Inc. : https://www.wedeploy.com
-// Submitted by Henrique Vicente <security@wedeploy.com>
-wedeploy.io
-wedeploy.me
-wedeploy.sh
-
 // Western Digital Technologies, Inc : https://www.wdc.com
 // Submitted by Jung Jin <jungseok.jin@wdc.com>
 remotewd.com
@@ -15688,6 +15571,10 @@ toolforge.org
 wmcloud.org
 wmflabs.org
 
+// William Harrison : https://wharrison.com.au
+// Submitted by William Harrison <william@harrison.id.au>
+wdh.app
+
 // WISP : https://wisp.gg
 // Submitted by Stepan Fedotov <stepan@wisp.gg>
 panel.gg
@@ -15742,7 +15629,7 @@ cistron.nl
 demon.nl
 xs4all.space
 
-// Yandex.Cloud LLC: https://cloud.yandex.com
+// Yandex.Cloud LLC : https://cloud.yandex.com
 // Submitted by Alexander Lodin <security+psl@yandex-team.ru>
 yandexcloud.net
 storage.yandexcloud.net
@@ -15756,16 +15643,6 @@ official.academy
 // Submitted by Stefano Rivera <stefano@yola.com>
 yolasite.com
 
-// Yombo : https://yombo.net
-// Submitted by Mitch Schwenk <mitch@yombo.net>
-ybo.faith
-yombo.me
-homelink.one
-ybo.party
-ybo.review
-ybo.science
-ybo.trade
-
 // Yunohost : https://yunohost.org
 // Submitted by Valentin Grimaud <security@yunohost.org>
 ynh.fr
diff --git a/etc/refcards/cs-refcard.tex b/etc/refcards/cs-refcard.tex
index 85383d0ac4b..2072fdb6c19 100644
--- a/etc/refcards/cs-refcard.tex
+++ b/etc/refcards/cs-refcard.tex
@@ -498,7 +498,6 @@ z~minibufferu.  Stiskněte \kbd{F10} pro aktivaci menu 
v~minibufferu.
 
 \metax{vyhledat reg.\ výraz v~souborech s~tagy}{M-x tags-search}
 \metax{spustit nahrazování pro ony soubory}{M-x tags-query-replace}
-\key{pokračovat v~prohledávání nebo nahrazování}{M-,}
 
 \section{Příkazový interpret}
 
diff --git a/etc/refcards/cs-survival.tex b/etc/refcards/cs-survival.tex
index bd6206152de..c4e75b89ad4 100644
--- a/etc/refcards/cs-survival.tex
+++ b/etc/refcards/cs-survival.tex
@@ -255,10 +255,9 @@ proměnných, datových typů a dalšího. Pro vytvoření tabulky 
značek spus
 příkaz `{\tt etags} {\it vstupní\_soubory}' v příkazovém interpretu.
 \askip
 \key{M-.} najdi definici
-\key{M-*} běž tam, odkud byla volána poslední \kbd{M-.}
+\key{M-,} běž tam, odkud byla volána poslední \kbd{M-.}
 \mkey{M-x tags-query-replace} spusť query-replace na všech souborech
 zaznamenaných v tabulce značek.
-\key{M-,} pokračuj v posledním hledání značky nebo query-replace
 
 \section{Překlady}
 
diff --git a/etc/refcards/de-refcard.tex b/etc/refcards/de-refcard.tex
index da11ac4aa8e..fbb065592ae 100644
--- a/etc/refcards/de-refcard.tex
+++ b/etc/refcards/de-refcard.tex
@@ -499,7 +499,6 @@ und zu wiederholen, der im Minipuffer aus\-gef\"uhrt wurde. 
Dr\"u\-cken Sie
 
 \metax{regul\"aren Ausdruck in Dateien suchen}{M-x tags-search}
 \metax{interakt. Ersetzen in allen Dateien}{M-x tags-query-replace}
-\key{letztes Suchen oder Ersetzen fortsetzen}{M-,}
 
 \section{Shells}
 
diff --git a/etc/refcards/fr-refcard.tex b/etc/refcards/fr-refcard.tex
index cce866d634d..c4628a77a18 100644
--- a/etc/refcards/fr-refcard.tex
+++ b/etc/refcards/fr-refcard.tex
@@ -503,7 +503,6 @@ utiliser la barre de menu sur un terminal en utilisant le 
mini-tampon.
 \metax{Rechercher dans tous les fichiers des tags}{M-x tags-search}
 
 \metax{Remplacer dans tous les fichiers}{M-x tags-query-replace}
-\key{Continuer la recherche ou le remplacement}{M-,}
 
 \section{Shell}
 
diff --git a/etc/refcards/fr-survival.tex b/etc/refcards/fr-survival.tex
index 149268c20b0..15b0d96ca0c 100644
--- a/etc/refcards/fr-survival.tex
+++ b/etc/refcards/fr-survival.tex
@@ -251,11 +251,9 @@ types de donn\'ees et de tout ce qui peut \^etre pratique. 
Pour cr\'eer un
 tel fichier, tapez `{\tt etags} {\it fichier\_entr\'ee}' \`a l'invite du shell.
 \askip
 \key{M-.} trouve une d\'efinition
-\key{M-*} revient o\`u \kbd{M-.} a \'et\'e appel\'e pour la derni\`ere fois
+\key{M-,} revient o\`u \kbd{M-.} a \'et\'e appel\'e pour la derni\`ere fois
 \mkey{M-x tags-query-replace} lance query-replace sur tous les
 fichiers enregistr\'es dans le tableau des marqueurs
-\key{M-,} continue la derni\`ere recherche de marqueurs ou le dernier
-query-replace
 
 \section{Compilation}
 
diff --git a/etc/refcards/pl-refcard.tex b/etc/refcards/pl-refcard.tex
index dabef6d91c8..46b2c45d3df 100644
--- a/etc/refcards/pl-refcard.tex
+++ b/etc/refcards/pl-refcard.tex
@@ -701,8 +701,6 @@ Napisz \kbd{F10} aby uaktywni/c menu w minibuforze.
   we wszystkich plikach wymienionych w~TAGS}{M-x tags-search}
 \metax{zamiana z zapytaniem we wszystkich\newline
   plikach wymienionych w~TAGS}{M-x tags-query-replace}
-\key{kontynuuj wyszukiwanie lub zamian/e z~zapytaniem
-  w~plikach wymienionych w~TAGS}{M-,}
 
 %\section{Shells}
 \section{Pow/loki}
diff --git a/etc/refcards/pt-br-refcard.tex b/etc/refcards/pt-br-refcard.tex
index 47064e7365d..c1749efbcf3 100644
--- a/etc/refcards/pt-br-refcard.tex
+++ b/etc/refcards/pt-br-refcard.tex
@@ -508,7 +508,6 @@ utilizado.  Tecle \kbd{F10} para ativar o menu.
 
 \metax{busca por regexp em todos arquivos}{M-x tags-search}
 \metax{busca e subst. em todos arquivos}{M-x tags-query-replace}
-\key{continua a {\'u}ltima busca ou busca e substitui{\c{c}}{\~a}o}{M-,}
 
 \section{Shells}
 
diff --git a/etc/refcards/refcard.tex b/etc/refcards/refcard.tex
index 8e8ee846291..fd1fbf83964 100644
--- a/etc/refcards/refcard.tex
+++ b/etc/refcards/refcard.tex
@@ -515,7 +515,6 @@ minibuffer.  Type \kbd{F10} to activate menu bar items on 
text terminals.
 
 \metax{regexp search on all files in tags table}{M-x tags-search}
 \metax{run query-replace on all the files}{M-x tags-query-replace}
-\key{continue last tags search or query-replace}{M-,}
 
 \section{Shells}
 
diff --git a/etc/refcards/ru-refcard.tex b/etc/refcards/ru-refcard.tex
index a013f7695ed..90ff1ff3433 100644
--- a/etc/refcards/ru-refcard.tex
+++ b/etc/refcards/ru-refcard.tex
@@ -344,7 +344,6 @@ apropos: показать команды, соответствующие стр
 
 поиск по шаблону по всей таблице тегов & \kbd{M-x tags-search} \\
 выполнить query-replace над всеми файлами & \kbd{M-x tags-query-replace} \\
-продолжить поиск или поиск-замену тега & \kbd{M-,} \\
 \end{tabular}
 
 \section{Командные процессоры}
diff --git a/etc/refcards/sk-refcard.tex b/etc/refcards/sk-refcard.tex
index 30dc61e9bc5..6194f95b77a 100644
--- a/etc/refcards/sk-refcard.tex
+++ b/etc/refcards/sk-refcard.tex
@@ -498,7 +498,6 @@ z~minibufferu.  Stlačte \kbd{F10} pre aktiváciu menu 
v~minibufferi.
 
 \metax{vyhľadať reg.\ výraz v~súboroch s~tagmi}{M-x tags-search}
 \metax{spustiť nahradzovanie pre dotyčné súbory}{M-x tags-query-replace}
-\key{pokračovať v~prehľadávaní alebo nahradzovaní}{M-,}
 
 \section{Príkazový interprét}
 
diff --git a/etc/refcards/sk-survival.tex b/etc/refcards/sk-survival.tex
index 5adc16ef667..b350bd64050 100644
--- a/etc/refcards/sk-survival.tex
+++ b/etc/refcards/sk-survival.tex
@@ -258,10 +258,9 @@ premenných, dátových typov a iných. Pre vytvorenie tabuľky 
značiek spustit
 príkaz `{\tt etags} {\it vstupné\_súbory}' v príkazovom interprétereri.
 \askip
 \key{M-.} nájdi definícu
-\key{M-*} choď tam, odkiaľ bola volaná posledná \kbd{M-.}
+\key{M-,} choď tam, odkiaľ bola volaná posledná \kbd{M-.}
 \mkey{M-x tags-query-replace} spusti query-replace na všetkých súboroch
 zaznamenaných v tabuľke značiek.
-\key{M-,} pokračuj v poslednom hľadaní značky alebo query-replace
 
 \section{Preklady}
 
diff --git a/etc/refcards/survival.tex b/etc/refcards/survival.tex
index daf7fcd4789..983d0814802 100644
--- a/etc/refcards/survival.tex
+++ b/etc/refcards/survival.tex
@@ -243,10 +243,9 @@ else convenient.  To create a tags table file, type
 `{\tt etags} {\it input\_files}' as a shell command.
 \askip
 \key{M-.} find a definition
-\key{M-*} pop back to where \kbd{M-.} was last invoked
+\key{M-,} pop back to where \kbd{M-.} was last invoked
 \mkey{M-x tags-query-replace} run query-replace on all files
   recorded in tags table
-\key{M-,} continue last tags search or query-replace
 
 \section{Compiling}
 
diff --git a/etc/tutorials/TUTORIAL.ko b/etc/tutorials/TUTORIAL.ko
index a8c97e8db9c..edb21c2bf60 100644
--- a/etc/tutorials/TUTORIAL.ko
+++ b/etc/tutorials/TUTORIAL.ko
@@ -1,6 +1,5 @@
-이맥스(Emacs) 지침서입니다.
-끝에는 복사 조건이
-있습니다.  지금 읽고 있는 이 글은 이맥스(Emacs) 지침서입니다.
+이맥스(Emacs) 지침서입니다.  끝에는 복사 조건이 있습니다.
+지금 읽고 있는 이 글은 이맥스(Emacs) 지침서입니다.
 
 이맥스 명령들은 대개 제어쇠 (CTRL이나 CTL이라고도 표시) 혹은
 META쇠 (EDIT이나 ALT라고도 표시)를 사용합니다.  이런 글쇠를 매번 다
diff --git a/etc/w32-feature.el b/etc/w32-feature.el
index 2da197c9e26..99021300977 100644
--- a/etc/w32-feature.el
+++ b/etc/w32-feature.el
@@ -46,9 +46,7 @@
 
 (ert-deftest feature-harfbuzz ()
   (should
-   (eq
-    'harfbuzz
-    (car (frame-parameter nil 'font-backend)))))
+   (eq 'harfbuzz (get 'uniscribe 'font-driver-superseded-by))))
 
 (ert-deftest feature-gnutls ()
   (should (gnutls-available-p)))
diff --git a/lisp/editorconfig.el b/lisp/editorconfig.el
index fbc7a59d823..666df9941c8 100644
--- a/lisp/editorconfig.el
+++ b/lisp/editorconfig.el
@@ -274,6 +274,7 @@ a list of settings in the form (VARIABLE . VALUE)."
                                     (repeat
                                      (choice symbol
                                              (cons symbol integer)))))
+  :version "30.1"
   :risky t)
 
 (defcustom editorconfig-trim-whitespaces-mode nil
@@ -281,6 +282,7 @@ a list of settings in the form (VARIABLE . VALUE)."
 
 If set, enable that mode when `trim_trailing_whitespace` is set to true.
 Otherwise, use `delete-trailing-whitespace'."
+  :version "30.1"
   :type 'symbol)
 
 (defvar-local editorconfig-properties-hash nil
diff --git a/lisp/erc/erc-backend.el b/lisp/erc/erc-backend.el
index 098cf6d7d71..dc64b8bebc8 100644
--- a/lisp/erc/erc-backend.el
+++ b/lisp/erc/erc-backend.el
@@ -571,7 +571,7 @@ If this is set to nil, never try to reconnect."
                  (integer :tag "Seconds")))
 
 (defvar-local erc-server-ping-handler nil
-  "This variable holds the periodic ping timer.")
+  "The periodic server ping timer.")
 
 ;;;; Helper functions
 
diff --git a/lisp/erc/erc-log.el b/lisp/erc/erc-log.el
index a1102ebdcdf..69da188ea4f 100644
--- a/lisp/erc/erc-log.el
+++ b/lisp/erc/erc-log.el
@@ -360,13 +360,13 @@ The result is converted to lowercase, as IRC is 
case-insensitive."
         erc-log-channels-directory)))))
 
 (defun erc-generate-log-file-name-with-date (buffer &rest _ignore)
-  "Compute a short log file name with the current date.
+  "Return a short log file name with the current date.
 The name of the log file is composed of BUFFER and the current date.
 This function is a possible value for `erc-generate-log-file-name-function'."
   (concat (buffer-name buffer) "-" (format-time-string "%Y-%m-%d") ".txt"))
 
 (defun erc-generate-log-file-name-short (buffer &rest _ignore)
-  "Compute a short log file name.
+  "Return a short log file name.
 In fact, it only uses the buffer name of the BUFFER argument, so
 you can affect that using `rename-buffer' and the-like.  This
 function is a possible value for
diff --git a/lisp/erc/erc-track.el b/lisp/erc/erc-track.el
index fac0269f9e8..6191ec32182 100644
--- a/lisp/erc/erc-track.el
+++ b/lisp/erc/erc-track.el
@@ -140,7 +140,7 @@ This setting is used by `erc-track-shorten-names'."
                 (const :tag "Max" max)))
 
 (defcustom erc-track-shorten-function 'erc-track-shorten-names
-  "This function will be used to reduce the channel names before display.
+  "Function used to reduce the channel names before display.
 It takes one argument, CHANNEL-NAMES which is a list of strings.
 It should return a list of strings of the same number of elements.
 If nil instead of a function, shortening is disabled."
diff --git a/lisp/eshell/em-cmpl.el b/lisp/eshell/em-cmpl.el
index ef931db62b2..f8226375f83 100644
--- a/lisp/eshell/em-cmpl.el
+++ b/lisp/eshell/em-cmpl.el
@@ -150,7 +150,8 @@ to writing a completion function."
 
 (defcustom eshell-cmpl-remote-file-ignore nil
   (eshell-cmpl--custom-variable-docstring 'pcomplete-remote-file-ignore)
-  :type (get 'pcomplete-remote-file-ignore 'custom-type))
+  :type (get 'pcomplete-remote-file-ignore 'custom-type)
+  :version "30.1")
 
 (defcustom eshell-cmpl-ignore-case (eshell-under-windows-p)
   (eshell-cmpl--custom-variable-docstring 'completion-ignore-case)
diff --git a/lisp/eshell/em-smart.el b/lisp/eshell/em-smart.el
index 670b956476d..c49b6a9caa3 100644
--- a/lisp/eshell/em-smart.el
+++ b/lisp/eshell/em-smart.el
@@ -150,7 +150,7 @@ buffer using \\[end-of-buffer]."
   :group 'eshell-smart)
 
 (defcustom eshell-where-to-jump 'begin
-  "This variable indicates where point should jump to after a command.
+  "The location where point should jump to after a command.
 The options are `begin', `after' or `end'."
   :type '(radio (const :tag "Beginning of command" begin)
                (const :tag "After command word" after)
diff --git a/lisp/eshell/esh-ext.el b/lisp/eshell/esh-ext.el
index cf93d2904da..38c8b5ac60a 100644
--- a/lisp/eshell/esh-ext.el
+++ b/lisp/eshell/esh-ext.el
@@ -171,6 +171,7 @@ These are commands with a full remote file name, such as
 commands on your local host by using the \"/local:\" prefix, like
 \"/local:whoami\"."
   :type 'boolean
+  :version "30.1"
   :group 'eshell-ext)
 
 ;;; Functions:
diff --git a/lisp/eshell/esh-mode.el b/lisp/eshell/esh-mode.el
index 4f94934fccd..f4a405bfbfc 100644
--- a/lisp/eshell/esh-mode.el
+++ b/lisp/eshell/esh-mode.el
@@ -537,7 +537,7 @@ Putting this function on `eshell-pre-command-hook' will 
mimic Plan 9's
     (eshell-interactive-output-filter nil string)))
 
 (defsubst eshell-begin-on-new-line ()
-  "Print a newline if not at beginning of line."
+  "Output a newline if not at beginning of line."
   (save-excursion
     (goto-char eshell-last-output-end)
     (or (bolp)
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el
index 8243e4e632b..45f23e16475 100644
--- a/lisp/gnus/gnus-art.el
+++ b/lisp/gnus/gnus-art.el
@@ -512,7 +512,7 @@ might have."
   :type 'boolean)
 
 (defcustom gnus-prompt-before-saving 'always
-  "This variable says how much prompting is to be done when saving articles.
+  "How much prompting to do when saving articles.
 If it is nil, no prompting will be done, and the articles will be
 saved to the default files.  If this variable is `always', each and
 every article that is saved will be preceded by a prompt, even when
diff --git a/lisp/gnus/nnfeed.el b/lisp/gnus/nnfeed.el
index e8c1fdb8e2b..5fd25dd5ac8 100644
--- a/lisp/gnus/nnfeed.el
+++ b/lisp/gnus/nnfeed.el
@@ -64,6 +64,7 @@
 
 (defcustom nnfeed-date-format "%F %X%p"
   "Format of displayed dates (see function `format-time-string')."
+  :version "30.1"
   :type 'string)
 
 (nnoo-declare nnfeed)
diff --git a/lisp/mail/supercite.el b/lisp/mail/supercite.el
index a3b5542bfdc..f9a31aef039 100644
--- a/lisp/mail/supercite.el
+++ b/lisp/mail/supercite.el
@@ -236,7 +236,7 @@ See the variable `sc-cite-frame-alist' for details."
   :group 'supercite-frames)
 
 (defcustom sc-cite-region-limit t
-  "This variable controls automatic citation of yanked text.
+  "Size limit for automatic citation of yanked text.
 Valid values are:
 
 non-nil   -- cite the entire region, regardless of its size
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el
index 39e7a399404..cd3c9e00bf7 100644
--- a/lisp/minibuffer.el
+++ b/lisp/minibuffer.el
@@ -5039,9 +5039,9 @@ contents."
     (error (minibuffer-complete-and-exit))))
 
 (defun minibuffer-complete-history ()
-  "Complete the minibuffer history as far as possible.
-Like `minibuffer-complete' but completes on the history items
-instead of the default completion table."
+  "Complete as far as possible using the minibuffer history.
+Like `minibuffer-complete' but completes using the history of minibuffer
+inputs for the prompting command, instead of the default completion table."
   (interactive)
   (let* ((history (symbol-value minibuffer-history-variable))
          (completions
@@ -5062,9 +5062,9 @@ instead of the default completion table."
                       (cycle-sort-function . identity)))))))
 
 (defun minibuffer-complete-defaults ()
-  "Complete minibuffer defaults as far as possible.
-Like `minibuffer-complete' but completes on the default items
-instead of the completion table."
+  "Complete as far as possible using the minibuffer defaults.
+Like `minibuffer-complete' but completes using the default items
+provided by the prompting command, instead of the completion table."
   (interactive)
   (when (and (not minibuffer-default-add-done)
              (functionp minibuffer-default-add-function))
diff --git a/lisp/net/newst-ticker.el b/lisp/net/newst-ticker.el
index 01cd2964778..5c9fdb95950 100644
--- a/lisp/net/newst-ticker.el
+++ b/lisp/net/newst-ticker.el
@@ -96,6 +96,7 @@ retrieval interval (or the global 
`newsticker-retrieval-interval`) is
 recommended."
   :type 'number
   :set #'newsticker--set-customvar-ticker
+  :version "30.1"
   :group 'newsticker-ticker)
 
 (defcustom newsticker-scroll-smoothly
diff --git a/lisp/net/nsm.el b/lisp/net/nsm.el
index 33eb4986bb7..03e1dee02ba 100644
--- a/lisp/net/nsm.el
+++ b/lisp/net/nsm.el
@@ -154,17 +154,16 @@ If WARN-UNENCRYPTED, query the user if the connection is 
unencrypted."
     (dhe-kx                 high)
     (rsa-kx                 high)
     (cbc-cipher             high))
-  "This variable specifies what TLS connection checks to perform.
-It's an alist where the key is the name of the check, and the
-value is the minimum security level the check should begin.
-
-Each check function is called with the parameters HOST PORT
-STATUS SETTINGS.  HOST is the host domain, PORT is a TCP port
-number, STATUS is the peer status returned by
-`gnutls-peer-status', and SETTINGS is the persistent and session
-settings for the host HOST.  Please refer to the contents of
-`nsm-settings-file' for details.  If a problem is found, the check
-function is required to return an error message, and nil
+  "Alist of TLS connection checks to perform.
+The key is the name of the check, and the value is the minimum security
+level the check should begin.
+
+Each check function is called with the parameters HOST PORT STATUS
+SETTINGS.  HOST is the host domain, PORT is a TCP port number, STATUS is
+the peer status returned by `gnutls-peer-status', and SETTINGS is the
+persistent and session settings for the host HOST.  Please refer to the
+contents of `nsm-settings-file' for details.  If a problem is found, the
+check function is required to return an error message, and nil
 otherwise.
 
 See also: `nsm-check-tls-connection', `nsm-save-host-names',
diff --git a/lisp/org/org-element.el b/lisp/org/org-element.el
index d184165f6cb..d41f75aa35d 100644
--- a/lisp/org/org-element.el
+++ b/lisp/org/org-element.el
@@ -7259,7 +7259,7 @@ that range.  See `after-change-functions' for more 
information."
              #'org-element--cache-after-change -1 t)))
 
 (defvar org-element--cache-avoid-synchronous-headline-re-parsing nil
-  "This variable controls how buffer changes are handled by the cache.
+  "How buffer changes are handled by the cache.
 
 By default (when this variable is nil), cache re-parses modified
 headlines immediately after modification preserving all the unaffected
diff --git a/lisp/progmodes/cc-vars.el b/lisp/progmodes/cc-vars.el
index f0e4c957ea5..dac60c94085 100644
--- a/lisp/progmodes/cc-vars.el
+++ b/lisp/progmodes/cc-vars.el
@@ -474,6 +474,7 @@ This has effect only for languages in which 
`c-dollar-in-ids' is
 non-nil, e.g.  C, C++, Objective C.  It covers languages where
 \"$\" is permitted in ids \"informally\", but only by some compilers."
   :type 'boolean
+  :version "30.1"
   :group 'c)
 
 (defcustom-c-stylevar c-basic-offset 4
diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el
index 9fb498bfff4..60dc2667750 100644
--- a/lisp/progmodes/cperl-mode.el
+++ b/lisp/progmodes/cperl-mode.el
@@ -583,6 +583,7 @@ AutoSplit.  If \"comment\", treat as comment, and do not 
look for
 imenu entries."
   :type '(choice (const perl-code)
                 (const comment))
+  :version "30.1"
   :group 'cperl-faces)
 
 (defcustom cperl-ps-print-face-properties
diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el
index 816a1e67eca..24d8ea52a83 100644
--- a/lisp/progmodes/eglot.el
+++ b/lisp/progmodes/eglot.el
@@ -182,6 +182,13 @@
   :prefix "eglot-"
   :group 'tools)
 
+(add-to-list 'customize-package-emacs-version-alist
+             '(Eglot ("1.12" . "29.1")
+                     ("1.12" . "29.2")
+                     ("1.12" . "29.3")
+                     ("1.12.29" . "29.4")
+                     ("1.17.30" . "30.1")))
+
 (defun eglot-alternatives (alternatives)
   "Compute server-choosing function for `eglot-server-programs'.
 Each element of ALTERNATIVES is a string PROGRAM or a list of
@@ -475,7 +482,8 @@ the LSP connection.  That can be done by `eglot-reconnect'."
                            (choice
                             (const :tag "Full with original JSON" full)
                             (const :tag "Shortened" short)
-                            (const :tag "Pretty-printed lisp" lisp))))))
+                            (const :tag "Pretty-printed lisp" lisp)))))
+  :package-version '(Eglot . "1.17.30"))
 
 (defcustom eglot-confirm-server-edits '((eglot-rename . nil)
                                         (t . maybe-summary))
@@ -506,7 +514,8 @@ ACTION is the default value for commands not in the alist."
                    (alist :tag "Per-command alist"
                           :key-type (choice (function :tag "Command")
                                             (const :tag "Default" t))
-                          :value-type (choice . ,basic-choices)))))
+                          :value-type (choice . ,basic-choices))))
+  :package-version '(Eglot . "1.17.30"))
 
 (defcustom eglot-extend-to-xref nil
   "If non-nil, activate Eglot in cross-referenced non-project files."
@@ -514,7 +523,8 @@ ACTION is the default value for commands not in the alist."
 
 (defcustom eglot-prefer-plaintext nil
   "If non-nil, always request plaintext responses to hover requests."
-  :type 'boolean)
+  :type 'boolean
+  :package-version '(Eglot . "1.17.30"))
 
 (defcustom eglot-menu-string "eglot"
   "String displayed in mode line when Eglot is active."
@@ -530,7 +540,7 @@ the LSP connection.  That can be done by `eglot-reconnect'."
   :type '(choice (const :tag "Don't show progress" nil)
                  (const :tag "Show progress in *Messages*" messages)
                  (const :tag "Show progress in Eglot's mode line indicator" t))
-  :version "1.10")
+  :package-version '(Eglot . "1.10"))
 
 (defcustom eglot-ignored-server-capabilities (list)
   "LSP server capabilities that Eglot could use, but won't.
diff --git a/lisp/progmodes/elixir-ts-mode.el b/lisp/progmodes/elixir-ts-mode.el
index 23ad04a662d..d0a692a214b 100644
--- a/lisp/progmodes/elixir-ts-mode.el
+++ b/lisp/progmodes/elixir-ts-mode.el
@@ -475,7 +475,8 @@
 
    :language 'elixir
    :feature 'elixir-data-type
-   '([(atom) (alias)] @font-lock-type-face
+   '((alias) @font-lock-type-face
+     (atom) @elixir-ts-atom
      (keywords (pair key: (keyword) @elixir-ts-keyword-key))
      [(keyword) (quoted_keyword)] @elixir-ts-atom
      [(boolean) (nil)] @elixir-ts-atom
@@ -540,6 +541,10 @@
      (unary_operator operand: (identifier) @font-lock-variable-use-face)
      (interpolation (identifier) @font-lock-variable-use-face)
      (do_block (identifier) @font-lock-variable-use-face)
+     (rescue_block (identifier) @font-lock-variable-use-face)
+     (catch_block (identifier) @font-lock-variable-use-face)
+     (else_block (identifier) @font-lock-variable-use-face)
+     (after_block (identifier) @font-lock-variable-use-face)
      (access_call target: (identifier) @font-lock-variable-use-face)
      (access_call "[" key: (identifier) @font-lock-variable-use-face "]"))
 
diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el
index 3dee1a58e44..9b39e974f1e 100644
--- a/lisp/progmodes/flymake.el
+++ b/lisp/progmodes/flymake.el
@@ -128,6 +128,11 @@
   :link '(custom-manual "(flymake) Top")
   :group 'tools)
 
+(add-to-list 'customize-package-emacs-version-alist
+             '(Flymake ("1.3.4" . "30.1")
+                       ("1.3.5" . "30.1")
+                       ("1.3.6" . "30.1")))
+
 (defcustom flymake-error-bitmap '(flymake-double-exclamation-mark
                                   compilation-error)
   "Bitmap (a symbol) used in the fringe for indicating errors.
diff --git a/lisp/progmodes/lua-ts-mode.el b/lisp/progmodes/lua-ts-mode.el
index 6fa3e51b34b..857be185fcf 100644
--- a/lisp/progmodes/lua-ts-mode.el
+++ b/lisp/progmodes/lua-ts-mode.el
@@ -281,7 +281,7 @@ values of OVERRIDE."
           lua-ts--multi-line-comment-start
           (parent-is "comment_content")
           (parent-is "string_content")
-          (node-is "]]"))
+          (or (node-is "]]") (node-is "comment_end")))
       no-indent 0)
      ((and (n-p-gp "field" "table_constructor" "arguments")
            lua-ts--multi-arg-function-call-matcher
diff --git a/lisp/progmodes/modula2.el b/lisp/progmodes/modula2.el
index 2bb31988290..3950443c01e 100644
--- a/lisp/progmodes/modula2.el
+++ b/lisp/progmodes/modula2.el
@@ -97,7 +97,7 @@
   "C-c C-c" #'m2-compile)
 
 (defcustom m2-indent 5
-  "This variable gives the indentation in Modula-2 mode."
+  "Indentation in Modula-2 mode."
   :type 'integer
   :safe (lambda (v) (or (null v) (integerp v))))
 
diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el
index 4c37ef45ddf..45e6e37ceb2 100644
--- a/lisp/progmodes/ruby-mode.el
+++ b/lisp/progmodes/ruby-mode.el
@@ -2584,6 +2584,7 @@ the gem \"rubocop\".  When t, it is used unconditionally."
   :type '(choice (const :tag "Always" t)
                  (const :tag "No" nil)
                  (const :tag "If rubocop is in Gemfile" check))
+  :version "30.1"
   :safe 'booleanp)
 
 (defun ruby-flymake-rubocop (report-fn &rest _args)
diff --git a/lisp/progmodes/verilog-mode.el b/lisp/progmodes/verilog-mode.el
index 58dc234adfe..c9c0840c9db 100644
--- a/lisp/progmodes/verilog-mode.el
+++ b/lisp/progmodes/verilog-mode.el
@@ -691,12 +691,14 @@ Set to 0 to have all directives start at the left side of 
the screen."
 (defcustom verilog-indent-ignore-multiline-defines t
   "Non-nil means ignore indentation on lines that are part of a multiline 
define."
   :group 'verilog-mode-indent
+  :version "30.1"
   :type 'boolean)
 (put 'verilog-indent-ignore-multiline-defines 'safe-local-variable 
#'verilog-booleanp)
 
 (defcustom verilog-indent-ignore-regexp nil
   "Regexp that matches lines that should be ignored for indentation."
   :group 'verilog-mode-indent
+  :version "30.1"
   :type 'boolean)
 (put 'verilog-indent-ignore-regexp 'safe-local-variable #'stringp)
 
@@ -748,6 +750,7 @@ Otherwise, line them up."
   "Non-nil means indent classes inside packages.
 Otherwise, classes have zero indentation."
   :group 'verilog-mode-indent
+  :version "30.1"
   :type 'boolean)
 (put 'verilog-indent-class-inside-pkg 'safe-local-variable #'verilog-booleanp)
 
@@ -761,6 +764,7 @@ Otherwise else is lined up with first character on line 
holding matching if."
 (defcustom verilog-align-decl-expr-comments t
   "Non-nil means align declaration and expressions comments."
   :group 'verilog-mode-indent
+  :version "30.1"
   :type 'boolean)
 (put 'verilog-align-decl-expr-comments 'safe-local-variable #'verilog-booleanp)
 
@@ -768,18 +772,21 @@ Otherwise else is lined up with first character on line 
holding matching if."
   "Distance (in spaces) between longest declaration/expression and comments.
 Only works if `verilog-align-decl-expr-comments' is non-nil."
   :group 'verilog-mode-indent
+  :version "30.1"
   :type 'integer)
 (put 'verilog-align-comment-distance 'safe-local-variable #'integerp)
 
 (defcustom verilog-align-assign-expr nil
   "Non-nil means align expressions of continuous assignments."
   :group 'verilog-mode-indent
+  :version "30.1"
   :type 'boolean)
 (put 'verilog-align-assign-expr 'safe-local-variable #'verilog-booleanp)
 
 (defcustom verilog-align-typedef-regexp nil
   "Regexp that matches user typedefs for declaration alignment."
   :group 'verilog-mode-indent
+  :version "30.1"
   :type '(choice (regexp :tag "Regexp")
                  (const :tag "None" nil)))
 (put 'verilog-align-typedef-regexp 'safe-local-variable #'stringp)
@@ -787,6 +794,7 @@ Only works if `verilog-align-decl-expr-comments' is 
non-nil."
 (defcustom verilog-align-typedef-words nil
   "List of words that match user typedefs for declaration alignment."
   :group 'verilog-mode-indent
+  :version "30.1"
   :type '(repeat string))
 (put 'verilog-align-typedef-words 'safe-local-variable #'listp)
 
@@ -939,6 +947,7 @@ always be saved."
 (defcustom verilog-fontify-variables t
   "Non-nil means fontify declaration variables."
   :group 'verilog-mode-actions
+  :version "30.1"
   :type 'boolean)
 (put 'verilog-fontify-variables 'safe-local-variable #'verilog-booleanp)
 
diff --git a/lisp/progmodes/xscheme.el b/lisp/progmodes/xscheme.el
index 598328dddea..b9c2ea95169 100644
--- a/lisp/progmodes/xscheme.el
+++ b/lisp/progmodes/xscheme.el
@@ -55,8 +55,8 @@
   "The tail of the Scheme expressions ring whose car is the last thing 
yanked.")
 
 (defvar-local xscheme-running-p nil
-  "This variable, if nil, indicates that the scheme process is
-waiting for input.  Otherwise, it is busy evaluating something.")
+  "If nil, the scheme process is waiting for input.
+Otherwise, it is busy evaluating something.")
 
 (defconst xscheme-control-g-synchronization-p t
   "If non-nil, insert markers in the scheme input stream to indicate when
@@ -64,8 +64,8 @@ control-g interrupts were signaled.  Do not allow more 
control-g's to be
 signaled until the scheme process acknowledges receipt.")
 
 (defvar-local xscheme-control-g-disabled-p nil
-  "This variable, if non-nil, indicates that a control-g is being processed
-by the scheme process, so additional control-g's are to be ignored.")
+  "If non-nil, a control-g is being processed by the scheme process, so
+additional control-g's are to be ignored.")
 
 (defvar xscheme-string-receiver nil
   "Procedure to send the string argument from the scheme process.")
diff --git a/lisp/register.el b/lisp/register.el
index 407fd8a8779..3bf5e6cdf43 100644
--- a/lisp/register.el
+++ b/lisp/register.el
@@ -422,7 +422,8 @@ Format of each entry is controlled by the variable 
`register-preview-function'."
                                                    (window-height . 
fit-window-to-buffer)
                                                   (preserve-size . (nil . t)))
   "Window configuration for the register preview buffer."
-  :type display-buffer--action-custom-type)
+  :type display-buffer--action-custom-type
+  :version "30.1")
 
 (defun register-preview-1 (buffer &optional show-empty types)
   "Pop up a window showing the preview of registers in BUFFER.
diff --git a/lisp/vc/vc-annotate.el b/lisp/vc/vc-annotate.el
index b206abec27f..8b4c6be422b 100644
--- a/lisp/vc/vc-annotate.el
+++ b/lisp/vc/vc-annotate.el
@@ -165,6 +165,7 @@ List of factors, used to expand/compress the time scale.  
See `vc-annotate'."
 (defcustom vc-annotate-use-short-revision t
   "If non-nil, \\[vc-annotate] will use short revisions in its buffer name."
   :type 'boolean
+  :version "30.1"
   :group 'vc)
 
 (defvar-keymap vc-annotate-mode-map
diff --git a/lisp/which-key.el b/lisp/which-key.el
index 6d3d5efdd03..484f34d102c 100644
--- a/lisp/which-key.el
+++ b/lisp/which-key.el
@@ -1220,7 +1220,7 @@ total height."
 ;;; Show/hide which-key buffer
 
 (defun which-key--hide-popup ()
-  "Hide the `which-key' buffer."
+  "Hide the which-key buffer."
   (unless (or which-key-persistent-popup
               (member real-this-command which-key--paging-functions))
     (setq which-key--last-try-2-loc nil)
diff --git a/src/minibuf.c b/src/minibuf.c
index e50913a013f..5095e198fef 100644
--- a/src/minibuf.c
+++ b/src/minibuf.c
@@ -1297,6 +1297,11 @@ barf_if_interaction_inhibited (void)
 DEFUN ("read-from-minibuffer", Fread_from_minibuffer,
        Sread_from_minibuffer, 1, 7, 0,
        doc: /* Read a string from the minibuffer, prompting with string PROMPT.
+While in the minibuffer, you can use 
\\<minibuffer-local-completion-map>\\[minibuffer-complete] and 
\\[minibuffer-complete-word] to complete your input.
+You can also use \\<minibuffer-local-map>\\[minibuffer-complete-history] to 
complete using history items in the
+input history HIST, and you can use \\[minibuffer-complete-defaults] to 
complete using
+the default items in DEFAULT-VALUE.
+
 The optional second arg INITIAL-CONTENTS is an obsolete alternative to
   DEFAULT-VALUE.  It normally should be nil in new code, except when
   HIST is a cons.  It is discussed in more detail below.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]