LibertyBans icon

LibertyBans -----

Obedience is liberating




The moment you have been waiting for has finally arrived. This release crystallizes LibertyBans 1.1.0, finalizing its API, and crowning a train of releases that began over two years ago. The community of users and contributors that have brought us to this point is indescribable, and I would like to take a moment to thank everyone who's ever contributed to LibertyBans -- whether through bug reports, maintenance, feature additions, or just ideas and feature requests. Community support, feedback, and social development are the lifeblood of a free software project, and LibertyBans is and will always remain a free software project.

There are no breaking changes in this release compared to previous release candidates (1.1.0-RC3, 1.1.0-RC2, 1.1.0-RC1). However, if you are upgrading from 1.0.x, please read the relevant guide for compatibility considerations.

Improvements:
  • The plugin can now run on Sponge API 12 and 13, while API 8 and 9 are still supported. Thanks to Mups for raising this as an issue and helping investigate the details (#297)
  • The plugin jar doubles as a standalone application, which can be run easily with java -jar LibertyBans_Release-1.1.0.jar and no further complications. Typing "stop" will stop the program; other text will be sent as console commands. The standalone instance is a testament to software artistry, and it has uses too. It can be helpful, for example, to edit the contents of a LibertyBans database without starting up a full Minecraft server (101ea56)
Other:
  • LibertyBans now requires JDK 21 at build time, which is relevant for contributors to the codebase. Runtime and API requirements have not changed (101ea56)
For the astute reader; yes, I accidentally thought it was May.
----------, Apr 5, 2025

This is a stabilization release designed to prepare the final launch of 1.1.0. Between this release and 1.1.0, if there are no major bugs discovered, 1.1.0 will be unveiled on the sole basis of this release.

There are no breaking changes in this release compared to 1.1.0-RC2. However, if you are upgrading from 1.0.x, please read the relevant guide for compatibility considerations.

Fixes:
  • Re-solved detection of plugin messaging channel, which was accidentally broken in 1.1.0-RC1 (dc18139)
  • No-pages message was not being shown with empty data reported by Nik2810 (09c9ffe)
  • Fix double-prefix on sending alts notification reported by fuzz (f0dfc41)
  • Inaccurate database requirement check reported and fixed by @kronnox (#290 and #291)
  • Compatibility with Velocity-CTD thanks to @R00tB33rMan and I apologize for the delay (#275)
Improvements:
  • Reverse the direction of self-importing, letting people "export" their data (32b1fc1)
  • Chinese translation update by @SeemWind (#268)
Other:
  • Miscellanous codebase improvements like build updates, comment corrections, and database coverage (de25d2d, 3d87760, 500ef0d)
  • Add PluginIdentifiableCommand marker interface (b81f632)
This release comes after admittedly the longest hiatus in LibertyBans' release history, but I hope this is as much as a tribute to software maturity as it is a sign of my exhaustion in other areas of life. Alas I do not know what is the state of our community these days, but I hope everyone is doing well, and for sure, there are still many features left to implement. I'm looking forward to polishing alt detection pagination in the coming days, and we will aim to release 1.1.0 on April 1 or April 4.

If you're reading this, please install the plugin and let me know how you like and enjoy it ;)
----------, Mar 30, 2025

This Leap Day release brings additional stabilization to the 1.1.0 series. Mostly, this consists of solving a few edge cases, making LibertyBans more correct, more accurate, and closer to perfection. We also have a few new features and improvements.

There are no breaking changes in this release compared to 1.1.0-RC1. However, if you are upgrading from 1.0.x, please read the relevant guide for compatibility considerations.

Bug-fixes:
  • Use serializable isolation to fully handle overlapping punishment commands (b10c847)
  • Smoothly transition the mute cache across usage of /libertybans restart (9cb950b)
  • Detecting the plugin messaging channel no longer emits false warnings (2985be9)
New features:
  • Fantastic Polish translation by @szyha (#242)
  • The exemption addon based on LuckPerms weights can now be configured to exempt targets with the same weight as the operator (#249)
Improvements:
  • Resolve literal UUID arguments in more places (063de6c)
  • Include sub-commands like version, usage, and help in tab-completion (063de6c)
Other:
----------, Feb 29, 2024

Having accomplished a slew of exciting new features, this release prepares the way for the impending LibertyBans 1.1.0. The progress made since 1.0.x, in the form of 1.1.0-M1, 1.1.0-M2, and 1.1.0-M3 now enters the release candidate phase.

I would like to thank everyone who tested the layouts feature while it was in development builds. I don't remember who everyone is, but please feel free to remind me if you don't see yourself inside /libertybans about.

There are no breaking changes in this release compared to 1.1.0-M3. However, if you are upgrading from 1.0.x, please read the relevant guide for compatibility considerations.

Bug-fixes:
  • UUID mismatch on Sponge when player info forwarding is configured (#229))
  • The 'show-applicable-for-history' turned /warns into /history (fb14929)
  • Folia-specific deadlock on tab completion (#224)
New features:
  • Punishment layouts, based on a tiered system of escalation. Also known variously as templates, stacked punishments, escalation tracks, etc. (#180)
  • Kick player via plugin messaging (f7d228d and 235dace)
  • Scoped punishments applicable to a configured server or group of servers (#146)
API improvements:
  • Add method to get back a builder from a draft punishment by @MCMDEV and @KoxSosen (#211)
  • API for alt detection and management (fdf46d9)
  • Allow retrieving player name from PostPunishEvent and PostPardonEvent (#76)
  • Complete API for server scopes (#146)
Other:
  • Create a standalone implementation, currently intended for zxfq's web panel (ed6215b)
  • Faster unmute resolution when synchronizing across instances (19a6494)
  • Add warning to Sponge if newer listener registration API unavailable (19a6494)
  • Initialize the H2 driver if possible; improve driver initialization generally (fb14929)
In 1.1.0, all API additions since 1.0.x will become enshrined in our semantic versioning guarantee, a basic requirement for a stable API not provided by competing punishment plugins. This release candidate (RC) serves the purpose of easing the rollout of 1.1.0 in a gradual, stable fashion. Remember, our Versioning and Support Policy means that anyone, from individual servers to large networks running multiple instances, can enjoy the stability of a LibertyBans release and rest assured that they will receive critical bug-fixes.
----------, Sep 12, 2023

With this release comes compatibility improvements and bug-fixes for the most recent Minecraft versions. LibertyBans is now guaranteed to work on 1.20 and 1.20.1 despite changes to server libraries and Paper APIs.

It is again possible to run LibertyBans on the older MariaDB versions 10.3, 10.4, and 10.5. Many users shared hosts' do not yet provide newer MariaDB versions. However, we nonetheless strongly encourage users to pressure hosts to update their database servers. Operating a more recent database will make your server run smoother and be more responsive to gameplay. It will also enable plugin developers to write code more effectively -- and better code means fewer bugs, sleeker design, and high-quality features.

There are no breaking changes in this release compared to 1.1.0-M2. However, if you are upgrading from 1.0.x, please read the relevant guide for compatibility considerations.

Bug-fixes:
  • Compatibility with Spigot/Paper 1.20's library changes (#215)
  • Add Paper 1.20.1 support due to Folia API transplant (#219)
  • Avoid printing warning message on newer Velocity versions due to added library (#214)
  • Redeclare API methods to preserve binary compatibility (#207)
New features:
  • Add shortcut-reasons addon (#124)
  • Support MariaDB 10.3-10.5 by rewriting queries (4a5a095)
  • Ban Bedrock users even when Floodgate isn't installed, by overriding prefix detection (#195)
API improvements:
  • Add DraftPunishment setter to PunishEvent. Enables modifying the reason and other details when a new punishment is created, as in the shortcut-reasons addon (#212)
Other:
  • Add Folia support (#206)
Attentive users will observe that I (A248) have returned from a personal hiatus due to travel purposes. However, I am very grateful to Simon, LibertyBans' co-maintainer, for providing hot-fixes and development builds when newer Spigot and Paper versions broke LibertyBans. Thanks to Simon, and also @potatoru for contributing a PR, the bugs were quashed within a couple weeks, at least in development builds. All praise and well-being due to whichever deity you worship, we have now reached a stable release wherein the compatibility bugs are eradicated for good. Therefore I am happy, and relieved, to present this release to you.
----------, Jul 10, 2023

With this release, LibertyBans reaches the 400th commit and the 100th star, milestones of development and beacons of progress. Since the last release, a slew of features have arrived to LibertyBans, enabled by our magnificent addon system. In recent months a competitor has decided to add a partially-implemented importing feature from LibertyBans -- scandal! -- so the race is on. We intend to ride ahead on a powerful engine of free software fueled by a relentlessly organized codebase.

There are no breaking changes in this release compared to 1.1.0-M1. However, if you are upgrading from 1.0.x, please read the relevant guide for compatibility considerations.

Bug-fixes:
  • Correctly catch all invalid durations. Some edge-cases resulted in a permanent punishment being specified (9fc7335)
New features:
  • Extend the duration of a punishment with /libertybans extend (#115)
  • Show applicable punishments in history if configured (#157)
  • Censor IP addresses in punishment messages for users without a certain permission (#101)
  • Expunge (purge) a punishment so that it is fully erased from history (#119)
API improvements:
  • Dramatically expanded the selection API to allow retrieving applicable punishments, using the same base interface as for selecting punishments for a set of victims (#162)
  • Modify punishment end date, reason, and scope (#115)
  • Expunge a punishment using the API (e93b317)
Other:
  • Document query performance especially with respect to HSQLDB and scalability (#190)
  • Improve documentation on address strictness and behavior (#192)
  • Support symbolically linking the hypersql database folder (c89d921)
  • Add more tests, and update documentation on exemption (9dcf429)
----------, Mar 19, 2023

A quick patch for a distribution-related bug discovered in the last jar. Hopefully, this will remain the only hotfix in LibertyBans' history.
----------, Dec 26, 2022

Welcome and Merry Christmas. This special and wonderful update constitutes a Christmas present. We bring you new APIs, the highly-demanded exemption feature, and automatic Geyser/Floodgate detection.

However, because it is Christmas, you have to be nice! So, you need to read the new requirements for LibertyBans 1.1.0 before installing it. If you're naughty, you install plugins without reading their documentation.

Please read the page on updating from 1.0.x to 1.1.0

This release, 1.1.0-M1, is a "milestone" release, meaning it contains many features intended for 1.1.0. However, the new features in 1.1.0-M1 are officially unstable and may be subject to change. All feature and API additions become officially stabilized in 1.1.0. This is in accordance with semver.

The Gifts of this Release

Bug-fixes:
  • Running a list command, such as /history, with a page argument of 0 caused an exception (e986571)
  • Properly document behavior of STRICT address-strictness and add setting for STERN (#187)
  • Wait for database threads to fully shut down (#189)
Improvements:
  • Automatically determine Geyser/Floodgate prefix (#43)
  • Implement exemption using LuckPerms and Vault. Be sure to thank @BlueTree242 for providing creative suggestions, such as using LuckPerms weights, to support exemption. We are indebted to this user's inspiration (#131)
  • Use newer dependencies; requires MariaDB 10.6 (9ec5061)
  • Updates to selection API:
    • Select punishments before given time thanks to @FreakyRed (#179)
    • Select number of punishments and filter by victim type (#158 and ece3120)
Other:
Roadmap to 1.1.0

Looking forward, we have:
  • 1.1.0-M1, this release.
  • 1.1.0-M2, coming 17 January.
  • Potentially other milestone releases.
  • 1.1.0 itself.
The page on Upgrading from 1.0.x to 1.1.0 will continue to receive updates as we progress through the completion of version 1.1.0. The full changelog is also available.

Github "milestones", not to be confused with "milestone" releases, provide a rough outline of the plan to complete each feature. Note that milestones are used flexibly, strictly for convenience of planning. Placement on a milestone is no guarantee of a feature's completion.

Please remember that we follow no timelines as this is a free software project maintained primarily by a single obsessively-academic college student. It is an intellectual exercise, however, to deliver the highest quality of features with ambition, creativity, and tact as we aim to surpass all other punishment plugins.

Merry Christmas
----------, Dec 26, 2022

Hereafter, LibertyBans supports the Sponge platform, API versions 8 and above. This development, we hope, will extend the usability of LibertyBans. Deployable in many varieties of environments yet utilizing common code, LibertyBans has always been designed to support multiple platforms. The Sponge API is the natural continuation of this impetus.

Moreover, we have solved, by a clever exploit, the longstanding issue which made LibertyBans vulnerable to bugs in other plugins. Specifically, unrelocated libraries in other plugins will no longer affect LibertyBans. We will continue to recommend you to fix these bugs, because your server's stability is our concern too. However, LibertyBans will be able to proceed despite these situations.

Bugs fixed:

  • Fixed an embarrasing bug which caused importing from BanManager to be impossible, since /libertybans import banmanager was not recognized (0d43698)
  • Updated database revision per previous change in 1.0.3 (cca6ef9)
Feature additions:

  • Sponge support. API 8 and API 9 are supported (#99)
  • The checkuser addon provides the /checkuser command, thanks to @SnakeAmazing . This addon displays whether a user has an applicable ban or mute (#168)
  • The LibertyBans/internal/attachments folder allows attaching driver jars, which is useful for importing from LiteBans H2 (0d43698)
Other:

  • Protect classloading from unrelocated libraries, by filtering classes requested in parent classloader (c041502)
  • The hypersql/ and libraries/ folders are moved under LibertyBans/internal. Existing directories will be migrated automatically (d6c7c21)
----------, Sep 12, 2022

In this release, we formally introduce the new addon system for extending LibertyBans. With the addon system, we can boldly engage ambitious feature requests. Addons require absolutely no performance overhead -- they interface directly with LibertyBans, exactly as if the addons were written into the main plugin.

I understand some users are not enthusiastic about having to install addons rather than configure features. We implemented an addon system to make the core plugin more approachable for beginners and more maintainable for developers. New users ought not to be confronted with a dizzying array of everything we have to offer. Also, the separation of additional features into addons significantly improves code quality through its imposition of clean organization. I have sung the benefits of code quality numerous times, and it is part of our development philosophy.

Velocity users: It is a known issue that LibertyBans cannot enforce mutes. Chat sent by 1.19.1 clients cannot be cancelled, and this is enforced by Velocity. See this Velocity issue for more information: PaperMC/Velocity#804. For a workaround, install LibertyBans on the backend servers and configure multi-instance synchronization as documented on the wiki.

Bugs fixed:
  • Fix message prefix failing to display in some circumstances. Reported by Notro over Discord (ad90605)
  • Detect Slf4j properly when LibertyBans runs on Spigot 1.16.5+. Does not include Paper (a3bd2e7)
  • Deadlock when tab completion is requested asynchronously, in rare scenarios, on recent Spigot/Paper (a045c93)
Improvements:
  • Hide tab completion if player does not have permission to execute the command (#155)
  • Add additional constraints to the database layer for IP address length; the application layer has checked these constraints since 1.0.0 (d519c84)
  • Eliminate some inefficiencies to hasten startup and database tasks (bead0e8 and 7f373df)
  • Various improvements to usability, documentation, and ecosystem friendliness, with contributions from @ahdg6 and @D3adhkwen (#156, #163, 946b96d, d93c23c, 10a7a00, fb285f1, a045c93, and 5b879e5)
  • Internal changes
Feature additions:
  • The tremendous addon system. The addon installation process is documented on the wiki. (#46)
  • Allow showing all punishments in /blame (#110)
Addons released:
  • The CheckPunish addon provides the /libertybans checkpunish command (#93)
  • StaffRollback enables /libertybans staffrollback which rolls back punishments made by a staff member. Includes a confirmation message if configured (#86)
  • Warn Actions allows defining commands to be executed or automatic punishments to be levied when a player reaches a certain number of active warnings (#62)
The significance of the release date: I originally intended this release for yesterday, August the 16th, a famous birthday. Also, there are two existing LibertyBans releases on 16th's of other months.
----------, Aug 17, 2022

Hello friends, and welcome to the two-year anniversary of LibertyBans' release on SpigotMC.

The first release on SpigotMC, on July 4 2020, was riddled with bugs and largely untested. The plugin acquired prime functionality starting in about December 2020. Therefore, it is appropriate and ironic that this release, 1.0.2, is mainly a bug-fix release. It is our stated philosophy to prioritize bug fixes over new feature requests.

Bugs fixed:

  • Overhauled mute caching to fix several bugs and improve efficiency (#142 and #153)
  • Don't suggest punishment duration for kick command (#144)
  • Adjust ID sequences after self-import (#148)
Features added:

Other:

  • Improved detection of unrelocated libraries on BungeeCord (f2188d9)
  • Better, cleaner shutdown with respect to database operations (648dc91)
  • Pre-initialize JOOQ classes to prevent query timeout (8078083) and more descriptive exceptions when query timeout occurs nonetheless (c506ad1)
Since July 4 2020, LibertyBans has made remarkable progress. We crossed the 1.0.0 milestone at the beginning of this year and thenceforth began to guarantee a stable API, with new ambitious features such as PostgreSQL support and multi-instance synchronization. To increase adoption and accessibility, we provided more importing features and approved new translations. We intend to continue this progress to meet the great volume of feature requests on the issue tracker.

None of this would be possible without you, the user. Individual contributions drive the search for perfection by finding unexpected behavior and identifying areas of improvement that may not be otherwise visible to primary authors. Almost all the changes in this release were motivated by user reports or direct contributions. Thus the /libertybans command, without any arguments, displays all users who have contributed, in any fashion, to the development of LibertyBans.
----------, Jul 4, 2022

This release, I have no sprawling sentences of extravaganza to entertain your mind. Nevertheless, significant happenings abound! It was recently announced on the associated community discord server that Simon and myself will be working to re-shape that discord server into a broader community. In that announcement, you will find many wonderful words and phrases.

In addition to the changes described below, the list of contributors and commended users in /libertybans about was updated in this release.

Bug-fixes:
  • Fix TooManyRowsException when punishing composite victim (#117)
  • Solved a database performance regression in 1.0.0. This was identified by Franciscoyt94 (#136)
Features added:
  • New French translation by zendrique (#134)
  • New Norwegian translation by BeastyBoo (#121)
  • Added a connection limit per IP address (#45)
  • Import from BanManager (#125)
  • Added the ability to convert between storage backends (#71)
  • Time-based expiration of alt accounts with respect to /alts and the auto-show feature (#77)
Other:
  • Fixed an issue for contributors which caused disk space leaks when building locally (#128)
  • Updated Russian translation (#113)
  • Updated README and documentation
Please note, if you are on 0.8.1 and waiting for the 0.8.2 release, rest assured that 0.8.2 with its promised 1.x compatibility mode will still be released at some point. Such a compatibility mode requires a non-trivial amount of development effort. Moreover, we re-affirm the long-term support policy that 0.8.x will remain supported until at least 4 months since the availability of 0.8.2.
----------, Feb 16, 2022

Introducing the long-awaited, much-anticipated, rumored and reputed release of the times!

1.0.0 is officially released in stable form!

This New Year's special release brings a guaranteed stable API to LibertyBans, providing a solid basis for a healthy and long-lasting period of growth for the plugin and its community.

New features and improvements:

  • Multi-proxy synchronization (#44 and #100). LibertyBans now operates fully-featured on multi-proxy setups; it is possible to ban, mute, warn, and kick players on other backend servers, as well as undo punishments. See the wiki for more information.
  • Better documentation. All documentation is located at https://libertybans.org. The database schema is now better documented (#78).
  • PostgreSQL support (#48). At least PostgreSQL 12 is required. Included is experimental support for CockroachDB, a database which is quite alike to PostgreSQL and tries to emulate it.
  • Composite victims (#73). This powerful feature, while somewhat advanced in nature, is applicable to several use cases. See the wiki for more information.
  • Added a %PREVIOUSPAGE% variable (#87).
  • Added new variables to punishment messages: %TYPE_VERB%, %TIME_PASSED_SIMPLE%, %TIME_REMAINING_SIMPLE%, %HAS_EXPIRED% (#109).
  • Permissions have been redone to follow a direct pattern (#25).
  • Tab completion now ignores case (#111).
Improvements to usability, to make LibertyBans a more popular plugin (in the traditional sense of the word popular):

  • In release builds, HikariCP is relocated in LibertyBans (0f22160). So, the presence of unrelocated HikariCP copies in other plugins -- bugs, which must be remedied -- will not prevent the operation of LibertyBans.
    • It is still imperative to fix bugs in your server as a responsible and competent administrator. LibertyBans will continue to warn the user when unrelocated dependencies are detected.
    • On Velocity, the plugin which failed to relocate is now identified (#92).
  • An informative error message is printed when users do not have the proper SQL permissions (5cc7b40). This mitigates a pterodactyl bug which causes pterodactyl to grant insufficient SQL permissions.
For existing users, a robust and easy (hopefully easy) migration path from 0.8.x is provided:

  • Migration Guide
  • The migration guide currently does not cover having a LibertyBans 0.8.x instance co-exist with 1.0.0 on the same database.
    • A compatibility mode will be created in LibertyBans 0.8.2, an upcoming release, providing the ability to have LibertyBans 0.8.2 co-exist on the same database with 1.0.x.
    • Until 0.8.2 is released with this compatibility mode, it will not be possible to operate a LibertyBans 0.8.x instance on the same database as 1.0.x, and it should not be tried, either.
A reminder and some comments on the long-term support policy:

  • At a bare minimum, LibertyBans major releases are supported for at least 4 months after a new major release. This means LibertyBans 0.8.x will be supported until at least May 2022, which is a long time from now.
  • Since LibertyBans 0.8.2 (an upcoming 0.8.x version which will provide a compatibility mode with 1.0.0) has not yet been released, I will start the long-term support schedule once this version is released. This is because I consider the long-term support period to be for the purpose of migration, and migration is most feasible when all compatibility options have been released.
  • In practice, I may decide to extend support for LibertyBans 0.8.x past the minimum of 4 months. I will do this if I learn of users who need to remain on 0.8.x for one reason or another, or who otherwise require a significant effort to upgrade to 1.0.0 on account of breaking changes.
----------, Jan 4, 2022

In this release, many spectacular translations have been added. Many thanks to those who contributed translations as well as other improvements. In lieu of writing the contributors out here, they are mentioned in /libertybans.

Notices:

  • A bug was fixed regarding the detection of alt accounts. Previously, some alt accounts went undetected.
    • Therefore, you may find /alts and the alts auto-show feature to detect alt accounts which were not previously detected.
    • This bug-fix does not relate to punishment enforcement, meaning you will see no change in which players are affected by IP-bans and IP address-based punishments; rather, the fix relates only to alts detected by /alts and the alts auto-show feature.
  • Another bug allowed staff members to IP-ban with inadequate permission, in certain cases. The full extent of this security vulnerability is described over discord; the extent is limited, but you are permitted to be the judge of that. The bug is patched in this release.
Enter the change-log.

Bugs fixed:

  • Disallow kicking offline players. #91
  • Fixed a bug in alt detection which caused some alts to go undetected. fe3b7f0
  • Fix a bug allowing staff members to IP-ban with inadequate permission. 4db08c2
  • Solved tab-completion. #54
Features added:

  • Sparkling Russian translation. #79
  • Shimmering Chinese (Simplified) translation. #83
  • Shining Hungarian translation. #89
  • New "silent" punishment feature -- enacts punishments without sending notifications. #59
  • Added the /accounthistory command. #64
Other:

  • Added a warning when using MySQL 5.7 or MariaDB 10.2. These are older database versions which will become unsupported in LibertyBans 1.0.0. 3f5f00a
  • Documented the %TARGET% variable. 567ccb0
  • Added issue templates and updated the README #84
  • The /libertybans command now shows those who have contributed to LibertyBans in all variety of manners. a316dfd
  • Various internal and minor changes: 652a539, #74, 87f403f
----------, Nov 29, 2021

On the American Patriot Day comes the largest update to LibertyBans since its inception.

This is quite a large update. If you are somewhat paranoid about bugs, you are free to conduct additional manual testing. Nevertheless, this update is already deployed by several users and is quite stable due to an extensive automated test framework - test coverage which other plugins unfortunately lack.

Notice: In this release, the times of durations have changed very slightly to be more accurate. For example, a year is now 365.24 days instead of exactly 365 days. A month is now 30.44 days instead of 30 days.

In addition to the typical change-log, I wanted to recognize others' contributions to this release as well as past releases. While I have taken care of the software, it would not have been possible without the incredibly useful bug reports I receive from everyday users:

  • 4drian3d
  • AGI
  • BumbleTree
  • copyandexecute
  • D3adhkwen
  • Dejay
  • Deactivation
  • hawkfalcon
  • IceWaffles
  • LaurenceBarnes
  • Michael Sykes
  • ox
  • Simon (KoxSosen)
  • SleepingTea
  • tommasobenatti
  • VanironCZ
Above are all the users who have submitted bug reports identifying problems with LibertyBans - If I forgot to add you here, please tell me! I also want to thank FranMC23, for providing the Spanish translation.

Some of these users are even extraordinary, submitting multiple bug reports of high calibre. I'm especially grateful for their thorough and extensive bug descriptions. They are truly honorable people, and they know who they are.

I considered creating some special status of badge of honor to commend the work of the top bug reporters, and to devise some criteria for it. However, I felt this would detract from the grace and selflessness with which honest users report bugs, by turning the process into another competition. Nevertheless, as I believe their work is commendable, and indeed I myself honor them for it, I am open to suggestions for the purpose of providing recognition.

Now, cue the change-log.

Bugs fixed:

  • Fix history, warns, and blame showing wrong output when unknown target player specified. #67
  • Solve %TIME_REMAINING% usage when time has elapsed. #66
  • Fix LiteBans import failure when IP address is "#undefined#". 4da304a
  • Include found operator and victim UUIDs when importing from AdvancedBan; solves names shown as "-NameUnknown-". #61
  • Use correct duration permissions. #51
  • Fix tab completion (argument index was shifted). #50 and #42
  • Solve 11 months 4 weeks issue by using exact durations. #56
Features added:

  • Include a Spanish translation, messages_es.yml. Thanks to FranMC23 and 4adrian3d 00c9580
  • Add /alts command and alt-detection notification when a suspected player joins. #34
  • Allow using weeks as a duration argument. 92fcb27
  • Add %TARGET% variable in punishment command messages. #33
  • Added three-valued reason handling to allow fully denying blank reasons. #49
  • Allow using /unban with an explicit IPv4 address to undo IP bans. e233799
  • Reworked tab completion of player names - added option to complete offline player names. Tab completion now includes the sending player, where previously the sending player was excluded. #52
  • Add basic support for JPMS. 7f0563e
Other:

  • Large internal refactor to use the adventure library. cf24e05
  • Solve warning message emitted by Flyway when using HSQLDB. ee4c784
  • Miscellaneous internal improvements.
  • Add compatibility section to readme. 3143587
Extra: See the Github page for more information
----------, Sep 12, 2021

  • Fixed mutes not being enforced on BungeeCord. b8d26fe
  • Solved more bugs importing from LiteBans. Add more tests for it. d0b8be8, b72f131, 595bb56
  • Added compatibility with Velocity 3. 9714d35
  • Added support for Geyser/Floodgate usernames with a configurable prefix. f29ac7a
  • Increased the strength and urgency of the warning message when other plugins fail to relocate. 7d2ebb5. Lack of relocation, a bug in other plugins, has led to incompatibilities with LibertyBans
  • Miscellaneous: updated dependencies and improved overall documentation. 808c424 and other commits
----------, Jun 26, 2021

  • The feature of importing from other plugins has been tested and stabilized.
    • Thanks to KoxSosen, VanironCZ, and 4drian3d for contributing test data.
    • Various importing-related bugs have been fixed.
    • All fixes are visible in #38
  • Full multi-instance support, including multi-proxy support, has come to LibertyBans
    • Multi-proxy users can configure the exact details of the mute cache. 85a04e7
    • From this version onward, multiple versions of LibertyBans can stably co-exist with the same database. Previously, if you installed 2 versions of LibertyBans, started the new one, and then started the old one, the old one would refuse to use the database. 59dc656
  • Removed log spam ("0 rows affected") by upgrading flyway. 27082f8
  • More tests.
  • Cleared all hurdles to building and compiling LibertyBans from source. You can now rest assured that you can easily compile the latest sources of LibertyBans, making any changes you desire, and have those changes be immediately reflected in jar you compile once you rebuild it. 8f572f2
  • Velocity users who experienced issues with tab completion: if you have some time to debug, you can help solve the issue sooner. There is now a debug message which is logged every time a command is executed. To see this message, you'll need to configure Log4j which is used by Velocity. Contact me if you need help on how to do this - it's a valuable thing to know in general. 712ceff
----------, May 21, 2021

Bugs fixed:

  • For Velocity users, the 0.7.3 release contained a bug which prevented bans and mutes from being checked. #32 solved by 9af3738
  • Fixed illegal reflective access to URLClassLoader#addUrl 8c9f4a0 . This caused a warning most of the time, and an error on JDK 16.
  • Default messages configuration now use correct variables #30
Improvements:

  • Dependency downloading mechanism improved 8c9f4a0
  • Contributing to the source code is now easier 885ce21
You may delete the plugins/LibertyBans/libs folder and its contents. The libraries folder is now used.

The importing feature should still be considered mostly experimental.
----------, May 1, 2021

Bugs solved:

  • Fix /history and /blame throwing due to missing punishment type 96dea52
  • Fix enforcement of address punishments using STRICT setting 40b143b
  • Prefer Server#getPlayerExact when finding a user #27
  • Fix double prefix on notification messages #28
Improvements:

  • Add Automatic-Module-Name to some artifacts 8ee1c94
  • Added more column indexes where applicable 3908607

Notes:
The 0.7.2 release was skipped because a bug was discovered in it during manual testing.

The importing feature should still be considered experimental. Any testing of the feature is welcome. Backups should be conducted beforehand.
----------, Apr 21, 2021

Note about importing: This feature should be considered experimental, as it has not been heavily tested. Please back-up your data (you should do this anyway). Importing from other plugins is not an exact science, so be prepared for a possible issue.

Changes:
  • Fix a bug causing empty messages to be sent on Velocity
  • Fix a minor time formatting bug
  • Fix duration permissions not working entirely
  • Add importing functionality for AdvancedBan, LiteBans, and vanilla bans.
  • Dramatically expand internal unit testing
The full list of changes can be read in the commit log.
----------, Jan 16, 2021

In the past months a lot of work has been done on this plugin. It is now much better organized internally, has had bugs fixed, and performance improvements.

Also, tons of new features have been added, including duration permissions and list commands.
----------, Dec 18, 2020

Early bug fixes
----------, Jul 5, 2020

Resource Information
Author:
----------
Total Downloads: 16,229
First Release: Jul 5, 2020
Last Update: Apr 5, 2025
Category: ---------------
All-Time Rating:
40 ratings
Find more info at libertybans.org...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings