2026-11-05  Péter Felecan  <pfelecan@gmail.com>

	Release 0.50.0: the sources and the clients in the debug log; the
	progress of sppgen.

	* Worker.h, Worker.cpp: Debug lines for the sources of a lookup or a
	search (the order, the skipped ones, the answers); searchText.
	* HttpServer.cpp: Debug lines for the connections and the requests (the
	address, the method, the path, the status); Entry.cpp: the line that
	only some pages wrote is dropped.
	* Generator.h, Generator.cpp, sppgen.cpp, GeneratorTest.cpp: mProgressEvery,
	the option -p, with the rate and the time left.
	* Manual.org: The account sapupra on FreeBSD; the level debug; sppgen -p.
	* Design.org, FutureResearch.org, ResearchJournal.org, SessionHandoff.org,
	NEWS, README, VERSION, the man pages: The entry of 0.50.0; Version 0.50.0.

2026-11-04  Péter Felecan  <pfelecan@gmail.com>

	Release 0.49.0: who answered; single spaces.

	* Record.h, Record.cpp: tidied.
	* Catalogue.h, Catalogue.cpp: catalogue and correctEdition tidy the
	record; sourcesNote; the verdict kept ends with the sources.
	* Worker.h, Worker.cpp: the log and the verdict published end with the
	sources (fromText); the ambiguous verdict too.
	* CatalogueTest.cpp, WorkerTest.cpp: The new texts; the tidying.
	* Design.org, Manual.org, FutureResearch.org, ResearchJournal.org,
	SessionHandoff.org, NEWS, README, VERSION, the man pages: The entry of
	0.49.0; Version 0.49.0.

2026-11-04  Péter Felecan  <pfelecan@gmail.com>

	Release 0.48.0: the spaces of a MARC title; the records of a trial.

	* Marc.cpp: cleaned drops every control and the characters that show
	nothing, and makes every space a plain one.
	* MarcTest.cpp: The four new cases.
	* FutureResearch.org, Design.org, Manual.org, ResearchJournal.org,
	SessionHandoff.org, NEWS, README, VERSION, the man pages: The entry
	of 0.48.0; Version 0.48.0.

2026-11-04  Péter Felecan  <pfelecan@gmail.com>

	Release 0.47.0: the second try of a search; the card number.

	* Code.h, Code.cpp: normalizeLccn.
	* Resolver.h, Resolver.cpp: canSearchLccn.
	* Z3950Resolver.h, Z3950Resolver.cpp, Z3950Backend.cpp: Target::mLccn
	(the Library of Congress), searchLccn and searchPqf, shared with the
	search by author and title; the fake server knows the number 2004431148.
	* Worker.h, Worker.cpp, sppwork.cpp: the second try (relaxedTitle), the
	search by card number ([sources] lccn), the sources named in the verdict.
	* Entry.cpp: the field of the card number on the page Look up, its checks,
	the query shown with it.
	* CodeTest.cpp, Z3950ResolverTest.cpp, WorkerTest.cpp, EntryTest.cpp,
	FakeOpenLibrary.h: Tests of these.
	* fr.po, sapupra.pot: The new messages.
	* sppwork.8, sapupra.ini.sample: [sources] lccn; the second try.
	* Design.org, Manual.org, FutureResearch.org, ResearchJournal.org,
	SessionHandoff.org, NEWS, README, VERSION, the man pages: The entry of
	0.47.0; Version 0.47.0.

2026-11-04  Péter Felecan  <pfelecan@gmail.com>

	Release 0.46.0: a description corrected by hand; the search shown.

	* Message.cpp, Vocabulary.cpp: The kind correct (the item as code, a
	record), the status corrected.
	* Catalogue.h, Catalogue.cpp: correctEdition; writeParts, split from
	insertEdition; Description::mCorrected.
	* Worker.h, Worker.cpp: processCorrect.
	* Entry.h, Entry.cpp, EntryCatalogue.cpp: The page and the order of the
	correction; queryText: the search in the to-do list, the page of the
	input and the result; the link Another search; the advice after a
	search that finds nothing.
	* MessageTest.cpp, CatalogueTest.cpp, WorkerTest.cpp, EntryTest.cpp:
	The new kind, the correction, the search shown.
	* fr.po, sapupra.pot: The new messages.
	* sppentry.8, sppwork.8: The kind and the page of the correction.
	* Design.org, Manual.org, FutureResearch.org, ResearchJournal.org,
	SessionHandoff.org, NEWS, README, VERSION, sppentry.8, sppgate.8,
	sppconsult.8, sppwork.8, spplist.1, spplabel.1, orgdoc-check.1: The
	entry of 0.46.0; Version 0.46.0.

2026-11-04  Péter Felecan  <pfelecan@gmail.com>

	Release 0.45.0: a name in listen; the ISBN in Romania.

	* Config.h, Config.cpp: listen() resolves a name (QHostInfo), the
	first IPv4 address, else the first.
	* ConfigTest.cpp: A name that resolves, one that does not.
	* sapupra.ini.sample, sppgate.8, sppentry.8, sppconsult.8, Manual.org:
	The names accepted.
	* Concept.org: Romania, with the quotation.
	* ResearchJournal.org, SessionHandoff.org, NEWS, README, VERSION,
	sppentry.8, sppgate.8, sppconsult.8, sppwork.8, spplist.1, spplabel.1,
	orgdoc-check.1: The entry of 0.45.0; Version 0.45.0.

2026-11-04  Péter Felecan  <pfelecan@gmail.com>

	Release 0.44.0: a scan device corrected; the search page; the titles
	and names of the lists; the schema of version 6.

	* Message.h, Message.cpp, Vocabulary.cpp: The kind device (code, to).
	* Catalogue.h, Catalogue.cpp: renameDevice, hasDevice;
	contributor.sort_name (schema version 6, upgrade step); the sort
	names and the languages in listing().
	* Worker.h, Worker.cpp: processDevice.
	* Entry.h, Entry.cpp: postDevice and its form on Scan devices; the
	search form with the device and the place after the title and the
	author, and what they are for.
	* Record.h, Record.cpp, Marc.cpp, BnfResolver.h, BnfResolver.cpp,
	MusicBrainzResolver.cpp: Contributor::mSort, read from the sources.
	* Listing.h, Listing.cpp, Vocabulary.h: filing() (the articles by
	language), the sort keys, the names as filed.
	* Generator.cpp: Contributor initializers.
	* CatalogueTest.cpp, WorkerTest.cpp, MessageTest.cpp, EntryTest.cpp,
	ListingTest.cpp, MarcTest.cpp, BnfResolverTest.cpp: The new tests.
	* fr.po, sapupra.pot: The new sentences.
	* Design.org, Manual.org, Concept.org, spplist.1: The above, and
	"Upgrading to a newer version".
	* FutureResearch.org, ResearchJournal.org, SessionHandoff.org: The
	items closed and opened; the entry of 0.44.0.
	* sppentry.8, sppgate.8, sppconsult.8, sppwork.8, spplist.1,
	spplabel.1, orgdoc-check.1, README, NEWS, VERSION: Version 0.44.0.

