Skip to content

Releases: nokia/ntt

v0.22.0

16 Oct 12:48

Choose a tag to compare

v0.22.0 Pre-release
Pre-release

This release adds parser support for dynamic TTCN-3 templates and for altstep interleave.

v0.21.0

25 Sep 12:56

Choose a tag to compare

Release

In this release we removed packages and commands that rely on closed-source software used at Nokia (i.e. k3).

Changelog

  • 5ea76a9 Remove k3 specific code
  • b56467a Add support for pre-increment and -decrement statments
  • 39d965a Bump gopkg.in/yaml.v3 from 3.0.0 to 3.0.1 (#772)

v0.20.3

22 May 13:09

Choose a tag to compare

This feature adds some missing nil checks for the language server.

v0.20.1

20 May 10:44

Choose a tag to compare

This release introduces parser support for Titan specific try/catch blocks to improve user experience when using vscode-ttcn3 extension. It further adds linter support for naming component variables that are also templates.

Besides that this release introduces various smaller improvements such as better error messages and a more convenient parser API.

Full Changelog: v0.19.1...v0.20.1

v0.19.1

15 Nov 09:06

Choose a tag to compare

Linter

Linter-checks have been extended to list types, enumerated values and fields of structured types.

IDE support

Inlay hints have been added. Hover and auto-completion has been improved visually and functionally. Support for Titan TTCN-3 files has been improved, too.

TTCN-3 Language Features

The language parser has been extended to support classes and multiline string literals. Various parsing issues with new language constructs and Nokia internal extensions have been resolved.

Bugfixes

Various bug fixes and code improvements have been released, too. Details are in the changelogs.

New Contributors

Big shout out to our contributors. Most changes in this release are thanks to you!

v0.18.2

11 Nov 10:41

Choose a tag to compare

Changelog

v0.18.1

07 Nov 10:28

Choose a tag to compare

This release provides a proper version string for builds from source.

Changelog

v0.18.0

24 Oct 16:22
d01a609

Choose a tag to compare

Welcome to the ntt version 0.18.0 release! This is a substantial update that lays the groundwork for exciting future features. While many of these changes may not be immediately obvious, they are essential for the project's evolution. Here's a summary of what's new:

Improved Hover Information

Analyzing test cases can sometimes be challenging when trying to locate port configuration statements. In this release, we've enhanced the hover feature to display related map and connect calls when you hover over a port, making your workflow more efficient. Additionally, the hover information is now displayed in a format that's best supported by your editor.

Experimental Features

In the spirit of Agile Development, we've begun to introduce "unfinished" features, allowing for early feedback and providing you with a say in the project's direction. These features can be enabled by manually adding the feature toggle to your settings file. Keep in mind that these features are experimental and may undergo significant changes between releases.

Automatic Formatting

Source code formatting is now automated, leveraging the computational speed and consistency of computers. We have kept configuration options minimal, as we are working on establishing an official ETSI TTCN-3 style in collaboration with ETSI TTCN-3 standardization. The current implementation handles indentation, removes trailing whitespaces, and consolidates empty lines. You can adjust tab and space preferences in your editor's configuration.

Feature toggle: ttcn3.experimental.format.enabled

Semantic Highlighting

Building on syntax highlighting, we've introduced semantic highlighting, which highlights words differently based on their context. For instance, component variables are highlighted differently from local variables, which is particularly beneficial for TTCN-3. Please note that this initial implementation may experience delays when working with large files.

Feature toggle: ttcn3.experimental.semanticTokens.enabled

Diagnostics

To enhance your productivity, we've started implementing diagnostics in this release. Currently, we support syntax-error diagnostics, with more useful diagnostic features in the pipeline.

Feature toggle: ttcn3.experimental.diagnostics.enabled

Core

While less visible than IDE support, the ntt core has received substantial attention. We've refactored, addressed technical debt, fixed bugs, and introduced new features. Here's a overview:

  • Added support for XDG Base Directory Specification.
  • Extended the TTCN-3 index with build targets to enhance build-system integration.
  • Aligned with Nokia internal tools (k3 TCI/TM interface and mtcd).
  • Improved the performance of the TTCN-3 scanner, making it three times faster.
  • Enhanced the memory efficiency of the syntax tree.
  • Added a parser generator experiment.
  • Introduced support for non-standard verdicts, including skipped.
  • Passed debug variables through the environment (#686).
  • Added support for testcase configuration files.
  • Removed the k3s backend.
  • Began initial support for Titan descriptor files.
  • Prepared for support of multiple runtimes (Titan, k3r, k3s, and more).
  • Enabled support for gdbserver and k3 runtime processes.
  • Passed K3_TEST_LOG to test hooks.
  • Resolved lint errors on nested select/case statements (#689).
  • Removed the unused T3XF package (#630).

TTCN-3

  • Added support for optional semicolons and trailing commas (#664).
  • Implemented TTCN-3 type inference rules.

Command Line Interfaces

TTCN-3 Source Code Formatter

The ntt format command provides automated formatting for your TTCN-3 source code, following the same rules as the experimental automatic formatting feature mentioned earlier. Please note that these rules are not yet stable and might disrupt your development cycle.

Test Anything Protocol (TAP)

You can now enable TAP-formatted output when running tests with ntt. This makes integration with other TAP consumers more straightforward.

Describing K3 Log-Events

A new command, describe-events, offers detailed descriptions for K3 log events in various formats, including colored, human-readable output, JSON for integration, and The Logfile Navigator format.

Generating ntt Documentation

The ntt docs command generates markdown descriptions for all ntt commands and options, indirectly contributing to keeping the online documentation up-to-date.

Runtime Environment

We've added several new built-in functions to the runtime environment, including int2bin (#621), int2char (#622), int2enum, int2str (#634), str2float (#681), str2int (#680), unichar2int, and int2unichar (#626).

Bugfixes

We've addressed some key issues in this release, including fixing unexpected characters in hover and resolving a malformed struct tag (#649).

Gratitudes

We extend our heartfelt thanks to the following contributors for their valuable support in making this release possible:

Of course, we also appreciate all the users who reported issues and helped us improve ntt.

v0.17.1

12 Sep 07:34

Choose a tag to compare

  • Fix release artifacts for Windows

v0.17.0

11 Sep 09:57

Choose a tag to compare

Incompatible Changes

This release does not provide any new feature or bugfixes, but introduces some incompatibility to previous versions:

  • drop support for ttcn3c
  • drop support for ntt-mcov
  • change binary path from github.com/nokia/ntt/cmd/ntt to github.com/nokia/ntt

This measure helps us to assure future maintainability and simplifies repository layout. We hope we did not cause much inconvenience.