Skip to content

Releases: universal-ctags/libreadtags

version 0.5.0

14 Apr 00:39
34b048d

Choose a tag to compare

  • improve performance; put inline keyword on hot spot functions.

    before this change (0.4.0)

              $ /bin/time ~/bin/readtags -t ~/.citre/kernel82.tags -l > /dev/null
              7.68user 0.15system 0:07.88elapsed 99%CPU (0avgtext+0avgdata 2819592maxresident)k
              0inputs+0outputs (0major+44138minor)pagefaults 0swaps
    

    after this change

              $ /bin/time ~/bin/readtags -t ~/.citre/kernel82.tags -l > /dev/null
              4.67user 0.19system 0:04.89elapsed 99%CPU (0avgtext+0avgdata 2819612maxresident)k
              0inputs+0outputs (0major+44137minor)pagefaults 0swaps
    
  • fix an integer overflow occurring when a tag has too many fields.

    The original issue was reported by Arthur Chan
    arthur.chan@adalogics.com from Ada Logics in collaboration with
    Claude and Anthropic Research.

What's Changed

  • Put inline keyword on a hot spot function by @masatake in #57
  • Include inline.h only when HAVE_CTAGS_INLINE_H is defined by @masatake in #58
  • ci: run the test on Fedora42 by @masatake in #61
  • Enable Codecov by @masatake in #62
  • Make one more function inine and use a table instead of switch/case by @masatake in #60
  • Fix an integer overflow occurring when a tag has too many fields by @masatake in #63
  • Version 0.5.0 by @masatake in #64

Full Changelog: v0.4.0...v0.5.0

version 0.4.0

02 Sep 09:34

Choose a tag to compare

What's Changed

Full Changelog: v0.3.0...v0.4.0

version 0.3.0

28 Dec 13:45

Choose a tag to compare

  • fix calls to ctype functions (Colomban Wendling ban@herbesfolles.org)

  • read input fields, and values at the second column in a tag file, with
    unescaping if !_TAG_OUTPUT_MODE is "u-ctags" and
    !_TAG_OUTPUT_FILESEP is "slash" in the tag file.

  • LT_VERSION 2:2:1

    • no change in the public interface

What's Changed

  • Unescaping input field only when !_TAG_OUTPUT_MODE is "u-ctags" by @masatake in #47
  • Read the input field with unescaping if TAG_OUTPUT_MODE is "u-ctags" and TAG_OUTPUT_FILESEP is "slash" by @masatake in #48
  • Fix calls to ctype functions by @b4n in #49
  • Version 0.3.0 by @masatake in #50

New Contributors

  • @b4n made their first contribution in #49

Full Changelog: v0.2.1...v0.3.0

version 0.2.1

02 Dec 04:44

Choose a tag to compare

  • use "m" mode flag of fopen only when compiling with glibc 2.3 or higher.

  • LT_VERSION 2:1:1

      - no change in public interface
    

What's Changed

  • use "m" mode flag of fopen only when compiling with glibc 2.3 or higher and release version 0.2.1 by @masatake in #45

Full Changelog: v0.2.0...v0.2.1

version 0.2.0

02 Dec 01:29
e9aec0d

Choose a tag to compare

Highlights

  • delete debug output automatically printed when DEBUG is defiend in
    build-time.

  • fix potential crashes trigged when passing NULL as file parameter
    to the API functions. Provided by rootkea (GitHub account).

  • add a new error constant TagErrnoFileMaybeTooBig to represent
    the case that the given tags file is too large for the platform APIs
    (ftell and fseek) used in libreadtags.
    See #36 about the
    background of this change.

  • allow the library to read larger (> 2G) tag files on Win32 platform.
    The tag file size was limited to 2G on the platform because the library
    used fseek and ftell. In this version, they are replaced with _fseeki64 and
    _ftelli64.

  • add a new API function (tagsFindPseudoTag) for finding a pseudo tag for
    given name.

  • Use mmap(2) when opening a tags file if fopen() supports "m" mode flag.

  • LT_VERSION 2:0:1

    • extend the API

      • add a constant: TagErrnoFileMaybeTooBig
      • add a function: tagsFindPseudoTag

What's Changed

  • Propagate errors and release version 0.1.0 by @masatake in #28
  • Delete DEBUG output by @masatake in #31
  • Small fixes by @rootkea in #34
  • comments: fix a typo by @masatake in #35
  • GitHub Actions: run test cases on msys2 and mingw by @masatake in #38
  • Introduce a new error constant TagErrnoFileMayBeTooLarge by @masatake in #39
  • Add _WIN32 preprocessor to use _ftelli64 and _fseeki64, derrived from #37 by @masatake in #40
  • tests: report failure if TagErrnoFileMaybeTooBig is set by @masatake in #42
  • API: add tagsFindPseudoTag as a new API function by @masatake in #43
  • Use mmap(2) when opening a tags file if fopen() supports "m" mode flag. by @masatake in #44
  • Version 0.2.0 by @masatake in #41

New Contributors

Full Changelog: v0.1.0...v0.2.0

version 0.1.0

27 Dec 09:26

Choose a tag to compare

  • propagate internal errors to caller

  • LT_VERSION 1:0:0

    • extend the API for the error propagation

      • add tagsGetErrno function
      • add tagErrno eum type
    • break the API

      • rename sortType to tagSortType for avoiding name conflictions
        However, sortType is still defined as a macro.
        See readtags.h.