curl/trurl
a command line tool for URL parsing and manipulation.
📋 What's Changed
- COPYING: add the "and many contributors" text from the curl license by @bagder in https://github.com/curl/trurl/pull/374
- Update README.md to link to the getting trurl wiki page by @jacobmealey in https://github.com/curl/trurl/pull/378
- Generate ZSH completions base on trurl.md by @jacobmealey in https://github.com/curl/trurl/pull/379
- scripts: import cd2nroff from curl by @bagder in https://github.com/curl/trurl/pull/384
- Makefile: only create MANDIR when manpage is installed by @sertonix in https://github.com/curl/trurl/pull/381
- trurl: handle zero length query pairs by @bagder in https://github.com/curl/trurl/pull/388
- move mkrelease and checksrc into scripts/ by @bagder in https://github.com/curl/trurl/pull/385
✨ New Contributors
- @sertonix made their first contribution in https://github.com/curl/trurl/pull/381
- Full Changelog: https://github.com/curl/trurl/compare/trurl-0.16...trurl-0.16.1
📋 What's Changed
- tests.json: add tests extracing URL encoded components by @bagder in https://github.com/curl/trurl/pull/355
- trurl: normalize the fragment by @bagder in https://github.com/curl/trurl/pull/356
- trurl: make sure URL encoded %-hex is done lowercase by @bagder in https://github.com/curl/trurl/pull/358
- README: minor language polish by @bagder in https://github.com/curl/trurl/pull/359
- trurl: silence --replace-append when appending by @bagder in https://github.com/curl/trurl/pull/360
- trurl.md: document URL component details by @bagder in https://github.com/curl/trurl/pull/361
- trurl.md: extend the component sections with more examples by @bagder in https://github.com/curl/trurl/pull/363
- trurl: introduce --qtrim for trimming queries (only) by @bagder in https://github.com/curl/trurl/pull/364
- + 6 more
📋 What's Changed
- mkrelease: generate a release tarball by @bagder in https://github.com/curl/trurl/pull/345
- manpage: fix 0.15 mistakes by @bagder in https://github.com/curl/trurl/pull/348
- Makefile: check for trurl.1 before installing by @bagder in https://github.com/curl/trurl/pull/349
- trurl: fix misbehavior on empty query param by @bagder in https://github.com/curl/trurl/pull/352
- trurl: fix handling of query pair with blank left side by @bagder in https://github.com/curl/trurl/pull/353
📋 What's Changed
- mkrelease: script to run at release by @bagder in https://github.com/curl/trurl/pull/316
- trurl: use casecompare instead of a strncasecmp define by @bagder in https://github.com/curl/trurl/pull/317
- singleurl: fix query_is_modified by @emanuele6 in https://github.com/curl/trurl/pull/323
- Makefile: fix LDFLAGS order; and don't force -Werror by @emanuele6 in https://github.com/curl/trurl/pull/322
- trurl: on strdup() failures, exit immediately by @bagder in https://github.com/curl/trurl/pull/324
- trurl: make --replace URL encode the provided data argument by @bagder in https://github.com/curl/trurl/pull/327
- trurl: "normalize" query pairs by @bagder in https://github.com/curl/trurl/pull/328
- trurl: optimize the path append loop by @bagder in https://github.com/curl/trurl/pull/330
- + 10 more
✨ New Contributors
- @NicolasCARPi made their first contribution in https://github.com/curl/trurl/pull/344
- Full Changelog: https://github.com/curl/trurl/compare/trurl-0.14...trurl-0.15
📋 What's Changed
- remove a spurious trailing newline from a warning by @bagder in https://github.com/curl/trurl/pull/309
- trurl.1: document the exit codes by @bagder in https://github.com/curl/trurl/pull/308
- add "strict:" as prefix to a get component
- casecompare: a strncasemp replacement
- support conditionally set scheme
📋 What's Changed
- Free allocated pointer on OOM error by @danielgustafsson in https://github.com/curl/trurl/pull/290
- typos pointed out by xx in the curl IRC by @bagder in https://github.com/curl/trurl/pull/293
- short options need no space separation for the argument anymore by @bagder in https://github.com/curl/trurl/pull/292
- trurl.1: use present tense by @vszakats in https://github.com/curl/trurl/pull/295
- trurl: only append the first iterate loop by @bagder in https://github.com/curl/trurl/pull/300
- fix Coverity nits by @bagder in https://github.com/curl/trurl/pull/304
✨ New Contributors
- @danielgustafsson made their first contribution in https://github.com/curl/trurl/pull/290
- Full Changelog: https://github.com/curl/trurl/compare/trurl-0.12...trurl-0.13
📋 What's Changed
- This is the same as 0.11 but with the version string set correctly
- check valgrind function by @eh-san in https://github.com/curl/trurl/pull/273
- Added UTF-8 detection to test runner by @jacobmealey in https://github.com/curl/trurl/pull/276
- use of free() instead of curl_free() by @bagder in https://github.com/curl/trurl/pull/283
- output the list of components correctly in the help output by @bagder in https://github.com/curl/trurl/pull/282
- if query is not updated, leave it untouched by @bagder in https://github.com/curl/trurl/pull/284
- expand the warning on "internal problem" by @bagder in https://github.com/curl/trurl/pull/285
- error when using an unrecognized URL component by @bagder in https://github.com/curl/trurl/pull/286
- + 1 more
📋 What's Changed
- check valgrind function by @eh-san in https://github.com/curl/trurl/pull/273
- Added UTF-8 detection to test runner by @jacobmealey in https://github.com/curl/trurl/pull/276
- use of free() instead of curl_free() by @bagder in https://github.com/curl/trurl/pull/283
- output the list of components correctly in the help output by @bagder in https://github.com/curl/trurl/pull/282
- if query is not updated, leave it untouched by @bagder in https://github.com/curl/trurl/pull/284
- expand the warning on "internal problem" by @bagder in https://github.com/curl/trurl/pull/285
- error when using an unrecognized URL component by @bagder in https://github.com/curl/trurl/pull/286
- Full Changelog: https://github.com/curl/trurl/compare/trurl-0.10...trurl-0.11
📋 Changes since previous release
- o add --replace
🐛 Bugfixes since previous release
- o fixed buffer overflows on %00 use
- o support compiling with old versions of Visual Studio
- o enable more C compiler warnings and fix them
- o ci: add Windows builds
📦 Contributors to this release:
- Daniel Stenberg, Jacob Mealey, Jay Satiro, Michael Lass, Viktor Szakats
📋 Changes since previous release
- add --as-idn and punycode to IDN conversion
- add --curl to only count as valid URLs supported by libcurl
- add vs2022 project files
🐛 Bugfixes since previous release
- accept \* as a trim name to trim a literal asterisk name
- format null as \u0000 for --json
- run --trim query before --append query
📦 Contributors to this release:
- Daniel Stenberg, Ehsan, Emanuele Torre, Jacob Mealey, Krishean Draconis, Michael Ablassmeier, 積丹尼 Dan Jacobson
📋 Changes since previous release
- o add --urlencode
🐛 Bugfixes since previous release
- o --json/--get: .[].parts and {component} should be urldecoded not encoded
- o tests: use empty file instead of /dev/null
- o typos in manpage
- o Makefile: Allow CFLAGS to be appendable
- o Makefile: be explicit in C standard to use
📦 Contributors to this release:
- Daniel Stenberg, Emanuele Torre, Krishean Draconis, Michael Ablassmeier,
- Paul Wise, Sevan Janiyan
📋 Changes since previous release
- o --default-port to ask for the default to be used if not present
- o --keep-port to ask for the port number to be there even if default
- o --no-guess-scheme option to disable scheme guessing
- o --punycode to ask for the punycode version in output
🐛 Bugfixes since previous release
- o --help returns 0 instead of 1
- o --json: print empty arrays
- o --redirect: don't silently ignore failed redirections.
- o makefile: use -Wshadow and -Werror by default
- o makefile: Use DESTDIR only during install target
- o refuse setting same component in --set as --iterate
- o restructure the JSON output object
- o send -h output to stdout, not stderr
- + 3 more
📦 Contributors to this release:
- Daniel Stenberg, Ehsan, Emanuele Torre, Enno Tensing, Gustavo Costa,
- Jacob Mealey, Michael Ablassmeier, Renato Botelho
📋 Changes since previous release
- o offer {puny:host} and {puny:url} for --get
- o provide built-with libcurl version info for --version
- o support for skipping tests
- o test.py replaced test.pl
- o test.py supports --with-valgrind
- o tests.json: extended and updated
- o URL-QUIRKS: specify if they are build-time or run-time requirements
🐛 Bugfixes since previous release
- o Makefile: fix build with GNU Make 3.x
- o Makefile: make test target depend on trurl
- o several new CI jobs
- o test.py: don't crash if stdout is not valid JSON
- o test: print failed tests more nicely.
- o trurl: fix query splitting
- o trurl: json: print comma only after printing the first valid component
- o trurl: make sure to terminate the JSON array when aborting with --verify
- + 2 more
📦 Contributors to this release:
- Daniel Stenberg, Emanuele Torre, Jacob Mealey, Krishean Draconis, Ruoyu Zhong
📋 Changes since previous release
- o --get supports variables in [brackets] as well
- o --get {query-all:key} outputs all values for 'key' in the query
- o switched to test.py for tests
- o --iterate is a new option
🐛 Bugfixes since previous release
- o handle %00 sequences in {query:key} output
- o support reading URL from a file without a newline
- o bmake compatible makefile
- o fixed a json memory-leak
- o CI builds with the the clang address sanitizer
📦 Contributors to this release:
- Dan Fandrich, Daniel Stenberg, Emanuele Torre, Håvard Bønes, Michael Ablassmeier, Nekobit
📋 Changes since previous release
- --get supports showing {query:key}
- --json outputs query pairs under "params"
- -a is an --append shortcut
- add --query-separator
- add --sort-query
- install instructions for cygwin
🐛 Bugfixes since previous release
- build: compile with msvc again
- components names are lower case and case sensitive
- fixed the json output of UTF-8 sequences
- flush stdout after handling every URL
- mixing --json with --get is an error
- more test cases
- show error messsage when component setting fails
- support "--" end-of-options argument
- + 2 more
📦 Contributors to this release:
- Dan Fandrich, Daniel Stenberg, Emanuele Torre, Håvard Bønes,
- Krishean Draconis Sajad F. Maghrebi
📋 Changes since previous release
- the set port is the same as the scheme-default, don't show
- many more tests
- https://curl.se/trurl is now the project's website
- added --accept-space
- added --trim
🐛 Bugfixes since previous release
- setting port to a blank now clears it
- improved the man page
- fix --append query when no previous query exists
- output JSON as an array
- provide the -h list in pure alphabetical order
- add an INSTALL variable to the Makefile
- enable building with msvc on Windows
- use 0644 for the man page install
- + 2 more
This is the first **pre-release** of trurl. For early tests and feedback.
