- Update dependencies
- Add PHP ">=8.1" support
- Remove PHP 7.3 support
- Fix compatiility import logger with monolog/monolog
- Fix validation empty website
- None
- None
- Add #PAC-354 new feature:
- Validation whether the product of the website is assigned to the current store view line
TechDivision\Import\Callbacks\StoreWebsiteValidatorCallback
- Validation whether the product of the website is assigned to the current store view line
- The
--cache-enabled
option has been set globally tofalse
.
- Fix swiftmailer security bug
- Update
swiftmailer/swiftmailer
with version^6.0.0
- Update
- Make composer dependencies compatible with Magento 2.4.7
- Update
psr/log
with version~2.0 ~3.0
- Update
- Add cache for image types to avoid unnecessary database queries #242
- Fix type error in getOriginalData Function
- Preparation of a customer path for Magento backend storage of the configuration in
var/pacemaker/import/configuration
- Make composer dependencies compatible with Magento 2.4.6
- Update
psr/cache
with version~2.0 ~3.0
- Update
- METSUP-40: fix URL-Suffix in initial-import
- Possibly clean an old cache entry with the correct ID at Multi Store Setup.
- Better error message validation error with empty attribute values
- Debug info for configuration files
- Start fix php8.2 deprecated warnings
- Fix issue where not required attributes would not be skipped with PHP74 because of type missmatch with same value
- Implemented in 17.4.2
- none
- Fix records with attribute value 'No' or '0' are not created
- none
- Fix table metadata loader from tables with table prefix
*none
- none
- Introduct new argument --configuration-dir for magento app/etc directory
- this is especially useful when running import during Magento integration tests
- none
- Extend multi/select with strict mode
- Fix Error for long character with UTF-8
- None
- Fix TypeError: in_array argument #2 must be a array null given
- None
- Prepend DB exception on attribute value update if value saved in
_varchar
table and has more then 255 characters
- add new config for ignored attribute on update defined in configuration.json
- Example:
- Ignore attribute code
msrp_display_actual_price_type
from catalog_product entity on update value - Ignore ALL attribute codes from catalog_category entity on update value
- Ignore attribute code
- Example:
"ignore-attribute-value-on-update": {
"catalog_product": [
"msrp_display_actual_price_type"
],
"catalog_category": []
}
- Update Changelog
- none
- Fix clear empty value per row
- none
- Fix import duplicate data for global eav_attribute
- none
- Fix warning on validations.json output when
--clear-artefacts=true
(default behavior) is used
- none
- Define default configuration for CSV reader with Unicode
null
value forescaper
to avoid crash on json_encoded data in CSV Columns
- Configurable default parameters "delimiter", "enclosure" and "escape" for the CSV reader
- define in configuration.json
"delimiter": ",",
"enclosure": "\"",
"escape": "\u0000"
- 'escape' is set to
null
by default to be backwward compatible with PHP 7.3
- Fix #PAC-684: set \Exception() parameter Compatible with php8.1
- none
- Fix cleanup empty column for generic data rows
- none
- Extend mergeEntity for better state dedection
- Extend the clearRow function for generic row arrays
- none
- Add #PAC-353 new feature to get magento configuration from api in Pacemaker Enterprise
- Add #PAC-215 option
config-output
as default false to report all configuration json files in logs- The command:
bin/import-simple import:debug --config-output=true
- The command:
- Fix PHP8.1 crash on null parameter instead array
- none
- Missing "copy" function in FilesystemTrait
- none
- None
- Handle black-list.json for dynamic repository statements
- Fixed techdivision/import-category#69
- Fixed techdivision/import-category#66
- Fixed techdivision/import-category#62
- Fixed #PAC-264: PDOException: SQLSTATE[23000] : Integrity constraint violation: 1062 Duplicate entry xxx.html-0 for key 'URL_REWRITE_REQUEST_PATH_STORE_ID
- Fixed #PAC-265: Also use url_path when generate unique url_key for categories
- Fixed #PAC-212: .OK file filter only supports suffix .csv
- Fixed #PAC-206: Prevent finder mappings of different libraries to be overwritten
- Fixed #PAC-317: Remove UTF-8 BOM from windows generated csv file
- Fixes #PAC-244: bug with crash in date conversion with standard date format
- Fixes bug to add more listener when event name has already some listener
- Fix php 7.4 notice
- Fixes #PAC-348: Prevent processing global attributes in all stores Make Actions and ActionInterfaces deprecated, replace DI configuration with GenericAction + GenericIdentifierAction
- Prepare generic workflow and defined deprecated interface PrimaryKeyUtilInterface
- PAC-362: Call to a member function getSystemLogger() on null
- Clear properties after success unlock
- Remove League\Flysystem and
- LeagueFilesystemAdapter
- LeagueFilesystemAdapterFactory
- EavAttributeOptionValueLoader::load use SubjectInterface instead ParamsConfigurationInterface for EntityTypeCode mapping
- Fix counter from 'skippedRow'
- Update composer with php Version >=^7.3
- Fix import with UTF-8 BOM and quoted headlines
- Refactoring deprecated classes. see https://github.com/techdivision/import-cli-simple/blob/master/UPGRADE-4.0.0.md
- Add #191
- Add second log handler to log to console also
- Extend URL rewrite handling with functionality to delete URL rewrites by entity ID and type
- Adjust log messages to log only message with log level
notice
to console - Add #PAC-326: Cross-entity import of URLs (rewrites + redirects)
- Add #PAC-89: Add debug email command + DebugSendPlugin
- Add #PAC-57: Deleting dedicated attribute values via import by setting a configurable value
- Add #PAC-96: Define new constands for FileUploadConfiguration
- Note attributes entity type for customer attribute
- Change fix table name for prefix replace
- Add #PAC-324: Add validator callback to check empty array index values
- Add #PAC-486: Add
--log-file
commandline parameter - functionality for renaming files
ObserverInterface
needsetSubject
function- Add PAC-299: create validation callback for sku relations for grouped, configurables and bundles
- Extension of the isStrictMode function
- Integration of the StrictMode subcondition of DebugMode
- New Returncodes for Missing File (4) and warnings on Strict Mode = false (13)
- Extended
ArrayValidatorCallback
with an additional parameterignoreStrictMode
whose default value is trueCommaDelimiterSkuRelationsValidatorCallback
=>ignoreStrictMode
is falseMultipleValuesValidatorCallback
=>ignoreStrictMode
forlink
is falsestore
is true (default)MultiselectValidatorCallback
=>ignoreStrictMode
is true (default)RegexValidatorCallback
=>ignoreStrictMode
is true (default)SelectValidatorCallback
=>ignoreStrictMode
is true (default)
- Fixed typo in swift transport sendmail declaration
- Fixed issue in initialization of StreamHandlerFactory
- None
- None
- Fixed #PAC-153: Valdiation of columns for attributes of frontend input type
select
andmultiselect
fails
- None
- Fixed #PAC-141:
clean-up-empty-columns
only works for attributes in columnadditional_attributes
that are available in the first row
- None
- Add #PAC-102: Dedicated CLI command to import videos (professional + enterpries edition)
- Fixed #186
- None
- Fixed #183
- None
- None
- Add PHP unit test for unserializing categories with slashs and quotes inside names
- Add #PAC-47: Reverse engineer AbstractObserver::mergeEntity() method
- Add #PAC-47: Add entity merger implementation to allow fine grained entity merging
- Fixed #PAC-47: Exclude primary key fields from column list in column name loader only, if they are auto increment
- Add #PAC-96
- None
- Add #PAC-47
- Fixed techdivision/import-cli-simple#246 by reverting PR #165
- None
- Fixed dependency to techdivision/import-configuration to version 4.*
- None
- Fixed #PAC-101
- Add techdivision/import-cli-simple#243
- Add #PAC-34
- Add #PAC-52
- Add #PAC-85
- Add #175
- Add techdivision/import-cli-simple#244
- Add entity type code CATALOG_PRODUCT_URL to EntityTypeCodes list
- Add missing mapping EntityTypeCodes::CATALOG_PRODUCT_URL => EntityTypeCodes::CATALOG_PRODUCT to AbstractSubject
- Extract the import.configuration.manager DI configuration to techdivision/import-cli to make it overwritable
- None
- Add compiler implementations for dynamic column handling
- Remove unnecessary and slow reference clean-up when removing an item from cache
- None
- Remove extract dev autoloading
- None
- None
- Extract dev autoloading
- Add command to import URL rewrites as well as necessary class constants
- None
- Remove not referenced legacy code
- Optimize additional attribute destruction to avoid unnecessary warnings
- None
- Clear cache references also, when an cache item has been removed
- None
- Remove unnecessary composer dependency to cache/* libraries
- Fixed incompatibility with several PHP versions
- None
- None
- Add NULL log handler for testing purposes
- Add missing event triggers to AbstractSubject
- Fixed techdivision/import-cli-simple#233
- Fixed techdivision/import-cli-simple#234
- Remove deprecated classes and methods
- Add #146
- Add #162
- Add #163
- Add techdivision/import-cli-simple#216
- Add techdivision/import-configuration-jms#25
- Add new events that will be triggered before and after the header has been initialized
- Add functionality to render recommendations for performce relevant MySQL configurations
- Fixed PHPUnit tests
- None
- Fixed invalid CacheAdapterTrait::raiseCounter() method that overrides import status
- None
- Bugfixing invalid delimiter parameter usage for ValueCsvSerializer::serialize() and ValueCsvSerializer::unserialize() methods
- None
- Bugfix for attribute import with empty option labels
- None
- Invoke flushCache() instead of invlidateTags() method when finally cleaning cache
- None
- Fix for invalid type casting e.g. for special_price
- None
- None
- Extend additional attribute serializer functionality
- Make SQL for loading EAV attribute option values case sensitive
- Extend observer and callback instanciation with the possibility to use a factory
- Fixed issue when formatting float/decimals on a localized system
- None
- Fixed issue when formatting decimals greater than 999
- Add Magento Edition + Version output to RenderAnsiArtListener implementation
- Extend NumberConverterInterface + DateConverterInterface as well as implementations
- None
- Make ZIP archive created by Archive flat (remove directory structure)
- Add missing command mapping for attribute set import
- None
- Remove unnecessary dependency to ramsey/uuid
- None
- Fixed issue with ignored --cache-enabled option when not cache configuration is available
- None
- Fixed issue in cache warmer functionality
- None
- Fixed issue in LocalCacheAdapter::invalidateTags() method that leads to inconsistent cache data
- None
- Add missing method MissingOptionValuesPlugin::isDebugMode()
- None
- Fixed issue with invalid return value of LocalCacheAdapter::isCached($key) method
- Fixed issue when renaming images with the same filename withing one import process
- Optimize SQL to load image types in the optimal order for further processing
- Impovements to significantly lower the memory footprint in production mode
- None
- Add LocalCacheAdapter implementation for maximum performance and declare it as the default one
- Fixed issue in SimpleFileResolver that causes an exception when old CSV files without a .ok file are available in the source directory
- Refactor cache integration to optimize in multiprocess and -threaed environments
- Fixed invalid cache initialization on missing default configuration
- None
- None
- Switch to http://www.php-cache.com as PSR-6 compliant cache implementation
- None
- Refactor Cache Integration for PSR-6 compliance
- Add additional events on plugin and subject level
- Fixed issue in CommandNames::isCommandName() method
- Add customer group repository functionality
- Add utility class with Magento edition names
- Add utility class to handle CE/EE primary key functionality
- Add commands for importing MSI inventory + product tier prices
- Fixed some PSR-2 errors
- None
- None
- Refactoring tasks to make implementation more generic
- Fix File permission for create folder
- None
- Add methods to load attribute option values by entity type ID to replace methods without entity type ID
- None
- None
- Add constants for customer + customer address import commands
- Refactoring AbstractAttributeTrait to support customer import functionality
- None
- Add Converter for numbers and date
- Move CSV configuration from subject to import/export adapter configuration
- Add Serializer implementation to serialize/unserialize values from import files
- Add FileResolver implementation to make configuration of import file + OK file handling more generic
- None
- Tap doctrine/dbal to version 2.5.x
- Add missing artefact initialization in ExportableTrait::newArtefact() method
- Fixed invalid .inProgress file deletion in AbstractSubject::import() method
- None
- Fixed issue that creates column original_data also if no original data is available
- Add configuration option create-imported-file to subject configuration
- Add getter SubjectConfigurationInterface::isCreatingImportedFile() method
- Add functionality to NOT create .imported flagfile based on configuration value to enable multiple subjects processing the same CSV file
- None
- Move PHPUnit test from tests to tests/unit folder for integration test compatibility reasons
- None
- Add missing interface for UrlRewriteAction
- None
- Add missing interfaces for actions, repositories and emitter factory
- Replace class type hints for ImportProcessor with interfaces
- None
- Add --single-transaction parameter to configuration
- Add additional event names
- None
- Add configurable events to AbstractSubject to allow simple extend of artefact and row handling
- None
- Refactored DI + switch to new SqlStatementRepositories instead of SqlStatements
- None
- Refactor cache warmer functionality for optimized memory management
- None
- Add row counter the logs the number of processed rows per minute
- Update category path handling in order to use store view specific slugs
- None
- None
- Update processed file status in AbstractSubject
- None
- Make image types dynamic and extensible
- None
- Add file status to registry when invoking AbstractSubject::tearDown() method
- Set serial and filename in MoveFilesSubject::import() method
- None
- Add interfaces for observer and callback visitor implementations
- None
- Add new method EavAttributeRepository::findOneByEntityTypeIdAndAttributeCode() for loading attributes in integration tests
- None
- Add override parameter to method ExportableTrait::addArtefact() method
- Format exception message when the executionn of INSERT/UPDATE/DELETE statements fails
- None
- Wrap \PDOExceptions in AbstractBaseProcessor for more detailed database releated exceptions
- Columns with empty values, related to the inventory, doesn't overwrite already existing values
- None
- Fixed invalid interruption of observer chain when skipping row
- None
- None
- Add configuration key for clean-up URL rewrites
- None
- Refactor file upload functionality
- None
- Add functionality to delete entity attributes with empty values in column names
- None
- Optimize log output
- Add CacheWarmerPlugin
- Add interfaces for all repositories
- None
- Refactor artefact handling
- None
- Add functionality to persist stores, store groups and store websites (for usage with integration tests)
- Use admin store view as default when no store view code has been set in CSV row
- None
- None
- Refactoring for better URL rewrite + attribute handling
- None
- Refactored find() methods in UrlRewriteRepository
- Refactored SQL statements for URL rewrite handling in class SqlStatements
- Fixed issue, that RowTrait::hasValue() + RowTrait::getValue() methods doesn't returen 0 values
- Add AbstractBaseProcessor::hasPreparedStatement() method to query for statement that has already been prepared
- None
- Extends configuration with custom header mappings + image types
- None
- Extends subject configuration with custom header mappings + image types
- Initialize header mappings in AbstractSubject with values from subject configuration
- Add constants in CommandName and EntityTypeCode classes for product price + inventory import
- Fixed critical issue because of not mapped column names when try to load a column's value
- None
- None
- Add listContents() method to filesystem adapters
- None
- Refactoring for optimized filesystem handling
- None
- Add PHPUnit tests for SubjectPlugin
- None
- Replace array with system loggers with a collection
- None
- Make RowTrait::getValue() method public
- None
- Add PHPUnit tests for subjects, observers + plugins
- Add EntitySubjectInterface for entity related subjects
- Fix issue which caused ID sorted category paths
- None
- Don't throw exception when no user defined EAV attributes for a given entity type code are available
- None
- None
- Refactor to optimize DI integration
- Add missing psr/container library
- None
- Fix issue which caused multiple attribute option values for same option_id and store_id
- None
- None
- Add mapping for command import:create:configuration-file to entity type
- None
- Add command name to create a new configuration file
- None
- Add CSV import + export adapter
- Add plugin + subject factory
- Use str_getcsv for explode in AbstractSubject
- None
- None
- Add ConfigurationFactoryInterface for all configuration factories
- Add utility class CommandNames that contains all available commands
- Add utility class DependencyInjectionKeys containing basic DI keys
- Add utility class CommandNameToEntityTypeCode for mappings from command name to entity type code
- None
- Use Robo for Travis-CI build process
- Add SqlStatementsInterface + ConnectionInterface to optimize DI
- Add and integrate SqlStatements class + PDOConnectionWrapper class
- None
- Refactor ArchivePlugin to also support specify an absolut path for the archive directory
- None
- Add type hints to constructor of CategoryAssembler
- None
- Refactoring Symfony DI integration
- Replace method to load attribute option values
- None
- Fixed issue when additional attributes contain a comma (,)
- Fixed issue when store view option values are missing
- None
- None
- Optimize exception creation in AbstractEavSubject
- None
- Add countDatabases() method to ConfigurationInterface
- Remove getDefaultLibraries() method from ApplicationInterface
- None
- Add repository to load EAV entity attribute data
- Load EAV entity attribute data on system start up
- Add getArtefactsByTypeAndEntityId() method to ExportableTrait
- None
- Add getSystemName() method to ConfigurationInterface
- None
- SubjectConfigurationInterface, SubjectConfigurationInterface + SwiftMailerConfigurationInterface now extend ParamsConfigurationInterface
- None
- Add getMultipleValueDelimiter() + getMultipleFieldDelimiter() method to SubjectConfigurationInterface
- None
- Move getRowStoreId() method from AbstractEavSubject to AbstractSubjectMethod
- Move getRowStoreId() method from AbstractObserverTrait to AbstractObserver
- None
- Add getMultipleValueDelimiter() method to ConfigurationInterface/AbstractSubject/AbstractObserver
- Fixed typo on BackendTypeKeys
- None
- Fixed typo on BackendTypeKeys
- None
- None
- Add EAV attribute entity type
- Add utility class with available backend types
- Refactor exception wrapper to also wrap unexpected exceptions
- None
- Remove unncessary use statement
- None
- Integrate Symfony DI functionality
- Fixed invalid OK file handling
- Moved generic exceptions from techdivision/import-cli-simple to this library
- None
- Remove FilesytemTrait use statement from FileUploadTrait to avoid PHP 5.6 PHPUnit error
- None
- None
- Make select, multiselect + boolean callbacks abstract
- Refactoring for DI integration
- Fixed initialization issues for ImportProcessor and CoreConfigDataRepository
- None
- None
- Add constructor injection to ImportProcessor and Repository instances
- None
- Add new SendmailTransportMailerFactory for usage with SwiftMailer
- None
- Add functionality to use SwiftMailer for logging and mail sending purposes
- Add plugin to create a CSV file with missing attribute option values
- None
- Extend method getSystemLogger() with parameter name to load a specific logger
- None
- Add interfaces for logger configuration
- Fixed access to not existent status key in SubjectPlugin class
- Add getRegistryProcessor() method to AbstractObserver class
- None
- Add stop() and isStopped() methods to ApplicationInterface
- Stop processing when no CSV files that have to be imported are found
- None
- Move UrlRewriteRepository to this library
- None
- Added configuration key file specific to the file upload
- None
- Add functionality to load values from Magento 2 core_config_data table
- Fixed invalid return of entity_id instead of url_rewrite_id in UrlRewriteUpdateProcessor
- None
- None
- Add URL path to pre-loaded categories
- None
- Switch log level to debug instead of warning, when a column can not be mapped to a attribute directly
- None
- Move transaction handling from SubjectPlugin::process() to Simple::process() method
- None
- Refactor filesystem/file upload functionality
- Refactor EAV attribute handling
- Move EE utilities to techdivision/import-ee library
- Extract attribute import functionality from AbstractAttrbiuteObserver to AttributeObserverTrait
- None
- Add UrlKeyFilterTrait that provides string to URL key convertion functionality
- None
- Move generic UrlRewrite actions/processor to this library
- None
- Refactoring for optimisation for category import functionality
- None
- Add PHPUnit test für SubjectPlugin class
- None
- Refactoring for new plugin functionality
- None
- Add new configuration options for PID filename + if an OK file is needed
- None
- Add missing methods addDatabase() and clearDatabases() to ConfigurationInterface
- Replace parameter ID from getDatabase() method with value from getUseDbId() method in ConfigurationInterface
- None
- Extend configuration to implement multiple database handling
- None
- Move BunchKeys from CLI package to this package
- Add SubjectInterface::needsOkFile() method to make sure, that subjects check if an OK file is needed or not
- None
- Add method EavAttributeRepository::findAllByIsUserDefined() to load the user defined attributes
- Move CallbackVisitor and ObserverVisitor to this package and initialize observers/callbacks in AbstractSubject
- None
- Apply header mappings only once per bunch, when headers are initialized
- Add attribute code as key to array with EAV attributes
- None
- Separating artefact export functionality into an interface/trait
- None
- Documentation tasks for class EntityStatus
- None
- Add basic functionality to skip rows, e. g. if product has already been imported
- None
- Re-throw execption instead of wrapping them
- None
- Add debug-mode and log-level configuration options
- Add debug log message with actual line nr/file name information
- None
- Add line number to exception message for better debugging possibilities
- None
- Add prefix check for MoveFilesSubject to avoid moving not matching files
- None
- Fixed invalid usage of
continue
in AbstractSubject::import() method
- None
- None
- Move flag-file handling from techdivision/import-cli-simple to AbstractSubject::import() method
- Add MoveFilesSubject to move files from source-dir to target-dir before importing them
- None
- Moving source/target-dir, as well as other configuration options from subject to global configuration
- None
- Execute tearDown() method when AbstractSubject::import() method fails
- None
- Extend functionality to handle file headers
- None
- Add functionality to load product link attributes and add them to the global status
- None
- Add prepareRow() method to AbstractBaseProcessor
- Add functionality to load Magento 2 configuration data
- Add persist() method to ActionInterface + AbstractAction
- None
- Delete not implemented batch processor functionality
- Add AbstractUpdateProcessor to support update functionality
- Rename PersistProcessor and RemoveProcessor => CreateProcessor and DeleteProcessor
- Rename AbstractAction and ActionInterface persist() and remove() methods => create() and delete()
- Fixed some Scrutinizer CI mess detector bugs
- None
- Fixed some PHP 7 warnings/notices
- Add functionality to load default store on subject start-up
- None
- Extend configuration interfaces to handle new operation functionality
- None
- Refactoring to allow multiple prepared statements per CRUD processor instance
- Load root categories on start-up
- None
- Refactoring + Documentation to prepare for Github release