{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":54917218,"defaultBranch":"master","name":"bdbag","ownerLogin":"fair-research","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2016-03-28T19:16:33.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/37424177?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1715714802.0","currentOid":""},"activityList":{"items":[{"before":"f6342e0b16001c6d5975e4ea2253982254890ec8","after":"efc1d336f13e71b353e8c5de08487d1869e72705","ref":"refs/heads/master","pushedAt":"2024-05-10T19:36:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikedarcy","name":"Mike D'Arcy","path":"/mikedarcy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6675943?s=80&v=4"},"commit":{"message":"Do _not_ revert bag when updating a bag with `strict` enabled.\nUpdate docs and unit tests.","shortMessageHtmlLink":"Do _not_ revert bag when updating a bag with strict enabled."}},{"before":"5ac6f4bbd914863833cd55698cc6748a78d2b3cd","after":"f6342e0b16001c6d5975e4ea2253982254890ec8","ref":"refs/heads/master","pushedAt":"2024-05-10T18:59:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikedarcy","name":"Mike D'Arcy","path":"/mikedarcy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6675943?s=80&v=4"},"commit":{"message":"Added a new option `strict` to the `make_bag` API function, along with a corresponding CLI argument. If `strict` is enabled,\n`make_bag` will automatically validate a newly created or updated bag for structural validity and fail if the resultant bag is invalid. This can be used to ensure that a bag is not persisted without payload file manifests. Additionally, if the created or updated output bag is not structurally valid, the bag will subsequently be reverted back to a normal directory and a BagValidationError exception will be thrown.\nUpdated unit tests and docs.","shortMessageHtmlLink":"Added a new option strict to the make_bag API function, along wit…"}},{"before":"36bfad157d8f490988c79ccba557ef7b213c981b","after":"5ac6f4bbd914863833cd55698cc6748a78d2b3cd","ref":"refs/heads/master","pushedAt":"2024-05-07T05:46:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikedarcy","name":"Mike D'Arcy","path":"/mikedarcy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6675943?s=80&v=4"},"commit":{"message":"Update CHANGELOG.md [ci skip]","shortMessageHtmlLink":"Update CHANGELOG.md [ci skip]"}},{"before":"4e8f87268ea4519d73eddeea7419aa1ae1ea2e37","after":"36bfad157d8f490988c79ccba557ef7b213c981b","ref":"refs/heads/master","pushedAt":"2024-05-07T05:27:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikedarcy","name":"Mike D'Arcy","path":"/mikedarcy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6675943?s=80&v=4"},"commit":{"message":"Fix erroneous encoding of `%` char in URL field of `fetch.txt` which could break any already properly encoded URLs. This was due to a misinterpretation of the spec which stated that `%` should _only_ be URL encoded for the `filename` field. Per spec _only_ whitespace should be encoded in the URL field.\nUpdated unit tests to reflect these changes.\nBump version.","shortMessageHtmlLink":"Fix erroneous encoding of % char in URL field of fetch.txt which …"}},{"before":"594b8e61c4963b7f1f216184591f1e64a08e9bc9","after":"4e8f87268ea4519d73eddeea7419aa1ae1ea2e37","ref":"refs/heads/master","pushedAt":"2024-03-15T05:21:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikedarcy","name":"Mike D'Arcy","path":"/mikedarcy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6675943?s=80&v=4"},"commit":{"message":"Update README.md\n\nUpdate supported Python 3 versions.","shortMessageHtmlLink":"Update README.md"}},{"before":"4c2d158879ef015c31fceeadfd193ea3eeb59f38","after":"594b8e61c4963b7f1f216184591f1e64a08e9bc9","ref":"refs/heads/master","pushedAt":"2024-03-14T20:40:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikedarcy","name":"Mike D'Arcy","path":"/mikedarcy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6675943?s=80&v=4"},"commit":{"message":"Update documentation for release. [ci skip]","shortMessageHtmlLink":"Update documentation for release. [ci skip]"}},{"before":"01916e62f221a980a0633d1c966f7fb790ad5d5e","after":null,"ref":"refs/heads/dependabot/pip/cryptography-41.0.4","pushedAt":"2024-03-13T23:08:12.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":"9f1d2b374d7e3dc9ae088b7ae5791fd6f8584e95","after":null,"ref":"refs/heads/dependabot/pip/urllib3-1.26.18","pushedAt":"2024-03-13T23:07:57.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":"13f1d2cfb63a6971d6be852142a8971461b6114f","after":"4c2d158879ef015c31fceeadfd193ea3eeb59f38","ref":"refs/heads/master","pushedAt":"2024-03-13T23:02:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikedarcy","name":"Mike D'Arcy","path":"/mikedarcy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6675943?s=80&v=4"},"commit":{"message":"Some fixes to recent changes to support Python 2.7. Yes it is long since EOL but there are still some distros that support it. The unit tests do pass on 2.7 even though they are not run in GH Actions.\nUpdated unit tests to reflect 2.7 compatibility issues.\nUpdate Pipfile, Pipfile.lock, and setup.py.","shortMessageHtmlLink":"Some fixes to recent changes to support Python 2.7. Yes it is long si…"}},{"before":"15f22fb29bb7d054ef3e328f9f2938ecfe959a86","after":"13f1d2cfb63a6971d6be852142a8971461b6114f","ref":"refs/heads/master","pushedAt":"2024-03-13T18:47:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikedarcy","name":"Mike D'Arcy","path":"/mikedarcy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6675943?s=80&v=4"},"commit":{"message":"Remove dependency on deprecated distutils.util.strtobool function.","shortMessageHtmlLink":"Remove dependency on deprecated distutils.util.strtobool function."}},{"before":"d3e7d7855ac61c9b46891d2c6e49b988e21baeb3","after":"15f22fb29bb7d054ef3e328f9f2938ecfe959a86","ref":"refs/heads/master","pushedAt":"2024-03-05T04:27:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikedarcy","name":"Mike D'Arcy","path":"/mikedarcy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6675943?s=80&v=4"},"commit":{"message":"Don't try to instantiate a Bag instance on non-directories in `is_bag`.\nDon't preserve `mtime` for payload files in idempotent mode. There are arguments for/against this but there is ultimately more broad utility in eliminating it. At some point there must be a tradeoff; if this information is important to preserve, idempotent mode should not be used.\nSimilarly, when extracting a tar-based archive, if `mtime` is set to zero (i.e. epoch), use the tarfile extraction filter to set `mtime` to None which will cause tarfile to suppress preserving the mtime in the extracted file. This should work in every version that has the back-ported extraction filter support. Python versions less than 3.8 won't be able to do this but those are deprecated and are going to be unsupported by bdbag soon.\nAdd Python 3.12 into GH Actions tests.\nRemove travis.yml.","shortMessageHtmlLink":"Don't try to instantiate a Bag instance on non-directories in is_bag."}},{"before":"f8d81362ceaff7a0328dd89257655cfcb3f7d111","after":"d3e7d7855ac61c9b46891d2c6e49b988e21baeb3","ref":"refs/heads/master","pushedAt":"2024-02-14T00:10:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikedarcy","name":"Mike D'Arcy","path":"/mikedarcy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6675943?s=80&v=4"},"commit":{"message":"Fix issue with HTTP fetch handler and auth header bearer-token stripping on redirects not getting restored to the session after redirect. Thought this was fixed already but apparently not.\nAdded a couple of extra logging statements.","shortMessageHtmlLink":"Fix issue with HTTP fetch handler and auth header bearer-token stripp…"}},{"before":"42e3e8c58e10acdc83888ab6e4a4b7cc2541351d","after":"f8d81362ceaff7a0328dd89257655cfcb3f7d111","ref":"refs/heads/master","pushedAt":"2024-01-12T20:59:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikedarcy","name":"Mike D'Arcy","path":"/mikedarcy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6675943?s=80&v=4"},"commit":{"message":"Add comment regarding source of code for reproducible zip archiving in `zip_bag_dir`. [ci skip]","shortMessageHtmlLink":"Add comment regarding source of code for reproducible zip archiving i…"}},{"before":"1f463278c37f44f5bc04426b09d07cda67151557","after":"42e3e8c58e10acdc83888ab6e4a4b7cc2541351d","ref":"refs/heads/master","pushedAt":"2023-12-15T04:39:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikedarcy","name":"Mike D'Arcy","path":"/mikedarcy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6675943?s=80&v=4"},"commit":{"message":"Update coverage.","shortMessageHtmlLink":"Update coverage."}},{"before":"8ee285059caa71a0789179b8d57b03010ac00e7f","after":"1f463278c37f44f5bc04426b09d07cda67151557","ref":"refs/heads/master","pushedAt":"2023-12-15T04:10:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikedarcy","name":"Mike D'Arcy","path":"/mikedarcy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6675943?s=80&v=4"},"commit":{"message":"Archiving overhaul with updated unit tests. Doc updates TBD. Bump version.\n\nEnabled use of tarfile module's `data_filter` on TAR extraction due to security vulnerabilities. An exception will be thrown if the installed Python version doesn't have support for `data_filter`. This can be overridden in the config file.\nReworked archive creation to support idempotent or \"reproducible\" bag archives. These are archive files which will hash equivalently after compression. This is done by removing timestamp metadata from bag-info.txt and setting the `mtime` for all non-payload files to a fixed value (unix epoch) in the archive.","shortMessageHtmlLink":"Archiving overhaul with updated unit tests. Doc updates TBD. Bump ver…"}},{"before":"3daccacc7324b5604453b9fbb971e005a7b28cee","after":"8ee285059caa71a0789179b8d57b03010ac00e7f","ref":"refs/heads/master","pushedAt":"2023-12-04T18:11:55.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"mikedarcy","name":"Mike D'Arcy","path":"/mikedarcy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6675943?s=80&v=4"},"commit":{"message":"Merge pull request #59 from mr-c/version_importlib_metadata_dep\n\nOnly require importlib_metadata for Python<3.8","shortMessageHtmlLink":"Merge pull request #59 from mr-c/version_importlib_metadata_dep"}},{"before":"4441e133fe6f6daaab84fa6e0a6064377b26ffe0","after":null,"ref":"refs/heads/dependabot/pip/urllib3-1.26.17","pushedAt":"2023-10-18T00:59:02.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":null,"after":"9f1d2b374d7e3dc9ae088b7ae5791fd6f8584e95","ref":"refs/heads/dependabot/pip/urllib3-1.26.18","pushedAt":"2023-10-18T00:58:57.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump urllib3 from 1.26.16 to 1.26.18\n\nBumps [urllib3](https://github.com/urllib3/urllib3) from 1.26.16 to 1.26.18.\n- [Release notes](https://github.com/urllib3/urllib3/releases)\n- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)\n- [Commits](https://github.com/urllib3/urllib3/compare/1.26.16...1.26.18)\n\n---\nupdated-dependencies:\n- dependency-name: urllib3\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"Bump urllib3 from 1.26.16 to 1.26.18"}},{"before":null,"after":"4441e133fe6f6daaab84fa6e0a6064377b26ffe0","ref":"refs/heads/dependabot/pip/urllib3-1.26.17","pushedAt":"2023-10-03T04:00:40.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump urllib3 from 1.26.16 to 1.26.17\n\nBumps [urllib3](https://github.com/urllib3/urllib3) from 1.26.16 to 1.26.17.\n- [Release notes](https://github.com/urllib3/urllib3/releases)\n- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)\n- [Commits](https://github.com/urllib3/urllib3/compare/1.26.16...1.26.17)\n\n---\nupdated-dependencies:\n- dependency-name: urllib3\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"Bump urllib3 from 1.26.16 to 1.26.17"}},{"before":"eb9b2ea3a16fba7ea9b779e2c0c7b70d8d5f083a","after":null,"ref":"refs/heads/dependabot/pip/cryptography-41.0.3","pushedAt":"2023-09-21T20:52:20.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":null,"after":"01916e62f221a980a0633d1c966f7fb790ad5d5e","ref":"refs/heads/dependabot/pip/cryptography-41.0.4","pushedAt":"2023-09-21T20:52:15.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump cryptography from 41.0.2 to 41.0.4\n\nBumps [cryptography](https://github.com/pyca/cryptography) from 41.0.2 to 41.0.4.\n- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)\n- [Commits](https://github.com/pyca/cryptography/compare/41.0.2...41.0.4)\n\n---\nupdated-dependencies:\n- dependency-name: cryptography\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"Bump cryptography from 41.0.2 to 41.0.4"}},{"before":"ba61c4cc553427141a96719571abbc6e4009dab6","after":"3daccacc7324b5604453b9fbb971e005a7b28cee","ref":"refs/heads/master","pushedAt":"2023-08-21T22:17:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikedarcy","name":"Mike D'Arcy","path":"/mikedarcy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6675943?s=80&v=4"},"commit":{"message":"Update README.md [skip ci]\n\nUpdate badge link","shortMessageHtmlLink":"Update README.md [skip ci]"}},{"before":null,"after":"eb9b2ea3a16fba7ea9b779e2c0c7b70d8d5f083a","ref":"refs/heads/dependabot/pip/cryptography-41.0.3","pushedAt":"2023-08-02T02:31:03.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump cryptography from 41.0.2 to 41.0.3\n\nBumps [cryptography](https://github.com/pyca/cryptography) from 41.0.2 to 41.0.3.\n- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)\n- [Commits](https://github.com/pyca/cryptography/compare/41.0.2...41.0.3)\n\n---\nupdated-dependencies:\n- dependency-name: cryptography\n dependency-type: indirect\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"Bump cryptography from 41.0.2 to 41.0.3"}},{"before":"7629468c37271a2faf5927825406766de718c8f9","after":null,"ref":"refs/heads/dependabot/pip/cryptography-39.0.1","pushedAt":"2023-07-30T06:19:48.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":"33043d5955dfb983a504a1fd61e46f510182beb1","after":"ba61c4cc553427141a96719571abbc6e4009dab6","ref":"refs/heads/master","pushedAt":"2023-07-30T03:28:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikedarcy","name":"Mike D'Arcy","path":"/mikedarcy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6675943?s=80&v=4"},"commit":{"message":"Fix inaccurate wording.","shortMessageHtmlLink":"Fix inaccurate wording."}},{"before":"4e5303778f8218bf73e63a2aac6bf3526ff5f4db","after":"33043d5955dfb983a504a1fd61e46f510182beb1","ref":"refs/heads/master","pushedAt":"2023-07-30T02:51:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikedarcy","name":"Mike D'Arcy","path":"/mikedarcy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6675943?s=80&v=4"},"commit":{"message":"Fix issue with packaging.parse throwing InvalidVersion in the upgrade_config() function when trying to parse the informational version string VERSION set by bdbag when it is running in a \"frozen\" (e.g., with cx_Freeze) environment. In such cases, VERSION is set to something like 1.7.1-frozen, which is not PEP-440 compliant. This was not an issue in previous releases due to the fact that the implementation used pkg_resources.parse_version which was not as strict.\n\nThe code in upgrade_config() has been changed to parse the PEP-440 compliant version returned by packaging.parse rather than use the global string VERSION, which can still be (and is) used elsewhere for purely informational and descriptive purposes.\n\nUnfortunately this wasn't caught be unit testing before the release because of the complexity of unit testing pre-built frozen environments. It wasn't until other automation that freezes `bdbag` into a pre-built installable software package generated an installer that was tested manually did it get exposed.","shortMessageHtmlLink":"Fix issue with packaging.parse throwing InvalidVersion in the upgrade…"}},{"before":"cddc50d0a1a099d83f3be3410e2131ba353961b9","after":null,"ref":"refs/heads/fetch-refactor","pushedAt":"2023-07-30T00:47:24.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"mikedarcy","name":"Mike D'Arcy","path":"/mikedarcy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6675943?s=80&v=4"}},{"before":"76ea734c666d753cefee9ce3fee58fa1d9826106","after":"4e5303778f8218bf73e63a2aac6bf3526ff5f4db","ref":"refs/heads/master","pushedAt":"2023-07-25T19:27:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikedarcy","name":"Mike D'Arcy","path":"/mikedarcy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6675943?s=80&v=4"},"commit":{"message":"Fix doc wording. [ci skip]","shortMessageHtmlLink":"Fix doc wording. [ci skip]"}},{"before":"fdb56f33d68257e1452d40f30c41615d44f1bf95","after":"76ea734c666d753cefee9ce3fee58fa1d9826106","ref":"refs/heads/master","pushedAt":"2023-07-25T18:36:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikedarcy","name":"Mike D'Arcy","path":"/mikedarcy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6675943?s=80&v=4"},"commit":{"message":"Set version for release.","shortMessageHtmlLink":"Set version for release."}},{"before":"6f40683c6eebecb01f2b80dfa1d25c1c5a1b3ec7","after":"fdb56f33d68257e1452d40f30c41615d44f1bf95","ref":"refs/heads/master","pushedAt":"2023-07-25T16:52:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"mikedarcy","name":"Mike D'Arcy","path":"/mikedarcy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6675943?s=80&v=4"},"commit":{"message":"Refine profile serialization validation logic in CLI a bit more.","shortMessageHtmlLink":"Refine profile serialization validation logic in CLI a bit more."}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAERuEz8gA","startCursor":null,"endCursor":null}},"title":"Activity · fair-research/bdbag"}