-
v2.0.2acecb876 · ·
MOAC v2.0.2 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
-
v2.0.1a76c04c6 · ·
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.04356cb20 · ·
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.0d47daaea · ·
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.04ef5a17e · ·
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
-
v0.3.05c563ac3 · ·
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.086be58a3 · ·
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
-
v0.1.0da89611e · ·
Rohan Kumar (16): Any socks I wear are, by defn., programming socks Feat: support new given value: power Feat: add flag -q for quantum mode Chore: Remove binary moac-pwtools from repo Feat: add password generation capabilities Fix: proper error handling Refactor: re-layout and rename project Docs: update/tidy README, godocs Refactor: split & simplify main() CLI function Fix: improve CLI help messages/errors Doc: fix bad badge URL in README Tests: add tests for givens.go Docs: fix installation command in README Tests: add tests for pwgen Fix: don't unnecessarily override provided entropy Replace "extendedASCII" with latin Unicode blocks