cel 0.3.0 has been released.
cel is a pure Ruby implementation of Google Common Expression Language,
https://opensource.google/projects/cel.
The Common Expression Language (CEL) implements common semantics for
expression evaluation, enabling different applications to more easily
interoperate.
```ruby
require "cel"
# set the environment
env = Cel::Environment.new(name: :string, group: :string)
# parse
ast = env.compile('name.startsWith("/groups/" + group)')
# check
prg = env.program(ast)
# evaluate
prg.evaluate(name: Cel::String.new("/groups/acme.co/documents/secret-stuff
"),
group: Cel::String.new("acme.co")) #=> true
# or do it all in one go
env.evaluate('name.startsWith("/groups/" + group)',
name: Cel::String.new("/groups/acme.co/documents/secret-stuff"),
group: Cel::String.new("acme.co")
)
```
Here are the updates since the last release:
# [0.3.0] - 2025-06-12
### Features
* Integration with `google-protobuf` (optional dependency) by evaluating
messages to protobuf stubs, and making them an integral part of the CEL
type set. Some examples:
* auto-conversion of protobuf wrapper types.
* enums support
### Improvements
* More correct parsing, checking and evaluation of CEL expressions, thanks
to the issues identified by conformance tests.
### Chore
* Incorporation of the oficial cel-spec conformance tests into the test
suite, to ensure feature correctness.
* `bigdecimal` added as explicit dependency.
## [0.2.3] - 2023-09-19
### Bugfixes
* `cel` is loadable without the need to install `google/protobuf` again.
+ expressions containing te operator `<=` were failing while parsing.
## [0.2.2] - 2023-08-17
* Reimplements `Cel::Literal#==` in a simpler way, to avoid several
comparison issues arising from the previous implementation.
* fix initialization of `Cel::Duration` and `Cel::Timestamp` from string
notation.
* fix protobuf-to-cel parsing of negative literals.
* more consistent usage of Cel types internally.
* fix condition clause evaluation.
## [0.2.1] - 2023-07-26
### Improvements
Collection type declarations are now better supported, i.e. declaring "an
array of strings" is now possible:
```ruby
Cel::Types[:list, :string] # array of strings
Cel::Environment.new(
names: Cel::Types[:list, :string],
owned_by: Cel::Types[:map, :string] # hash map of string keys
)
```
### Bugfixes
Collections passed as variables of an expression are now correctly cast to
Cel types:
```ruby
env.evaluate("a", { a: [1, 2, 3] }) #=> now returns a Cel::List
```
Conversely, custom functions now expose ruby types in the blocks, instead
of its Cel counterparts:
```ruby
func = Cel::Function(:list, :list, return_type: :list) do |a, b|
# a is now a ruby array, b as well
a & b
# function returns a ruby array, will be converted to a Cel::List for use
in the expression
end
```
debride version 1.13.0 has been released!
* home: <https://github.com/seattlerb/debride>
* rdoc: <http://docs.seattlerb.org/debride>
Analyze code for potentially uncalled / dead methods, now with auto-removal.
Changes:
### 1.13.0 / 2025-06-10
* 2 minor enhancements:
* Added -y to debride_rm to opt-in to running autoclave.
* Print command for autoclave to help see what's happening.
* 1 bug fix:
* Fixed shebangs on all bin/* files, added -w for all.
The JRuby community is pleased to announce the release of JRuby 9.4.13.0.
- Homepage: https://www.jruby.org/
- Download: https://www.jruby.org/download
JRuby 9.4.13.x targets Ruby 3.1 compatibility.
Thank you to our contributors this release, you help keep JRuby moving
forward!
Stability
- Fixed a slow memory leak in subclass management. (#8842, #8844)
- Fixed a potential deadlock during multi-threaded boot and concurrent
JIT compilation. (#8845, #8849)
Usability
- Backported JRuby .sh launcher features from JRuby 10, including AppCDS
flags for improved startup time. (#8565, #8625, #8626, #8652, #8653, #8656,
#8754)
56 Issues and PRs resolved for 9.4.13.0
#8351 Zlib::GzipReader missing each_char iterator
#8426 Dir[] vs "../../"
#8506 Test new version of resolv
#8526 obj.first caused Java::JavaUtil::NoSuchElementException on an
empty Java21 ArrayList
#8542 Fix Dir.glob ../ and cases
#8565 JRuby native launcher seems to get confused when both --dev and
-Xcompile.mode=JIT are applied
#8574 Improvements to support json library
#8577 ArgumentError: unknown keyword for required keyword argument
#8599 Fixes #8577. kwargs checking: Use bits instead of index
#8608 add zlib each_char
#8611 Setting an instance var on a Java object no longer warns
#8613 Warn when creating a new ivar table on JavaProxy wrapper
#8623 Installing sassc broke on jruby-head on Windows
#8625 Add --cache flag to regenerate AppCDS
#8626 Fix default arguments for generating AppCDS flag
#8635 Fix tr! and reverse! on ByteList view with non-zero begin index
#8643 Fixes to get stringio tests and specs green
#8645 Update stringio to 3.1.5
#8648 Handle errors whe looking for Java executable
#8652 Use set -u to avoid accessing uninitialized variables
#8653 Align 9.4 launcher with 10
#8654 fix glob dir on windows
#8655 Make some private helpers for glob
#8656 Additional fixes for jruby.sh
#8661 Update Unicode to 15.0
#8663 copy-rename-maven-plugin version
#8667 Update jcodings to 1.0.62 and joni to 2.2.4
#8671 fix a regression in KDDI transcoding
#8681 Update MRI core tests and tag failures
#8686 rbByteEncode fails to no-op when encodings are the same
#8687 Handle encoding checks as in strTranscode
#8688 Tracing :call with TracePoint (and --debug flag) makes kwargs
unusable
#8691 Implement AutoCloseable on JRubyEngine
#8692 Save original callers callInfo in tracepoint
#8696 New restriction warnings on Java 24
#8715 Fix missing 2 arg for IO#readline
#8728 Incorrect warning: given block not used
#8731 [ji] avoid false duplicate method warning
#8733 Remove this warning to match standard set.rb
#8754 Backport jruby.sh from JRuby 10
#8755 Update uri to version 0.12.3 in JRuby 9.4
#8789 Dir.glob and Dir[] on existing file URL raises error
#8795 Possible typo in lib/ruby/stdlib/jruby/compiler.rb:61
#8805 Possible NPE in RubyModule:searchWithCacheMiss() found by SAST
#8806 Possible NPE in StringSupport:rbStrEnumerateLines() found by SAST
#8820 Fix recent potential NPE reports
#8821 Always cache undef along these paths
#8825 Update net-imap from 0.2.3 to 0.2.5
#8827 Update to net-imap 0.2.5 for security fixes
#8830 Splat with multi-line expression improperly expands
#8834 Missing splatNode creation
#8842 Metaspace leak in 9.4
#8844 Use a normal ClassValue for all such cases
#8845 Fix locking of stable class values for JI proxies
#8849 Clean up some locking around hierarchy modification
#8857 Migrate to the new Maven Central publishing system
--
blog: http://blog.enebo.com twitter: tom_enebo
mail: tom.enebo(a)gmail.com
This is a major upgrade providing support for additional classes, improvements, bugfixes and last but not least
an upgrade to target the new major wxWidgets 3.3.0 release.
** What's Changed **
* target wxWidgets 3.3.0 release by default
* add support for Wx::CursorBundle
* add Wx::HStaticBoxSizer and Wx::VStaticBoxSizer convenience classes
* add support for Wx::GenericHyperlinkCtrl
* add support for Wx::HScrolledWindow, Wx::VScrolledWindow and Wx::HVScrolledWindow
* add Wx::Position class
* add Wx::Rect2DDouble
* improve documentation for enumerator methods and constructor initializer blocks
* various other improvements and bugfixes
* update wxWidgets master branch compatibility to at least commit e92f57b421938e00f0ad944c281c2e353eee2ab8
For more details see the original release announcement here: https://github.com/mcorino/wxRuby3/discussions/392