{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":81672101,"defaultBranch":"main","name":"go-cty","ownerLogin":"zclconf","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-02-11T18:13:16.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/28957467?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1710976536.0","currentOid":""},"activityList":{"items":[{"before":"74286a8d6ebac4f5886ccbd9604b19606fc9e638","after":"15a9d85f4808a6d2a34baf813f3806c8e3d334c7","ref":"refs/heads/main","pushedAt":"2024-03-20T23:16:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"Prepare for a possible future v1.14.5 release","shortMessageHtmlLink":"Prepare for a possible future v1.14.5 release"}},{"before":"4a34c33ad713db9437a9173c5d5529ca0ed606e3","after":"74286a8d6ebac4f5886ccbd9604b19606fc9e638","ref":"refs/heads/main","pushedAt":"2024-03-20T23:15:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"v1.14.4 release","shortMessageHtmlLink":"v1.14.4 release"}},{"before":"4b76b751a5cb173d4776b530a3f58c8e851834a2","after":"4a34c33ad713db9437a9173c5d5529ca0ed606e3","ref":"refs/heads/main","pushedAt":"2024-03-20T23:07:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"json: Refuse to encode cty.DynamicVal\n\nTwo different bugs interacted here to cause a cty.DynamicVal to end up\nencoding as nothing at all, with no error:\n - The main marshal function was checking for dynamic type before checking\n for unknown value, so cty.DynamicVal was being passed to marshalDynamic.\n - marshalDynamic was not checking the error result from encoding the\n value, and so was successfully returning nothing at all.\n\nThis situation will now return the same \"value is not known\" error that\nthe function previously returned for all other situations where the\ngiven value is unknown. The JSON representation of cty values can only\nrepresent fully-known values.","shortMessageHtmlLink":"json: Refuse to encode cty.DynamicVal"}},{"before":"f41ae52fdfa8a9590aa00c3ab3ff13cef4dd872f","after":"4b76b751a5cb173d4776b530a3f58c8e851834a2","ref":"refs/heads/main","pushedAt":"2024-03-20T22:53:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"stdlib: Conversion functions can accept unknown-typed nulls\n\nThis is one of those confusing situations where the multiple\nsubtly-different meanings of cty.DynamicPseudoType meet:\n\n - The \"Type\" field specifies a target type that the argument must be\n converted to before calling the function, and so cty.DynamicPseudoType\n here essentially means \"don't do any pre-conversion at all\".\n - However, that means that the value given as an argument might be a\n null or unknown value with a type constraint. In that position,\n cty.DynamicPseudoType represents \"we don't yet know the type\", which\n not all functions are equipped to deal with and so those that are must\n opt-in with AllowDynamicPseudoType: true.\n\nWithout declaring AllowDynamicPseudoType, the general function handling\ncode will just skip calling the function at all when the argument doesn't\nyet have a known type, returning an unknown value of an unknown type to\nrepresent that the function's result cannot be known until the argument's\ntype has become known.\n\nHowever, type conversion functions can safely accept values of unknown\ntype, because they are just thin wrappers around package convert which\nalready deal with that situation automatically. The conversion functions\nshould set AllowDynamicType: true so that package convert can be the one\nto deal with the situation, and can thus convert a null value of unknown\ntype into a null value of the target type (since null-to-null conversions\nare always allowed).","shortMessageHtmlLink":"stdlib: Conversion functions can accept unknown-typed nulls"}},{"before":"da4130045da4059e927123da8dd1cf740b69db75","after":"f41ae52fdfa8a9590aa00c3ab3ff13cef4dd872f","ref":"refs/heads/main","pushedAt":"2024-03-20T22:34:34.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"msgpack: Never marshal integers as MessagePack float\n\nPreviously we were using MessagePack's float family for anything that\ncould convert losslessly to float64.\n\nUnfortunately, cty's interpretation of numbers uses binary floating point\ninternally but decimal strings as the presentation, including when numbers\nare converted to strings, and so we need to make some assumptions about\nprecision when we're choosing a string representation of a number, to\navoid confusing situations where slight inaccuracy in the binary\ninterpretation of a number presented in decimal would appear as unwanted\nextra digits in the string representation.\n\nSlight differences caused by precision handling are acceptable for the\nfractional parts of numbers, but callers expect integers to be presented\nexactly as originally given. Round-tripping a large integer through a\nfloat64, even if the binary representation is exact, causes us to end up\nwith a rounded string representation after decoding, because the decoded\nnumber has 52-bit precision instead of the 512 we use when dealing with\nstring representations of large integers.\n\nTherefore we'll now use MessagePack float encodings only for numbers that\nhave a fractional component. If an integer cannot fit in any of\nMessagePack's integer encodings then we'll encode it as a string containing\ndecimal digits instead, so that it'll decode back to a number with the\nsame precision and thus the same decimal string representation.","shortMessageHtmlLink":"msgpack: Never marshal integers as MessagePack float"}},{"before":"0e3c88073b32bfd8acbc0e68eb7e2f36be21045a","after":"da4130045da4059e927123da8dd1cf740b69db75","ref":"refs/heads/main","pushedAt":"2024-03-20T22:32:56.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"msgpack: Never marshal integers as MessagePack float\n\nPreviously we were using MessagePack's float family for anything that\ncould convert losslessly to float64.\n\nUnfortunately, cty's interpretation of numbers uses binary floating point\ninternally but decimal strings as the presentation, including when numbers\nare converted to strings, and so we need to make some assumptions about\nprecision when we're choosing a string representation of a number, to\navoid confusing situations where slight inaccuracy in the binary\ninterpretation of a number presented in decimal would appear as unwanted\nextra digits in the string representation.\n\nSlight differences caused by precision handling are acceptable for the\nfractional parts of numbers, but callers expect integers to be presented\nexactly as originally given. Round-tripping a large integer through a\nfloat64, even if the binary representation is exact, causes us to end up\nwith a rounded string representation after decoding, because the decoded\nnumber has 52-bit precision instead of the 512 we use when dealing with\nstring representations of large integers.\n\nTherefore we'll now use MessagePack float encodings only for numbers that\nhave a fractional component. If an integer cannot fit in any of\nMessagePack's integer encodings then we'll encode it as a string containing\ndecimal digits instead, so that it'll decode back to a number with the\nsame precision and thus the same decimal string representation.","shortMessageHtmlLink":"msgpack: Never marshal integers as MessagePack float"}},{"before":"a0c3e7b77a1a1127369ca28a29b93dfdcb672181","after":"0e3c88073b32bfd8acbc0e68eb7e2f36be21045a","ref":"refs/heads/main","pushedAt":"2024-03-15T21:53:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"functions: lookup third argument is not optional","shortMessageHtmlLink":"functions: lookup third argument is not optional"}},{"before":"304e4a8fdac517eefa5e57790750e930dde3beac","after":"a0c3e7b77a1a1127369ca28a29b93dfdcb672181","ref":"refs/heads/main","pushedAt":"2024-03-01T00:24:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"Prepare for possible future 1.14.4 release","shortMessageHtmlLink":"Prepare for possible future 1.14.4 release"}},{"before":"50ce6d3544a103fe4b8eea922f3ab5780b4a285b","after":"304e4a8fdac517eefa5e57790750e930dde3beac","ref":"refs/heads/main","pushedAt":"2024-03-01T00:23:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"v1.14.3 release","shortMessageHtmlLink":"v1.14.3 release"}},{"before":"1e9442db3a138ce23781155142e6377d42947aac","after":"50ce6d3544a103fe4b8eea922f3ab5780b4a285b","ref":"refs/heads/main","pushedAt":"2024-01-30T23:02:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"Update CHANGELOG.md","shortMessageHtmlLink":"Update CHANGELOG.md"}},{"before":"1348b6911c5e75cb237d6e58168f1dd390666349","after":"1e9442db3a138ce23781155142e6377d42947aac","ref":"refs/heads/main","pushedAt":"2024-01-30T22:59:36.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"don't use compact floats in msgpack\n\nThere is a bug in the compact floats implementation, which could cause\nsome integer values stored in a float to encode as an incorrect value.\nThe result of the expression used to check for compact integer encoding\nis `float64(int64(n)) == n`, which is undefined when conversion is\nnot exact.","shortMessageHtmlLink":"don't use compact floats in msgpack"}},{"before":"5917c033f97a475d1ebf6329b50d9a44e3f2d7cd","after":"1348b6911c5e75cb237d6e58168f1dd390666349","ref":"refs/heads/main","pushedAt":"2024-01-23T21:17:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"Prepare for possible future v1.14.3 release","shortMessageHtmlLink":"Prepare for possible future v1.14.3 release"}},{"before":"864b88d0ed3b72642939b8d6eac09d8da9567e24","after":"5917c033f97a475d1ebf6329b50d9a44e3f2d7cd","ref":"refs/heads/main","pushedAt":"2024-01-23T21:17:07.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"Prepare for v1.14.2 release.","shortMessageHtmlLink":"Prepare for v1.14.2 release."}},{"before":"d279406ad5f5194a9632c104891d9859e5538123","after":"864b88d0ed3b72642939b8d6eac09d8da9567e24","ref":"refs/heads/main","pushedAt":"2024-01-23T19:33:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"convert: prevent invalid types in dynamicReplace\n\nWhen converting an unknown map into an object with optional attributes,\nthat object may have attributes which don't match the map element type.\nThis conversion will be valid, but when building Null or Unknown values\nof that type we need to ensure all attributes have a valid type.\n\nThe fallthrough path for dynamicReplace when non-primitive types didn't\nmatch contained a cty.NilVal element type, which would result in an\noverall invalid type. We can early returns to ensure there are no\nuninitialized values, and let the fallback use the original out type.\nSince at this point the types appear to not be convertible, we can\nassume they are from attributes which were skipped during conversion due\nto being optional, otherwise the conversion would not have been valid.","shortMessageHtmlLink":"convert: prevent invalid types in dynamicReplace"}},{"before":"7152062cc7333dcdfeed910e7c7f9690276bc2eb","after":"d279406ad5f5194a9632c104891d9859e5538123","ref":"refs/heads/main","pushedAt":"2023-10-06T01:34:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"Prepare for a possible future v1.14.2 release","shortMessageHtmlLink":"Prepare for a possible future v1.14.2 release"}},{"before":"ab81272f70b07f14768ad7a2152a253b165e2688","after":"7152062cc7333dcdfeed910e7c7f9690276bc2eb","ref":"refs/heads/main","pushedAt":"2023-10-06T01:33:31.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"Release v1.14.1","shortMessageHtmlLink":"Release v1.14.1"}},{"before":"2654deda72dafce94a6ad0eaec5317f2d19f0895","after":"b868a8dcbbef5655b5b74c0ffbd6cd7e8c4346ae","ref":"refs/heads/refine-dynamic-ignored","pushedAt":"2023-10-06T01:19:18.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"cty: Silently ignore refinements of cty.DynamicVal\n\nFor historical reasons we cannot permit any refinements on cty.DynamicVal,\nbecause existing callers expect that (marks notwithstanding) cty.DynamicVal\nis the only possible unknown value of an unknown type, and so adding\nrefinements would invalidate that assumption.\n\nIn the initial implementation of refinements it was treated as a caller\nprogramming error to try to refine cty.DynamicVal. However, that violates\nthe convention that cty.DynamicVal is usable as a broad placeholder value\nthat supports any operation that would be valid on at least one possible\nvalue.\n\nInstead, we'll now compromise by just silently ignoring any attempt to\nrefine cty.DynamicVal. The refinement operation will run to completion\nwithout panicking but it will also completely ignore all of the refinement\nbuilder calls and eventually just return another plain cty.DynamicVal\nas the \"refined\" result.\n\nThis is consistent with our typical expectation that refinements are\npropagated on a best-effort basis but can be silently discarded (or lose\nsome detail) when passing through operations that don't or can't support\nthem.\n\nThis means that it should now be safe to call Refine on any value, but\nrefining can still panic if the specific refinements selected don't make\nsense for whatever value is being refined.\n\nThis also includes some direct tests of the Value.Refine API, since it\nwas previously only tested indirectly through other operations that\nconsume or manipulate refinements.","shortMessageHtmlLink":"cty: Silently ignore refinements of cty.DynamicVal"}},{"before":"47f829936fdd243ba587aa862f709aa3f2c459c5","after":"2654deda72dafce94a6ad0eaec5317f2d19f0895","ref":"refs/heads/refine-dynamic-ignored","pushedAt":"2023-10-06T01:02:58.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"cty: Silently ignore refinements of cty.DynamicVal\n\nFor historical reasons we cannot permit any refinements on cty.DynamicVal,\nbecause existing callers expect that (marks notwithstanding) cty.DynamicVal\nis the only possible unknown value of an unknown type, and so adding\nrefinements would invalidate that assumption.\n\nIn the initial implementation of refinements it was treated as a caller\nprogramming error to try to refine cty.DynamicVal. However, that violates\nthe convention that cty.DynamicVal is usable as a broad placeholder value\nthat supports any operation that would be valid on at least one possible\nvalue.\n\nInstead, we'll now compromise by just silently ignoring any attempt to\nrefine cty.DynamicVal. The refinement operation will run to completion\nwithout panicking but it will also completely ignore all of the refinement\nbuilder calls and eventually just return another plain cty.DynamicVal\nas the \"refined\" result.\n\nThis is consistent with our typical expectation that refinements are\npropagated on a best-effort basis but can be silently discarded (or lose\nsome detail) when passing through operations that don't or can't support\nthem.\n\nThis means that it should now be safe to call Refine on any value, but\nrefining can still panic if the specific refinements selected don't make\nsense for whatever value is being refined.\n\nThis also includes some direct tests of the Value.Refine API, since it\nwas previously only tested indirectly through other operations that\nconsume or manipulate refinements.","shortMessageHtmlLink":"cty: Silently ignore refinements of cty.DynamicVal"}},{"before":"ab81272f70b07f14768ad7a2152a253b165e2688","after":"47f829936fdd243ba587aa862f709aa3f2c459c5","ref":"refs/heads/refine-dynamic-ignored","pushedAt":"2023-10-05T19:03:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"wip ignoring refinements of cty.DynamicVal","shortMessageHtmlLink":"wip ignoring refinements of cty.DynamicVal"}},{"before":null,"after":"ab81272f70b07f14768ad7a2152a253b165e2688","ref":"refs/heads/refine-dynamic-ignored","pushedAt":"2023-10-05T19:02:35.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"cty: Explicit panic when using Value.Range with marked value\n\nAs usual with marks, we must panic whenever an operation might cause marks\nto be silently lost. In such cases, it's always the calling application's\nresponsibility to unmark the value first and then ensure that it applies\nthe appropriate derived marks to whatever new value it's ultimately\nreturning based on the decision.\n\nThis was already a panic before, but now it's a panic with an explicit\nmessage pointing directly at the problem.","shortMessageHtmlLink":"cty: Explicit panic when using Value.Range with marked value"}},{"before":"307116683ea45a93b0c1729685ac9f9040158e21","after":"ab81272f70b07f14768ad7a2152a253b165e2688","ref":"refs/heads/main","pushedAt":"2023-10-05T19:02:15.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"cty: Explicit panic when using Value.Range with marked value\n\nAs usual with marks, we must panic whenever an operation might cause marks\nto be silently lost. In such cases, it's always the calling application's\nresponsibility to unmark the value first and then ensure that it applies\nthe appropriate derived marks to whatever new value it's ultimately\nreturning based on the decision.\n\nThis was already a panic before, but now it's a panic with an explicit\nmessage pointing directly at the problem.","shortMessageHtmlLink":"cty: Explicit panic when using Value.Range with marked value"}},{"before":"d0dc3888bf3a307f4c5eaa5dbc8851806e72790a","after":"307116683ea45a93b0c1729685ac9f9040158e21","ref":"refs/heads/main","pushedAt":"2023-08-30T16:04:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"Prepare for a possible future v1.14.1 release","shortMessageHtmlLink":"Prepare for a possible future v1.14.1 release"}},{"before":"b22c7929aa9cd788135d467bf3779d1a166f43b6","after":"d0dc3888bf3a307f4c5eaa5dbc8851806e72790a","ref":"refs/heads/main","pushedAt":"2023-08-30T16:04:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"v1.14.0 release","shortMessageHtmlLink":"v1.14.0 release"}},{"before":"ad716e1a1e1d6281e893145c4bb726f73532956c","after":"b22c7929aa9cd788135d467bf3779d1a166f43b6","ref":"refs/heads/main","pushedAt":"2023-08-30T15:59:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"Use Unicode 15 tables\n\ncty relies on two external libraries that have Unicode tables embedded in them: golang.org/x/text contains the unicode normalization tables and github.com/apparentlymart/go-textseg contains the unicode grapheme cluster segmentation tables.\r\n\r\nThis updates both of those dependencies to include the Unicode 15 tables instead of the Unicode 13 tables as before. This is intended to align with Go 1.21's own support for Unicode 15; applications which care about consistent unicode support should upgrade to Go 1.21 at the same time as updating to a new version of cty with these changes.","shortMessageHtmlLink":"Use Unicode 15 tables"}},{"before":"2893b67936c370bb72a5687a232e347519cb784f","after":"ad716e1a1e1d6281e893145c4bb726f73532956c","ref":"refs/heads/main","pushedAt":"2023-08-24T15:58:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"Prepare for potential future 1.13.4 release","shortMessageHtmlLink":"Prepare for potential future 1.13.4 release"}},{"before":"e24a128788f22ca66dde8273b4e0f01061a6ada0","after":"2893b67936c370bb72a5687a232e347519cb784f","ref":"refs/heads/main","pushedAt":"2023-08-24T15:57:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"v1.13.3 release","shortMessageHtmlLink":"v1.13.3 release"}},{"before":"560dd2852c2a69158d476bff0aecc08caf0abdaa","after":"e24a128788f22ca66dde8273b4e0f01061a6ada0","ref":"refs/heads/main","pushedAt":"2023-08-24T15:49:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"function/stdlib: Update tests for newer Go versions\n\nOur function for parsing conventional timestamps strings currently leans\non the Go standard library \"time\" package's parser to help produce error\nmessages, but that does means that some of our error messages for invalid\ntimestamps end up being a little strange, and the details of that can\nvary with changes to Go's time parser.\n\nIn future we should probably work to entirely divorce ourselves from Go's\nimplementation (we're already dealing with _most_ of the parsing ourselves\nanyway) but for now we'll just update the expected result to match the\ncurrent versions of the upstream parser.","shortMessageHtmlLink":"function/stdlib: Update tests for newer Go versions"}},{"before":"7dcbae46a6f247e983efb1fa774d2bb68781a333","after":"560dd2852c2a69158d476bff0aecc08caf0abdaa","ref":"refs/heads/main","pushedAt":"2023-08-24T15:42:29.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"ctystrings: clarify comment","shortMessageHtmlLink":"ctystrings: clarify comment"}},{"before":"bf2d095d861f748920a56b2302a185e52ae6d1b1","after":"7dcbae46a6f247e983efb1fa774d2bb68781a333","ref":"refs/heads/main","pushedAt":"2023-05-22T15:18:26.309Z","pushType":"push","commitsCount":2,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"Prepare for possible future v1.13.3 release","shortMessageHtmlLink":"Prepare for possible future v1.13.3 release"}},{"before":"2d47ad3bef97189a3c78018ce29dc491c8bf5376","after":"bf2d095d861f748920a56b2302a185e52ae6d1b1","ref":"refs/heads/main","pushedAt":"2023-04-07T17:08:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"apparentlymart","name":"Martin Atkins","path":"/apparentlymart","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20180?s=80&v=4"},"commit":{"message":"cty: Path.Apply should not panic with marked collections\n\nThe return value of `HasIndex` can contain marks, so `IndexStep.Apply`\r\nmust strip those marks before checking `True`.","shortMessageHtmlLink":"cty: Path.Apply should not panic with marked collections"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEGzAfwgA","startCursor":null,"endCursor":null}},"title":"Activity ยท zclconf/go-cty"}