Releases: null8626/decancer
v3.2.8
decancer v3.2.8 is here!
What this update brings:
- Add
separators
feature flag (enabled by default) which matches against strings liket-e-s-t
. Developers can explicitly disable this feature flag if they feel like it introduces way too much false positives. - Fix WebAssembly binding not working and also add
console_error_panic_hook
dependency to aid in debugging it in case something unexpected happens. - Add x64 FreeBSD support for the Node.js binding again.
- Squash most commits in the repository to keep the commit history clean. This reduced over 1,700 commits to under 700.
As always, thank you so much for supporting decancer
! Much love from my heart ❤️
v3.2.4
decancer v3.2.4 is here!
What this update brings:
- Add
retain_turkish
option that lets developers retain turkish characters! (#28) - Remove x64 FreeBSD support for the Node.js binding due to external bugs.
- Remove the deprecated factory function
Options::formatter
in the core Rust binding. - Add ability to download the Java binding's JAR file directly from the README.
Thank you so much as always for supporting decancer
! ❤️
v3.2.3
decancer v3.2.3 is here!
What this update brings:
- The C binding now has its own documentation website.
- Fix incorrect directory structure in the Java binding.
Thank you so much as always for supporting decancer
! ❤️❤️
v3.2.2
decancer v3.2.2 is here!
After two months of bug squashing, the newest version of decancer is here! With the following changes:
- [Breaking change] The java binding is now under the group
io.github.null8626
instead ofcom.github.null8626
. (#27) - [Breaking change] The java binding is now tagged under the version
3.2.2
instead ofv3.2.2
. (#27) - [Breaking change] In the C binding, every UTF-16 function is prefixed with
_utf16()
instead of_wide()
. - [Breaking change] In the C binding,
decancer_cured_raw()
anddecancer_cured_raw_utf16()
now accepts a second optionaldecancer_match_t*
argument. - [Breaking change] In the C binding, you now must call
decancer_translation_init()
before callingdecancer_cure_char()
for the first time. - In the C binding, you now must call
decancer_matcher_utf16_free()
after callingdecancer_find_utf16()
. - Fix a bug that renders testing java projects depending on decancer impossible. (#26)
- Fix incorrect javadoc in the java binding.
- Add
decancer_matcher_consume()
anddecancer_matcher_utf16_consume()
that lets you consume the matcher iterators to a matches object in the C binding. - Add several helper
_clone()
functions for many datatypes in the C binding. - Add detailed documentation (with tested examples) for the C binding.
- Make proper distinction on what counts as a length (in units) or a size (in bytes) in the C binding.
- Add 7 more unicode codepoints to decancer's confusable database.
- Add the macros
DECANCER_VERSION
,DECANCER_VERSION_MAJOR
,DECANCER_VERSION_MINOR
, andDECANCER_VERSION_PATCH
to the C binding. - Refactor several lines in the core Rust package.
- Improve the core Rust package's documentation.
- Rewrite the entire testing suite for the C binding -- ensuring every example code in every docstring is properly tested.
- Add metadata to the distributed C Windows DLLs.
- The Rust and Node.js bindings now use a specialized trimmed-down README.md for each binding.
Thank you so much as always for supporting decancer
! I appreciate all the support! ❤️❤️❤️
v3.2.0
decancer v3.2.0 is here!
This may not be a major update, but this update brings in lots of big changes!
- You can now support me through donations at ko-fi!
- Add over 5,600 new codepoints (through lots of brute-force...) and fix several translations!
- Remove support for "formatting" strings, and the
formatter
option is now renamed toall
! - Add
ascii_only
andalphanumeric_only
options! - Remove all unsafe code in the Rust, Node.js, and WebAssembly crates! (#20)
- Fix GitHub Pages being extremely outdated! (last deployed in August 2023)
- As of 19 April 2024, all GitHub commits sent to this repository (both manual and automated) will be GPG-signed!
- Fix potential undefined behavior in tests! (#24)
- Bump minimum supported Rust version from v1.64.0 to v1.65.0! (as required by the
regex
crate) - Add 64-bit FreeBSD support back for the Node.js library!
- Update several CI dependencies.
Thank you so much for supporting decancer
! Much love! ❤️❤️❤️
v3.1.2
decancer v3.1.2 is here!
This update brings in lots of notable fixes and changes!
- Deprecated
.into_str()
, use.into()
or.as_str()
instead. - Fixed #23, as it was discovered that the bug still persists by
v3.0.0
. - Added at most 565 codepoints from various sources! (...Including brute-forcing, god my eyes hurt)
- Fixed the broken codepoints counter in the README! Now it should reflect the true codepoints count.
- Various refactors in the core Rust crate!
Thank you so much for supporting decancer
! Much love! ❤️❤️
v3.1.1
decancer v3.1.1 is here!
This update brings in a lot of new features!
- Added a
findMultiple()
method that matches several keywords! - Added a
censor()
method that censors matches of a string! - Added a
censorMultiple()
method that censors matches of several keywords! - Added a
replace()
method that replaces matches of a string! - Added a
replaceMultiple()
method that replaces matches of several keywords!
Thank you so much for supporting decancer
! Much love ❤️❤️
v3.1.0
decancer v3.1.0 is here!
This update brings in several notable changes! Most importantly, added multi-character leetspeak matching support!
Other than that, other changes in this update are as follows:
- Added a
find()
method for yielding all matches of a string! - Added UTF-16 support in the C/C++ binding!
- Renamed
decancer_free
todecancer_cured_free
for consistency in the C/C++ binding! - In the C/C++ binding,
decancer_error_t
is now a struct containing the error message, thus rendering thedecancer_error
function obselete! - In the Rust and C/C++ crates, added
options
andleetspeak
feature flags (enabled by default) that can be opt-out! - Fixed potential memory leak while calling
decancer_cure_char
by adding adecancer_translation_free
function! - Significant refactors to the string matching algorithm!
Thank you so much for supporting decancer
! Much love ❤️
v3.0.2
decancer v3.0.2 is here!
This is another quick bugfix update! This update fixes a bug that apparently causes the disable_bidi
option to actually work the other way around and a bug that causes decancer to compare strings (the equal function) slightly incorrectly.
Happy coding as always! ❤️
v3.0.1
decancer v3.0.1 is here!
This is a primarily a quick bugfix update! This update fixes a bug that causes decancer to erroneously match -!?hel
with hell
, and a bug that causes Java binding to be outdated compared to other bindings.
And since this update is released 11 hours after the previous major update (v3.0.0
), i'll also quote the previous major changes to keep you updated!
Added a way to customize decancer's behavior!
This update was proposed by #23, and now it's finally here! This makes it a breaking change for both Rust and C/C++ users.
- Rust:
decancer::cure("text").unwrap();
becomesdecancer::cure!("text").unwrap();
ordecancer::cure("text", options).unwrap();
- C/C++:
decancer_cure(text, sizeof(text), &error_code);
becomesdecancer_cure(text, sizeof(text), DECANCER_OPTION_DEFAULT, &error_code);
More advanced way of matching similar strings
Decancer now also adopts an algorithm that lets it detect more complex looking strings! Like:
heeelllooooo
now matches withhello
h-e-l-l-l-o
now matches withhello
h e--l-l!o!o!
now matches withhello
This way of matching strings is inspired by JPBBerry over at CensorBot. Soo kudos to him!
Added Java support!
This was originally attempted by anominy, but is now scrapped, soo i decided to do it myself! For more information, see the README.
Thank you all for supporting decancer! Happy coding! ❤️❤️