{"push_id":926270436,"size":9,"distinct_size":1,"ref":"refs/heads/master","head":"d757fd673317665becc328941694ce72844943fa","before":"329a43cfc58e7f9a6807138438cd956d99093c71","commits":[{"sha":"5784d9432408e0ae947d2589f7f212f965d40693","author":{"email":"5f50a84c1fa3bcff146405017f36aec1a10a9e38@tada.se","name":"Thomas Hallgren"},"message":"(PUP-5209) Ensure correct visibility between modules\n\nThis commit deals with function visibility between modules. It fixes\ntwo major problems and adds a test matrix containing 27 distinct\ntest cases.\n\nFirst issue was that a puppet function didn't use the private loader.\nThis prevented puppet functions in general from calling functions in\nother modules.\n\nSecond issue was that calls made from outside of a function (i.e.\nfrom .pp code not associated with a 'pops' loader) had access to\nall functions in all modules. This happened because the caller\ndefaulted to using the private environment loader. This commit adds\nlogic that will attempt to find out what module a call originates from\nand, if successful, use the private loader of that module to satisfy\nthe function lookup. A better fix for this would be to use the new\nloader framework throughout but that's a much larger task (see\nPUP-1833).\n\nThe test matrix tests calls from three different call locations:\n- directly from manifests/init.pp\n- from a puppet function declared under the modules functions directory\n- from a puppet function declared in the modules manifests/init.pp\n- from a ruby function\n\nEach call location performs a call to the dependent module that targets\n- a puppet function declared under the functions diretory\n- a puppet function declared in manifests/init.pp\n- a ruby function\n\nEach call is tested using the following conditions:\n- Metadata present with a valid dependency to the callee\n- Metadata present that lacks a dependency to the callee (should fail)\n- No metadata present (will succeed since all modules are visible)","distinct":false,"url":"https://api.github.com/repos/puppetlabs/puppet/commits/5784d9432408e0ae947d2589f7f212f965d40693"},{"sha":"e68b539e88f060e11a31a7eaed15df2070354adf","author":{"email":"5f50a84c1fa3bcff146405017f36aec1a10a9e38@tada.se","name":"Thomas Hallgren"},"message":"(PUP-5651) Prevent that functions can be defined in blocks\n\nA function many not be nested in any type of block. This commit\nadds the validation necessary to assert that rule.","distinct":false,"url":"https://api.github.com/repos/puppetlabs/puppet/commits/e68b539e88f060e11a31a7eaed15df2070354adf"},{"sha":"0981333cb4c6d571a3e066b661e0c9bcf172c44e","author":{"email":"95e828102f92afbaa4d3ed92646a950670566628@puppetlabs.com","name":"Henrik Lindberg"},"message":"Merge pull request #4537 from thallgren/issue/pup-5209/inter-module-calls\n\n(PUP-5209) Ensure correct visibility between modules","distinct":false,"url":"https://api.github.com/repos/puppetlabs/puppet/commits/0981333cb4c6d571a3e066b661e0c9bcf172c44e"},{"sha":"ba4f2182b3e8982637416f02a711788de3f5e034","author":{"email":"95e828102f92afbaa4d3ed92646a950670566628@puppetlabs.com","name":"Henrik Lindberg"},"message":"Merge pull request #4554 from thallgren/issue/pup-5651/prevent-function-in-block\n\n(PUP-5651) Prevent that functions can be defined in blocks","distinct":false,"url":"https://api.github.com/repos/puppetlabs/puppet/commits/ba4f2182b3e8982637416f02a711788de3f5e034"},{"sha":"70b09d7c8bf3d999829579f192af4be500b53b9d","author":{"email":"5f50a84c1fa3bcff146405017f36aec1a10a9e38@tada.se","name":"Thomas Hallgren"},"message":"(maint) Allow Function in Block contained by a Program\n\nA parsed file becomes a Program with a Block which means that things\ncontained in the file resides in a block. Apparently this is not\nthe case when parsing a string (no block present in the program).\n\nThis means that the rule stipulating that a function cannot reside in\na block had to be altered. It's OK for a function to reside in a block\nwhen the container is a program.","distinct":false,"url":"https://api.github.com/repos/puppetlabs/puppet/commits/70b09d7c8bf3d999829579f192af4be500b53b9d"},{"sha":"4a103a8cef4e64becc80c729b6d108a50cc17aa1","author":{"email":"5f50a84c1fa3bcff146405017f36aec1a10a9e38@tada.se","name":"Thomas Hallgren"},"message":"(PUP-5658) Disallow numeric types with ranges where to < from\n\nNumeric types like `Integer[10,0]` was allowed. This commit ensures\nthat an error is raised if 'to' is less than 'from' in the range.\n\n**Important note when merging to 4.x**\nThe checks for to < from (here in multiple places) should NOT be\nmerged. In 4.x there should be only one check and it should reside\nin the `PNumericType.initialize`.","distinct":false,"url":"https://api.github.com/repos/puppetlabs/puppet/commits/4a103a8cef4e64becc80c729b6d108a50cc17aa1"},{"sha":"697bf9b3bcfc941a931488a44dd1d8152c06d0eb","author":{"email":"95e828102f92afbaa4d3ed92646a950670566628@puppetlabs.com","name":"Henrik Lindberg"},"message":"Merge pull request #4556 from thallgren/issue/pup-5658/dissalow-max-lt-min-ranges\n\n(PUP-5658) Disallow numeric types with ranges where to < from","distinct":false,"url":"https://api.github.com/repos/puppetlabs/puppet/commits/697bf9b3bcfc941a931488a44dd1d8152c06d0eb"},{"sha":"a5c6db1f4427d218608ada23a1ee74961bddc914","author":{"email":"95e828102f92afbaa4d3ed92646a950670566628@cloudsmith.com","name":"Henrik Lindberg"},"message":"Merge branch '3.x' into stable\n\nConflicts:\n\tlib/puppet/pops/evaluator/access_operator.rb\n\tlib/puppet/pops/types/type_calculator.rb\n\tlib/puppet/pops/types/type_factory.rb\n\tlib/puppet/pops/types/types.rb","distinct":false,"url":"https://api.github.com/repos/puppetlabs/puppet/commits/a5c6db1f4427d218608ada23a1ee74961bddc914"},{"sha":"d757fd673317665becc328941694ce72844943fa","author":{"email":"95e828102f92afbaa4d3ed92646a950670566628@cloudsmith.com","name":"Henrik Lindberg"},"message":"Merge branch 'stable'","distinct":true,"url":"https://api.github.com/repos/puppetlabs/puppet/commits/d757fd673317665becc328941694ce72844943fa"}]}