/back [steps] – Teleport to a previous location (death or teleport); optional step index for history.
/sethome [name] – Set a home (default name: home). Respects home limits.
/home [name] – Teleport to one of your homes.
/homes – List your saved homes.
/delhome \<name\> – Delete a home.
/renamehome \<old\> \<new\> – Rename a home.
/warp \<name\> – Teleport to a server warp.
/setwarp \<name\> – Create a warp at your location.
/warps – List all warps.
/rtp – Random teleport to a safe location (configurable radius and worlds).
/seen \<player\> – View a player’s first/last played time and online status.
/tphere \<player\> – Teleport a player to you.
/spawnall – Teleport all players to spawn (requires spawn to be set).
/hat – Wear the item in your hand as your helmet.
/enderchest – Open your ender chest from anywhere.
/tpall – Teleport all players to your location.
/tpaall – Send a teleport request to every online player.
/warn \<player\> \<reason\> – Warn a player (persisted).
/warnings [player] – View your own or another player’s warnings (with permission).
/clearwarnings \<player\> – Clear all warnings for a player.
/vanish – Toggle vanish (invisible to players, hidden from tab list).
New / updated systems
Back history – Multiple previous locations per player; size set by back.maxHistory in config.
Homes – Stored in homes.yml. Limit via config (homes.defaultLimit, homes.maxLimit) and/or permissions essentialspro.homes.1 … essentialspro.homes.<n>.
Warps – Server-wide warps stored in warps.yml.
Warnings – Stored in warnings.yml with timestamp and staff name.
Vanish – Managed in memory; join/leave handling so new players don’t see vanished staff.
Messaging & configuration
Configurable message prefix – Set in config (e.g. messages.prefix) with MiniMessage formatting.
Locale support – messages.locale in config; message files in plugins/EssentialsPro/messages/ (e.g. en.yml) for no-permission, only-players, player-not-found, etc.
Reload – /reloadessentials (or alias) reloads config and message prefix/locale.
Code quality & compatibility
Centralized permissions – All permission nodes in a Permissions class; no hard-coded strings in commands.
Standardized player lookup – PlayerLookup.findOnlinePlayer() used for target resolution (exact then partial).
Shared message components – MessageUtils for common messages (no permission, only players, player not found, error, success, info) with optional prefix.
UUID-based bans – Uses BanList.Type.PROFILE instead of deprecated name-based bans.
Adventure sign API – Deprecated Sign.getLine()/setLine() replaced with sign.line(i) and components where applicable.
Logging – Replaced printStackTrace() with the plugin logger where added/changed.
Misc – Typo fix in plugin.yml (e.g. “spicific” → “specific”); Java version in pom.xml aligned (e.g. property and compiler target).