2020 Changes

This page lists all changes to my web site in 2020, except for new journal entries, along with a brief description. For more recent changes and the current RSS feed, see the current changes page. For older changes, see the changes for 2019, 2018, 2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, and 2008.

December 2020

2020-12-31 — Review: A Wizard's Guide to Defensive Baking

Review of A Wizard's Guide to Defensive Baking by T. Kingfisher.

2020-12-30 — Review: Billion Dollar Loser

Review of Billion Dollar Loser by Reeves Wiedeman.

2020-12-29 — Review: The House in the Cerulean Sea

Review of The House in the Cerulean Sea by TJ Klune.

2020-12-27 — Review: Your Day, Your Way

Review of Your Day, Your Way by Timothy Caulfield.

2020-12-27 — Added new INN ovsqlite documentation

INN 2.7.0 will add a new overview backend, ovsqlite. Add its documentation and configuration sample to the INN CURRENT documentation pages.

2020-12-26 — Review: King of the Murgos

Review of King of the Murgos by David Eddings.

2020-12-26 — Update my personal GnuPG key

Update my personal GnuPG key with new expiration dates.

2020-12-25 — Review: The Biggest Bluff

Review of The Biggest Bluff by Maria Konnikova.

2020-12-25 — DocKnot 4.00

Change the metadata format to be a single YAML file. Add a new docknot update command to update from the previous format. Reorganize the metadata schema and add schema enforcement. Drop support for the CPAN RT instance. Drop the current version number from the title of README.md. Word-wrap numeric lists and, in Markdown, quoted paragraphs. Tweak the detection of verbatim paragraphs. Tweak the template for README.md.

2020-12-24 — control-archive 1.9.0

Use gpg1 instead of gpg to support older keys. Produce better diagnostics when the X-PGP-Sig header is missing the version field. Add rocksolid.*, remove dictator.*, and update the signing key for fr.*.

2020-12-22 — Review: Anti-Social

Review of Anti-Social by Nick Pettigrew.

2020-12-20 — Review: Behind the Throne

Review of Behind the Throne by K.B. Wagers.

2020-12-19 — Review: Can't Even

Review of Can't Even by Anne Helen Petersen.

2020-12-13 — remctl 3.17

Port to PHP 8. Fix Python build system bugs to test against the newly-built module, not attempt to download typing when it's not required, and enable verbose testing. Fix non-Kerberos network tests in environments with no IPv4 addresses.

2020-12-13 — rra-c-util 8.4

Add new RRA_PROG_LD_FLAG macro. Extend RRA_PROG_CC_FLAG to support commas in flags. Include string.h when probing for AI_ADDRCONFIG for macOS X. Fix prototyping of reallocarray on NetBSD. Fix the getnameinfo test on musl libc systems. Add an explicit backward compatibility statement.

2020-12-12 — Review: Because Internet

Review of Because Internet by Gretchen McCulloch.

2020-12-05 — Broken link cleanup

Another periodic cleanup of broken links.

November 2020

2020-11-27 — Review: Nine Goblins

Review of Nine Goblins by T. Kingfisher.

2020-11-15 — Broken link cleanup

Another periodic cleanup of broken links.

2020-11-14 — PGP::Sign 1.04

Fix signing of long input files, broken in PGP::Sign 1.00 with the conversion to IPC::Run.

2020-11-08 — Add 2020 World Fantasy Award winner

Add the winner of the 2020 World Fantasy Award for best novel (Queen of the Conquered, by Kacen Collender).

2020-11-08 — TIME 100 Best Fantasy Books list

Add the 2020 TIME 100 Best Fantasy Books of All Time list along with links to reviews and ratings where available.

October 2020

2020-10-11 — Review: Hand to Mouth

Review of Hand to Mouth by Linda Tirado.

September 2020

2020-09-30 — Review: Harrow the Ninth

Review of Harrow the Ninth by Tamsyn Muir.

2020-09-26 — Add 2020 Arthur C. Clarke Award winner

Add the winner of the 2020 Arthur C. Clarke Award (The Old Drift, by Nawali Serpell).

