Received: from mail.netlandish.com (mail.netlandish.com [174.136.98.166])
	by code.netlandish.com (Postfix) with ESMTP id 34D663CA
	for <~netlandish/links-dev@lists.code.netlandish.com>; Sat, 03 May 2025 15:01:25 +0000 (UTC)
Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=209.85.221.173; helo=mail-vk1-f173.google.com; envelope-from=peter@netlandish.com; receiver=<UNKNOWN> 
Authentication-Results: mail.netlandish.com;
	dkim=pass (1024-bit key; unprotected) header.d=netlandish.com header.i=@netlandish.com header.b=D8XX/mRE
Received: from mail-vk1-f173.google.com (mail-vk1-f173.google.com [209.85.221.173])
	by mail.netlandish.com (Postfix) with ESMTP id 8188A1D642E
	for <~netlandish/links-dev@lists.code.netlandish.com>; Sat, 03 May 2025 15:01:40 +0000 (UTC)
Received: by mail-vk1-f173.google.com with SMTP id 71dfb90a1353d-52403e39a23so1879710e0c.2
        for <~netlandish/links-dev@lists.code.netlandish.com>; Sat, 03 May 2025 08:01:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=netlandish.com; s=google; t=1746284500; x=1746889300; darn=lists.code.netlandish.com;
        h=mime-version:content-transfer-encoding:message-id:user-agent
         :subject:reply-to:cc:to:from:date:from:to:cc:subject:date:message-id
         :reply-to;
        bh=n+5FLQbEcMYDbxSCmAqCgCq9z6X6XSSlMiKivcwAriY=;
        b=D8XX/mREnV/xN1ajSzNLxChYZkz+FfA89TkoNc1F4sSjkfiuX2Ot/nVZHD/iSg4aXn
         T2Sb9+L1Qqv36B0/rkVERvz6mVSbWOOvLuprX689ZHC5S1pysix2Z2J5v3DNDpDlcgjg
         XaStwvkGCCEUyZ6ruaF/Prco4ccngMqeze8Hw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1746284500; x=1746889300;
        h=mime-version:content-transfer-encoding:message-id:user-agent
         :subject:reply-to:cc:to:from:date:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=n+5FLQbEcMYDbxSCmAqCgCq9z6X6XSSlMiKivcwAriY=;
        b=Il7lyTfA+1s30LDhTGVj8H2HqyzN2V6+oKYSWd+ZlXrCvCCQFe11pqZF2fP2jfkSfY
         UJiIn4Jr+WcArM3O3SF3Jqf+pxyE/AhKjg7+N9VqxvofHXXOQ+38b7AS6Ry9TQwg2cwZ
         NX5zAJss51Nq+zwFLaC3k2C2z4TR4/v2EMGnvLPLBnHwvPlL5/7Z6Rg1q+Ar/fFbh5Ew
         7YII8DH8MTe1cafZ1nY3oZiZ5hoC/q9vnp3hV1QxeCxOTemsMphTWjZE2w8Njj/f0/Xh
         pWx6gvVmBxZG0tn3joANtPxTrm7QKLxG3wKSy2DiSnV6opPYNf3cDoFR2Q8DGtbQ9PMp
         wf4w==
X-Gm-Message-State: AOJu0YwyZamUv1XtgsG8z6qurz6hbR6EvCSNrvofdxQ2TA3PLXn7apSO
	tShs0uhDSEOqv8RCOUKhbHWs3D0dZEaIoIFy56GnHkmycNuH2SNPzoNECLdUywXNdQ==
X-Gm-Gg: ASbGncvD2ouyNzzvW3+gkHKaatPYbbLpkkMYN6pPW8nVDLkeQQtf9a6X0uRyKIPD8Wh
	Mvim509bdKs2MNbMhIEK+Y9u0CidlUDixhvIa0XRDota0CS8Z11Dt9HsfczU/0kKoyyMMhf4SGQ
	219okaUJHh0Z10VWwbRxLSZ7kW8V/GoOODalm+IRyMx9juiEz5nZTxuyR/2UOQKI/W6Rgz83ecV
	j+y/XHHJ16Mqbc6aYcC+PKSZRSl1stZ9w93KJjEiluWowL46q87wb/khOZ5cJR5ckTG3WYROFpq
	ej8GiJ/y/DNRpIe39AFYkasvSjnOty7rY4RwvfzVOQ==