2026-11-04  Péter Felecan  <pfelecan@gmail.com>

	Release 0.43.0: the glossary checked; the kit without Babel and with
	smart quotes; the ISBN dates; five open items closed.

	* orgdoc-check, orgdoc-check.1: The rule glossary (first use of a
	term of Concept.org's glossary, in Design, Manual and Index).
	* batch-init.el.in: org-export-use-babel nil instead of
	org-confirm-babel-evaluate nil; org-export-with-smart-quotes t.
	* Design.org, Manual.org, Index.org: Sixteen first uses linked to the
	glossary; Binary Eye 1.75.6 on Android 17; a string of quotes in the
	Manual reworded for the smart quotes.
	* Concept.org: The dates of the ISBN by country.
	* DevelopmentStandard.org: The glossary check and the kit.
	* FutureResearch.org, ResearchJournal.org, SessionHandoff.org: Five
	items closed; the services item with the Debian trial.
	* sppentry.8, sppgate.8, sppconsult.8, sppwork.8, spplist.1,
	spplabel.1, README, NEWS, VERSION: Version 0.43.0.

2026-11-03  Péter Felecan  <pfelecan@gmail.com>

	Release 0.42.0: the systemd units in /etc/systemd/system; the causes
	of a service missing after a reboot.

	* configure.ac: The default of --with-systemdunitdir is
	/etc/systemd/system (it was PREFIX/lib/systemd/system).
	* sapupra.service.in: The comment on the directory.
	* Manual.org: "After a reboot" (not enabled; the wait for the
	network; a unit on a filesystem mounted late), "Service files".
	* DevelopmentStandard.org: The units on the root filesystem.
	* FutureResearch.org, ResearchJournal.org, SessionHandoff.org: The
	services item with the trial of 2026-11-03.
	* sppentry.8, sppgate.8, sppconsult.8, sppwork.8, spplist.1,
	spplabel.1, README, NEWS, VERSION: Version 0.42.0.

2026-11-03  Péter Felecan  <pfelecan@gmail.com>

	Release 0.41.0: a section after a reboot; the size of a new catalogue;
	the open items rewritten.

	* Manual.org: "After a reboot" (is-enabled, enable, journalctl -b,
	the wait for the network); the 128 KiB of a new catalogue explained
	and the sentence on one page corrected.
	* FutureResearch.org: every open item in the same short shape; the
	decision on the inventory recorded and removed from Decisions; the
	services item with the report of the reboot.
	* DevelopmentStandard.org: the shape of an open item.
	* ResearchJournal.org, SessionHandoff.org, NEWS, README, VERSION,
	sppentry.8, sppgate.8, sppconsult.8, sppwork.8, spplist.1, spplabel.1:
	Version 0.41.0.

2026-11-03  Péter Felecan  <pfelecan@gmail.com>

	Release 0.40.0: the default directory of the catalogue follows the
	service files; the Manual's Debian broker; two open items explained.

	* configure.ac, Makefile.am: --with-databasedir (default
	/var/lib/sapupra with the systemd units, /var/db/sapupra with the rc
	scripts, else LOCALSTATEDIR/sapupra); SAPUPRA_DATABASEDIR replaces
	SAPUPRA_LOCALSTATEDIR.
	* sppwork.cpp, sppentry.cpp, sppconsult.cpp, spplist.cpp: The default
	of [database] file.
	* sapupra.ini.sample, sppwork.8, sppentry.8, sppconsult.8: The same,
	in the comments and the manual pages.
	* Manual.org: pwfile and the same configuration of the broker on
	Debian and on FreeBSD; the default of [database] file; who makes
	/var/lib/sapupra.
	* FutureResearch.org, SessionHandoff.org: The items on the inventory
	pages and on names and articles in plain words; the decision on the
	inventory; the services item with the author's trial of 2026-11-03.
	* sppentry.8, sppgate.8, sppconsult.8, sppwork.8, spplist.1,
	spplabel.1, README, NEWS, ResearchJournal.org, VERSION: Version
	0.40.0.

2026-11-03  Péter Felecan  <pfelecan@gmail.com>

	Release 0.39.0: the HTML device of groff; the gateway publishes
	through InputPublisher.

	* configure.ac: Tries groff -Thtml (AC_MSG_CHECKING that groff can
	write HTML); a groff without the device is a missing prerequisite,
	with the Debian package groff to install.
	* man2htmldoc: groff runs alone, to a file, and its status is
	tested; no page is written when it fails.
	* InputPublisher.h, InputPublisher.cpp: The signals handedOver,
	receiptReceived and workerStatusReceived; abandon(); the mid of
	each publication.
	* Gateway.h, Gateway.cpp: The copy of the publishing logic is gone;
	the gateway keeps the exchange, the client and the deadline of each
	input (Waiting) and publishes through an InputPublisher.
	* InputPublisherTest.cpp, GatewayTest.cpp, Makefile.am,
	.tar-exclude: The new test; workerGoes(), phoneLeaves().
	* Design.org, Manual.org, DevelopmentStandard.org, README,
	FutureResearch.org: The gateway and the publisher; the device of
	groff; the item closed.
	* sppentry.8, sppgate.8, sppconsult.8, sppwork.8, spplist.1,
	spplabel.1, NEWS, ResearchJournal.org, SessionHandoff.org, VERSION:
	Version 0.39.0.

2026-11-02  Péter Felecan  <pfelecan@gmail.com>

	Release 0.38.0: the method HEAD; a place for each browser; the note
	of the titles in the conditional.

	* HttpServer.h, HttpServer.cpp, HttpServerTest.cpp: HEAD is parsed as
	a GET with HttpRequest::mHead set; the exchange and the errors of the
	server leave the body out (HttpResponse::serialize(pHeadOnly));
	HttpRequest::methodName() for the logs.
	* Entry.h, Entry.cpp: Allow: GET, HEAD; the place of a browser
	(browserPlace(), withBrowserPlace(), postBrowserPlace(), the form
	of /places/devices, the lists of the forms of /new and /search).
	* EntryTest.cpp, GatewayTest.cpp: HEAD; browserPlace.
	* Listing.cpp, fr.po, sapupra.pot: The note of the titles, as an
	example in the conditional; four sentences.
	* Manual.org, Design.org, FutureResearch.org: HEAD, the place of a
	browser; the two items closed; the item InputPublisher looked at again.
	* sppentry.8, sppgate.8, sppconsult.8, sppwork.8, spplist.1,
	spplabel.1, README, NEWS, ResearchJournal.org, SessionHandoff.org,
	VERSION: Version 0.38.0.

2026-11-02  Péter Felecan  <pfelecan@gmail.com>

	Release 0.37.0: sppconsult, the catalogue to read behind a proxy; sudo;
	Caddy and nginx.

	* sppconsult.cpp, sppconsult.8, Makefile.am, sapupra.service.in,
	Index.org: The program that consults; its service files (the lines
	that shut it in), its manual page.
	* Entry.h, Entry.cpp, EntryCatalogue.cpp, Html.h, Html.cpp: The mode
	that only consults (EntrySettings::mReadOnly): the routes, the limits,
	the headers, the pages without forms and commands, the bar and the
	footer.
	* Catalogue.h, Catalogue.cpp, CatalogueTest.cpp: setSearchLimit(),
	searchTimedOut(); the test.
	* EntryTest.cpp: consultingOnly.
	* sapupra.ini.sample: The section [consult].
	* fr.po, sapupra.pot: Six sentences.
	* Manual.org, Design.org: Reaching the catalogue from outside (Caddy,
	nginx, sppconsult), running commands as sapupra (sudoers), the
	design of the consultation program.
	* DevelopmentStandard.org: What a Delivery Must Run.
	* FutureResearch.org: The decision taken; two items.
	* sppentry.8, sppgate.8, sppwork.8, spplist.1, spplabel.1, README,
	ResearchJournal.org, SessionHandoff.org, NEWS, VERSION: Version
	0.37.0.

2026-11-02  Péter Felecan  <pfelecan@gmail.com>

	Release 0.36.0: the note of the titles in French, the backup by an
	ordinary account, the door of a consultation from outside.

	* fr.po: The note above the list of titles of spplist.
	* Manual.org, Design.org: The backup by an ordinary account, the
	cases where it fails and the ones where a copy of the file is right;
	the weighing of a proxy built into the read-only instance.
	* FutureResearch.org: The decision on the door of a consultation
	from outside.
	* sppentry.8, sppgate.8, sppwork.8, spplist.1, spplabel.1, README,
	ResearchJournal.org, SessionHandoff.org, NEWS, VERSION: Version
	0.36.0.

2026-11-02  Péter Felecan  <pfelecan@gmail.com>

	Release 0.35.0: the secrets apart, the files of the database, the
	catalogue as the landing page, the code of a place on the screen.

	* Config.h, Config.cpp, ConfigTest.cpp: loadWithSecrets() reads
	sapupra.secret.ini beside the main file, whose values win; notices()
	says when the main file is world-readable and holds a secret.
	* sppgate.cpp, sppwork.cpp, sppentry.cpp: Use loadWithSecrets().
	* sapupra.ini.sample, sapupra.secret.ini.sample, Makefile.am: The
	passwords leave the main sample; the secret sample is installed.
	* sapupra.service.in: StateDirectoryMode=0755, UMask=0022.
	* Catalogue.h, Catalogue.cpp, CatalogueTest.cpp, WorkerTest.cpp: The
	writer empties the log at close (wal_checkpoint TRUNCATE);
	openReadOnly() has distinct messages and an immutable fallback.
	* Entry.h, Entry.cpp, EntryCatalogue.cpp, Html.cpp, EntryTest.cpp: "/"
	redirects to /catalogue, the list of what waits is /todo; the
	code of a place on the screen (/places/code); "Clear" is "Reset".
	* configure.ac, Makefile.am: ZINT_DEFS; Barcode is linked into
	sppentry and EntryTest.
	* Labels.h, Labels.cpp, LabelsTest.cpp, spplabel.cpp, spplabel.1:
	The warning for the page options given with --plain; picture() draws
	a code as an inline SVG.
	* Listing.cpp: The note above the list of titles.
	* fr.po, sapupra.pot: Réinitialiser, the note, the code of a place.
	* Manual.org, Design.org, sppgate.8, sppwork.8, sppentry.8,
	spplist.1: The modes, the files of the database, access from
	outside, the landing page.
	* FutureResearch.org, ResearchJournal.org, SessionHandoff.org, NEWS,
	README, VERSION: Version 0.35.0.

2026-10-31  Péter Felecan  <pfelecan@gmail.com>

	Release 0.34.1: the build with clang (FreeBSD).

	* Catalogue.cpp, Listing.cpp: The QCollator was declared with a
	temporary QLocale as its argument, which clang reads as a
	function declaration (-Wvexing-parse, an error under -Werror); the
	locale is a variable of its own.
	* DevelopmentStandard.org: The tree check also builds with clang++.
	* sppentry.8, sppgate.8, sppwork.8, spplist.1, README,
	FutureResearch.org, ResearchJournal.org, SessionHandoff.org, NEWS,
	VERSION: Version 0.34.1.

2026-10-31  Péter Felecan  <pfelecan@gmail.com>

	Release 0.34.0: the printed lists (spplist); a generator of
	invented catalogues (sppgen); the answers sortable; seven, plus or
	minus two.

	* Listing.h, Listing.cpp, ListingTest.cpp: The catalogue as an Org
	document of three tables (by author, by title, by location); the
	names turned about; the cells protected for Org.
	* spplist.cpp, spplist.1: The command (-t, -o, -D, -c, --title,
	--language, --as-written, --no-date).
	* Generator.h, Generator.cpp, GeneratorTest.cpp, sppgen.cpp: A
	catalogue of n invented books (seeded), entered as the worker does.
	* Catalogue.h, Catalogue.cpp, CatalogueTest.cpp: Query::mSort and
	mDescending; sortKeys(); items() sorted with QCollator in the
	language of the pages; listing(); the base order by item.
	* EntryCatalogue.cpp, Entry.cpp, Entry.h, EntryTest.cpp: The
	headings of the columns sort (sort, order; aria-sort); the advanced
	search in four groups; the new item in two; the places on the home
	as a folded tree; the tests sortedResults and
	groupsOfNoMoreThanNine.
	* Makefile.am: libsppwork with Listing and Generator; spplist in
	bin_PROGRAMS, sppgen in noinst_PROGRAMS; the tests; the page
	spplist.1.
	* sapupra.pot, fr.po: The new sentences, in French.
	* Design.org: no dates; "Several users at once" introduced by its
	subject only; a section for the QString::arg() fault; the printed
	lists, the invented catalogue, the order of the answer, seven plus
	or minus two.
	* Manual.org, Index.org, sppentry.8, sppgate.8, sppwork.8,
	FutureResearch.org, ResearchJournal.org, SessionHandoff.org, NEWS,
	README, VERSION: Version 0.34.0 and its documentation.

2026-10-31  Péter Felecan  <pfelecan@gmail.com>

	Release 0.33.0: several users at once; a place with a slash; the
	places in four pages; the manual entry; the new item shown.

	* Worker.h, Worker.cpp, WorkerTest.cpp: A lock file beside the
	database (QLockFile): one worker for a database; the arguments of
	the messages in one call; the test severalUsers.
	* HttpResolver.cpp, Config.cpp: Arguments of the messages in one
	call (a "%2" inside an inserted text was filled by the next arg).
	* Entry.h, Entry.cpp: The places in four pages (/places,
	/places/manage, /places/devices, /places/labels), placesNav,
	placeLabelCommand; deviceName ("manual entry"), the default device
	preselected; the result of a settled scan redirects to the page of
	the item; the pointer to /New item/ on /Look up/.
	* EntryCatalogue.cpp: The place link built in one
	call; the label of a place on the result of a search by place; the
	item number row; the column Copy only for several copies; the
	banner of a new item; the counts "%n item".
	* Html.cpp: pre and code do not enlarge the page; the titles of the
	pages of the places.
	* EntryTest.cpp: deepLocation, severalCopies, newItemShown and the
	expectations changed.
	* sapupra.pot, fr.po: document / exemplaire, "manual entry".
	* sppwork.8, sppentry.8, sppgate.8, Design.org, Manual.org,
	FutureResearch.org, ResearchJournal.org, SessionHandoff.org, NEWS,
	README, VERSION: Version 0.33.0 and its documentation.

2026-10-30  Péter Felecan  <pfelecan@gmail.com>

	Release 0.32.0: the DNB and the Library of Congress as sources; the
	authors of a work; the source of a description.

	* DnbResolver.h, DnbResolver.cpp, DnbResolverTest.cpp,
	dnb-kafka.xml, dnb-none.xml: The DNB, by SRU (MARC21-xml).
	* Z3950Resolver.h, Z3950Resolver.cpp, Z3950ResolverTest.cpp: The
	target loc.
	* Marc.cpp, MarcTest.cpp, loc-rushdie.mrc: Publisher relators are
	not contributors; the 264 with a place; composed text; the LC's
	record.
	* OpenLibraryResolver.h, OpenLibraryResolver.cpp, FakeOpenLibrary.h,
	OpenLibraryResolverTest.cpp: The authors of the work of an edition
	with none.
	* sppwork.cpp, sapupra.ini.sample: dnb, loc, the default orders by
	group, loc.address.
	* Catalogue.h, Catalogue.cpp, Vocabulary.h, Vocabulary.cpp,
	EntryCatalogue.cpp and their tests: The source of a description.
	* Entry.cpp, Worker.cpp, Catalogue.h, sapupra.pot, fr.po: "Nothing
	needs your attention".
	* Makefile.am, sppwork.8, sppentry.8, sppgate.8, Design.org,
	Manual.org, FutureResearch.org, ResearchJournal.org,
	SessionHandoff.org, Concept.org, NEWS, README, VERSION: Version
	0.32.0 and its documentation.

2026-10-30  Péter Felecan  <pfelecan@gmail.com>

	Release 0.31.0: removing copies; deleting places; one page for
	the places.

	* Message.h, Message.cpp, MessageTest.cpp: The kinds remove and
	restore, the statuses removed and restored, the field reason, the
	action delete.
	* Catalogue.h, Catalogue.cpp, CatalogueTest.cpp: Schema 5
	(item.removed, item.removal, the filter of the view); removeItem,
	restoreItem, removal, removedItems, itemExists, deletePlace.
	* Worker.h, Worker.cpp, WorkerTest.cpp: processRemoval; the action
	delete of processPlace; the label of a removed copy; the move of a
	copy by a label with a place.
	* Vocabulary.h, Vocabulary.cpp, VocabularyTest.cpp: The kind of an
	input and the reason of a removal.
	* Entry.h, Entry.cpp, EntryCatalogue.cpp, Html.cpp, EntryTest.cpp:
	The page /Places/ takes the location of the devices; /Location/
	leads to it; /Removed/; the forms remove, restore and move on the
	page of a copy.
	* sapupra.pot, fr.po: The new sentences.
	* sppentry.8, sppwork.8, Design.org, Manual.org, FutureResearch.org,
	ResearchJournal.org, SessionHandoff.org, NEWS, README, VERSION:
	Version 0.31.0 and its documentation.

2026-10-30  Péter Felecan  <pfelecan@gmail.com>

	Release 0.30.0: places made on purpose; the labels of items
	scanned; the Z39.50 search by author and title; libzint on
	FreeBSD.

	* Message.h, Message.cpp, MessageTest.cpp: The kinds label and
	place, the statuses labelled, unknown and placed, the fields place
	and action, their validation.
	* Catalogue.h, Catalogue.cpp, CatalogueTest.cpp: Schema 4; a place
	exists once made (makePlace, movePlace, isPlace, places); the
	device's location and the item's place are separate; putItem,
	itemPlace, visits.
	* Worker.h, Worker.cpp, WorkerTest.cpp: processLocation refuses an
	unknown place; processPlace; processLabel; the place of an item.
	* Gateway.h, Gateway.cpp, sppgate.cpp, GatewayTest.cpp: The label of
	an item (422 for a misread one); the verdict of the worker answers a
	location; [items] prefix.
	* Entry.h, Entry.cpp, EntryCatalogue.cpp, Html.cpp, EntryTest.cpp:
	The page /Places/; the place of an item on the forms; /Location/
	among the places made; the visits of a label on the page of an item;
	the import makes the unmade places.
	* Z3950Resolver.h, Z3950Resolver.cpp, Z3950Backend.cpp,
	Z3950ResolverTest.cpp, oszk-kabos.mrc: The search by author (1003) and
	title (4), the count of records clamped to the hits; the fixture.
	* configure.ac, Makefile.am: libzint looked for in /usr/local and
	/opt/local; --with-zint=DIR; ZINT_CFLAGS.
	* sapupra.pot, fr.po: The new sentences.
	* sapupra.ini.sample, sppgate.8, sppwork.8, sppentry.8, spplabel.1,
	Design.org, Manual.org, FutureResearch.org, ResearchJournal.org,
	SessionHandoff.org, README, NEWS, VERSION: Documents and version.

2026-10-29  Péter Felecan  <pfelecan@gmail.com>

	Release 0.29.0: spplabel, the printer of labels; a location is a
	path; the label of an item; the second run of the OSZK.

	* Labels.h, Labels.cpp: New. The labels and their layout on pages
	of SVG (a grid, a skip, the text wrapped, the plain mode), whatever
	draws the codes.
	* Barcode.h, Barcode.cpp: New. The encoder of libzint: the
	rectangles of a QR code, a Data Matrix, an Aztec code or a Code
	128, in modules, UTF-8 announced.
	* spplabel.cpp, spplabel.1: New. The command, its options and its
	manual page.
	* LabelsTest.cpp, BarcodeTest.cpp: New. 16 and 9 tests.
	* Code.h, Code.cpp: The paths of the locations (the normal form, the
	parts, within), the label of an item (the code, Luhn's digit, the
	check that says not a label, misread or good).
	* CodeTest.cpp: The paths and the labels of items, 2000 round
	trips, the misreads of one digit.
	* Catalogue.h, Catalogue.cpp, CatalogueTest.cpp: A location is
	normalised; a search for a place finds the places below it; the
	counts list every ancestor; the test locationTree.
	* Entry.h, sppentry.cpp: [items] prefix, refused empty or like the
	location prefix.
	* EntryCatalogue.cpp, EntryTest.cpp: The page of an item shows the
	code of its label and the command that prints it, in English and in
	French.
	* sapupra.pot, fr.po: 287 sentences.
	* Marc.cpp, MarcTest.cpp, oszk-shelf2.mrc: The Hungarian roles
	ford., szerk., bev.; the five records of the second run.
	* configure.ac, Makefile.am: libzint looked for (--with-zint);
	spplabel in bindir, its page, LabelsTest, BarcodeTest, the page in
	MAN_PAGES and MAN_HTML.
	* sapupra.ini.sample: Paths in [locations]; [items] prefix.
	* Design.org, Manual.org, FutureResearch.org, ResearchJournal.org,
	SessionHandoff.org, Index.org, README, NEWS, sppgate.8, sppwork.8,
	sppentry.8, VERSION: Documents and version.

2026-10-29  Péter Felecan  <pfelecan@gmail.com>

	Release 0.28.0: the French corrected; the words of the data said
	in the language of the page; the OSZK's records as a test; the
	labels of our own: QR codes, the two ways, the options.

	* Vocabulary.h, Vocabulary.cpp: New. The medium, the origin, the
	role and the language said in the language of the page; the
	forty-five languages with their ISO 639-2 codes; the terms under
	which a language is searched.
	* VocabularyTest.cpp: New.
	* Catalogue.cpp, CatalogueTest.cpp: The language filter takes the
	code, the English name and the name of the page.
	* Entry.cpp, EntryCatalogue.cpp, Html.cpp: The sentences reworded
	(the works and editions, the scan device, the history import, the
	empty catalogue, the patterns); the vocabulary used for the medium,
	the origin, the roles and the languages.
	* fr.po, sapupra.pot: The corrections of the author; 286 sentences;
	Project-Id-Version sapupra $Revision: 98 $.
	* Makefile.am: Vocabulary in the library and the tests; the pot
	target writes the keyword; oszk-shelf.mrc in EXTRA_DIST.
	* oszk-shelf.mrc: New. The OSZK's answer of the author, a fixture.
	* MarcTest.cpp: The test oszkShelf.
	* FutureResearch.org: The item for the search by author and title
	in Z39.50 is unblocked and first; the translation and labels items;
	the Decisions (option D); the second request for the OSZK.
	* Design.org: The words of the data; the French; the options of
	spplabel; what a QR code holds; the two ways; where the locations
	are.
	* ResearchJournal.org, Manual.org, SessionHandoff.org, README,
	NEWS, sppentry.8, sppgate.8, sppwork.8, VERSION: Documents and
	version.

2026-10-29  Péter Felecan  <pfelecan@gmail.com>

	Release 0.27.0: the pages in French (gettext catalogues read by
	the programs themselves); the labels of our own designed; the
	book of the shelves that no source knows.

	* Translation.h, Translation.cpp: New. The language of the pages;
	the reader of the .mo catalogues, with the plural rules.
	* TranslationTest.cpp: New. Languages, plural rules, bad
	catalogues, the French catalogue sound.
	* Entry.cpp, EntryCatalogue.cpp, Html.cpp, Gateway.cpp: The
	sentences marked (_, _n, N_, T_), whole, with their places; the
	attribute lang; sppentry.cpp, sppgate.cpp choose the language.
	* sapupra.pot, fr.po: New. 223 sentences.
	* configure.ac, Makefile.am: The tools of gettext looked for;
	pot, update-po, check-translation, the catalogues built and
	installed.
	* sapupra.ini.sample: The section [interface].
	* EntryTest.cpp: The pages in French; the wording of the counts.
	* FakeSources.h, OpenLibraryResolverTest.cpp, BnfResolverTest.cpp:
	The two answers for the book of the shelves.
	* FutureResearch.org: The translation item; the item for the
	search by author and title in Z39.50; the labels item; the
	Decisions (the labels); the request for the OSZK.
	* ResearchJournal.org, Design.org, Manual.org, SessionHandoff.org,
	README, NEWS, sppentry.8, sppgate.8, sppwork.8, VERSION: Documents
	and version.

2026-10-29  Péter Felecan  <pfelecan@gmail.com>

	Release 0.26.0: the catalogue search loses its first field
	(Anywhere); gettext chosen for the translation; the look kept.

	* Catalogue.h, Catalogue.cpp: Query::mWords and ftsQuery removed;
	the table edition_fts is kept for Datasette.
	* EntryCatalogue.cpp, Html.cpp: The parameter q and the field
	Anywhere removed from the pages, the address, the description of
	a search; the grid class of the field removed; the no-hit text.
	* CatalogueTest.cpp, EntryTest.cpp: The checks of the words
	converted to the title, author and ISBN fields.
	* FutureResearch.org: The look item closed, the Decisions section
	empty, the translation item (gettext), the request for the search
	by author and title rewritten.
	* ResearchJournal.org, Design.org, Manual.org, SessionHandoff.org,
	README, NEWS, sppentry.8, sppgate.8, sppwork.8, VERSION: Documents
	and version.

2026-10-29  Péter Felecan  <pfelecan@gmail.com>

	Release 0.25.0: a new look for the pages of the entry module;
	gettext and the Qt tools compared for the translation.

	* Html.cpp: The style sheet; the frame (bar with the current entry,
	card, foot).
	* Entry.cpp, EntryCatalogue.cpp: Classes for the grid of the
	forms, the buttons, the columns that a phone leaves out, the
	to-do table.
	* HtmlTest.cpp, EntryTest.cpp: Tests of the bar, of the style sheet
	and of the marked markup.
	* FutureResearch.org: The look item and the translation item, the
	section Decisions (the framework of the translation); the
	Romanian item and the requests brought up to date.
	* ResearchJournal.org, Design.org, Manual.org, SessionHandoff.org,
	README, NEWS, sppentry.8, sppgate.8, sppwork.8, VERSION: Documents
	and version.

2026-10-28  Péter Felecan  <pfelecan@gmail.com>

	Release 0.24.0: documents only. Google Books weighed, the
	Romanian national library's Z39.50 found stated, three new open
	items (look of the pages, Google Books, translation of the
	interface).

	* FutureResearch.org: The items A nicer and more compact look for
	the pages, Google Books as a source, Translating the interface; A
	catalogue for Romanian books worked and waiting; two requests to run.
	* ResearchJournal.org, Design.org, SessionHandoff.org, README,
	NEWS, sppentry.8, sppgate.8, sppwork.8, VERSION: Documents and
	version.

2026-10-28  Péter Felecan  <pfelecan@gmail.com>

	Release 0.23.0: the version on every page, a search that shows its
	result, the no-hit message, a Clear button; more document checks.

	* Html.cpp: The footer with the program and its version; styles.
	* Entry.cpp: Cache-Control: no-store on the pages.
	* EntryCatalogue.cpp: Form to #result, details, Result heading,
	what was asked, No hit, the empty form, the Clear link.
	* Catalogue.cpp: Words without a word find nothing.
	* HtmlTest.cpp, CatalogueTest.cpp, EntryTest.cpp: Tests.
	* orgdoc-check, orgdoc-check.1: The rules caption, label, link,
	list and decisions.
	* FutureResearch.org, ResearchJournal.org, Manual.org, Design.org,
	DevelopmentStandard.org, SessionHandoff.org, README, NEWS, sppentry.8,
	sppgate.8, sppwork.8, VERSION: Documents and version.

2026-10-28  Péter Felecan  <pfelecan@gmail.com>

	Release 0.22.0: a field for each attribute in the catalogue
	search, a simple page and an advanced one.

	* Catalogue.cpp, Catalogue.h (Query, patternAttributes, problems,
	items, itemsFound, originFacets, matching): The search by
	attribute; the patternError, patternRows and the old items and
	itemsFound are gone.
	* EntryCatalogue.cpp, Entry.cpp, Entry.h (catalogueForm, route
	/catalogue/advanced): The simple and advanced forms, the fields in
	the address, the page links, the CSV file.
	* CatalogueTest.cpp, EntryTest.cpp: Tests for every field, the years,
	the copies, the days, the origins, the invalid fields, the pages;
	the speed on 30000 editions.
	* Manual.org, Design.org, FutureResearch.org, ResearchJournal.org,
	SessionHandoff.org, README, NEWS, sppentry.8, sppgate.8, sppwork.8,
	VERSION: Documents and version.

2026-10-28  Péter Felecan  <pfelecan@gmail.com>

	Release 0.21.0: documents only; the SBN decision; the proposal of
	the search by attribute.

	* FutureResearch.org, ResearchJournal.org, SessionHandoff.org,
	Design.org, Manual.org, README, NEWS, sppentry.8, sppgate.8,
	sppwork.8, VERSION: Documents and version.

2026-10-28  Péter Felecan  <pfelecan@gmail.com>

	Release 0.20.0: a pattern in the catalogue search; the records of
	an ambiguous scan kept and offered; the packages of the prerequisites.

	* Catalogue.cpp, Catalogue.h (patternError, patternRows, items,
	itemsFound; setCandidates, candidates; schema version 3, table
	candidate; the ISBN of the scan given to the edition): New and
	changed.
	* EntryCatalogue.cpp: The field re, its error, its links and CSV.
	* Entry.cpp, Entry.h (ambiguousChoice, postInputChoose, candidates):
	The records of an ambiguous scan, the route /input/ID/choose.
	* Worker.cpp: The records of an ambiguous answer are kept.
	* configure.ac: The notice about YAZ names the package; the Z39.50
	sources said again at the end.
	* CatalogueTest.cpp, EntryTest.cpp, WorkerTest.cpp: Tests.
	* Manual.org, Design.org, README, NEWS, FutureResearch.org,
	ResearchJournal.org, SessionHandoff.org, sppentry.8, sppgate.8,
	sppwork.8, VERSION: Documents and version.

2026-10-28  Péter Felecan  <pfelecan@gmail.com>

	Release 0.19.0: the Z39.50 sources of Hungary and Italy; the search
	syntax documented; the phone's messages in ordinary capitals.

	* Marc.cpp, Marc.h: New. MARC 21 and UNIMARC records (MARCXML and
	ISO 2709) read into a Record.
	* Z3950Resolver.cpp, Z3950Resolver.h: New. The sources oszk and sbn,
	by YAZ, one thread for each request.
	* Z3950Backend.cpp: New. The Z39.50 server of the tests.
	* FakeMarc.h: New. The raw records of the OSZK and of SBN.
	* MarcTest.cpp, Z3950ResolverTest.cpp: New. Tests.
	* configure.ac, Makefile.am: --with-yaz, the new sources and tests.
	* sppwork.cpp: The sources oszk and sbn, their addresses and the
	routes by ISBN prefix.
	* Catalogue.cpp, EntryCatalogue.cpp, CatalogueTest.cpp,
	EntryTest.cpp: An ISBN or a barcode typed alone finds the edition.
	* Gateway.cpp, GatewayTest.cpp, Worker.cpp, WorkerTest.cpp: The
	messages of the phone in ordinary capitals.
	* sapupra.ini.sample, sppentry.8, sppgate.8, sppwork.8, Manual.org,
	Design.org, README, NEWS, FutureResearch.org, ResearchJournal.org,
	SessionHandoff.org, VERSION: Documents and version.

2026-10-28  Péter Felecan  <pfelecan@gmail.com>

	Release 0.18.0: the catalogue pages; the search seen against the
	real answers; the clearer decision for a book already catalogued.

	* Catalogue.cpp, Catalogue.h (ftsQuery, items, itemsFound,
	locationFacets, mediumFacets, editionOf, copies): The queries of
	the catalogue pages.
	* EntryCatalogue.cpp, Entry.cpp, Entry.h, Html.cpp: /catalogue,
	/catalogue/item/ID, /catalogue.csv; the button Catalogue; "Look up";
	the page of a held scan, with two buttons that say what they do;
	/todo/discard-copies; the request in the debug log; the chosen
	book with an ISBN comes back as an isbn input.
	* Worker.cpp: The text of the held scan and of its dismissal.
	* BnfResolver.cpp: The " / author" suffix of a title is cut.
	* FakeSources.h, FakeOpenLibrary.h: The real answers of the search.
	* CatalogueTest.cpp, EntryTest.cpp, WorkerTest.cpp,
	BnfResolverTest.cpp, OpenLibraryResolverTest.cpp: Tests.
	* Makefile.am: EntryCatalogue.cpp.
	* Manual.org, Design.org, sppentry.8, sppgate.8, sppwork.8, README,
	NEWS, FutureResearch.org, ResearchJournal.org, SessionHandoff.org:
	Documents.

2026-10-27  Péter Felecan  <pfelecan@gmail.com>

	Release 0.17.0: search by author and title; the copies setting,
	dismissing; retries of silent sources; service files installed.

	* Resolver.cpp, Resolver.h (canSearch, searchBy, startSearch,
	queryText): New. The search of a resolver.
	* BnfResolver.cpp, BnfResolver.h, OpenLibraryResolver.cpp,
	OpenLibraryResolver.h (parseSearch): Search by SRU and by
	/search.json.
	* HttpResolver.cpp, HttpResolver.h (setAttemptMs, fetch): A silent
	attempt is abandoned and asked again. MusicBrainzResolver.cpp uses
	fetch.
	* Worker.cpp, Worker.h (processSearch, askNextSearch, copies,
	finishLookup, joinsLookup, release, processCopy, processDismiss):
	The search; the copies policy; the race of the rescan in flight.
	* Catalogue.cpp, Catalogue.h (schema 2, upgrade, setEdition,
	firstItem, itemCount): The column input.edition.
	* Message.cpp, Message.h: Kinds copy and dismiss; statuses
	another-copy and dismissed.
	* Entry.cpp, Entry.h, Html.cpp: /search, /result/ID/choose, the
	pages of copy and dismiss, the doorways, the navigation buttons.
	* sppwork.cpp, sapupra.ini.sample, sppwork.8: copies, attempt,
	search. sppentry.8, sppgate.8: version.
	* configure.ac, Makefile.am: --with-service-files, --with-rcdir,
	--with-systemdunitdir; the service files installed and removed;
	DevelopmentStandard.org no longer installed.
	* sapupra.rc.in, sapupra.service.in: comments.
	* batch-init.el.in: lexical-binding cookie.
	* FakeOpenLibrary.h, FakeSources.h: search fixtures.
	* WorkerTest.cpp, EntryTest.cpp, BnfResolverTest.cpp,
	OpenLibraryResolverTest.cpp, MessageTest.cpp, CatalogueTest.cpp:
	tests of the above.
	* Design.org, Manual.org, Index.org: the above.
	* VERSION: 0.17.0.
	* ResearchJournal.org, FutureResearch.org, SessionHandoff.org,
	README, NEWS: 0.17.0.

2026-10-27  Péter Felecan  <pfelecan@gmail.com>

	Release 0.16.0: the entry module; stale files warned of; the
	documentation installed as PDF; Note.org ignored.

	* HttpForm.cpp, HttpForm.h: New. Forms and query strings.
	* Html.cpp, Html.h: New. The pages' escaping and layout.
	* InputPublisher.cpp, InputPublisher.h: New. Publishes inputs and
	follows receipts, verdicts and the worker's presence.
	* HistoryImport.cpp, HistoryImport.h: New. Binary Eye's history.
	* Entry.cpp, Entry.h, sppentry.cpp, sppentry.8: New. The entry
	module and its program.
	* HttpFormTest.cpp, HtmlTest.cpp, HistoryImportTest.cpp,
	EntryTest.cpp: New.
	* Catalogue.cpp, Catalogue.h (openReadOnly, todo, retrying, recent,
	neighbours, waitingByCode, hasScan, devices, locationNames,
	itemLine): New.
	* CatalogueTest.cpp (readOnly, forTheEntryModule): New.
	* Makefile.am: sppentry, its man page, rc script, unit and tests;
	stale-warn before all, check and install-data; the PDF documents
	installed, not the Org-mode ones.
	* stale-files: --warn quiet when nothing is stale; help.
	* orgdoc-check, batch-init.el.in, .tar-exclude: Note.org ignored.
	* sapupra.ini.sample: [entry]. sppgate.8, sppwork.8: version.
	* Index.org, Manual.org, Design.org: the entry module; the PDF
	install.
	* VERSION: 0.16.0.
	* ResearchJournal.org, FutureResearch.org, SessionHandoff.org,
	README, NEWS: 0.16.0.

2026-10-27  Péter Felecan  <pfelecan@gmail.com>

	Release 0.15.0: a log level in the configuration; Open Library's
	timeout; the man page checked.

	* Log.cpp, Log.h (setLevel, levelNames, levelName,
	levelFromName): New. The level can change after the start.
	* LogTest.cpp (setLevel, names): New.
	* Config.cpp, Config.h (choice): New. One word of a list.
	* ConfigTest.cpp (choices): New.
	* sppgate.cpp, sppwork.cpp: [gateway] and [worker] log_level; -d
	and -q win over it. [sources] timeout 60 by default.
	* HttpResolver.h: The default timeout, 60 seconds.
	* sapupra.ini.sample: log_level in both sections; timeout=60.
	* sppwork.8, sppgate.8: log_level; timeout. Fix a form feed in
	sppwork.8 (line 159). Bump version.
	* Makefile.am: check-local runs groff -ww on the man pages;
	the libraries made with "ar cr".
	* datasette.yml.sample: hide_sql for the stored questions.
	* VERSION: 0.15.0.
	* Manual.org (Scanning with an Android phone, The level of the log,
	The web front, Trying the bibliographic sources by hand): As
	written.
	* Design.org (The web front, Configuration): Likewise.
	* ResearchJournal.org, FutureResearch.org, SessionHandoff.org,
	README, NEWS: 0.15.0.

2026-10-27  Péter Felecan  <pfelecan@gmail.com>

	Release 0.14.0: one set of service files; the BnF by ISBN-10;
	Open Library's timing; the web front with Datasette.

	* Code.cpp, Code.h (isbn13To10): New. 978 only, validated.
	* CodeTest.cpp: Likewise.
	* BnfResolver.cpp, BnfResolver.h: Ask again with the ISBN-10 when
	the ISBN-13 finds nothing; the sources of both answers are kept.
	* BnfResolverTest.cpp (notFound, isbn10): Likewise.
	* Config.cpp, Config.h (boolean): New. yes/no values.
	* ConfigTest.cpp (booleans): New.
	* HttpResolver.cpp, HttpResolver.h (setHttp2, setKeepAlive,
	elapsedMs): New. A debugging line for each request; "after N ms" in
	the failures.
	* OpenLibraryResolver.cpp: The failures through failure().
	* OpenLibraryResolverTest.cpp (realAuthors): New. (silence):
	The timing in the failure.
	* FakeSources.h: The author records of Kertész and Tănase.
	* sppwork.cpp: [sources] timeout, http2, keepalive.
	* sapupra.service.in, sapupra.rc.in: New. Replace sppgate.service.in,
	sppwork.service.in, sppgate.rc.in, sppwork.rc.in.
	* datasette.yml.sample: New.
	* sapupra.ini.sample: The three keys.
	* Makefile.am: The templates (one rule for each of the four files),
	the check of the generated files, datasette.yml.sample.
	* sppwork.8, sppgate.8: Likewise. Bump version.
	* VERSION: 0.14.0.
	* Manual.org (Scanning with an Android phone, Consulting the
	catalogue, The web front, Trying the bibliographic sources by hand,
	Starting, stopping and the order, The worker): As written.
	* Design.org (The web front, Sources, services): As written.
	* ResearchJournal.org, FutureResearch.org, SessionHandoff.org,
	README, NEWS: 0.14.0.

2026-10-27  Péter Felecan  <pfelecan@gmail.com>

	Release 0.13.0: the BnF and MusicBrainz; the log read on FreeBSD.

	* HttpResolver.cpp, HttpResolver.h: New. The common part of the
	sources reached by HTTP: User-Agent, timeout, redirections, no
	HTTP/2, Connection: close, the answer kept as received.
	* OpenLibraryResolver.cpp, OpenLibraryResolver.h: Derive from it.
	* BnfResolver.cpp, BnfResolver.h: New. SRU, Dublin Core.
	* MusicBrainzResolver.cpp, MusicBrainzResolver.h: New. By barcode.
	* FakeSources.h: New. The real answers of 2026-10-27, and fake BnF
	and MusicBrainz servers.
	* BnfResolverTest.cpp, MusicBrainzResolverTest.cpp: New.
	* OpenLibraryResolverTest.cpp (realEditions): New.
	* WorkerTest.cpp (severalSources): New.
	* LogTest.cpp: New.
	* Log.cpp (info): Log at notice, which FreeBSD's syslog.conf keeps;
	the time on the debugging lines of the standard error.
	* sppwork.cpp: The sources bnf and musicbrainz; default orders.
	* sapupra.ini.sample: Likewise.
	* sppwork.8, sppgate.8: Sources, time, syslog level. Bump version.
	* sppgate.service.in, sppwork.service.in, sppgate.rc.in,
	sppwork.rc.in: Comment on the order of start.
	* Makefile.am, .tar-exclude: The new classes and tests.
	* Manual.org (The worker, Trying it by hand): The command, the
	author's sessions; (Starting, stopping and the order): New;
	(Trying the bibliographic sources by hand): The yaz client.
	* Design.org (Resolvers and their order, Code layout): As written.
	* ResearchJournal.org, FutureResearch.org, SessionHandoff.org:
	0.13.0.
	* README, Index.org: Status.
	* VERSION: Bump to 0.13.0.
	* NEWS: Update for 0.13.0.

2026-10-26  Péter Felecan  <pfelecan@gmail.com>

	Release 0.12.0: the worker.

	* Record.cpp, Record.h: New. The normalized description of an
	edition, to and from JSON.
	* RecordTest.cpp: New.
	* Catalogue.cpp, Catalogue.h: New. The database: schema, recording,
	cataloguing in one transaction, queries, retries.
	* CatalogueTest.cpp: New.
	* Resolver.cpp, Resolver.h: New. A source, with its queue.
	* OpenLibraryResolver.cpp, OpenLibraryResolver.h: New. The first
	source.
	* OpenLibraryResolverTest.cpp, FakeOpenLibrary.h: New.
	* Worker.cpp, Worker.h: New. The messages, the order of the steps,
	the repetitions, the retries, the presence.
	* WorkerTest.cpp: New. The whole path.
	* sppwork.cpp: New. Options, configuration, signals.
	* Config.cpp, Config.h (list, keys): New. Lists and the keys of a
	section.
	* MqttClient.cpp, MqttClient.h (advice): New, shared by the
	programs.
	* Gateway.cpp (onConnectionFailed): Use it.
	* configure.ac: Qt SQL; the run-time probe of the SQLite driver,
	FTS5 and TLS.
	* Makefile.am: sppwork, libsppwork.a, the new tests, the service
	files, sppwork.8.
	* .tar-exclude: The new programs and tests.
	* sppwork.8, sppwork.service.in, sppwork.rc.in: New.
	* sapupra.ini.sample: [worker], [database], [sources].
	* sppgate.8: Bump version.
	* Design.org (The worker, The database, Configuration, Code
	layout): As written.
	* Manual.org (The worker): New. (Building the programs): The
	tests.
	* Index.org: sppwork(8).
	* README: Status.
	* ResearchJournal.org, FutureResearch.org, SessionHandoff.org:
	0.12.0.

2026-10-26  Péter Felecan  <pfelecan@gmail.com>

	Release 0.11.0: the configuration read as written; one name for
	the account.

	* Config.cpp, Config.h: Read the file without QSettings, each value
	as written; errors for malformed lines, values before any section
	and keys given twice.
	* ConfigTest.cpp (literalValues, malformed): New.
	* sppgate.cpp (readSettings): The client identifier is the account.
	* Gateway.h (GatewaySettings): Say so.
	* Gateway.cpp (start): Log the client identifier and the length of
	the password.
	* sapupra.ini.sample: Explicit addresses; the rule of the values.
	* configure.ac, README: FreeBSD's Noto Devanagari packages.
	* sppgate.8 (CONFIGURATION): The rule of the values; the client
	identifier. Bump version.
	* Design.org (Configuration): The reader of our own; the client
	identifiers.
	(Delivery): The worker's client identifier.
	* Manual.org (The account and the configuration): The rule of the
	values, the client identifier.
	(Trying it by hand): Check the account first; the gateway's
	password.
	(Checking the broker): Client identifier worker.
	* ResearchJournal.org: Add 0.11.0 entry.
	* FutureResearch.org (The gateway with a phone): The second trial.
	* orgdoc-check.1: Bump version.
	* VERSION: Bump to 0.11.0.
	* NEWS, SessionHandoff.org: Update for 0.11.0.

2026-10-26  Péter Felecan  <pfelecan@gmail.com>

	Release 0.10.0: configure checks every prerequisite; the gateway's
	connection errors told right.

	* configure.ac: Check every prerequisite of the documents and of
	the programs, and report the missing ones together; add
	--disable-pdf and --disable-html; require mosquitto.
	* Makefile.am (READER_ORG_DOCS, WORK_ORG_DOCS): New; install the
	reader documents only.
	(pdf-local, html-local): Refuse when left out by configure.
	* MqttClient.cpp, MqttClient.h: Read errno at once after each call
	of libmosquitto; errorText takes it; lastFailure, the kind of
	failure; connectionFailure, which finds the reason that
	libmosquitto 2.1 loses by a connection of Qt's own.
	* Gateway.cpp (onConnectionFailed): Advice by kind of failure.
	(start): Log the connection at debug level.
	* MqttClientTest.cpp (noBroker, refused): Check the reason and the
	kind of failure.
	* sapupra.ini.sample ([broker] host): The listener's address.
	* sppgate.8: Add DIAGNOSTICS; bump version.
	* Manual.org (The account and the configuration): Debian and
	FreeBSD listings.
	(Trying it by hand): Steps, terminals and outputs.
	(Building the programs): configure's checks.
	* DevelopmentStandard.org (Configure Checks Every Prerequisite)
	(Installation): New.
	* README (Build prerequisites, Building): As configure checks them.
	* ResearchJournal.org: Add 0.10.0 entry.
	* FutureResearch.org (The gateway with a phone): The first trial.
	(The gateway as a service on FreeBSD): Replaces Building and
	running the programs on FreeBSD.
	* orgdoc-check.1: Bump version.
	* VERSION: Bump to 0.10.0.
	* NEWS, SessionHandoff.org: Update for 0.10.0.

2026-10-26  Péter Felecan  <pfelecan@gmail.com>

	Release 0.9.0: the gateway; warnings are errors; decisions taken.

	* Gateway.cpp, Gateway.h, sppgate.cpp: New, the gateway sppgate.
	* SignalWatcher.cpp, SignalWatcher.h: New, in the library.
	* GatewayTest.cpp, SignalWatcherTest.cpp: New tests.
	* TestBroker.cpp, TestBroker.h: New, the broker of the tests, taken
	out of MqttClientTest.cpp.
	* Message.cpp, Message.h (Input): Add deviceTime.
	* MessageTest.cpp (scanRoundTrip): Read the time from text, not by
	a constructor that Qt 6.9 deprecates; check deviceTime.
	* sppgate.8, sppgate.service.in, sppgate.rc.in, sapupra.ini.sample:
	New.
	* configure.ac: Read the headers of Qt and libmosquitto as system
	headers; -Werror unless --disable-werror.
	* Makefile.am (sbin_PROGRAMS, man_MANS, sysconf_DATA)
	(SERVICE_FILES): New.
	(UNIT_TESTS): Add SignalWatcherTest and GatewayTest.
	(MAN_PAGES): Add sppgate.8, with a rule for section 8.
	* .tar-exclude: Add the new build byproducts.
	* Design.org (Running as services, HTTP, Location labels): Say what
	was decided.
	(Requests, Replies, Waiting for the verdict): As written.
	(Receipts, Importing Binary Eye's history): New.
	(Input, Tables): Add deviceTime and device_time.
	(Code layout): The gateway, SignalWatcher, the tests.
	* Manual.org (The gateway): Installation, trial, services.
	(Scanning with an Android phone: Binary Eye, At the shelf)
	(Locations): The gateway's URL and answers.
	(Building the programs): The gateway, -Werror, make install.
	* DevelopmentStandard.org (Warnings): New.
	(Decision Documentation): A decided matter in the design.
	(Manual Pages): Section 8 for a service.
	* Index.org (Manual pages): Add sppgate(8).
	* ResearchJournal.org: Add 0.9.0 entry.
	* FutureResearch.org (Requests to run): New section.
	(Write the worker, The gateway with a phone): New.
	(Building and running the programs on FreeBSD): Extended.
	(Decisions): The four taken.
	(Mosquitto on FreeBSD: the pid file): Closed.
	* orgdoc-check.1: Bump version.
	* VERSION: Bump to 0.9.0.
	* README, NEWS, SessionHandoff.org: Update for 0.9.0.

2026-10-26  Péter Felecan  <pfelecan@gmail.com>

	Release 0.8.0: the common library and its tests; decisions moved;
	the author's name restricted.

	* Code.cpp, Code.h, Config.cpp, Config.h, HttpServer.cpp,
	HttpServer.h, Log.cpp, Log.h, Message.cpp, Message.h,
	MqttClient.cpp, MqttClient.h: New, the common library.
	* CodeTest.cpp, MessageTest.cpp, ConfigTest.cpp,
	HttpServerTest.cpp, MqttClientTest.cpp: New, its unit tests.
	* configure.ac: Add --disable-programs; check for a C++17
	compiler, Qt 6, libmosquitto, moc and mosquitto.
	* Makefile.am (libsppcommon.a, UNIT_TESTS): New; moc rules.
	(MAINTAINERCLEANFILES): Add test-driver.
	(distclean-local): New, removes .deps.
	* .tar-exclude: Add the build byproducts of the programs.
	* Design.org (Scan devices, When a part is absent, Location labels)
	(Running as services): New.
	(Input): Add the table of kinds.
	(HTTP): Option B chosen.
	(Resolvers and their order): Name the Hungarian source.
	(Classification): Add EAN-8.
	(Statuses): Add located and found.
	(Configuration): Add the locations and label sections.
	(Code layout): libsppcommon.a; the table of the tests.
	(Decisions): Remove, moved to FutureResearch.org.
	* Concept.org (Glossary): Add scan device.
	* Manual.org (The pid file, Building the programs): New.
	* DevelopmentStandard.org: The member prefix m; unit tests; where
	the author's name may stand.
	* orgdoc-check: Report the author's name outside the journal and
	the future research list.
	* orgdoc-check.1: Likewise; bump version.
	* ResearchJournal.org: Add 0.8.0 entry.
	* FutureResearch.org (Decisions): New section.
	(Write the gateway, Building the programs on FreeBSD): New.
	(Mosquitto on FreeBSD: the pid file): The orphan broker.
	* Preamble.tex, batch-init.el.in, make-archive, man2htmldoc:
	Remove the author's name outside the copyright statements.
	* VERSION: Bump to 0.8.0.
	* README, NEWS, SessionHandoff.org: Update for 0.8.0.

2026-10-26  Péter Felecan  <pfelecan@gmail.com>

	Release 0.7.0: decisions of the design; pid file on FreeBSD.

	* VERSION: Bump to 0.7.0.
	* Design.org (Programs): Rename to sppgate, sppwork, sppentry;
	ports configurable.
	(Locations): Explain the prefix.
	(HTTP): Explain the two options.
	(Configuration): List the configurable values; add
	receipt_timeout.
	(Decisions): Rename from Decisions to take; record decisions.
	* Manual.org (On FreeBSD): Add pid_file; the account is tried.
	* ResearchJournal.org: Add 0.7.0 entry.
	* FutureResearch.org: Update the decisions item; replace the
	FreeBSD account item by the pid file item.
	* orgdoc-check.1: Bump version.
	* README, NEWS, SessionHandoff.org: Update for 0.7.0.

2026-10-26  Péter Felecan  <pfelecan@gmail.com>

	Release 0.6.0: design document.

	* VERSION: Bump to 0.6.0.
	* Design.org: New.
	* Makefile.am (ORG_DOCS): Add Design.org.
	* .tar-exclude: Add Design.tex.
	* Index.org, README: Add Design.org.
	* Concept.org (Introduction): Point to Design.org.
	(Architecture): Repeated scan of a waiting item.
	(Glossary): Add edition, input, receipt, verdict.
	* ResearchJournal.org: Add 0.6.0 entry.
	* FutureResearch.org: Replace the design item by the decisions of
	the design and the common library; record issue 694 and the
	iPhone requirement.
	* orgdoc-check.1: Bump version and date.
	* NEWS, SessionHandoff.org: Update for 0.6.0.

2026-10-23  Péter Felecan  <pfelecan@gmail.com>

	Release 0.5.0: phone connection diagnosed (Android 17).

	* VERSION: Bump to 0.5.0.
	* Manual.org (Scanning with an Android phone: Binary Eye): Add the
	Android 17 limitation.
	(Trying the phone without the gateway): Add Binary Eye's capture.
	(When the phone cannot connect): New, replacing the list of reasons.
	(The machine): Add firewall note.
	* ResearchJournal.org: Add 0.5.0 entry.
	* FutureResearch.org: Close the phone item; add Binary Eye on
	Android 17; add Binary Eye's message to the design item.
	* orgdoc-check.1: Bump version.
	* README, NEWS, SessionHandoff.org: Update for 0.5.0.

2026-10-23  Péter Felecan  <pfelecan@gmail.com>

	Release 0.4.0: locations by entry; Mosquitto on FreeBSD revised;
	test listener fixed.

	* VERSION: Bump to 0.4.0.
	* Concept.org (The collection): Present languages as an example.
	(Architecture): Location set by scan or entry, per device.
	(Glossary): Add Tools: Mosquitto, SQLite, FTS5, Datasette.
	* Manual.org (Locations): Likewise.
	(The broker: Mosquitto): Explain the three accounts.
	(On FreeBSD): Rewrite: account of its own, -c, configuration file.
	(Trying the phone without the gateway): Loop the listener, -4;
	add reasons of a failed connection.
	* ResearchJournal.org: Add 0.4.0 entry.
	* FutureResearch.org: Add phone trial item; re-scope FreeBSD item;
	add location messages to the design item.
	* orgdoc-check.1: Bump version.
	* README, NEWS, SessionHandoff.org: Update for 0.4.0.

2026-10-23  Péter Felecan  <pfelecan@gmail.com>

	Release 0.3.0: failure handling, entry module, Manual.org.

	* VERSION: Bump to 0.3.0.
	* Manual.org: New.
	* Makefile.am (ORG_DOCS): Add Manual.org.
	* .tar-exclude: Add Manual.tex.
	* orgdoc-check (reader_documents): Add Manual.org.
	* orgdoc-check.1 (RULES): Likewise.
	* Concept.org (The collection): Add periods of ISBN and barcodes.
	(Architecture): Add verdict at the shelf, scan statuses, entry
	module, single writer, implementation language.
	(Glossary): Add status, entry module, copy cataloguing.
	* fig-architecture.dot: Add entry module and verdicts.
	* ResearchJournal.org: Add 0.3.0 entry.
	* FutureResearch.org: Close language item; add design, ISBN
	adoption, Mosquitto on FreeBSD, shelf signal, own labels items.
	* DevelopmentStandard.org (File Naming): Record C++17 and Qt 6;
	naming of C++ sources.
	(Algebraic Abstract Languages): Add Qt class names.
	(Documentation deliverables and their voices): Add the manual.
	(Critical: Documentation Synchronization): Add the manual.
	* Index.org: Add Using and installing section.
	* README, NEWS, SessionHandoff.org: Update for 0.3.0.

2026-10-23  Péter Felecan  <pfelecan@gmail.com>

	Release 0.2.0: decisions recorded; sample of the collection;
	implementation language proposed; orgdoc-check.

	* VERSION: Bump to 0.2.0.
	* orgdoc-check, orgdoc-check.1: New.
	* Makefile.am (FIGURE_DOTS): Rename from FIGURE_SOURCES.
	(check-local): New; run orgdoc-check.
	(MAN_PAGES): Add orgdoc-check.1.
	(EXTRA_DIST): Add orgdoc-check and the manual pages.
	* make-archive (scripts_to_check): Add orgdoc-check.
	* Concept.org: Remove author name and dates; drop
	broken-links:mark.
	(The collection): New.
	(Architecture): Adopt for the first prototype; add iPhone capture,
	typed ISBN form, classification by registration group, Tellico
	export later.
	(Glossary): Add GTIN, registration group.
	* fig-architecture.dot: Add the form; mark the broker as centre.
	* ResearchJournal.org: Add 2026-10-23 entry.
	(2026-10-22): Repair split description tags.
	* FutureResearch.org: Remove decided items; add language, design,
	web front, iPhone, Tellico export, Romanian catalogue items.
	* DevelopmentStandard.org (Documentation deliverables and their
	voices): Add reader and development documents.
	(LaTeX export conventions): Add one-line description tag and
	trailing-space span rules.
	(Delivery Checklist): Read the output of bootstrap.
	* SessionHandoff.org: Update for 0.2.0.
	* Index.org (Manual pages): Add orgdoc-check(1).
	* README, NEWS: Update for 0.2.0.

2026-10-22  Péter Felecan  <pfelecan@gmail.com>

	Release 0.1.0: survey of existing free software; scaffold adapted.

	* VERSION: Bump to 0.1.0.
	* Concept.org (Introduction, Motivation, Goal, Prior art)
	(Architecture (proposal), Glossary): New content.
	* ResearchJournal.org: Add 2026-10-22 entry (survey, scaffold
	adaptation, verification).
	* FutureResearch.org: Add ranked open items; fill the Reviewed line;
	add closing Local Variables section.
	* SessionHandoff.org: Rewrite Start Here, Current State, Next Steps.
	* DevelopmentStandard.org (Introduction, Directory Creation)
	(Header Structure, LaTeX export conventions)
	(Packaging and verification discipline, Error Handling, Autotools)
	(Bootstrap Process, License, Versioning, Delivery Checklist):
	Remove packpay/dudhya residue; drop HTML_LINK_UP/HOME from the
	canonical header; fix "idudhyately".
	* Index.org: Remove link to absent DeveloperDebugging.org.
	* README: Rewrite for sapupra.
	* NEWS: Add 0.1.0.
	* AUTHORS: Add Claude Opus 5.5.
	* version.org.in (ASSISTANT): Set to Claude Opus 5.5.
	* configure.ac: Remove stray leading space and foreign comments;
	probe dot.
	* Makefile.am (FIGURE_SOURCES, .dot.svg, .dot.pdf, figures): New.
	(SAPUPRA_VERSION): Rename from PACKPAY_VERSION.
	Remove breadboard_config.5.html rule and empty check-local.
	* fig-architecture.dot: New.
	* make-archive (scripts_to_check): List sapupra scripts; fail on a
	missing script.
	* .tar-exclude: Add Id keyword; exclude generated .tex by name.
	* man2htmldoc: Add Id keyword, license header, argument checks.
	* stale-files: Complete license header; generalize history.
	* Preamble.tex: Generalize provenance comment.
	* batch-init.el.in (orgdoc/latex-svg-as-pdf): Update comment.

2026-10-22  Péter Felecan  <pfelecan@gmail.com>

	Release 0.0.0: project initialization.
