Release Notes: JC version 1.15.0 #132
                  
                    
                      kellyjonbrazil
                    
                  
                
                  started this conversation in
                General
              
            Replies: 0 comments
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment
  
        
    
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I’m excited to announce the release of
jcversion 1.15.0 available on github and pypi. This is a significant release that includes dozens of new features and parsers.jcnow supports over 70 commands and file-types, including the newacpi,upower,/usr/bin/time,dpkg -l,rpm -qi,finger, anddircommand parsers. Several existing parsers have been updated to include calculated time fields for convenience. These includedate,uptime,stat,timedatectl,who,dig, andls.The CLI experience has been enhanced with new
-hhelp and-vversion options. External library dependencies are now optional, sojcwill work just fine without them, albeit with limited functionality. JSON output is now more compact so less data is being piped between programs and unencoded unicode characters are now supported in JSON strings.jccan be installed viapipor through several official OS package repositories, including Debian, Ubuntu, Fedora, openSUSE, Arch Linux, NixOS Linux, Guix System Linux, FreeBSD, and macOS. For more information on how to getjc, click here.To upgrade with
pip:New Features
-hoption displays help and the parser list.jcno longer displays the help text on error. Now that there are so many parsers, the-hoption prints to STDOUT so the output can be piped to more or less for paging.-voption displays the version, github site, and copyright informationdate,stat,timedatectl,who,dig, andls. These fields are also available in many of the new parsers, includingupower,rpm -qi, anddir._utc‘. No other timezones are supported for aware timestamps.uptimeparser.pygments,ruamel.yaml, andxmltodictare now optional. If a dependency is missing,jcwill still run, but will have limited functionality. For example, if thepygmentslibrary is not installed, then all JSON output will be monochrome. If theruamel.yamlorxmltodictlibraries are not installed, then the--yamlor--xmlparsers, respectively, will not run.-poption is used to pretty-print the JSON output. This reduces the amount of data that needs to be piped between programs and can save some disk space if JSON output is being stored to disk.New Parsers
jcnow supports 70 parsers. New parsers includeacpi,upower,/usr/bin/time,dpkg -l,rpm -qi,finger, anddir. Thedirparser is the first Windows command parser to be included injc!Documentation and schemas for all parsers can be found here.
acpicommand parserLinux support for the
acpicommand. (Documentation):upowercommand parserLinux support for the
upowercommand. (Documentation):/usr/bin/timecommand parserLinux, macOS, and BSD support for the
/usr/bin/timecommand. (Documentation):dpkg -lcommand parserLinux support for the
dpkg -lcommand. (Documentation):rpm -qicommand parserLinux support for the
rpm -qicommand. (Documentation):fingercommand parserLinux, macOS, and BSD support for the
fingercommand. (Documentation):dircommand parserWindows support for the
dircommand – written by Rasheed Elsaleh. (Documentation):Updated Parsers
Several parsers have been updated to include calculated epoch timestamp fields, including:
date,stat,timedatectl,who,dig, andls. See the Schema Changes section for more details.The
uptimeparser has been enhanced with additional calculated time fields. See the Schema Changes section for more details.Schema Changes
datecommand parserThe
datecommand parser has been completely rewritten and enhanced with several new fields, including:epoch,epoch_utc,hour_24,utc_offset,day_of_year,week_of_year,iso, andtimezone_aware. Theweekday_numfield has also been updated to conform to ISO 8601 compliant numbering. (Documentation)statcommand parserThe
statparser has been updated to add the following fields:access_time_epoch,access_time_epoch_utc,modify_time_epoch,modify_time_epoch_utc,change_time_epoch,change_time_epoch_utc,birth_time_epoch,birth_time_epoch_utc. (Documentation)timedatectlcommand parserThe
epoch_utcfield has been added to thetimedatectlcommand parser. ([Documentation])(https://kellyjonbrazil.github.io/jc/docs/parsers/timedatectl))whocommand parserThe
epochfield has been added to thewhocommand parser. (Documentation)digcommand parserThe
when_epochandwhen_epoch_utcfields have been added to thedigcommand parser. (Documentation)lscommand parserThe
epochandepoch_utcfields have been added to thelscommand parser. Note, that these fields are only available if the--full-timeor-l --time-style=full-isooptions are used when runningls. (Documentation)uptimecommand parserSeveral calculated time fields have been added to the
uptimecommand parser, including:uptime_days,uptime_hours,uptime_minutes,uptime_total_seconds,time_hour,time_minute, andtime_second. (Documentation)Full Parser List
acpi
airport -I
airport -s
arp
blkid
cksum
crontab
crontab (with user info)
csv
date
df
dig
dir
dmidecode
dpkg -l
du
env
file
finger
free
fstab
group
gshadow
hash
hashsum (various hash sum programs: md5, md5sum, shasum, etc.)
hciconfig
history
hosts
id
ifconfig
ini
iptables
iw_scan
jobs
kv
last
ls
lsblk
lsmod
lsof
mount
netstat
ntpq
passwd
ping
pip list
pip show
ps
route
rpm -qi
shadow
ss
stat
sysctl
systemctl
systemctl list-jobs
systemctl list-sockets
systemctl list-unit-files
time (/usr/bin/time)
timedatectl
tracepath
traceroute
uname -a
upower
uptime
w
wc
who
xml
yaml
Version 1.15.1 Updates
-h --parser_name. For example:$ jc -h --arprpm-qiparser to add two calculated timestamp fields:install_date_epochandinstall_date_epoch_utcSchema Changes
The
rpm-qiparser has been updated to add two calculated timestamp fields:install_date_epoch(naive) andinstall_date_epoch_utc(timezone-aware).Version 1.15.2 Updates
systeminfoparser tested on Windowsdigparser to fix an issue with IPv6 addresses in the server fielddigparser to fix an issue whenaxfrentries contain a semicolondigparser to add support forAdditional SectionandOpt Pseudosectiondigparser to addquery_sizefielddigparser as the main example in readme, documentation, and man pageint,float, andbooleanconversion rules with functions injc.utilsNew Parsers
systeminfocommand parser (Windows)Windows support for the
systeminfocommand – written by Jon Smith. (Documentation):Schema Changes
digCommand ParserSupport for the
opt_pseudosectionandadditionalSection have been added. Thequery_sizefield has also been added.Version 1.15.3 Updates
ufwstatus command parser tested on linuxufw-appinfocommand parser tested on linuxNew Parsers
ufwcommand parserLinux support for the
ufw statuscommand. (Documentation):ufw-appinfocommand parserLinux support for the
ufw app info [application]andufw app info allcommands. (Documentation):Version 1.15.4 Updates
pingparser to support error responses in OSX and BSDpingparser to be more resilient against parsing errors for unknown error typesdigparser to support+noall+answeruse casedigparser compatibility to all platformsVersion 1.15.5 Updates
xmltodict)ParseErrorandLibraryNotFoundexceptionsBeta Was this translation helpful? Give feedback.
All reactions