2020-09-21 — Review: Unconquerable Sun

Review of Unconquerable Sun by Kate Elliott.

2020-09-20 — Review: Lower Ed

Review of Lower Ed by Tressie McMillan Cottom.

2020-09-13 — Review: Who Do You Serve, Who Do You Protect?

Review of Who Do You Serve, Who Do You Protect? by Maya Schenwar, et al. (ed.).

2020-09-12 — PGP::Sign 1.03

Skip tests if the version of GnuPG isn't new enough to support the flags this module wants to use.

August 2020

2020-08-31 — Review: Riot Baby

Review of Riot Baby by Tochi Onyebuchi.

2020-08-30 — Review: Men at Arms

Review of Men at Arms by Terry Pratchett.

2020-08-29 — PGP::Sign 1.02

Fix test suite failures on systems where gpg is GnuPG v1. Skip tests on systems where the discovered gpg is too old of a version of GnuPG v2.

2020-08-09 — rra-c-util 8.3

Drop probe and portability replacement for snprintf. Fix network tests on hosts without IPv4 addresses. Ignore files named changelog when checking for obsolete strings. Fix style issues diagnosed by Perl::Critic::Freenode.

2020-08-09 — DocKnot 3.05

Tweak the wrapping heuristic for possibly-broken paragraphs. Fix the Debian status badge to always reference unstable. Update dependencies based on advice from Perl::Critic::Freenode.

2020-08-09 — Broken link cleanup

Another periodic cleanup of broken links.

2020-08-01 — Add winner of 2020 Hugo Award for best novel

Add the winer of the 2020 Hugo Award for best novel (A Memory Called Empire, by Arkady Martine).

2020-08-01 — Add nominees for 2020 World Fantasy Award

Add the nominees for the 2020 World Fantasy Award for best novel.

July 2020

2020-07-27 — Review: The City in the Middle of the Night

Review of The City in the Middle of the Night by Charlie Jane Anders.

2020-07-26 — Review: Rise of the Warrior Cop

Review of Rise of the Warrior Cop by Radley Balko.

2020-07-25 — Review: Paladin's Grace

Review of Paladin's Grace by T. Kingfisher.

2020-07-18 — PGP::Sign 1.01

Fix the test suite to handle gpg being GnuPG v1. Fix style issues found by Perl::Critic::Freenode.

2020-07-03 — Review: The Light Brigade

Review of The Light Brigade by Kameron Hurley.

June 2020

2020-06-29 — Review: The Fifth Risk

Review of The Fifth Risk by Michael Lewis.

2020-06-28 — Add index of Locus Award winers for best first novel

Add an index of all previous winners of the Locus Award for best first novel. Update the list of multiple award winners accordingly.

2020-06-28 — Add 2020 Locus Award winners

Add the winners of the 2020 Locus Award for best science fiction novel (The City in the Middle of the Night, by Charlie Jane Anders) and best fantasy novel (Middlegame, by Seanan McGuire).

2020-06-28 — Improve PGP::Sign web page

Re-add the quote for the PGP::Sign web page and include information about the Debian package.

2020-06-27 — PGP::Sign 1.0

Drop support for all PGP implementations other than GnuPG. Add support for GnuPG v2. Require a minimum Perl version of 5.20. Add a new object-oriented API and reimplement the old API as a shim in front of it. Keep status output from GnuPG separate from logging output when verifying. Support verifying PGP 2.6.2 signatures. Always return "GnuPG" as the PGP version and ignore any PGP version passed into pgp_verify. Fix whitespace munging when calling pgp_sign multiple times. Depend on IPC::Run and use File::Temp instead of hand-rolling equivalent functionality. Change the build system to Module::Build.

2020-06-26 — Add nominees for 2020 Arthur C. Clarke Award

Add nominees for the 2020 Arthur C. Clarke Award for best novel.

2020-06-16 — Review: Network Effect

Review of Network Effect by Martha Wells.

2020-06-15 — Broken link cleanup

Another periodic cleanup of broken links.

2020-06-07 — Add 2020 winner of the Nebula Award

