Changelog

All notable changes to the Noundry platform

v0.11.0

2026-03-04

✨ 34-Package NuGet Release (25 Libraries + 9 Tools)

The largest Noundry release to date — every library and CLI tool published to NuGet in a single coordinated release.

Libraries

  • Noundry.Assertive v1.0.0 — Fluent assertion library with zero runtime dependencies
  • Noundry.Sod v2.0.0 — Zod-inspired schema validation for .NET
  • Noundry.Guardian v1.0.0 — Guard clauses for defensive programming
  • Noundry.Authnz v1.3.0 — OAuth 2.0 client library with multi-provider support
  • Noundry.Connector v1.0.0 — Type-safe HTTP API client built on Refit
  • Noundry.DotEnvX v1.0.0 — Environment variable management with AES-256 encryption
  • Noundry.Jobs v1.0.0 — Background job scheduling and automation
  • Noundry.Slurp v1.0.0 — High-performance CSV to database ingestion
  • Noundry.Sanquhar v1.0.1 — Provider-agnostic email library
  • Noundry.Sanquhar.Mailgun v1.0.0 — Mailgun email provider
  • Noundry.Sanquhar.SendGrid v1.0.0 — SendGrid email provider
  • Noundry.AIG.Core v1.1.0 — AI Gateway core abstractions
  • Noundry.AIG.Providers v1.1.0 — AI Gateway provider implementations
  • Noundry.AIG.Client v1.1.0 — AI Gateway client library
  • Noundry.UI v1.53.0 — 73+ server-side UI components with Alpine.js + Tailwind CSS
  • Noundry.TagHelpers v1.1.0 — Razor TagHelpers optimized for Tailwind CSS
  • Noundry.RazorHelpers v1.1.0 — Fluent HTML builder with 80+ elements
  • Noundry.Tailbreeze v1.3.0 — Zero-config Tailwind CSS integration for ASP.NET Core
  • Noundry.Tailbreeze.Build v1.3.0 — MSBuild integration for Tailbreeze
  • Noundry.Tuxedo v0.12.0 — Modern .NET ORM with high-performance queries
  • Noundry.Tuxedo.Exceptions v0.10.0 — Strongly-typed database exception translation
  • Noundry.Tuxedo.Auditor v0.8.0 — Automatic CRUD audit logging
  • Noundry.Tuxedo.Bowtie v0.8.3 — Attribute-based database schema synchronization
  • Noundry.Tuxedo.Cufflink v0.4.0 — Fake data generation library
  • Noundry.Streams v1.0.0 — High-performance event stream ingestion

CLI Tools

  • Noundry.Engine.Cli v3.1.31 — Deployment CLI for containerized .NET apps
  • Noundry.AuthnzNet.CLI v1.9.0 — OAuth 2.0 + OIDC server CLI
  • Noundry.Spinup v1.2.0 — Multi-cloud VM provisioning CLI
  • Noundry.Connector.Cli v1.0.0 — API client code generator CLI
  • Noundry.Jobs.Tool v1.0.0 — Job scheduling CLI
  • Noundry.Slurp.Tool v1.0.0 — CSV ingestion CLI
  • Noundry.Tuxedo.Bowtie.CLI v0.8.0 — Schema sync CLI
  • Noundry.Tuxedo.Cufflink.CLI v0.4.0 — Fake data generation CLI
  • Noundry.Streams.Service v1.0.0 — Event stream relay service

🌐 AuthnzNet — Now at authnz.net

  • Launched authnz.net — the developer-first IdentityServer alternative
  • OAuth 2.0 + OIDC server in three commands with RS256 JWT signing and PKCE support
  • Multi-tenant architecture with isolated users, clients, and credentials
  • Built-in Login & Consent UI — no HTML to write
  • Free forever — no license fees, no usage limits
  • Noundry.AuthnzNet.CLI v1.9.0 — Latest CLI with .NET 10 compatibility

v0.10.0

2026-02-28

