Releases: Seirdy/moac
Releases · Seirdy/moac
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
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
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
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