Heads up This site is currently under heavy development.
Subscribe Get it delivered — the daily firehose, filtered to the tools you run, plus the documentation changes vendors never announce. Compare plans →

The AI Toolchain — issue -410, September 29, 2021

THE AI TOOLCHAIN NO. -410
Tail
THE DAILY RELEASE FIREHOSE
PUBLISHED SEPTEMBER 29, 2021 · EVERY WEEKDAY
EDITIONS tail grep head diff uniq

The daily firehose — everything the toolchain shipped today, already filtered.

// HOW THIS ISSUE IS MADE

We read every release from the 174 tools on our watchlist at the source — GitHub and GitLab release notes, vendor release pages and changelogs, project blogs and feeds, vendor press releases, and the source code behind the tag. Bug-fix-only releases and non-product newsroom noise are dropped; what's left is summarized down to the new capability, how to try it, and any screenshots or videos the release itself published. Every entry links to the sources it was built from.

VIEW
ISSUE VIEW full issue
Do you prefer this view?
$ tct list   # 5 tools matched
AI & LLM Tooling
◆  AI Agent Frameworks

deepset Haystack

Sources Release notes → v0.10.0 NOTES

Haystack v0.10.0 adds RayPipeline for distributed scaling, SAS evaluation metric, and new FARMClassifier, SentenceTransformersRanker, and QuestionGenerator nodes.

└──▷ GET THIS VERSION
$ git clone --branch v0.10.0 https://github.com/deepset-ai/haystack.git
# already have the repo? check out this version:
$ git checkout v0.10.0
└──▷ USE IT
Scale a retriever-reader pipeline across a Ray cluster by assigning independent replica counts to each node.
python
from haystack.pipeline import RayPipeline
pipeline = RayPipeline.load_from_yaml(path="my_pipelines.yaml", pipeline_name="ray_query_pipeline")
pipeline.run(query="What is the capital of Germany?")
Use Semantic Answer Similarity scoring during evaluation to catch semantically correct answers missed by lexical metrics.
python
from haystack.nodes import EvalAnswers
eval_reader = EvalAnswers(sas_model="sentence-transformers/paraphrase-multilingual-mpnet-base-v2")
  • Adds RayPipeline class (imported from haystack.pipeline) enabling distributed pipeline execution across a Ray cluster, with per-node replicas configured in YAML pipeline config.
  • Adds params dict argument to Pipeline.run() supporting node-targeted parameter routing such as params={"Retriever": {"top_k": 10}, "Reader": {"top_k": 5}}.
  • Adds sas_model parameter to EvalAnswers node enabling cross-encoder-based Semantic Answer Similarity (SAS) evaluation metric.
  • Adds ImageToTextConverter and PDFToTextOCRConverter classes providing OCR-based document conversion.
  • Adds language parameter to PreProcessor for optional language-specific preprocessing.
+12 moreshow less
  • Adds MostSimilarDocumentsPipeline for similarity-based document retrieval pipelines.
  • Adds FARMClassifier node for document classification at indexing time or inline in inference pipelines.
  • Adds SentenceTransformersRanker node for re-ranking retrieved documents using sentence-transformer models.
  • Adds QuestionGenerator class for generating candidate questions from documents, supporting autosuggest and labeling acceleration use cases.
  • Adds Approximate Nearest Neighbour (ANN) search support to OpenSearchDocumentStore.
  • Adds filter integration with KNN queries in OpenDistroElasticsearchDocumentStore.
  • Adds multi-GPU inference support for DensePassageRetriever.
  • Adds id field support in write_labels() for SQLDocumentStore.
  • Adds Crawler support for use inside indexing pipelines.
  • Adds JSON serialization of Crawler output.
  • Supports connecting to Elasticsearch without authentication.
  • Adds docs2answer node enabling FAQ-style QA and document search via the API.
└──▷ BREAKING ON UPGRADE
  • !The probability field is removed from answer and document results in both the Python API and REST API; only score (range [0,1]) remains, populated with the former probability value.
  • !The Finder class is removed entirely.
  • !Pipeline.run() no longer accepts keyword arguments like top_k_retriever or top_k_reader; all component params must be passed via a params dict (e.g. params={"Retriever": {"top_k": 10}, "Reader": {"top_k": 5}}).
  • !Custom pipeline nodes must no longer define **kwargs in their run() methods and should return only the data they produce themselves.
Was this useful?
◆  AI Model & Data Infrastructure

Microsoft ONNX Runtime

Sources Release notes → v1.9.0 NOTES

ONNX Runtime v1.9 adds opset 15, sparse tensor APIs, TensorRT V2 provider API, and CUDA/TensorRT bundling in GPU packages.

