Ruby 2.7 preview adds patterns for structured values
engineeringrubypatternsgcRuby 2.7 preview 1 introduces experimental pattern matching and manual heap compaction. Both changes make existing structure easier to work with, in source and in memory.
Notes on building observable systems and operating them at scale.
Ruby 2.7 preview 1 introduces experimental pattern matching and manual heap compaction. Both changes make existing structure easier to work with, in source and in memory.
Amazon MSK reaches general availability with managed brokers and ZooKeeper. Kafka compatibility preserves application choices while AWS takes responsibility for a defined part of cluster operation.
Omit standardizes a common type transformation, while stricter union checks and unknown generic constraints expose assumptions previously accepted by the checker.
CVE-2019-12243 affects Mixer-based authorization for TCP services in Istio 1.1 through 1.1.6. A direction error in generated proxy configuration prevented checks even when the operator had enabled policy enforcement.
CMake can now describe Swift targets for its Ninja generator. The initial support helps existing CMake projects integrate Swift without moving their whole build.
Perl 5.30 accepts experimental lookbehind with a maximum length of 255 characters. Unicode folding and the existing keep operator explain both the new capability and its limits.
Terraform 0.12 makes expressions and nested types central to configuration, with consequences for module design, unknown values, and upgrade compatibility.
Reaper 1.4.3 releases segment leadership before its intensity pause and repairs timestamp migrations. The changes clarify how repair execution and repair history fit together.
The key_in_value option makes a JSON changefeed value identify its row even after deletion. Cloud-storage sinks require that representation because they write values without a separate message key.
Datasette 0.28 can serve SQLite files updated by another process. The change requires different rules for row counts, database opening and HTTP cache identity.
The May maintenance release fixes stuck informers and delayed DaemonSet processing. Both changes concern the machinery that allows declared state to become running workloads after failures and node removal.
An empty application buffer caused Redis to skip pending AOF synchronization work. Redis 5.0.5 separates the need to write bytes from the need to schedule fsync.
CVE-2019-12083 lets a manual Error::type_id implementation mislead safe downcasting code. The announced mitigation withdraws a recently stabilized method whose result the library trusted for an unsafe cast.
Serokell's nixfmt alpha separates parsing from width-aware pretty printing. Its announcement distinguishes the ability to process Nixpkgs from agreement on a final formatting style.
PostgreSQL 11.3 prevents selectivity estimators from exposing sampled values hidden by row security. The release also fixes partition-routing disclosure and Windows installer permissions.
BuildKit confused filename prefixes with directory ancestry when selecting cache inputs. Docker 18.09.6 includes the correction for multi-source COPY and ADD operations.
The final planned alpha exposes slash syntax for Python functions and changes debug-build compatibility with native extensions.
Go 1.11.10 brings the system DLL loading fix to the older release branch. It also accepts valid ELF inputs with repeated section names when linking C++ code.
GCC 9.1 implements experimental C++20 mechanisms while adding diagnostics for lifetime mistakes and move expressions that obstruct existing language rules.
GCC 9.1 adds experimental C2x mode, but its more consequential changes for existing C code concern alignment, strings and the information carried by diagnostics.
CockroachDB 19.1 can send sufficiently old reads to nearby replicas and account for index locality during optimization. These features reduce network work under specific data and transaction conditions.
Docker's Buildx preview combines BuildKit, emulation and manifest lists. A single build invocation can produce separate architecture-specific images under one registry tag.
rqlite 4.5.0 lets SQL requests use a supplied root CA file. The implementation creates a dedicated trust pool, with a separate diagnostic request path that does not yet use it.
Ruby adopts Git for its canonical development repository while retaining Subversion for existing stable branches. The migration changes source identity without adopting GitHub's merge workflow.
A maintenance change adds an opt-in check before assuming npm sits beside Node. The fallback affects automatic type acquisition rather than application JavaScript.
pip 19.1 clarifies when pyproject.toml selects PEP 517 processing and rejects operations that cannot preserve their requested meaning.
Perl 5.28.2 distinguishes successful shutdown from an exception when an in-place edit is still open. The maintenance release also repairs a child-input regression.
Swift 5.0.1 addresses an indexing loop, debug-path remapping, and code-generation thread stack limits. These are changes to the tools that process programs before they run.
Terraform 0.12.0-beta2 aligns state commands with resource addressing elsewhere and preserves state when a provider reports a failed deletion.
A broker override can exist without a nodePort value. Strimzi 0.11.2 avoids selecting that null value while generating the broker's external Service.