Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gap-json for openSUSE:Factory checked in at 2026-05-10 16:48:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gap-json (Old) and /work/SRC/openSUSE:Factory/.gap-json.new.1966 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gap-json" Sun May 10 16:48:12 2026 rev:7 rq:1352241 version:2.4.0 Changes: -------- --- /work/SRC/openSUSE:Factory/gap-json/gap-json.changes 2025-06-23 15:03:54.382313281 +0200 +++ /work/SRC/openSUSE:Factory/.gap-json.new.1966/gap-json.changes 2026-05-10 16:48:47.257916934 +0200 @@ -1,0 +2,6 @@ +Sun May 10 05:41:07 UTC 2026 - Jan Engelhardt <[email protected]> + +- Update to release 2.4.0 + * Encode GAP failures as JSON null + +------------------------------------------------------------------- Old: ---- json-2.2.3.tar.gz New: ---- json-2.4.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gap-json.spec ++++++ --- /var/tmp/diff_new_pack.y0jKGn/_old 2026-05-10 16:48:48.297959498 +0200 +++ /var/tmp/diff_new_pack.y0jKGn/_new 2026-05-10 16:48:48.297959498 +0200 @@ -1,7 +1,7 @@ # # spec file for package gap-json # -# 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 @@ -17,7 +17,7 @@ Name: gap-json -Version: 2.2.3 +Version: 2.4.0 Release: 0 Summary: GAP: Package for reading and writing JSON License: BSD-2-Clause ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.y0jKGn/_old 2026-05-10 16:48:48.337961134 +0200 +++ /var/tmp/diff_new_pack.y0jKGn/_new 2026-05-10 16:48:48.345961461 +0200 @@ -1,5 +1,5 @@ -mtime: 1750549736 -commit: c0f808966fed9800448ca348164d1170d1fa28c0786f006cb3ab54d7cc78a5ff +mtime: 1778391754 +commit: 22f29de56f045210cd72e3667bd25c1260f2dfd67d845af1d2a2e0f3e68ca30f url: https://src.opensuse.org/jengelh/gap-json 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-05-10 07:42:34.000000000 +0200 @@ -0,0 +1 @@ +.osc ++++++ json-2.2.3.tar.gz -> json-2.4.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/json-2.2.3/PackageInfo.g new/json-2.4.0/PackageInfo.g --- old/json-2.2.3/PackageInfo.g 2025-06-21 17:52:07.000000000 +0200 +++ new/json-2.4.0/PackageInfo.g 2026-05-08 02:00:00.000000000 +0200 @@ -10,8 +10,8 @@ PackageName := "json", Subtitle := "Reading and Writing JSON", -Version := "2.2.3", -Date := "21/06/2025", # dd/mm/yyyy format +Version := "2.4.0", +Date := "08/05/2026", # dd/mm/yyyy format License := "BSD-2-Clause", Persons := [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/json-2.2.3/README new/json-2.4.0/README --- old/json-2.2.3/README 2025-06-21 17:52:07.000000000 +0200 +++ new/json-2.4.0/README 2026-05-08 02:00:00.000000000 +0200 @@ -19,6 +19,11 @@ Updates ======= +v2.3.0 +====== + +Allow outputting 'fail', it maps to null (null was already read in as fail) + v2.2.3 ====== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/json-2.2.3/doc/chap0.html new/json-2.4.0/doc/chap0.html --- old/json-2.2.3/doc/chap0.html 2025-06-21 17:53:33.000000000 +0200 +++ new/json-2.4.0/doc/chap0.html 2026-05-08 02:00:00.000000000 +0200 @@ -29,10 +29,10 @@ <h2>Reading and Writing JSON</h2> <p> - 2.2.3</p> + 2.4.0</p> <p> - 21 June 2025 + 8 May 2026 </p> </div> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/json-2.2.3/doc/chap0.txt new/json-2.4.0/doc/chap0.txt --- old/json-2.2.3/doc/chap0.txt 2025-06-21 17:53:30.000000000 +0200 +++ new/json-2.4.0/doc/chap0.txt 2026-05-08 02:00:00.000000000 +0200 @@ -6,10 +6,10 @@ [1X Reading and Writing JSON [101X - 2.2.3 + 2.4.0 - 21 June 2025 + 8 May 2026 Christopher Jefferson diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/json-2.2.3/doc/chap0_mj.html new/json-2.4.0/doc/chap0_mj.html --- old/json-2.2.3/doc/chap0_mj.html 2025-06-21 17:53:33.000000000 +0200 +++ new/json-2.4.0/doc/chap0_mj.html 2026-05-08 02:00:00.000000000 +0200 @@ -32,10 +32,10 @@ <h2>Reading and Writing JSON</h2> <p> - 2.2.3</p> + 2.4.0</p> <p> - 21 June 2025 + 8 May 2026 </p> </div> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/json-2.2.3/doc/json.tex new/json-2.4.0/doc/json.tex --- old/json-2.2.3/doc/json.tex 1970-01-01 01:00:00.000000000 +0100 +++ new/json-2.4.0/doc/json.tex 2026-05-08 02:00:00.000000000 +0200 @@ -0,0 +1,235 @@ +% 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{ json \mbox{}}}\\ +\vfill + +\hypersetup{pdftitle= json } +\markright{\scriptsize \mbox{}\hfill json \hfill\mbox{}} +{\Huge \textbf{ Reading and Writing JSON \mbox{}}}\\ +\vfill + +{\Huge 2.4.0 \mbox{}}\\[1cm] +{ 8 May 2026 \mbox{}}\\[1cm] +\mbox{}\\[2cm] +{\Large \textbf{ Christopher Jefferson\\ + \mbox{}}}\\ +\hypersetup{pdfauthor= Christopher Jefferson\\ + } +\end{center}\vfill + +\mbox{}\\ +{\mbox{}\\ +\small \noindent \textbf{ Christopher Jefferson\\ + } Email: \href{mailto://[email protected]} {\texttt{caj21@st\texttt{\symbol{45}}andrews.ac.uk}}\\ + Homepage: \href{https://heather.cafe/} {\texttt{https://heather.cafe/}}\\ + Address: \begin{minipage}[t]{8cm}\noindent + St Andrews\\ + Scotland\\ + UK\\ + \end{minipage} +}\\ +\end{titlepage} + +\newpage\setcounter{page}{2} +\newpage + +\def\contentsname{Contents\logpage{[ 0, 0, 1 ]}} + +\tableofcontents +\newpage + + +\chapter{\textcolor{Chapter }{GAP\texttt{\symbol{45}}JSON mapping}}\label{Chapter_GAP-JSON_mapping} +\logpage{[ 1, 0, 0 ]} +\hyperdef{L}{X87B639367C9770AE}{} +{ + This package defines a mapping between the JSON markup language and GAP. The +built\texttt{\symbol{45}}in datatypes of GAP provide an easy mapping to and +from JSON. This package uses the following mapping between GAP and JSON. + + +\begin{itemize} +\item JSON lists are mapped to GAP lists +\item JSON dictionaries are mapped to GAP records +\item JSON strings are mapped to GAP strings +\item Integers are mapped to GAP integers, non\texttt{\symbol{45}}integer numbers +are mapped to Floats +\item true, false and null are mapped to true, false and fail respectively +\end{itemize} + + + Note that this library is *NOT* intended to provide a general purpose library +for transmitting any GAP object. If you wish to do this, look at the openmath +package, or IO{\textunderscore}Pickle in the IO package. +\section{\textcolor{Chapter }{Methods}}\label{Chapter_GAP-JSON_mapping_Section_Methods} +\logpage{[ 1, 1, 0 ]} +\hyperdef{L}{X8606FDCE878850EF}{} +{ + + +\subsection{\textcolor{Chapter }{GapToJsonStream}} +\logpage{[ 1, 1, 1 ]}\nobreak +\hyperdef{L}{X83B041337FB4E4D1}{} +{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{GapToJsonStream({\mdseries\slshape stream, value})\index{GapToJsonStream@\texttt{GapToJsonStream}} +\label{GapToJsonStream} +}\hfill{\scriptsize (function)}}\\ + + + Converts the \mbox{\texttt{\mdseries\slshape value}} to JSON, and outputs it to \mbox{\texttt{\mdseries\slshape stream}}. This function disables GAP's usual line splitting while JSON is being +outputted. } + + + +\subsection{\textcolor{Chapter }{GapToJsonString}} +\logpage{[ 1, 1, 2 ]}\nobreak +\hyperdef{L}{X855531F88506F3D0}{} +{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{GapToJsonString({\mdseries\slshape value})\index{GapToJsonString@\texttt{GapToJsonString}} +\label{GapToJsonString} +}\hfill{\scriptsize (function)}}\\ +\textbf{\indent Returns:\ } +string + + + + Converts a GAP \mbox{\texttt{\mdseries\slshape value}} to a JSON string. } + + + +\subsection{\textcolor{Chapter }{JsonStringToGap}} +\logpage{[ 1, 1, 3 ]}\nobreak +\hyperdef{L}{X823A762684DC39C1}{} +{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{JsonStringToGap({\mdseries\slshape string})\index{JsonStringToGap@\texttt{JsonStringToGap}} +\label{JsonStringToGap} +}\hfill{\scriptsize (function)}}\\ +\textbf{\indent Returns:\ } +value + + + + Converts a JSON \mbox{\texttt{\mdseries\slshape string}} into a GAP value. } + + + +\subsection{\textcolor{Chapter }{JsonStreamToGap}} +\logpage{[ 1, 1, 4 ]}\nobreak +\hyperdef{L}{X823DB24A7D2F7D64}{} +{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{JsonStreamToGap({\mdseries\slshape stream})\index{JsonStreamToGap@\texttt{JsonStreamToGap}} +\label{JsonStreamToGap} +}\hfill{\scriptsize (function)}}\\ +\textbf{\indent Returns:\ } +value + + + + Reads a single JSON object from a \mbox{\texttt{\mdseries\slshape stream}} and converts it to a GAP value. } + + } + + } + + \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} Binary files old/json-2.2.3/doc/manual.pdf and new/json-2.4.0/doc/manual.pdf differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/json-2.2.3/doc/title.xml new/json-2.4.0/doc/title.xml --- old/json-2.2.3/doc/title.xml 2025-06-21 17:53:30.000000000 +0200 +++ new/json-2.4.0/doc/title.xml 2026-05-08 02:00:00.000000000 +0200 @@ -9,7 +9,7 @@ Reading and Writing JSON </Subtitle> <Version> - 2.2.3 + 2.4.0 </Version> <Author> Christopher Jefferson<Alt Only="LaTeX"><Br/></Alt> @@ -23,6 +23,6 @@ </Author> <Date> - 21 June 2025 + 8 May 2026 </Date> </TitlePage> \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/json-2.2.3/gap/json.gi new/json-2.4.0/gap/json.gi --- old/json-2.2.3/gap/json.gi 2025-06-21 17:52:07.000000000 +0200 +++ new/json-2.4.0/gap/json.gi 2026-05-08 02:00:00.000000000 +0200 @@ -37,12 +37,15 @@ InstallMethod(_GapToJsonStreamInternal, [IsOutputStream, IsBool], function(o, b) + # GAP's `fail` is the third value satisfying IsBool. JsonStringToGap + # already deserialises JSON `null` as `fail`; round-trip the other way + # so the encode/decode pair is symmetric. if b = true then WriteAll(o, "true"); elif b = false then WriteAll(o, "false"); else - Error("Invalid Boolean"); + WriteAll(o, "null"); fi; end ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/json-2.2.3/tst/test_loop.tst new/json-2.4.0/tst/test_loop.tst --- old/json-2.2.3/tst/test_loop.tst 2025-06-21 17:52:07.000000000 +0200 +++ new/json-2.4.0/tst/test_loop.tst 2026-05-08 02:00:00.000000000 +0200 @@ -38,6 +38,7 @@ > end;; gap> test_cycle(true); gap> test_cycle(false); +gap> test_cycle(fail); gap> test_cycle(-1); gap> test_cycle(0); gap> test_cycle(1);