└──▷ GET THIS VERSION
$ git clone --branch v1.9.0 https://github.com/microsoft/onnxruntime.git
# already have the repo? check out this version:
$ git checkout v1.9.0
└──▷ USE IT
Configure a TensorRT execution provider session with the new V2 API, which supports explicit quantization and finer-grained options.
c
OrtTensorRTProviderOptionsV2* trt_options;
api->CreateTensorRTProviderOptions(&trt_options);
const char* keys[] = {"device_id", "trt_max_workspace_size"};
const char* values[] = {"0", "1073741824"};
api->UpdateTensorRTProviderOptions(trt_options, keys, values, 2);
api->SessionOptionsAppendExecutionProvider_TensorRT_V2(session_options, trt_options);
api->ReleaseTensorRTProviderOptions(trt_options);
Build a custom ONNX Runtime binary that statically links onnxruntime-extensions so models using custom operators work without external dependencies.
$ ./build.sh --config Release --_use_extensions
Enable debug logging in ORTModule training to inspect graph transformations and execution issues.
python
from onnxruntime.training.ortmodule import ORTModule, DebugOptions, LogLevel

model = ORTModule(pt_model, DebugOptions(log_level=LogLevel.VERBOSE))
  • Adds --_use_extensions build option to statically link onnxruntime-extensions for running models with custom operators.
  • Adds RegisterAllocator and UnregisterAllocator C APIs (in onnxruntime_c_api.h) for sharing a custom allocator across multiple sessions.
  • Adds SessionOptionsAppendExecutionProvider_TensorRT_V2, CreateTensorRTProviderOptions, UpdateTensorRTProviderOptions, GetTensorRTProviderOptionsAsString, and ReleaseTensorRTProviderOptions C APIs for configuring TensorRT EP.
  • Adds EnableOrtCustomOps C API to enable custom operator support in a session.
  • Adds sparse tensor C APIs: IsSparseTensor, CreateSparseTensorAsOrtValue, FillSparseTensorCoo, FillSparseTensorCsr, FillSparseTensorBlockSparse, CreateSparseTensorWithValuesAsOrtValue, UseCooIndices, UseCsrIndices, UseBlockSparseIndices, GetSparseTensorFormat, GetSparseTensorValuesTypeAndShape, GetSparseTensorValues, GetSparseTensorIndicesTypeShape, and GetSparseTensorIndices.
+17 moreshow less
  • Supports ONNX 1.10 with opset 15 and ONNX IR 8 (SparseTensor type, model-local function protos).
  • Official ORT GPU packages (non-Python) now bundle both CUDA and TensorRT Execution Providers in a single package, built against CUDA 11.4.
  • New onnxruntime-directml Python package available on PyPI for DirectML-accelerated inference on Windows.
  • C# NuGet package adds netstandard2.0 as a supported target framework.
  • Adds DebugOptions and LogLevels to the ORTModule API for training debuggability.
  • ORT Training supports user-defined autograd functions and fallback to PyTorch for execution.
  • ORT Training adds support for deterministic compute to enable reproducibility with ORTModule.
  • ORT Training expands accepted input formats to include dictionaries and lists.
  • ORT Training adds ROCm 4.3.1 support on AMD GPUs.
  • ORT Web adds SIMD support in WebAssembly and an option to load WebAssembly from a worker thread to avoid blocking the main UI thread.
  • TensorRT EP adds support for TensorRT 8.0 (x64 Windows/Linux, ARM Jetson), including explicit-quantization features (ONNX Q/DQ support).
  • OpenVINO EP adds support for OpenVINO 2021.4.
  • CUDA EP adds support for sequence ops for models using the sequence type.
  • ORT Mobile iOS package switches to xcframework, supporting arm64 iPhone simulator on Apple silicon Macs.
  • Adds new quantized operator QGemm for direct quantization of Gemm.
  • IBM Power platform support added.
  • Quantization tool gains subgraph support.
└──▷ BREAKING ON UPGRADE
  • !GCC versions below 7 are no longer supported.
  • !CMAKE_SYSTEM_PROCESSOR must be explicitly set when cross-compiling on Linux (set to the output of uname -m on the target device) due to the new pytorch cpuinfo dependency for ARM big.LITTLE support.
  • !SessionOptionsAppendExecutionProvider_TensorRT is deprecated; callers must migrate to SessionOptionsAppendExecutionProvider_TensorRT_V2.
  • !Windows symbol (PDB) files are no longer included in the NuGet package; they must be downloaded separately from GitHub artifacts.
Was this useful?

NVIDIA Triton Inference Server

Sources Release notes → v2.14.0 NOTES

Triton v2.14.0 ships BLS beta, Java client beta, PyPI SDK wheel, and TensorRT as an optional backend.

└──▷ GET THIS VERSION
$ git clone --branch v2.14.0 https://github.com/triton-inference-server/server.git
# already have the repo? check out this version:
$ git checkout v2.14.0
  • Adds --gpus flag support for CUDA Device Index in addition to GPU UUID in Model Analyzer, giving teams more flexibility when targeting specific devices.
  • Full-featured beta of Business Logic Scripting (BLS) released for the Python backend, enabling custom inference logic within the server.
  • Beta Java client released with initial support for Triton's inference API.
  • Triton Client SDK wheel now available directly from PyPI for both Ubuntu and Windows, installable via pip.
  • TensorRT backend is now optional; the compose utility can build a Triton container without it, just like all other backends.
