Skip to content
This repository has been archived by the owner on Oct 7, 2024. It is now read-only.

Releases: whatisinternet/Inflector

0.11.3

05 May 13:44
Compare
Choose a tag to compare

Non-breaking changes:

0.11.2

05 Mar 00:10
Compare
Choose a tag to compare

Non-breaking changes:

  • Added class_cases and removed -- Thanks @Yoric
    • Use pascal case
  • Updated lazy_static to 1.0.0

0.11.1

14 Dec 03:52
Compare
Choose a tag to compare

Non-breaking changes:

  • Fixed an issue where words ending in e.g. "-ches", such as "witches"; that
    would be singularized as "wit" instead of the expected "witch". -- Thanks nbaksalyar

Non-breaking changes:

  • Will be removing ascii import when current nightly goes stable.

0.11.0

02 Nov 03:36
Compare
Choose a tag to compare

Breaking changes:

  • Made snake case deal correctly with special characters. Behaviour now follows
    rails infector
  • Made camel case deal correctly with special characters. Behaviour now follows
    rails infector

Non-breaking changes:

  • Removed magic macros for testing.
  • Added explicit tests for all cases.

0.10.1

05 Jun 03:54
Compare
Choose a tag to compare

Non-breaking changes:

  • Added flags for unused macros. Any current macros with this flag with either
    be moved or removed.

0.10.0

14 Mar 02:46
Compare
Choose a tag to compare

Non-breaking changes:

  • Changed from fold to for in which resulted in a average 10-20% boost in
    performance for all castings using the case module.

Fixes:

  • Fixed issue with snake case like strings where numbers were incorrectly
    permitted to be next to a string e.g. string1 was considered valid when it
    should have been string_1. This has been corrected as part of the above
    change.

Why is this not 0.9.1?

  • The change in this case are all on private API. This normally wouldn't cause a
    breaking change as there are extensive tests wrapping all methods. This
    however doesn't preclude an edge case that hasn't been considered. I've
    deemed it safer to call this a 0.x.0 release for that reason.

0.9.0

10 Mar 01:43
Compare
Choose a tag to compare

Breaking changes:

  • Changed type signature for all casting methods to use &str. This gives the
    crate a >10% increase in performance in a majority of conversions. Although
    most users only use:
    "my_string".to_camel_case()
    or
    "myString".to_string().to_snake_case()
    For those using the to_camel_case("something".to_string()) this will be a
    breaking change as the new syntax demands to_camel_case("something").

0.8.1

08 Mar 23:33
Compare
Choose a tag to compare

Bugfixes:

  • Fixed singularize issues with /ies/. Thanks @mthjones
  • Fixed issue with feature gates which may have caused downstream api
    incompatibilities.

0.8.0

26 Feb 01:37
Compare
Choose a tag to compare

New features:

  • Feature gated pluralize, singularize, class_case, table_case, demodulize, and
    deconstantize. This can be activated by passing --features=lightweight. See
    README

Possible breaking change:

  • Feature gated items are on by default, meaning that you'll get the full
    version of the crate if you install as normal. See README if you want to use
    the lightweight version.
  • Although the application still passes all tests, substantial portions of the
    core of the conversion code have been method extracted and may have caused a
    change for some people. Please file an issue if this is a problem for you.

0.7.0

08 Jan 17:00
Compare
Choose a tag to compare

New features:

  • Added traits for various number types on ordinalize.

Possible breaking change:

  • Fixed issue with Boxes to Box which may cause breakages for some people

Non-breaking change:

  • Updated dependencies on regex and lazy_static to be the current latest
  • Changed the way that traits are implemented to use macros. Thus reducing
    duplication issues seen previously for each type that wanted to implement
    Inflector
  • More tests for conversion between different string formats
  • Better documentation for new users
  • Cleaned up documentation

Notes:

  • This is a pre-release for 1.0.0