Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package gap-crypting for openSUSE:Factory 
checked in at 2026-08-18 16:36:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gap-crypting (Old)
 and      /work/SRC/openSUSE:Factory/.gap-crypting.new.1258 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gap-crypting"

Tue Aug 18 16:36:41 2026 rev:5 rq:1371719 version:0.10.7

Changes:
--------
--- /work/SRC/openSUSE:Factory/gap-crypting/gap-crypting.changes        
2025-06-20 16:54:51.897807624 +0200
+++ /work/SRC/openSUSE:Factory/.gap-crypting.new.1258/gap-crypting.changes      
2026-08-18 16:37:08.993360748 +0200
@@ -1,0 +2,6 @@
+Tue Aug 18 10:05:52 UTC 2026 - Jan Engelhardt <[email protected]>
+
+- Update to release 0.10.7
+  * Project-internal CI/CD files were updated.
+
+-------------------------------------------------------------------

Old:
----
  crypting-0.10.6.tar.gz

New:
----
  crypting-0.10.7.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gap-crypting.spec ++++++
--- /var/tmp/diff_new_pack.PmNgqJ/_old  2026-08-18 16:37:09.766388444 +0200
+++ /var/tmp/diff_new_pack.PmNgqJ/_new  2026-08-18 16:37:09.769388552 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package gap-crypting
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -12,12 +12,12 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
 Name:           gap-crypting
-Version:        0.10.6
+Version:        0.10.7
 Release:        0
 Summary:        GAP: Support for hashes and crypto
 License:        BSD-3-Clause
@@ -27,8 +27,7 @@
 Source:         
https://github.com/gap-packages/crypting/releases/download/v%version/crypting-%version.tar.gz
 BuildRequires:  gap-devel
 BuildRequires:  gap-rpm-devel
-Requires:       gap-core >= 4.10
-Requires:       gap-gapdoc >= 1.5
+Requires:       gap-core >= 4.12
 
 %description
 This GAP module implements some cryptographic primitives. At the

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.PmNgqJ/_old  2026-08-18 16:37:09.828390666 +0200
+++ /var/tmp/diff_new_pack.PmNgqJ/_new  2026-08-18 16:37:09.833390845 +0200
@@ -1,5 +1,5 @@
-mtime: 1750420478
-commit: 52c4ce8170667ebb827d12e698de25b977875a9aef5047b1464075ad424c8bf6
+mtime: 1787047579
+commit: 954108b1320a123a39e8c2fabc7e37535bfeecd4a7be7e6f75b86673cb82d05e
 url: https://src.opensuse.org/jengelh/gap-crypting
 revision: master
 

++++++ build.specials.obscpio ++++++

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2026-08-18 12:06:19.000000000 +0200
@@ -0,0 +1 @@
+.osc

++++++ crypting-0.10.6.tar.gz -> crypting-0.10.7.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crypting-0.10.6/PackageInfo.g 
new/crypting-0.10.7/PackageInfo.g
--- old/crypting-0.10.6/PackageInfo.g   2025-06-20 13:14:31.000000000 +0200
+++ new/crypting-0.10.7/PackageInfo.g   2026-08-18 02:00:00.000000000 +0200
@@ -10,8 +10,8 @@
 
 PackageName := "crypting",
 Subtitle := "Hashes and Crypto in GAP",
