Break point: GraalVM, Crystal, cri-o, Google Cloud, and Jira

break point

The team behind multi-language runtime GraalVM has pushed out version 21.2 of its project. Besides updating the underlying OpenJDK versions, it fitted GraalVM with basic Java Flight Recorder support for JDK 11, a guard hoisting loop duplication phase, C++ virtual calls, and atomic versions of assembly instructions. Version 21.2 also comes with implementations of class pre-definition and speculative guard movement optimisation, as well as experimental versions of the new set methods proposal and operator overloading.

Users of the enterprise variant can take newly added pthreads and associated synchronisation primitives in managed mode for a spin, which allows running multi-threaded C/C++ software. Other enterprise additions include improved loop analysis for counted loops, a novel SIMD vectorisation optimisation for sequential code, and a StringBuilderOptimizationPhase for JDK 11. Details can be found in the GraalVM release notes.

Crystal 1.1 bulks up on annotations, includes segfault handler

Four months after its 1.0 release, version 1.1 of the Crystal language is ready for consumption and even includes some language changes. Once they’ve updated their installations, developers should now be able to embed splats in enumerable literals and type definitions, and access top-level modules through the new instance variable @top_level.

NumberLiteral includes a to_number method to obtain a pure number, while new macro method ASTNode#nil?can be used to find out whether an object is the NilLiteral or Nop. Looking at the standard library, the Crystal team has been busy annotating methods with expected types in order to improve error messages and the documentation. It has also implemented a segfault handler to make compilation simpler, though this means package maintainers need to update their packaging instructions since this made libcrystal obsolete.

Cri-o 1.21.2 lands

Kubernetes Container Runtime Interface implementation Cri-o is available in version 1.21.2 and has learned to pass pod UIDs to CNI plugins when performing network operations to prevent overlapping sandbox requests, amongst other things. Users are also free to customise conmon’s resources if a pod is in a workload, and the project will reuse connection when connecting to dbus or reattempt the connection if it fails temporarily. Changed dependencies include the Go storage library for containers, runc, selinux, and go-winio.

Google introduces data validation tool to facilitate migration

The Google Cloud team has introduced its aptly named Data Validation Tool (DVT), an open-source Python CLI tool for validating data across different environments. It is meant to provide connectivity to various file systems and database products — from BigQuery, to Apache Hive, Oracle and Snowflake — and was built to simplify data migrations (probably to the Google Cloud). DVT uses the Ibis framework and can be integrated with things like extract-transform-load pipelines for automated validation from table to row level.

Jira Software Cloud adds sprint planning insights

Atlassian’s Jira Software Cloud sports three new insights since earlier this week. Meant to make sprint planning easier, sprint commitment is said to monitor “a sprint’s workload based on the performance of the past five sprints” and recommend a target. A sprint progress insight provides information about the current work status, while an issue type breakdown lets teams know if they focus too much on new features or too little on getting rid of technical debt.