+1 moreshow less
  • Model Analyzer can now profile using perf_analyzer's C-API.
Was this useful?
◆  AI Coding Agents

Zed

Sources Release notes → v0.3 3 RELEASES · 2021-09-13 → 2021-09-22 NOTES STABLE

Zed v0.3 adds collaborative editing with a new people panel and .zed.toml collaborator config.

└──▷ GET THIS VERSION
$ git clone --branch v0.3 https://github.com/zed-industries/zed.git
# already have the repo? check out this version:
$ git checkout v0.3
└──▷ USE IT
Grant specific GitHub users collaborative access to your project so they can browse and open files from the shared folder.
toml
collaborators = ["nathansobo", "as-cii", "maxbrunsfeld"]
Start a live collaboration session after configuring collaborators — authenticate and share your folder.
📍1. Click the avatar icon in the upper-right corner of the Zed window to authenticate. 2. Open the people panel. 3. Click the folder you want to share to begin the session.
  • Adds .zed.toml config file (placed in the project root) with a collaborators key listing GitHub usernames to grant access to a shared source tree.
  • New people panel UI lets you share a local folder or join a collaborator's shared remote folder with a single click.
  • Avatar icon in the upper-right corner enables GitHub-based authentication required to appear in collaborators' people panels.
  • Collaborators listed in .zed.toml are automatically granted download access to Zed at https://zed.dev if they don't already have it.
2 more releases in this issue · 2021-09-13 → 2021-09-22
v0.2.1 NOTES STABLE

Zed v0.2.1 adds sign-in and connection status indicators to the titlebar with one-click authentication.

└──▷ GET THIS VERSION
$ git clone --branch v0.2.1 https://github.com/zed-industries/zed.git
# already have the repo? check out this version:
$ git checkout v0.2.1
  • Displays sign-in status in the titlebar, with a clickable signed-out icon to trigger authentication.
  • Displays connection status in the titlebar for at-a-glance connectivity awareness.
v0.2 NOTES STABLE

Zed v0.2 adds collaborative editing via link sharing, an embedded chat panel, three switchable themes, and soft-wrap.

└──▷ GET THIS VERSION
$ git clone --branch v0.2 https://github.com/zed-industries/zed.git
# already have the repo? check out this version:
$ git checkout v0.2
  • Adds collaborative editing: open a worktree, share a link via Zed > Share, and guests can join via Zed > Join to open, edit, and save any file in the tree.
  • Adds a code-aware chat panel embedded in the editor with channel selection, message send/receive, and history scrollback; all users are seeded into the #zed-insiders channel.
  • Adds a data-driven theming system with three switchable color themes — Dark, Black, and Light — toggled at runtime with cmd-k cmd-t.
  • Adds soft-wrap support with background threading to keep the editor responsive; wraps even large files (tested at 25 MiB JSON) without blocking the main thread beyond 1 ms.
Was this useful?
Other / Uncategorized
◆  VECTOR DB RAG

Weaviate

Sources Release notes → v1.7.0 NOTES

Weaviate v1.7.0 adds array datatypes, a spellcheck module with auto-correct, and transformer-based NER at query time.

└──▷ GET THIS VERSION
$ git clone --branch v1.7.0 https://github.com/weaviate/weaviate.git
# already have the repo? check out this version:
$ git checkout v1.7.0
└──▷ USE IT
Check spelling of a nearText query without altering results — useful when you want to surface correction hints to the end user.
graphql
{
  Get {
    Post(nearText: { concepts: "missspelled text" }) {
      content
      _additional {
        spellCheck {
          changes { corrected original }
          didYouMean
          location
          originalText
        }
      }
    }
  }
}
Extract named entities from stored object content at query time using the ner-transformers module.
graphql
{
  Get {
    Post {
      content
      _additional {
        tokens(
          properties: ["content"],
          limit: 10,
          certainty: 0.8
        ) {
          certainty
          endPosition
          entity
          property
          startPosition
          word
        }
      }
    }
  }
}
  • Adds array primitive datatypes (string[], text[], int[], number[]) to the schema, enabling lists of primitives to be stored, filtered, and aggregated like scalar properties; auto-schema automatically recognizes lists of string/text and number/int.
  • New text-spellcheck module exposes a spellCheck field under _additional in GraphQL queries, returning per-term corrections (corrected, original), a didYouMean suggestion, location, and originalText at query time without altering results.
  • New ner-transformers module exposes a tokens field under _additional in GraphQL queries for on-the-fly named-entity extraction from object properties, with optional properties, limit, and certainty parameters returning entity, word, startPosition, endPosition, certainty, and property per token.
Was this useful?
my-toolchain — 0 tools
paste an install list to detect your tools

A brew list, a Brewfile, requirements.txt, a Dockerfile — or just the product names, free-form. Nothing leaves your browser.

    browse all tools →