{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":73461676,"defaultBranch":"master","name":"vyper","ownerLogin":"vyperlang","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2016-11-11T08:56:41.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/57152025?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1718902774.0","currentOid":""},"activityList":{"items":[{"before":"d76d7502cf5903a2434fd3976eb6ba84398bb433","after":"48a5da46b7c553d29181880e8ff6d51da62b2679","ref":"refs/heads/master","pushedAt":"2024-09-20T14:20:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charles-cooper","name":"Charles Cooper","path":"/charles-cooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3867501?s=80&v=4"},"commit":{"message":"feat[venom]: only stack_reorder before join points (#4247)\n\nfix a venom performance bug, where the stack would be reordered before\r\nall jump instructions.\r\n\r\nfor \"joining\" jump instructions (where the target basic block can have\r\nmultiple cfg inputs), the stack reorder is needed, since we need the\r\ninvariant that the stack layout needs to be the same no matter which\r\nbasic block we jump to the target basic block from.\r\n\r\nhowever, before jumping into a block with only a single `cfg_in`\r\n(which, after cfg normalization, is equivalent to \"splitting\" jump\r\ninstructions `jnz` and `djmp`), the stack reorder is unneeded, since\r\nstack reordering happens anyways in the target basic block, and no\r\ninvariant on the incoming stack layout is required.\r\n\r\nthis commit changes the behavior so that stack reordering only occurs\r\nbefore these \"joining\" jump instructions.\r\n\r\non branch-heavy code, this can improve codesize by as much as 25%, with\r\ncorresponding gas improvement, especially in the presence of loops.","shortMessageHtmlLink":"feat[venom]: only stack_reorder before join points (#4247)"}},{"before":"e1de93a6b267212a22772a81422c8c0ad76de04e","after":"d76d7502cf5903a2434fd3976eb6ba84398bb433","ref":"refs/heads/master","pushedAt":"2024-09-19T11:43:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charles-cooper","name":"Charles Cooper","path":"/charles-cooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3867501?s=80&v=4"},"commit":{"message":"fix[ux]: improve error message for bad hex literals (#4244)\n\nimprove the error message when a hex literal starts with `0X`. it is\r\naccepted by the parser, but prior to this commit, would result in a\r\ncompiler panic. this commit validates the literal and provides a proper\r\nerror message.","shortMessageHtmlLink":"fix[ux]: improve error message for bad hex literals (#4244)"}},{"before":"53f76758c87c41c0a2d9e31c76eb4bbe9a5f5e5f","after":"e1de93a6b267212a22772a81422c8c0ad76de04e","ref":"refs/heads/master","pushedAt":"2024-09-18T19:57:35.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charles-cooper","name":"Charles Cooper","path":"/charles-cooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3867501?s=80&v=4"},"commit":{"message":"feat[venom]: improve liveness computation time (#4086)\n\nreduce time spent in liveness by only recomputing liveness for basic\r\nblocks which need it (any of its `cfg_out` has changed).\r\n\r\nreduces time in venom by roughly 25%\r\n\r\nthere is also a slight codesize improvement. it seems to be sensitive\r\nto the order in which items are added to the worklist.","shortMessageHtmlLink":"feat[venom]: improve liveness computation time (#4086)"}},{"before":"f7b8e93a32bac8d545cd121b041cb53aa74f8dd9","after":"53f76758c87c41c0a2d9e31c76eb4bbe9a5f5e5f","ref":"refs/heads/master","pushedAt":"2024-09-18T12:46:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charles-cooper","name":"Charles Cooper","path":"/charles-cooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3867501?s=80&v=4"},"commit":{"message":"perf[venom]: add `OrderedSet.last()` (#4236)\n\nsmidge performance improvement (roughly 3%). peek directly at end of\r\n`OrderedSet` instead of converting to list every time.","shortMessageHtmlLink":"perf[venom]: add OrderedSet.last() (#4236)"}},{"before":"03095ce39216362dd4cbff67f8efb2bbb188bb40","after":"f7b8e93a32bac8d545cd121b041cb53aa74f8dd9","ref":"refs/heads/master","pushedAt":"2024-09-18T12:23:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charles-cooper","name":"Charles Cooper","path":"/charles-cooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3867501?s=80&v=4"},"commit":{"message":"fix[venom]: invalid jump error (#4214)\n\nfix an issue where `ret` would generate a jump to an invalid location\r\nbecause the stack is not clean. the solution is to always pop\r\ninstruction outputs which are not used.\r\n\r\nnote this leads to a slight performance regression (roughly 0.07%\r\nbytecode size), since `POP`s are always generated, even in cases when the\r\nstack does not need to be cleaned (e.g. before `STOP`).\r\n\r\n---------\r\n\r\nCo-authored-by: Charles Cooper \r\nCo-authored-by: Harry Kalogirou ","shortMessageHtmlLink":"fix[venom]: invalid jump error (#4214)"}},{"before":"5a7b4811be9356e0bd60963119a4ccaafe26d850","after":"03095ce39216362dd4cbff67f8efb2bbb188bb40","ref":"refs/heads/master","pushedAt":"2024-09-16T13:47:55.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charles-cooper","name":"Charles Cooper","path":"/charles-cooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3867501?s=80&v=4"},"commit":{"message":"feat[ux]: move exception hint to the end of the message (#4154)\n\nmoved the `(hint: ...)` to be reported at the end of the exception to\r\nimprove the readability. the hint should be displayed after the actual\r\nproblem has been described, i.e. as the last item in the exception\r\nmessage.\r\n\r\n---------\r\n\r\nCo-authored-by: Charles Cooper ","shortMessageHtmlLink":"feat[ux]: move exception hint to the end of the message (#4154)"}},{"before":"9a208a6950900fa3184ef381e84d4d675c68cc97","after":"5a7b4811be9356e0bd60963119a4ccaafe26d850","ref":"refs/heads/master","pushedAt":"2024-09-10T21:03:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charles-cooper","name":"Charles Cooper","path":"/charles-cooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3867501?s=80&v=4"},"commit":{"message":"feat[docs]: add bug bounty program to security policy (#4230)\n\n\r\n---------\r\n\r\nCo-authored-by: sudo rm -rf --no-preserve-root / ","shortMessageHtmlLink":"feat[docs]: add bug bounty program to security policy (#4230)"}},{"before":"973672a8c63790a343d5492b204ebf06e130a240","after":"9a208a6950900fa3184ef381e84d4d675c68cc97","ref":"refs/heads/master","pushedAt":"2024-09-01T15:16:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charles-cooper","name":"Charles Cooper","path":"/charles-cooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3867501?s=80&v=4"},"commit":{"message":"fix[tool]: keep `experimentalCodegen` blank in standard json input (#4216)\n\nin standard json input, `experimentalCodegen` would default\r\nto true, creating a conflict if the user used `#pragma\r\nexperimental-codegen`. set it to `None`.\r\n\r\nmisc/refactor:\r\n- refactor `get_settings` function.\r\n\r\n---------\r\n\r\nCo-authored-by: Ramana Kumar ","shortMessageHtmlLink":"fix[tool]: keep experimentalCodegen blank in standard json input (#…"}},{"before":"f2975d76648db3f9cf806a093da17d4b613a8578","after":"973672a8c63790a343d5492b204ebf06e130a240","ref":"refs/heads/master","pushedAt":"2024-09-01T12:38:39.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charles-cooper","name":"Charles Cooper","path":"/charles-cooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3867501?s=80&v=4"},"commit":{"message":"chore[tool]: update `FUNDING.json` for optimism RPGF (#4218)\n\nupdate `FUNDING.json` for optimism RPGF grant","shortMessageHtmlLink":"chore[tool]: update FUNDING.json for optimism RPGF (#4218)"}},{"before":"f909d6eb8586f747e088bcfa9681f09bc762c72d","after":"f2975d76648db3f9cf806a093da17d4b613a8578","ref":"refs/heads/master","pushedAt":"2024-08-28T04:38:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charles-cooper","name":"Charles Cooper","path":"/charles-cooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3867501?s=80&v=4"},"commit":{"message":"fix[tool]: fix classification of AST nodes (#4210)\n\nfix classification of some AST nodes for proper type checking.\r\n\r\nthis is a hygienic fix, it should have no observable semantic changes.","shortMessageHtmlLink":"fix[tool]: fix classification of AST nodes (#4210)"}},{"before":"cefb0c5166c605bfd68259588464861ba128d3ff","after":"f909d6eb8586f747e088bcfa9681f09bc762c72d","ref":"refs/heads/master","pushedAt":"2024-08-09T09:36:02.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charles-cooper","name":"Charles Cooper","path":"/charles-cooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3867501?s=80&v=4"},"commit":{"message":"fix[tool]: update `InterfaceT.__str__` implementation (#4205)\n\nthis doesn't affect anything in vyper codebase, but affects the\r\nserialization of interface types for tooling (including titanoboa)","shortMessageHtmlLink":"fix[tool]: update InterfaceT.__str__ implementation (#4205)"}},{"before":"07ddea65b0a6b2b6ac09dfc064d3a73ac20f96da","after":"cefb0c5166c605bfd68259588464861ba128d3ff","ref":"refs/heads/master","pushedAt":"2024-08-08T11:39:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charles-cooper","name":"Charles Cooper","path":"/charles-cooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3867501?s=80&v=4"},"commit":{"message":"feat[codegen]!: check `returndatasize` even when `skip_contract_check` is set (#4148)\n\npreviously, when `skip_contract_check=True` was set, the ABI decoding\r\nroutine could result in garbage memory in the case that no contract is\r\nat the target address, based on the logic that, if we don't care about\r\nwhether a contract exists at the target, we can skip the returndatasize\r\ncheck. however, it makes sense for the ABI decoder to in any case\r\ninclude the returndatasize check, to prevent the garbage data case as\r\npreviously mentioned in the docs.\r\n\r\nthis is a breaking change, since previously calls with\r\n`skip_contract_set=True` could result in garbage memory - and now they\r\nwould revert instead.\r\n\r\nthis represents a slight performance regression in that case, but it is\r\neasier to reason about and also ensures the user always decodes valid\r\ndata.","shortMessageHtmlLink":"feat[codegen]!: check returndatasize even when `skip_contract_check…"}},{"before":"9b322d651cd5fb431e208b079382ce94fe82abd9","after":"07ddea65b0a6b2b6ac09dfc064d3a73ac20f96da","ref":"refs/heads/master","pushedAt":"2024-08-07T14:59:15.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charles-cooper","name":"Charles Cooper","path":"/charles-cooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3867501?s=80&v=4"},"commit":{"message":"fix[lang]: fix certain varinfo comparisons (#4164)\n\nfor `VarInfo`s which are declared in memory, the `VarInfo`\r\ninitialization is missing `decl_node`, and therefore different\r\nvariables with the same type get detected as overlapping in loop\r\niterator modification detection. this commit properly initializes\r\nmemory `VarInfo`s with the appropriate `decl_node`.\r\n\r\n---------\r\n\r\nCo-authored-by: cyberthirst ","shortMessageHtmlLink":"fix[lang]: fix certain varinfo comparisons (#4164)"}},{"before":"b91730bf730101f852e41ec876840cbfae36512d","after":"9b322d651cd5fb431e208b079382ce94fe82abd9","ref":"refs/heads/master","pushedAt":"2024-08-07T13:05:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charles-cooper","name":"Charles Cooper","path":"/charles-cooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3867501?s=80&v=4"},"commit":{"message":"fix[lang]: fix panic in call cycle detection (#4200)\n\nfix cycle detection in `_compute_reachable_set()` by adding a check for\r\nsubcycles in the current call path\r\n\r\nthe function was detecting cycles by checking for a cyclic call to the\r\n*root* of the call path\r\n\r\nif the cycle was within the call path (excluding the root) it could\r\nfall into infinite recursion.","shortMessageHtmlLink":"fix[lang]: fix panic in call cycle detection (#4200)"}},{"before":"3a83666d86233152f80b69c0456780a820cf775d","after":"b91730bf730101f852e41ec876840cbfae36512d","ref":"refs/heads/master","pushedAt":"2024-08-06T04:17:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charles-cooper","name":"Charles Cooper","path":"/charles-cooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3867501?s=80&v=4"},"commit":{"message":"fix[lang]: fix precedence in floordiv hint (#4203)\n\nfix parenthesisation of child exprs in the floordiv hint. previously,\r\nan expression like\r\n```vyper\r\n(x + y) / z\r\n```\r\n\r\ncould result in a hint suggesting something with incorrect precedence,\r\nlike\r\n```vyper\r\nx + y // z\r\n```\r\n\r\nthis commit conservatively adds parentheses to the hint whenever the\r\nexpr in question has child binops.","shortMessageHtmlLink":"fix[lang]: fix precedence in floordiv hint (#4203)"}},{"before":"c0cf436d7d75ef74ac1fb2d7b46ce8c6e5e02a3b","after":"3a83666d86233152f80b69c0456780a820cf775d","ref":"refs/heads/master","pushedAt":"2024-08-06T03:48:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charles-cooper","name":"Charles Cooper","path":"/charles-cooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3867501?s=80&v=4"},"commit":{"message":"fix[codegen]: fix `abi_encode` buffer size in external calls (#4202)\n\nfix the buffer size passed to the abi encoder from the external call\r\nargument packer. previously, the size was overestimated as it didn't\r\ntake into account pointer arithmetic performed on the buffer passed to\r\nabi_encode.\r\n\r\nthis is a hygienic fix, no security implications were found for this\r\nissue.\r\n\r\n---------\r\n\r\nCo-authored-by: Charles Cooper ","shortMessageHtmlLink":"fix[codegen]: fix abi_encode buffer size in external calls (#4202)"}},{"before":"85269b0d9618ef7d2b95e3260b21bf4a9acf2784","after":"c0cf436d7d75ef74ac1fb2d7b46ce8c6e5e02a3b","ref":"refs/heads/master","pushedAt":"2024-08-05T16:48:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charles-cooper","name":"Charles Cooper","path":"/charles-cooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3867501?s=80&v=4"},"commit":{"message":"feat[lang]!: make `@external` modifier optional in `.vyi` files (#4178)\n\nmake `@external` visibility in `.vyi` files optional.\r\n\r\nadditionally, fix a panic when functions in an interface have the wrong\r\nvisibility\r\n\r\n---------\r\n\r\nCo-authored-by: Charles Cooper ","shortMessageHtmlLink":"feat[lang]!: make @external modifier optional in .vyi files (#4178)"}},{"before":"99304da54d2178960b19106a6d1beb7e37cf4495","after":"85269b0d9618ef7d2b95e3260b21bf4a9acf2784","ref":"refs/heads/master","pushedAt":"2024-08-05T15:07:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charles-cooper","name":"Charles Cooper","path":"/charles-cooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3867501?s=80&v=4"},"commit":{"message":"fix[lang]: add `raw_log()` constancy check (#4201)\n\ndisallow `raw_log()` from being called within staticcall context.","shortMessageHtmlLink":"fix[lang]: add raw_log() constancy check (#4201)"}},{"before":"9e516849d2b1bf18029544fcd530497cd4f5d7e6","after":"99304da54d2178960b19106a6d1beb7e37cf4495","ref":"refs/heads/master","pushedAt":"2024-07-29T03:09:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charles-cooper","name":"Charles Cooper","path":"/charles-cooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3867501?s=80&v=4"},"commit":{"message":"fix[lang]: fix `.vyi` function body check (#4177)\n\npreviously the validation for function bodies in interfaces incorrectly\r\nallowed other types of expressions with the `.value` member, e.g.\r\n\r\n```vyper\r\n@external\r\ndef some_interface_function():\r\n return ...\r\n```\r\nalthough the body should only be allowed to be an ellipsis expr (`...`).\r\n\r\nthis commit correctly rejects the above source code","shortMessageHtmlLink":"fix[lang]: fix .vyi function body check (#4177)"}},{"before":"a1af967e675b72051cf236f75e1104378fd83030","after":"9e516849d2b1bf18029544fcd530497cd4f5d7e6","ref":"refs/heads/master","pushedAt":"2024-07-27T10:38:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charles-cooper","name":"Charles Cooper","path":"/charles-cooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3867501?s=80&v=4"},"commit":{"message":"feat[lang]: introduce `mana` as an alias for `gas` (#3713)\n\nper EIP-6789 (https://eips.ethereum.org/EIPS/eip-6789), add `msg.mana`\r\nas an alias for `msg.gas`\r\n\r\n---------\r\n\r\nSigned-off-by: Pascal Marco Caversaccio \r\nCo-authored-by: Charles Cooper ","shortMessageHtmlLink":"feat[lang]: introduce mana as an alias for gas (#3713)"}},{"before":"07e2657f1433486a6375bb73b311b36de2237ce8","after":"a1af967e675b72051cf236f75e1104378fd83030","ref":"refs/heads/master","pushedAt":"2024-07-26T11:44:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charles-cooper","name":"Charles Cooper","path":"/charles-cooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3867501?s=80&v=4"},"commit":{"message":"refactor[codegen]: remove redundant `IRnode.from_list` (#4151)\n\nfollowing 7d28a501cf128a (GH #3941), replaced occurrences of\r\n\r\n```\r\nIRnode.from_list(\r\n context.new_internal_variable(typ),\r\n typ=typ,\r\n location=MEMORY\r\n)\r\n```\r\n\r\nwith the simpler\r\n\r\n```\r\ncontext.new_internal_variable(typ)\r\n```","shortMessageHtmlLink":"refactor[codegen]: remove redundant IRnode.from_list (#4151)"}},{"before":"6a8d4155f64292526d3a3cd4d0345ba3a10794b1","after":"07e2657f1433486a6375bb73b311b36de2237ce8","ref":"refs/heads/master","pushedAt":"2024-07-26T11:27:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charles-cooper","name":"Charles Cooper","path":"/charles-cooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3867501?s=80&v=4"},"commit":{"message":"chore[docs]: remove experimental note for cancun (#4183)\n\nremove the \"experimental\" note in CLI help for `--evm-version` as the\r\nrespective code was properly audited","shortMessageHtmlLink":"chore[docs]: remove experimental note for cancun (#4183)"}},{"before":"fc192847932dcac83f0d1a0f8f8679867f525a1e","after":"6a8d4155f64292526d3a3cd4d0345ba3a10794b1","ref":"refs/heads/master","pushedAt":"2024-07-26T11:26:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charles-cooper","name":"Charles Cooper","path":"/charles-cooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3867501?s=80&v=4"},"commit":{"message":"fix[test]: fix test in grammar fuzzer (#4150)\n\nhypothesis `6.103.1` generates examples like\r\n\r\n```\r\nFalsifying example: test_grammar_bruteforce(\r\n code='\"\"\"\\r\"\"\" \\n\"\"\"\"\"\"',\r\n)\r\n```\r\n\r\nwhich trivially raise an exception in asttokens. filter out `\\r`\r\ncharacters when generating source codes.","shortMessageHtmlLink":"fix[test]: fix test in grammar fuzzer (#4150)"}},{"before":"8931e54f8c577f6d60563ff47588c18e58a04c04","after":"fc192847932dcac83f0d1a0f8f8679867f525a1e","ref":"refs/heads/master","pushedAt":"2024-07-26T11:03:54.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charles-cooper","name":"Charles Cooper","path":"/charles-cooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3867501?s=80&v=4"},"commit":{"message":"feat[venom]: offset instruction (#4180)\n\nthis commit introduces an `offset` instruction that is emitted in the\r\nalgebraic pass when the add instruction calculates an offset from a\r\ncode label, which is used for immutables. this allows compilation\r\ndirectly to the magic `OFST` assembly instruction, which does\r\nadditional constant folding after symbol resolution.\r\n\r\n---------\r\n\r\nCo-authored-by: Charles Cooper ","shortMessageHtmlLink":"feat[venom]: offset instruction (#4180)"}},{"before":"5067b86906f4a3815c4d7a2d3b64f2694ae3a520","after":"8931e54f8c577f6d60563ff47588c18e58a04c04","ref":"refs/heads/master","pushedAt":"2024-07-26T01:40:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charles-cooper","name":"Charles Cooper","path":"/charles-cooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3867501?s=80&v=4"},"commit":{"message":"chore[test]: fix a type hint (#4173)\n\nDescription\r\nFix a type check warning reported by Pyre@Google, which was outdated\r\nafter code modifications.\r\n\r\nDetail\r\nupdate the return type of function fix_terminal from bool to str, since\r\nit could be str after commit 176e7f7","shortMessageHtmlLink":"chore[test]: fix a type hint (#4173)"}},{"before":"f92ef414a551de34b64ae09ba2985ee240244c4c","after":"5067b86906f4a3815c4d7a2d3b64f2694ae3a520","ref":"refs/heads/master","pushedAt":"2024-07-03T16:30:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charles-cooper","name":"Charles Cooper","path":"/charles-cooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3867501?s=80&v=4"},"commit":{"message":"chore[docs]: update `sourceMap` field descriptions (#4170)\n\n* Removed `evm.deployedBytecode.sourceMapFull`, as it does not work in v0.4.0\r\n* Updated `evm.deployedBytecode.sourceMap` to be an object in compiler output\r\n* Added `evm.bytecode.sourceMap` into compiler input and compiler output","shortMessageHtmlLink":"chore[docs]: update sourceMap field descriptions (#4170)"}},{"before":"e9db8d9f7486eae38f5b86531629019ad28f514e","after":"f92ef414a551de34b64ae09ba2985ee240244c4c","ref":"refs/heads/master","pushedAt":"2024-06-26T05:47:04.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charles-cooper","name":"Charles Cooper","path":"/charles-cooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3867501?s=80&v=4"},"commit":{"message":"chore[docs]: add `FUNDING.json` for drips funding (#4167)\n\nAdd json file to verify Vyper on https://www.drips.network/app/projects","shortMessageHtmlLink":"chore[docs]: add FUNDING.json for drips funding (#4167)"}},{"before":"4594f8badf13a583875f8891698cd3bbefb1c787","after":"e9db8d9f7486eae38f5b86531629019ad28f514e","ref":"refs/heads/master","pushedAt":"2024-06-20T16:27:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charles-cooper","name":"Charles Cooper","path":"/charles-cooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3867501?s=80&v=4"},"commit":{"message":"feat[docs]: v0.4.0 release (#4152)\n\nadd release notes for v0.4.0 release\r\nslight update to wording of front matter","shortMessageHtmlLink":"feat[docs]: v0.4.0 release (#4152)"}},{"before":"3d9c537142fb99b2672f21e2057f5f202cde194f","after":"4594f8badf13a583875f8891698cd3bbefb1c787","ref":"refs/heads/master","pushedAt":"2024-06-19T19:38:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charles-cooper","name":"Charles Cooper","path":"/charles-cooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3867501?s=80&v=4"},"commit":{"message":"fix[codegen]: panic on potential subscript eval order issue (#4159)\n\nsubscript expressions have an evaluation order issue when\r\nevaluation of the index (i.e. `node.index`) modifies the parent\r\n(i.e. `node.value`). because the evaluation of the parent is\r\ninterleaved with evaluation of the index, it can result in \"invalid\"\r\nreads where the length check occurs before evaluation of the index, but\r\nthe data read occurs afterwards. if evaluation of the index results in\r\nmodification of the container size for instance, the data read from the\r\ncontainer can happen on a dangling reference.\r\n\r\nanother variant of this issue would be accessing\r\n`self.nested_array.pop().append(...)`; however, this currently happens\r\nto be blocked by a panic in the frontend.\r\n\r\nthis commit conservatively blocks compilation if the preconditions for\r\nthe interleaved evaluation are detected. POC tests that the appropriate\r\npanics are generated are included as well.\r\n\r\n---------\r\n\r\nCo-authored-by: trocher \r\nCo-authored-by: Hubert Ritzdorf \r\nCo-authored-by: cyberthirst ","shortMessageHtmlLink":"fix[codegen]: panic on potential subscript eval order issue (#4159)"}},{"before":"d92cd344add84aa17434baefed24a6c548471cc2","after":"3d9c537142fb99b2672f21e2057f5f202cde194f","ref":"refs/heads/master","pushedAt":"2024-06-18T19:49:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"charles-cooper","name":"Charles Cooper","path":"/charles-cooper","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3867501?s=80&v=4"},"commit":{"message":"fix[codegen]: panic on potential eval order issue for some builtins (#4157)\n\n`extract32()` and `slice()` have an evaluation order issue when\r\nthe arguments touch the same data. specifically, the length and data\r\nevaluation are interleaved with the index/start/length evaluations. in\r\nunusual situations (such as those in the included test cases), this\r\ncan result in \"invalid\" reads where the data and length reads appear\r\nout of order. this commit conservatively blocks compilation if the\r\npreconditions for the interleaved evaluation are detected.\r\n\r\n---------\r\n\r\nCo-authored-by: trocher \r\nCo-authored-by: cyberthirst ","shortMessageHtmlLink":"fix[codegen]: panic on potential eval order issue for some builtins (#…"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMFQxNDoyMDowOS4wMDAwMDBazwAAAAS8DKjL","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yMFQxNDoyMDowOS4wMDAwMDBazwAAAAS8DKjL","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNi0xOFQxOTo0OTozNi4wMDAwMDBazwAAAARo2F15"}},"title":"Activity · vyperlang/vyper"}