MSS 9.0.0
Nilupul Manodya (@nilupulmanodya ) implemented SAML 2.0 (Security Assertion Markup Language) Authentication.
MSColab can now be configured with an existing IdP or multiple IdPs.
In this way, a user can authenticate themselves in one system and gain access to another system
by providing proof of authentication. In our documentation in the Components section you find a detailed description.
Matthias Riße (@matrss ) refactored the test suite and optimized and accelerated our CI test runs.
All tests run in parallel now and are not retried upon failure, and most tests are also executed in a randomized order, instilling more confidence in the results.
Quite a bit of duplicated code was unified, mostly using pytest fixtures.
Additionally, CI test runs now also happen on x86_64- and ARM-based macOS.
Jörn Ungermann (@joernu76 ) refactored various parts of MSColab for faster processing with fewer requests.
Reimar Bauer (@ReimarBauer ) refactored the tutorials and the documentation shows now mp4 files embedded in html5.
HINT:
The syntax of the server configuration of MSColab and MSWMS has changed. We removed the class definition.
For MSColab we have added new configuration options related to SAML2.
The change on the MSColab server also required changes on the MSUI handling the MSColab login. These changes are
not backwards compatible. Server and Client must use versions >=9.0.0.
We introduced a MSCOLAB_auth_user_name in the users configuration which simplifies the login process.
All changes:
https://github.com/Open-MSS/MSS/milestone/93?closed=1
What's Changed
- Merge stable to develop by @ReimarBauer in #1749
- Merge stable into develop by @ReimarBauer in #1779
- Tests added for remote sensing widget by @rootxrishabh in #1739
- Add an option to use pcolormesh instead of contourf for generic hsec … by @joernu76 in #1781
- Revamp of mscolab operation menu and addition of "archive" operation by @joernu76 in #1782
- new tests which needs a manual call by @ReimarBauer in #1790
- Merge stable to develop by @ReimarBauer in #1793
- MSColab authenticate/authorize restructuring by @joernu76 in #1792
- fill mswms_settings with default values. by @joernu76 in #1794
- preparing migration of json data to next major by @ReimarBauer in #1798
- individual imports by @ReimarBauer in #1801
- update super() calls to modern python by @joernu76 in #1800
- make starting up slightly faster by @joernu76 in #1797
- enable tests for GSOC branches by @ReimarBauer in #1799
- replace globals by locals by @ReimarBauer in #1802
- fix crash when getting credentials from keyring by @matrss in #1815
- inputs removed by @ReimarBauer in #1807
- replace 'werkzeug.urls.url_join' usage with 'urllib.parse.urljoin' (#1786) by @SergeLeon in #1817
- Switch default cmap of generics to "turbo" and allow reconfiguration … by @joernu76 in #1821
- add more entities to generic plots by @joernu76 in #1825
- Make colorbar ticks format in generics plot configurable by @joernu76 in #1829
- introduction of group management by @ReimarBauer in #1838
- Group managment by @ReimarBauer in #1844
- renamed endpoint for mscolab authentification by @joernu76 in #1843
- Merge stable into develop by @ReimarBauer in #1851
- on rename to a Group use import_permissions by @ReimarBauer in #1864
- warn on other needed implementations by @ReimarBauer in #1865
- Merge stable to develop by @ReimarBauer in #1887
- use stable ui for development with develop server by @ReimarBauer in #1891
- Merge stable to develop by @ReimarBauer in #1900
- made the auth name for mscolab configurable by @ReimarBauer in #1907
- Change QtCore.{Slot,Signal} to QtCore.pyqt{Slot,Signal} by @matrss in #1917
- fix login button problem by @joernu76 in #1914
- img-fluid for other images used by @ReimarBauer in #1909
- template_change by @mastersans in #1876
- Use old operation name as default for new name in rename_operation_ha… by @joernu76 in #1924
- Made MSColab timeout configurable. by @joernu76 in #1916
- chore: Ignore deprecation warnings from pkg_resources by @matrss in #1930
- fix: Replace load_module with exec_module by @matrss in #1932
- Better visibility for creator of an operation. by @joernu76 in #1938
- I1925 by @joernu76 in #1926
- Remove usage of future by @matrss in #1944
- Remove upper bound on flask-socketio version by @matrss in #1943
- catch DBusErrorResponse by @ReimarBauer in #1949
- care on logout after invalid request by @ReimarBauer in #1948
- feat:Add labels and waypoints to KML export files. by @joernu76 in #1953
- Remove redundant calls to "operations" by @joernu76 in #1941
- Remove usage of werkzeug.urls.url_encode by @matrss in #1911
- Replace matplotlib grid parameter 'b' with 'visible' by @matrss in #1956
- enable flake8 for gsoc branches by @ReimarBauer in #1975
- Some tidying up of handling imports in MSCOlab by @joernu76 in #1962
- show socketio transport layer in UI by @ReimarBauer in #1963
- Properly project points in KML files before drawing by @joernu76 in #1978
- logging functionality to socketio added and configured testing for critical erros by @ReimarBauer in #1966
- use category for selection by @ReimarBauer in #1988
- introduces a config var to skip archived operations on the server by @ReimarBauer in #1987
- Fix messagebox warnings by @matrss in #1967
- enable boa build and documentation by @ReimarBauer in #2002
- Merge stable to develop by @ReimarBauer in #1995
- Fix botched merge from 14 Aug 23 in mscolab.py by @joernu76 in #2012
- Properly fix legend issue in develop. by @joernu76 in #2009
- Added Return as shortcut to connect/login buttons. by @joernu76 in #1939
- improved io import tests by @ReimarBauer in #2014
- Fix focus-stealing by @joernu76 in #2021
- Remove "Oh no" from remaining status messages. by @joernu76 in #2029
- fix: Downgrade errors to warnings in unit conversion to not clog test-logs by @joernu76 in #2030
- topview should not using parent of mainwindow by @ReimarBauer in #2038
- moved user db stuff to file_manager by @ReimarBauer in #2046
- moved server request for last_used to the file_manager by @ReimarBauer in #2041
- moved db initialization by @ReimarBauer in #2049
- show urls and files when they exists by @ReimarBauer in #2053
- refactored ToDos of MSColab server code by @ReimarBauer in #2051
- Merge stable to develop new by @ReimarBauer in #2059
- merge of Gsoc2023 nilupul manodya by @ReimarBauer in #2069
- Replace SIGKILL with SIGTERM by @matrss in #2075
- fixes i2083 by @nilupulmanodya in #2089
- fixes i2084 by @nilupulmanodya in #2091
- fixes i2087 by @nilupulmanodya in #2092
- feature prepared for py311 by @ReimarBauer in #1923
- fixes i2085 by @nilupulmanodya in #2090
- Update actions used in the workflows by @matrss in #2098
- add missing newline after last line by @nilupulmanodya in #2096
- improve clarity VERIFY_SSL_CERT config option by @nilupulmanodya in #2094
- fixes flake8 error of conftest.py by @mastersans in #2102
- refactoring of tutorials, automated image creation for comparison by @ReimarBauer in #2097
- refactor wait until process signals instead pf sleep by @nilupulmanodya in #2099
- move server.py db parts to file_manager.py by @nilupulmanodya in #2106
- Review by pycharm and small refactoring by @ReimarBauer in #2110
- Refactor tutorials by @ReimarBauer in #2105
- remove unnecssary lines from gitignore by @nilupulmanodya in #2095
- fix: Fixed Inappropriate Logical Expression by @fazledyn-or in #2113
- Mambaforge (Discouraged as of September 2023) by @ReimarBauer in #2115
- Merge stable to develop by @ReimarBauer in #2131
- fix: fixed the typo changed gpdr to gdpr by @Beeram12 in #2139
- Reset config directory before each test by @matrss in #2136
- Remove unnecessary parentheses and inheritance from object by @matrss in #2138
- Fix collisions with builtins by @matrss in #2144
- Add per-operation locks to FileManager by @matrss in #2147
- Refactor Qt related tests to use pytest-qt by @matrss in #2146
- gives the server control over the clients login options by @ReimarBauer in #2118
- Refactor servers into fixtures by @matrss in #2149
- Remove wrong config file modification by @matrss in #2152
- using an IDP, email is already validated, we activate the profile by @ReimarBauer in #2119
- refactor: Renamed USE_SAML2 to use_saml2 by @Beeram12 in #2155
- Remove unnecessary development dependencies by @matrss in #2140
- Fix: ci issues and cherry-pick from stable branch. by @rohit2p in #2163
- Remove test retries in CI by @matrss in #2153
- Simplify mslib.utils.qt.Worker mock by @matrss in #2167
- Fix ConversionError with pint=0.23 by @matrss in #2168
- Consolidate skips due to start method "fork" by @matrss in #2166
- Remove unnecessary config settings by @matrss in #2171
- Merge stable to develop 2024 by @ReimarBauer in #2185
- Fix : UTC based timezone by @Preetam-Das26 in #2177
- Remove the serial test execution from CI by @matrss in #2158
- Fix: Scheduled test now triggers testing-stable.yml using workflow_dispatch by @rohit2p in #2196
- Remove unnecessary mocking by @matrss in #2169
- Removed redundant truthy line by @workaryangupta in #2203
- Remove pytest option to pass msui settings by @matrss in #2170
- Remove unnecessary skips by @matrss in #2165
- enable newer fastkml versions by @ReimarBauer in #2215
- any member of an operation should see who created the operation by @ReimarBauer in #2216
- separate urls and menu to server parts by @ReimarBauer in #2211
- catch exception when USE_SAML2 is True but configuration not completed by @ReimarBauer in #2214
- Fix: Refined QMessageBox mocking by @rohit2p in #2220
- Enable dependabot updates for GitHub Actions by @matrss in #2223
- Return aware datetime objects by @Preetam-Das26 in #2209
- Bump actions/setup-python from 4 to 5 by @dependabot in #2224
- Hardcoded img convention for route by @workaryangupta in #2218
- Do not use datetime.datetime.utcnow() by @Preetam-Das26 in #2225
- docs: Updated urls in document
NOTICE
by @Myrausman in #2228 - Fix typo for flight level coordinate in netCDF4tools.py by @gisi90 in #2235
- Refactor: Implement consistent usage of mscolab_settings.ARCHIVE_THRESHOLD in seed module by @workaryangupta in #2234
- Remove all occurrences of processEvents in tests/ by @matrss in #2237
- Remove all occurrences of qWait in tests/ by @matrss in #2246
- refactor : Used urljoin instead of string concatenation by @Myrausman in #2240
- docs: removed section
Setup msui_settings.json for special tests
by @Myrausman in #2252 - Use of Aware datetime objects by @Preetam-Das26 in #2239
- Fix some race conditions by @matrss in #2255
- Simplify GitHub Actions workflows by @matrss in #2173
- mscolab app does not need a static location from the gallery_builder by @ReimarBauer in #2250
- Replace: occurrences of tests.utils.wait_until_signal with qtbot.wait_signal by @rohit2p in #2247
- Merge stable to develop by @ReimarBauer in #2260
- fix: typo use_saml2 by @nilupulmanodya in #2264
- test : remove double used function calls in test by @Myrausman in #2268
- coverage for all branches and PRs in Coveralls by @Preetam-Das26 in #2272
- Add new tests for mscolab.model by @Preetam-Das26 in #2266
- fix: Resolve warning of TypeDecorator AwareDateTime() in
chat_manager.py
andfile_manager.py
by @Myrausman in #2271 - refactor: Replace pytz usage with zoneinfo module by @Myrausman in #2280
- xmlsec1 problems with windows by @ReimarBauer in #2222
- Test on macOS 13 and 14 by @matrss in #2249
- cycle login with multiple_flightpath_dockwidget by @ReimarBauer in #2278
- Fix docker image creation from develop branch by @matrss in #2296
- Update Dummy Email Addresses in Seed Module by @workaryangupta in #2305
- msidp : Update Docs, user settings and warn msgs by @nilupulmanodya in #2289
- Run the test suite in a random order by @matrss in #2287
- Removed Unique Constraint for Password Field in User Model by @workaryangupta in #2303
- Enhance user registration validation by @workaryangupta in #2304
- fix: Remove A005 from flake8 checks by @joernu76 in #2317
- fix logout problem with multipe flightpath docking widget by @ReimarBauer in #2319
- DateTime elements have seconds precision, optimized for fractions by @ReimarBauer in #2308
- Partially fix non-deterministic coverage by @matrss in #2318
- Merge stable to develop by @ReimarBauer in #2332
- Remove redundant testing_gsoc.yml workflow by @matrss in #2333
- active_op_id needs to be shared by @ReimarBauer in #2326
- fix: missing y2024 by @ReimarBauer in #2342
- Merge stable to develop by @ReimarBauer in #2344
- Merge stable to develop by @ReimarBauer in #2351
- improved menuinst by @ReimarBauer in #2281
- Use isoformat for mscolab timestamps by @ReimarBauer in #2345
- Remove weird class override by @matrss in #2354
- Use find_namespace_packages by @matrss in #2357
- Enable updates for GitHub Actions on stable by @matrss in #2352
- Verify the dict representation of a message has an isoformatted timestamp by @ReimarBauer in #2355
- Bump benc-uk/workflow-dispatch from 1.2.2 to 1.2.3 by @dependabot in #2282
- Replace YAML anchor and alias with duplication by @matrss in #2361
- Fix leftover directories after tests by @matrss in #2360
- Bump benc-uk/workflow-dispatch from 1.2.2 to 1.2.3 by @dependabot in #2363
- Bump actions/setup-python from 3 to 5 by @dependabot in #2364
- Bump actions/checkout from 3 to 4 by @dependabot in #2365
- Merge stable to develop by @ReimarBauer in #2367
- Tutorials for the next release by @ReimarBauer in #2373
- add future to environment of RTFD by @ReimarBauer in #2379
- sphinxcontrib-video added by @ReimarBauer in #2380
- removed reference to nonexisting document by @ReimarBauer in #2377
- prepare v9.0.0 by @ReimarBauer in #2381
- improve for testings log_file_level = DEBUG by @Preetam-Das26 in #2277
- Merge develop to stable == 9.0.0 by @ReimarBauer in #2384
New Contributors
- @mastersans made their first contribution in #1876
- @fazledyn-or made their first contribution in #2113
- @Beeram12 made their first contribution in #2139
- @workaryangupta made their first contribution in #2203
- @dependabot made their first contribution in #2224
- @Myrausman made their first contribution in #2228
Full Changelog: 8.3.5...9.0.0