Skip to content

Releases: ilius/repassgen

Release 2022.09.07

06 Sep 20:10
a039829
Compare
Choose a tag to compare

Changes since last release (2021.10.21)

Bug fixes and security improvements

  • Fix panic when pattern ends with a single backslash
  • Alteration: use the minimum entropy of alteration parts for overall pattern entropy
    • For example repassgen -entropy '([a-z]{8}|[0-9]{8})' showed entropy 27 or 38 depending on which of two patterns ([a-z]{8} or [0-9]{8}) were chosen. Now it always shows 27 as entropy.
    • Why? Because shown entropy is for the pattern, not the password, so it should be always the same. The weakest part of alteration can make the pattern vulnerable if you don't pay enough attention to it.
    • It's generally not a good idea to have largely-varied-entropy patterns as part of alteration.

Breaking changes

  • Add $byte() and $BYTE() functions which return hex
  • Remove [:byte:] character class (which returned binary and was a problem in text context)
  • Change all encode functions to take hex-encoded input
    • $base64
    • $base64url
    • $base32
    • $BASE32
    • $base32std
    • $bip39encode

New features

  • Add $pyhex function (takes hex-encoded input like above)

Improvements and testing

  • Safe integer type casting, and change some integer types for safety and performance
  • Fix a few flaky tests, add new tests, improve coverage, better validation
  • Lots of refactoring

Changes in dependencies

  • Update and tidy dependencies
  • Remove github.com/spf13/cast from dependencies

Release 2021.10.21

21 Oct 02:33
2021.10.21
a260911
Compare
Choose a tag to compare

Changes since last release (2021.01.22)

  • Remove duplicate characters from [:punct:] character set
  • Add support for alteration inside a group, like (a|bc|123)
  • Add function $hex2dec to convert hex number to decimal number
  • Refactoring
  • Better error messages
  • Better unit testing

Release 2021.01.22

22 Jan 19:34
a9ad44d
Compare
Choose a tag to compare

Changes since last release (2020.01.05)

  • A lot of improvements in error messages
  • A lot of refactoring
  • Better unit testing
  • New Features
    • Unicode code points, like [\u00e0-\u00ef]{5} and \U0001F603
    • Group references \1, \2, etc
      • For example to repeat a generated string in a function
    • $escape(...) Escape unicode characters, non-printable characters and double quote
    • $?(...) Randomly include or omit the string/pattern (%50 chance, adds 1 bit to entropy)
    • $date(2000,2020,-) Generate a random date in the given year range
    • $space(...) Adds spaces between each two characters of string (generated from given pattern)
    • $expand(|...) Adds | (for example) between each two characters (similar to $space)
    • $rjust(PATTERN,N,X) Justify to right, N is width (N>=1), X is the character to fill
    • $ljust(PATTERN,N,X) Justify to left, similar to $rjust
    • $center(PATTERN,N,X) Justify to center, similar to $rjust
    • $romaji(...) Converts Japanese hiragana/katakana string to Latin
    • $shuffle(...) Shuffle characters of string or generated password.
      • We can not calculate how much entropy it adds for now. So it won't add to entropy.

Bug fix release (2020.01.05)

04 Jan 23:37
2020.01.05
f600534
Compare
Choose a tag to compare
  • Remove duplicate characters inside []
    • Effected randomness (added weight on duplicate characters)
    • Showed wrong entropy (with -entropy flag)

Release 2019.05.31

31 May 01:42
4c252f4
Compare
Choose a tag to compare

Initial release
All features are listed in README.md