v2.0.2 1 year, 7 months ago .tar.gz browse log

MOAC v2.0.2

This release was done mostly to prepare for building some distro

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

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

v2.0.1 1 year, 8 months ago .tar.gz browse log

MOAC v2.0.1

Fixed some package paths that were missed in the v2 upgrade that caused
the package version to not display correctly.

Also expanded the docs and tidied up some error messages.

Rohan Kumar (9):
      Doc: update badge URLs for v2
      Chore(CI): add dependency scanning manifest
      Test: fix bad parameter that causes false failures
      Doc: add brief architecture notes to CONTRIBUTING
      Chore(CI): depscan: replace gemnasium with nancy
      Build: clean up + document Makefile
      Chore(style): make error messages less verbose
      Refactor: simplify code for CLIs
      Fix(CLI): fix version not showing up

v2.0.0 1 year, 8 months ago .tar.gz browse log

MOAC v2.0.0

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

v1.2.0 1 year, 8 months ago .tar.gz browse log

MOAC v1.2.0

- 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

v1.1.0 1 year, 8 months ago .tar.gz browse log

MOAC v1.1.0

- 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

v1.0.0 1 year, 8 months ago .tar.gz browse log

Rohan Kumar (3):
      Deps: bump getopt, /x/term
      Feat(CLI): add version (-v) flag
      Doc: add contribution guidelines

v0.3.2 1 year, 8 months ago .tar.gz browse log

Rohan Kumar (2):
      Fix(CLI): remove latin from default pwgen charsets
      Doc: Add FAQs to the README

v0.3.1 1 year, 8 months ago .tar.gz browse log

Rohan Kumar (6):
      Chore: style: reformat a line
      Doc: fix moac-pwgen manpage section on charsets
      Feat(CLI): add zsh completions
      Doc: update README for upcoming 1.0
      Chore: relicense to MPL 2.0
      Fix: make char insertion more random

v0.3.0 1 year, 8 months ago .tar.gz browse log

Rohan Kumar (21):
      Fix: Makefile CFLAGS for tests
      Doc: revise ROADMAP: split a milestone
      Fix: CLI: format invalid arg error msgs correctly
      Fix: make setting of default entropy reachable
      Fix: Remove bad use of len(string)
      Chore: style fixes, enforced by stricter lints
      Test: Rewrite Makefile, integrate into CI
      Test: fix format string in error output
      Fix: only allocate strings when useful
      Refactor!: replace unreachable errs with panics
      Build: Makefile: binary target srcs + flags
      CI: build non-CGO static binaries too
      Build: add OpenBSD support
      Refactor!: move pwgen to own directory
      CI: fix openbsd buildmode
      Doc: add Codeberg mirror
      Build: consistency + compatibility in Makefile
      CI: lint in CI
      Refactor: CLI: split pwgen into own executable
      Feat: add missing charset "Latin-1"
      Doc: add docs for CLI

v0.2.0 1 year, 9 months ago .tar.gz browse log

Rohan Kumar (20):
      Doc: update roadmap
      Feat: CLI: support secure password input
      Fix: use 256 bits of entropy by default
      Fix: use correct default charsets
      Fix: don't skip populating default energy per guess
      Feat: replace zxcvbn with own entropy calculator
      Chore: style, useless type conversion
      Doc: update roadmap in README
      Fix: handle missing physical values correctly
      Chore: more idiomatic error handling
      Fix: bad math.NaN comparison
      Test: use and comply with golangci-lint
      Chore: change unidiomatic string-length comparison
      Feat!: support password gen with minLen, maxLen
      Test: expand pwgen_test with generated testcases
      Doc: update + expand README
      Feat(cli): output entropy of given password
      Fix: CLI: add missing getopt flags
      Test: move testcase vars to functions
      Chore: add Makefile
1 / 2