Changelog
All notable changes to this project will be documented in this file.
The format is partially following Keep a Changelog, except that the changes are grouped by meaningfulness type (features, updates, chores) and not by change type (added, changed, deprecated, removed, fixed, security). Instead, change types are added as prefixed label + special breaking change label.
Starting from version 1.0.0, this project will adheres to Break Versioning. Until then, version 0.x.x is considerd beta and breaking changes may be introduced in each version.
Unreleased
0.0.10 - 2026-06-29
Chores
- Fixed missing erb dependency causing runtime crash (#119)
- Fixed removed some explicit dependencies in Gemfile that were introduced as temporary fixes waiting for upstream handling
0.0.9 - 2026-06-28
Features
- Added reverse normalization
- Lib:
Unisec::Normalization.reverse_normalize - CLI:
unisec normalize reverse
- Lib:
- Added reverse hexdump (search which characters will give this resulting encoded value)
- Lib:
Unisec::Hexdump.reverse - CLI:
unisec dump rev
- Lib:
- Added reverse blocks search (search in which Unicode block a given character is)
- Lib:
Unisec::Blocks.reverse - CLI:
unisec blocks reverse
- Lib:
- Added reverse planes search (search in which Unicode plane a given character is)
- Lib:
Unisec::Planes.reverse - CLI:
unisec planes reverse
- Lib:
- Added planes block search (search in which Unicode plane a block is)
- Lib:
Unisec::Planes.block - CLI:
unisec planes block
- Lib:
- Added new utils method:
Unisec::Utils::Arguments.to_array_of_symUnisec::Utils::Arguments.argenc2enc
- Added shell completion for CLI
- Changed Also display the short form of the subcategory in
Properties.char - Changed
Properties.charnow also display the plane
Chores
- Breaking change - Removed support for Ruby 3.2 (EOL)
0.0.8 - 2026-03-01
Features
- Added new CLI commands:
- Changed the
properties charcommand to also return the code point in numeric value #29 - Added utils method:
Unisec::Utils::String.chars2intcodepoints
Chores
- Fixed gem release based on outdated commit
- Fixed
char2codepointandchars2codepointsdocumentation examples
0.0.7 - 2026-03-01
Features
- Added new
Unisec::Decdumpclass to provide decimal dumps- CLI impact:
- change
unisec hexdump➡️unisec dump hex - new
unisec dump dec
- change
- CLI impact:
- Breaking change - Changed Moved
deccp2stdhexcp,char2codepointandchars2codepointsfromPropertiestoUtils - Added blocks & planes #43
- Lib:
Unisec::Blocks&Unisec::Planes - CLI:
unisec blocks list- List all Unicode blocksunisec blocks search- Search for a specific blockunisec blocks invalid- List all invalid and unassigned rangesunisec planes list- List all Unicode planesunisec planes search- Search for a specific plane
- Lib:
- Added new utils method:
Unisec::Utils::String.to_rangeUnisec::Utils::Range.range2codepoint_rangeString.to_boolRange.include_range?
- Changed
Unisec::Utils::String.convertwas improved:- To support
:charastarget_type
- To support
Updates
- Changed Update DerivedName from 15.1.0 to 17.0.0
- Changed Dependencies update
Chores
- Added support for Ruby 3.4 & 4.0
- Breaking change - Removed support for Ruby 3.0 & 3.1 (EOL)
- Added tests for
Utils - Added a rake task to update Unicode data files
- Changed Enhanced installation documentation
0.0.6 - 2024-05-17
Features
- Prepare a XSS payload for HTML escape bypass (HTML escape followed by NFKC / NFKD normalization)
- Changed Renamed CLI command
normalizeintonormalize all - Added a new method
replace_bypassin the classUnisec::Normalization - Added a new CLI command
normalize replace(using the newreplace_bypassmethod)
- Changed Renamed CLI command
0.0.5 - 2026-02-16
Features
- Added a new class
Unisec::Normalizationand CLI commandnormalizeto output all normalization forms
Updates
- Changed Dependencies updated
Chores
- Changed Enhanced documentation
0.0.4 2024-01-23
Features
- Added a new class
Unisec::Bidi::Spoofand CLI commandbidi spoofto craft payloads for attack using BiDi code points like RtLO, for example, for spoofing a domain name or a file name - Added a new helper method:
Unisec::Utils::String.grapheme_reverse: Reverse a string by graphemes (not by code points) - Added an
--encoption forunisec hexdumpto output only in the specified encoding - Changed
unisec hexdumpcan now read from STDIN if the input equals to-
0.0.3 - 2023-10-18
Features
- Added a new class
Unisec::Rugrepand CLI commandgrepto search for Unicode code point names by regular expression - Added a new method
Unisec::Properties.deccp2stdhexcp: Convert from decimal code point to standardized format hexadecimal code point
Chores
- Changed Enhanced tests:
assert_equal(true, test)➡️assert(test) - Changed Enhanced SEO: better description
0.0.2 - 2023-08-18
Features
- Added 2 new classes (and corresponding CLI command):
Unisec::Versions: Version of Unicode, ICU, CLDR, gems used in UnisecUnisec::Size: Code point, grapheme, UTF-8/UTF-16/UTF-32 byte/unit size
0.0.1 - 2023-07-21
Features
- Added Initial version