Skip to content

Releases: null8626/decancer

v3.2.8

29 Oct 13:30
v3.2.8
ed6ed63
Compare
Choose a tag to compare

decancer v3.2.8 is here!

What this update brings:

  • Add separators feature flag (enabled by default) which matches against strings like t-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

04 Aug 13:06
v3.2.4
0555aed
Compare
Choose a tag to compare

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

01 Jul 17:16
v3.2.3
3650dd9
Compare
Choose a tag to compare

decancer v3.2.3 is here!

What this update brings:

Thank you so much as always for supporting decancer! ❤️❤️

v3.2.2

18 Jun 16:13
v3.2.2
ca5a544
Compare
Choose a tag to compare

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 of com.github.null8626. (#27)
  • [Breaking change] The java binding is now tagged under the version 3.2.2 instead of v3.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() and decancer_cured_raw_utf16() now accepts a second optional decancer_match_t* argument.
  • [Breaking change] In the C binding, you now must call decancer_translation_init() before calling decancer_cure_char() for the first time.
  • In the C binding, you now must call decancer_matcher_utf16_free() after calling decancer_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() and decancer_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, and DECANCER_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

25 Apr 14:56
v3.2.0
04d1c5b
Compare
Choose a tag to compare

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 to all!
  • Add ascii_only and alphanumeric_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

30 Mar 07:18
Compare
Choose a tag to compare

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

24 Mar 07:11
Compare
Choose a tag to compare

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

18 Mar 09:01
Compare
Choose a tag to compare

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 to decancer_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 the decancer_error function obselete!
  • In the Rust and C/C++ crates, added options and leetspeak feature flags (enabled by default) that can be opt-out!
  • Fixed potential memory leak while calling decancer_cure_char by adding a decancer_translation_free function!
  • Significant refactors to the string matching algorithm!

Thank you so much for supporting decancer! Much love ❤️

v3.0.2

10 Mar 05:16
Compare
Choose a tag to compare

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

27 Feb 04:01
Compare
Choose a tag to compare

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(); becomes decancer::cure!("text").unwrap(); or decancer::cure("text", options).unwrap();
  • C/C++: decancer_cure(text, sizeof(text), &error_code); becomes decancer_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 with hello
  • h-e-l-l-l-o now matches with hello
  • h e--l-l!o!o! now matches with hello

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! ❤️❤️