Releases: salient-labs/toolkit
Releases · salient-labs/toolkit
v0.99.40
Added
Sli
- Add
getDateProperties()when generated sync entities have date properties
Changed
Console
- Review order of
Console::message()andConsole::messageOnce()parameters for consistency
Removed
Core
- Remove unused method
ProviderContextAwareInterface::requireContext()
v0.99.39
v0.99.38
v0.99.37
Added
Utility
- Add
Arr::toStrings() - Add
File::mkdir() - Add
File::touch() - Add
Sys::getTempDir()
Changed
Utility
- Rearrange parameters of
Arr::get(),Arr::has(),Arr::keyOf()andArr::with()for consistency - Require at least two arguments in
Arr::same()andArr::sameValues() - Trim whitespace by default in
Arr::implode() - Rename
Filemethods:sanitiseDir()->getCleanDir()closestExisting()->closestPath()relativeToParent()->getRelativePath()
Removed
Utility
- Remove
File::getStablePath() - Remove
File::isPharUri()
Fixed
- Fix subtree split package dependency issues
v0.99.36
v0.99.35
Added
Contract
- Add and implement/adopt:
BuilderInterfaceMethodNotImplementedExceptionand other exception interfacesSyncErrorInterfaceSyncErrorCollectionInterfaceDeferredEntityInterfaceDeferredRelationshipInterface
- Add
Chainable::withEach()and implement inHasChainableMethods
Http
- Add
Http::isRequestMethod()
Utility
- Add
Reflectmethods:getConstants()getConstantsByValue()hasConstantWithValue()getConstantName()
Changed
Container
- Move
ServiceLifetimetoContract - Rename
Containerexceptions
Contract
- Convert dictionaries and enumerations to interfaces
Removed
Contract
- Remove
HttpRequestMethodGroup
Fixed
Console
- Fix
Console::logProgress()spinner state bug
v0.99.34
v0.99.33
Added
Cli
- Add
CliHelpStyleInterface
Console
- Add
ConsoleFormatterInterface - Add
ConsoleMessageFormatInterface - Add
ConsoleMessageAttributesInterface - Add
ConsoleTagAttributesInterface
Changed
Console
- Rename
ConsoleFormatter::formatTags()->format() - Move
ConsoleFormatInterfacetoContract
v0.99.32
Changed
Utility
- Rename
Arr::keyOffset()->offsetOfKey()for consistency - Rename
Arr::listWrap()->wrapList()for consistency - Rename
Inflect::formatWithSingularZero()->formatWithZeroAsOne() - Rename
Reflect::getCallableParamClassNames()->getAcceptedTypes()and add optional$skipBuiltinsparameter - Rename
Reflect::getAllTypes()->getTypes() - Rename
Reflect::getAllTypeNames()->getTypeNames() - Move PHPDoc-related methods from
ReflecttoPHPDocUtility
Removed
Utility
- Remove
Arr::isListOf*()methods - Remove
Reflect::isMethodInClass()from public API - Remove
Regex::BEFORE_UNESCAPED - Remove
Sys::getMemoryUsage(),Sys::getPeakMemoryUsage()
v0.99.31
Added
Cli
- Add
{{subcommand}}to help message substitutions
Console
- Add
getEol()toConsoleTargetStreamInterface
Iterator
- Add
IterableIterator::fromValues()to iterate over values while discarding keys
Sync
- Add
SyncPipelineArgumentand use it to unify pipeline signatures - In
GetSyncEntitiescommand:- Add
--fieldoption - Allow entity and provider to be given as fully-qualified names when no providers that service entities are registered
- Add
Utility
- Add
Arr::pluck() - Add
$indexparameter toFile::writeCsv()callback - Add optional
$eolparameter toJson::prettyPrint()
Changed
Cli
- Rename
nameParts()->getNameParts()for consistency - Widen
getOptionList()return type toiterable
Container
- Remove template from
HasContainerinterface
Core
- Rename
Nameable->HasName,name()->getName() - Rename
Describable->HasDescription,description()->getDescription() - Rename
Identifiable->HasId,id()->getId() - Rename
dateFormatter()->getDateFormatter() - Move
Pipelineinterfaces toCorenamespace - Only allow pipeline method
through()to add one pipe at a time
Sync
- Rename methods for consistency:
AbstractProvider::getDateFormatter()->createDateFormatter()SyncProviderInterface::store()->getStore()SyncStoreEventInterface::store()->getStore()SyncEntityInterface::canonicalId()->getCanonicalId()SyncEntityInterface::uri()->getUri()DeferredEntity::uri()->getUri()
- In
HttpSyncProvider:- Replace
buildCurler()withfilterCurler() - Replace
buildHttpDefinition()withgetHttpDefinition()andbuilderFor() - Remove nullability from most
$pathparameters - Don't override
createDateFormatter()
- Replace
- Replace
DbSyncProvider::buildDbDefinition()withgetDbDefinition()andbuilderFor() - In definition interfaces and classes:
- Rename
getSyncOperationClosure()->getOperationClosure() - Rename
withReadFromReadList()->withReadFromList() - Refactor
HttpSyncDefinitionfor clarity and to improve type safety - Throw an exception instead of returning
nullfromgetFallbackClosure()when the given operation is not supported
- Rename
- Move event interfaces to their own namespace
Removed
Sync
- Remove
bindOverride()from definition classes - Remove
SyncProviderInterface::setProviderId() - Remove
SyncOperationGroup
Fixed
Cli
- Fix issue where help for positional
ONE_OFoptions may not include option name
Sync
- Fix issue where some
HttpSyncDefinitionchanges applied via callback are ignored
Security
Utility
- Change default value of
Get::filter()parameter$discardInvalidso invalid key-value pairs trigger an exception by default