Skip to content

Releases: Seirdy/moac

MOAC v2.0.2

05 Oct 05:52
v2.0.2
acecb87
Compare
Choose a tag to compare
This release was done mostly to prepare for building some distro
packages.

Library: introduced new function charsets.IsDefault()

When running "make install" it's now possible to exclude binaries during
installation, which can make things easier during packaging.

Testing now supports testing CLI programs via "testscript" from
go-internals.

Rohan Kumar (11):
      Refactor: consistency across cmd/* parseOpts()
      Chore(lint): update golangci config for cli tests
      Test: introduce CLI tests for cmd/moac
      Test: introduce CLI tests for cmd/moac-pwgen
      Refactor: make cmd/*/main.go only exit in main()
      Feat: new function charsets.IsDefault()
      Refactor: simplify charsets.ParseCharsets
      Refactor: simplify genpw_test.go
      Build: allow excluding bins in "make install"
      Chore(dep): bump deps, date
      Chore(CI): update CI configs

MOAC v2.0.0

28 Sep 01:19
v2.0.0
4356cb2
Compare
Choose a tag to compare
This is a major release with many breaking changes to the library, but
hardly any visible changes to the CLI programs.

Changes common to both the CLI and library:

- Entropy estimates are slightly more accurage
- While normal non-CGO performance is about the same, perf with msan or
  race-detectors enabled is much slower. This should only be visible
  when generating/analyzing hundreds/thousands of passwords.

Changes to the "moac" and "moac-pwgen" CLI programs:

- Input validation: impossible physical values (including temperatures
  above the Planck Temperature) are forbidden.

Changes to the library:

v2.0.0 is close to a full re-write. So many APIs have changed for v2 that listing all the changes would be only slightly shorter and harder to follow than just reading the updated docs.

- A new "charsets" subpackage defines a Charset interface, CustomCharset
  and DefaultCharset implementations, and a CharsetCollection. The
  CharsetCollection's Add() method now handles all redundancies.
- Input validation
- Replace exported functions accepting a "quantum" bool with quantum and
  non-quantum variants of those functions.
- Password reqs are passed as a struct to GenPW
- pwgen.BuildCharsets is now charsets.ParseCharsets
- Parameters and returns for almost every function have changed

Rohan Kumar (28):
      Doc: mention that work happening on v2 branch
      Feat!: validate: avoid impossible temperatures
      Refactor!: make moac funcs arg-less Givens methods
      Test: test quantum/non-quantum variants equally
      Test: style fixes for pwgen tests
      Test: test new temperature bounds enforcement
      Refactor!: change import paths to /v2 for v2.0.0
      Chore(CI): install golangci from master branch
      Refactor! adopt Charsets interface/subpkg (1/3)
      Refactor! adopt Charsets interface/subpkg (2/3)
      Refactor! adopt Charsets interface/subpkg (3/3)
      Refactor!: remove entropy.Entropy error return
      Fix: order charsets.Symbols correctly
      Refactor!: remove Name() from Charset
      Fix: reduce unnecessary alloc for charset-building
      Chore(style): improve string formatting
      Chore: Makefile: add profiling, test-quick
      Fix: improve minimization of charset redundancy
      Test: refactor: break out some nested code
      Feat: validate given values to be non-negative
      Chore(CI): speed up Fedora build a bit
      Build: fix Makefile portability/conventions
      Chore(style): tiny style fixes from go-consistent
      Chore(lint): moar linters/formatters
      Chore(dep): rebuild go.mod, go.sum
      Doc: add clarifications to README
      Refactor!: pass password requirements as a struct
      Doc: update README for v2, add project status

MOAC v1.2.0

23 Sep 21:56
v1.2.0
d47daae
Compare
Choose a tag to compare
- More accurate entropy estimations with some charset de-deuplication
- The library now has the BuildCharsets func exported
- Add reproducible builds
- CLI programs now sanitize unwanted characters in custom charsets

This should be the last minor 1.x release; development will now shift
towards v2.0.0, with occasional patches to 1.2 if necessary.

Rohan Kumar (19):
      Build(install): create missing dir for completion
      Doc: add info on changelogs, tests, and CII badge
      Doc: README: add badge, more install instructions
      Fix: remove more instances of charset shadowing
      Feat: export func BuildCharsets
      Fix: correctly subset charsets, with tests
      Test: add tests for BuildCharsets
      Build: use standard install/uninstall make targets
      Chore: add more lint/test hooks to Makefile
      Doc: add upgrade/uninstall/contribution info
      Chore: add formatters to Makefile by path
      Test: refactor pwgen tests for perf + edge cases
      Doc: clarify MOAC's approach to grapheme clusters
      Build: support reproducible dists + sanitizer bins
      Build: fix bad go flags
      Doc: add documentation on reproducible builds
      Chore(CI): trivial fix for Fedora build job
      Test: test uncovered case in moac/entropy
      Feat(CLI): sanitize bad characters from user input

MOAC v1.1.0

19 Sep 00:45
v1.1.0
4ef5a17
Compare
Choose a tag to compare
- Specify custom temperature.
- Avoid unnecessarily long passwords.
- Better CLI I/O with the ability to read passwords from stdin and strip
  trailing newlines.
- New "ascii" charset, short for "uppercase lowercase numbers symbols"
- The CLI supports a "-v" flag to check the version.

Rohan Kumar (18):
      Fix(CLI): get version from runtime by default
      Feat: specify custom temperature of the system
      Doc: README: add various information
      Feat(CLI): support reading passwords from stdin
      Fix(CLI): moac-pwgen: don't add trailing newlines
      Build: Makefile: fix bmake compatibility
      Test: pass large struct by pointer safely
      Fix: pwgen: don't add an extra unnecessary char
      Refactor: move some unexported funcs to own file
      Fix: ensure that charsets don't shadow each other
      Test: custom charsets shouldn't bloat pw length
      Fix(CLI): moac: remove trailing \n from passwords
      Feat: add "ascii" charset alias
      Doc: have README/man pages reflect recent changes