News

Microsoft Releases New TypeScript, R Open Editions

Microsoft has shipped a new release for R Open -- its enhanced distribution of the open source R programming language -- along with a release candidate for its latest TypeScript edition.

The new Microsoft R Open 3.4.3, announced Jan. 17, basically aligns the company's version with the latest edition (also v3.4.3) of the open source R Project, which was released Nov. 30. R is a favorite among developers doing statistical computing.

Microsoft R Open 3.4.3 is based on an R snapshot of the R Project taken on Jan. 1. A list of new and updated packages available with that snapshot is available here.

Meanwhile, TypeScript, Microsoft's JavaScript-based offering (also open source), has a new release candidate: TypeScript 2.7 RC. TypeScript is a JavaScript superset that adds optional static typing to JavaScript -- among other distinctions -- while compiling into clean JavaScript.

While Microsoft claimed many changes and fixes come with the RC, it highlighted three features:

  • Definite Assignment Checks for Class Properties: This is a new flag called --strictPropertyInitialization, which performs checks to ensure each instance property of a class gets initialized in the constructor body, or by a property initializer.
  • Fixed Length Tuples: "In TypeScript 2.6 and earlier, [number, string, string] was considered a subtype of [number, string]," Microsoft said. "This was motivated by TypeScript's structural nature; the first and second elements of a [number, string, string] are respectively subtypes of the first and second elements of [number, string]. However, after examining real world usage of tuples, we noticed that most situations in which this was permitted was typically undesirable." A developer pull request prompted Microsoft to ensure tuple types now encode their arity (the number of arguments or operands that a function takes or expects) into the type of their respective length property, while also ensuring that tuples of different arities are no longer assignable to one another.
  • Improved narrowing for in and instanceof: "The in operator now acts as a narrowing expression for types, narrowing out types that don't explicitly declare properties of a given name," Microsoft said. "Furthermore, the instanceof operator is now leverages the inheritance chain instead of relying on structural compatibility, more accurately reflecting whether how instanceof may behave at runtime."

Yet another change -- referred to as "definite assignment assertions" -- is detailed in the release notes. It lets developers place an exclamation mark (!) after declaring an instance property or variable to indicate that variable is actually assigned, even though TypeScript can't detect it.

Microsoft thanked by name more than 50 open source community developers who contributed to the release. The GitHub repository for TypeScript lists 268 contributors

For more information, including a list of breaking changes, see this blog post.

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

  • Mastering Blazor Authentication and Authorization

    At the Visual Studio Live! @ Microsoft HQ developer conference set for August, Rockford Lhotka will explain the ins and outs of authentication across Blazor Server, WebAssembly, and .NET MAUI Hybrid apps, and show how to use identity and claims to customize application behavior through fine-grained authorization.

  • Linear Support Vector Regression from Scratch Using C# with Evolutionary Training

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the linear support vector regression (linear SVR) technique, where the goal is to predict a single numeric value. A linear SVR model uses an unusual error/loss function and cannot be trained using standard simple techniques, and so evolutionary optimization training is used.

  • Low-Code Report Says AI Will Enhance, Not Replace DIY Dev Tools

    Along with replacing software developers and possibly killing humanity, advanced AI is seen by many as a death knell for the do-it-yourself, low-code/no-code tooling industry, but a new report belies that notion.

  • Vibe Coding with Latest Visual Studio Preview

    Microsoft's latest Visual Studio preview facilitates "vibe coding," where developers mainly use GitHub Copilot AI to do all the programming in accordance with spoken or typed instructions.

  • Steve Sanderson Previews AI App Dev: Small Models, Agents and a Blazor Voice Assistant

    Blazor creator Steve Sanderson presented a keynote at the recent NDC London 2025 conference where he previewed the future of .NET application development with smaller AI models and autonomous agents, along with showcasing a new Blazor voice assistant project demonstrating cutting-edge functionality.

Subscribe on YouTube