Add the 2020 winner of the Nebula Award for best novel (A Song for a New Day, by Sarah Pinkser).

May 2020

2020-05-26 — Review: Middlegame

Review of Middlegame by Seanan McGuire.

2020-05-25 — Review: The Ten Thousand Doors of January

Review of The Ten Thousand Doors of January by Alix E. Harrow.

2020-05-24 — Review: The Last Emperox

Review of The Last Emperox by John Scalzi.

2020-05-21 — Add 2020 winner of the British SF award

Add 2020 winner of the British SF award for best novel (Children of Ruin, by Adrian Tchaikovsky).

2020-05-17 — krb5-strength 3.2

Add a check-only mode to heimdal-history. Increase the number of hash iterations used to store new passwords. Use explicit_bzero where possible to clear passwords from memory. Support building without CrackLib. Update valgrind tests and portability code. Add SPDX license identifiers to source files. Skip tests expected to fail with system CrackLib.

2020-05-16 — DocKnot 3.04

Rename the metadata key vcs.travis to vcs.status.travis. Add vcs.status.workflow to generate a badge based on GitHub workflows. Add a cpanfile specifying dependencies.

2020-05-16 — rra-c-util 8.2

Use memset to implement a missing explicit_bzero. Fix krb5.conf generation for tests if the system default has no default realm, and fix support for a krb5.conf file dropped into the test configuration directory. Fix ENTRY and EXIT PAM logging macros to be usable as function calls. Define PAM_MAX_RESP_SIZE if not available. Improve file skipping and pruning for SPDX license identifier checks. Fix header ordering for portability socket code to restore support for ancient UNIX variants. Fix warnings with Clang 10 and GCC 10.

2020-05-16 — C TAP Harness 4.7

Fix the test suite to not break when C_TAP_VERBOSE is set in the environment. Fix a new compilation warning with GCC 10.

2020-05-12 — Review: Gideon the Ninth

Review of Gideon the Ninth by Tamsyn Muir.

2020-05-10 — Broken link cleanup

Another periodic cleanup of broken links.

2020-05-09 — Review: Golden Gates

Review of Golden Gates by Conor Dougherty.

2020-05-03 — Review: Seraphina

Review of Seraphina by Rachel Hartman.

April 2020

2020-04-25 — Review: The Last Goodbye

Review of The Last Goodbye by Matt Potter.

2020-04-18 — Review: Beyond the Galaxy

Review of Beyond the Galaxy by Ethan Siegel.

2020-04-11 — Broken link cleanup

Another periodic cleanup of broken links.

2020-04-11 — Add 2020 Otherwise award winner

Add 2020 winner of the Otherwise award (Freshwater, by Akwaeke Emezi).

2020-04-10 — Add 2020 Philip K. Dick award winner

Add 2020 winner of the Philip K. Dick award (Sooner or Later Everything Falls Into the Sea, by Sarah Pinsker).

2020-04-07 — Add 2020 Hugo nominees for best novel

Add 2020 nominees for the Hugo award for best novel.

2020-04-05 — Review: Thick

Review of Thick by Tressie McMillan Cottom.

March 2020

2020-03-31 — Review: A Grand and Bold Thing

Review of A Grand and Bold Thing by Ann Finkbeiner.

2020-03-30 — pam-krb5 4.9

Fix buffer overflow error when passing a prompt from an underlying Kerberos library and add security advisory. Reject passwords as long or longer than PAM_MAX_RESP_SIZE (normally 512 octets) since they can cause a denial of service attack via the Kerberos string-to-key function. Use explicit_bzero where available to clear passwords before releasing memory. Add support for use_pkinit with MIT Kerberos. Improve the error codes returned by the Kerberos prompter function. Fix an edge-case memory leak in pam_chauthtok. Fix the module/basic test with a system krb5.conf file that doesn't specify a realm.

2020-03-23 — Review: Lost in Math

Review of Lost in Math by Sabine Hossenfelder.

2020-03-08 — Broken link cleanup

Another periodic cleanup of broken links.

February 2020

2020-02-24 — Review: Digital Minimalism

Review of Digital Minimalism by Cal Newport.

