NixOS 18.03 puts Nix 2.0 into the stable system
engineeringnixnixosconfigurationupgradesNixOS 18.03 adopts Nix 2.0 and updates the system base, with module changes that distinguish declarative configuration from persistent service state.
Notes on building observable systems and operating them at scale.
NixOS 18.03 adopts Nix 2.0 and updates the system base, with module changes that distinguish declarative configuration from persistent service state.
The April technical explanation of CVE-2017-1002101 describes a filesystem race. The Linux implementation uses file descriptors and an intermediate bind mount to preserve the validated target.
SQLite 3.23.0 adds optional APIs for moving a database between a connection and a memory buffer. Their ownership rules matter as much as the serialization itself.
Dos Reis and Smith propose a common route for modules toward C++20. The plan separates a shared language subset from header-import and macro work that still needs experimentation in the TS.
Rust 1.25 moves to LLVM 6, stabilizes explicit struct alignment, and simplifies import grouping. The changes affect different layers of how Rust describes a program.
Conditional conformance lets containers acquire protocols from their contents. Swift 4.1 uses it to fix nested equality and collapse collection wrappers, with consequences for both APIs and generated libraries.
CVE-2018-6914 lets externally supplied temporary-name prefixes alter the creation path. Ruby's correction removes path separators from name components while preserving the separate parent-directory argument.
Incremental fetch sessions reduce metadata repeated between Kafka brokers. A session identifier and epoch keep the shared state synchronized, while a bounded broker cache limits the memory cost of remembering it.
Python 3.6.5 repairs asyncio synchronization and transport behaviour alongside security fixes. The changes show why interpreter maintenance matters even when application syntax stays the same.
Conditional types let libraries describe results that depend on their inputs. Distribution over unions and inference within type patterns explain both their usefulness and their limits.
The March maintenance release fixes a lock held during intent resolution and a transaction-state error that blocked schema changes encountering retries.
Redis 4.0.9 repairs an event-loop ordering bug that could acknowledge a write before syncing it. The fix connects the append-only file durability policy to socket event scheduling.
CSI and local persistent volumes reach beta in Kubernetes 1.10. The storage changes also clarify the relationship between mounting, scheduling and deletion.
The package versioning proposal uses distinct import paths for incompatible APIs and minimum dependency requirements to make builds predictable.
Docker 18.03 lets a local Dockerfile live outside the build context and adds multiple Compose files for Swarm deployment. A multi-stage build fix strengthens the separation between images sharing a parent.
Four commands acquired state through a shared backend method without releasing its lock. Terraform 0.11.5 adds the missing cleanup.
Perl 5.27.10 fixes regex and CPAN regressions while making Carp less likely to fail during the error reporting that exposes them.
Jacksonville's range-for correction lets an ADL begin/end pair remain usable when a class has only one of those member names. The meeting's Evolution report separates this adopted correction from larger features still under discussion.
rqlite 4.3.0 accepts bcrypt hashes in its existing credential format. The release retains plaintext compatibility, node-local permissions and a separate need for transport encryption.
Custom Envoy configuration in Istio 0.6 works through Pilot's generated discovery responses. Caching and fallback behavior determine when a custom transformation reaches the proxy.
Clang 6 adds warnings for unbalanced packing directives and includes affected by earlier packing state. The release makes hidden compilation context easier to identify in C interfaces.
CVE-2018-1058 makes schema write permissions part of query security. PostgreSQL 10.3 hardens supplied tools and documents the configuration work applications still need.
A February Kafka and KSQL session introduces streaming SQL as a continuously running computation. Its useful distinction is between an event stream and an evolving table, even when both originate in Kafka topics.
Nix 2.0 introduces an experimental command interface backed by a broader store abstraction, with new transfer, trust, and evaluation behaviour.
rqlite 4.2.3 redirects node-removal requests received by followers. The HTTP fix exposes the leader requirement already enforced by the Raft store.
Perl 5.27.9 uses native thread-safe locale operations and exposes a capability flag, with explicit limits for extensions and unsupported platforms.
The move to app.terraform.io separates a domain transition from the larger migration to Enterprise workspaces and its API.
Cassandra 3.11.2 repairs JMX server construction, disk maintenance and schema exchange. The common concern is keeping administrative work from disrupting the database it manages.
RubyGems 2.7.6 fixes path traversal, unsafe owner-data deserialization and package-validation problems. The changes show how installation safety depends on filesystem resolution and unambiguous metadata.
Go 1.10 adds a content-based build cache and reuses successful package tests. Their different invalidation rules change what repeated commands mean.