Releases: nokia/ntt
v0.22.0
v0.21.0
v0.20.3
This feature adds some missing nil checks for the language server.
v0.20.1
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
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!
- @arunsathiya made their first contribution in #723
- @archie13th made their first contribution in #755
- @kmichaelk made their first contribution in #758
- @guruh46 made their first contribution in #767
v0.18.2
v0.18.1
v0.18.0
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
k3sbackend. - 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_LOGto 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:
- Salvador Cavadini (@chavacava)
- Dawid Urbański (@dawidurbanski)
- Michal Wypustek (@michalwypustek)
- Michal Liszcz (@mliszcz)
Of course, we also appreciate all the users who reported issues and helped us improve ntt.
v0.17.1
- Fix release artifacts for Windows
v0.17.0
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/ntttogithub.com/nokia/ntt
This measure helps us to assure future maintainability and simplifies repository layout. We hope we did not cause much inconvenience.