1
0
forked from hare/hare
Files
hare/hare.changes

1165 lines
48 KiB
Plaintext
Raw Permalink Normal View History

-------------------------------------------------------------------
Fri Feb 13 14:22:21 UTC 2026 - uncomfyhalomacro@opensuse.org
- Update to version 0.26.0:
* scripts/version: update to 0.26.0
* rt+freebsd+aarch64: fix _start
* hare-version(1): print tool paths
* getopt: print help text to stdout when -h is provided
* hare test: fails when a module dependency is missing
* Add io::unreader
* make bootstrap
* os::exec: add path argument to lookup
* os::exec: add flags to wait functions
* unix::tty: add tcgetpgrp
* path: correct ownership documentation
* typo psuedo
* hare::unparse: fix recent new leak
* Filter out non-permission bits in fs::move
* hare::parse: drop leading whitespace from loc
* hare::parse: don't handle negative integer literals
* mime: fix memory leaks from unfree hash table slices
* uuid: fix typo in README
* hare::module::gather: dedupe on names
* hare::ast: update for error types
* MAINTAINERS: missed a spot for bgs
* net::dns::resolve: fix error handling
* Added time::sleep_until, added optional clock argument to time::sleep. sleep_until is implemented using clock_nanosleep(...TIMER_ABSTIME...).
* Use relative links for the breadcrumb bar
* Use relative links across modules
* Makefile: build configured hare(1) from all target
* Makefile: s/-install/-configured/g for $BINOUT/*
* encoding::asn1::wrap_err: fix wild write
* MAINTAINERS: bgs steps down
* Replace dealiasing ... with tagged union reduction
* Drop hare::types, hare::unit, and cmd/haretype
* rt: make rem *timespec of nanosleep nullable
* Fix syntax issues on +dragonfly+libc
* Add support for DragonFly BSD
* Remove multi-binding global declarations
* Add hare::ast::location
* MAINTAINERS: fix my name
* MAINTAINERS: Add Joe Finney
* Update for looser void assignability rules
* genbootsrap: use some for-each
* all: use _ for padding/reserved/unused struct fields
* Fix parsing @undefined in struct initializer.
* Implement @undefined initializers
* Add kqueue and kevent syscalls to 'rt'
* hare::lex: new finish method to cleanup leaks from register_annotation
* Implement break with value and for/else.
* crypto::ec: fix documentation unterminated reference
* hare::parse:: export synassert
* Makefile: Install the stdlib README.
* hare::*: implement discarding bindings and assignment
* all: replace void casts with discarding assignment
* hare::ast: use empty string for _ in binding_unpack
* rt: Added syscall wrappers for sched_{get,set}scheduler() and sched_yield().
* rt: Added clock_nanosleep().
* haredoc: Colors iff FORCE_COLOR || (isatty && !NO_COLOR)
* haredoc: print shorter types in table of contents
* hare-tool(1): Document HARE_TOOLPATH.
* cmd::hare::tool: Use HARE_TOOLPATH when available.
* haredoc: don't lookup via @symbol
* haredoc: remove obsolete parseident function
* haredoc: don't show @symbol
* os: fix typos
* crypto::sha3: add module summary to the README
* crypto: Add SHA-3 implementation
* regex::compile: remove double free on err
* test: fix memory leak in require()
* regex: fix memory leak in compile()
* bufio: fix memory leaks in tests
* bytes::{split,splitn,rsplitn}: new functions
* Further fixes required to pass resolve flags to openat2
* os+linux: fix open_file bug
* Reapply "Remove @offset and allow _: type in structs."
* all: fix minor docs issues
* sort: Fix off-by-one in sort::shuffle
* math: add checked and non-checked integer power function
* sort: add sort::shuffle
* hare/parse: fix leak of struct field names
* hare/parse: fix leaks of comments
* hare/lex: comment() now resets the comment buffer
* hare/lex: document lex_rn_str and ltok invarient
* hare/ast: fix multiple leaks (and use foreach)
* scripts/version: update version to 0.25.2
* time: add timespec_to_duration
* io: add io::vector_buf
* stdoid: add more oids required by x509.
* rt: make rt::iovec buffer nullable
* Revert "Remove @offset and allow _: type in structs."
* strings::tokenize: improve documentation
* netbsd: add back __sigtramp_siginfo_2.
* Use _: type throughout Hare.
* test: add current()
* Use _: type in function signatures.
* debug: Use .skip instead of .balign for altstack definition
* Remove @offset and allow _: type in structs.
* lex: disallow invalid Unicode in escapes.
* lex: use for-each loops.
* lex: fix memory leak in lex_literal.
* lex: restrict whitespace to the spec.
* lex: fix up comments.
* rt+linux: Fix the size of siginfo
* crypto::ed25519: change return type of verify_buf
* crypto::ed25519: new verification api
* cmd/hare: only gather rt when building binaries.
* hare::lex: fix lossy file offset maintenance on unget
* Revert "builds: remove email to hare-dev on build error"
* builds: remove email to hare-dev on build error
* Makefile: install docs/hare-tool.1
* os::exec: fix clearenv
* cmd/hare: Break out of loops on boolean latches
* cmd/hare: Flatten link rendering inner loop
* cmd/hare: Ignore missing modules in 'hare deps'
* hare::module: Tolerate missing dependencies
* hare::module: Remove unused recursive flags
* cmd/hare: Handle direct dependencies when rendering
* cmd/hare: Plug 'hare deps' depth leak
* strings: add bytesub
* debug: cleanup scan_strtab
* path: clarify MAX docs
* encoding::utf8: simplify utf8sz implementation
* encoding::utf8, strings: add position function
* os::exec::exec: document error handling
* os: nomem changes
* docs/hare-tool.1: minor stylistic changes
* ascii: Make cclass an array, rather than a slice.
* encoding::utf8: document behavior of next on invalid codepoint
* encoding::base{32,64}: remove @init
* hare::module: unexport locstr
* hare::build: replace os::move with os::rename in cleanup_task
* hare::parse::doc: remove strerror
* bytes: disallow no variadic args in trim functions
* hare deps: make it colorful :)
* types::c, sort::cmp: add C string comparison functions
* io: document that io::off is compatible with off_t
* regex: fix `\\` in replace targetstr
* linux: delete start+libc.ha
* format::ini: prepend syntaxerr string with "line "
* format::ini: improve docs all around
* rt: fix return types of bind and connect
* rt: rename ucontext to ucontext_t
* strings: document end type
* hare(1): add hare tool subcommand
* hare::parse: s/non-c-style/for-each/
* debug::dwarf: add missing `ok = true`
* types::c: actually propagate nomem errors from fromstr
* path: replace static delete with slice assignment
* crypto::math: remove unnecessary casts when negating
* all: style: remove space before colon in cast exprs
* encoding::pem: change globals into constants
* types::c: improve docs all around
* docs/haredoc.5: clarify that haredoc only doesn't format in default mode
* hare::parse::doc: add examples to decl_ref/mod_ref docs
* haredoc.1: add trailing :: to example
* test: document that functions can't be called outside test
* encoding::utf8: remove mention of strings from README
* crypto::math: document precondition in eqslice
* crypto: improve compare docs
* fs, os: improve iter docs
* hare::module: unexport _gather_submodules
* hare::module: fix typo in docs
* wordexp: s/returned/resulted in/ in utf8::invalid err msg
* wordexp: improve wording in README
* encoding::utf8: add sentence to decode docs
* time::date: add error assertions to date::parse examples
* time::date: remove "shall" from parsefail docs
* os::exec: line-wrap docs
* Add period to some docs
* all: improve some strerror docs
* test: mention hare-test(1) in README
* fmt: improve README wording
* sort: mention sort::cmp:: in cmpfunc docs
* strings: s/runewise/rune-wise/ in sub docs
* Add one-line module summary to haredoc
* os: add open_buffered et al
* bufio: add managed bufio::stream modes
* unix: add getrlimit/setrlimit
* unix::resolvconf::parse fix memory leak
* unix::passwd: fix _dup methods returing 0 as uid/gid
* Remove most unused imports.
* ascii: comment ctype constants.
* mime: nomem updates
* mime: Use tuple destructuring
* memio: add "nonblocking" mode
* utf8::utf8sz: use for-each loop.
* haredoc: fix link template for symbols
* time: nomem updates
* Document various undocumented modules
* hare::parse: export parsing utilities
* hare::lex: add registration for user annotations
* hare::lex: scan & discard annotations
* sort: add sort::inplace
* regex: nomem updates
* test: sort tests by name
* bufio::scanner: address my own feedback
* io+linux: fix rt::dup3 flags
* hare::lex: add save, restore functions
* bufio::scanner: implement io::seek
* io::dup, io::dup2: make flags optional
* debug: print context on assertion failure
* rt::strcmp: O(1) if data pointers are equal
* io::copier: accept io::handle for "from"
* strings::dup: update comment for nomem changes
* net::dial::dial_uri: don't return nomem
* net::dns: do not abort on fetch tcp errors
* net: nomem updates
* hare::lex: add io::off to location
* haredoc(1): add source links to HTML output
* haredoc(1): add option to show line numbers
* linux::keyctl: nomem api update
* all: fix incorrect indentation
* sort: Handle allocation failure
* types::c: return nomem on allocation failure
* unix::tty::ptsname: use static allocation everywhere
* unix: update more apis for nomem
* format::ini: fix entry_dup
* format::ini: handle nomem
* unix::passwd: handle nomem
* unix::hosts: handle nomem
* unix::resolvconf: handle nomem
* all: fix fmt:: oversights on -linux
* make bootstrap
* mime: improve documentation on lifetimes
* fs: nomem changes
* net::uri: Fix memory leak in percent_decode
* fmt: nomem api updates
* strconv: nomem updates
* encoding::base64: return nomem
* encoding::base32: return nomem
* encoding::hex: handle nomem
* cmd/hare: print relative paths in error messages
* ascii::*: return nomem on allocation failures
* MAINTAINERS: update Vlad's email address
* make bootstrap
* Refactor glob for nomem
* Refactor getopt for nomem
* rt+linux: add waitid syscall wrapper
* rt+linux::clone3: new syscall wrapper
* rt+linux: add pidfd bits
* debug::dwarf: fix double-free
* linux::keyctl: add set_timeout
* wordexp: handle nomem
* linux::keyctl: add additional wrapper functions
* shlex: handle nomem errors
* debug: handle nomem errors
* path::local: too_long instead of abort on exceeding max
* make bootstrap
* bufio::read_tok: free buf on nomem
* io::drain: free result on nomem
* io::drain: nomem
* time::date: fix realize(); rm lack error type
* time::date: repurpose tz() to tzdb()
* time::date: add docs for path constants
* time::date: update fixedzone()
* time::chrono: add TODOs
* time::date: rm TODO
* time: update READMEs, docs
* time::date: implement PETZ (Posix Extending TZ)
* time::date: add zfunresolved enum type workaround
* time::date: improve TZDB_PATH, init_tz_local()
* time: from_nsec(): abort on invalid nsec
* time: add from_nsec(), INSTANT_ZERO
* time: rm unix functions; add new(); reorgnise code
* time::date: rm simultaneous()
* time::date: simultaneous(), coincident() docs
* time::date: repurpose coincident()
* time::chrono: mv coincident, simultaneous to date
* time::chrono: improve UTC init
* time::chrono: rm invalid; add utciniterror str
* time::date: rename /transition/zonetransition/
* time::date: rename /zone/zonephase/
* time::date: lookupzone: handle past instants
* time::date: add lookupzone field to timezone
* time::date: date: add observer comments inline
* time::date: add formatspan()
* time::date: traverse(), hop() docs
* time::date: improve traverse()
* time::date: rename span arithm functions
* time::date: rename /pdiff/traverse/
* time::date: mv parithm.ha to step.ha
* time::date: add truncate.ha
* time::date: add hop.ha
* time::date: add pdiff.ha
* time::date: move duration file
* time::date: rename /period/span/
* time::date: update step enum type, add TODOs
* time::date: rename /unit/step/, /unitdiff()/hop()/
* time::chrono: rm discontinuity error type
* time::chrono: refactor convert(); rm analytical
* time::date: rearrange daydate, daytime code
* time::date: improve add()
* time::chrono: improve add()
* time: add to_ functions
* time::chrono: add tscmismatch type, date strerror
* time: overhaul modules
* time::date: format: tidy, add fmtzoff()
* time::date: new(): clarify code
* time::date: realize: locality dependent gap sizes
* time::date: realize_gapstart(): rm TODO
* time::chrono: fix LOCAL.name init
* time::chrono: rename, unexport def SECS_1900_1970
* bufio: return nomem rather than assert
* bufio:newscanner: defer allocation to the first read
* memio: pass on nomem on dynamic_write
* io: add nomem to error
* errors: add nomem to strerror
* crypto::ec: fix broken docstring reference
* crypto::keystore: return nomem on allocation failure
* crypto::argon2: pass on nomem
* crypto::hmac: use hash::close where appropriate
* bytes, strings: drop non-constant assertion messages
* unix/tty+netbsd: update for strings::dup() change
* haredoc: show functions with same siguature as alias
* strings::pad: return nomem on alloc failure
* strings::split: return nomem on alloc failure
* strings::template::compile: return nomem on alloc failure
* strings::{from,to}runes: return nomem on allocation failure
* strings::replace: return nomem on allocation failure
* strings::dup{,all}: return nomem on allocation failure
* strings::join: return nomem on allocation failure
* strings::concat: return nomem on allocation failure
* unix::poll::poll: add default timout
* unix::poll::INDEF: fix typo
* os::exec::lookup: always return static result
* os::exec::lookup: return errors if appropriate
* os::exec::lookup: fix lookup of paths
* hare::unparse: mark end of output in error message
* hare::parse: fix nomem literal parsing
* all: style: rewrite functions with bare match
* errors::opaque: note utility of unwrap functions in docs
* updates for the allocation failure RFC
* test: Fix memory leak
* crypto::cipher: add gcm_unlink_block
* cmd/hare: limit executability error to exe output
* cmd/hare: rebuild on binary change based on mtime
* debug: swap in default abort handler on begin_fatal
* test: store backtrace on abort
* rt: add heap management utilities
* debug: add stack trace storage solution
* cmd/hare: Skip replacing the output file if possible
* net: add sockflag::DGRAM to +linux
* scripts/genbootstrap: respect $HARE
* os::exec: update pipe() code examples
* malloc+libc: ensure that malloc(0) returns null
* hare::doc: don't introduce own error type
* sort::cmp: Document module
* NetBSD: fix rt::sigaction
* all: update for removal of switching on pointers
* regex: change extraneous increment to assertion
* regex: fix `jump_idxs` interference
* regex: remove unused charclass type
* regex: implement nested capture groups
* regex: fix memory leaks
* regex: add tests for jump bugs
* regex: remember charset_class name, for introspectability
* regex: fix comments
* sort: don't use left sublicing operand on opaque slice
* unix::passwd: fix test examples
* bufio: fix EOF_GREEDY scan mode
* all: refer to a function by its name, not identifier
* hare(1) version: add -vv for extra verbose
* regex: document and test split insertion
* debug::dwarf: re-introduce bufio::read_* functions
* cmd/hare/build: Drop unused function
* cmd/hare/build: Simplify binary path lookup
* cmd/haredoc: build with $HARE_DEFINES
* cmd/hare/build: rebuild on cmd binary change
* unix::tty: make pty_test +test
* hare::module: remove format and format_srcset
* Revert "math::random: seed from current time if seed not provided"
* glob: remove outdated sentence in docs for next
* uuid: update RFC number in README
* rt: use pid_t in more places
* rt: make sigact function pointer fields nullable
* types::c: add sig_atomic
* math::random: seed from current time if seed not provided
* strconv: add default arguments to ftosf and fftosf
* unix::signal: change handle interface to use default args
* Makefile: Add $(LDFLAGS) to the environment
* Makefile: Install hare(1) built by hare
* TREES: add my harec and hare-spec trees
* rt: rename jmpbuf to jmp_buf
* mime: get rid of errors dependency
* fnmatch: get rid of errors dependency
* math: use tuple unpacking in trig_reduce
* math: use constants in nearbyint
* math::complex+test: remove double casts
* math+test: use STANDARD_TOL for more tests
* math: change type of F32_*_MASK to u32
* strconv: remove generic *tos functions
* math: remove generic int functions
* math: rename F(32|64)_MIN to F(32|64)_MIN_SUBNORMAL
* math: remove generic float functions
* math: improve docs for mulu, divu, and remu
* math: add messages to mulu* and divu* assertions
* math: s/panic/abort/g
* math: delete addu* and subu* functions
* math: drop UINT_SIZE
* math: merge bit_size functions
* math: make some constants flexible
* math: merge isclose with eqwithin
* math: replace dead link with archived version
* math::checked: add functions for int, uint, and size
* hash::fnv: add optional basis parameter
* os: add fcntl F_GETFL/F_SETFL wrappers
* strconv: use type/error assertion in stof tests
* haredoc: add trailing :: to submodules
* debug::image: fix typo in README
* crypto::argon2: remove old copyright headers
* strings: minor docs adjustments
* hare::module: mention 'find' in context docs
* haredoc: omit newscanner's optional param
* types::c: fix header in wint docs
* ecdh::newkey: fix size interpeted as underread
* time::chrono: fix loading TZ filepaths
* cmd/hare: Print dependencies to a t
* cmd/hare: Print modules without dependencies
* hare::module: Highlight results from gather*() calls
* cmd/hare: New options for hare deps recursivity
* hare::module: Resolve submodules from a location
* hare::module: Optionally gather modules recursively
* cmd/hare: Move gather_submodules() to stdlib
* cmd/hare: Move unwrap_module_error() logic to stdlib
* bufio::scanner: add options to fine-tune the behavior of a scanner
* cmd/hare/build: don't write commands run to cache
* linux::vdso: fix memory leak
* log: remove @init
* rt+linux: add sigqueueinfo
* rt+linux: support real-time signals in sigsets
* hare::unparse: always include decimal point for fconst
* strconv: don't fall back to multiprecision for scientific notation
* hare::unparse: fix memory leaks in test
* strings::template: allow underscores in variable names
* encoding::asn1::stdoid: fix anyExtendedKeyUsage
* encoding::asn1::stdoid: add extended key usage ids
* Update documentation for os::exec::pipe
* asn1::stdoid: add more ids required for x.509 (RFC 5280)
* crypto::rsa: add pss signature support
* Add io::fsync, io::fdatasync
* Makefile: Build haredoc with $(HAREFLAGS)
* hare::parse::type: fix typo
* errors: guarantee 8-byte alignment for opaque data
* Update test runner
* hare::parse: redefine vaarg() as vaarg(object-selector, type)
* disable debug on openbsd
* hare+libc.sc: Separate .test_array from RELRO sections
* Revert "rt+freebsd: fix some types"
* make bootstrap
* strconv: merge multiprecision implementations.
* encoding::utf8: add remaining and slice functions
* hare::parse::doc: improve invalid utf-8 location
* fs: handle path::too_long in rmdirall
* time::chrono: handle path::too_long in tz
* haredoc: handle path::too_long
* rt+freebsd: fix some types
* rt+linux: fix name of field in st_flock
* rt: fix name of field in sigval
* ascii: overwrite buf in str(upper|lower)_buf
* ascii: improve str_(upper|lower) docs
* test: use math:: wrappers for resetting fp env
* types::c: s/SHORT/SHRT/g
* all: fix misaligned memory accesses
* net::unix: use types::c::fromstr_buf
* stdoid: add OIDs for the RSA PSS signature algorithm
* crypto::rsa: improve bitlen
* net::uri: Clean up memory handling after failure
* errors: add netunreachable
* scripts/version: achieve shellcheck compliance
* build: verify the stdoid database
* genoiddb: generate comments for exported oids
* cmd/genoiddb: fix buggy foreach conversion
* strings: update docstring to show next returns done
* time::date: realize: support ISO week dates
* time::date: parse() %G and %V
* regex: allow ^ at start of every whole-expression alternation
* regex: allow $ at end of every whole-expression alternation
* regex: fix anchor bug in whole-expression alternations
* regex: remove duplicate tests
* docs/rfc.md: remove
* net/uri: fix silly usage of wantrune()
* net/uri: fix absolute path when no authority
* debug::dwarf: eliminate use of bufio::read_* functions
* encoding::pem: replace bufio::read_line with scanner
* net::uri: remove unused import
* net/uri: fix some leaks
* hare.1: add note about poor error message quality
* NetBSD: add os::shm_open()
* time::date: fix typo
-------------------------------------------------------------------
Thu Jul 17 15:19:08 UTC 2025 - uncomfyhalomacro@opensuse.org
- Update to version 0.25.2+git.1750492346.e07d36b3:
* scripts/version: update version to 0.25.2
* cmd/hare: Break out of loops on boolean latches
* cmd/hare: Flatten link rendering inner loop
* cmd/hare: Ignore missing modules in 'hare deps'
* hare::module: Tolerate missing dependencies
* hare::module: Remove unused recursive flags
* cmd/hare: Handle direct dependencies when rendering
* cmd/hare: Plug 'hare deps' depth leak
* strings: add bytesub
* debug: cleanup scan_strtab
* path: clarify MAX docs
* encoding::utf8: simplify utf8sz implementation
* encoding::utf8, strings: add position function
* os::exec::exec: document error handling
* os: nomem changes
* docs/hare-tool.1: minor stylistic changes
* ascii: Make cclass an array, rather than a slice.
* encoding::utf8: document behavior of next on invalid codepoint
* encoding::base{32,64}: remove @init
* hare::module: unexport locstr
* hare::build: replace os::move with os::rename in cleanup_task
* hare::parse::doc: remove strerror
* bytes: disallow no variadic args in trim functions
* hare deps: make it colorful :)
* types::c, sort::cmp: add C string comparison functions
* io: document that io::off is compatible with off_t
* regex: fix `\\` in replace targetstr
* linux: delete start+libc.ha
* format::ini: prepend syntaxerr string with "line "
* format::ini: improve docs all around
* rt: fix return types of bind and connect
* rt: rename ucontext to ucontext_t
* strings: document end type
* hare(1): add hare tool subcommand
* hare::parse: s/non-c-style/for-each/
* debug::dwarf: add missing `ok = true`
* types::c: actually propagate nomem errors from fromstr
* path: replace static delete with slice assignment
* crypto::math: remove unnecessary casts when negating
* all: style: remove space before colon in cast exprs
* encoding::pem: change globals into constants
* types::c: improve docs all around
* docs/haredoc.5: clarify that haredoc only doesn't format in default mode
* hare::parse::doc: add examples to decl_ref/mod_ref docs
* haredoc.1: add trailing :: to example
* test: document that functions can't be called outside test
* encoding::utf8: remove mention of strings from README
* crypto::math: document precondition in eqslice
* crypto: improve compare docs
* fs, os: improve iter docs
* hare::module: unexport _gather_submodules
* hare::module: fix typo in docs
* wordexp: s/returned/resulted in/ in utf8::invalid err msg
* wordexp: improve wording in README
* encoding::utf8: add sentence to decode docs
* time::date: add error assertions to date::parse examples
* time::date: remove "shall" from parsefail docs
* os::exec: line-wrap docs
* Add period to some docs
* all: improve some strerror docs
* test: mention hare-test(1) in README
* fmt: improve README wording
* sort: mention sort::cmp:: in cmpfunc docs
* strings: s/runewise/rune-wise/ in sub docs
* Add one-line module summary to haredoc
* os: add open_buffered et al
* bufio: add managed bufio::stream modes
* unix: add getrlimit/setrlimit
* unix::resolvconf::parse fix memory leak
* unix::passwd: fix _dup methods returing 0 as uid/gid
* Remove most unused imports.
* ascii: comment ctype constants.
* mime: nomem updates
* mime: Use tuple destructuring
* memio: add "nonblocking" mode
* utf8::utf8sz: use for-each loop.
* haredoc: fix link template for symbols
* time: nomem updates
* Document various undocumented modules
* hare::parse: export parsing utilities
* hare::lex: add registration for user annotations
* hare::lex: scan & discard annotations
* sort: add sort::inplace
* regex: nomem updates
* test: sort tests by name
* bufio::scanner: address my own feedback
* io+linux: fix rt::dup3 flags
* hare::lex: add save, restore functions
* bufio::scanner: implement io::seek
* io::dup, io::dup2: make flags optional
* debug: print context on assertion failure
* rt::strcmp: O(1) if data pointers are equal
* io::copier: accept io::handle for "from"
* strings::dup: update comment for nomem changes
-------------------------------------------------------------------
Sat Mar 29 16:52:57 UTC 2025 - mcepl@cepl.eu
- Update to version 0.24.2+git.1743159305.5b6db3e8:
* net::dial::dial_uri: don't return nomem
* net::dns: do not abort on fetch tcp errors
* net: nomem updates
* hare::lex: add io::off to location
* haredoc(1): add source links to HTML output
* haredoc(1): add option to show line numbers
* linux::keyctl: nomem api update
* all: fix incorrect indentation
* sort: Handle allocation failure
* types::c: return nomem on allocation failure
-------------------------------------------------------------------
Sat Mar 29 16:49:04 UTC 2025 - Matej Cepl <mcepl@cepl.eu>
- Dont require EXACT version of harec (there is nothing exact
when using git checkouts).
-------------------------------------------------------------------
Sat Aug 10 01:04:06 UTC 2024 - Soc Virnyl Estela <obs@uncomfyhalomacro.pl>
- Improve build logic.
* fixes version string output
* no need to run `./scripts/version`
* set our own cflags and ldflags
-------------------------------------------------------------------
Tue Jul 16 15:31:19 UTC 2024 - Soc Virnyl Estela <obs@uncomfyhalomacro.pl>
- Remove riscv64-correct-comments.patch
-------------------------------------------------------------------
Tue Jul 16 14:32:27 UTC 2024 - Soc Virnyl Estela <obs@uncomfyhalomacro.pl>
- Update to version 0.24.2:
This release introduces a lot of breaking changes
* time::date now accepts a zone offset (zoff) parameter in
time::date::reckon and time::date::truncate.
* time::date::calculus has been renamed to time::date::rflag.
* time::date::realize requires .vloc to be set, and no longer defaults
to UTC.
* time::date::now() is renamed to time::date::localnow() and
time::date::nowutc() is renamed to time::date::now()
* time::date::EPOCHAL_JULIAN and EPOCHAL_GREGORIAN have been renamed to
EPOCHDAY_JULIAN and EPOCHDAY_GREGORIAN respectively
* time::chrono::eq has been removed and replaced with
time::chrono::simultaneous and time::chrono::coincident
* time::chrono::mzone has been renamed to time::chrono::ozone
* The type of time::date::parsefail has been chnaged from rune (storing
the offending format specifier) to (size, rune), which adds the index
of the position where the parsing failure occured.
* Several constants for format layouts in time::date have been renamed:
[[EMAILZ]] => [[EMAILZONE]]
[[STAMP_NANO]] => [[STAMPNANO]]
[[STAMP_ZOFF]] => [[STAMPZOFF]]
[[STAMP_ZONE]] => [[STAMPZONE]]
[[STAMP_NOZL]] => [[STAMPLOC]]
* unix::hosts
* unix::passwd
* "done" is now a reserved word and cannot be used in user-defined names
* The following standard library symbols have been updated to use done
types in their API:
* bytes::next_token/bytes::prev_token
* encoding::utf8
* fs::next
* glob::next
* io::EOF
* mime
* path::nextiter
* strings::next/strings::prev
* strings::next_token/strings::prev_token
* In short, if your program matches on a function using the iterator
pattern with "void" and this causes an error from 0.24.2, the
correct solution is likely to rewrite it to use a for-each loop, or
replace "void" with "done" in the relevant match case.
* for-each loops and the "done" type
* Optional parameters for functions
* Support for shared memory and memfds on supported platforms
* Revised and improved APIs for unix::*
* Improved performance for bufio and related APIs
* regex:: now supports multiple alternation (i.e. (x|y|z))
* New cryptography APIs:
* crypto::ec
* crypto::ecdh
* crypto::ecdsa
-------------------------------------------------------------------
Mon May 13 11:03:12 UTC 2024 - Matej Cepl <mcepl@cepl.eu>
- Add riscv64-correct-comments.patch to fix the build on riscv64.
-------------------------------------------------------------------
Sat Feb 17 01:02:16 UTC 2024 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- First pre-release version of hare 0.24.0
* requires qbe 1.2 and harec 0.24.0
-------------------------------------------------------------------
Sat Jan 20 07:25:20 UTC 2024 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Update to version 1705636831.933763ed:
* OpenBSD: rt add kqueue(2) wrappers
* OpenBSD: rt fix termios structures
* .builds/freebsd.yml drop CC=cc workaround again
* Fix typo in crypto::chachapoly
* strings: Simplify fromutf8
* Makefile: more quoting
* remove harec2 from the makefile all target
* cmd/haredoc: close read end of pipe after passing it to command
* cmd/hare: fix cross-compiling qbe arch
* Advance after zero-length regex matches
* .builds/*: exit on non-master builds
* make bootstrap
* strings: rename pad functions per convention
* strings: improve docs and params for pad functions
* strings: readd pad functions
* time: change signature of *_to_timespec funcs
* notify hare-dev on ci failure
* encoding::utf8: Return invalid from utf8sz on invalid starting byte
* *BSD: fsflags_to_bsd return unsupported instead of abort()
* rt: BPF socket structs & option levels for Linux
* configs/*.mk: don't always assume cross-compilation
* fmt: Fix fmt::mods documentation
* unix::signal: fix typo in docs
* encoding::utf8: Rename valid() to validate() and change return type
* update ci for harec config.mk
-------------------------------------------------------------------
Thu Dec 28 12:11:52 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Update to version 1703745713.f01c8eed:
* OpenBSD: rt fix munmap system call
* OpenBSD: fix CI
-------------------------------------------------------------------
Sat Dec 23 02:20:15 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Update to version 1703237889.6c1a836c:
* correct inotify_event to use [*]u8
* make rt/+{arch}/restore.s platform-specific to +linux
* rt/: prepare for IBT support
* strings: Further simplify sub
* os: handle errors on file system iteration
* strconv::stof32 fix doc
- Update specfile
* Always be specific with harec versions. Some hare versions won't
work if harec version is not specified.
-------------------------------------------------------------------
Sat Dec 16 01:10:17 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Add filter to rpmlint
* filelist-forbidden-fhs23
-------------------------------------------------------------------
Sat Dec 16 01:03:47 UTC 2023 - Soc Virnyl Estela <contact@uncomfyhalomacro.pl>
- Move SRCDIR and HAREPATHs to `/usr/src` instead from `/usr/lib`
or `/usr/lib64`. Respect defaults if possible.
- Update to version 1702417101.ce67adb5:
* +libc: Avoid overriding the default linker script on other platforms
* FreeBSD: Fix build with +libc
* os fs.ha: s/errors::errno/fs_to_errno/
* OpenBSD: implement os::mkfifo and os::mkfile
* math: Accept types::signed instead of integer in absi
* cmd/{hare,haredoc}: remove unused imports
* cmd/{hare,haredoc}: Don't allocate tags
* haretype: use system architecture
* os: add arch type and functions
* cmd/haredoc: replace split with rtokenize
* io: improve seek and whence docs
* test: display special msg when no tests are run
* hare deps: print more intuitive msg when no deps
* os+linux: add mkfile
* os+linux: s/Unix/Unix-like/
* haredoc: submodules newline fixes
* hare build: fix order of flags
* getopt: improve docs
* all: always use tabs for indentation
* hare::parse::doc: add docs
* haredoc: error out when more than one arg supplied
* docs: rename hare-doc(5) to haredoc(5)
* os+openbsd: remove extra License: header
* rt+linux: fix some types
* hare::parse: improve assign expr error message
* strings: use type assertion in iter tests
* strings: test contains with no variadic arguments
* strings: test join with only one variadic argument
* strings: test concat with only one argument
* hare::ast: remove inaccurate comment
* path: mention fs::resolve in README
* docs/rfc-template: wrap at 72 columns
* memio+test: use defer for closing streams
* cmd/*: fix memory leaks
* ascii: add strlower_buf and strupper_buf
* hare::parse: disallow mixing @init, @fini, and @test
* hare::ast: s/constant/literal/g
* hare build: only overwrite executable files
* hare::parse+test: add labelled compound test
* hare::*: support for/switch/match labels
* all: update labelled loop syntax
* cmd::hare add comments and cleanup
-------------------------------------------------------------------
Fri Dec 8 14:27:46 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Add README-suse-maint.md
-------------------------------------------------------------------
Fri Dec 8 13:25:24 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Enable checks.
-------------------------------------------------------------------
Fri Dec 08 13:20:23 UTC 2023 - uncomfy+openbuildservice@uncomfyhalomacro.pl
- Update to version 1701969360.dbd2d7a5:
* remove the fs::flag::TRUNC argument from os::create in cmd::hare
* crypto::aes check for AVX before using the native interface
* cmd::hare::build: separate tmpfile from lockfile
* FreeBSD: truncate files on creation by default
* scripts/moddirs: ignore configs/
* OpenBSD: add rt::unveil()
* OpenBSD: add rt::pledge()
* OpenBSD: rt:: sycalls introduce pathbuf1
* OpenBSD: truncate files on creation by default
* OpenBSD: arm64 is called aarch64 in hare
* OpenBSD: rt:: fix readlinkat, renameat
* strconv: Remove base restrictions from doc comment of integertosb
* OpenBSD: os::cpucount: Return the number of online CPUs
-------------------------------------------------------------------
Sat Dec 02 10:19:02 UTC 2023 - uncomfy+openbuildservice@uncomfyhalomacro.pl
- Update specfile
- Update to version 1701471445.901444ae:
* scripts/genbootstrap: reset platformtags
* drop build status from readme
* configs/openbsd.mk remove my local path
* OpenBSD: add .builds/openbsd.yml
* OpenBSD: make bootstrap
* OpenBSD: unix::tty isatty() use fcntl(F_ISATTY)
* OpenBSD: os::exec update for checkless for loops
* MAINTAINERS: add Lorenz (xha) <me@xha.li> to OpenBSD
* OpenBSD: add genbootstrap
* OpenBSD: add net::unix
* OpenBSD: add net::udp
* OpenBSD: add net::tcp
* OpenBSD: add net::ip
* OpenBSD: add net
* OpenBSD: add crypto::random
* OpenBSD: add format::elf
* OpenBSD: add unix::resolveconf
* OpenBSD: add unix::hosts
* OpenBSD: add unix::poll
* OpenBSD: add unix::tty
* OpenBSD: add unix::signal
* OpenBSD: add unix
* OpenBSD: add os::exec
* OpenBSD: add os
* OpenBSD: add time::chrono
* OpenBSD: add time
* OpenBSD: add path
* OpenBSD: add io
* OpenBSD: add rt
* cmd::hare: add OpenBSD
* cmd::hare: introduce ctx.libc
* cmd::hare: introduce platform.ha for adding platform-specific setttings
* remove config.example.mk and add configs/<platform>.mk
* unix::tty: make openpty() platform-specific
* os::exec: make cmdfile platform-specific
* rt: make the signal test platform specific
* rt: make start* and initfini platform-specific
* rt: make linker scripts platform-specific
* cmd::hare arch add comment about values beeing overwritten
* math::complex: clarify isnan behavior
* wordexp: correctly handle string containing only whitespace
* test: hexdump non-printable ASCII
* cmd/hare: fix memory leaks
* bytes: improve tests style and add test
* bytes: replace if expressions with logical and
* bytes: simplify reverse
* strings: simplify ltrim and rtrim
* strings: remove pre-allocation
* strings: improve docstrings
* strings: simplify sub
* strings: remove duplicate allocation in multireplace
* strings: take direction into account in iterstr
* strings: consistently use fromutf8_unsafe
* strings: use static append where applicable
* strings: drop pad functions
* encoding::utf8: operate exclusively on byte slices
* hare cache: exit after printing usage text
* rt: simplify frame-walking functions
* crypto::sha1: document BLOCKSZ
* update for checkless for loops
* fmt: flesh out float formatting
* fmt: add center-alignment
* fmt: factor out format string iterator
* strconv::{ffmt, fflags}: improve default values
* bufio/scanner: fix slice or array access out of bounds
* wordexp: new module
* rt+freebsd fix getpriority
* time::date: add month and weekday constants
* types::c: add unterminatedstr
* unix::tty: Add README
* net::unix: remove unused buf
* linux::keyctl: Add chown and setperm
* io: add dup, dup2 functions
* hare::*: remove unused import forms
-------------------------------------------------------------------
Sat Nov 11 07:36:58 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Minor specfile change
-------------------------------------------------------------------
Fri Nov 10 12:26:57 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- change incorrect license in specfile
- add groups section
-------------------------------------------------------------------
Fri Nov 10 06:52:24 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- adopt new config.mk
-------------------------------------------------------------------
Fri Nov 10 04:15:57 UTC 2023 - uncomfy+openbuildservice@uncomfyhalomacro.pl
- Update to version 1699559089.3d06f9d2:
* speed up crypto::argon2 a bit
* cmd/hare: Improve 'Command not found' error message in get_version
* crypto: use test::skip
* test: implement skip function
* test: disallow expectabort outside @test
* Move string comparison logic to sort::cmp::strs()
* all: style fix
* all: fix test failure memory leaks
* time::chrono: drop unused leapsecs parameter
* cmd/parsechk: initial commit
-------------------------------------------------------------------
Sun Aug 20 15:06:19 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Remove no-exec-stack.patch. Seems it's already in the latest commits
-------------------------------------------------------------------
Sun Aug 20 14:56:03 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Add no-exec-stack.patch
-------------------------------------------------------------------
Sun Aug 20 14:48:25 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Update to version 0+3206:
* crypto::ed25519: change api to take slices
* drop hare release
* pass -z noexecstack to ld
* Remove unused imports
* rt: remove syscallsarch+*.ha
* s/error/errors/ module name
* net::dns: remove obsolete reference in docs
* net::dns: fix off-by-one in encode_raw
* rt: add IPPROTO_ICMPV6
* strings: rename runes() to torunes()
* io: make io::writeall take const []u8
* MAINTAINERS: Add Conrad Hoffmann
* net::dns: support for basic DNSSEC RR types
* net::dns: support for OPT records (EDNS, RFC 6891)
* rt: fix off-by-one haredocs for AF_* and IPPROTO_*
* memio: truncate on reset()
* os::exec: fix TOCTOU
* os::exec+freebsd: only open() regular files
* rt+freebsd: add fstat, AT_EMPTY_PATH, S_IF*
* net::dns: enforce actual label size restriction
* net::dns: write label terminator in encode_labels
* path: fix capitalization of docstring
* malloc: improve wording in a comment
* cmd/haretype, cmd/ioctlgen: update for memio
* net::dns: add TSIG records and decoding
* net::dns: implement encoding of TXT records
* net::dns: add constants for DNS dynamic updates
* net::dns: retry over TCP on truncated response
* hare::*: remove unary +
* Stop using unary +
* test: reset environment before first test is run
* format::ini: fix and test error line numbering
* mime: fix compilation on +libc
* Don't rely on loose pointer assignability semantics
* strio,bufio: merge memstream implementation into memio
* hare::lex: add static assertion for bmap length
* hare::*: remove implicit const flag from functions
* Remove slices:: and strings::cap
* Use cap builtin
* hare::parse: allow return and yield in more places
* regex: Document when the caller must free the return value
* hare::parse: fix abort in name_list
* hare::parse: improve struct/union/enum comments
* hare::parse+test: add and use roundtrip_reparse
* net/uri: Always prefix path with a slash when there's a host
* math::checked: initial commit
* os::exec: only open() regular files
* bufio: elaborate on docs for scantok and scanline
* hkdf: add extract and expand functions
-------------------------------------------------------------------
Sun Aug 13 13:26:57 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Replace obsoleted `disabled` option with `manual`
-------------------------------------------------------------------
Sat Jul 22 01:51:57 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Update to 0+3157:
* hare::ast: add README
* math::complex: add README
* hare::unparse: add README
* hare::unparse: add newline between imports and decls
* strconv: append ".0" when float is representable as integer
* strconv: remove zch variable
* strconv: improve error messages
* strconv: recognize - and + in stou*
* types::c: add nulstr
* Correctly convert strconv::base::DEC -> 10
* net::dns: fix opcode bitmask
* hare::parse::identstr: only parse full ident
-------------------------------------------------------------------
Thu Jun 22 12:51:08 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Update to 0+3145:
Alexey Yerin (3):
net: correct references of net::unix::prepfiles -> allocfiles
os::exec: fill utime and stime
+libc: include empty .init_array section
Armin Preiml (5):
mime: move test entries into a +test file
io::teestream: implement writer
add crypto::chachapoly
crypto: refactor authenc to use crypto::chachapoly
base64: avoid infite loop in decoder
Autumn! (3):
io: move fd-related functions into one file
all: rename 'flags' types to 'flag'
getopt: add subcommand context to errors
Bor Grošelj Simić (3):
rt: update abort for non-constant assert changes in harec
unify fixed and non-fixed abort paths
rt: mark platform_abort as @noreturn
Byron Torres (6):
time::date: new: use virtual interface
time::date: simplify observers
time::date: parse: fix scanners
time::date: add %e; update POSIX layout
time::chrono: fix $TZ causing TZ_LOCAL double-free
time::date: avoid tz() in tests, TZDB dependency
Carlos Une (1):
math::complex::tan: test huge arguments
Conrad Hoffmann (2):
net::dns: add support for PTR records
net::dns: add support for SSHFP records
Dmitry Matveyev (1):
unix::hosts: refactor into more general interface
Drew DeVault (2):
haredoc: set LESS to FRX if unset
docs/maintainers.md: document some maintainer bits
Ember Sawady (17):
Improve test runner
rt: fix platform_abort
rt/abort*.ha: add missing comma in reasons
rt+freebsd: _start: don't touch first arg
rt: update for @noreturn abort
fs+freebsd::readlink: return wrongtype on EINVAL
Improve +libc argv/argc/envp initialization
io+freebsd::fd_copy: return errors::unsupported
Get rid of rt/+test/ztos.ha
Rewrite malloc
linux/*: fix fully-qualified identifiers
hare::parse::want: unlex token on failure
hare::parse::ident: disallow empty identifier
os: add setenv and unsetenv
rt: make errno constants have type rt::errno
io+linux::fd_copy: simplify
Fix chachapoly compilation
Noah Altunian (1):
haredoc: update man page wording to be more clear
Pinghao Wu (1):
crypto::argon2: fix zeroing of h0
Sebastian (21):
os: use libc exit when linking with libc
os: move status type to separate file
hare::ast: add error_assert_expr
rt: implement shutdown
net: implement shutdown
types::c: add strings test
math::random: add assertions that n != 0
all: reorder tagged union fields to put error last
os::exec: split kill into kill and sig
ascii: allocate new string in strupper+strlower
ascii: consistent capitalization in docs
os::exec+freebsd: use unix::signal::signame
rt: fix typo
types::c: add limits
net: remove slices dependency
contributors.sh: read Co-authored-by
contributors.sh: use git ls-tree instead of find
unix::signal: replace signal type with sig enum
types::c: add tostrn and tostrn_unsafe
temp: require mode param for "file" and "named"
regex: add replacen and rawreplacen
Tom Lebreux (1):
bufio: allow borrowedread up to last byte
Vlad-Stefan Harbuz (1):
regex: improve README examples
illiliti (1):
crypto::salsa20: add hsalsa20
-------------------------------------------------------------------
Sun May 28 03:28:04 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Remove checks for now.
-------------------------------------------------------------------
Sat May 27 13:12:29 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Update to 0+3076:
* cmd/haredoc: close read end of pipe later
* time::chrono: use daydate, daytime; improve docs
* time: improve function parameter names
* time::date: rename datetime type to date
* time: rename datetime module in READMEs, docs
* cmd/haretype: fix compilation
* cmd/ioctlgen: fix compilation
* crypto/aes/*.s: use correct per-function sections
* net::unix: replace memcpy with slice assignment
-------------------------------------------------------------------
Mon Mar 20 12:02:54 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Configure LDFLAGS inside config.mk explicitly.
-------------------------------------------------------------------
Mon Mar 20 02:06:13 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Configure CFLAGS inside config.mk.
-------------------------------------------------------------------
Fri Mar 17 12:13:44 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Cleanup specfile
-------------------------------------------------------------------
Wed Mar 1 00:40:34 UTC 2023 - Soc Virnyl Estela <uncomfy+openbuildservice@uncomfyhalomacro.pl>
- Initial spec for hare 0+git2848