✨ New Versions

  • Noundry.Tuxedo v0.12.0 - Critical bug fixes, 6 performance optimizations, and security hardening across core ORM
  • Noundry.Tuxedo.Exceptions v0.10.0 - Enhanced async support with ConfigureAwait(false) across all async methods to prevent deadlocks
  • Noundry.Tuxedo.Auditor v0.8.0 - Thread-safe audit table creation using Interlocked.CompareExchange across all providers
  • Noundry.Tuxedo.Bowtie v0.8.0 - DDL type mapping fixes, PostgreSQL quoting improvements, and SQL injection prevention in SQLite introspector
  • Noundry.Tuxedo.Bowtie.CLI v0.8.0 - Updated CLI with improved schema sync operations
  • Noundry.Tuxedo.Cufflink v0.4.0 - Enhanced wizard mode and improved fake data generation
  • Noundry.Tuxedo.Cufflink.CLI v0.4.0 - Wizard command enhancements

🔧 Critical Fixes

  • Get/GetAll cache collision - Get<T> and GetAll<T> shared same cache, causing wrong rows after GetAll was called
  • ProxyGenerator thread safety - Changed to ConcurrentDictionary to prevent corruption under concurrent access
  • GridReader not disposed - Added using keyword in 4 locations to prevent resource leaks
  • SQL Server pagination fallback - Fixed invalid expression that crashed at runtime
  • MySQL upsert syntax - Fixed incorrect use of PostgreSQL EXCLUDED.column syntax for MySQL; now uses VALUES(column)

⚡ Performance

  • LINQ property computation cached with ConcurrentDictionary - no longer recomputed on every CRUD call
  • BulkOperations batching improved from O(n²) to O(n) using List<T>.GetRange()
  • BulkUpdateAsync now builds batched multi-statement UPDATE instead of one-by-one execution
  • Reflection results cached across all bulk operations
  • Static readonly HashSets for transient error codes in resiliency provider
  • SQL keyword validation uses HashSet instead of array allocation per call

🔒 Security

  • LIKE pattern escaping added to Contains, StartsWith, EndsWith expressions with ESCAPE '\' clause
  • Thread-safe MemoryQueryCache with lock around HashSet mutations
  • SQL injection prevention in Bowtie SQLite introspector with compiled regex identifier validation

v0.9.0

2026-02-14

✨ New Features

  • Noundry.Tuxedo v0.10.0 - Stored procedure extensions, OpenTelemetry tracing via TuxedoActivitySource, batch upsert in bulk operations, enhanced SQL identifier validation, and .NET 10 support
  • Noundry.Tuxedo.Exceptions v0.8.0 - Strongly-typed database exception translation with async operation support across all 4 providers
  • Noundry.Tuxedo.Auditor v0.6.0 - Automatic CRUD audit logging with database-specific JSON storage and soft delete detection
  • Noundry.Tuxedo.Bowtie v0.6.0 - Database schema synchronization with MySQL and SQLite introspector support, data loss analysis
  • Noundry.Tuxedo.Bowtie.CLI v0.6.0 - Command-line tool for schema sync operations
  • Noundry.Tuxedo.Cufflink v0.2.0 - Fake data generation with JSON/JSONB column support and FK/PK relationship honoring
  • Noundry.Tuxedo.Cufflink.CLI v0.2.0 - Command-line tool for fake data generation

🔄 Updated

  • All Tuxedo ecosystem packages now target net8.0, net9.0, and net10.0
  • Expression-to-SQL converter with enhanced method call support (Contains, StartsWith, EndsWith, Trim)
  • Pagination system with automatic count queries, dialect detection, and 1,000-row safety limits
  • Repository pattern with LINQ-style Find() expressions and Unit of Work transaction coordination
  • Query result caching with tag-based invalidation via MemoryQueryCache
  • Polly-based resiliency with retry policies, circuit breaker, and timeout handling

v0.8.2

2026-01-08

