tkhamez / neucore-plugin
Necessary classes to write a Neucore plugin.
Installs: 2 676
Dependents: 1
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 1
Open Issues: 1
Requires
- php: ^8.1
- ext-json: *
- psr/http-client: ^1.0
- psr/http-message: ^1.1 || ^2.0
- psr/log: ^1.1 || ^2.0 || ^3.0
- symfony/yaml: ^6.0
Requires (Dev)
- phpunit/phpunit: ^10.5
README
neucore-plugin
Classes necessary to write a Neucore plugin.
Documentation can be found in the Neucore repository at https://github.com/tkhamez/neucore/blob/main/doc/Plugins.md.
For a list of plugins see https://github.com/tkhamez/neucore#plugins-and-related-software.
Dev Env
docker build --tag neucore-plugin . docker run -it --mount type=bind,source="$(pwd)",target=/app --workdir /app neucore-plugin /bin/sh
Changelog
4.1.0 - 2024-11-23
- PHP 8.4 compatibility.
4.0.0 - 2024-06-01
- Dropped PHP 8.0 support, minimum required version is now 8.1.0 (same as Neucore >=2.5.0).
3.0.0 - 2023-07-29
This version needs Neucore version 2.2.0 or higher.
- Raised minimum required PHP version to 8.0.2, from 8.0.0.
- Update symfony/yaml to version 6, from 5.
2.1.0 - 2023-03-18
- Added optional
groups
andmanagerGroups
parameter toNavigationItem
constructor. - Added
PluginConfiguration::$name
.
2.0.0 - 2023-02-18
Breaking changes:
- All properties of
Data\CoreAccount
can now be null except for the new$playerId
and$playerName
properties. - Removed
Data\CoreRole::$identifier
.
Other changes:
- Added
Data\CoreEsiToken
class - Added
Data\CoreMemberTracking
class - Added
Data\CoreMovedCharacter
class - Added
Data\CoreAccount::$playerId
- Added
Data\CoreAccount::$playerName
- Added
Data\CoreCharacter::$playerName
- Added
Core\AccountInterface
- Added
Core\DataInterface
- Added
Core\FactoryInterface::getAccount()
- Added
Core\FactoryInterface::getData()
- Menu entries are now also allowed in the "Services" menu.
1.0.0 - 2023-02-11
- Breaking: Added
GeneralInterface::command()
. - Added
PluginConfiguration::$active
. - Added
NavigationItem::$roles
.
0.11.0 - 2023-01-15
- Added
CoreAccount::$groupsDeactivated
. - Added
CoreAccount::getMemberGroups()
.
0.10.0 - 2023-01-06
This release adds (among others) a new "general" plugin type.
Breaking changes:
- Changed
ServiceInterface::__construct
signature. - Changed
ServiceInterface::request
signature. - Renamed
ServiceConfiguration
class toPluginConfiguration
and moved toNeucore\Plugin\Data
namespace. - Added
ServiceInterface::search
method. - Removed
ObjectProvider
(replaced by newFactoryInterface
object provided inServiceConfiguration::__construct
). - Moved
CoreCharacter
,CoreGroup
andServiceAccountData
toNeucore\Plugin\Data
namespace.
Other changes:
- Added plugin type "general".
- Added
GeneralInterface
for general (not service) plugins. - Added
FactoryInterface
. - Added
CoreAccount
andCoreRole
classes. - Removed "type" from plugin.yml (it's determined by the implemented interfaces).
0.9.2 - 2022-12-28
- Added plugin.yml.
0.9.1 - 2022-12-27
- Added
ObjectProvider::createHttpRequest
method.
0.9.0 - 2022-12-25
- Added
ServiceInterface::onConfigurationChange()
. - Added
ObjectProvider
class withgetHttpClient
andgetSymfonyYamlParser
methods. - Dropped PHP 7.4 support, minimum required version is now 8.0.
- Allow psr/log version 1.1, 2 or 3.
0.8.0 - 2022-06-19
- Raised minimum PHP version to 7.4.
- Added
ServiceInterface::moveServiceAccount()
.
0.7.1 - 2022-05-21
- If
ServiceAccountData::$name
cannot be json-encoded the class will return an error message instead.
0.7.0 - 2022-01-16
- Added
$groups
parameter toServiceInterface::request
0.6.0 - 2022-01-01
- Renamed
ServiceAccountData::displayName
toname
0.5.0 - 2021-09-17
- Added
$playerId
property toCoreCharacter
. - Added
STATUS_NONMEMBER
toServiceAccountData
. - Added
ServiceConfiguration
class. - Replaced
$configurationData
withServiceConfiguration
object inServiceInterface
constructor. - Removed
$groups
parameter fromServiceInterface::getAccounts()
- Added
$mainCharacter
parameter toServiceInterface::updateAccount()
. - Added
ServiceInterface::updatePlayerAccount()
. - Added
ServiceInterface::getAllPlayerAccounts()
. - Added
ServiceInterface::request()
.
0.4.0 - 2021-09-04
- Added
$displayName
toServiceAccountData
.
0.3.0 - 2021-09-03
- Added
$configurationData
argument to theServiceInterface
constructor.
0.2.0 - 2021-01-29
- Added
ServiceInterface::getAllAccounts
0.1.1 - 2021-01-08
- Require json extension in composer.json
0.1.0 - 2021-01-06
- Initial release