Skip to content

Releases: salient-labs/toolkit

v0.99.40

07 Aug 04:46
v0.99.40
ecccc6c

Choose a tag to compare

Added

Sli

  • Add getDateProperties() when generated sync entities have date properties

Changed

Console

  • Review order of Console::message() and Console::messageOnce() parameters for consistency

Removed

Core

  • Remove unused method ProviderContextAwareInterface::requireContext()

v0.99.39

07 Aug 04:46
v0.99.39
5ff0ea7

Choose a tag to compare

Added

Cache

  • Add and implement CacheStoreInterface::close()

Fixed

Http

  • Fix cache handling bugs in OAuth2Client

v0.99.38

06 Aug 12:43
v0.99.38
0f73abe

Choose a tag to compare

Fixed

Contract

  • Remove support for psr/simple-cache=^3 to fix incompatible return type bug

Sync

  • Update pipelineFrom() and pipelineTo() return types in AbstractSyncProvider

v0.99.37

06 Aug 10:23
v0.99.37
9e94137

Choose a tag to compare

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() and Arr::with() for consistency
  • Require at least two arguments in Arr::same() and Arr::sameValues()
  • Trim whitespace by default in Arr::implode()
  • Rename File methods:
    • sanitiseDir() -> getCleanDir()
    • closestExisting() -> closestPath()
    • relativeToParent() -> getRelativePath()

Removed

Utility

  • Remove File::getStablePath()
  • Remove File::isPharUri()

Fixed

  • Fix subtree split package dependency issues

v0.99.36

02 Aug 06:38
v0.99.36
d3d4a69

Choose a tag to compare

Fixed

Console

  • Fix issue where progress spinner does not change state

v0.99.35

02 Aug 04:27
v0.99.35
177f71a

Choose a tag to compare

Added

Contract

  • Add and implement/adopt:
    • BuilderInterface
    • MethodNotImplementedException and other exception interfaces
    • SyncErrorInterface
    • SyncErrorCollectionInterface
    • DeferredEntityInterface
    • DeferredRelationshipInterface
  • Add Chainable::withEach() and implement in HasChainableMethods

Http

  • Add Http::isRequestMethod()

Utility

  • Add Reflect methods:
    • getConstants()
    • getConstantsByValue()
    • hasConstantWithValue()
    • getConstantName()

Changed

Container

  • Move ServiceLifetime to Contract
  • Rename Container exceptions

Contract

  • Convert dictionaries and enumerations to interfaces

Removed

Contract

  • Remove HttpRequestMethodGroup

Fixed

Console

  • Fix Console::logProgress() spinner state bug

v0.99.34

02 Aug 06:25
v0.99.34
8134752

Choose a tag to compare

Changed

  • Move sli command to salient/sli package
  • Provide psr/http-client-implementation

Fixed

  • Fix reference to invalid package salient/utility from salient/container

v0.99.33

29 Jul 03:19
v0.99.33
ad56ce2

Choose a tag to compare

Added

Cli

  • Add CliHelpStyleInterface

Console

  • Add ConsoleFormatterInterface
  • Add ConsoleMessageFormatInterface
  • Add ConsoleMessageAttributesInterface
  • Add ConsoleTagAttributesInterface

Changed

Console

  • Rename ConsoleFormatter::formatTags() -> format()
  • Move ConsoleFormatInterface to Contract

v0.99.32

20 Jul 05:08
v0.99.32
e8f3ee7

Choose a tag to compare

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 $skipBuiltins parameter
  • Rename Reflect::getAllTypes() -> getTypes()
  • Rename Reflect::getAllTypeNames() -> getTypeNames()
  • Move PHPDoc-related methods from Reflect to PHPDocUtility

Removed

Utility

  • Remove Arr::isListOf*() methods
  • Remove Reflect::isMethodInClass() from public API
  • Remove Regex::BEFORE_UNESCAPED
  • Remove Sys::getMemoryUsage(), Sys::getPeakMemoryUsage()

v0.99.31

05 Jul 10:12
v0.99.31
0ae8b59

Choose a tag to compare

Added

Cli

  • Add {{subcommand}} to help message substitutions

Console

  • Add getEol() to ConsoleTargetStreamInterface

Iterator

  • Add IterableIterator::fromValues() to iterate over values while discarding keys

Sync

  • Add SyncPipelineArgument and use it to unify pipeline signatures
  • In GetSyncEntities command:
    • Add --field option
    • Allow entity and provider to be given as fully-qualified names when no providers that service entities are registered

Utility

  • Add Arr::pluck()
  • Add $index parameter to File::writeCsv() callback
  • Add optional $eol parameter to Json::prettyPrint()

Changed

Cli

  • Rename nameParts() -> getNameParts() for consistency
  • Widen getOptionList() return type to iterable

Container

  • Remove template from HasContainer interface

Core

  • Rename Nameable -> HasName, name() -> getName()
  • Rename Describable -> HasDescription, description() -> getDescription()
  • Rename Identifiable -> HasId, id() -> getId()
  • Rename dateFormatter() -> getDateFormatter()
  • Move Pipeline interfaces to Core namespace
  • 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() with filterCurler()
    • Replace buildHttpDefinition() with getHttpDefinition() and builderFor()
    • Remove nullability from most $path parameters
    • Don't override createDateFormatter()
  • Replace DbSyncProvider::buildDbDefinition() with getDbDefinition() and builderFor()
  • In definition interfaces and classes:
    • Rename getSyncOperationClosure() -> getOperationClosure()
    • Rename withReadFromReadList() -> withReadFromList()
    • Refactor HttpSyncDefinition for clarity and to improve type safety
    • Throw an exception instead of returning null from getFallbackClosure() when the given operation is not supported
  • 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_OF options may not include option name

Sync

  • Fix issue where some HttpSyncDefinition changes applied via callback are ignored

Security

Utility

  • Change default value of Get::filter() parameter $discardInvalid so invalid key-value pairs trigger an exception by default