ETL data_snake

ETL data_snake Change Log #

8.4.0 #

  • Added memory limits when processing memory intensive modifiers. Added user-friendly messages to warn users about high memory consumption.

8.3.0 #

  • Added MicrosoftAccessSource on backend and frontend.

8.2.2 #

  • Added wbdata package to requirements.

8.2.1 #

  • Fixed error with Error key in Fusion Registry json reponse.

8.2.0 #

  • Add validation for Excel Target path. Only “.xlsx” files are allowed.

8.1.1 #

  • Fix multiple lines in expansion panel in process description.

8.1.0 #

  • Added workflow run consumer. Consumer is responsible for notification about running workflow graph changes and log status changes.
  • Added ability to run workflow in modeler.

8.0.4 #

  • Fix workflow loading modal and block user interaction before load.

8.0.3 #

  • Fix running modifier after validation

8.0.2 #

  • Fix WebSockets

8.0.1 #

  • Fix migrations

8.0.0 #

  • Updated oracle instant client (basic + sdk) from to

7.54.1 #

  • Fixed timedelta load/save on FilterTransformation.

7.54.0 #

  • Added node groups

7.53.1 #

  • Refactor audit code.

7.53.0 #

  • Added process parameter formset on confirm run views (Process run and modifier standalone run).

7.52.3 #

  • Fixed bug with displaying errors in toast during comparing flows call (on modeler exit).

7.52.2 #

  • Fixed bug related to displaying caching togglers in new workflows.

7.52.1 #

  • Fix bug with reset zoom on view width change in modeler.

7.52.0 #

  • Added websockets to process details, process list, process/modifier last run log, home page table with processes.

7.51.6 #

  • Improved downloading directories in resources. Now it also works for big directories.

7.51.5 #

  • Added workflow saving on pressing CTRL + S.

7.51.4 #

  • Fixed parameter cached value serialization.

7.51.3 #

  • Fixed edge coordinates calculating in modeler based on metadata.

7.51.2 #

  • Added Test Mail function to mail settings.

7.51.1 #

  • Fixed datetime and timedelta types handling on modifier properties save.
  • Fixed timedelta serialization on FilterTransformation.

7.51.0 #

  • Added websockets endpoints:
    • Process status subscription - list and detail
    • Modifier status subscription - detail

7.50.2 #

  • Fixed a bug with run logs of deleted modifiers causing internal server error when loading a page with process run logs related to them.

7.50.1 #

  • Fixed a bug on ‘compare_flows’ endpoint when parameters are used.

7.50.0 #

  • Added parameters cache mechanism on backend.
  • Added endpoint that calculates all parameters for process.
  • Added toggle use_cached_parameters for modeler views. Default is switched on and views use cache parameters. If switched off then endpoints refresh parameters values.
  • Added handling of parameters caching on frontend.

7.49.2 #

  • Added modal chunk file upload to resources.

7.49.1 #

  • Changed ProcessParameter scripts computation mechanism. Now computation uses threads instead of processes.

7.49.0 #

  • Added copying of process parameters when copying a process.

7.48.1 #

  • Fixed bug when uploading files between two different file systems.

7.48.0 #

  • Changed properties field on ModifierRunLog model to execution_state that stores the information about the modifier’s fields at the moment of the execution.
  • Process execution state is now stored in process run logs.
    • Process execution state holds the information about steps’ details, inactive modifiers’ details, parameters and the status of the process and its inactive modifiers.
    • Process execution state can be joined with modifiers’ execution states from related ModifierRunLogs to also include the information about the active modifiers.
  • Added REST endpoint that gives the state of the last process execution.
    • The endpoint supports authentication by process token.
    • The historical process executions can be accessed by passing task_id query parameter.
    • The endpoint returns the HTTP 409 Conflict response when the process was never run.
  • From now on, changing the process or its components while it is running will not affect current process execution.

7.47.2 #

  • Fixed a bug on Cleaner and Script when there is no valid license key.

7.47.1 #

  • Fixed API views that take a process_id field returning HTTP 500 error instead of 400 when this field is non-integer.
  • Added some additional tests for process parameter-related views.

7.47.0 #

  • Added Node Multiselection and other multi actions

7.46.0 #

  • Added Export Process mechanism.
  • Added Import Process mechanism.

7.45.2 #

  • Fix code mirror loading

