diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7e40cc36..e69de29b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,252 +0,0 @@
-This is another large release containing over `550` commits from 7 contributors. Due to the size and large amount of changes made this release expect at least one minor release to fix any bugs that come up.
-
-The version number has been bumped to `3.0` due to the large amount of breaking changes introduced this update. I've added backwards compatibility for all of the new changes but there may still be some breakage. I highly recommend starting with a new config to avoid any issues that may arise.
-
-Neofetch now supports displaying images using `catimg`, `libcaca` and `jp2a`. See this wiki page for screenshots. https://github.com/dylanaraps/neofetch/wiki/Image-Backends
-
-Thanks to everyone who contributed this release, there were a lot of new faces this time around. :)
-
-
-## Contributors
-
-- **[@konimex](https://github.com/konimex)**
-- **[@iandrewt](https://github.com/iandrewt)**
-- **[@jorgegonzalez](https://github.com/jorgegonzalez)**
-- **[@z33ky](https://github.com/z33ky)**
-- **[@mstraube](https://github.com/mstraube)**
-- **[@gavinhungry](https://github.com/gavinhungry)**
-
-
-## IRC
-
-Neofetch now has an IRC channel at `#neofetch` on Freenode. If you have any questions, issues or ideas feel free to join the IRC channel and I'll be happy to assist you. I know that we've already got the Gitter chat but hopefully this makes things easier for those without a GitHub account. :)
-
-[![Freenode](https://img.shields.io/badge/%23neofetch-%20on%20Freenode-brightgreen.svg)](http://irc.lc/freenode/neofetch)
-
-
-## Collaborators
-
-I have given collaborator access to both **[@konimex](https://github.com/konimex)** and **[@iandrewt](https://github.com/iandrewt)**. In short this allows them to push directly to the master branch of the repo, manage the issue tracker and also merge pull requests. They've been a huge help the past year so this made sense to me.
-
-
-## OS
-
-- Added support for AIX.
-- Added support for AntiX.
-- Added support for GNU/kFreeBSD.
-- Added support for Gentoo FreeBSD.
-- Added support for GrombyangOS.
-- Added support for Joyent SmartOS.
-- Added support for Mer.
-- Added support for MINIX.
-- Added support for MX.
-- Added support for Open Source Media Center (OSMC).
-- Added support for SalentOS.
-- Added support for TrueOS.
-- Added support for Windows (MSYS2).
-
-
-## General
-
-- The default config file is now installed to `/etc/neofetch/config` and acts as a system-wide config file for Neofetch. Editing this file will make the changes available to all users on the system. Those packaging Neofetch **without** using the Makefile will need to make changes to support this.
-- The Makefile was rewritten to remove GNU-isms.
-- Removed executable permission from config files. BASH can source them even if they're un-executable.
-- Travis now runs [shellcheck](https://github.com/koalaman/shellcheck) on every commit and pull request.
- - We've had to exclude around 10 lint errors, see this wiki page for why we did this:
- - https://github.com/dylanaraps/neofetch/wiki/Shellcheck-Exclusions
-- Neofetch now supports relative path values when specifying the location to images, ascii files and config files.
- - For example, `neofetch --w3m Pictures/Wallpapers/10.jpg` and `neofetch --w3m 10.jpg` now work.
-- Optimize usage of `get_de()`, `get_wm()` and `get_term().
- - We were calling these multiple times, we now only run them once and check to see if they were run previously.
-- Optimize info caching, only check for cache files in functions that use caching.
-- The manpage is now generated using `help2man`. `help2man` parses the output of `--help` and `--version` to create a manpage. This ensures that our manpage stays 1:1 with the script documentation. We actually found a lot of outdated info in the old manpage thanks to this.
- - A new flag was added called `--gen-man` which generates a neofetch manpage in your current directory.
-- Delete most of `info()` and instead call `prin()`.
- - This removes a lot of duplicate code between `info()` and `prin()`.
-- Remove `printf` subshells and instead use `printf -v` to declare the variables.
-- Fixed artifacts when using line-breaks in TTYs.
-- All errors are now sent to `stderr`.
-- Renamed `XFCE` --> `Xfce`. **[@gavinhungry](https://github.com/gavinhungry)**
-- Cleanup `main()`.
-- Renamed `old_flags()` --> `old_options()`.
-
-
-## Info
-
-**Shell**
-
-- [Fish] Fixed memory leak caused by Fish.
-- Added support for `xonsh`.
-- Fixed version output on `ksh`.
-- Rewrote the function to remove duplicate code.
-
-**Uptime**
-
-- Moved duplicate code to a function.
-- Changed `$uptime_shorthand` to `on` by default.
-
-**Desktop Environment**
-
-- Fixed issues where MATE wouldn't be detected properly.
-- Added fallback to `$DESKTOP_SESSION`, `$MATE_DESKTOP_SESSION_ID` and `$GNOME_DESKTOP_SESSION_ID`.
-- Hide Desktop Environment if it matches Window Manager.
-
-**CPU**
-
-- [Linux] Don't simplify `cpufreq` speed option names for no reason.
-- [Linux] Fixed issues with CPU name detection for architectures other than x86/amd64/ARM.
-- [NetBSD] Remove case statement in favor of 1 line test.
-- Simplify check for low CPU speeds.
-- Expanded `cpu_temp` to take the values `C` and `F`. This means you can now display the CPU temperature as Fahrenheit.
-
-**CPU Usage**
-
-- Added Haiku cores command.
-- Updated Linux and macOS commands to the match the commands in the `get_cpu()` function.
-
-**GPU**
-
-- [Linux] Each GPU is now printed on a separate line.
-- [Linux] Added `--gpu_type` / `$gpu_type` which lets you display `all`, `dedicated` or `integrated` GPUs.
-
-**Memory**
-
-- [Solaris] Fixed inaccurate used memory size.
-
-**Resolution**
-
-- [Windows] Declare variables locally to fix conflicts in other functions.
-
-**~~Birthday~~ Install Date**
-
-- Renamed `get_birthday()` -- > `get_install_date()`
-- Removed all `date` command usage from `get_install_date()`.
-- Added a new function called `convert_time()` which takes the time stamped `ls` output and converts it to a pretty format. The function only uses bash so its much faster than calling `date`. This makes things simple and keeps the output consistent across all Operating Systems. Example: `2016-12-06 16:58:58.000000000` --> `Tue 06 Dec 2016 4:58 PM`
-- Added an option so users can choose between using 24-hour and 12-hour time format
-- `get_install_date()` will detect which `ls` program is being used instead of hardcoding them per OS.
-
-**Disk**
-
-- Rewrote function from scratch.
- - The function is `40` lines smaller than before and works on all \[1\] versions of `df` we tested on \[2\].
-- Added the option/flag `disk_show` which allows you to specify which disks, mount points or directories to show the disk info of. (One per line)
-- Added the option/flag `disk_subtitle` which allows you to specify how we label each disk. (Mount point or Disk name)
-- Removed all percentage calculation since `df` already provides us with the percentage.
-- Warn the user if `df` isn't installed.
-- Fixed broken output if `df` wasn't installed but the function was enabled.
-
-\[1\] The function doesn't work on Haiku since their `df` is wildly non-standard. (The output format and flags are 100% different from all of the other `df` versions floating around.)
-
-\[2\] Tested on `GNU`, `Busybox`, `BSD`, `Solaris` and `macOS` `df` versions.
-
-**Theme**
-
-- [KDE] Don't display GTK Themes if KDE is detected.
-- [KDE] If `kde[0-9]-config` isn't found, try and look for `$HOME/.kde`.
-
-**Window Manager Theme**
-
-- Fixed WM Theme not detected on MATE. **[@mstraube](https://github.com/mstraube)**
-- Fixed WM Theme detection on KDE. **[@mstraube](https://github.com/mstraube)**
-
-**Song**
-
-- Added support for xmms2. **[@z33ky](https://github.com/z33ky)**
-- Added support for Exaile music player. **[@mstraube](https://github.com/mstraube)**
-- Added support for JuK .**[@mstraube](https://github.com/mstraube)**
-- Added support for Bluemindo. **[@mstraube](https://github.com/mstraube)**
-- Added support for Guayadeque Player. **[@mstraube](https://github.com/mstraube)**
-- Added support for Yarock. **[@mstraube](https://github.com/mstraube)**
-- Added support for Qmmp. **[@mstraube](https://github.com/mstraube)**
-- Added support for QuodLibet. **[@mstraube](https://github.com/mstraube)**
-- Added support for Mopidy. **[@d3rrial](https://github.com/d3rrial)**
-- [cmus] Simplify block and fix `artistsort` bug.
-- Removed `state` detection.
-- Removed duplicate `dbus-send` commands. **[@mstraube](https://github.com/mstraube)**
-- Hide output if no song is playing.
-- Enforce order `artist - title` in `get_song_dbus()`. **[@mstraube](https://github.com/mstraube)**
-
-**Terminal Font**
-
-- Added support for Alacritty.
-- Added support for Konsole. **[@mstraube](https://github.com/mstraube)**
-- Added support for Sakura Terminal. **[@mstraube](https://github.com/mstraube)**
-- Added support for Pantheon Terminal. **[@mstraube](https://github.com/mstraube)**
-- Added support for deepin-terminal. **[@mstraube](https://github.com/mstraube)**
-- [Termite] Fixed incorrect font chosen. **[@mstraube](https://github.com/mstraube)**
-- [Termite] Also look at default config. **[@mstraube](https://github.com/mstraube)**
-
-**Battery**
-
-- [MacOS] Fixed issue where battery always appears as charging. **[@jorgegonzalez](https://github.com/jorgegonzalez)**
-
-**Local IP**
-
-- [BSD and Solaris] Merged the detection to Linux.
-- [Windows] Support multiple interfaces.
-
-**Color Blocks**
-
-- Use `start++` instead of adding it manually after case. **[@konimex](https://github.com/konimex)**
-- Fixed bug where color blocks wouldn't respect width in TTYs.
-- Cursor positioning now takes `$block_height` into account.
-- Fixed all artifacts in virtual consoles.
-- Merged `$start` and `$end` into an array called `block_range`.
- - This makes the config option match the command-line flag `--block_range`.
-
-
-## Images
-
-- [iTerm2] Fixed blank images.
-- Fixed bug where image mode would attempt to run in a TTY.
-- All of the image/ascii backend handling was rewritten. Backend and Image/File/Directory selection is universal now and should make usage easier.
- - Added `catimg` backend.
- - Added `caca` backend.
- - Added `jp2a` backend.
- - `--image` has been replaced with `--backend`.
- - `--backend` takes `ascii`, `caca`, `catimg`, `jp2a`, `iterm2`, `off`, `tycat`, `w3m`.
- - Shortcut flags were added for easy picking of backends.
- - Each flag can take a file, image or directory as an argument.
- - For example: `neofetch --w3m /path/to/img.jpg` `neofetch --ascii /path/to/file`
- - `--w3m`
- - `--iterm2`
- - `--tycat`
- - `--ascii`
- - `--off`
- - `--catimg`
- - `--caca`
- - `--jp2a`
- - All image and ascii file selection has been replaced with the universal `--source`.
- - The value of `--source` can be any of the following:
- - `auto`, `ascii`, `wallpaper`, `/path/to/img`, `/path/to/ascii`, `/path/to/dir/`.
-- Fixed bugs with image shuffle mode.
-
-
-## Wallpaper
-
-- Decode URI filenames.
-
-
-## Ascii
-
-- Simplified ascii file handling.
- - Removed a call to `tr` for those using `bash 3`.
- - Fixed distro detection issues.
- - Removed the assumption that `first word in distro --> ascii file name`
-- Added Ubuntu-Studio. **[@konimex](https://github.com/konimex)**
-- Fixed bug causing macOS ascii art to be used on other Operating Systems.
-- Display warning about 'ascii' being the new default mode.
-- Removed `ascii_logo_size` in favor of `ascii_distro='{arch,crux,gentoo}_small'`.
-- [PCBSD] Use TrueOS ascii art.
-- Added Void Linux (small) and Alpine Linux (small).
-
-
-## Screenshot
-
-- Use arrays for `$scrot_program`
-
-
-## Args
-
-- Fixed bug where `neofetch --config` sourced the user config twice.
-- Cleaned up config arg handling.