X-Google-Smtp-Source: AGHT+IEsSCjpIWfwbBwPHPVOlc/uNIQOnKtkcH7ssXSyEqWLNSAbrx5PInfm8KTD5699Vuy6/XMtzw==
X-Received: by 2002:a05:6122:1ac8:b0:526:2210:5b68 with SMTP id 71dfb90a1353d-52afd30c076mr1254610e0c.4.1746284497873;
        Sat, 03 May 2025 08:01:37 -0700 (PDT)
Received: from localhost ([2803:2d60:1107:87f:55c5:8d13:9564:2cdc])
        by smtp.gmail.com with ESMTPSA id 71dfb90a1353d-52ae4039754sm899787e0c.23.2025.05.03.08.01.37
        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
        Sat, 03 May 2025 08:01:37 -0700 (PDT)
Date: Sat, 03 May 2025 09:01:36 -0600
From: Peter Sanchez <peter@netlandish.com>
To: links-discuss <~netlandish/links-discuss@lists.code.netlandish.com>
Cc: links-dev <~netlandish/links-dev@lists.code.netlandish.com>
Reply-To: links-dev <~netlandish/links-dev@lists.code.netlandish.com>
Subject: links 0.4.0
User-Agent: links/0.4.0
Message-ID: <20250503090127.GHENLFRUD3UJ@thinkpad>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset=UTF-8
MIME-Version: 1.0

Hi all,

I am happy to announce the release of links 0.4.0.

https://git.code.netlandish.com/~netlandish/links/refs/0.4.0

Release highlights:

# Added

- Tag clouds to recent, popular, feed, and organization bookmark pages.
- Save count is displayed on all relevant listing pages.
- New page to view all users/orgs who bookmarked a specific link.
- Some missing Spanish translations.
- SECURITY.md to help ensure that security vulnerabilities are reported responsibly.
- Pagination ordering on bookmark listing pages.

# Fixed

- Disaply error in qr code detail template

# Changed

- getPopularLinks return type is now different. Had to be changed to include the tag cloud. See updated schema.graphqls
- Only display associated tags with displayed links on organization pages when filtering is applied.

# Closed Tickets

- [#105: go: OrgLink.BaseURLID is a sql.NullInt64 field - it shouldn't be](https://todo.code.netlandish.com/~netlandish/links/105)
- [#106: Handler to list what users/orgs saved the same bookmark](https://todo.code.netlandish.com/~netlandish/links/106)
- [#109: Internal API calls are not passing the proper end user IP address](https://todo.code.netlandish.com/~netlandish/links/109)
- [#90: Order link feed by date added](https://todo.code.netlandish.com/~netlandish/links/90)
- [#95: Add tag cloud pages for organizations](https://todo.code.netlandish.com/~netlandish/links/95)

# Changed dependencies for downstream packagers

## Updated

* netlandish.com/x/gobwebs v0.1.1 => v0.1.2
* netlandish.com/x/gobwebs-auditlog v0.1.0 => v0.2.0
* netlandish.com/x/gobwebs-formguard v0.1.0 => v0.2.0
* netlandish.com/x/gobwebs-graphql v0.1.0 => v0.2.0
* netlandish.com/x/gobwebs-oauth2 v0.1.0 => v0.2.0
* netlandish.com/x/gobwebs-ses-feedback v0.1.0 => v0.2.0

Thanks to all contributors!

~$ contrib/git-stats.sh 0.3.0..0.4.0

Author         Commits  Changed Files  Insertions  Deletions
Peter Sanchez       19            111       +4203      -1936