7.45.1 #

  • Fixed column names soft validation in transformation modals (Filter, Script, Sort).

7.45.0 #

  • Added column names soft validation in transformation modals (Join, Aggregate, Convert, AddColumn).

7.44.1 #

  • Fixes in process details

7.44.0 #

  • Added “Use header” option in CSVTarget.
  • Added “Write mode” option in CSVTarget.

7.43.1 #

  • Add parameters to datepicker in add column transformation.

7.43.0 #

  • Add flag continue_on_fail on process step. If flag is set then next step will be executed despite errors on the step with this flag set on.

7.42.3 #

  • Fix process parameter details codemirror showing on evaluation type simple.

7.42.2 #

  • Fixed new lines not being preserved in python exception traceback due to parameter error when saving or evaluation on parameter create/update form.
  • Moved parameter management view tests to a separate file, enhanced them, added missing tests for them.
  • Added a test for parameter list REST view.
  • Improved test for lookup_set_value function.
  • Added default ordering for ProcessParameter and LicenseKey models.
  • Fixed some typos.
  • Changed handling of simple parameter’s invalid type on management views — now there’s a short concrete error message instead of a generic one and needless traceback.

7.42.1 #

  • Change process detail layout

7.42.0 #

  • Added mechanism of parameterization datetime fields.
  • Added filter transfomration’s datetime fields parameterization.

7.41.0 #

  • Added validation fields (is_valid, last_validated) on Modifier model. They hold state of validation.
  • Added endpoints for refreshing validation state for entire process or single modifier.
  • Added information about validation status on process details view.
  • Optimized run process action. Now parameters are only calculated in celery tasks. There is no redundant parameters’ calculation in validation stage before the celery task.
  • Extended process api curl examples.
  • Added validate process on frontend.

7.40.2 #

  • Fixed bug with os.walk usage while listing resources recursively. Deleted redundant recursion.

7.40.1 #

  • Fix in data preview on frontend.

7.40.0 #

  • Added parameter fields to transformation forms.

7.39.1 #

  • Delete nodes without type selected in modeler.

7.39.0 #

  • Added export and import of process parameters on backend and frontend. They can be included in the workflow when exporting it and then imported along the same way predefined sources and targets are.

7.38.3 #

  • Fixes all layouts bugs

7.38.2 #

  • Fixed displaying custom tooltips in modeler (node description, type selection).

7.38.1 #

  • Fixes layout in process parameters.

7.38.0 #

  • Added structure description on frontend.

7.37.1 #

  • Fixed sorting options in aggregation modal groups by column field

7.37.0 #

  • Modified ETL-PROCESS-PARAMETERS header to a list of parameters (instead of a dict) sorted by name.
  • Users with the processes_run and processes_view permissions are now allowed to view the process parameter list and detail views.
  • Added process parameters model to django admin.
  • Fixed process parameters create/update form returning 500 in case some field was empty.

7.36.2 #

  • Added ability to move code block in CodeMirror editor with Tab and undo with Shift+Tab.

7.36.1 #

  • Fixed ctrl + z bug when loading workflow from backend
  • Added displaying DataPreview in batch
  • Changed node description button visibility
  • Fixed opacity values in svg elements
  • Fixed edge deletion bug

7.36.0 #

  • Added column reordering mechanism to ConvertTransformation on frontend.

7.35.1 #

  • Workflow metadata error fix

7.35.0 #

  • Added workflow metadata storing.

7.34.0 #

  • Code from script components is now executed inside the function.
    • ScriptSource and ScriptTransformation must now return the pandas.DataFrame object. All existing scripts will be automatically changed to return old OUTPUT_DATA variable.
    • ScriptTarget and ScriptModifier do not need to return anything.
  • New script interface - frontend

7.33.0 #

  • Added parameters to the path autocomplete fields.

7.32.0 #

  • Added parameters to the Start/End time period fields in the FR dataflow filters section.

7.31.2 #

  • Fixed DataPreview parameters incompatibility

7.31.1 #

  • Fixed login page not redirecting back to previous page upon successful authentication.

7.31.0 #

  • In modeler views computing parameters added returning computed parameters (if available) in ETL-PROCESS-PARAMETERS HTTP header. Removed parameters from returned json (which was absent in case of an error anyway) in those views.

7.30.0 #

  • Added Sort Transformation backend
  • Added Sort Transformation frontend

7.29.0 #

  • Improve errors for missing parameters and invalid parameter lookups on modeler. E.g. now missing parameter errors are marked on individual nodes in their error boxes.
  • Moved parameter computation and substitution from EtlGraphAllSerializer to a validator in EtlGraph. This fixes parameters being processed for nodes not in the current graph in case of subgraph validation.

7.28.0 #

  • Add structure description backend. Structure description is short description about bound resource to connector e.g. database table, dataflow in Fusion Registry etc. It works for all databases and Fusion Registry (sources and targets).

7.27.0 #

  • Added parameters to sources and targets.

7.26.0 #

  • Added column reordering mechanism to ConvertTransformation on backend.
  • Fixed display of alias uniqueness error while it happened along with other errors.

7.25.0 #

  • Added Protected File flag on file based targets.
  • Fixed bug with Use header toggler not disabling Header row on adhoc Excel Source,

7.24.3 #

  • Fixed togglers value loading in modeler modals

7.24.2 #

  • Fixed bug with draggable modal in process details steps, and added more space to displayed errors in logs modal.

7.24.1 #

  • Fusion Registry request fixed.

7.24.0 #

  • Displaying parameter values on data preview.

7.23.1 #

  • Fixed error displaying in modeler.

7.23.0 #

  • Added AddColumnTransformation frontend
  • Added AddColumnTransformation backend

7.22.0 #

  • Add file upload do predef csv, excel, sdmx source, and autocomplete to predef csv, excel target

7.21.3 #

  • Fixed displaying parameterized node title.

7.21.2 #

  • Fixed a bug related to manipulating bokeh plots before initialization of every chart on home page.

7.21.1 #

  • Fixed bug with calculate mouse position with scroll in modeler.

7.21.0 #

  • Added access to process parameters in script modifier.

7.20.1 #

  • Fixed a bug with change source node for filter transformation in modeler.

7.20.0 #

  • Improved file paths to be relative,
  • Fixed bug for file sources and targets,

7.19.0 #

  • Added beta version of process parameters.

7.18.1 #

  • Fixed Fusion Registry urn regex pattern.

7.18.0 #

  • Added Aggregation Transformation modal.

7.17.2 #

  • Fixed loading modal after getting error from compare flows endpoint (while exiting the modeler).

7.17.1 #

  • Adjusting values ​​in the tables.

7.17.0 #

  • Added Script Modifier:
    • Script Modifier runs a python code specified by the user.
  • UI changes:
    • Increased the colors’ intensity of the modifiers’ tiles on the process details view.
    • Changed the Cleaner tile color from purple to red.
    • New Script Modifier tile is light blue.
    • Added small icons indicating modifier’s type in the right-bottom corner of the modifier’s tile.
  • Users with processes_view permission can now view existing cleaners.

7.16.0 #

  • Added a confirm view for modifier import.
  • Changed error message, when a predef_source or predef_target is missing from an import zip file.
  • Import modifier button is now disabled when there are no steps in the process.

7.15.1 #

  • Fixed a bug with run logs not saving to the database properly while using sentry.

7.15.0 #

  • Changed whole mechanics of RunLogs statuses:
    • Run logs statuses are now displayed based on celery task results.
    • status field on RunLog model is now a property. Added final_status database field to hold the final state of the task.
    • Added task_id field to RunLogs model that holds the id of a celery task that corresponds to the RunLog.
    • Added RunLogs cleaning on Celery workers startup:
      • Cleaning is performed only if no other worker is consuming from the queue of the worker starting up. If two workers start simultaneously, only one performs the cleaning.
      • Cleaning takes all RunLogs with task_id but without final_status, and checks if their tasks are present on the queues.
        • For ModifierRunLogs, if task is in PENDING state, it also checks if Process task exists.
      • New tasks cannot be added to the queue when cleaning is happening.
    • Added periodic task that checks for tasks lost due to worker crash:
      • The task checks RunLogs with STARTED status in celery and checks if the worker that was handling the task is still alive.
    • Task process_run now checks worker health while waiting for run_modifier task to end. It is done the same way as described in the point above.
  • Added 2 new statuses for Modifiers - AWAITING and CANCELED:
    • AWAITING status is set to every modifier of the process when it starts. It shows the user that the modifier will run if previous step is completed successfully. Does not appear in modifiers ran solo.
    • CANCELED status is set to every modifier with AWAITING status when the process fails. It tells the user that the modifier execution was canceled due to one of the previous steps failure. Does not appear in modifiers ran solo.
  • Changed prefixes in all celery-related environmental variables in settings from ETL_CELERY_ to CELERY_.

7.14.1 #

  • Fixed arrows in step container

7.14.0 #

  • Added drag & drop in cleaners form (SortableJS).

7.13.2 #

  • Fixed ‘order’ and ‘ad-hoc’ errors on ‘compare_flows’ endpoint.

7.13.1 #

  • Handled middle click paste on CodeMirror in Firefox.

7.13.0 #

  • Added file upload in modeler modals.

7.12.0 #

  • Changed pagination for recources menu
  • Changed share link generation
  • Changed default modal placement

7.11.5 #

  • Add floating scroll to step container.

7.11.4 #

  • Fixed enable/disable create button on step create/delete

7.11.3 #

  • Added drag and drop to process steps.

7.11.2 #

  • Fixed error of copying process curl command to clipboard

7.11.1 #

  • Fixed error when prefixes list were not given in data preview

7.11.0 #

  • Added AggregationTransformation on backend.

7.10.1 #

  • Stop clearing column value on column change with previous type equal to current in filter transformation modal.

7.10.0 #

  • Added automatic path creation in resources for targets,

7.9.0 #

  • Added regexp filter type to filter transformation.

7.8.0 #

  • Added endpoints for chunked file upload.
  • Extended an endpoint for listing resources in a directory. Now endpoint handles filtering by resources type (file or directory).
  • Fixed the bug with missing errors on CSV, Excel and SDMX source path select.

7.7.0 #

  • Improved resource share and API Token links,

7.6.0 #

  • Added relationship to predef targets and sources,
  • Renaming predefs now updates modifiers that use that predef,
  • Added table with workflows that use the predef in the delete predef view.

7.5.2 #

  • Added left and right prefixes to join transformation modal.

7.5.1 #

  • Fixed bugs:
    • convert error messages position,
    • change name of merge error in database target modals,
    • disable header row input on use header set to false,
    • toast under scroll.

7.5.0 #

  • Added REST endpoints for process steps.

7.4.0 #

  • Added a Description field to predefined sources and targets

7.3.1 #

  • Fixed function_field_data RequestException error

7.3.0 #

  • Fix server errors on .ods or .xls files
  • Spreadsheet engine is now dynamically based on file type

7.2.2 #

  • Fix clickable space between wrapped anchor lines

7.2.1 #

  • Fixed a bug which blocked sending too large files to FusionRegistry.

7.2.0 #

  • Added circle button on node, which triggers modal with node description.

7.1.0 #

  • Changed input for Path field on predefined CSV, Excel, SDMX Sources. That input shows files in resources directory as search select input.

7.0.3 #

  • Fix compiling scss in docker image.

7.0.2 #

  • Changed pickers to selectpickers in Cleaners.
  • Cleaners view improvements (icons, form).
  • Disable Create modifier button when there are no steps.

7.0.1 #

  • Fixed a bug with colon in database hostname.

7.0.0 #

  • Added description field to graph nodes.
  • Added limit of the title field length on the graph nodes.
  • Improved workflows validation.

6.10.0 #

  • Added second Join input

6.9.2 #

  • Fix script source bug. Redundant double code execution.

6.9.1 #

  • Fix reloading window on enter click in modal with test button.

6.9.0 #

  • Added dart-sass to project for compiling scss to css dynamic in developer mode.

6.8.1 #

  • Changed File Location fields from input to selectpicker.

6.8.0 #

  • Added FusionRegistry10Target support to cleaners.
  • Added more information to cleaners’ error logs with unexpected errors.
  • Removed Error class column from cleaners’ error logs. Error message now starts with error class instead.
  • Fixed a bug with popups not showing up in cleaners form.
  • Fixed a bug with spinners disappearing to quickly in certain scenarios in cleaners form.

6.7.3 #

  • SCSS restructuring and refactoring

6.7.2 #

  • Process details styles improvements
  • Fixed popovers styles
  • Fixed Fusion Registry source bug when data structure JSON data does not have attributeList key.

6.7.1 #

  • Added handlers for backend errors to axios server class.

6.7.0 #

  • Updated app authentication

6.6.0 #

  • Add order control to edges in the workflow.

6.5.0 #

  • Added custom prefixes to join transformation.

6.4.2 #

  • Fix Montserrat font backticks

6.4.1 #

  • Stretch dropdown menu in modeler fusion filters select.

6.4.0 #

  • Removal test/edit button from source/target modals if they don’t contain extra fields. In such cases, properties validation is triggered after submitting the form.

6.3.2 #

  • Added join labels to right and left sources, change in convert transformation name columns, to allow copy.

6.3.1 #

  • Add copy to clipboard functionality to all cells in modal data preview table.

6.3.0 #

  • Allowed to standalone run inactive workflows.

6.2.2 #

  • Move toasts to bottom right

6.2.1 #

  • Changed all filters layout to be in one line, change style of all inputs, selects etc. to more modern, add datetimepicker to edit api token in process details.

6.2.0 #

  • Changed layout of columns in process list.
  • Added cron-descriptor lib.

6.1.1 #

  • Fixed a bug with redirecting to the wrong page after pressing the cancel button.

6.1.0 #

  • Added node copy/paste functionality
  • Fixes in tooltips in views and modeler

6.0.2 #

  • Fixed bug in convert transformation with datetime mask

6.0.1 #

  • Saving predefined data without save modal, when user go to adHoc mode and back to predefined.

6.0.0 #

  • Added Cleaner modifier type:
    • Cleaner allows to clear the database table of one of the predefined targets,
    • Currently, Cleaner support only DELETE clearing method,
    • Tables are cleared in specified order to ensure for example that tables with RESTRICT relations will be cleared properly,
    • Cleaners check the databases for connection and table existence to lower the chance of mid-run failure where some databases could be cleared, and some do not,
    • On error, run logs shows which databases have been cleared and which did not.
    • Cleaner can be exported, imported, copied and deleted similarly to Workflows,
  • Added form that allows to create or modify a Cleaner,
  • Process details:
    • Changed Create workflow button to Create modifier dropdown button that allows to choose between Workflow and Cleaner,
    • Changed Import workflow button to Import modifier button,
    • Modifier blocks now have a colored backgrounds based on types. Workflows are green while Cleaners are lavender. They also have their icons displayed in the background like the watermark,
  • Changed workflow import and export urls (renamed workflow to modifier),
  • In exported zip file, changed json file name that contains modifier from workflow.json to modifier.json. Files containing old file name can be imported still,

5.3.2 #

  • Updated the default Script Transformation code.

5.3.1 #

  • Fixed non wrapping text in node title.

5.3.0 #

  • CodeMirror editor improvements.

5.2.8 #

  • Fixed files security bug in resources.

5.2.7 #

  • Added default datetime format in conversion to string.

5.2.6 #

  • Fixed bug in “compare_flows” endpoint when “None” is present in json flow.

5.2.5 #

  • Fixed bug with LIVE button and Visibility_change.js not working,

5.2.4 #

  • Removed required constraint from filter and convert properties to prevent validation error with non-edited components.

5.2.3 #

  • Set use cache in modals default to true.

5.2.2 #

  • Fixed cleaned mailing form. The mailing settings must be reset.

5.2.1 #

  • Added use_cache to transformats

5.2.0 #

  • Added ad hoc fields in modal

5.1.2 #

  • Added permission names to description,

5.1.1 #

  • Removed column duplicates (status and actions) in tables.

5.1.0 #

  • Added file sharing functionality

5.0.0 #

  • Added new menu section - Resources. This section allows managing files on the server for predefined components like CSV and Excel in the application.
  • Added validation to predef local paths. Now all predef paths must be in RESOURCES_PATH directory (compatibility break).
Users now have to move all files used in predefined components to RESOURCES_PATH directory.

4.3.3 #

  • Fixed broken test connection on not saved predefined connectors.

4.3.2 #

  • Normalized mailing to always use constance settings,

4.3.1 #

  • Fixed scroll on modifier errors modal.

4.3.0 #

  • Added predefined data connectors connection history.

4.2.6 #

  • Fixed system monitor refresh when tab not active,
  • Added redirect to login on session timeout,
  • Fixed small letters on Driver column in Modifier last run log,

4.2.5 #

  • Fixed validation error on ad_hoc_connectors upon validation on Modeler refresh.