2020-02-23 — Review: Sweep with Me

Review of Sweep With Me by Ilona Andrews.

2020-02-22 — Review: Exit Strategy

Review of Exit Strategy by Martha Wells.

2020-02-21 — Review: All About Emily

Review of All About Emily by Connie Willis.

2020-02-21 — Add 2020 Nebula Award nominees

Add the nominees for best novel for the 2020 Nebula Awards.

2020-02-15 — Broken link cleanup

Another periodic cleanup of broken links.

2020-02-01 — Remove changes from December 2019

Remove the changes from December 2019 from the recent changes page.

January 2020

2020-01-19 — DocKnot 3.03

Add a license badge for CPAN packages and a Debian version badge where appropriate. Use IO::Uncompress::Gunzip and IO::Compress::Xz to generate an xz tarball instead of external programs. Add a distribution/ignore metadata setting for docknot dist checking. Stop leaking $@ to the caller of App::DocKnot::Config.

2020-01-17 — Term::ANSIColor 5.01

Add support for NO_COLOR. Fix the uncolor example in the synopsis. Document that aliases are expanded during alias definition.

2020-01-16 — Review: Lent

Review of Lent by Jo Walton.

2020-01-11 — Review: Guardians of the West

Review of Guardians of the West by David Eddings.

2020-01-10 — Review: True Porn Clerk Stories

Review of True Porn Clerk Stories by Ali Davis.

2020-01-10 — Remove link to Acts of Gord

Not something I still want to recommend, so remove it from the active links page.

2020-01-09 — Update signing key for my personal repository

Refresh the signing key linked from the instruction page for my personal Debian repository.

2020-01-08 — Add API documentation for DocKnot

Update the DocKnot distribution page to include all of the module API documentation, missed when App::DocKnot was broken into multiple modules.

2020-01-08 — DocKnot 3.02

Add support for No Maintenance Intended badge. Generate xz-compressed tarballs if needed. Check for files expected to be in a distribution but missing. Remove an existing directory when regenerating a distribution tarball. Remove make warnings when testing C++ builds. Properly skip a test on Windows that requires tar.

2020-01-08 — Move various scripts to an obsolete section

I no longer update several of the scripts on my scripts page. Make this clear by moving them to an obsolete section and adding some information about why they're obsolete.

2020-01-07 — C TAP Harness 4.6

Reformat all C source using clang-format 10. Add valgrind testing to the test suite. Drop support for Perl 5.6 for the test suite.

2020-01-05 — rra-c-util 8.1

Drop support for Perl 5.6. Reformat all C source using clang-format 10. Update suppressions and fix issues found by cppcheck 1.89. Remove snprintf tests that surpassed the promised precision of C floating point numbers.

2020-01-05 — Term::ANSIColor 5.00

Drop support for Perl 5.6. Add support for true color. Allow color aliases to map to multiple attributes and to be defined in terms of other aliases. Document bad interaction between colored output to standard output and other output to standard error. Document how to support CLICOLOR.

2020-01-05 — Broken link cleanup

Another periodic cleanup of broken links.

2020-01-04 — podlators 4.14

Document that parse_lines and parse_string_document expect raw bytes. Fix the test suite with Pod::simple versions older than 3.22.

2020-01-02 — Add more award winners

Add the 2019 winners of the Prix Aurora (Armed in Her Fashion by Kate Heartfield), Philip K. Dick (Theory of Bastards by Audrey Schulman), and Sunburst (Plum Rains by Andromeda Romano-Lax). Update some of the award descriptions.

2020-01-02 — Rename Tiptree Award to Otherwise

Following the change decided on in October of 2019 by the award committee, rename the Tiptree Award to the Otherwise Award and adjust links. Older references in other pages will continue to talk about the Tiptree Award, since that was its name at the time.

2020-01-01 — Rotate 2019 changes

Move all web site changes from 2019 to a separate page and remove all entries older than December of 2019 from the current changes page.

2020-01-01 — 2019 reading in review

Add an overview of my 2019 reading, main book recommendations, and reading statistics.

Last spun 2022-02-06 from thread modified 2021-01-01