Received: from mail.netlandish.com (mail.netlandish.com [174.136.98.166]) by code.netlandish.com (Postfix) with ESMTP id AADAB440 for <~netlandish/links-discuss@lists.code.netlandish.com>; Sat, 19 Jul 2025 13:45:04 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=209.85.219.170; helo=mail-yb1-f170.google.com; envelope-from=peter@netlandish.com; receiver= Authentication-Results: mail.netlandish.com; dkim=pass (1024-bit key; unprotected) header.d=netlandish.com header.i=@netlandish.com header.b=PT9uvDRs Received: from mail-yb1-f170.google.com (mail-yb1-f170.google.com [209.85.219.170]) by mail.netlandish.com (Postfix) with ESMTP id E408D1D640A for <~netlandish/links-discuss@lists.code.netlandish.com>; Sat, 19 Jul 2025 13:45:47 +0000 (UTC) Received: by mail-yb1-f170.google.com with SMTP id 3f1490d57ef6-e8d70c65abcso2204122276.0 for <~netlandish/links-discuss@lists.code.netlandish.com>; Sat, 19 Jul 2025 06:45:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netlandish.com; s=google; t=1752932746; x=1753537546; 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=eWA8kDi2/FxhydIBL02unPz6uKiq8dATMnmKrTutKyg=; b=PT9uvDRstkspV55rqE8WKJmizW4p1ihHOLWzjMbnP14uo1RJjryUlU74FUB2hzsxuR 9tWblUwzRuRtTZbI77qEQjNsXzoUGDFRvv9ScblhfBxQQWKhUUZzjT9SamCzyyg7tM0D iSr8wyAxmYXln6r0htAVk707Nre9b8STFu2Xc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752932746; x=1753537546; 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=eWA8kDi2/FxhydIBL02unPz6uKiq8dATMnmKrTutKyg=; b=pnjt2AdkrfzjMJoXW89VHi8ABdY7+gyJ1EsmqunQK3nIhkPJ3+1PZ9MdxYZDjDxN3M A32zyG0wBr3Ilnb32NhnHOg6JhTBnn6va71UElD4Jd6BAcQAR7adC7NhAglmY9D9Izjv TkTCD5TVAlWkOKnAUp9DliGZ6oQTV2nrwtF/QOOXETnTHUUZ+anKBLOdG9v1eXseHMQb n3enSjNjqU7RBZ5v4bBaV/KVJndMvz/jhd8R1l06SLiDoynjoHuWbVvPklmRe5jGfmhH mKCEy3WkpJ7ZoGkQuAgWCvarSO+yo0Kd+fmvElQUFsb/IfcOiVCzB5dhBdvzOmzsibYV SG8w== X-Gm-Message-State: AOJu0Yw85L1jrK5+bnwdg3mpEllMwhpunKYCrb1DrBTUF/ZKhCmDEZAx lpM1qa0VWlp9MJGhFy0NMfIb4munT2EnfwHaF+UGKqHGV13bRKLEDoqQ8/OvpiQJy2ZD+Wh6hDf ApxfJlew= X-Gm-Gg: ASbGnct6zklasHSRjo4IkpyK+s3lLHq+srf5DSVRERKYWFjqNXvybAEDI77fs5uutL9 4Iv4prXmQkhGk+1SoRQgOPKMqAicsNPb59sd6jr3b2GOwyAZlA+gQyYkGLklxCgdmI/du1fV8dy u8n1xQowpeqgmxQIWS+qRkesHjhvsfJnwVWhab4rpy3PBhAVF09YZN3X4SyeAFrnuS2tvwLbvUt fmarnN8EmioswSjsHnFWzJuTxPV2LKoZinqrX0+XxCg9iAaKYmYfNhsJCNdOwHYKNeqFL83JixQ 5Y0u99ZtONvHDaepyrRpRgDjtZyLqACeJzxyzmC9tBvy3rRR/dzXwQCpVGYNxtVRBbBYbPG+2uJ AUl5I0i1wI+ioRPynPrhtEg== X-Google-Smtp-Source: AGHT+IEfNzabXOF0ljAn8XutVxSPDsVHdvQuB15ctjt/7BtQKVWwnGbN4Zys51AeEOT6xvaYg+BNVw== X-Received: by 2002:a05:6902:2503:b0:e8b:d362:475b with SMTP id 3f1490d57ef6-e8bd3624d51mr13185696276.19.1752932746332; Sat, 19 Jul 2025 06:45:46 -0700 (PDT) Received: from localhost ([2803:2d60:1107:87f:1c13:eea:a883:d156]) by smtp.gmail.com with UTF8SMTPSA id 3f1490d57ef6-e8d7ce934a3sm1081049276.53.2025.07.19.06.45.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 19 Jul 2025 06:45:45 -0700 (PDT) Date: Sat, 19 Jul 2025 07:45:44 -0600 From: Peter Sanchez 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.5.0 User-Agent: links/0.5.0 Message-ID: <20250719074538.OEOCFANOYMWV@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.5.0. https://git.code.netlandish.com/~netlandish/links/refs/0.5.0 Release highlights: # Added - Ability to hide spammers or seo farms from the recent or popular pages. - Pinboard API to GraphQL bridge # Fixed - No longer showing empty ordering options on pages that don't support it. - URL jumping up with description when description is too short. Happens on saved bookmark listing pages. - Issue with encoding email subject lines when pulled from a template file. - Issue saving tags longer than 50 chars (not allowed) - No longer using regexp to parse null entries from json (no clue wtf we were thinking there) - Issue where tag characters can cause PostgreSQL to return errors. Also limit tag queries to tag name limit (50). - tag autocomplete issues with selection and navigation using the keyboard. # Changed - How `BaseURL.UpdateCounter` works. Now uses a subselect to set proper count - Now will alwyas call `UpdateCounter` when calling the `updateLink` mutation. This addresses a small counter bug / edge case. - Links to external sites will now have rel="nofollow" to help avoid the site from becoming a spam haven. - No more leading hash marks in tag names - Only show save count when the URL has been publicly saved more than once. # Closed Tickets - [#111: Bookmark saved listing - URL is jumping up with description](https://todo.code.netlandish.com/~netlandish/links/111) - [#76: Pinboard API to GraphQL bridge](https://todo.code.netlandish.com/~netlandish/links/76) - [#85: Tag autocomplete dropdown is annoyingly wonky](https://todo.code.netlandish.com/~netlandish/links/85) # Changed dependencies for downstream packagers ## Updated * netlandish.com/x/gobwebs v0.1.2 => v0.1.3 * netlandish.com/x/gobwebs-auditlog v0.2.0 => v0.2.1 * netlandish.com/x/gobwebs-formguard v0.2.0 => v0.2.1 * netlandish.com/x/gobwebs-graphql v0.2.0 => v0.2.2 * netlandish.com/x/gobwebs-oauth2 v0.2.0 => v0.2.1 * netlandish.com/x/gobwebs-ses-feedback v0.2.0 => v0.2.1 Thanks to all contributors! ~$ contrib/git-stats.sh 0.4.0..0.5.0 Author Commits Changed Files Insertions Deletions Peter Sanchez 17 60 +4741 -1430