{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":2985492,"defaultBranch":"develop","name":"bugwarrior","ownerLogin":"GothenburgBitFactory","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2011-12-15T05:02:33.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/36100920?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1700489324.0","currentOid":""},"activityList":{"items":[{"before":"1096ed6e33a41f2156089d8e5ae2e49ed0ce20f2","after":"20972fb9dd4bcadb954acd29f05ce839950b515b","ref":"refs/heads/develop","pushedAt":"2024-03-27T21:19:40.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"ryneeverett","name":null,"path":"/ryneeverett","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3280280?s=80&v=4"},"commit":{"message":"service.Issue: Remove \"mapping type\" methods\n\nhttps://docs.python.org/3/library/stdtypes.html#mapping-types-dict\n\nWe're no longer relying on implicit `dict()` conversion and are rather\nusing the `get_taskwarrior_record()` method directly.\n\nI assume the original motivation for this was convenience of use in\nthird-party applications which used bugwarrior as a library. As far as I\nknow no such applications are still in use.\n\nIn preparation for documenting and stabilizing the base class interfaces\n(#791) I'd like to cut them back to a minimum. Maybe the mapping type\ncould be added back some day if there were demand for it, but it would\nthen need to conform to a standard of testing a documentation I plan to\nimplement.","shortMessageHtmlLink":"service.Issue: Remove \"mapping type\" methods"}},{"before":"f6e9dc312dad865fb93ecf97ab006327baee0bc2","after":"1096ed6e33a41f2156089d8e5ae2e49ed0ce20f2","ref":"refs/heads/develop","pushedAt":"2024-03-02T05:34:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ryneeverett","name":null,"path":"/ryneeverett","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3280280?s=80&v=4"},"commit":{"message":"Adding draft status for GH and Gerrit (#1035)\n\n* Adding new UDAs to github and gerrit\r\n\r\nThese show the draft/wip status for both services\r\n\r\nSigned-off-by: Jorge Gallegos \r\n\r\n* Updating test cases to account for new UDAs\r\n\r\nSigned-off-by: Jorge Gallegos \r\n\r\n* wip/draft should be a numeric, make it like gitlab\r\n\r\nSigned-off-by: Jorge Gallegos \r\n\r\n* add tests for draft/wip status and update UDA\r\n\r\nSigned-off-by: Jorge Gallegos \r\n\r\n---------\r\n\r\nSigned-off-by: Jorge Gallegos ","shortMessageHtmlLink":"Adding draft status for GH and Gerrit (#1035)"}},{"before":"bfe238a9e60bf10e0d276b51a4a250508add91bb","after":"f6e9dc312dad865fb93ecf97ab006327baee0bc2","ref":"refs/heads/develop","pushedAt":"2024-02-22T02:17:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ryneeverett","name":null,"path":"/ryneeverett","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3280280?s=80&v=4"},"commit":{"message":"gmail: add pagination support\n\nCo-authored-by: ryneeverett ","shortMessageHtmlLink":"gmail: add pagination support"}},{"before":"8fbc9c0d304218fa788452624a3fd776fa81f388","after":"bfe238a9e60bf10e0d276b51a4a250508add91bb","ref":"refs/heads/develop","pushedAt":"2024-02-13T03:16:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ryneeverett","name":null,"path":"/ryneeverett","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3280280?s=80&v=4"},"commit":{"message":"gitbug: Correctly expand user home directory\n\nPreviously, providing '~' as part of the path to a gitbug remote would\nnot correctly expand to the user's home directory and error out with\ndirectory not found.\n\nThis commit fixes the behavior to correctly expand the path instead,\naligning behavior with that of the taskrc configuration option and other\nservices' path expansion.","shortMessageHtmlLink":"gitbug: Correctly expand user home directory"}},{"before":"77d297907368138274901b48d44f4a3d4aa9c8df","after":"8fbc9c0d304218fa788452624a3fd776fa81f388","ref":"refs/heads/develop","pushedAt":"2024-02-02T20:48:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ryneeverett","name":null,"path":"/ryneeverett","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3280280?s=80&v=4"},"commit":{"message":"CI: Fix pillow installation in multiarch builds","shortMessageHtmlLink":"CI: Fix pillow installation in multiarch builds"}},{"before":"d5ab94a219a678ff17f58e6731a03b65d6b6053c","after":"77d297907368138274901b48d44f4a3d4aa9c8df","ref":"refs/heads/develop","pushedAt":"2024-02-02T19:41:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ryneeverett","name":null,"path":"/ryneeverett","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3280280?s=80&v=4"},"commit":{"message":"services.IssueService: Remove unused get_author\n\nDefining this method on the base class gave the impression that it was a\nrequired method and services started implementing it even though it is\nunused.","shortMessageHtmlLink":"services.IssueService: Remove unused get_author"}},{"before":"a2d601630bf405d29747a95a4b5038c706a46bf5","after":"d5ab94a219a678ff17f58e6731a03b65d6b6053c","ref":"refs/heads/develop","pushedAt":"2024-01-03T01:35:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ryneeverett","name":null,"path":"/ryneeverett","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3280280?s=80&v=4"},"commit":{"message":"python-3.11 compatibility\n\nResolve #1021.","shortMessageHtmlLink":"python-3.11 compatibility"}},{"before":"53b627449e7c3712018965fca024cccb5ac72d7c","after":"a2d601630bf405d29747a95a4b5038c706a46bf5","ref":"refs/heads/develop","pushedAt":"2023-12-31T20:05:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ryneeverett","name":null,"path":"/ryneeverett","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3280280?s=80&v=4"},"commit":{"message":"docs: Change links to bugwarrior.readthedocs.io\n\nOne way or another #812 is now resolved and the docs started building a\ncouple weeks ago for the first time in 5 years.","shortMessageHtmlLink":"docs: Change links to bugwarrior.readthedocs.io"}},{"before":"c7ba70d06651fd3f1a41aac59db37aff0870ae66","after":"53b627449e7c3712018965fca024cccb5ac72d7c","ref":"refs/heads/develop","pushedAt":"2023-12-31T18:53:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ryneeverett","name":null,"path":"/ryneeverett","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3280280?s=80&v=4"},"commit":{"message":"docs: Fix toml tab bug. Resolve #1024.","shortMessageHtmlLink":"docs: Fix toml tab bug. Resolve #1024."}},{"before":"11f328f0db25262174c25b0198675041641a9d7f","after":"c7ba70d06651fd3f1a41aac59db37aff0870ae66","ref":"refs/heads/develop","pushedAt":"2023-12-17T04:01:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ryneeverett","name":null,"path":"/ryneeverett","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3280280?s=80&v=4"},"commit":{"message":"Break collect functions from services/__init__.py\n\nThese functions are unrelated to the service classes and are really\nabout managing the high-level control flow of issue aggregation.\n\nAs an additional benefit, this kills off what I believe are the last of\nour ugly workarounds to avoid circular-dependencies (in db.py).","shortMessageHtmlLink":"Break collect functions from services/__init__.py"}},{"before":"0a6c9adec6702c7fc392900f6dc6b2aa359f3227","after":"11f328f0db25262174c25b0198675041641a9d7f","ref":"refs/heads/develop","pushedAt":"2023-12-09T04:08:12.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ryneeverett","name":null,"path":"/ryneeverett","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3280280?s=80&v=4"},"commit":{"message":"readthedocs: add required build configuration\n\nResolve #1022\n\nSee docs which now show that these options are required: .","shortMessageHtmlLink":"readthedocs: add required build configuration"}},{"before":"eb19a702a698f9c8c3ce2a1fe41f35872d9ae398","after":"0a6c9adec6702c7fc392900f6dc6b2aa359f3227","ref":"refs/heads/develop","pushedAt":"2023-12-08T19:55:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ryneeverett","name":null,"path":"/ryneeverett","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3280280?s=80&v=4"},"commit":{"message":"support for python 3.12 (#1019)\n\n* add support for python 3.12\r\n\r\npython3.12 removed `readfp()`, recommended to use `read_file()` instead\r\n\r\n* Add versions 3.10 through 3.12 to test matrix\r\n\r\n* CI: fix\r\n\r\n- avoid decimal rounding\r\n- pull back 3.11 and 3.12 since we still have some issues to work\r\n through\r\n\r\n---------\r\n\r\nCo-authored-by: ryneeverett ","shortMessageHtmlLink":"support for python 3.12 (#1019)"}},{"before":null,"after":"4c09dec05c624597172cf4bdac728b9a2c8fe1a7","ref":"refs/heads/readfp-deprecated","pushedAt":"2023-11-20T14:08:44.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"ralphbean","name":"Ralph Bean","path":"/ralphbean","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/331338?s=80&v=4"},"commit":{"message":"read_file replaces readfp\n\nhttps://docs.python.org/3/library/configparser.html#configparser.ConfigParser.read_file","shortMessageHtmlLink":"read_file replaces readfp"}},{"before":"15ac6a2197f490db3cf9b5a4a934b5a41804ce76","after":"eb19a702a698f9c8c3ce2a1fe41f35872d9ae398","ref":"refs/heads/develop","pushedAt":"2023-11-04T04:02:51.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"ryneeverett","name":null,"path":"/ryneeverett","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3280280?s=80&v=4"},"commit":{"message":"ini2toml: Allow paths for gitlab.verify_ssl\n\nThis fixes the docs build which was failing in CI.","shortMessageHtmlLink":"ini2toml: Allow paths for gitlab.verify_ssl"}},{"before":"f3c5bb18dd9d4e68da8c10cfec837f6cb3895acd","after":"15ac6a2197f490db3cf9b5a4a934b5a41804ce76","ref":"refs/heads/develop","pushedAt":"2023-10-13T20:32:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ryneeverett","name":null,"path":"/ryneeverett","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3280280?s=80&v=4"},"commit":{"message":"services.Issue: directly access configuration\n\nRather than using the `origin` dictionary to pass configuration values\nfrom Service to Issue, give `Issue` direct access to the `config` and\n`main_config` objects.\n\nThere are several advantages to this approach:\n\n1. \"Origin\" is an unclear name of which a developer has to build a\n conception. It's elimination means the (more straightforward)\n conception of \"config\" can be transferred from the `Service` object.\n That's one fewer concept for developers to juggle, which is good for\n bugwarrior core maintenance and for service development.\n2. Elimination of `get_service_metadata`. This method's name also does\n not really convey it's purpose and I was unsurprised to find that\n many services pass data through this method which is never actually\n used by the `Issue`.\n3. Decoupling `Service` and `Issue`. Changes that only involve `Issue`\n and configuration no longer require meddling with `Service`, which\n is just a middle man.\n4. Elimination of bidirectional communication between `Service` base\n class and instances. The child classes were calling\n `self.get_issue_for_record` on the base class, which was calling\n `self.get_service_metadata` on the child class. In some ways this is\n a re-iteration of point (2) -- this is a pattern that leads to\n confusion and to me is a code smell.\n\nThe architectural trade-off is that `Issue` is now directly coupled to\nconfiguration, but in my opinion the previous indirection was merely a\nvicarious coupling that doesn't provide much benefit any more. When this\ndesign was first implemented, configuration was parsed in the `Service`\nclass, so it made sense because it avoided duplication of parsing and\nprovided consistency; this is no longer a relevant consideration.\n\nThis is largely motivated by a desire to simplify services for #775.","shortMessageHtmlLink":"services.Issue: directly access configuration"}},{"before":"02df55b43d80db05dc3e402ec2b984a7fa0b32d4","after":"f3c5bb18dd9d4e68da8c10cfec837f6cb3895acd","ref":"refs/heads/develop","pushedAt":"2023-10-06T18:24:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ryneeverett","name":null,"path":"/ryneeverett","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3280280?s=80&v=4"},"commit":{"message":"Add target to service config.\n\nThis avoids having to pass the target separately into the service\nconstructor. It is also consistent with the broad conception of\nconfiguration we use elsewhere (such as the `interactive` field), which\nincludes any modification of default behavior based on user input. In\nthis case the `target` is literally coming from the configuration file\nso it is reasonable that we should be able to access it through the\nconfiguration object.\n\nThis is also motivated by simplifying the base class API's before\nstabilizing them (#775).","shortMessageHtmlLink":"Add target to service config."}},{"before":"7cd4612bc66afa90e8f4eb5a1a2593f5cfa10258","after":"02df55b43d80db05dc3e402ec2b984a7fa0b32d4","ref":"refs/heads/develop","pushedAt":"2023-10-06T15:18:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ryneeverett","name":null,"path":"/ryneeverett","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3280280?s=80&v=4"},"commit":{"message":"config: don't mutate main section fields\n\n- Add `general.interactive` value before validation.\n- Compute `general.data` within the model.\n\nThis has a couple advantages:\n\n- Disallowing model mutation kills a class of potential bugs.\n- The `interactive` field is now validated, which would have avoided the\n bug fixed in #974.","shortMessageHtmlLink":"config: don't mutate main section fields"}},{"before":"740afbd0e3ed03d3f8da529d99a066fbf5a6af23","after":"7cd4612bc66afa90e8f4eb5a1a2593f5cfa10258","ref":"refs/heads/develop","pushedAt":"2023-08-30T00:39:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ryneeverett","name":null,"path":"/ryneeverett","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3280280?s=80&v=4"},"commit":{"message":"Enable using system keyring for accesstoken/PAT with azuredevops (#1000)\n\n* Added support for @oracle with AzureDeVops, and fetching password using system keyring\r\n\r\n* Fixed typo\r\n\r\n* Fixed flake8 formatting complaints","shortMessageHtmlLink":"Enable using system keyring for accesstoken/PAT with azuredevops (#1000)"}},{"before":"38b9ae1d69f7059a273b45b329858372ba8094e2","after":"740afbd0e3ed03d3f8da529d99a066fbf5a6af23","ref":"refs/heads/develop","pushedAt":"2023-07-23T17:13:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ryneeverett","name":null,"path":"/ryneeverett","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3280280?s=80&v=4"},"commit":{"message":"[WIP] youtrack api changes (#982)\n\n* youtrack api changes\r\n\r\n* youtrack docs: added token info\r\n\r\n* ignore PEP8 E501 warning on url in test\r\n\r\n* fixed PEP8 E501 warning\r\n\r\n* youtrack: Use get_password\r\n\r\n---------\r\n\r\nCo-authored-by: Peter De Bruycker \r\nCo-authored-by: ryneeverett ","shortMessageHtmlLink":"[WIP] youtrack api changes (#982)"}},{"before":"ad3f72462bb7929a082aacc7cc39993a40154680","after":"38b9ae1d69f7059a273b45b329858372ba8094e2","ref":"refs/heads/develop","pushedAt":"2023-07-23T14:06:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ryneeverett","name":null,"path":"/ryneeverett","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3280280?s=80&v=4"},"commit":{"message":"CI: update actions to support node16\n\nIt appears that the node12 deprecation warning was converted to an\nerror, breaking CI.","shortMessageHtmlLink":"CI: update actions to support node16"}},{"before":"779fd1f51e3d75f6ddea51baf4a4512acbb04853","after":"ad3f72462bb7929a082aacc7cc39993a40154680","ref":"refs/heads/develop","pushedAt":"2023-07-17T05:21:37.000Z","pushType":"pr_merge","commitsCount":7,"pusher":{"login":"ryneeverett","name":null,"path":"/ryneeverett","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3280280?s=80&v=4"},"commit":{"message":"docs: dual ini/toml documentation\n\n- Add sphinx-inline-tabs as a development dependency.\n- Create a \"config\" directive for configuration blocks, which converts\n an ini code block into tabs with both configuration languages.","shortMessageHtmlLink":"docs: dual ini/toml documentation"}},{"before":"54f5396038a8dbcbebbf71826b73ca6c02dc44c5","after":"779fd1f51e3d75f6ddea51baf4a4512acbb04853","ref":"refs/heads/develop","pushedAt":"2023-07-14T18:24:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ryneeverett","name":null,"path":"/ryneeverett","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3280280?s=80&v=4"},"commit":{"message":"gitlab: Begin migrating owned to default to True\n\nPer discussion in #986, this has a few benefits:\n\n- Our example configuration will actually be valid since it uses\ngitlab.com as a host but does not define a filter.\n- More similar default behavior to other services, such as github.\n- Hopefully less confusion about the filtering requirements to\navoid rate-banning and fewer bug reports caused by rate bans.\n\nWe start off by implementing the first step, which is to raise a\nwarning if 'owned' is undefined. The remainder of the migration plan is\nin the validator docstring.","shortMessageHtmlLink":"gitlab: Begin migrating owned to default to True"}},{"before":"e991c48b16bdcf391c367366b4021f9554205cea","after":"54f5396038a8dbcbebbf71826b73ca6c02dc44c5","ref":"refs/heads/develop","pushedAt":"2023-07-14T16:17:59.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ryneeverett","name":null,"path":"/ryneeverett","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3280280?s=80&v=4"},"commit":{"message":"gitlab: Skip over merge requests if disabled.\n\nFix #988.\n\nIf the merge requests feature is disabled, the API returns a 403 status code,\ncausing the service to abort early. (Since it's a proper generator, any\nissues already yielded will still be merged into the database.)","shortMessageHtmlLink":"gitlab: Skip over merge requests if disabled."}},{"before":"9baf64719d1ebb053386c7c96b65bb8adc3c2e56","after":"e991c48b16bdcf391c367366b4021f9554205cea","ref":"refs/heads/develop","pushedAt":"2023-07-14T15:28:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ryneeverett","name":null,"path":"/ryneeverett","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3280280?s=80&v=4"},"commit":{"message":"config: Fix regression ignoring empty templates\n\nFix #970","shortMessageHtmlLink":"config: Fix regression ignoring empty templates"}},{"before":"f9471925b9b260e49a79801f0f51ced4a1cb0521","after":"9baf64719d1ebb053386c7c96b65bb8adc3c2e56","ref":"refs/heads/develop","pushedAt":"2023-07-14T14:22:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ryneeverett","name":null,"path":"/ryneeverett","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3280280?s=80&v=4"},"commit":{"message":"pydantic: pin v1\n\nThis avoids the breaking changes which broke CI. It looks like v2 will\nbe a non-trivial migration so we'll put that off for another day.","shortMessageHtmlLink":"pydantic: pin v1"}},{"before":"80a3f9fa90e8f1cbcfc25e1196ea3fe06010a1d0","after":"f9471925b9b260e49a79801f0f51ced4a1cb0521","ref":"refs/heads/develop","pushedAt":"2023-07-13T14:16:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ryneeverett","name":null,"path":"/ryneeverett","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3280280?s=80&v=4"},"commit":{"message":"Fix: Add a size limit to gitlab descriptions to prevent 'Argument list too long' OsError\n\nAdd tests to gitlab body_length cut\n\nAdd default to gitlabdescription not to break test asserts\n\nRemove unnecessary copypaste from github service","shortMessageHtmlLink":"Fix: Add a size limit to gitlab descriptions to prevent 'Argument lis…"}},{"before":"9437e513f6ef94ee872ed659d9fd44d9fffb1cb6","after":"80a3f9fa90e8f1cbcfc25e1196ea3fe06010a1d0","ref":"refs/heads/develop","pushedAt":"2023-05-07T04:57:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ryneeverett","name":null,"path":"/ryneeverett","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3280280?s=80&v=4"},"commit":{"message":"bz: Unify datetime handling\n\nDepending on whether the data comes from XMLRPC or REST API,\nthe timestamps are in different format.\n\nThis change puts the datetime conversion into dedicated function,\nenhancing it with support for multiple source types.\nSee docstring for details.\n\nFixes: ralphbean/bugwarrior#878","shortMessageHtmlLink":"bz: Unify datetime handling"}},{"before":"917c2c7598dff347b5e9be83d7c10fcd208a740e","after":"9437e513f6ef94ee872ed659d9fd44d9fffb1cb6","ref":"refs/heads/develop","pushedAt":"2023-05-05T05:00:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ryneeverett","name":null,"path":"/ryneeverett","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3280280?s=80&v=4"},"commit":{"message":"Fix CI (#996)\n\n* docs: update intersphinx_mapping formats\r\n\r\nThis fixes the sphinx warning that is making CI red.\r\n\r\nThis format is not compatible with pre-1.0 versions of sphinx.\r\n\r\n* importlib-metadata: pin to avoid breaking flake8","shortMessageHtmlLink":"Fix CI (#996)"}},{"before":"34322d21d28d775788f7f0a47332bf41474f5592","after":"917c2c7598dff347b5e9be83d7c10fcd208a740e","ref":"refs/heads/develop","pushedAt":"2023-05-04T22:25:54.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"ryneeverett","name":null,"path":"/ryneeverett","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3280280?s=80&v=4"},"commit":{"message":"trello: Fixup token docs. Resolve #857.\n\n- The `..HINT` directive wasn't working but it's probably best to have\n the information inline anyway.\n- Fixed image name.\n- Fixed typo.","shortMessageHtmlLink":"trello: Fixup token docs. Resolve #857."}},{"before":"c1c8d447096172eec75ebf9ff600f250db5295e1","after":"34322d21d28d775788f7f0a47332bf41474f5592","ref":"refs/heads/develop","pushedAt":"2023-04-09T23:15:13.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"ryneeverett","name":null,"path":"/ryneeverett","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3280280?s=80&v=4"},"commit":{"message":"config/schema: Strip prefixes before validation\n\nAdding a new configuration file format seems like an appropriate time to\ndrop the \"prefix\" requirement.\n\nAlong with stripping prefixes, we're also converting the ConfigParser\ninstance to a dictionary before passing it into validation, which will\nbe necessary so that future configuration parsers can also pass this\nuniversal format. This means that almost everywhere in the test suite we\nwere building ConfigParser's can now just use a dictionary.\n\nSince the schema is now unaware of configparser features we remove the\nrequirement of a DEFAULT section, which is included in any ConfigParser\ninstance but will not be included in the dictionaries provided by other\nconfiguration language parsers.","shortMessageHtmlLink":"config/schema: Strip prefixes before validation"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEIShH0AA","startCursor":null,"endCursor":null}},"title":"Activity · GothenburgBitFactory/bugwarrior"}