From 5fcd684fc4628b3a0dbb28b53039e354cc18c43c Mon Sep 17 00:00:00 2001 From: "R. S. Doiel" Date: Wed, 15 Nov 2023 12:13:21 -0800 Subject: [PATCH 1/2] fix: issue #66, rdm2eprints now include primary_object and related_objects crosswalk --- CITATION.cff | 2 +- about.md | 4 +-- codemeta.json | 2 +- doi2rdm.1.md | 4 +-- ep3util.1.md | 4 +-- eprint2rdm.1.md | 4 +-- eprintrest.1.md | 4 +-- installer.sh | 2 +- invenio_api.go | 48 ++++++++++++++++++++++++++++++++++++ man/man1/doi2rdm.1 | 2 +- man/man1/ep3util.1 | 2 +- man/man1/eprint2rdm.1 | 2 +- man/man1/eprintrest.1 | 2 +- man/man1/people2vocabulary.1 | 2 +- man/man1/rdm2eprint.1 | 2 +- man/man1/rdmutil.1 | 2 +- people2vocabulary.1.md | 4 +-- rdm2eprint.1.md | 4 +-- rdm2eprint.go | 36 ++++++++++++++++++--------- rdmutil.1.md | 4 +-- version.go | 6 ++--- 21 files changed, 102 insertions(+), 40 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index d3762e13..27ebf6ec 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -14,7 +14,7 @@ authors: repository-code: "https://github.com/caltechlibrary/irdmtools" -version: 0.0.59 +version: 0.0.60 license-url: "https://caltechlibrary.github.io/irdmtools/LICENSE" keywords: [ "institutional repository", "data management", "Invenio", "Invenio-RDM" ] diff --git a/about.md b/about.md index dae227be..eac7138d 100644 --- a/about.md +++ b/about.md @@ -14,7 +14,7 @@ authors: orcid: "https://orcid.org/0000-0001-9266-5146" repository-code: "https://github.com/caltechlibrary/irdmtools" -version: 0.0.59 +version: 0.0.60 license-url: "https://caltechlibrary.github.io/irdmtools/LICENSE" keywords: [ "institutional repository", "data management", "Invenio", "Invenio-RDM" ] @@ -24,7 +24,7 @@ management", "Invenio", "Invenio-RDM" ] About this software =================== -## irdmtools 0.0.59 +## irdmtools 0.0.60 ### Authors diff --git a/codemeta.json b/codemeta.json index e6ca9a3a..28d733e0 100644 --- a/codemeta.json +++ b/codemeta.json @@ -7,7 +7,7 @@ "dateRelease": "2023-11-14", "issueTracker": "https://github.com/caltechlibrary/irdmtools/issues", "name": "irdmtools", - "version": "0.0.59", + "version": "0.0.60", "description": "Tools for working with institutional repositories and data management systems. Current implementation targets Invenio-RDM.", "applicationCategory": "library science", "releaseNotes": "This is a proof of concept", diff --git a/doi2rdm.1.md b/doi2rdm.1.md index 888bc479..f2b2d90e 100644 --- a/doi2rdm.1.md +++ b/doi2rdm.1.md @@ -1,6 +1,6 @@ -%doi2rdm(1) irdmtools user manual | version 0.0.59 2f15a7b5 +%doi2rdm(1) irdmtools user manual | version 0.0.60 5bc81b11 % R. S. Doiel and Tom Morrell -% 2023-11-14 +% 2023-11-15 # NAME diff --git a/ep3util.1.md b/ep3util.1.md index ced59758..f6737531 100644 --- a/ep3util.1.md +++ b/ep3util.1.md @@ -1,6 +1,6 @@ -%ep3util(1) irdmtools user manual | version 0.0.59 2f15a7b5 +%ep3util(1) irdmtools user manual | version 0.0.60 5bc81b11 % R. S. Doiel and Tom Morrell -% 2023-11-14 +% 2023-11-15 # NAME diff --git a/eprint2rdm.1.md b/eprint2rdm.1.md index e8bfddb0..e158af5c 100644 --- a/eprint2rdm.1.md +++ b/eprint2rdm.1.md @@ -1,6 +1,6 @@ -%eprint2rdm(1) irdmtools user manual | version 0.0.59 2f15a7b5 +%eprint2rdm(1) irdmtools user manual | version 0.0.60 5bc81b11 % R. S. Doiel and Tom Morrell -% 2023-11-14 +% 2023-11-15 # NAME diff --git a/eprintrest.1.md b/eprintrest.1.md index 97a146ec..0a4f1b40 100644 --- a/eprintrest.1.md +++ b/eprintrest.1.md @@ -1,6 +1,6 @@ -%eprintrest(1) irdmtools user manual | version 0.0.59 2f15a7b5 +%eprintrest(1) irdmtools user manual | version 0.0.60 5bc81b11 % R. S. Doiel and Tom Morrell -% 2023-11-14 +% 2023-11-15 # NAME diff --git a/installer.sh b/installer.sh index 803c6e5e..a7dbe088 100755 --- a/installer.sh +++ b/installer.sh @@ -4,7 +4,7 @@ # Set the package name and version to install # PACKAGE="irdmtools" -VERSION="0.0.59" +VERSION="0.0.60" GIT_GROUP="caltechlibrary" RELEASE="https://github.com/$GIT_GROUP/$PACKAGE/releases/tag/v$VERSION" diff --git a/invenio_api.go b/invenio_api.go index a9eb858d..b5bbf26f 100644 --- a/invenio_api.go +++ b/invenio_api.go @@ -854,6 +854,7 @@ WHERE json->>'id' = $1 LIMIT 1;` if err != nil { return nil, err } + defer rows.Close() var src []byte for rows.Next() { if err := rows.Scan(&src); err != nil { @@ -866,6 +867,53 @@ WHERE json->>'id' = $1 LIMIT 1;` } rec := &simplified.Record{} err = JSONUnmarshal(src, &rec) + if err != nil { + return nil, err + } + + // Now we try to add Files.Entries to Record. + stmt = `WITH t AS ( + SELECT record_id AS record_id, + files_object.key AS key + FROM rdm_records_files + JOIN files_object ON (rdm_records_files.key = files_object.key) + ORDER BY files_object.key ASC +) SELECT + (CASE WHEN json->'files'->>'default_preview' = t.key THEN TRUE else FALSE END) AS is_default_preview, + t.key AS key +FROM t +JOIN rdm_records_metadata ON (t.record_id = rdm_records_metadata.id) +WHERE json->>'id' = $1` + entries, err := db.Query(stmt, rdmID) + if err != nil { + return nil, err + } + defer entries.Close() + var ( + isDefaultPreview bool + fName string + ) + fileEntries := map[string]*simplified.Entry{} + for entries.Next() { + if err := entries.Scan(&isDefaultPreview, &fName); err != nil { + return nil, err + } + fileEntries[fName] = &simplified.Entry{ + Key: fName, + } + if isDefaultPreview { + if rec.Files == nil { + rec.Files = &simplified.Files{} + } + rec.Files.DefaultPreview = fName + } + } + if len(fileEntries) > 0 { + if rec.Files == nil { + rec.Files = &simplified.Files{} + } + rec.Files.Entries = fileEntries + } return rec, err } diff --git a/man/man1/doi2rdm.1 b/man/man1/doi2rdm.1 index 9a16b7c9..1d340104 100644 --- a/man/man1/doi2rdm.1 +++ b/man/man1/doi2rdm.1 @@ -1,6 +1,6 @@ .\" Automatically generated by Pandoc 3.1.8 .\" -.TH "doi2rdm" "1" "2023-11-14" "irdmtools user manual" "version 0.0.59 2f15a7b5" +.TH "doi2rdm" "1" "2023-11-15" "irdmtools user manual" "version 0.0.60 5bc81b11" .SH NAME doi2rdm .SH SYNOPSIS diff --git a/man/man1/ep3util.1 b/man/man1/ep3util.1 index 34ce00d0..60d10f9a 100644 --- a/man/man1/ep3util.1 +++ b/man/man1/ep3util.1 @@ -1,6 +1,6 @@ .\" Automatically generated by Pandoc 3.1.8 .\" -.TH "ep3util" "1" "2023-11-14" "irdmtools user manual" "version 0.0.59 2f15a7b5" +.TH "ep3util" "1" "2023-11-15" "irdmtools user manual" "version 0.0.60 5bc81b11" .SH NAME ep3util .SH SYNOPSIS diff --git a/man/man1/eprint2rdm.1 b/man/man1/eprint2rdm.1 index c1bc373e..cbbe6d66 100644 --- a/man/man1/eprint2rdm.1 +++ b/man/man1/eprint2rdm.1 @@ -1,6 +1,6 @@ .\" Automatically generated by Pandoc 3.1.8 .\" -.TH "eprint2rdm" "1" "2023-11-14" "irdmtools user manual" "version 0.0.59 2f15a7b5" +.TH "eprint2rdm" "1" "2023-11-15" "irdmtools user manual" "version 0.0.60 5bc81b11" .SH NAME eprint2rdm .SH SYNOPSIS diff --git a/man/man1/eprintrest.1 b/man/man1/eprintrest.1 index 8df46053..80c1d229 100644 --- a/man/man1/eprintrest.1 +++ b/man/man1/eprintrest.1 @@ -1,6 +1,6 @@ .\" Automatically generated by Pandoc 3.1.8 .\" -.TH "eprintrest" "1" "2023-11-14" "irdmtools user manual" "version 0.0.59 2f15a7b5" +.TH "eprintrest" "1" "2023-11-15" "irdmtools user manual" "version 0.0.60 5bc81b11" .SH NAME eprintrest .SH SYNOPSIS diff --git a/man/man1/people2vocabulary.1 b/man/man1/people2vocabulary.1 index 61890c3e..32a358b1 100644 --- a/man/man1/people2vocabulary.1 +++ b/man/man1/people2vocabulary.1 @@ -1,6 +1,6 @@ .\" Automatically generated by Pandoc 3.1.8 .\" -.TH "people2vocabulary" "1" "2023-11-14" "irdmtools user manual" "version 0.0.59 2f15a7b5" +.TH "people2vocabulary" "1" "2023-11-15" "irdmtools user manual" "version 0.0.60 5bc81b11" .SH NAME people2vocabulary .SH SYNOPSIS diff --git a/man/man1/rdm2eprint.1 b/man/man1/rdm2eprint.1 index b1b8ce56..f812dd5a 100644 --- a/man/man1/rdm2eprint.1 +++ b/man/man1/rdm2eprint.1 @@ -1,6 +1,6 @@ .\" Automatically generated by Pandoc 3.1.8 .\" -.TH "rdm2eprint" "1" "2023-11-14" "irdmtools user manual" "version 0.0.59 2f15a7b5" +.TH "rdm2eprint" "1" "2023-11-15" "irdmtools user manual" "version 0.0.60 5bc81b11" .SH NAME rdm2eprint .SH SYNOPSIS diff --git a/man/man1/rdmutil.1 b/man/man1/rdmutil.1 index 56697125..53fe2e85 100644 --- a/man/man1/rdmutil.1 +++ b/man/man1/rdmutil.1 @@ -1,6 +1,6 @@ .\" Automatically generated by Pandoc 3.1.8 .\" -.TH "rdmutil" "1" "2023-11-14" "irdmtools user manual" "version 0.0.59 2f15a7b5" +.TH "rdmutil" "1" "2023-11-15" "irdmtools user manual" "version 0.0.60 5bc81b11" .SH NAME rdmutil .SH SYNOPSIS diff --git a/people2vocabulary.1.md b/people2vocabulary.1.md index d99fe247..7efb3874 100644 --- a/people2vocabulary.1.md +++ b/people2vocabulary.1.md @@ -1,6 +1,6 @@ -%people2vocabulary(1) irdmtools user manual | version 0.0.59 2f15a7b5 +%people2vocabulary(1) irdmtools user manual | version 0.0.60 5bc81b11 % R. S. Doiel -% 2023-11-14 +% 2023-11-15 # NAME diff --git a/rdm2eprint.1.md b/rdm2eprint.1.md index 4bb652a8..6e103d51 100644 --- a/rdm2eprint.1.md +++ b/rdm2eprint.1.md @@ -1,6 +1,6 @@ -%rdm2eprint(1) irdmtools user manual | version 0.0.59 2f15a7b5 +%rdm2eprint(1) irdmtools user manual | version 0.0.60 5bc81b11 % R. S. Doiel and Tom Morrell -% 2023-11-14 +% 2023-11-15 # NAME diff --git a/rdm2eprint.go b/rdm2eprint.go index 70d73dab..cfeb06c7 100644 --- a/rdm2eprint.go +++ b/rdm2eprint.go @@ -424,17 +424,31 @@ func CrosswalkRdmToEPrint(cfg *Config, rec *simplified.Record, eprint *eprinttoo eprint.OtherNumberingSystem.Append(otherNumberSystemItem) } } - // Finally we need to add our PrimaryObject - /* - primaryObject := make(map[string]interface{}) - primaryObject["basename"] = "" - primaryObject["url"] = "" - primaryObject["mime_type"] = "" - primaryObject["content"] = "" - primaryObject["license"] = "" - primaryObject["filesize"] = "" - primaryObject["version"] = "" - */ + if (rec.Files != nil) { + // Finally we need to add our Related and Primary Objects + defaultPreview := rec.Files.DefaultPreview + if rec.Files.Entries != nil { + for _, entry := range rec.Files.Entries { + if defaultPreview == "" { + defaultPreview = entry.Key + } + if defaultPreview == entry.Key { + eprint.PrimaryObject = map[string]interface{}{ + "basename": defaultPreview, + "url": fmt.Sprintf("/records/%s/files/%s", rec.ID, defaultPreview), + } + } else { + if eprint.RelatedObjects == nil { + eprint.RelatedObjects = []map[string]interface{}{} + } + eprint.RelatedObjects = append(eprint.RelatedObjects, map[string]interface{}{ + "basename": entry.Key, + "url": fmt.Sprintf("/records/%s/files/%s", rec.ID, entry.Key), + }) + } + } + } + } diff --git a/rdmutil.1.md b/rdmutil.1.md index 94b18abd..2f0e6e19 100644 --- a/rdmutil.1.md +++ b/rdmutil.1.md @@ -1,6 +1,6 @@ -%rdmutil(1) irdmtools user manual | version 0.0.59 2f15a7b5 +%rdmutil(1) irdmtools user manual | version 0.0.60 5bc81b11 % R. S. Doiel and Tom Morrell -% 2023-11-14 +% 2023-11-15 # NAME diff --git a/version.go b/version.go index cfd4a56f..372d7dfb 100644 --- a/version.go +++ b/version.go @@ -6,13 +6,13 @@ import ( const ( // Version number of release - Version = "0.0.59" + Version = "0.0.60" // ReleaseDate, the date version.go was generated - ReleaseDate = "2023-11-14" + ReleaseDate = "2023-11-15" // ReleaseHash, the Git hash when version.go was generated - ReleaseHash = "2f15a7b5" + ReleaseHash = "5bc81b11" LicenseText = ` Redistribution and use in source and binary forms, with or without From df21f20d8eb5f18b5d1acf927edea231df12c867 Mon Sep 17 00:00:00 2001 From: "R. S. Doiel" Date: Wed, 15 Nov 2023 12:13:43 -0800 Subject: [PATCH 2/2] Quick Save --- about.html | 2 +- doi2rdm.1.md | 2 +- ep3util.1.md | 2 +- eprint2rdm.1.md | 2 +- eprintrest.1.md | 2 +- man/man1/doi2rdm.1 | 2 +- man/man1/ep3util.1 | 2 +- man/man1/eprint2rdm.1 | 2 +- man/man1/eprintrest.1 | 2 +- man/man1/people2vocabulary.1 | 2 +- man/man1/rdm2eprint.1 | 2 +- man/man1/rdmutil.1 | 2 +- pagefind/fragment/unknown_717c15e.pf_fragment | Bin 0 -> 592 bytes pagefind/index/unknown_cb94d9f.pf_index | Bin 0 -> 23818 bytes pagefind/pagefind-entry.json | 2 +- .../pagefind.unknown_3f58e584a6621e3.pf_meta | Bin 0 -> 243 bytes people2vocabulary.1.md | 2 +- rdm2eprint.1.md | 2 +- rdmutil.1.md | 2 +- version.go | 2 +- 20 files changed, 17 insertions(+), 17 deletions(-) create mode 100644 pagefind/fragment/unknown_717c15e.pf_fragment create mode 100644 pagefind/index/unknown_cb94d9f.pf_index create mode 100644 pagefind/pagefind.unknown_3f58e584a6621e3.pf_meta diff --git a/about.html b/about.html index c6fc3ad0..9c840383 100644 --- a/about.html +++ b/about.html @@ -24,7 +24,7 @@

