Skip to content
This repository was archived by the owner on Apr 28, 2026. It is now read-only.

fix(core)!: remove NanoTDF support#736

Merged
strantalis merged 1 commit intoopentdf:mainfrom
strantalis:strantalis/remove-nanotdf
Jan 7, 2026
Merged

fix(core)!: remove NanoTDF support#736
strantalis merged 1 commit intoopentdf:mainfrom
strantalis:strantalis/remove-nanotdf

Conversation

@strantalis
Copy link
Copy Markdown
Member

Remove NanoTDF ("nano" tdf-type) support from encrypt/decrypt/inspect, docs, and e2e coverage. This drops nano-only flags like --ecdsa-binding and --policy-mode. Tests: go test ./... -short -race -cover; golangci-lint run; go build ./....

Remove nano-specific CLI flags, handler paths, docs, and e2e tests.
@strantalis strantalis requested a review from a team as a code owner January 6, 2026 18:33
@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @strantalis, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request undertakes a significant cleanup by entirely removing NanoTDF support from the otdfctl command-line interface and its underlying SDK handlers. This change simplifies the tool's architecture, focusing its capabilities exclusively on the ZTDF (TDF3) format. The removal encompasses command-line flags, internal processing logic, documentation, and all related end-to-end tests, ensuring a more concise and maintainable codebase.

Highlights

  • NanoTDF Support Removal: Completely removed all NanoTDF-related functionality from the otdfctl tool, streamlining the codebase to focus solely on ZTDF (TDF3) encryption and decryption.
  • CLI Command Updates: The encrypt and inspect commands no longer support NanoTDF. Nano-specific flags such as --ecdsa-binding and --policy-mode have been removed from the encrypt command.
  • Documentation and E2E Test Cleanup: Updated the encrypt command documentation to reflect the removal of NanoTDF options and flags. All end-to-end tests related to NanoTDF functionality have been removed, along with their corresponding TestRail IDs.
  • SDK Handler Simplification: The underlying SDK handlers (pkg/handlers/tdf.go) have been refactored to remove all NanoTDF encryption, decryption, and inspection logic, including associated data structures and constants.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request removes support for NanoTDF across the codebase, including from encryption, decryption, and inspection functionalities. The changes also cover the removal of related command-line flags, documentation, and end-to-end tests. The modifications are extensive and consistently applied. My review found one minor issue regarding a removed linter directive that could potentially cause CI failures. Overall, the PR effectively achieves its goal of removing NanoTDF support.

Comment thread pkg/cli/printer.go
@pflynn-virtru
Copy link
Copy Markdown
Member

can we update the conventional commit that this ia a breaking change

@strantalis strantalis changed the title chore(core): remove NanoTDF support fix(core)!: remove NanoTDF support Jan 6, 2026
@strantalis strantalis requested a review from c-r33d January 7, 2026 17:35
@strantalis strantalis merged commit 9528821 into opentdf:main Jan 7, 2026
27 of 34 checks passed
c-r33d pushed a commit that referenced this pull request Jan 28, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.29.0](v0.28.0...v0.29.0)
(2026-01-28)


### ⚠ BREAKING CHANGES

* **core:** remove NanoTDF support
([#736](#736))

### Features

* **core:** Add allow_traversal to attribute defs.
([#739](#739))
([63d71b0](63d71b0))


### Bug Fixes

* **core:** obligations commands id and fqn flag exclusivity
([#731](#731))
([77ebbb4](77ebbb4)),
closes [#728](#728)
* **core:** remove NanoTDF support
([#736](#736))
([9528821](9528821))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: opentdf-automation[bot] <149537512+opentdf-automation[bot]@users.noreply.github.com>
stoneb344 added a commit to opentdf/charts that referenced this pull request Mar 31, 2026
NanoTDF support was removed from otdfctl in opentdf/otdfctl#736.
The --tdf-type nano flag is no longer a valid value, causing all
nano-related e2e tests to fail with "unknown TDF type".

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
strantalis pushed a commit to opentdf/charts that referenced this pull request Mar 31, 2026
## Summary
- NanoTDF support was removed from `otdfctl` in opentdf/otdfctl#736 (Jan
2026)
- `--tdf-type nano` is no longer a valid value, causing 5 e2e tests to
fail with `unknown TDF type` across all PRs that run integration tests
- Removes the 5 affected nanoTDF bats test cases from
`tests/bats/e2e.bats`

## Test plan
- [ ] Verify integration tests pass with the nano test cases removed
- [ ] Confirm remaining TDF3 encrypt/decrypt tests still run and pass

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Tests**
* Removed end-to-end test cases for nanoTDF encryption and decryption
operations. TDF3 tests remain unchanged.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants