v4.5.7 % Moved all ViewEngine common vars (parent view, sections, stacks, uqids) to new ViewHelper class. + Implemented ViewEngine directives: @pushOnce, @unshiftOnce % ViewEngine stacks and sections are now passed along to includes. + Implemented ViewEngine components: input.component, select.component, wordlist.component. Also Calcoric.Component.js and Calcoric.Component.WordList.js. v4.5.3 + Added Azure Pipelines YAML script. % TestCommand now returns correct CommandExitCode when tests have failed. % Admin modals now scroll to bottom when there are validation errors. % Admin tables now have a container to prevent viewport blowout. v4.4.9 % Fixed bug where app dialog was too large for screen. % Fixed bug where auto-sync broke user experience while user is interacting. + Added support for streams: Stream, StreamException, OutputStream & InputStream which are now used in Kernel, CLI & commands. % Migrator now has support for callbacks which are executed per migration. + Implemented '--fresh' & '--clear' for MigrateCommand. % TestSuite now has support for callbacks which are executed per test. v4.4.3 + Implemented DI service "LocaleProvider" and LocaleMiddleware. + Implemented WebpageModule with WebpageModel, WebpageTranslationModel, API endpoints and Admin screen. + Added optional callbacks to Collection.first() and Collection.last(). % Improved JSONObject with sorting / append / set / has / add. + Implemented Path->replace(...). + Implemented Query->groupBy(...). + Added support for chunking and count in EagerActiveRecordQuery. + Implemented Request->getQueryParam(...). + Added support for route patterns '{...?}' and '/?'. % Improved Calcoric.Admin.Table, Calcoric.Admin.Form and implemented Calcoric.Admin.Modal which all extend Calcoric.Element. + Implemented DBTester for unit and integration tests. v4.3.2 % Created global 'web' Route Group. + Implemented Collection->keys(), Collection->values() and Collection->resetKeys(). % Node->removeNode(...) now resets keys after node removal. + Implemented Node::fromArray(...). + Implemented Path->hasParts() and Path->sub(...). + Added TestCommand '--trace' argument that shows exception traces where applicable. % Changed CompareCondition::NOT to CompareCondition::NEQ. + Implemented ActiveRecord->fieldNamesWithPrefix(...). + Added support for Query->join(...) and Query::autoBackTicks(...). % Improved ActiveRecordQuery ->one(), ->first(), ->last() and ->count() methods by using a cloned version of the query. + Added support for ActiveRecord eager loading in ActiveRecord::with(...). % Fixed Cookie->expiresAfter(...) by forcing UTC timezones. + Added support for CSRF prevention with CSRFMiddleware and ViewEngine @csrf. % Improved DataFilters with DataFilterHeaders, DataFilterMiddleware. % Improved ValidationExceptionMiddleware. % Admin tables now have their own layout and support filtering / sorting with API DataFilter. % Improved admin menu CSS. + Added DI services explorer in Admin info screen. + Added view transitions between requests. v4.1.3 + Implemented StorageManager, Filesystem (File|Directory|Entry) & LocalFilesystem also as DI-service. % Improved validation by implementing support for 'attribute' in errors instead of '{value}' and implemented ValidationError and ValidatorGroup. % Renamed ConsoleColor to ConsoleStyle and added support for multiple styles at the same time. % Improved TestSuite by adding suppor for Test attributes to test classes and methods. % API endpoints for UserModel now accept data filters when querying. + Implemented integration tests for Admin user API. + Implemented Calcoric\Data namespace for data manipulation & filtering. + Query class now has support for Calcoric\Data\Condition. + Implemented ActiveRecordQuery->applyDataFilter(...). + Implemented DataFilterMiddleware that converts Request params to a data filter. + Implemented ValidationExceptionMiddleware that converts ValidationException to a Response body to be processed by clients. + Implemented Router->findRouteByNameRegex(...). + ViewEngine now supports @method(...) directive. % ViewEngine @include & @require now pass declared vars to the included views except when data is explicitly passed. + Created frontend Calcoric.Admin.Table & Calcoric.Admin.Form classes for easy API data access. % ViewEngine layouts are now stored in Layouts dir. % Fixed bug in fronted where error dialogs appear over eachother when saving lists to server. + Added Unit tests for Data, Storage, Validation & ViewEngine. v3.9.5 - RouteRootProvider is now completely deprecated because whe can use URI::getDefaultBasePath(). % HTMLBaseProvider now uses URI::getDefaultBasePath(). + Implemented Node->walkNodes(...) & Node->getAttributeStack(...). + Implemented ActiveRecord::ability(...) to change abilities on the fly. + Implemented DeleteAbility which is used in ActiveRecord->delete(). + Implemented FindFilterAbility which is used in ActiveRecord::find(...). + Implemented SoftDeleteAbility for ActiveRecord which is implemented by UserModel. + Implemented RestoreAbility which is used in SoftDeleteAbility. % Route::createRegexFrom(...) now makes case sensitive regexes. + Implemented Route->getNamePrefix(). % RouteGroup now extends Node class. + Implemented Router->findGroupByName(...). % Changed Router->findByName(...) to findRouteByName(...). + Implemented Session->pull(...). + Implemented ArrayValidator. + Implemented CRUD API endpoints for UserModel. % Improved admin login view with auth errors. $ Improved admin view & CSS. + Added JSONObject, Node & Route tests. v3.7.6 + Implemented cryptography with Crypter interface, OpenSSLCrypter and CrypterException. + Implemented support for sessions with Session with Session interface, SessionManager, FileSessionHandler, DBSessionHandler, CryptedSessionHandler, SessionException and StartSessionMiddleware. + Implemented MigrationCommand to create new migrations with CLI. + Improved Request class with getSourceIp() and getSourcePort() methods. % Module::name() now returns the original PascalCase name of the module, original lowercase name is implemented in Module::lcname(). % Route->generateURI(...) now returns URI instance. + Implemented Route->getNameWithoutPrefix(). + RouteGroup->createRoutesFromAttributes(...) now automatically calculates group name from source. + Implemented Router->findByName(...). % Router->handledMiddleware now stores middleware instances instead of class definitions if possible. + Improved ViewEnginer & CompilerHelper and added new directives: @pus, @endpush, @unshift, @endunshift, @stack. % CaliAuth now stores Request source IP in logs. % Fixed bug where PWA cookie was only remembered in session because 'sameSite' and 'expires' where not set. + Added migration 'Create_Session_Table'. v3.6.2 + Implemented 'authlogger' DI service. + Implemented MiddlewareInfo class that helps determining how to handle Route middleware. % Router now uses MiddlewareInfo. + All auth problems are now logged. % Improved frontend styling. + Frontend Calcoric.List now keeps track of last synchronized timestamp which is used to determine if merge dialog must be shown. % Fixed bug where readonly access was ignored and a merge dialog was shown. % Fixed bug where merge dialog list template was not cloned but directly used. + Added middleware tests. v3.5.3 + Implemented the AppContext service (CLI/Web) which will setup, run and shutdown the app. % Moved error deployment from boot.php to WebAppContext->run(). - Removed old code. + Implemented Auth service and Authenticatable interface for broad usage of authentication schemes. + Implemented CaLiAuth which authenticates based on given settings and remembers successfull logins. + Implemented support for Middleware termination by the MiddlewareTerminator service. + The Router class now remembers which middleware has been handled (for later usage by MiddlewareTerminator). + Router->resolve(...) now supports Middleware constructor DI. + Router->resolve(...) now supports Middleware method DI. % UserModel now implements Authenticatable. + Admin backend now has a header title with logout button. v3.4.2 + Implemented AppSettings class which is filled in init.php % Replaced Environment::getSetting(...) with new AppSettings::instance()->get(...). % Replaced DI "app.root" service with AppRootProvider interface. % Replaced DI "route.root" service with RouteRootProvider interface. % Replaced DI "html.base.provider" service with HTMLBaseProvider interface. - Removed Router root prefix "{root}" with pattern ["root" => $pregQuoteRoot] because we now use the Request URI base path. % init.local.php now changes DB-settings if localhost (with Docker Desktop). % Upgraded deprecated ReflectionMethod with ReflectionClass. + Implemented Cookie class. % Moved Message::buildUrl(...) to Request::buildUrl(...). + Added cookies to Message, Request & Response classes. + Implemented URI class. + Request class now contains URI instance. + Implemented FormUrlEncodedMiddleware. + Implemented Module::path(...) which will create a path to a module resource. + Added Calcoric\Routing\Attributes\Route middleware. + Implemented Calcoric.Cookie.js + CaLi device ID is now retrieved from cookie instead of window.localStorage. + Added CookieTests & URITests. v3.2.3 % Environment->load(...) now takes into account real paths and relative to dotenv path calculation. % Fixed route URI's. % Fixed HTACCESS for prod. v3.2.0 % Moved all css/js/graphics and public root files to '/public' dir. % Renamed 'db' to 'storage' dir. + 'public', 'storage' and app 'root' paths are now configurable in init.php v3.1.7 % Improved migrations. + Implemented DB-service that is used everywhere instead of DB::instance(). % Fixed "app.root", "route.root" & "html.base.provider" service to take into account the CLI. - App->getRoot() is now deprecated. % Improved TestCommand with better info. + Implemented ServiceResolver class. + Services can now be created by ServiceResolver, callable factory orconcrete instance. + Implemented Injector->swap(...). + Implemented Calcoric\Http\Message->clearHeaders(). + Implemented Assert::contains(...). + Implemented CaLi tests. v3.0.6 - Removed CaLi::PATH_DB_ROOT. + Calcoric storage dir is now driven by init.php and may be retrieved by Environment::getSetting("calcoric")["storage"]["path"]. + Added FileLogger and CompositeLogger which use the Psr\Log\LoggerInterface. - Removed old code. + Implemented RouteGroup->createRoutesFromAttributes(...) which generates routes based on class attribute and method attribute (Calcoric\Routing\Attributes\Route). % ViewEngine now automatically creates compiled view dir. v3.0.0 + Added MariaDB to dockker compose & Dockerfile script. % Fixed bug where imported list (from text) didn't trigger updateTimestamp(). + Implemented CLI MigrateCommand. % Improved Kernel class with write operations and ConsoleColor. % Improved Path-class and added UnitTests. % Improved TestSuite error catching. + Added optional CommandExitCode to CommandException. % Improved TestCommand. + DI Injector now supports scoped services within a scope stack. % Improved DBTests with MySQL/MariaDB specific differences. v2.9.0 + Added EmailModule with EmailSender DI service and Email classes. % Changed ModuleManager->addModule(...) to ModuleManager->registerModule(...). % Changed DI Service constants to ServiceType enum. + Implemented ModuleException. % Moved AdminMenu interface to AdminModule. v2.8.5 % Improved Admin Panel styling. + Added support for enum.*.php. + Modules are now injectable. + App can now run from CLI. + Implemented Command (TestCommand, ProcessCommand) & Kernel classes for CLI operations. + Implemented Node->insertNodeAt(...). + Implemented Node->findNode(...). % Improved code quality. % Improved Response->flush(). + Implemented StreamedResponse for data streams. + Implemented Route->generateURI(...) for generating URI based on route. + Implemented RouteRegister interface. v2.7.3 + Added support for Modules. + Implemented Node->getRoot(). % Improved @inject ViewEnginer directive. + Implemented basic admin backend interface. v2.6.9 + Implemented 'html.base.provider' service that provides the base path from web server document root. % Renamed 'php/Views/index.view.php' to 'php/Views/app.view.php'. % Renamed 'css/style.css' to 'css/app.css'. + Implemented basic Node-class for trees and menu's with UnitTests. + Improved CompilerHelper::include(...) with $required parameter. + Implemented @use(...) directive in ViewEngine. + Added support for recursion in @include and @require directives in ViewEngine. % Added view source file to ViewEngine error block if there is a view error. v2.6.1 + Implemented dialog for importing lists by text. % Moved all dialogs to a new view: 'index.dialogs.view.php'. + Implemented dialog form.checkValidity() & form.reportValidity() where applicable. v2.5.8 % Connect-by-token now automatically refreshes token. This means that after n days you are no longer disconnected and forced to login when using the app regularly. v2.5.7 % Fixed 'What's new' dialog when there is a new update where old version document was shown. v2.5.6 + When a conflict arises with shared lists, a merge dialog appears where the user must select what to do with the list. + Implemented drag n drop support for the list item order. % Improved error handling of async API methods. % Code improvements: refactoring, JS-doc, removed old code. v2.5.2 + When there is a new update, the user will be notified with an update dialog. v2.5.1 + Selected lists are now remembered (locally per device) next time you open the app. + Implemented Calcoric.App.View.FocusHelper to tackle the input focus problem when rendering & sorting the lists after synch. % Some small display changes. v2.4.8 + A message will be shown when a new list item as added which makes clear that something has been added for long lists. + Implemented Calcoric.List.prototype.importText(...) which will support importing list items from text in future update. v2.4.6 % Scroll top is now remembered when synching lists. % List items are no longer re-rendered when an list item label input element has focus in that list. v2.4.4 + Added "Share list" icon. % Lists and items are no longer re-rendered when an input element has focus in that list. v2.4.2 % Advanced settings panel now also hides with opacity when closed. % Some small styling upgrades. v2.4.0 + Implemented share lists with specific accounts with optional rights. + Added current account code to advanced settings panel if logged in. + Added options to copy list UUID and account code to clipboard via advanced settings panel. % Replaced all LegacyValidator code with new Validator::create(...) code. + Added ViewEngine directives @uqid(...) and @lastuqid() for generating unique ID's for HTML elements. % Fixed bug in ViewEngine @section directive. v2.3.4 + Implemented App->setup() which calls the register* methods. % Changed App::instance()->run() to App::instance()->setup()->run(). % Moved a lot of routes to route groups. + Implemented DebugRouteMiddleware which exposes Route info in response headers. + Added support for route patterns in routes. + Added route group inside Route-class. % Improved RouteGrou-class. + Router class now has a default 'root' route group and remembers the matched route. v2.2.6 + Added 'textify' icon. + Added support for clientside list rights. + Advanced settings now shows the rights to the current list and the list UUID. % Improved Calcoric.App.API.saveLists() by ignoring to PUT lists without write access or if they are already synched. v2.2.2 + Accent color & font changes are now stored locally just like the selected theme. % Moved the list accent color to the theme advanced settings theme section. v2.2.0 % Refactored index.html to index.view.php to be rendered by ViewEngine. + Implemented Calcoric\DI\Contracts\AppVersionProvider and concrete class Services\AppVersion which replaces App->getVersion(). + Implemented Collection->all(), Collection->transform(...), Collection->pluck(...), Collection->push(...), Collection->pop(...), Collection->put(...). v2.1.7 % Route->middleware(...) now adds the middleware to already set middleware instead of overwriting it. + Implemented Route->addMiddleware(...) to add single middleware with optional params. % Router middlewareRunner now supports callables, strings and classes that implement Middleware interface. + Added support for middleware params. % Improved TestException. + Added some basic route tests. + Implemented CaLi auth middleware. v2.1.0 + Implemented password reset. % Split advanced settings panel 'server' into 'account' & 'server'. - Removed intro dialog. % Now a default 'ToDo' list is always created when starting on a new device. + Implemented sort list items by label ASC / DESC. % Some styling fixes. % Moved ViewEngine to it's own namespace. + Added support for layouts in ViewEngine. + Compiled views are now stored on disk. v2.0.1 + Added support for .env key 'INCLUDE' with which you include another dot-env file. + Implemented custom error handler that converts PHP errors to ErrorException instances. + Implemented JSONResponseMiddleware that automatically sets the response header to 'application/json' when response body is instance of JSONObject. + Implemented Calcoric\ViewEngine & Calcoric\View. ViewEngine is also injectable as a service. % Registration email is now rendered by ViewEngine. % When registration is confirmed, an email with account code is send. v1.9.5 % Improved Validation & renamed old Validator class to LegacyValidator class. + Implemented support for registering accounts. + Implemented support for filtering tests to run in TestSuite->loadTests(...). + Implemented Calcoric.App.consumeHash(). % Fixed bug where list indices where not updated correctly after deletion when the list was a local list. v1.9.0 % Refactored Response->data & Request->data into Message->body. % Refactored Response->headers & Request->headers into Message->headers. + Implemented JSONRequestMiddleware. + Added PHPMailer via Composer. + Added global Injector to App class & implemented abstract protected function registerServices(Injector $injector). % Improved JSONObject. % Improved Injector. % Route & RouteGroup classes now clone the global Injector. - Removed deprecated code. v1.8.1 % Changed '.button-group' CSS to '.group'. + Implemented font-selector. + Set default font to 'Verdana, sans-serif'. % More CSS-vars: '--primary-font', '--primary-border-color', '--interact-border-color'. % Improved PHP DI with Injector class used by: Route & RouteGroup classes. + Added DI Unit Tests. v1.7.5 + Implemented textify list: copies lilst as text to clipboard. + Implemented list item options menu. + Implemented list item option "move up". + List item order can now be changed. % Moved menu icon to icons.svg. % Fixed bug where focus was not restored for TEXTAREA. v1.6.9 % Improved Calcoric.Dialog logic. + Implemented custom confirm dialog for deleting list. % Fixed linkify list with UTF8 encoding. % Improved styling: thinner accent color dots, improved form styling, 'form span' now max 20em, and more. + Implemented buttons and dialogs for resetting password and register as new user (API-endpoints not working thouhg). % Some little JS upgrades. - Removed deprecated 'account-code' code. v1.6.2 + Added labels to a lot of input elements. + Added icons for Server "CONNECT" / "DISCONNECT" / "MIGRATE UP" / "MIGRATE DOWN". + Implemented clientside roles: elements that have a 'data-roles' set will be hidden if user doesn't have the roles. % Accent color buttons are now dots with the actual color instead of text. - Removed 'Api-Code' headers because they are no longer needed. v1.5.7 % List items are now textarea's which resize automatically according to the text content. % Fixed list deletion when other users are still connected to the list: the list is then not deleted but inlinked for current user. % When list label is changed, focus passes to item label input. % Changed API endpoint '/account/you/lists' to '/accounts/you/lists'. + Implemented support for grouped routes. v1.5.2 % Moved Request, Response & HTTPException to Calcoric\Http namespace. % Request & Response classes now extend Message class. + Implemented Response->away(...) & Response->redirect(...). % Migrating down in migration 'Import_Accounts' now stores DB account info in json file. + Added support for user.roles. + API endpoint for DB migrations now checks for correct roles. v1.4.6 % Collection->each(...) now stops if callback returns FALSE. + Added Request::ALL. + Created new CaLi class that extends abstract App class. + Implemented MVC controllers. + Implemented DB->escapeIdentifier(...) to fix queries with reserved field names. + Implemented Request->getPath(), Request->getQuery() & Request->getParams(). + Implemented support for routes (Router & Route classes). - Request->uriMatches(...) & Request->matches(...) are now deprecated because we use Router & Route now. % Fixed bug where special characters / emoticons were not shown correctly. + Implemented support for route middleware. v1.3.6 + Implemented DTO's. % Collection->each(...) now passes item by reference. + Implemented Response->setContentType(...). v1.3.3 % App is now completely DB-driven. v1.3.2 % Improved DB ERD. v1.3.1 % Fixed migrations for PROD. v1.3.0 + Added buttons for admin accounts to migrate UP or DOWN. v1.2.9 + Implemented ActiveRecord abilities: CreateTimestampAbility & UpdateTimestampAbility. v1.2.8 % Fixed bug in autoloader. % ini_set("display_errors") is now set to ON in DEV. + Implemented Collection class. + Added a lot of PHP-doc. + Implemented DB->escapeForQuery(...). + Implemented Assert::isFalse(...), Assert::isTrue(...), Assert::throws(...). + Implemented advanced ActiveRecord classes. % PreparedStatement can now be set if autoconvert values from DB results. + Implemented Query->selectFields(...), Query->clearSelect(), Query->selectSpecific(...), Query->then(...). + Implemented custom Exceptions: ActiveRecordException, QueryException, ServiceException. % Moved code from DB-class to ValueConverter-class. + Implemented Dependency Injection code. + Added a lot of UnitTests. v1.1.5 % Test upgrades. v1.1.4 % Renamed DBMigration to Migration. % Renamed DBMigrator to Migrator. v1.1.2 + Implemented support for migrations. + Implemented TestSuite for testing purposes. + Implemented PSR4-autoloading. + Implemented DB-logic: ActiveRecord, Query, DB, PreparedStament. + Implemented App test API endpoint. v1.0.7 + Implemented as Progressive Web App [PWA]. % Forced display to be always in portrait mode. + Added aria-label to buttons. v1.0.4 % Improved favicons. % Changed list padding top & bottom from 1rem to 3rem. % Improved accent colors. % Improved theme colors. % Selected theme is now remembered after page refresh. % When a list is deleted, the new selected list will be based on order instead of index. v0.9.8 + Added 'autocomplete' attributes to login form. + Added 'first-time' dialog for new users / devices to connect or create default lists. + Document.title is now prefixed when DEV. v0.9.5 + 'api/v1/app/settings' now contain $SETTINGS["app"] with validation rules. + Validation rules are now driven by $SETTINGS["app"]. % Improved validation error messages. v0.9.2 % Fixed pointer events on mobile devices for SVG icons. % Fixed bug where list item 'keyup' event triggered list-render which didn't work well on mobile devices. Changed to 'change' event. + Implemented basic working ActiveRecord class and PreparedStament class and changed all DB-code accordingly. v0.8.9 + Added version information. + Implemented 'api/v1/app/settings' endpoint. + Implemented Environment::getSettings() & Environment::getSetting(...). v0.8.6 + Implemented Environment class that loads '.env' file and populates global $SETTINGS. + Implemented DBMigration & DBMigrator classes for handling DB migrations. + Set app codename to 'CaLi'. + Implemented Open Graph info to HTML head. v0.8.2 + Implemented basic DB class with DBException class. % Improved 'button-group' styling. + Added accent color selector. % Accent color is now also applied to current selected list. % Improved styling of advanced settings. + Added error types to API responses when error. % Improved App->loadAccountByRequest(). v0.7.5 + When anything is re-rendered and something had focus, that focus is now restored after render. v0.7.4 % Creating & deleting local lists will now also trigger synchronization. + Implemented Calcoric.List.Item that are now stored in Calcoric.List.items array & rendered in Calcoric.List.View. - Removed Calcoric.List.redoListItemIndices(). v0.7.1 % Calcoric.App.AutoSync now checks if synchronization is available and retries if not. % Fixed bug where lists with the same order at the server were not corrected. v0.6.9 % Fixed app view height to be at least as large as the window height. % Fixed swiping to use list offset instead of index. + Implemented Calcoric.App.AutoSync for automatic synchronization with server. v0.6.6 + Implemented list.order. % Improved visuals. + Added status icons. % Fixed bug in progress when there are no list items. + Implemented Calcoric.App.View. v0.6.1 + Added a box shadow to the advanced settings. + Added a master button per list that toggles delete-button visible per list item. + Added colored progress bar in list tabs. v0.5.8 % Ensure that ./db/* is not accessible through browser. % Fixed bug with non-existing header in Calcoric\Request->headerMatches(...) where getHeader(...) returns null. % Fixed bug where Calcoric\App->getRoot() was wrongly preg quoted if returned '/'. + Implemented fully working 'docker-compose.yml' with '.env' and 'Dockerfile'. % Security fixes added to .htaccess. v0.5.3 % Improved list hash creation. v0.5.2 % Improved Calcoric.App.API.request(). + When account token is no longer valid, a login dialog is shown. + Implemented online / offline state. v0.4.9 + Added html.lang="en". + Added charset="UTF-8". + Added custom connect dialog. + Added form styling. v0.4.5 + Implemented tab-group blocks for the tab menu. % Fixed bug when saving lists and some lists are deleted @ server. % Fixed 'svh' polyfill. % Some small styling upgrades. v0.4.1 + Added '+' button to the menu bar. + Added 'sync' button to the menu bar. + Changed rendering by implemented Calcoric.List.View. + Implemented API synchronization. + Implemented DELETE /accounts/you/lists/{list-uuid}. % Changed localstorage prefix to 'cali_'. v0.3.5 + Implemented updating lists. + Implemented POST /accounts/you/lists. + Implemented PUT /accounts/you/lists/{list-uuid}. % Refactored some code. % Improved errors responses from API. % All localstorage data is now prepended with 'cali_'. v0.2.9 % Refactored a lot of code. % Fixed some bugs. % Improved storage. + Implemented GET /accounts/you/lists. v0.2.5 % Increased animation speed. % Fixed bug in Chrome where swiping didn't go well. + Implemented access token per device. + Implemented 'connect-by-token'. + Implemented auto-connect feature. v0.2.0 % Focus is removed from any element when swiping lists. + Implemented basic API for server storage. + Added README.md v0.1.7 % Tabmenu is now sticky. % Moved all JS & CSS to separate files. + Make the current selected tab always be in view. % Tabs control menu is now sticky to the left. - Removed 'add tab' button in tabs. v0.1.2 + Added multiple themes: default, light, dark, red, green and blue. % Changed namespaces. % Improved styling. v0.0.9 + Added advanced settings panel. % Improved colors in dark mode. v0.0.7 + Added padding to bottom of list for long lists. % Changing list label now triggers event. + Pressing ENTER when changing list label now gives focus to 'Input new item'. + Pressing ENTER when changing 'Input new item' adds the item to the list while keeping focus on that input. + Added color to tabs spacer and list input. + Added support for dark theme. v0.0.1 + Initial version.