{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreih5t7ree6tocrtu2n4eez7zjs6fv6r7zvq6de7vsunslpfuvyjdg4",
"uri": "at://did:plc:kfvfl6lsmxg64yzszmfotdq2/app.bsky.feed.post/3mg765lnx2dp2"
},
"path": "/t/ruby-talk-444778-ann-cel-0-6-0-released/76735#post_1",
"publishedAt": "2026-02-28T02:15:41.000Z",
"site": "https://rubytalk.org",
"tags": [
"GitHub - google/cel-spec: Common Expression Language -- specification and binary representation",
"library package - k8s.io/apiserver/pkg/cel/library - Go Packages"
],
"textContent": "cel 0.6.0 has been released.\n\ncel is a pure Ruby implementation of Google Common Expression Language,\nGitHub - google/cel-spec: Common Expression Language -- specification and binary representation.\n\nThe Common Expression Language (CEL) implements common semantics for\nexpression evaluation, enabling different applications to more easily\ninteroperate.\n\n\n require \"cel\"\n\n # set the environment\n env = Cel::Environment.new(name: :string, group: :string)\n\n # parse\n ast = env.compile('name.startsWith(\"/groups/\" + group)')\n # check\n prg = env.program(ast)\n # evaluate\n prg.evaluate(name: Cel::String.new(\"/groups/acme.co/documents/secret-stuff\n \"),\n group: Cel::String.new(\"acme.co\")) #=> true\n\n # or do it all in one go\n env.evaluate('name.startsWith(\"/groups/\" + group)',\n name: Cel::String.new(\"/groups/acme.co/documents/secret-stuff\"),\n group: Cel::String.new(\"acme.co\")\n )\n\n\nHere are the updates since the last release:\n\n## [0.6.0] - 2026-02-28\n\n### Features\n\n#### Network Extension\n\nSupport the network extension, as defined [here](\nlibrary package - k8s.io/apiserver/pkg/cel/library - Go Packages).\n\n### Improvements\n\n#### support top-level lookup (ex: '.y')\n\nalso, make sure than, on lookup, keys under the passed container take\npriority, except in the case where the lookup is top-level\n(i.e. '.y').\n\nat the same time, #merge is refactored in order to:\n\n* normalize nested bindings into aggregated keys ({a:{b:1}} => {:\"a.b\"=> 1}\n* override container-prefixed variables with the local binding\n* deal with conflicts by moving them to top level.",
"title": "[ruby-talk:444778] [ANN] cel 0.6.0 released"
}