Skip to content

libxo-2.1.0

Choose a tag to compare

@philshafer philshafer released this 12 Sep 04:24
· 169 commits to main since this release

Big features:

  • Set phases on "overload": clear all open issues and all pull requests
  • Improve xohtml in style and functionality
  • Add xocc, a wrapper for cc with the llvm-plugins

Minor features:

  • Add "first-cap" field modifier
  • Add "integer size" info
  • Add --group, --grouping, and -G options and a section on "integer grouping"
  • Add SPDX id
  • Add new "J" path to extended flags, and the first flag "N", so "%JNs" turns "str" into 'str ?: ""', saving the world much agony
  • Add xocc
  • Warning for empty encoding format strings
  • add "%u" for anchors
  • add "units" to XOPTS
  • validate: add "use instead" message for {:d/XX} fields
  • add +xo_set_no_cache() (to not use the cache)
  • xo-logger(1), a plug compatible replacement for logger(1), sort of
  • add int-groupings to xo
  • add lint flag
  • add no-cache option
  • move to new css/js files; rework options (-w/-i/-l); add "open" facility

Build issues:

Code maintenance:

  • "bool" is reserved under cc23, so use "bool_val" instead
  • Add "filter" dir only if LIBXO_NEED_FILTERS
  • Add missing "@"s to quiet "make test"
  • Add node about not using xo_field_info_t
  • Add required # Read the Docs configuration file for Sphinx projects
  • Add specific integer formatting code as a performance optimization
  • handle quotes in predicates correctly
  • Discard way-out-of-date jquery files for our own modern fire files
  • Fix annoying bug in format string due to xo_xparse_warn not using XO_PRINTFLIKE
  • Handle "@**@"; allow display-only value fields to not have a tag(content) without geting a lint error
  • Make EXTRA_FMTS (-X) to avoid using the .fmts files
  • Make my own xo_string.h to hold the agony of linux string.h
  • Move xo_format_t and xo_field_info_t to xo_format.h
  • The XPath grammar uses byacc extensions (reentrant parser exposing yystate and byacc-generated tables) that GNU bison does not provide. Drop the misleading 'bison -y' fallback and fail configure clearly when byacc is unavailable or the detected yacc is bison.
  • Use ".sh" extension for libxo-config.sh.in
  • Use "no" instead of "none" to fix a bug w/ --without- option
  • For data-* attributes, use xo_data_escape_attr(), which handles quotes in attributes
  • add "top-10" benchmark
  • add exemptions to xo_sibling_check so "error" isn't reported
  • add magic C++ voodoo, which C++ doesn't seem to figure out itself
  • add xo_log_set_* setter functions for networking (needed by xo_logger)
  • add xo_should_update_columns() test before updating columns to ensure that we're working in xo_data, not color/predicate/xpath/etc
  • added data-ident="xxx"' to
    s
  • avoid run-off-end-of-string bug
  • build: check availability of <sys/queue.h>
  • configure: detect gettext in libc and make msgfmt conditional
  • configure: require byacc for the XPath filter parser
  • deprecate "retain", and etext and other related bits; clear it from documentation
  • detect HAVE_CLANG
  • have "make test" be more quiet
  • llvm/llvm-project#143653 changed how to handle type names; repair this
  • implement the networking bits needed by xo-logger for compatibility with logger(1)
  • in llvm22, the include path for a plugin file changed; repair the damage
  • move to nm to reduce fragility in "did precompile work" check
  • move to precompiled xo_fspec_t entries
  • remove xo_discarding_output.3 from the source tree
  • rename XFF_NO_QUOTE; add XFF_NO_UNESCAPE and XFF_UNITS_ATTR
  • use isblank() for xo_trim_ws()

Docs:

  • dag-erling #93: Clean up manual pages
  • Document {i:} (int-group) modifier
  • add docs for "format" "{F:}" role
  • add documentation for the llvm plugins (plugins.rst)
  • add escape-square and escape-square docs
  • add int-group and lint docs
  • add xocc.1 man page
  • drop OXTRADOC

Lots of merges: