Releases: hesphoros/UniConv
Releases · hesphoros/UniConv
v3.3.2
Fixes
- Fix INSTALL_INTERFACE path:
include/UniConv->include(consistent with BUILD_INTERFACE for correct#include \"uniconv/UniConv.h\"after install) - Fix INCLUDES DESTINATION path:
include/uniconv->include(same reason) - Fix project VERSION: 3.3.0 -> 3.3.2 (match release tag)
These fixes resolve vcpkg review feedback regarding case-sensitive filesystem compatibility and install directory layout.
v3.3.1
What's Changed
Bug Fixes
- Fixed INCLUDES DESTINATION case sensitivity (UniConv -> uniconv lowercase)
- Fixed installation directory structure for vcpkg compatibility
- vcpkg builds now use standard lib/bin directories (no config suffix)
- Non-vcpkg builds retain config-specific directories (lib/Release, bin/Debug)
- Detect vcpkg via VCPKG_TARGET_TRIPLET environment variable
Full Changelog
v3.3.0
What's Changed
Breaking Changes
- Header path changed to include/uniconv/ subdirectory
- Old: #include UniConv.h
- New: #include <uniconv/UniConv.h>
- Prevents conflicts with libunistring on Windows
Improvements
- vcpkg port simplified following official guidelines
- README updated to clarify external dependencies
Full Changelog
V3.2.1
Only Update CMakeList.txt
v2.1.1 添加MIT许可证文件,更新文档和代码以反映许可证变更,优化CMake配置以链接Release版本的UniConv库
UniConv v2.1.0 - High Performance Character Encoding Library
UniConv v2.1.0 - Production Ready Release
A high-performance C++ character encoding conversion library with modern C++17 interface.
🚀 Key Features
- High Performance: Up to 2.35x faster than traditional iconv implementations
- Modern C++17 API: RAII-based resource management with constexpr optimization
- Zero Dependencies: Self-contained with embedded GNU libiconv
- Thread Safe: Native multi-threading support without external synchronization
- Cross Platform: Windows, Linux, and macOS support with consistent API
- 100+ Encodings: Unicode, Asian, and European character sets
📊 Performance Benchmarks
Tested on Windows 11, Intel Core i7, Release build:
ConvertEncodingFast: 434 ns/op (2.3M ops/s)
ConvertEncodingFastWithHint: 358 ns/op (2.8M ops/s)
Traditional method: 810 μs/1000 ops (1.23M ops/s)
Maximum improvement: 2.35x
Cache hit rate: 98-99%
UniConv v2.0.0-stable - 现代化 CMake 构建与自动化测试
🎉 UniConv v2.0.0-stable
一个重大版本更新,引入现代化的 CMake 构建系统和完整的自动化测试套件。
✨ 新功能特性
🏗️ 现代化构建系统
- 全新 CMake 构建系统: 采用现代 CMake 3.16+ 配置,支持静态和动态库构建
- 自动化 DLL 部署: 构建后自动复制 DLL 文件到输出目录,开箱即用
- 灵活的构建选项:
UNICONV_BUILD_SHARED: 构建动态库(默认 ON)UNICONV_BUILD_TESTS: 构建测试套件(默认 ON)
🧪 完整测试套件
- CTest 集成: 原生支持
ctest命令进行自动化测试 - 测试数据自动复制: 构建时自动复制测试数据文件
- 调试输出增强: 详细的测试执行日志和错误报告
- 多编码测试: 覆盖 UTF-8、UTF-16、GBK、GB2312、GB18030 等主要编码
💡 开发体验改进
- 内嵌 GNU libiconv: 完整内嵌 iconv 源码,无外部依赖
- 头文件优化: 统一的头文件结构,更清晰的 API 接口
- 跨平台支持: Windows、Linux、macOS 全平台兼容
🔧 技术改进
架构优化
- 重构项目结构,采用标准的
include/、src/、test/目录布局 - 优化内存管理和错误处理机制
- 线程安全的单例模式实现
构建系统
- 移除过时的 Visual Studio 项目文件,全面采用 CMake
- 支持
find_package(UniConv)方式集成到其他项目 - 自动生成配置文件,简化项目集成
📦 安装使用
快速安装
# 克隆项目
git clone https://github.com/hesphoros/UniConv.git
cd UniConv
# 构建项目
mkdir build && cd build
cmake ..
cmake --build .
# 运行测试
ctest -VUniConv first version stable
inititial version