<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title>sqlbox version feed</title>
	<link href="https://kristaps.bsd.lv/sqlbox" />
	<link href="https://kristaps.bsd.lv/sqlbox/atom.xml" rel="self" />
	<id>https://kristaps.bsd.lv/sqlbox</id>
	<updated>2025-04-20T00:00:00Z</updated>
	<entry>
		<id>https://kristaps.bsd.lv/sqlbox/versions.xml#2025-04-20T00:00:00Z</id>
		<updated>2025-04-20T00:00:00Z</updated>
		<title>0.2.1</title>
		<author><name>Kristaps Dzonsons</name></author>
		<content type="xhtml">
			<div xmlns="http://www.w3.org/1999/xhtml">

                        <p>
				Minor documentation changes.
				No code updates.
                        </p>
                </div>
		</content>
	</entry>
	<entry>
		<id>https://kristaps.bsd.lv/sqlbox/versions.xml#2025-01-25T00:00:00Z</id>
		<updated>2025-01-25T00:00:00Z</updated>
		<title>0.2.0</title>
		<author><name>Kristaps Dzonsons</name></author>
		<content type="xhtml">
			<div xmlns="http://www.w3.org/1999/xhtml">

                        <p>
                                Fix how floating points are converted into integers to
                                avoid undefined behaviour. Prior to this, floating points
                                were simply cast; however, this would introduce UB if the
                                floating point over or underflowed the integer. Check for
                                saturating prior to casting now and also handle NaN checks.
				This adds <code>SQLBOX_DOUBLE_MAX_INT</code> and
				<code>SQLBOX_DOUBLE_MIN_INT</code> macros to the API.
				They may be used for more refined casting by the
				application, and are used in the regression tests to check
				for corner cases.
                        </p>
                        <p>
				Introduce <b>-fsanitize</b> testing for address and
				undefined behaviour sanitisation in the CI.  This bolsters
				the existing valgrind checks.
                        </p>
                </div>
		</content>
	</entry>
	<entry>
		<id>https://kristaps.bsd.lv/sqlbox/versions.xml#2023-12-02T00:00:00Z</id>
		<updated>2023-12-02T00:00:00Z</updated>
		<title>0.1.13</title>
		<author><name>Kristaps Dzonsons</name></author>
		<content type="xhtml">
			<div xmlns="http://www.w3.org/1999/xhtml">

			<p>
				Automated testing using GitHub actions (regressions, valgrind, etc.).
				Installing dynamic library alongside static.
			</p>
		</div>
		</content>
	</entry>
	<entry>
		<id>https://kristaps.bsd.lv/sqlbox/versions.xml#2020-03-11T00:00:00Z</id>
		<updated>2020-03-11T00:00:00Z</updated>
		<title>0.1.12</title>
		<author><name>Kristaps Dzonsons</name></author>
		<content type="xhtml">
			<div xmlns="http://www.w3.org/1999/xhtml">

			<p>
				Continue refining portability in the build system.
			</p>
		</div>
		</content>
	</entry>
	<entry>
		<id>https://kristaps.bsd.lv/sqlbox/versions.xml#2020-03-01T00:00:00Z</id>
		<updated>2020-03-01T00:00:00Z</updated>
		<title>0.1.11</title>
		<author><name>Kristaps Dzonsons</name></author>
		<content type="xhtml">
			<div xmlns="http://www.w3.org/1999/xhtml">

			<p>
				Use <a href="https://man.openbsd.org/pkg-config">pkg-config</a>
				internally and also produce a configuration for it.
				This simplifies configuration (no need to invoke
				<code>configure</code> with additional arguments) and makes using
				the library easier.
			</p>
			<p>
				This also removes OpenBSD needing <code>-lpthread</code> for
				<code>-lsqlite3</code>, which ended up being a problem on my
				development machine with an old version of the library hanging out
				in the default path.
			</p>
		</div>
		</content>
	</entry>
	<entry>
		<id>https://kristaps.bsd.lv/sqlbox/versions.xml#2019-11-27T00:00:00Z</id>
		<updated>2019-11-27T00:00:00Z</updated>
		<title>0.1.9</title>
		<author><name>Kristaps Dzonsons</name></author>
		<content type="xhtml">
			<div xmlns="http://www.w3.org/1999/xhtml">

			<p>
				Fix a <q>copypasta</q> where transactions are always rolled-back
				instead of being committed.
				Regression tests added for this behaviour.
			</p>
		</div>
		</content>
	</entry>
	<entry>
		<id>https://kristaps.bsd.lv/sqlbox/versions.xml#2019-11-14T00:00:00Z</id>
		<updated>2019-11-14T00:00:00Z</updated>
		<title>0.1.8</title>
		<author><name>Kristaps Dzonsons</name></author>
		<content type="xhtml">
			<div xmlns="http://www.w3.org/1999/xhtml">

			<p>
				Ported to FreeBSD.
				No changes otherwise.
			</p>
		</div>
		</content>
	</entry>
	<entry>
		<id>https://kristaps.bsd.lv/sqlbox/versions.xml#2019-11-11T00:00:00Z</id>
		<updated>2019-11-11T00:00:00Z</updated>
		<title>0.1.7</title>
		<author><name>Kristaps Dzonsons</name></author>
		<content type="xhtml">
			<div xmlns="http://www.w3.org/1999/xhtml">

			<p>
				Have the internal logging functions behave the same whether called
				in the parent or child process.
				This means that 
				<a href="man/sqlbox_msg_set_dat.3.html">sqlbox_msg_set_dat(3)</a>
				has its buffer copied in both processes.
			</p>
			<p>
				Don't emit a warning message when calling
				<a href="man/sqlbox_free.3.html">sqlbox_free(3)</a>
				with open databases.
				Only do this if the child exits without an explicit instruction.
			</p>
		</div>
		</content>
	</entry>
	<entry>
		<id>https://kristaps.bsd.lv/sqlbox/versions.xml#2019-11-07T00:00:00Z</id>
		<updated>2019-11-07T00:00:00Z</updated>
		<title>0.1.6</title>
		<author><name>Kristaps Dzonsons</name></author>
		<content type="xhtml">
			<div xmlns="http://www.w3.org/1999/xhtml">

			<p>
				Add a general sinks and sources (<q>starts</q>) to the hierarchical
				role generator.
				These are commonly-used idioms.
			</p>
			<p>
				Also fix where passing zero (implicit addressing) as a statement or
				database identifier would use the <i>first</i> queue entry, not the
				last, breaking nested statements that use implicit addressing.
			</p>
			<p>
				Add compilation instructions for OpenBSD 6.6, which requires
				<code>-lpthread</code> to be used for all applications or they will
				silently hang when the database is opened.
			</p>
		</div>
		</content>
	</entry>
	<entry>
		<id>https://kristaps.bsd.lv/sqlbox/versions.xml#2019-10-28T00:00:00Z</id>
		<updated>2019-10-28T00:00:00Z</updated>
		<title>0.1.5</title>
		<author><name>Kristaps Dzonsons</name></author>
		<content type="xhtml">
			<div xmlns="http://www.w3.org/1999/xhtml">

			<p>
				Add a set of functions for creating hierarchical roles.
				This simplifies the creation of complex systems inheriting roles.
			</p>
		</div>
		</content>
	</entry>
	<entry>
		<id>https://kristaps.bsd.lv/sqlbox/versions.xml#2019-10-25T00:00:00Z</id>
		<updated>2019-10-25T00:00:00Z</updated>
		<title>0.1.4</title>
		<author><name>Kristaps Dzonsons</name></author>
		<content type="xhtml">
			<div xmlns="http://www.w3.org/1999/xhtml">

			<p>
				Require that all databases are foreign key enabled.
			</p>
		</div>
		</content>
	</entry>
	<entry>
		<id>https://kristaps.bsd.lv/sqlbox/versions.xml#2019-10-19T00:00:00Z</id>
		<updated>2019-10-19T00:00:00Z</updated>
		<title>0.1.3</title>
		<author><name>Kristaps Dzonsons</name></author>
		<content type="xhtml">
			<div xmlns="http://www.w3.org/1999/xhtml">

			<p>
				Add conversion routines (e.g., <code>sqlbox_parm_int(3)</code>)
				between results.
				These are convenience routines and simply allow easier replacement
				of prior <a href="https://kristaps.bsd.lv/ksql">ksql</a> deployments
				that take advantage of sqlite3's value conversions.
			</p>
		</div>
		</content>
	</entry>
	<entry>
		<id>https://kristaps.bsd.lv/sqlbox/versions.xml#2019-10-15T00:00:00Z</id>
		<updated>2019-10-15T00:00:00Z</updated>
		<title>0.1.2</title>
		<author><name>Kristaps Dzonsons</name></author>
		<content type="xhtml">
			<div xmlns="http://www.w3.org/1999/xhtml">

			<p>
				First public release.
				This already has about 130 regression tests for behaviour and has
				been heavily orchestrated with <a href="http://valgrind.org">valgrind</a>.
			</p>
		</div>
		</content>
	</entry>

</feed>

