Skip to content

Releases: hesphoros/UniConv

v3.3.2

03 Mar 11:53

Choose a tag to compare

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

03 Mar 11:13

Choose a tag to compare

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...v3.3.1

v3.3.0

02 Mar 18:40

Choose a tag to compare

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.2...v3.3.0

V3.2.1

02 Mar 08:13

Choose a tag to compare

v3.2.1: Fix macOS iconv_t type compatibility

Only Update CMakeList.txt

23 Sep 05:48

Choose a tag to compare

v2.1.1

添加MIT许可证文件,更新文档和代码以反映许可证变更,优化CMake配置以链接Release版本的UniConv库

UniConv v2.1.0 - High Performance Character Encoding Library

23 Sep 04:35

Choose a tag to compare

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 构建与自动化测试

18 Sep 20:18

Choose a tag to compare

🎉 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 -V

UniConv first version stable

30 May 13:43
8cefbd7

Choose a tag to compare

inititial version