✨ New Features

  • Noundry.AIGW Hosted API - AI Gateway now deployed at https://api.noundry.ai as a BYOK (Bring Your Own Key) service
  • BYOK Model - Users provide their own provider API keys via X-API-KEY header; gateway relays to OpenAI/Anthropic/Google with no markup
  • Unified Relay Interface - Single endpoint proxies requests to any supported provider based on model string (e.g., anthropic/claude-sonnet-4)

🔧 Fixes

  • Fixed ASP0019 warnings - changed Headers.Add() to Headers.Append() in streaming responses
  • Fixed CA2024 warnings - replaced EndOfStream with proper async pattern in all providers
  • Fixed CS8604/CS8620 nullability warnings in Core extensions

📚 Documentation

  • Added "Hosted API" section to all AIGW documentation
  • Updated AI Gateway page with BYOK explanation and usage examples
  • Updated all URLs from aigw.noundry.ai to api.noundry.ai

v0.8.1

2026-01-07

✨ New Features

  • Noundry.AIGW - TOON Serialization - Token-Oriented Object Notation support for efficient LLM data transfer with ~40% token savings compared to JSON

🔄 Updated

  • Noundry.AIG.Core - New ToonExtensions class with ToToon() extension methods for DataTable, DataSet, and IEnumerable<T>
  • ToonOptions - Configuration for delimiter (Comma, Tab, Pipe), indent size, and root naming
  • ToonSerializer - Full implementation of TOON spec including tabular arrays, proper quoting, escaping, and number normalization

📚 Documentation

  • Added TOON tab to AI Gateway documentation page
  • Updated LLM.md with comprehensive TOON serialization section
  • TOON specification: github.com/toon-format/toon

v0.8.0

2025-12-15

✨ New Products

  • NoundryMCP v2.0.0 - Model Context Protocol documentation server with 130+ indexed docs and full-text search

🔄 Updated

  • Noundry.AIGW v1.1.0 - AI Gateway with chain prompting, multi-provider fallback, and streaming support
  • Noundry.Tuxedo v0.5.0 - Enhanced ORM
  • Noundry.Cli v1.3.0 - Master CLI with 9 tool wrappers and auto-install

v0.7.0

2025-11-15

✨ Added

  • Noundry.Authnz v1.1.0 - Production-ready OAuth 2.0 client library (10/10 score)
  • AuthnzNet - OAuth 2.0 development server (9/10 score)
  • Noundry.AIGW - Multi-provider AI gateway for OpenAI, Anthropic, and Google
  • Noundry.Connector - Type-safe API client library with LINQ-style queries

🔄 Changed

  • Platform score improved from 59% to 68% ready
  • Noundry.Tuxedo upgraded to 8.5/10 score with enhanced QueryBuilder
  • All libraries updated to support .NET 10.0 preview

v0.6.0

2025-10-15

✨ Added

  • Master Documentation Repository - Comprehensive platform documentation with 10+ markdown files covering all Noundry components
  • Noundry.UI v1.0.2 - Advanced Data Table component with API integration, server/client pagination, and multi-column sorting
  • Noundry.UI v1.0.1 - Multi-Select component with tag display, API integration, and color themes
  • Noundry.TagHelpers v1.1.0 - AutoHide TagHelper with automatic element hiding and animation effects
  • Noundry.Tuxedo.Bowtie - Production-ready database migration library with multi-RDBMS support (SQL Server, PostgreSQL, MySQL, SQLite)
  • Noundry Engine - Docker deployment platform with GitHub integration, zero-downtime deployments, and real-time logs
  • Platform overview page with architecture diagrams and component relationships
  • Multiple quick start guides for Web Dev, API Dev, Testing, and DevOps paths
  • Complete web application integration guide with 7+ components working together
  • Ecosystem dropdown menu on all pages with Engine and Authnz services
  • Status page monitoring for Engine UI/API and Authnz UI/API

🔄 Changed

  • Updated all engine.noundry.com links to point to engine.html (coming soon page)
  • Enhanced engine.html with comprehensive feature descriptions and technology stack details
  • Standardized navigation headers across all pages with consistent Ecosystem dropdown placement
  • Updated documentation structure with component-specific guides and real-world examples