About this software

-

irdmtools 0.0.59

+

irdmtools 0.0.60

Authors

  • R. S. Doiel
  • diff --git a/doi2rdm.1.md b/doi2rdm.1.md index f2b2d90e..5a59f55e 100644 --- a/doi2rdm.1.md +++ b/doi2rdm.1.md @@ -1,4 +1,4 @@ -%doi2rdm(1) irdmtools user manual | version 0.0.60 5bc81b11 +%doi2rdm(1) irdmtools user manual | version 0.0.60 5fcd684f % R. S. Doiel and Tom Morrell % 2023-11-15 diff --git a/ep3util.1.md b/ep3util.1.md index f6737531..91fdefd7 100644 --- a/ep3util.1.md +++ b/ep3util.1.md @@ -1,4 +1,4 @@ -%ep3util(1) irdmtools user manual | version 0.0.60 5bc81b11 +%ep3util(1) irdmtools user manual | version 0.0.60 5fcd684f % R. S. Doiel and Tom Morrell % 2023-11-15 diff --git a/eprint2rdm.1.md b/eprint2rdm.1.md index e158af5c..f9a974be 100644 --- a/eprint2rdm.1.md +++ b/eprint2rdm.1.md @@ -1,4 +1,4 @@ -%eprint2rdm(1) irdmtools user manual | version 0.0.60 5bc81b11 +%eprint2rdm(1) irdmtools user manual | version 0.0.60 5fcd684f % R. S. Doiel and Tom Morrell % 2023-11-15 diff --git a/eprintrest.1.md b/eprintrest.1.md index 0a4f1b40..e55c8a65 100644 --- a/eprintrest.1.md +++ b/eprintrest.1.md @@ -1,4 +1,4 @@ -%eprintrest(1) irdmtools user manual | version 0.0.60 5bc81b11 +%eprintrest(1) irdmtools user manual | version 0.0.60 5fcd684f % R. S. Doiel and Tom Morrell % 2023-11-15 diff --git a/man/man1/doi2rdm.1 b/man/man1/doi2rdm.1 index 1d340104..6326ae0b 100644 --- a/man/man1/doi2rdm.1 +++ b/man/man1/doi2rdm.1 @@ -1,6 +1,6 @@ .\" Automatically generated by Pandoc 3.1.8 .\" -.TH "doi2rdm" "1" "2023-11-15" "irdmtools user manual" "version 0.0.60 5bc81b11" +.TH "doi2rdm" "1" "2023-11-15" "irdmtools user manual" "version 0.0.60 5fcd684f" .SH NAME doi2rdm .SH SYNOPSIS diff --git a/man/man1/ep3util.1 b/man/man1/ep3util.1 index 60d10f9a..d091db76 100644 --- a/man/man1/ep3util.1 +++ b/man/man1/ep3util.1 @@ -1,6 +1,6 @@ .\" Automatically generated by Pandoc 3.1.8 .\" -.TH "ep3util" "1" "2023-11-15" "irdmtools user manual" "version 0.0.60 5bc81b11" +.TH "ep3util" "1" "2023-11-15" "irdmtools user manual" "version 0.0.60 5fcd684f" .SH NAME ep3util .SH SYNOPSIS diff --git a/man/man1/eprint2rdm.1 b/man/man1/eprint2rdm.1 index cbbe6d66..9135cf81 100644 --- a/man/man1/eprint2rdm.1 +++ b/man/man1/eprint2rdm.1 @@ -1,6 +1,6 @@ .\" Automatically generated by Pandoc 3.1.8 .\" -.TH "eprint2rdm" "1" "2023-11-15" "irdmtools user manual" "version 0.0.60 5bc81b11" +.TH "eprint2rdm" "1" "2023-11-15" "irdmtools user manual" "version 0.0.60 5fcd684f" .SH NAME eprint2rdm .SH SYNOPSIS diff --git a/man/man1/eprintrest.1 b/man/man1/eprintrest.1 index 80c1d229..b54379fc 100644 --- a/man/man1/eprintrest.1 +++ b/man/man1/eprintrest.1 @@ -1,6 +1,6 @@ .\" Automatically generated by Pandoc 3.1.8 .\" -.TH "eprintrest" "1" "2023-11-15" "irdmtools user manual" "version 0.0.60 5bc81b11" +.TH "eprintrest" "1" "2023-11-15" "irdmtools user manual" "version 0.0.60 5fcd684f" .SH NAME eprintrest .SH SYNOPSIS diff --git a/man/man1/people2vocabulary.1 b/man/man1/people2vocabulary.1 index 32a358b1..8422ac6c 100644 --- a/man/man1/people2vocabulary.1 +++ b/man/man1/people2vocabulary.1 @@ -1,6 +1,6 @@ .\" Automatically generated by Pandoc 3.1.8 .\" -.TH "people2vocabulary" "1" "2023-11-15" "irdmtools user manual" "version 0.0.60 5bc81b11" +.TH "people2vocabulary" "1" "2023-11-15" "irdmtools user manual" "version 0.0.60 5fcd684f" .SH NAME people2vocabulary .SH SYNOPSIS diff --git a/man/man1/rdm2eprint.1 b/man/man1/rdm2eprint.1 index f812dd5a..dde57106 100644 --- a/man/man1/rdm2eprint.1 +++ b/man/man1/rdm2eprint.1 @@ -1,6 +1,6 @@ .\" Automatically generated by Pandoc 3.1.8 .\" -.TH "rdm2eprint" "1" "2023-11-15" "irdmtools user manual" "version 0.0.60 5bc81b11" +.TH "rdm2eprint" "1" "2023-11-15" "irdmtools user manual" "version 0.0.60 5fcd684f" .SH NAME rdm2eprint .SH SYNOPSIS diff --git a/man/man1/rdmutil.1 b/man/man1/rdmutil.1 index 53fe2e85..45f08b2f 100644 --- a/man/man1/rdmutil.1 +++ b/man/man1/rdmutil.1 @@ -1,6 +1,6 @@ .\" Automatically generated by Pandoc 3.1.8 .\" -.TH "rdmutil" "1" "2023-11-15" "irdmtools user manual" "version 0.0.60 5bc81b11" +.TH "rdmutil" "1" "2023-11-15" "irdmtools user manual" "version 0.0.60 5fcd684f" .SH NAME rdmutil .SH SYNOPSIS diff --git a/pagefind/fragment/unknown_717c15e.pf_fragment b/pagefind/fragment/unknown_717c15e.pf_fragment new file mode 100644 index 0000000000000000000000000000000000000000..d714874b48c806fa16a0c8a9068f1bdbc836e159 GIT binary patch literal 592 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

    QR_wQ1GNSRnqZE%T!wMte|uh9 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 literal 0 HcmV?d00001 diff --git a/people2vocabulary.1.md b/people2vocabulary.1.md index 7efb3874..b53d8b46 100644 --- a/people2vocabulary.1.md +++ b/people2vocabulary.1.md @@ -1,4 +1,4 @@ -%people2vocabulary(1) irdmtools user manual | version 0.0.60 5bc81b11 +%people2vocabulary(1) irdmtools user manual | version 0.0.60 5fcd684f % R. S. Doiel % 2023-11-15 diff --git a/rdm2eprint.1.md b/rdm2eprint.1.md index 6e103d51..03855583 100644 --- a/rdm2eprint.1.md +++ b/rdm2eprint.1.md @@ -1,4 +1,4 @@ -%rdm2eprint(1) irdmtools user manual | version 0.0.60 5bc81b11 +%rdm2eprint(1) irdmtools user manual | version 0.0.60 5fcd684f % R. S. Doiel and Tom Morrell % 2023-11-15 diff --git a/rdmutil.1.md b/rdmutil.1.md index 2f0e6e19..0fea23bb 100644 --- a/rdmutil.1.md +++ b/rdmutil.1.md @@ -1,4 +1,4 @@ -%rdmutil(1) irdmtools user manual | version 0.0.60 5bc81b11 +%rdmutil(1) irdmtools user manual | version 0.0.60 5fcd684f % R. S. Doiel and Tom Morrell % 2023-11-15 diff --git a/version.go b/version.go index 372d7dfb..55418f6d 100644 --- a/version.go +++ b/version.go @@ -12,7 +12,7 @@ const ( ReleaseDate = "2023-11-15" // ReleaseHash, the Git hash when version.go was generated - ReleaseHash = "5bc81b11" + ReleaseHash = "5fcd684f" LicenseText = ` Redistribution and use in source and binary forms, with or without