-Version := "0.10.6",
-Date := "20/06/2025", # dd/mm/yyyy format
+Version := "0.10.7",
+Date := "18/08/2026", # dd/mm/yyyy format
 License := "BSD-3-Clause",
 
 Persons := [
@@ -73,7 +73,7 @@
 
 Dependencies := rec(
   GAP := ">= 4.12",
-  NeededOtherPackages := [ [ "GAPDoc", ">= 1.5" ] ],
+  NeededOtherPackages := [ ],
   SuggestedOtherPackages := [ ],
   ExternalConditions := [ ],
 ),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crypting-0.10.6/README.md 
new/crypting-0.10.7/README.md
--- old/crypting-0.10.6/README.md       2025-06-20 13:14:31.000000000 +0200
+++ new/crypting-0.10.7/README.md       2026-08-18 02:00:00.000000000 +0200
@@ -1,4 +1,4 @@
-[![Build 
Status](https://github.com/gap-packages/crypting/workflows/CI/badge.svg?branch=master)](https://github.com/gap-packages/crypting/actions?query=workflow%3ACI+branch%3Amaster)
+[![CI](https://github.com/gap-packages/crypting/actions/workflows/CI.yml/badge.svg)](https://github.com/gap-packages/crypting/actions/workflows/CI.yml)
 [![Code 
Coverage](https://codecov.io/github/gap-packages/crypting/coverage.svg?branch=master&token=)](https://codecov.io/gh/gap-packages/crypting)
 
 # The GAP 4 package `crypting'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crypting-0.10.6/doc/_Chapter_CryptinG_Functions.xml 
new/crypting-0.10.7/doc/_Chapter_CryptinG_Functions.xml
--- old/crypting-0.10.6/doc/_Chapter_CryptinG_Functions.xml     2025-06-20 
13:14:41.000000000 +0200
+++ new/crypting-0.10.7/doc/_Chapter_CryptinG_Functions.xml     2026-08-18 
02:00:00.000000000 +0200
@@ -9,7 +9,7 @@
 
 <P/>
 <ManSection>
-  <Filt Arg="arg" Name="IsSHA256State" Label="for IsObject"/>
+  <Filt Arg="arg" Type="Category" Name="IsCryptingSHA256State" Label="for 
IsObject"/>
  <Returns><K>true</K> or <K>false</K>
 </Returns>
  <Description>
@@ -17,33 +17,6 @@
  </Description>
 </ManSection>
 
-
-<ManSection>
-  <Var Name="CRYPTING_SHA256_State_Family" />
- <Description>
-<P/>
- </Description>
-</ManSection>
-
-
-<ManSection>
-  <Var Name="CRYPTING_SHA256_State_Type" />
- <Description>
-<P/>
- </Description>
-</ManSection>
-
-
-<ManSection>
-  <Func Arg="int, pad, length" Name="CRYPTING_HexStringIntPad" />
- <Description>
-   Call <Ref Label="HexStringInt" BookName="ref"/> on the argument <A>int</A>
-   then pad the string on the left to <A>length</A> using padding
-   letter <A>pad</A>
- </Description>
-</ManSection>
-
-
 <ManSection>
   <Func Arg="int" Name="CRYPTING_HexStringIntPad8" />
  <Description>
@@ -53,10 +26,8 @@
  </Description>
 </ManSection>
 
-
 </Section>
 
-
 <Section Label="Chapter_CryptinG_Functions_Section_Hash_functions">
 <Heading>Hash functions</Heading>
 
@@ -68,10 +39,8 @@
  </Description>
 </ManSection>
 
-
 </Section>
 
-
 <Section Label="Chapter_CryptinG_Functions_Section_HMAC">
 <Heading>HMAC</Heading>
 
@@ -83,9 +52,7 @@
  </Description>
 </ManSection>
 
-
 </Section>
 
-
 </Chapter>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crypting-0.10.6/doc/_entities.xml 
new/crypting-0.10.7/doc/_entities.xml
--- old/crypting-0.10.6/doc/_entities.xml       2025-06-20 13:14:41.000000000 
+0200
+++ new/crypting-0.10.7/doc/_entities.xml       2026-08-18 02:00:00.000000000 
+0200
@@ -1 +1,4 @@
+<!ENTITY RELEASEDATE '18 August 2026'>
+<!ENTITY RELEASEYEAR '2026'>
+<!ENTITY VERSION '0.10.7'>
 <!ENTITY crypting '<Package>crypting</Package>'>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crypting-0.10.6/doc/_main.tex 
new/crypting-0.10.7/doc/_main.tex
--- old/crypting-0.10.6/doc/_main.tex   1970-01-01 01:00:00.000000000 +0100
+++ new/crypting-0.10.7/doc/_main.tex   2026-08-18 02:00:00.000000000 +0200
@@ -0,0 +1,222 @@
+% generated by GAPDoc2LaTeX from XML source (Frank Luebeck)
+\documentclass[a4paper,11pt]{report}
+
+\usepackage[top=37mm,bottom=37mm,left=27mm,right=27mm]{geometry}
+\sloppy
+\pagestyle{myheadings}
+\usepackage{amssymb}
+\usepackage[utf8]{inputenc}
+\usepackage{makeidx}
+\makeindex
+\usepackage{color}
+\definecolor{FireBrick}{rgb}{0.5812,0.0074,0.0083}
+\definecolor{RoyalBlue}{rgb}{0.0236,0.0894,0.6179}
+\definecolor{RoyalGreen}{rgb}{0.0236,0.6179,0.0894}
+\definecolor{RoyalRed}{rgb}{0.6179,0.0236,0.0894}
+\definecolor{LightBlue}{rgb}{0.8544,0.9511,1.0000}
+\definecolor{Black}{rgb}{0.0,0.0,0.0}
+
+\definecolor{linkColor}{rgb}{0.0,0.0,0.554}
+\definecolor{citeColor}{rgb}{0.0,0.0,0.554}
+\definecolor{fileColor}{rgb}{0.0,0.0,0.554}
+\definecolor{urlColor}{rgb}{0.0,0.0,0.554}
+\definecolor{promptColor}{rgb}{0.0,0.0,0.589}
+\definecolor{brkpromptColor}{rgb}{0.589,0.0,0.0}
+\definecolor{gapinputColor}{rgb}{0.589,0.0,0.0}
+\definecolor{gapoutputColor}{rgb}{0.0,0.0,0.0}
+
+%%  for a long time these were red and blue by default,
+%%  now black, but keep variables to overwrite
+\definecolor{FuncColor}{rgb}{0.0,0.0,0.0}
+%% strange name because of pdflatex bug:
+\definecolor{Chapter }{rgb}{0.0,0.0,0.0}
+\definecolor{DarkOlive}{rgb}{0.1047,0.2412,0.0064}
+
+
+\usepackage{fancyvrb}
+
+\usepackage{mathptmx,helvet}
+\usepackage[T1]{fontenc}
+\usepackage{textcomp}
+
+
+\usepackage[
+            pdftex=true,
+            bookmarks=true,        
+            a4paper=true,
+            pdftitle={Written with GAPDoc},
+            pdfcreator={LaTeX with hyperref package / GAPDoc},
+            colorlinks=true,
+            backref=page,
+            breaklinks=true,
+            linkcolor=linkColor,
+            citecolor=citeColor,
+            filecolor=fileColor,
+            urlcolor=urlColor,
+            pdfpagemode={UseNone}, 
+           ]{hyperref}
+
+\newcommand{\maintitlesize}{\fontsize{50}{55}\selectfont}
+
+% write page numbers to a .pnr log file for online help
+\newwrite\pagenrlog
+\immediate\openout\pagenrlog =\jobname.pnr
+\immediate\write\pagenrlog{PAGENRS := [}
+\newcommand{\logpage}[1]{\protect\write\pagenrlog{#1, \thepage,}}
+%% were never documented, give conflicts with some additional packages
+
+\newcommand{\GAP}{\textsf{GAP}}
+
+%% nicer description environments, allows long labels
+\usepackage{enumitem}
+\setdescription{style=nextline}
+
+%% depth of toc
+\setcounter{tocdepth}{1}
+
+
+
+
+
+%% command for ColorPrompt style examples
+\newcommand{\gapprompt}[1]{\color{promptColor}{\bfseries #1}}
+\newcommand{\gapbrkprompt}[1]{\color{brkpromptColor}{\bfseries #1}}
+\newcommand{\gapinput}[1]{\color{gapinputColor}{#1}}
+
+
+\begin{document}
+
+\logpage{[ 0, 0, 0 ]}
+\begin{titlepage}
+\mbox{}\vfill
+
+\begin{center}{\maintitlesize \textbf{ crypting \\
+\mbox{}}}\\
+\vfill
+
+\hypersetup{pdftitle={ crypting }}
+\markright{\scriptsize \mbox{}\hfill  crypting  \hfill\mbox{}}
+{\Huge \textbf{ Hashes and Crypto in \textsf{GAP} \\
+\mbox{}}}\\
+\vfill
+
+{\Huge  0.10.7 \mbox{}}\\[1cm]
+{ 18 August 2026 \mbox{}}\\[1cm]
+\mbox{}\\[2cm]
+{\Large \textbf{\strut  Markus Pfeiffer    \strut\mbox{}}}\\
+\hypersetup{pdfauthor={ Markus Pfeiffer   }}
+\end{center}\vfill
+
+\mbox{}\\
+{\mbox{}\\
+\small \noindent \textbf{ Markus Pfeiffer   }  Email: 
\href{mailto://[email protected]} 
{\texttt{[email protected]}}\\
+  Homepage: \href{http://www.morphism.de/~markusp/} 
{\texttt{http://www.morphism.de/\texttt{\symbol{126}}markusp/}}}\\
+\end{titlepage}
+
+\newpage\setcounter{page}{2}
+\newpage
+
+\def\contentsname{Contents\logpage{[ 0, 0, 1 ]}}
+
+\tableofcontents
+\newpage
+
+     
+\chapter{\textcolor{Chapter }{CryptinG 
Functions}}\label{Chapter_CryptinG_Functions}
+\logpage{[ 1, 0, 0 ]}
+\hyperdef{L}{X86B8290A7E3586B5}{}
+{
+  
+\section{\textcolor{Chapter }{Internal Types and 
Functions}}\label{Chapter_CryptinG_Functions_Section_Internal_Types_and_Functions}
+\logpage{[ 1, 1, 0 ]}
+\hyperdef{L}{X7A99D08C7A17A5D9}{}
+{
+  
+
+ 
+
+\subsection{\textcolor{Chapter }{IsCryptingSHA256State (for IsObject)}}
+\logpage{[ 1, 1, 1 ]}\nobreak
+\hyperdef{L}{X7E047C2683ED4793}{}
+{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{IsCryptingSHA256State({\mdseries\slshape
 arg})\index{IsCryptingSHA256State@\texttt{IsCryptingSHA256State}!for IsObject}
+\label{IsCryptingSHA256State:for IsObject}
+}\hfill{\scriptsize (Category)}}\\
+\textbf{\indent Returns:\ }
+\texttt{true} or \texttt{false} 
+
+
+
+ 
+
+ }
+
+ 
+
+\subsection{\textcolor{Chapter }{CRYPTING{\textunderscore}HexStringIntPad8}}
+\logpage{[ 1, 1, 2 ]}\nobreak
+\hyperdef{L}{X790560687943E483}{}
+{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{CRYPTING{\textunderscore}HexStringIntPad8({\mdseries\slshape
 
int})\index{CRYPTING{\textunderscore}HexStringIntPad8@\texttt{CRY}\-\texttt{P}\-\texttt{T}\-\texttt{I}\-\texttt{N}\-\texttt{G{\textunderscore}}\-\texttt{Hex}\-\texttt{String}\-\texttt{Int}\-\texttt{Pad8}}
+\label{CRYPTINGuScoreHexStringIntPad8}
+}\hfill{\scriptsize (function)}}\\
+
+
+ Call  \textbf{Reference: HexStringInt} on the argument 
\mbox{\texttt{\mdseries\slshape int}} then pad the string on the left to length 
8 using padding letter 0. }
+
+ }
+
+ 
+\section{\textcolor{Chapter }{Hash 
functions}}\label{Chapter_CryptinG_Functions_Section_Hash_functions}
+\logpage{[ 1, 2, 0 ]}
+\hyperdef{L}{X7AE36B967EB1382B}{}
+{
+  
+
+\subsection{\textcolor{Chapter }{SHA256String}}
+\logpage{[ 1, 2, 1 ]}\nobreak
+\hyperdef{L}{X7FFA0D5C7C5CB820}{}
+{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{SHA256String({\mdseries\slshape
 string})\index{SHA256String@\texttt{SHA256String}}
+\label{SHA256String}
+}\hfill{\scriptsize (function)}}\\
+
+
+ Compute the SHA256 hash of the argument \mbox{\texttt{\mdseries\slshape 
string}} in \texttt{IsStringRep} }
+
+ }
+
+ 
+\section{\textcolor{Chapter 
}{HMAC}}\label{Chapter_CryptinG_Functions_Section_HMAC}
+\logpage{[ 1, 3, 0 ]}
+\hyperdef{L}{X798E9B5587D955DB}{}
+{
+  
+
+\subsection{\textcolor{Chapter }{HMACSHA256}}
+\logpage{[ 1, 3, 1 ]}\nobreak
+\hyperdef{L}{X831194C88571B5B1}{}
+{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{HMACSHA256({\mdseries\slshape
 key, string})\index{HMACSHA256@\texttt{HMACSHA256}}
+\label{HMACSHA256}
+}\hfill{\scriptsize (function)}}\\
+
+
+ Compute the HMAC SHA256 given a \mbox{\texttt{\mdseries\slshape key}} and a 
\mbox{\texttt{\mdseries\slshape string}} in \texttt{IsStringRep}. }
+
+ }
+
+ }
+
+ \def\indexname{Index\logpage{[ "Ind", 0, 0 ]}
+\hyperdef{L}{X83A0356F839C696F}{}
+}
+
+\cleardoublepage
+\phantomsection
+\addcontentsline{toc}{chapter}{Index}
+
+
+\printindex
+
+\immediate\write\pagenrlog{["Ind", 0, 0], \arabic{page},}
+\newpage
+\immediate\write\pagenrlog{["End"], \arabic{page}];}
+\immediate\closeout\pagenrlog
+\end{document}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crypting-0.10.6/doc/_main.xml 
new/crypting-0.10.7/doc/_main.xml
--- old/crypting-0.10.6/doc/_main.xml   1970-01-01 01:00:00.000000000 +0100
+++ new/crypting-0.10.7/doc/_main.xml   2026-08-18 02:00:00.000000000 +0200
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- This is an automatically generated file. -->
+<!DOCTYPE Book SYSTEM "gapdoc.dtd"
+[
+    <#Include SYSTEM "_entities.xml">
+]
+>
+<Book Name="crypting">
+<#Include SYSTEM "title.xml">
+<TableOfContents/>
+<Body>
+<#Include SYSTEM "_AutoDocMainFile.xml">
+</Body>
+<TheIndex/>
+</Book>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crypting-0.10.6/doc/chap0.html 
new/crypting-0.10.7/doc/chap0.html
--- old/crypting-0.10.6/doc/chap0.html  2025-06-20 13:14:44.000000000 +0200
+++ new/crypting-0.10.7/doc/chap0.html  2026-08-18 02:00:00.000000000 +0200
@@ -29,10 +29,10 @@
 <h2>Hashes and Crypto in <strong class="pkg">GAP</strong></h2>
 
 <p>
-    0.10.6</p>
+    0.10.7</p>
 
 <p>
-    20 June 2025
+    18 August 2026
   </p>
 
 </div>
@@ -40,7 +40,6 @@
     Markus Pfeiffer
 
 
-
   </b>
 <br />Email: <span class="URL"><a 
href="mailto:[email protected]";>[email protected]</a></span>
 <br />Homepage: <span class="URL"><a 
href="http://www.morphism.de/~markusp/";>http://www.morphism.de/~markusp/</a></span>
@@ -55,11 +54,8 @@
 <div class="ContSect"><span class="tocline"><span 
class="nocss">&nbsp;</span><a href="chap1.html#X7A99D08C7A17A5D9">1.1 <span 
class="Heading">Internal Types and Functions</span></a>
 </span>
 <div class="ContSSBlock">
-<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap1.html#X7A0448718291EC19">1.1-1 IsSHA256State</a></span>
-<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap1.html#X78AD7FCC843F1A9E">1.1-2 
CRYPTING_SHA256_State_Family</a></span>
-<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap1.html#X796DF073854FECD9">1.1-3 CRYPTING_SHA256_State_Type</a></span>
-<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap1.html#X7E91B15380C025EC">1.1-4 CRYPTING_HexStringIntPad</a></span>
-<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap1.html#X790560687943E483">1.1-5 CRYPTING_HexStringIntPad8</a></span>
+<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap1.html#X7E047C2683ED4793">1.1-1 IsCryptingSHA256State</a></span>
+<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap1.html#X790560687943E483">1.1-2 CRYPTING_HexStringIntPad8</a></span>
 </div></div>
 <div class="ContSect"><span class="tocline"><span 
class="nocss">&nbsp;</span><a href="chap1.html#X7AE36B967EB1382B">1.2 <span 
class="Heading">Hash functions</span></a>
 </span>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crypting-0.10.6/doc/chap0.txt 
new/crypting-0.10.7/doc/chap0.txt
--- old/crypting-0.10.6/doc/chap0.txt   2025-06-20 13:14:41.000000000 +0200
+++ new/crypting-0.10.7/doc/chap0.txt   2026-08-18 02:00:00.000000000 +0200
@@ -6,10 +6,10 @@
                             Hashes and Crypto in GAP 
   
   
-                                     0.10.6
+                                     0.10.7
   
   
-                                  20 June 2025
+                                 18 August 2026
   
   
                                 Markus Pfeiffer
@@ -27,11 +27,8 @@
   
   1 CryptinG Functions
     1.1 Internal Types and Functions
-      1.1-1 IsSHA256State
-      1.1-2 CRYPTING_SHA256_State_Family
-      1.1-3 CRYPTING_SHA256_State_Type
-      1.1-4 CRYPTING_HexStringIntPad
-      1.1-5 CRYPTING_HexStringIntPad8
+      1.1-1 IsCryptingSHA256State
+      1.1-2 CRYPTING_HexStringIntPad8
     1.2 Hash functions
       1.2-1 SHA256String
     1.3 HMAC
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crypting-0.10.6/doc/chap0_mj.html 
new/crypting-0.10.7/doc/chap0_mj.html
--- old/crypting-0.10.6/doc/chap0_mj.html       2025-06-20 13:14:44.000000000 
+0200
+++ new/crypting-0.10.7/doc/chap0_mj.html       2026-08-18 02:00:00.000000000 
+0200
@@ -32,10 +32,10 @@
 <h2>Hashes and Crypto in <strong class="pkg">GAP</strong></h2>
 
 <p>
-    0.10.6</p>
+    0.10.7</p>
 
 <p>
-    20 June 2025
+    18 August 2026
   </p>
 
 </div>
@@ -43,7 +43,6 @@
     Markus Pfeiffer
 
 
-
   </b>
 <br />Email: <span class="URL"><a 
href="mailto:[email protected]";>[email protected]</a></span>
 <br />Homepage: <span class="URL"><a 
href="http://www.morphism.de/~markusp/";>http://www.morphism.de/~markusp/</a></span>
@@ -58,11 +57,8 @@
 <div class="ContSect"><span class="tocline"><span 
class="nocss">&nbsp;</span><a href="chap1_mj.html#X7A99D08C7A17A5D9">1.1 <span 
class="Heading">Internal Types and Functions</span></a>
 </span>
 <div class="ContSSBlock">
-<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap1_mj.html#X7A0448718291EC19">1.1-1 IsSHA256State</a></span>
-<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap1_mj.html#X78AD7FCC843F1A9E">1.1-2 
CRYPTING_SHA256_State_Family</a></span>
-<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap1_mj.html#X796DF073854FECD9">1.1-3 
CRYPTING_SHA256_State_Type</a></span>
-<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap1_mj.html#X7E91B15380C025EC">1.1-4 CRYPTING_HexStringIntPad</a></span>
-<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap1_mj.html#X790560687943E483">1.1-5 
CRYPTING_HexStringIntPad8</a></span>
+<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap1_mj.html#X7E047C2683ED4793">1.1-1 IsCryptingSHA256State</a></span>
+<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap1_mj.html#X790560687943E483">1.1-2 
CRYPTING_HexStringIntPad8</a></span>
 </div></div>
 <div class="ContSect"><span class="tocline"><span 
class="nocss">&nbsp;</span><a href="chap1_mj.html#X7AE36B967EB1382B">1.2 <span 
class="Heading">Hash functions</span></a>
 </span>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crypting-0.10.6/doc/chap1.html 
new/crypting-0.10.7/doc/chap1.html
--- old/crypting-0.10.6/doc/chap1.html  2025-06-20 13:14:44.000000000 +0200
+++ new/crypting-0.10.7/doc/chap1.html  2026-08-18 02:00:00.000000000 +0200
@@ -25,11 +25,8 @@
 <div class="ContSect"><span class="tocline"><span 
class="nocss">&nbsp;</span><a href="chap1.html#X7A99D08C7A17A5D9">1.1 <span 
class="Heading">Internal Types and Functions</span></a>
 </span>
 <div class="ContSSBlock">
-<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap1.html#X7A0448718291EC19">1.1-1 IsSHA256State</a></span>
-<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap1.html#X78AD7FCC843F1A9E">1.1-2 
CRYPTING_SHA256_State_Family</a></span>
-<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap1.html#X796DF073854FECD9">1.1-3 CRYPTING_SHA256_State_Type</a></span>
-<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap1.html#X7E91B15380C025EC">1.1-4 CRYPTING_HexStringIntPad</a></span>
-<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap1.html#X790560687943E483">1.1-5 CRYPTING_HexStringIntPad8</a></span>
+<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap1.html#X7E047C2683ED4793">1.1-1 IsCryptingSHA256State</a></span>
+<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap1.html#X790560687943E483">1.1-2 CRYPTING_HexStringIntPad8</a></span>
 </div></div>
 <div class="ContSect"><span class="tocline"><span 
class="nocss">&nbsp;</span><a href="chap1.html#X7AE36B967EB1382B">1.2 <span 
class="Heading">Hash functions</span></a>
 </span>
@@ -49,36 +46,19 @@
 
 <h4>1.1 <span class="Heading">Internal Types and Functions</span></h4>
 
-<p><a id="X7A0448718291EC19" name="X7A0448718291EC19"></a></p>
+<p><a id="X7E047C2683ED4793" name="X7E047C2683ED4793"></a></p>
 
-<h5>1.1-1 IsSHA256State</h5>
+<h5>1.1-1 IsCryptingSHA256State</h5>
 
-<div class="func"><table class="func" width="100%"><tr><td 
class="tdleft"><code class="func">&#8227; IsSHA256State</code>( <var 
class="Arg">arg</var> )</td><td 
class="tdright">(&nbsp;filter&nbsp;)</td></tr></table></div>
+<div class="func"><table class="func" width="100%"><tr><td 
class="tdleft"><code class="func">&#8227; IsCryptingSHA256State</code>( <var 
class="Arg">arg</var> )</td><td 
class="tdright">(&nbsp;category&nbsp;)</td></tr></table></div>
 <p>Returns: <code class="keyw">true</code> or <code 
class="keyw">false</code></p>
 
-<p><a id="X78AD7FCC843F1A9E" name="X78AD7FCC843F1A9E"></a></p>
-
-<h5>1.1-2 CRYPTING_SHA256_State_Family</h5>
-
-<div class="func"><table class="func" width="100%"><tr><td 
class="tdleft"><code class="func">&#8227; 
CRYPTING_SHA256_State_Family</code></td><td class="tdright">(&nbsp;global 
variable&nbsp;)</td></tr></table></div>
-<p><a id="X796DF073854FECD9" name="X796DF073854FECD9"></a></p>
-
-<h5>1.1-3 CRYPTING_SHA256_State_Type</h5>
-
-<div class="func"><table class="func" width="100%"><tr><td 
class="tdleft"><code class="func">&#8227; 
CRYPTING_SHA256_State_Type</code></td><td class="tdright">(&nbsp;global 
variable&nbsp;)</td></tr></table></div>
-<p><a id="X7E91B15380C025EC" name="X7E91B15380C025EC"></a></p>
-
-<h5>1.1-4 CRYPTING_HexStringIntPad</h5>
-
-<div class="func"><table class="func" width="100%"><tr><td 
class="tdleft"><code class="func">&#8227; CRYPTING_HexStringIntPad</code>( <var 
class="Arg">int</var>, <var class="Arg">pad</var>, <var 
class="Arg">length</var> )</td><td 
class="tdright">(&nbsp;function&nbsp;)</td></tr></table></div>
-<p>Call <a href="../../../doc/ref/chap27_mj.html#X865FBB7E788017DD"><span 
class="RefLink">Reference: HexStringInt</span></a> on the argument <var 
class="Arg">int</var> then pad the string on the left to <var 
class="Arg">length</var> using padding letter <var class="Arg">pad</var></p>
-
 <p><a id="X790560687943E483" name="X790560687943E483"></a></p>
 
-<h5>1.1-5 CRYPTING_HexStringIntPad8</h5>
+<h5>1.1-2 CRYPTING_HexStringIntPad8</h5>
 
 <div class="func"><table class="func" width="100%"><tr><td 
class="tdleft"><code class="func">&#8227; CRYPTING_HexStringIntPad8</code>( 
<var class="Arg">int</var> )</td><td 
class="tdright">(&nbsp;function&nbsp;)</td></tr></table></div>
-<p>Call <a href="../../../doc/ref/chap27_mj.html#X865FBB7E788017DD"><span 
class="RefLink">Reference: HexStringInt</span></a> on the argument <var 
class="Arg">int</var> then pad the string on the left to length 8 using padding 
letter 0.</p>
+<p>Call <a href="../../../doc/ref/chap27.html#X865FBB7E788017DD"><span 
class="RefLink">Reference: HexStringInt</span></a> on the argument <var 
class="Arg">int</var> then pad the string on the left to length 8 using padding 
letter 0.</p>
 
 <p><a id="X7AE36B967EB1382B" name="X7AE36B967EB1382B"></a></p>
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crypting-0.10.6/doc/chap1.txt 
new/crypting-0.10.7/doc/chap1.txt
--- old/crypting-0.10.6/doc/chap1.txt   2025-06-20 13:14:41.000000000 +0200
+++ new/crypting-0.10.7/doc/chap1.txt   2026-08-18 02:00:00.000000000 +0200
@@ -4,27 +4,12 @@
   
   1.1 Internal Types and Functions
   
-  1.1-1 IsSHA256State
+  1.1-1 IsCryptingSHA256State
   
-  IsSHA256State( arg )  filter
+  IsCryptingSHA256State( arg )  
Category
   Returns:  true or false
   
-  1.1-2 CRYPTING_SHA256_State_Family
-  
-  CRYPTING_SHA256_State_Family  global 
variable
-  
-  1.1-3 CRYPTING_SHA256_State_Type
-  
-  CRYPTING_SHA256_State_Type  global 
variable
-  
-  1.1-4 CRYPTING_HexStringIntPad
-  
-  CRYPTING_HexStringIntPad( int, 
pad, length )  function
-  
-  Call  Reference: HexStringInt on the argument 
int then pad the string on the
-  left to length using padding letter pad
-  
-  1.1-5 CRYPTING_HexStringIntPad8
+  1.1-2 CRYPTING_HexStringIntPad8
   
   CRYPTING_HexStringIntPad8( int )  
function
   
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crypting-0.10.6/doc/chap1_mj.html 
new/crypting-0.10.7/doc/chap1_mj.html
--- old/crypting-0.10.6/doc/chap1_mj.html       2025-06-20 13:14:44.000000000 
+0200
+++ new/crypting-0.10.7/doc/chap1_mj.html       2026-08-18 02:00:00.000000000 
+0200
@@ -28,11 +28,8 @@
 <div class="ContSect"><span class="tocline"><span 
class="nocss">&nbsp;</span><a href="chap1_mj.html#X7A99D08C7A17A5D9">1.1 <span 
class="Heading">Internal Types and Functions</span></a>
 </span>
 <div class="ContSSBlock">
-<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap1_mj.html#X7A0448718291EC19">1.1-1 IsSHA256State</a></span>
-<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap1_mj.html#X78AD7FCC843F1A9E">1.1-2 
CRYPTING_SHA256_State_Family</a></span>
-<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap1_mj.html#X796DF073854FECD9">1.1-3 
CRYPTING_SHA256_State_Type</a></span>
-<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap1_mj.html#X7E91B15380C025EC">1.1-4 CRYPTING_HexStringIntPad</a></span>
-<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap1_mj.html#X790560687943E483">1.1-5 
CRYPTING_HexStringIntPad8</a></span>
+<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap1_mj.html#X7E047C2683ED4793">1.1-1 IsCryptingSHA256State</a></span>
+<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a 
href="chap1_mj.html#X790560687943E483">1.1-2 
CRYPTING_HexStringIntPad8</a></span>
 </div></div>
 <div class="ContSect"><span class="tocline"><span 
class="nocss">&nbsp;</span><a href="chap1_mj.html#X7AE36B967EB1382B">1.2 <span 
class="Heading">Hash functions</span></a>
 </span>
@@ -52,33 +49,16 @@
 
 <h4>1.1 <span class="Heading">Internal Types and Functions</span></h4>
 
-<p><a id="X7A0448718291EC19" name="X7A0448718291EC19"></a></p>
+<p><a id="X7E047C2683ED4793" name="X7E047C2683ED4793"></a></p>
 
-<h5>1.1-1 IsSHA256State</h5>
+<h5>1.1-1 IsCryptingSHA256State</h5>
 
-<div class="func"><table class="func" width="100%"><tr><td 
class="tdleft"><code class="func">&#8227; IsSHA256State</code>( <var 
class="Arg">arg</var> )</td><td 
class="tdright">(&nbsp;filter&nbsp;)</td></tr></table></div>
+<div class="func"><table class="func" width="100%"><tr><td 
class="tdleft"><code class="func">&#8227; IsCryptingSHA256State</code>( <var 
class="Arg">arg</var> )</td><td 
class="tdright">(&nbsp;category&nbsp;)</td></tr></table></div>
 <p>Returns: <code class="keyw">true</code> or <code 
class="keyw">false</code></p>
 
-<p><a id="X78AD7FCC843F1A9E" name="X78AD7FCC843F1A9E"></a></p>
-
-<h5>1.1-2 CRYPTING_SHA256_State_Family</h5>
-
-<div class="func"><table class="func" width="100%"><tr><td 
class="tdleft"><code class="func">&#8227; 
CRYPTING_SHA256_State_Family</code></td><td class="tdright">(&nbsp;global 
variable&nbsp;)</td></tr></table></div>
-<p><a id="X796DF073854FECD9" name="X796DF073854FECD9"></a></p>
-
-<h5>1.1-3 CRYPTING_SHA256_State_Type</h5>
-
-<div class="func"><table class="func" width="100%"><tr><td 
class="tdleft"><code class="func">&#8227; 
CRYPTING_SHA256_State_Type</code></td><td class="tdright">(&nbsp;global 
variable&nbsp;)</td></tr></table></div>
-<p><a id="X7E91B15380C025EC" name="X7E91B15380C025EC"></a></p>
-
-<h5>1.1-4 CRYPTING_HexStringIntPad</h5>
-
-<div class="func"><table class="func" width="100%"><tr><td 
class="tdleft"><code class="func">&#8227; CRYPTING_HexStringIntPad</code>( <var 
class="Arg">int</var>, <var class="Arg">pad</var>, <var 
class="Arg">length</var> )</td><td 
class="tdright">(&nbsp;function&nbsp;)</td></tr></table></div>
-<p>Call <a href="../../../doc/ref/chap27_mj.html#X865FBB7E788017DD"><span 
class="RefLink">Reference: HexStringInt</span></a> on the argument <var 
class="Arg">int</var> then pad the string on the left to <var 
class="Arg">length</var> using padding letter <var class="Arg">pad</var></p>
-
 <p><a id="X790560687943E483" name="X790560687943E483"></a></p>
 
-<h5>1.1-5 CRYPTING_HexStringIntPad8</h5>
+<h5>1.1-2 CRYPTING_HexStringIntPad8</h5>
 
 <div class="func"><table class="func" width="100%"><tr><td 
class="tdleft"><code class="func">&#8227; CRYPTING_HexStringIntPad8</code>( 
<var class="Arg">int</var> )</td><td 
class="tdright">(&nbsp;function&nbsp;)</td></tr></table></div>
 <p>Call <a href="../../../doc/ref/chap27_mj.html#X865FBB7E788017DD"><span 
class="RefLink">Reference: HexStringInt</span></a> on the argument <var 
class="Arg">int</var> then pad the string on the left to length 8 using padding 
letter 0.</p>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crypting-0.10.6/doc/chapInd.html 
new/crypting-0.10.7/doc/chapInd.html
--- old/crypting-0.10.6/doc/chapInd.html        2025-06-20 13:14:44.000000000 
+0200
+++ new/crypting-0.10.7/doc/chapInd.html        2026-08-18 02:00:00.000000000 
+0200
@@ -25,12 +25,9 @@
 <div class="index">
 <h3>Index</h3>
 
-<code class="func">CRYPTING_HexStringIntPad</code>  <a 
href="chap1.html#X7E91B15380C025EC">1.1-4</a>  <br />
-<code class="func">CRYPTING_HexStringIntPad8</code>  <a 
href="chap1.html#X790560687943E483">1.1-5</a>  <br />
-<code class="func">CRYPTING_SHA256_State_Family</code>  <a 
href="chap1.html#X78AD7FCC843F1A9E">1.1-2</a>  <br />
-<code class="func">CRYPTING_SHA256_State_Type</code>  <a 
href="chap1.html#X796DF073854FECD9">1.1-3</a>  <br />
+<code class="func">CRYPTING_HexStringIntPad8</code>  <a 
href="chap1.html#X790560687943E483">1.1-2</a>  <br />
 <code class="func">HMACSHA256</code>  <a 
href="chap1.html#X831194C88571B5B1">1.3-1</a>  <br />
-<code class="func">IsSHA256State</code>, for IsObject  <a 
href="chap1.html#X7A0448718291EC19">1.1-1</a>  <br />
+<code class="func">IsCryptingSHA256State</code>, for IsObject  <a 
href="chap1.html#X7E047C2683ED4793">1.1-1</a>  <br />
 <code class="func">SHA256String</code>  <a 
href="chap1.html#X7FFA0D5C7C5CB820">1.2-1</a>  <br />
 <p> </p>
 </div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crypting-0.10.6/doc/chapInd.txt 
new/crypting-0.10.7/doc/chapInd.txt
--- old/crypting-0.10.6/doc/chapInd.txt 2025-06-20 13:14:41.000000000 +0200
+++ new/crypting-0.10.7/doc/chapInd.txt 2026-08-18 02:00:00.000000000 +0200
@@ -2,12 +2,9 @@
   
   Index
   
-  CRYPTING_HexStringIntPad 1.1-4 
-  CRYPTING_HexStringIntPad8 1.1-5 
-  CRYPTING_SHA256_State_Family 1.1-2 
-  CRYPTING_SHA256_State_Type 1.1-3 
+  CRYPTING_HexStringIntPad8 1.1-2 
   HMACSHA256 1.3-1 
-  IsSHA256State, for IsObject 1.1-1 
+  IsCryptingSHA256State, for IsObject 1.1-1 
   SHA256String 1.2-1 
   
   
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crypting-0.10.6/doc/chapInd_mj.html 
new/crypting-0.10.7/doc/chapInd_mj.html
--- old/crypting-0.10.6/doc/chapInd_mj.html     2025-06-20 13:14:44.000000000 
+0200
+++ new/crypting-0.10.7/doc/chapInd_mj.html     2026-08-18 02:00:00.000000000 
+0200
@@ -28,12 +28,9 @@
 <div class="index">
 <h3>Index</h3>
 
-<code class="func">CRYPTING_HexStringIntPad</code>  <a 
href="chap1_mj.html#X7E91B15380C025EC">1.1-4</a>  <br />
-<code class="func">CRYPTING_HexStringIntPad8</code>  <a 
href="chap1_mj.html#X790560687943E483">1.1-5</a>  <br />
-<code class="func">CRYPTING_SHA256_State_Family</code>  <a 
href="chap1_mj.html#X78AD7FCC843F1A9E">1.1-2</a>  <br />
-<code class="func">CRYPTING_SHA256_State_Type</code>  <a 
href="chap1_mj.html#X796DF073854FECD9">1.1-3</a>  <br />
+<code class="func">CRYPTING_HexStringIntPad8</code>  <a 
href="chap1_mj.html#X790560687943E483">1.1-2</a>  <br />
 <code class="func">HMACSHA256</code>  <a 
href="chap1_mj.html#X831194C88571B5B1">1.3-1</a>  <br />
-<code class="func">IsSHA256State</code>, for IsObject  <a 
href="chap1_mj.html#X7A0448718291EC19">1.1-1</a>  <br />
+<code class="func">IsCryptingSHA256State</code>, for IsObject  <a 
href="chap1_mj.html#X7E047C2683ED4793">1.1-1</a>  <br />
 <code class="func">SHA256String</code>  <a 
href="chap1_mj.html#X7FFA0D5C7C5CB820">1.2-1</a>  <br />
 <p> </p>
 </div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crypting-0.10.6/doc/chooser.html 
new/crypting-0.10.7/doc/chooser.html
--- old/crypting-0.10.6/doc/chooser.html        2025-06-20 13:14:44.000000000 
+0200
+++ new/crypting-0.10.7/doc/chooser.html        2026-08-18 02:00:00.000000000 
+0200
@@ -23,9 +23,18 @@
   return "";
 }
 
+<!-- load dark appearance either explicitly or via the OS preference -->
+function writeAppearanceStyle(mode) {
+  if (mode == "dark") {
+    document.writeln('<link rel="stylesheet" type="text/css" href="dark.css" 
/>');
+  } else if (mode != "light") {
+    document.writeln('<style type="text/css">@import "dark.css" 
(prefers-color-scheme: dark);</style>');
+  }
+}
+
 <!-- find style from current values in form -->
 function getstyle() {
-  var choices = ["toggle","colorprompt","tocside","font","justify"]; 
+  var choices = 
["toggle","colorprompt","tocside","font","justify","appearance"];
   var style = "";
   for (var i=0; choices.length > i; i++) {
     var a = currval(choices[i]);
@@ -55,17 +64,23 @@
 <!-- initialize form from GAPDocStyle cookie -->
 function initform() {
   var style = valueString(document.cookie, "GAPDocStyle");
+  if (style == 0 || style == "default")
+    writeAppearanceStyle("");
   if (style != 0 && style.length > 0 && style.length != "default") {
     stlist = style.split(",");
     var chform = document.forms[0].elements;
+    var appearance = "";
     for (var i=0; chform.length > i; i++) {
       if (chform[i].type == "radio") {
         for (var j=0; stlist.length > j; j++) {
-          if (chform[i].value == stlist[j]) 
+          if (stlist[j] == "dark" || stlist[j] == "light")
+            appearance = stlist[j];
+          if (chform[i].value == stlist[j])
             chform[i].checked = true;
         }
       }
     }
+    writeAppearanceStyle(appearance);
   }
 }
 
@@ -119,6 +134,15 @@
 <input type="radio" name="justify" value="ragged"
 onclick="javascript:f()"/> ragged right 
 </p>
+<p>
+Appearance:
+<input type="radio" name="appearance" value=""
+onclick="javascript:f()"/> system (default) &nbsp;&nbsp;&nbsp;
+<input type="radio" name="appearance" value="light" checked="checked"
+onclick="javascript:f()"/> light
+<input type="radio" name="appearance" value="dark"
+onclick="javascript:f()"/> dark
+</p>
 </form>
 <p>
 <a name="backLINK" href=""><strong>Apply settings to last page.</strong></a>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crypting-0.10.6/doc/crypting.xml 
new/crypting-0.10.7/doc/crypting.xml
--- old/crypting-0.10.6/doc/crypting.xml        2025-06-20 13:14:41.000000000 
+0200
+++ new/crypting-0.10.7/doc/crypting.xml        1970-01-01 01:00:00.000000000 
+0100
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- This is an automatically generated file. -->
-<!DOCTYPE Book SYSTEM "gapdoc.dtd"
-[
-    [<#Include SYSTEM "_entities.xml">
-]
->
-<Book Name="crypting">
-<#Include SYSTEM "title.xml">
-<TableOfContents/>
-<Body>
-<#Include SYSTEM "_AutoDocMainFile.xml">
-</Body>
-<TheIndex/>
-</Book>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crypting-0.10.6/doc/dark.css 
new/crypting-0.10.7/doc/dark.css
--- old/crypting-0.10.6/doc/dark.css    1970-01-01 01:00:00.000000000 +0100
+++ new/crypting-0.10.7/doc/dark.css    2026-08-18 02:00:00.000000000 +0200
@@ -0,0 +1,178 @@
+/* dark.css                                             Frank Luebeck */
+/* Initial dark theme contributed by kiryph in issue #75.            */
+
+/* colors */
+body {
+  background: #121212;
+  color: #eee;
+}
+
+a:link {
+  color: #576cad;
+}
+
+a:visited {
+  color: #576cad;
+}
+
+a:active {
+  color: #eee;
+}
+
+a:hover {
+  background: #eee;
+}
+
+pre {
+  color: black;
+}
+
+tt, code {
+  color: #eee;
+}
+
+/* layout for the definitions of functions, variables, ... */
+div.func {
+  background: #909090;
+}
+
+/* Example elements (for old converted manuals, now in div+pre */
+table.example {
+  background: #efefef;
+}
+
+/* becomes ... */
+div.example {
+  background: #efefef;
+  color: black;
+}
+
+/* Links to chapters in all files at top and bottom. */
+div.chlinktop {
+  background: #22272e;
+  border-color: #3a414a;
+  color: #d7dde5;
+}
+
+div.chlinktop a:hover {
+  background: #2f3742;
+}
+
+div.chlinkbot {
+  background: #22272e;
+  border-color: #3a414a;
+  color: #d7dde5;
+}
+
+/* and this is for the "Top", "Prev", "Next" links */
+div.chlinkprevnexttop {
+  background: #22272e;
+  border-color: #3a414a;
+  color: #d7dde5;
+}
+
+div.chlinkprevnexttop a:hover {
+  background: #2f3742;
+}
+
+div.chlinkprevnextbot {
+  background: #22272e;
+  border-color: #3a414a;
+  color: #d7dde5;
+}
+
+div.chlinkprevnextbot a:hover {
+  background: #2f3742;
+}
+
+div.ContChap div.ContSect:hover div.ContSSBlock {
+  background: #eee;
+  border-color: #666;
+  color: #000;
+}
+
+div.ContSSBlock a:hover {
+  background: #fff;
+}
+
+/* and here for the side menu of contents in the chapter files */
+div.ChapSects a:hover {
+  background: #eee;
+  color: #000;
+}
+
+div.ChapSects div.ContSect:hover div.ContSSBlock {
+  background: #b5b5b5;
+  border-color: #666;
+  color: #000;
+}
+
+div.ChapSects div.ContSect:hover div.ContSSBlock a:hover {
+  background: #828282;
+}
+
+/* Table elements */
+table.GAPDocTable {
+  border-color: black;
+}
+
+table.GAPDocTable td, table.GAPDocTable th {
+  border-color: #555;
+}
+
+table.GAPDocTablenoborder td, table.GAPDocTable th {
+  border-color: #555;
+}
+
+/* Colors and fonts can be overwritten for some types of elements. */
+/* Verb elements */
+pre.normal {
+  color: #eee;
+}
+
+/* Func-like elements and Ref to Func-like */
+code.func {
+  color: #eee;
+}
+
+/* K elements */
+code.keyw {
+  color: #983d3d;
+}
+
+/* F elements */
+code.file {
+  color: #8e4510;
+}
+
+/* Arg elements */
+var.Arg {
+  color: #060;
+}
+
+/* colors for ColorPrompt like examples */
+span.GAPprompt {
+  color: #000097;
+}
+
+span.GAPbrkprompt {
+  color: #970000;
+}
+
+span.GAPinput {
+  color: #970000;
+}
+
+/* Bib entries */
+span.BibKey {
+  color: #052;
+}
+
+/* for light and dark mode pictures */
+.only-on-dark {
+  display: block;
+}
+
+.only-on-light {
+  display: none;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crypting-0.10.6/doc/manual.css 
new/crypting-0.10.7/doc/manual.css
--- old/crypting-0.10.6/doc/manual.css  2025-06-20 13:14:44.000000000 +0200
+++ new/crypting-0.10.7/doc/manual.css  2026-08-18 02:00:00.000000000 +0200
@@ -477,6 +477,10 @@
 span.BibHowpublished {
 }
 
+/* for light and dark mode pictures */
+.only-on-dark {
+  display: none;
+}
 
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crypting-0.10.6/doc/manual.js 
new/crypting-0.10.7/doc/manual.js
--- old/crypting-0.10.6/doc/manual.js   2025-06-20 13:14:44.000000000 +0200
+++ new/crypting-0.10.7/doc/manual.js   2026-08-18 02:00:00.000000000 +0200
@@ -47,6 +47,20 @@
   return 0;
 }
 
+/* load dark appearance either explicitly or via the OS preference */
+function writeAppearanceStyle(mode) {
+  if (mode == "dark") {
+    document.writeln(
+      '<link rel="stylesheet" type="text/css" href="dark.css" />'
+    );
+  } else if (mode != "light") {
+    document.writeln(
+      '<style type="text/css">@import "dark.css" ' +
+      '(prefers-color-scheme: dark);</style>'
+    );
+  }
+}
+
 /* when a non-default style is chosen via URL or a cookie, then
    the cookie is reset and the styles .js and .css files are read  */
 function overwriteStyle() {
@@ -55,6 +69,8 @@
   /* otherwise check cookie */
   if (style == 0)
     style = valueString(document.cookie, "GAPDocStyle");
+  if (style == 0 || style == "default")
+    writeAppearanceStyle("");
   if (style == 0)
     return;
   if (style == "default")
@@ -70,13 +86,19 @@
     document.cookie = "GAPDocStyle="+style+";Path="+path;
     /* split into names of style files */
     var stlist = style.split(",");
+    var appearance = "";
     /* read style's css and js files */
     for (var i=0; i < stlist.length; i++) {
-      document.writeln('<link rel="stylesheet" type="text/css" href="'+
-                                                         stlist[i]+'.css" />');
-      document.writeln('<script src="'+stlist[i]+
-                                      '.js" type="text/javascript"></script>');
+      if (stlist[i] == "dark" || stlist[i] == "light") {
+        appearance = stlist[i];
+      } else {
+        document.writeln('<link rel="stylesheet" type="text/css" href="'+
+                                                           stlist[i]+'.css" 
/>');
+        document.writeln('<script src="'+stlist[i]+
+                                        '.js" 
type="text/javascript"></script>');
+      }
     }
+    writeAppearanceStyle(appearance);
   }
 }
 
@@ -110,4 +132,3 @@
   for (var i=0; i < jscontentfuncs.length; i++)
     jscontentfuncs[i]();
 }
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crypting-0.10.6/doc/manual.lab 
new/crypting-0.10.7/doc/manual.lab
--- old/crypting-0.10.6/doc/manual.lab  2025-06-20 13:14:44.000000000 +0200
+++ new/crypting-0.10.7/doc/manual.lab  2026-08-18 02:00:00.000000000 +0200
@@ -6,10 +6,7 @@
 \makelabel{crypting:Hash functions}{1.2}{X7AE36B967EB1382B}
 \makelabel{crypting:HMAC}{1.3}{X798E9B5587D955DB}
 \makelabel{crypting:Index}{Ind}{X83A0356F839C696F}
-\makelabel{crypting:IsSHA256State for IsObject}{1.1.1}{X7A0448718291EC19}
-\makelabel{crypting:CRYPTINGSHA256StateFamily}{1.1.2}{X78AD7FCC843F1A9E}
-\makelabel{crypting:CRYPTINGSHA256StateType}{1.1.3}{X796DF073854FECD9}
-\makelabel{crypting:CRYPTINGHexStringIntPad}{1.1.4}{X7E91B15380C025EC}
-\makelabel{crypting:CRYPTINGHexStringIntPad8}{1.1.5}{X790560687943E483}
+\makelabel{crypting:IsCryptingSHA256State for 
IsObject}{1.1.1}{X7E047C2683ED4793}
+\makelabel{crypting:CRYPTINGHexStringIntPad8}{1.1.2}{X790560687943E483}
 \makelabel{crypting:SHA256String}{1.2.1}{X7FFA0D5C7C5CB820}
 \makelabel{crypting:HMACSHA256}{1.3.1}{X831194C88571B5B1}
Binary files old/crypting-0.10.6/doc/manual.pdf and 
new/crypting-0.10.7/doc/manual.pdf differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crypting-0.10.6/doc/manual.six 
new/crypting-0.10.7/doc/manual.six
--- old/crypting-0.10.6/doc/manual.six  2025-06-20 13:14:44.000000000 +0200
+++ new/crypting-0.10.7/doc/manual.six  2026-08-18 02:00:00.000000000 +0200
@@ -13,22 +13,17 @@
       "1.1", [ 1, 1, 0 ], 4, 3, "internal types and functions", 
       "X7A99D08C7A17A5D9" ], 
   [ "\033[1X\033[33X\033[0;-2YHash functions\033[133X\033[101X", "1.2", 
-      [ 1, 2, 0 ], 34, 4, "hash functions", "X7AE36B967EB1382B" ], 
+      [ 1, 2, 0 ], 19, 3, "hash functions", "X7AE36B967EB1382B" ], 
   [ "\033[1X\033[33X\033[0;-2YHMAC\033[133X\033[101X", "1.3", [ 1, 3, 0 ], 
-      43, 4, "hmac", "X798E9B5587D955DB" ], 
-  [ "Index", "ind", [ "Ind", 0, 0 ], 1, 5, "index", "X83A0356F839C696F" ], 
-  [ "\033[2XIsSHA256State\033[102X for IsObject", "1.1-1", [ 1, 1, 1 ], 7, 3, 
-      "issha256state for isobject", "X7A0448718291EC19" ], 
-  [ "\033[2XCRYPTING_SHA256_State_Family\033[102X", "1.1-2", [ 1, 1, 2 ], 12, 
-      3, "crypting_sha256_state_family", "X78AD7FCC843F1A9E" ], 
-  [ "\033[2XCRYPTING_SHA256_State_Type\033[102X", "1.1-3", [ 1, 1, 3 ], 16, 
-      3, "crypting_sha256_state_type", "X796DF073854FECD9" ], 
-  [ "\033[2XCRYPTING_HexStringIntPad\033[102X", "1.1-4", [ 1, 1, 4 ], 20, 3, 
-      "crypting_hexstringintpad", "X7E91B15380C025EC" ], 
-  [ "\033[2XCRYPTING_HexStringIntPad8\033[102X", "1.1-5", [ 1, 1, 5 ], 27, 3, 
+      28, 3, "hmac", "X798E9B5587D955DB" ], 
+  [ "Index", "ind", [ "Ind", 0, 0 ], 1, 4, "index", "X83A0356F839C696F" ], 
+  [ "\033[2XIsCryptingSHA256State\033[102X for IsObject", "1.1-1", 
+      [ 1, 1, 1 ], 7, 3, "iscryptingsha256state for isobject", 
+      "X7E047C2683ED4793" ], 
+  [ "\033[2XCRYPTING_HexStringIntPad8\033[102X", "1.1-2", [ 1, 1, 2 ], 12, 3, 
       "crypting_hexstringintpad8", "X790560687943E483" ], 
-  [ "\033[2XSHA256String\033[102X", "1.2-1", [ 1, 2, 1 ], 37, 4, 
+  [ "\033[2XSHA256String\033[102X", "1.2-1", [ 1, 2, 1 ], 22, 3, 
       "sha256string", "X7FFA0D5C7C5CB820" ], 
-  [ "\033[2XHMACSHA256\033[102X", "1.3-1", [ 1, 3, 1 ], 46, 4, "hmacsha256", 
+  [ "\033[2XHMACSHA256\033[102X", "1.3-1", [ 1, 3, 1 ], 31, 3, "hmacsha256", 
       "X831194C88571B5B1" ] ]
 );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crypting-0.10.6/doc/title.xml 
new/crypting-0.10.7/doc/title.xml
--- old/crypting-0.10.6/doc/title.xml   2025-06-20 13:14:41.000000000 +0200
+++ new/crypting-0.10.7/doc/title.xml   2026-08-18 02:00:00.000000000 +0200
@@ -9,15 +9,14 @@
     Hashes and Crypto in &GAP;
   </Subtitle>
   <Version>
-    0.10.6
+    0.10.7
   </Version>
   <Author>
-    Markus Pfeiffer<Alt Only="LaTeX"><Br/></Alt>
+    Markus Pfeiffer
 <Email>[email protected]</Email>
 <Homepage>http://www.morphism.de/~markusp/</Homepage>
-
   </Author>
   <Date>
-    20 June 2025
+    18 August 2026
   </Date>
   </TitlePage>
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crypting-0.10.6/gap/crypting.gd 
new/crypting-0.10.7/gap/crypting.gd
--- old/crypting-0.10.6/gap/crypting.gd 2025-06-20 13:14:31.000000000 +0200
+++ new/crypting-0.10.7/gap/crypting.gd 2026-08-18 02:00:00.000000000 +0200
@@ -11,19 +11,12 @@
 #
 
 #!
-DeclareCategory("IsSHA256State", IsObject);
+DeclareCategory("IsCryptingSHA256State", IsObject);
 # DeclareGlobalVariable("CRYPTING_SHA256_State_Family");
 # DeclareGlobalVariable("CRYPTING_SHA256_State_Type", "State of SHA256");
 
 #! @Description
 #!   Call <Ref Label="HexStringInt" BookName="ref"/> on the argument <A>int</A>
-#!   then pad the string on the left to <A>length</A> using padding
-#!   letter <A>pad</A>
-#! @Arguments int, pad, length
-DeclareGlobalFunction("CRYPTING_HexStringIntPad");
-
-#! @Description
-#!   Call <Ref Label="HexStringInt" BookName="ref"/> on the argument <A>int</A>
 #!   then pad the string on the left to length 8 using padding
 #!   letter 0.
 #! @Arguments int
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crypting-0.10.6/gap/crypting.gi 
new/crypting-0.10.7/gap/crypting.gi
--- old/crypting-0.10.6/gap/crypting.gi 2025-06-20 13:14:31.000000000 +0200
+++ new/crypting-0.10.7/gap/crypting.gi 2026-08-18 02:00:00.000000000 +0200
@@ -10,25 +10,22 @@
 
 BindGlobal("CRYPTING_SHA256_State_Type",
            NewType(CRYPTING_SHA256_State_Family,
-                   IsSHA256State) );
+                   IsCryptingSHA256State) );
 
 
-InstallGlobalFunction( CRYPTING_HexStringIntPad,
-function(i, len, pad)
+InstallGlobalFunction( CRYPTING_HexStringIntPad8,
+function(i)
     local result;
 
     result := HexStringInt(i);
-    if Length(result) < len then
-        result := Concatenation(RepeatedString(pad,len - Length(result)), 
result);
+    if Length(result) < 8 then
+        result := Concatenation(ListWithIdenticalEntries(8 - Length(result), 
'0'), result);
     fi;
     return result;
 end);
 
-InstallGlobalFunction( CRYPTING_HexStringIntPad8,
-    i -> CRYPTING_HexStringIntPad(i, 8, '0'));
-
 InstallMethod( ViewString, "for a SHA256 state",
-               [ IsSHA256State ], x -> "<sha256 state>");
+               [ IsCryptingSHA256State ], x -> "<sha256 state>");
 
 InstallGlobalFunction( SHA256String,
 function(str)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crypting-0.10.6/tst/hmacsha256.tst 
new/crypting-0.10.7/tst/hmacsha256.tst
--- old/crypting-0.10.6/tst/hmacsha256.tst      2025-06-20 13:14:31.000000000 
+0200
+++ new/crypting-0.10.7/tst/hmacsha256.tst      2026-08-18 02:00:00.000000000 
+0200
@@ -2,7 +2,7 @@
 "B613679A0814D9EC772F95D778C35FC5FF1697C493715653C6C712144292C5AD"
 gap> Concatenation(List(CRYPTING_SHA256_HMAC("key", "The quick brown fox jumps 
over the lazy dog"), CRYPTING_HexStringIntPad8));
 "F7BC83F430538424B13298E6AA6FB143EF4D59A14946175997479DBC2D1A3CD8"
-gap> str := RepeatedString("The quick brown fox jumps over the lazy dog.\n", 
5000);;
+gap> str := Concatenation(ListWithIdenticalEntries(112, "The quick brown fox 
jumps over the lazy dog.\n")){[1..5000]};;
 gap> Concatenation(List(CRYPTING_SHA256_HMAC("key", str), 
CRYPTING_HexStringIntPad8));
 "9319843BE4B7BBD7928B3DD7080B37E4CD46F9DC244812E3DD6783CF56C25AEE"
 gap> Concatenation(List(CRYPTING_SHA256_HMAC(str, str), 
CRYPTING_HexStringIntPad8));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/crypting-0.10.6/tst/sha256.tst 
new/crypting-0.10.7/tst/sha256.tst
--- old/crypting-0.10.6/tst/sha256.tst  2025-06-20 13:14:31.000000000 +0200
+++ new/crypting-0.10.7/tst/sha256.tst  2026-08-18 02:00:00.000000000 +0200
@@ -2,7 +2,7 @@
 "BA7816BF8F01CFEA414140DE5DAE2223B00361A396177A9CB410FF61F20015AD"
 gap> 
Concatenation(List(SHA256String("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"),
 CRYPTING_HexStringIntPad8));
 "248D6A61D20638B8E5C026930C3E6039A33CE45964FF2167F6ECEDD419DB06C1"
-gap> str := RepeatedString("The quick brown fox jumps over the lazy dog.\n", 
5000);;
+gap> str := Concatenation(ListWithIdenticalEntries(112, "The quick brown fox 
jumps over the lazy dog.\n")){[1..5000]};;
 gap> Concatenation(List(SHA256String(str), CRYPTING_HexStringIntPad8));
 "4BAFDB160ACD4142C07293E6955A4CE4B449D27C9A35FA56481BED84F9F2493E"
 gap> SHA256String([(1,2)]);

Reply via email to