From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <development+bounces-21-archive=lists.ipfire.org@lists.ipfire.org>
Received: from mail02.haj.ipfire.org (localhost [127.0.0.1])
	by mail02.haj.ipfire.org (Postfix) with ESMTP id 4ZBM3s0FVzz376t
	for <archive@lists.ipfire.org>; Mon, 10 Mar 2025 15:57:45 +0000 (UTC)
Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature ECDSA (secp384r1)
	 client-signature RSA-PSS (4096 bits))
	(Client CN "mail01.haj.ipfire.org", Issuer "R10" (verified OK))
	by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4ZBM3n29Rtz330P;
	Mon, 10 Mar 2025 15:57:41 +0000 (UTC)
Received: from [127.0.0.1] (localhost [127.0.0.1])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by mail01.ipfire.org (Postfix) with ESMTPSA id 4ZBM3m4p5bz15J;
	Mon, 10 Mar 2025 15:57:40 +0000 (UTC)
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org;
	s=202003ed25519; t=1741622260;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=cWYEvIQnAMcFSwnGWh/ECj9PFSwG2iE5szWisD/bnos=;
	b=633W7K7ECH9yeuLmiinTAkRlih+APcTSPE9CriO68+LJHtNg9OGysvCN4UVYSeA5Gnpcjh
	A89x2kLFTci0lVAQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa;
	t=1741622260;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=cWYEvIQnAMcFSwnGWh/ECj9PFSwG2iE5szWisD/bnos=;
	b=POfxEN2W3ZwgtrEjDM4vi3zQzmDRbfwKz9dC0QfalzyPXA5k3favdnAVzqxO5vSUEL6mPq
	jAg8ygFLHD116gASlHZHa/QjSl5SVC59AwStGwibevHVZrw9tpesnl41MMToPthLYyKKSV
	KNGmLu2yCWNpgEQPb42Aq81LkTWTmdIod6DUerqjJhWGkOTs8TQJyUaoU38eOoSffAyhKA
	lGRNnnbzEwLKQ3QyvoNGgdgWr1R0BXjoTEM6gZNW2ymItUAEjS3F2i2F4TaoBSRBKk4nIf
	vt+XajdJ1hx951/1HZsTR9YtbjpCkowLDc7bjY3m44nJnW0D+/WwXM8tFfoldg==
From: Michael Tremer <michael.tremer@ipfire.org>
Content-Type: text/plain;
	charset=utf-8
Content-Transfer-Encoding: quoted-printable
Precedence: list
List-Id: <development.lists.ipfire.org>
List-Subscribe: <https://lists.ipfire.org/>,
 <mailto:development+subscribe@lists.ipfire.org?subject=subscribe>
List-Unsubscribe: <https://lists.ipfire.org/>,
 <mailto:development+unsubscribe@lists.ipfire.org?subject=unsubscribe>
List-Post: <mailto:development@lists.ipfire.org>
List-Help: <mailto:development+help@lists.ipfire.org?subject=help>
Sender: <development@lists.ipfire.org>
Mail-Followup-To: <development@lists.ipfire.org>
Mime-Version: 1.0
Subject: libloc 0.9.18 has been released
Message-Id: <5635E989-C74F-4FCF-BB17-91E6615E279C@ipfire.org>
Date: Mon, 10 Mar 2025 15:57:40 +0000
Cc: "IPFire: Development-List" <development@lists.ipfire.org>
To: location@lists.ipfire.org

Hello everyone,

This is the official announcement for the most recent release of libloc: =
libloc 0.9.18. Is comes with the following changes:

* A new Lua module has been added as announced here: =
https://www.ipfire.org/blog/ipfire-location-lua-bindings-for-fun-and-profi=
t

* The algorithm to detect bogons and duplicates in the tree have =
massively been improved and should be nearing their theoretical maximum =
in terms of performance.=20

* A large number of stability and correctness fixes have been rolled =
out. These mostly affect the code generating the database.

* We now have a small Jenkins pipeline which will check if the library =
still builds for a couple of major Linux distributions and various =
architectures.

Python:

* AS and Country objects are now hashable and support rich comparison =
operations

Importer:

* Exporting the database is around 200x faster due to eliminating any =
excessive joins. Instead a new temporary table will be created and a =
temporary index will be used to apply various updates to the data from =
various sources inside the database. That allows us to create the export =
iteratively instead of having one large query that runs for forever. An =
export that formerly took around 17-20 hrs(!) will now take only ~5 =
mins.

* A new source for human-friendly names for Autonomous Systems =
registered with ARIN has been added

* Importing feeds from AWS and Spamhaus has been split off into separate =
database tables. This will allow us to import them separately and =
prioritise our own rewrites over them.

* The ARIN parser has been refactored based on csv.DictReader(), parsers =
for the AWS and Spamhaus feeds have been rewritten, too

* Geofeeds are now fetched concurrently with a unified downloader

* Certain country codes will be entirely ignored. Currently this is YU =
for former Yugoslavia and ZZ which is used to say =E2=80=9Cno country=E2=80=
=9D

* Country codes can now be corrected on the fly. This is used to change =
UK to GB as only the latter is the valid country code for the United =
Kingdom.

* Countries that are not on our list will not be imported any more.

* Networks larger than /4 for IPv6, and /10 for IPv4 won=E2=80=99t be =
imported any more. This avoids that we propagate any issues in the =
global routing table into the database.

Thanks to everyone who has contributed to this release.

This release has *a lot* of large changes and we would appreciate any =
feedback or bug reports in case there are any regressions. Also, please =
help us to keep improving this software and publishing our database by =
donating: https://www.ipfire.org/donate.

If you are a packager for any of the Linux distributions that already =
ship libloc, please update to this release. If you are a packager for a =
distribution that does not have libloc, yet, please add it to your =
distribution.

You can find the source here:

=
https://git.ipfire.org/?p=3Dlocation/libloc.git;a=3Dshortlog;h=3Drefs/tags=
/0.9.18
https://source.ipfire.org/releases/libloc/libloc-0.9.18.tar.gz SHA256 =
16c76689fa0ea8ece4fca6abcf942f236c48440387bee1d9331ea937ccd7b87d

Best,
-Michael=