For the original releases 0.0.1 to 1.1.3 see CHANGELOG.seblucas or directly at https://github.com/seblucas/cops/blob/master/CHANGELOG
x.x.x - TODO
- Upgrade npm-asset/bootstrap 3.4.1 to 5.3.0
- Upgrade npm-asset/js-cookie 2.2.1 to 3.0.5
- Use kiwilan/php-opds to generate OPDS 2.0 catalog with opds.php (besides OPDS 1.2 with feed.php)
2.0.x - 2023xxxx To be continued (PHP >= 8.1)
1.5.x - 2023xxxx Maintenance release for 1.x (PHP >= 7.4)
- ...
2.0.1 - 20230910 Initial release for PHP >= 8.1 with new EPub update package
- More spacing tweaks on the bootstrap5 template - see pull request #35 from @dunxd
- Use maennchen/zipstream-php to update epub files on the fly (PHP 8.x)
1.5.4 - 20230910 Split off resources in preparation of 2.x
- Changes in config_default.php file:
- new $config['cops_assets']
- Use it.assets variable in doT templates to refer to 'vendor/npm-asset'
- Use asset() function in Twig templates to get versioned asset URLs
- Split off epub-loader, php-epub-meta and tbszip resources again
- Align resources folders to src and app in code
1.5.0 - 20230909 New baseline for next releases
- Support class inheritance for most COPS lib and resource classes in code
- Minor updates for templates - pass ignored categories #30 + set document title #31
- Add resources/epub-loader actions for books, series and wikidata
- Update bootstrap5 template - see pull request #29 from @dunxd - feedback still appreciated
- Add support for .m4b files in COPS - see issue #28 from @Chirishman
- Add twigged template using Twig template engine as alternative for doT
1.4.5 - 20230905 Make sort links optional in OPDS feeds for old e-readers
- Changes in config_default.php file:
- new $config['cops_opds_sort_links']
- new $config['cops_html_sort_links']
- Make sort links optional in HTML page detail and OPDS catalog - see #27
1.4.4 - 20230904 Revert OPDS feed changes for old e-readers
- Switch section to subsection in OPDS link rel for koreader and Kybook3 - see #26 and #27
- Add class label for #24 + authors & tags for #25 in JSON renderer
- Prepare move from clsTbsZip to ZipEdit when updating EPUB in code
1.4.3 - 20230831 Sort & Filter in OPDS Catalog + Add bootstrap v5 template
- Changes in config_default.php file:
- new $config['cops_thumbnail_default']
- new $config['cops_opds_filter_limit']
- new $config['cops_opds_filter_links']
- new $config['cops_html_filter_limit']
- new $config['cops_html_filter_links']
- drop $config['cops_show_filter_links']
- Add bootstrap5 template for modern devices - see pull request #22 from @dunxd - feedback appreciated
- Add optional Identifier pages in code
- Fix updating author & date in epub-loader
- Start WebDriver and BrowserKit test classes for functional testing
- Split off new Calibre\Cover class + move various thumbnail code there
- Add default thumbnail and link numbers for OPDS catalog if e-reader uses them
- Add first & last links + sorting & filtering options for OPDS catalog (if e-reader supports facets)
- Keep track of changes in ZipFile + fix setCoverInfo() in EPub in code
- Split off new Pages\PageId class + move PAGE_ID constants there in code
- Mark combined getsetters for EPub() as deprecated for 1.5.0 in php-epub-meta
- Add updated php-epub-meta methods and classes to version in resources - see https://github.com/epubli/epub
- Fix code base to work with phpstan level 6
1.4.2 - 20230814 Fix OPDS renderer + add sorting & filtering options to bootstrap2
- Changes in config_default.php file:
- new $config['calibre_categories_using_hierarchy']
- set $config['cops_template'] = 'bootstrap2' again
- new $config['cops_custom_integer_split_range']
- new $config['cops_custom_date_split_year']
- new $config['cops_titles_split_publication_year'] (if not $config['cops_titles_split_first_letter'])
- Add optional hierarchical tags and custom columns in bootstrap2 template
- Split off new Calibre\Category class + support hierarchical tags and custom columns in code
- Remove global $config everywhere and replace with Config::get() except in config.php
- Switch back to bootstrap2 as standard template in config_default.php
- Move endpoint dependency from LinkNavigation to JSON/OPDS renderer
- Update checkconfig.php to better reflect current requirements
- Downgrade level set to PHP 7.4 with rector to fix a few compatibility issues
- Rebase Calibre\Book and Calibre\CustomColumnType classes
- Split off new Calibre\BaseList class and move SQL statements
- Add sorting of non-book lists with URL param in code
- Add optional filter links in bootstrap2 template
- Add filtering of non-book lists in pages
- Add sort options for book lists in bootstrap2 template
- Add pagination for custom columns + split by range for Integer
- Add pagination for non-book lists if not already split
- Add option to split custom columns of type Date by year
- Fix OPDS renderer for HTML content - see pull request seblucas#488 from @cbckly
- Add other .title translations to i18n array for use in templates - see pull request #11 from @dunxd
- Add sorting of booklist entries with URL param in code
- Add option to split titles by publication year
- Add Librera reader to detected OPDS compatible readers - see pull request #10 from @dunxd
1.4.1 - 20230728 Clean-up before next release
- Changes in config_default.php file:
- new $config['cops_home_page'] for @dunxd
- new $config['cops_show_not_set_filter']
- Add parent url and customize link in templates
- Allow filtering non-book queries on other params in code ('a', 'l', 'p', 'r', 's', 't', 'c') = e.g. get Series for AuthorId
- Allow filtering booklist queries on other params in code ('a', 'l', 'p', 'r', 's', 't', 'c') = get books for a combination
- Expand OpenAPI document for REST API
- Fix cookie javascript code for server-side rendering
- Fix tag filter, multi-database navigation and feed link
- Split off new Calibre\Database, Calibre\BookList, Calibre\Filter, Input\Config and Output\Mail classes
1.4.0 - 20230721 Use namespaces in PHP lib, upgrade jquery npm asset + sausage package
- Split off new Input\Request, Language\Translation, Output\Format and Output\EPubReader classes
- Pass database and/or request param in static method calls to remove dependency on global $_GET
- Update OPDSValidator, jing and tests for OPDS 1.2 (last updated in 2018)
- Add namespace hierarchy, move page constants + make Calibre classes a bit more generic
- Switch from npm-asset/typeahead.js 0.11.0 to npm-asset/corejs-typeahead 1.3.3
- Upgrade sauce/sausage 0.18.0 to dev-php8x = PHP 8 compatible fork from https://github.com/IMrahulpai/sausage
- Upgrade npm-asset/jquery 1.12.4 to 3.7.0
- Use PHP namespace in lib: SebLucas\Cops
1.3.6 - 20230714 Add REST API, limit email address, clean up constants + fix book test
- Add REST API endpoint (basic)
- Limit sending to a single email address - see pull request #7 from @dunxd
- Clean up global base constants
- Fix kindle book text
1.3.5 - 20230712 Send EPUB, fix custom columns, support wildcard + add tests
- Changes in config_default.php file:
- set $config['cops_template'] = 'default' for issues with Kindle Paperwhite
- set $config['default_timezone'] = 'UTC'
- new wildcard option for $config['cops_calibre_custom_column'] = ["*"];
- new wildcard option for $config['cops_calibre_custom_column_list'] = ["*"];
- new wildcard option for $config['cops_calibre_custom_column_preview'] = ["*"];
- Replace offering to email MOBI with EPUB - see pull request #6 from @dunxd
- Use wildcard to get all custom columns : ["*"]
- Update tests for custom columns
- Fix multiple values of custom columns for csv text
- Fix display value of custom columns for series
- Revert octal number notation in tbszip for PHP 8.0
- Add tests for JSON renderer
- Add tests for book methods called by epub reader
1.3.4 - 20230609 Fix EPUB 3 TOC, replace other npm assets and use namespace in PHP resources
- Fix TOC for EPUB 3 files in resources/php-epub-meta for epubreader
- Switch from dimsemenov/magnific-popup 1.1.0 to npm-asset/magnific-popup 1.1.0 (last updated in 2016)
- Switch from twitter/typeahead.js 0.11.1 to npm-asset/typeahead.js 0.11.1 (last updated in 2015)
- Switch from twbs/bootstrap 3.4.1 to npm-asset/bootstrap 3.4.1
- Use PHP namespace in resources/dot-php: SebLucas\Template
- Use PHP namespace in resources/epub-loader: Marsender\EPubLoader
- Use PHP namespace in resources/php-epub-meta: SebLucas\EPubMeta
- Use PHP namespace in resources/tbszip: SebLucas\TbsZip
1.3.3 - 20230327 Update npm asset dependencies
- Fix link to typeahead.css for bootstrap2 templates
- Move simonpioli/sortelements dev-master to resources (last updated in 2012)
- Switch from bower-asset/dot 1.1.3 to npm-asset/dot 1.1.3
- Switch from bower-asset/jquery 1.12.4 to npm-asset/jquery 1.12.4
- Switch from bower-asset/jquery-cookie 1.4.1 to npm-asset/js-cookie 2.2.1
- Switch from bower-asset/normalize.css 7.0.0 to npm-asset/normalize.css 8.0.1
- Switch from rsms/js-lru dev-v2 to npm-asset/lru-fast 0.2.2
1.3.2 - 20230325 Improve tests and security
- Merge branch 'master' of https://github.com/peltos/cops - see @peltos
1.3.1 - 20230325 Update epub-loader resources
- Merge commit 'refs/pull/424/head' of https://github.com/seblucas/cops - see seblucas#424 from @marsender
1.3.0 - 20230324 Add bootstrap2 templates
- Merge branch 'master' of https://github.com/SenorSmartyPants/cops - see seblucas#497 and earlier from @SenorSmartyPants
1.2.3 - 20230324 Add fixes for PHP 8.2
1.2.2 - 20230324 Update fetch.php to lower memory consumption
- Merge commit 'refs/pull/518/head' of https://github.com/seblucas/cops - see seblucas#518 from @allandanton
1.2.1 - 20230321 Add phpstan baseline + fixes
1.2.0 - 20230319 Migration to PHP 8.x
1.1.3 - 20190624 to 0.0.1 - 20120302
Moved to CHANGELOG.seblucas