4.2.4 #

  • Added message about no rows in table when it is empty.

4.2.3 #

  • Fixed type error bug in filters.

4.2.2 #

  • Fixed missing sorting information at homepage on load.

4.2.1 #

  • Fix displaying inputs and buttons in processes, source and target filters

4.2.0 #

  • Added SDMX source on backend and frontend.

4.1.2 #

  • Fixed exit confirmation modal while exiting the modeler.
  • Fixed displaying multiple success/error toasts.

4.1.1 #

  • Fixed bug when the ; in sql_query would cause errors if present in the query,

4.1.0 #

  • Added ‘use_predef_properties’ for graph node fields. Variable defines whether use properties from predefined object in database or from node properties.
  • Added endpoint for function field data for non predef objects.
  • Added endpoint for connector properties validation (serializer validation + test connection).

4.0.2 #

  • Increased input limit for Union and Script Transformations,

4.0.1 #

  • Updated verbose_name on models,

4.0.0 #

  • Changed Modifier model to Modifier model:
    • flow field renamed to properties field
    • added driver field (char) with choices. It holds the name of a class that defines the structure of properties and action that is performed on Modifier execution. Currently, the only choice is Modifier.
    • Renamed the modifier to modifier in most of the places in the code. In some places that relates exactly to modifiers it was left unchanged, ex. ModifierViewSet, import, export, modeler.
    • Foreign keys and related managers in other models changed their names to match new model name.
  • Renamed ModifierRunLogs model to ModifierRunLogs:
    • Foreign keys and related managers in other models changed their names to match new model name.
  • Renamed ModifierStep model to ProcessStep.
    • Foreign keys and related managers in other models changed their names to match new model name.
  • Adapted front-end to new endpoint names and parameters.
  • In some places in the application interface renamed Modifier to Modifier:
    • Changed labels on modifier description from Modifier to Modifier.
    • Renamed Modifier name column in process error table to Modifier name.
  • Added Modifier type column in process error table. It holds the name of Modifier’s driver.
  • On process details, changed Modifiers header to Execution plan above the window with steps.

3.17.0 #

  • Added Microsoft SQL Server database target on backend and frontend.

3.16.0 #

  • Updated requirements.
  • Made small changes to reduce amount of warnings in tests.
  • Added missing mock_celery_workers decorator to tests.
  • Fixed ftp_serve_dir not working correctly when localhost maps to IPv6 address.
  • In Excel source changed tooltip of header row and changed it’s default value to 1.

3.15.0 #

  • Added MySQL database target on backend and frontend.

3.14.1 #

  • Made trailing slashes in application urls optional

3.14.0 #

  • Added test_connection (predef test button) method for Script Source and ScriptTarget. Test for these components compiles code (checks syntax).

3.13.0 #

  • Added Microsoft SQL Server source on backend and frontend.
  • Fixed types in custom sql query (all columns are treated as object type)

3.12.1 #

  • Fixed invalid display of Add new step button in process details view

3.12.0 #

  • Added MySQLSource source on backend and frontend.
  • Changed grid of sources to chose while placing the node from 3x2 to 4x2.

3.11.2 #

  • Added labels with tooltips next to truthy/falsy values in ConvertModal during casting on boolean type (Truthy, Falsy, Example, ?).
  • Fixed initialization of select2 selects in truthy/falsy values and added default (special) values in dropdown (Empty string, None). If we enter the value manually, we will get information that it should be selected from the dropdown list. (Special values should be chosen from dropdown.)
  • Fixed select2 values matching. From now e.g. adding substrings and confirm values by pressing enter works.

3.11.1 #

  • Added saving the previous sort in the recently run processes table on the home page

3.11.0 #

  • Added e-mail notifications that are sent to users with administration permission when any process or standalone modifier execution fails.
  • Added “Mailing” tab in app settings section that contains form that allows to change SMTP server connection settings. Available only to users with administration permission.
  • Added Constance config section in django admin that allows to change any configuration that has been registered in Constance. Available only to superusers.
  • Fixed disappearing password after testing connection on predefined connector create view.

3.10.4 #

  • Added sort arrows in django tables header
  • Fixed few bugs in table sorting.

3.10.3 #

  • Added version info to login page and some styles to menu
  • Changed order of buttons on view forms
  • Made some fixes in modeler type selection algorithm
  • Fixed typo in title on dashboard page