1
0
forked from hare/hare
Files
hare/hare.changes
Soc Virnyl Estela 5a48564191 bump hare to version 0.26.0
Signed-off-by: Soc Virnyl Estela <contact@uncomfyhalomacro.pl>
2026-02-13 22:23:26 +08:00

1165 lines
48 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-------------------------------------------------------------------
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