🔧 Improved

  • Enhanced UI component library with 56 total components (was 54)
  • Improved TagHelpers library with 25 passing tests across .NET 6, 8, and 9
  • Bowtie migration tool with 16/18 unit tests passing (89% success rate)
  • Complete documentation coverage with 15,000+ words and 50+ code examples
  • Better developer experience with IntelliSense support and comprehensive API documentation

📚 Documentation

  • Added Getting Started guide with multiple installation scenarios
  • Added Web Application Guide with complete e-commerce example
  • Added component-specific documentation for Assertive, Guardian, DotEnvX, TagHelpers, UI, Tuxedo, and Bowtie
  • Added MSBuild integration guides and CI/CD examples
  • Added contribution guidelines and repository structure documentation

v0.5.0

2025-10-04

✨ Added

  • Noundry.Jobs - Job scheduling and automation library for .NET with database, file, HTTP/API, and email operations
  • Noundry.Jobs.Tool (njobs CLI) - Cross-platform command-line interface for creating, managing, and scheduling server/OS-level jobs
  • Noundry.Blazor - 60+ production-ready Blazor components built on Tailwind CSS for WebAssembly and Server applications
  • Jobs documentation pages (jobs.html) with installation guides, features, and code examples
  • Blazor UI documentation pages (blazor-ui.html) with component categories and usage examples
  • Task Scheduler (Windows) and crontab (Linux/macOS) integration for Jobs CLI
  • NuGet package icons linking to packages.noundry.com in navigation headers across all pages
  • UI Components dropdown menu with Razor UI and Blazor UI options

🔄 Changed

  • Unified all GitHub repository links to point to https://github.com/noundry
  • Standardized navigation across all pages (getting-started.html, docs.html, blazor-ui.html, jobs.html, libraries.html)
  • Updated navigation menu order: Home, Libraries, UI Components (dropdown), Quick Start, AI, Docs, Pricing
  • Updated libraries.html with Jobs automation section and Blazor UI in Web Development section
  • Updated getting-started.html with Blazor UI Library and Jobs & Automation cards
  • Updated docs.html with Blazor and Jobs documentation sections

🔧 Improved

  • Enhanced user experience with consistent navigation patterns
  • Better discoverability of package resources through dedicated NuGet icon
  • Improved accessibility to both Razor UI and Blazor UI components through dropdown navigation

v0.4.0

2025-09-30

✨ Added

  • Noundry.Tuxedo.Exceptions - Strongly-typed database exception translation
  • Noundry.Tuxedo.Auditor - Automatic CRUD audit logging
  • Pipeline Pattern for composable connection wrappers
  • 5 exception types: UniqueConstraint, ReferenceConstraint, CannotInsertNull, MaxLengthExceeded, NumericOverflow
  • 3 user providers: Static, Delegate, HttpContext
  • Soft delete detection (IsDeleted + DeletedAt)

v0.3.0

2025-08-28

✨ Added

  • Query Caching with tag-based invalidation
  • Advanced Query Builder with LINQ-style syntax
  • Bulk Operations (Insert, Update, Delete, Merge)
  • Resiliency & Circuit Breakers via Polly
  • Repository Pattern with specifications
  • Unit of Work Pattern
  • 300+ unit tests

v0.2.0

2025-08-26

✨ Added

  • SQL-aligned Select method aliases
  • Complete SQL verb alignment (Select, Insert, Update, Delete)
  • Multi-mapping Select variants (2-7 type parameters)
  • Async versions of all Select methods

v0.1.0

2025-08-25

✨ Added

  • Initial release of Noundry.Tuxedo
  • Merged Dapper and Dapper.Contrib into unified package
  • Multi-targeting for .NET 6.0, 8.0, and 9.0
  • Built-in adapters for SQL Server, PostgreSQL, MySQL
  • Nullable reference types support