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