Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

Change Log

All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.

Unreleased

Fixed

  • #248: Plugin upgrade version order not guaranteed
  • #250: Method DependencyResolver.resolve removes dependents in check version block
  • #252: java.nio.file.FileSystemNotFoundException

Changed

  • #209: Why “plugin.properties” is required?

Added

  • #242: Add delete hook method in Plugin
  • #256: Adds ability to configure plugin directory

Removed

2.4.0 - 2018-08-01

Fixed

  • #222: Correct the class passed to DefaultPluginFactory's logger
  • #223: A disabled plugin is automatically started by pluginManager.startPlugins()
  • #229: Can’t find plugin.properties file inside .jar
  • Fix error in FileUtils.getFileSystem

Changed

Added

  • #229: Add SingletonExtensionFactory
  • #229: Allow a way to query all extension classes for a given plugin

Removed

2.3.0 - 2018-06-04

Fixed

  • #202: Spaces in name produce ‘Illegal character in opaque part at index’
  • #203: File lock on plugin jar not released

Changed

  • #171: Change the copyright text from the head of files
  • #218: It should not return null after it detects that the plugin has been loaded
  • #219: Improve support for Gradle and Kotlin

Added

  • #199: Make optional the plugin class attribute of plugin manifest
  • #206: Support multiple plugin directories
  • Add aliases to the runtime modes (dev for development and prod for deployment)

Removed

2.2.0 - 2018-02-11

Fixed

  • #197: Close JarFile stream after getManifest in ManifestPluginDescriptorFinder.find(Path pluginPath)
  • Before start a plugin check if the plugin is resolved
  • #200: Compiling with Maven under Java9 breaks project

Changed

  • #194: Changing packaging from ZIP to JAR for demo
  • Improve VersionManager (prepare a new pf4j-update release)

Added

  • #166: Simplify main README (move the content to http://www.pf4j.org)
  • #190: Add methods to just get extension classes
  • Add LoggingPluginStateListener as listener in DefaultPluginManager (only for development mode)
  • Add new RESOLVED as plugin state
  • Add support for PARENT FIRST loading strategy

Removed

2.1.0 - 2018-01-10

Fixed

  • #177: Fix Gradle demo
  • #178: @Override should not change method signature
  • #184: Bug in FileUtils while creating URI on Windows

Changed

  • #180: Refactoring to make PluginDescriptor more usable

Added

Removed

2.0.0 - 2017-10-17

Fixed

  • #156: FileSystemException when I call deletePlugin after getExtensions
  • Fix Maven warnings

Changed

  • #149: Updated gradle demo dependencies and switched from System.out.println to slf4j log
  • Update some code to Java 7
  • #168: Change root package from ro.fortsoft.pf4j to org.pf4j
  • Open a new extension (protected method) point in PropertiesPluginDescriptorFinder

Added

  • #146: Kotlin plugin example added and README updated for Kotlin
  • #150: Enforce dependencies versions
  • #155: Add VersionManager abstractization (breaking change)
  • #172: Add CompoundPluginDescriptorFinder
  • Add CompoundPluginLoader

Removed

  • Remove JarPluginManager (the logic is included in DefaultPluginManager via CompoundXYZ concept)

1.3.0 - 2017-05-03

Fixed

  • #129: Properties Descriptor finder bug fixes and a test
  • #131: Fix bug in loadJars(), did not add /lib to classloader
  • #134: getVersion() use wrong class for calculating PF4J version
  • #135: deletePlugin() failed to delete plugin folder with contents
  • #137: The requires Expression does not print well
  • #140: Unzip plugin zip file in loadPluginFromPath()

Changed

  • #130: Refactor validation of PluginDescriptors
  • #138: Refactor of requires in PluginDescriptor (breaking change)

Added

  • #133: Support for adding license information to the plugins
  • #136: Delete plugin zip on uninstall
  • #139: Ability to get pluginsRoot from PluginManager
  • Add constructors with varargs in PippoException

Removed

1.2.0 - 2017-03-03

Fixed

  • #125: Fix possible NPE

Changed

  • #116: Updated PF4J to newest version in Gradle demo
  • Reactivate protection against the issues similar with #97

Added

  • #128: Add JarPluginManager, PluginLoader, AbstractPluginManager

Removed

1.1.1 - 2016-11-17

Fixed

  • #116: Default/System extensions are duplicated

Changed

Added

  • #111: Add inheritance support on Extension annotation

Removed

1.1.0 - 2016-08-22

Fixed

Changed

  • #107: PluginDescriptor can’t be extended

Added

  • #108: Return a list of all extensions from a plugin and optional for an extension point

Removed

1.0.0 - 2016-07-07

Fixed

  • #99: NPE in DefaultPluginManager.stopPlugin()
  • #100: Gradle build in demo_gradle is broken
  • #103: Gradle demos don’t build zip with libs
  • Fix logging issue in demo

Changed

  • Rework defense against #97
  • Eliminate duplicate log messages from demo
  • Improve debugging for “no extensions found”

Added

Removed

0.13.1 - 2016-04-01

Fixed

  • #98: WARN ro.fortsoft.pf4j.AbstractExtensionFinder (too many log lines)

0.13.0 - 2016-03-28

Fixed

  • Fix issue with listing files from the jar file in readPluginsStorages()
  • #89: Fix “URI is not hierarchical” issue
  • #91: Using project lombok with pf4j causes javax.annotation.processing.FilerException

Changed

  • Log with trace level on PluginClassLoader

Added

  • Add distributionManagement section in pom.xml
  • Add defense to #97
  • Add helper DefaultExtensionFinder.addServiceProviderExtensionFinder()

Removed

  • Disable ServiceProviderExtensionFinder from DefaultExtensionFinder

0.12.0 - 2016-01-29

Fixed

  • #83: stopPlugin() throws NPE for dependents check
  • In development mode hide plugins/target folder (it’ is not a plugin)

Changed

  • Add constructor with vararg and make addFileFilter() fluent in AndFileFilter
  • #84: remove warn from DefaultPluginManager.whichPlugin()
  • Pull method DefaultPluginManager.whichPlugin() to PluginManager
  • Add getExtensionFactory() in PluginManager interface

Added

  • Add constructor with vararg and make addFileFilter method fluent in AndFileFilter
  • Add NameFileFilter and OrFileFilter
  • #85: ExtensionStorage based on Java Service Provider (META-INf/services)

Removed

0.11.0 - 2015-11-19

Fixed

  • #78: PluginManager.disablePlugin() throws UnsupportedOperationExeption

Changed

  • Make more fields protected in DefaultPluginManager
  • #70: Improve PluginDescriptorFinder implementations
  • Make PluginManager available in Plugin via PluginWrapper

Added

  • #66: Add possibility to overwrite DefaultPluginManager (to create a JarPluginManager)
  • Added one more fail test to DefaultPluginFactory
  • Added one more fail test to DefaultExtensionFactory
  • Added ManifestPluginDescriptorFinder tests

Removed

0.10.0 - 2015-08-11

Fixed

  • #39: Fix build on JDK 1.8
  • [42]: Stop Plugin issue
  • [60]: Failed tests

Changed

  • Improve logging for DefaultExtensionFinder
  • Add defense for #21: (not find META-INF/extensions.idx)
  • #44: Replace Version class with semver lib
  • #55: Stop plugin leafs first
  • [63]: Extended pf4j to allow custom class loaders to be created

Added

  • #33: Add demo build configuration with Gradle
  • #40: Add Plugin status provider
  • #41: Added plugin archive source abstraction
  • Added test for DefaultPluginRepository

Removed