Received: from mail.netlandish.com (mail.netlandish.com [174.136.98.166]) by code.netlandish.com (Postfix) with ESMTP id 2686A35 for <~netlandish/links-dev@lists.code.netlandish.com>; Tue, 09 Sep 2025 13:00:57 +0000 (UTC) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=209.85.221.171; helo=mail-vk1-f171.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=P8Nqirmm Received: from mail-vk1-f171.google.com (mail-vk1-f171.google.com [209.85.221.171]) by mail.netlandish.com (Postfix) with ESMTP id CC46D1D80C1 for <~netlandish/links-dev@lists.code.netlandish.com>; Tue, 09 Sep 2025 13:01:57 +0000 (UTC) Received: by mail-vk1-f171.google.com with SMTP id 71dfb90a1353d-5448514543eso4227899e0c.3 for <~netlandish/links-dev@lists.code.netlandish.com>; Tue, 09 Sep 2025 06:01:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netlandish.com; s=google; t=1757422917; x=1758027717; 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=DNAMzTSECN/oYNEPbwoKFDPLJe3o6RWJWeXgg0VQO9o=; b=P8NqirmmX4xD17LjQ21w39ScKeV3MldLGr6DAd0Z1p9k3PyIV0qTosaTX1j/vqWaVp W5MpkKu9+3a74rqin/Fr3OduJgX/NO9X6nbExk2McVH8cKaIyDZ0Vl4tjTJYr7kKs64X mN2OSxHZxPawM0j1yU/EqM3sLutvY+6Q9VpDI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757422917; x=1758027717; 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=DNAMzTSECN/oYNEPbwoKFDPLJe3o6RWJWeXgg0VQO9o=; b=N54rXLai/PbWG/ZWjvzvHCWbdC2iXgYTpZUvxhmdj6LYJKIyoa0wA0eSl9dYEqR7wK MMQ37ivxmO4ctdOwG74WiXcmBPj83kTYhMH8iPaBsa8jrZQ/k8gl9Its4l0B/PVkv/gu hmDYrul2eG4+VKrytJHJhAj3ppeypK/1vACgZkpkz6lGzTXTT10vb0YtK9bwTxQ5scfS ooaN/OAhMqzBGu1AkKO6N31hCRqyJEtGxR1iQJObdcN0CfR5dvvDUwgfev+cAHx4sY3I QvSNwokr07eZJPqUIWM553kHwr5mtnJNfssblbDmdDDuTK67S8lZble+yhqm7g/RscvX IuQw== X-Gm-Message-State: AOJu0Yw28JUA92J5WzAG79McLy31J/pcqKuouX+km+1azIz/wKqnFt0p +eGTEpgHSzGWseIu7lh8goNvvSHGYOfMAszscPOuLl6vKe7NYE2aq/i1irXKXnSvl0VWqw== X-Gm-Gg: ASbGncskj/DJH5ya+vaxO/e1KI3Gc1t/Lmo1ilQ7o60/cbdqZxC9oOnIyypk0udEEY+ SjEGVlfjXlj413WUFaWxbir96DDrWjedAj3f3YmbXUcka1viFTZ1DdxcmnZJW2YisD6T+fVNACr 4xalDkl5msa8NALIXjA9dRrad2zEiNk0K/PVUaKDzbDpRkL06dNOtKd05yawCxGoE2DbY3slieU jDJs47EiGoqzeUNfJbGckbn/bhYwsYPcLK+ZtnHcDTZPAn7CEL17uCem1xrE5hoorc+9NPlVEcC 4DucfautmF04NMZb9j74S9eyBQBnpKkvLj5+msI/k6+yZJFNJcj50NoEtRppBuSQEewl+O+yeg1 TZ1pQP/UATLXjYRsfEjxaPIEXEOhVux+GgD+6uPdCYDk3 X-Google-Smtp-Source: AGHT+IF9bxPtUdF02hdAet50nQ71c8rU/QAWLUvzLlh8S4KdUI5MaxhHqcF4ydf2UE5LpuwziZaPEQ== X-Received: by 2002:a05:6102:32d0:b0:519:534a:6c49 with SMTP id ada2fe7eead31-53d24a0579amr3904148137.35.1757422913274; Tue, 09 Sep 2025 06:01:53 -0700 (PDT) Received: from localhost ([2803:2d60:1107:87f:d6fa:f7c5:d6bd:4bb4]) by smtp.gmail.com with UTF8SMTPSA id a1e0cc1a2514c-89608759c3bsm8856598241.9.2025.09.09.06.01.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Sep 2025 06:01:52 -0700 (PDT) Date: Tue, 09 Sep 2025 07:01:51 -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.6.0 User-Agent: links/0.6.0 Message-ID: <20250909070142.TJGWSPEGHYRB@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.6.0. https://git.code.netlandish.com/~netlandish/links/refs/0.6.0 Release highlights: # Added - Ability to specify organization in Pinboard API bridge calls - Bookmarklet button to settings page. - Filtering by domain for shorts and link listings. - getTags query to GraphQL api. - /v1/tags/* calls to Pinboard api bridge. - New mutations (deleteTag and renameTag) to the GraphQL api. - Added ability to rename and delete tags via the Pinboard API bridge. - domains.SafeForContext for template handling. # Fixed - RSS now works for users private feeds - Bug processing invalid UTF8 characters when parsing website metadata. - Edge case where all submitted tags are invalid resulting in an sql error (empty insert). # Closed Tickets - [#110: Use provided "add" date when importing](https://todo.code.netlandish.com/~netlandish/links/110) - [#114: Feed RSS url is missing auth token](https://todo.code.netlandish.com/~netlandish/links/114) - [#87: Ability to filter lists and shorts by domains](https://todo.code.netlandish.com/~netlandish/links/87) # Changed dependencies for downstream packagers ## Updated * github.com/99designs/gqlgen v0.17.57 => v0.17.78 * github.com/BurntSushi/toml v1.4.0 => v1.5.0 * github.com/agnivade/levenshtein v1.2.0 => v1.2.1 * github.com/go-viper/mapstructure/v2 v2.2.1 => v2.4.0 * github.com/lib/pq v1.10.9 => v1.10.9 * github.com/mattn/go-colorable v0.1.13 => v0.1.14 * github.com/vektah/gqlparser/v2 v2.5.20 => v2.5.30 * golang.org/x/crypto v0.32.0 => v0.40.0 * golang.org/x/mod v0.22.0 => v0.26.0 * golang.org/x/net v0.34.0 => v0.42.0 * golang.org/x/sync v0.10.0 => v0.16.0 * golang.org/x/sys v0.29.0 => v0.34.0 * golang.org/x/text v0.21.0 => v0.27.0 * golang.org/x/tools v0.27.0 => v0.35.0 * google.golang.org/protobuf v1.35.2 => v1.36.6 * netlandish.com/x/gobwebs v0.1.3 => v0.1.10 * netlandish.com/x/gobwebs-auditlog v0.2.1 => v0.2.7 * netlandish.com/x/gobwebs-formguard v0.2.1 => v0.2.8 * netlandish.com/x/gobwebs-graphql v0.2.2 => v0.2.8 * netlandish.com/x/gobwebs-oauth2 v0.2.1 => v0.2.7 * netlandish.com/x/gobwebs-ses-feedback v0.2.1 => v0.2.8 Thanks to all contributors! ~$ contrib/git-stats.sh 0.5.0..0.6.0 Author Commits Changed Files Insertions Deletions Peter Sanchez 29 137 +9481 -7070