You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CHANGELOG.md 7.4KB

8 years ago
8 years ago
8 years ago
8 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. ## Change Log
  2. All notable changes to this project will be documented in this file.
  3. This project adheres to [Semantic Versioning](http://semver.org/).
  4. ### [Unreleased][unreleased]
  5. #### Fixed
  6. #### Changed
  7. #### Added
  8. #### Removed
  9. ### [1.3.0] - 2017-05-03
  10. #### Fixed
  11. - [#129]: Properties Descriptor finder bug fixes and a test
  12. - [#131]: Fix bug in `loadJars()`, did not add `/lib` to classloader
  13. - [#134]: `getVersion()` use wrong class for calculating PF4J version
  14. - [#135]: `deletePlugin()` failed to delete plugin folder with contents
  15. - [#137]: The requires Expression does not print well
  16. - [#140]: Unzip plugin zip file in `loadPluginFromPath()`
  17. #### Changed
  18. - [#130]: Refactor validation of PluginDescriptors
  19. - [#138]: Refactor of requires in PluginDescriptor (breaking change)
  20. #### Added
  21. - [#133]: Support for adding license information to the plugins
  22. - [#136]: Delete plugin zip on uninstall
  23. - [#139]: Ability to get `pluginsRoot` from PluginManager
  24. - Add constructors with varargs in PippoException
  25. #### Removed
  26. ### [1.2.0] - 2017-03-03
  27. #### Fixed
  28. - [#125]: Fix possible NPE
  29. #### Changed
  30. - [#116]: Updated PF4J to newest version in Gradle demo
  31. - Reactivate protection against the issues similar with [#97]
  32. #### Added
  33. - [#128]: Add `JarPluginManager`, `PluginLoader`, `AbstractPluginManager`
  34. #### Removed
  35. ### [1.1.1] - 2016-11-17
  36. #### Fixed
  37. - [#116]: Default/System extensions are duplicated
  38. #### Changed
  39. #### Added
  40. - [#111]: Add inheritance support on Extension annotation
  41. #### Removed
  42. ### [1.1.0] - 2016-08-22
  43. #### Fixed
  44. #### Changed
  45. - [#107]: PluginDescriptor can't be extended
  46. #### Added
  47. - [#108]: Return a list of all extensions from a plugin and optional for an extension point
  48. #### Removed
  49. ### [1.0.0] - 2016-07-07
  50. #### Fixed
  51. - [#99]: NPE in `DefaultPluginManager.stopPlugin()`
  52. - [#100]: Gradle build in demo_gradle is broken
  53. - [#103]: Gradle demos don't build zip with libs
  54. - Fix logging issue in demo
  55. #### Changed
  56. - Rework defense against [#97]
  57. - Eliminate duplicate log messages from demo
  58. - Improve debugging for "no extensions found"
  59. #### Added
  60. #### Removed
  61. ### [0.13.1] - 2016-04-01
  62. #### Fixed
  63. - [#98]: WARN ro.fortsoft.pf4j.AbstractExtensionFinder (too many log lines)
  64. ### [0.13.0] - 2016-03-28
  65. #### Fixed
  66. - Fix issue with listing files from the jar file in `readPluginsStorages()`
  67. - [#89]: Fix "URI is not hierarchical" issue
  68. - [#91]: Using project lombok with pf4j causes javax.annotation.processing.FilerException
  69. #### Changed
  70. - Log with trace level on PluginClassLoader
  71. #### Added
  72. - Add `distributionManagement` section in `pom.xml`
  73. - Add defense to [#97]
  74. - Add helper `DefaultExtensionFinder.addServiceProviderExtensionFinder()`
  75. #### Removed
  76. - Disable `ServiceProviderExtensionFinder` from `DefaultExtensionFinder`
  77. ### [0.12.0] - 2016-01-29
  78. #### Fixed
  79. - [#83]: `stopPlugin()` throws NPE for dependents check
  80. - In development mode hide `plugins/target` folder (it' is not a plugin)
  81. #### Changed
  82. - Add constructor with vararg and make `addFileFilter()` fluent in `AndFileFilter`
  83. - [#84]: remove warn from `DefaultPluginManager.whichPlugin()`
  84. - Pull method `DefaultPluginManager.whichPlugin()` to PluginManager
  85. - Add `getExtensionFactory()` in PluginManager interface
  86. #### Added
  87. - Add constructor with vararg and make addFileFilter method fluent in `AndFileFilter`
  88. - Add `NameFileFilter` and `OrFileFilter`
  89. - [#85]: ExtensionStorage based on Java Service Provider (META-INf/services)
  90. #### Removed
  91. ### [0.11.0] - 2015-11-19
  92. #### Fixed
  93. - [#78]: `PluginManager.disablePlugin()` throws UnsupportedOperationExeption
  94. #### Changed
  95. - Make more fields protected in DefaultPluginManager
  96. - [#70]: Improve PluginDescriptorFinder implementations
  97. - Make PluginManager available in Plugin via PluginWrapper
  98. #### Added
  99. - [#66]: Add possibility to overwrite DefaultPluginManager (to create a JarPluginManager)
  100. - Added one more fail test to DefaultPluginFactory
  101. - Added one more fail test to DefaultExtensionFactory
  102. - Added ManifestPluginDescriptorFinder tests
  103. #### Removed
  104. ### [0.10.0] - 2015-08-11
  105. #### Fixed
  106. - [#39]: Fix build on JDK 1.8
  107. - [42]: Stop Plugin issue
  108. - [60]: Failed tests
  109. #### Changed
  110. - Improve logging for DefaultExtensionFinder
  111. - Add defense for [#21]: (not find META-INF/extensions.idx)
  112. - [#44]: Replace `Version` class with `semver` lib
  113. - [#55]: Stop plugin leafs first
  114. - [63]: Extended pf4j to allow custom class loaders to be created
  115. #### Added
  116. - [#33]: Add demo build configuration with Gradle
  117. - [#40]: Add Plugin status provider
  118. - [#41]: Added plugin archive source abstraction
  119. - Added test for DefaultPluginRepository
  120. #### Removed
  121. [unreleased]: https://github.com/decebals/pf4j/compare/release-1.3.0...HEAD
  122. [1.3.0]: https://github.com/decebals/pf4j/compare/release-1.2.0...release-1.3.0
  123. [1.2.0]: https://github.com/decebals/pf4j/compare/release-1.1.1...release-1.2.0
  124. [1.1.1]: https://github.com/decebals/pf4j/compare/release-1.1.0...release-1.1.1
  125. [1.1.0]: https://github.com/decebals/pf4j/compare/release-1.0.0...release-1.1.0
  126. [1.0.0]: https://github.com/decebals/pf4j/compare/release-0.13.1...release-1.0.0
  127. [0.13.1]: https://github.com/decebals/pf4j/compare/release-0.13.0...release-0.13.1
  128. [0.13.0]: https://github.com/decebals/pf4j/compare/release-0.12.0...release-0.13.0
  129. [0.12.0]: https://github.com/decebals/pf4j/compare/release-0.11.0...release-0.12.0
  130. [0.11.0]: https://github.com/decebals/pf4j/compare/release-0.10.0...release-0.11.0
  131. [0.10.0]: https://github.com/decebals/pf4j/compare/release-0.9.0...release-0.10.0
  132. [#140]: https://github.com/decebals/pf4j/pull/140
  133. [#139]: https://github.com/decebals/pf4j/pull/139
  134. [#138]: https://github.com/decebals/pf4j/pull/138
  135. [#137]: https://github.com/decebals/pf4j/pull/137
  136. [#136]: https://github.com/decebals/pf4j/pull/136
  137. [#135]: https://github.com/decebals/pf4j/pull/135
  138. [#134]: https://github.com/decebals/pf4j/pull/134
  139. [#133]: https://github.com/decebals/pf4j/pull/133
  140. [#131]: https://github.com/decebals/pf4j/pull/131
  141. [#130]: https://github.com/decebals/pf4j/pull/130
  142. [#129]: https://github.com/decebals/pf4j/pull/129
  143. [#128]: https://github.com/decebals/pf4j/pull/128
  144. [#125]: https://github.com/decebals/pf4j/pull/125
  145. [#122]: https://github.com/decebals/pf4j/pull/122
  146. [#116]: https://github.com/decebals/pf4j/issues/116
  147. [#111]: https://github.com/decebals/pf4j/pull/111
  148. [#108]: https://github.com/decebals/pf4j/pull/108
  149. [#107]: https://github.com/decebals/pf4j/issues/107
  150. [#103]: https://github.com/decebals/pf4j/issues/103
  151. [#100]: https://github.com/decebals/pf4j/issues/100
  152. [#99]: https://github.com/decebals/pf4j/issues/99
  153. [#98]: https://github.com/decebals/pf4j/issues/98
  154. [#97]: https://github.com/decebals/pf4j/issues/97
  155. [#91]: https://github.com/decebals/pf4j/issues/91
  156. [#89]: https://github.com/decebals/pf4j/pull/89
  157. [#85]: https://github.com/decebals/pf4j/issues/85
  158. [#84]: https://github.com/decebals/pf4j/issues/84
  159. [#83]: https://github.com/decebals/pf4j/issues/83
  160. [#78]: https://github.com/decebals/pf4j/issues/78
  161. [#70]: https://github.com/decebals/pf4j/issues/70
  162. [#66]: https://github.com/decebals/pf4j/issues/66
  163. [#63]: https://github.com/decebals/pf4j/issues/63
  164. [#60]: https://github.com/decebals/pf4j/issues/60
  165. [#55]: https://github.com/decebals/pf4j/pull/55
  166. [#44]: https://github.com/decebals/pf4j/pull/44
  167. [#42]: https://github.com/decebals/pf4j/pull/42
  168. [#41]: https://github.com/decebals/pf4j/pull/41
  169. [#40]: https://github.com/decebals/pf4j/pull/40
  170. [#39]: https://github.com/decebals/pf4j/pull/39
  171. [#33]: https://github.com/decebals/pf4j/pull/33
  172. [#21]: https://github.com/decebals/pf4j/issues/21