Skip to content

Antares Web Changelog

v2.32.0 (2026-05-26)

Features

  • study: import study in given directory #3182
  • reserves: implement need matrix #3191
  • ui-studies: persist list view mode in localStorage #3198
  • ui-study: specific home view for archived study #3195
  • ui-study: hide job actions when study is archived #3204
  • study: forbid invalid characters in output_suffix #3210
  • ui-study: hide disk usage for external study #3213
  • variant: block snapshot generation when parent is archived #3211
  • logging: use ECS formatter, add more context fields #3206
  • backend_tablemode: finished implementing tablemode and testing #3193
  • feat(binding-constraints)!: alleviate binding constraints in config by using BindingConstraintConfig by @olivierPigeon-RTE in https://github.com/AntaresSimulatorTeam/AntaREST/pull/3203

Bug Fixes

  • ui-api: pass target_version as query parameter instead of json to upgrade studies #3142
  • raw: allow user resource modification on db studies #3179
  • reserves: remove name field #3188
  • xpansion: allow tree build for in-memory jobs #3192
  • logs: logs dir must be shared between workers #3197
  • ui-matrix: fix column header visibility on grouped matrix columns #3200
  • db-dao: fix enum types definition #3199
  • tablemode_backend: replaced uuid name by 'table_id' #3209
  • task: use short transaction when polling for task status #3212
  • ui-studies: otherOptions validation issue in launch dialog #3223

Performances

  • download: use short transactions when polling for download readiness #3196

Refactorings

  • disk_space_analyzer: reinforcing disk space analysis function #3208
  • matrix: remove matrix prefixes and "URI mapper" #3202

Miscellaneous

  • release: include uv.lock file in update_version script #3190

v2.31.0 (2026-04-23)

Features

  • output: introduce first part of v2 output storage #3075
  • ui: add scroll position restoration #3101
  • ui-studies,ui-directories: add support for favoriting studies and managed directories via the new API #3126
  • ui-thermal: allow to collapse 'Other emission rates' fields #3134
  • ui-studies: hide delete button for external studies #3139
  • disk_space_analyzer: add disk space analyzer task #3108
  • output: implement parquet storage #3123
  • thermal-ui: move co2 field #3144
  • study: compute study synthesis from database via DAO #3141
  • reserves: implement reserves activation variable #3140
  • bc: implement db dao #3130
  • ui-debug: clicking on a file item does not open the file #3151
  • reserves: implement global parameters #3154
  • ui-studies: add list visualization mode for listing studies #3148
  • matrix: database dao returns default matrices #3173
  • reserves: implement reserve definitions #3169
  • slurm,metrics: stable id for workers, used in metrics and slurm workspace #3177

Bug Fixes

  • app: fix app startup and remove dead code #3109
  • study: fix raw updated time #3110
  • tests: use TestClient as context manager #3111
  • output: configured output archive dir was not taken into account #3112
  • desktop: use pyqt6 as it has windows wheels #3120
  • ui-studies: sync managed tree selection with navigation changes #3102
  • dao: use lower ids for clusters in db #3125
  • tests: fix unit tests #3131
  • ui-tasks: handle null API fields in task schema validation #3132
  • study: allow db study deletion #3135
  • parquet: ensure reasonably large row group size #3137
  • study: allow modification on DB studies metadata #3136
  • output: build ts-numbers sts files #3143
  • ui-matrix: fix floating-point precision in filter operations and cell display #3150
  • ui-matrix: allow decimal and clearable value in operation field #3149
  • db: use batch insertions to avoid sql issues #3159
  • ts-numbers: support reading ntc folder #3167
  • matrix: /matrixindex endpoint now works on DB studies #3170
  • version: revert breaking change on version format in the API (#3124)" #3175
  • xpansion-dao: select correct columns in get_all methods #3180
  • output: fix output archive #3186
  • ui-matrix: simplify paste number parser #3187

Performances

  • commands: introduce a result object for future works #3081
  • db: introduce bulk fs dao methods for future works #3133
  • dao: less db requests inside study converter for thermal #3127
  • dao: less db requests for renewables #3145
  • dao: less db requests for area matrices #3146
  • dao: less db requests for links #3147
  • dao: less db requests for hydro #3152
  • dao: less db requests for binding constraints #3153
  • dao: less db requests for xpansion and user resources #3155
  • dao: less db requests for area ui and properties #3156
  • dao: less db requests for short-term storages #3158
  • dao: less fs requests for bc matrices inside study converter #3160
  • dao: less fs requests for some hydro matrices #3168
  • conversion: write fs matrices quicker #3171
  • ui-matrix: fix paste lag and locale-aware number parsing #3181

Refactorings

  • typing: replace deprecated typing types #3113
  • solver: use SolverVersion inside config instead of str #3121
  • ui-tasks: migrate tasks API to Zod/TanStack standards with GET endpoint #3122
  • variants: use the dao inside the snapshot generator #3138 Breaking change
  • version: change format inside some endpoints #3124 Breaking change

Miscellaneous

  • fastapi: avoid rebuilding routes to speedup tests startup #3100
  • release: v2.30.0 #3116
  • deps: update python dependencies (minor/patch) #3056
  • deps: update actions/upload-artifact action to v7 #3129
  • deps: update dependency pytest to v9.0.3 [SECURITY] #3157
  • deps: update dependency pyarrow to v23 #3164
  • deps: rollback tables upgrade #3166
  • tests: check download in fast loop to speed up aggregation tests #3172
  • study: remove get_files method from interface #3176
  • release: merge v2.30.0 into dev #3184

Tests

  • timezone: fix random failing tests #3115

Full Changelog: https://github.com/AntaresSimulatorTeam/AntaREST/compare/v2.30.0...v2.31.0

v2.30.0 (2026-03-23)

Features

  • ui-studies: add studies batch delete #2998
  • ui-storages,ui-bc: move temporary id creation for optimistic update on mutation callback #3007
  • ui-output: add districts list with areas #3016
  • matrix: support raw operations on db studies #3027
  • matrix: support raw modifications on db studies #3033 Breaking change
  • add disk usage log task: adding the disk usage log task #3071
  • ui-studies: add studies bulk move explorer #3073
  • ui-output: allow multiple searches #3079
  • study: handle directory copy #3087
  • ui-studies: update study destination path allowed special chars #3091
  • ui-outputs: trigger search on input change and refactor district retrieval #3092
  • ui-clusters: move the cluster selection before tabs and remove name field #3095
  • ui-studies: add showDescendants toggle for managed tree directory filter #3096

Bug Fixes

  • config: sync enr_modelling on advanced params save #3022
  • swagger: bug duplicated operation id #3068
  • raw: replace_matrix command failed for xpansion resources #3069
  • init: remove pre-start actions from startup script #3084
  • matrix: fix matrix format #3088
  • api: keep loose content-type behaviour #3105
  • output: aggregation failed on columns mismatch #3106
  • variant: move variants along with parent study #3094
  • study: incoherent state during long archive or unarchive #3104
  • output: restore settings data used by one client, in /outputs API #3107

Performances

  • craft: get /data endpoint answers as fast for variants and raw studies #3066

Refactorings

  • hydro: dao db hydro matrix #3009
  • dao: support thematic trimming in DB #3024
  • fastapi: align API endpoints with modern FastAPI conventions #3028
  • scenario-builder: study supports only one ruleset #3034 Breaking change
  • scenario-builder: implement database support #3020
  • comments: implements database support #3077
  • output: extract remaing outputs handling to output service #2923
  • xpansion: db dao normalized version #3090
  • xpansion: db dao resources #3103

Miscellaneous

  • deps: upgrade fastapi from 0.124.2 to 0.130.0 #3019
  • sonar: try to resolve taint issues #3023
  • sonar: fix last logging of uncontrolled data #3031
  • deps: bump pynacl from 1.6.0 to 1.6.2 #3035
  • deps: bump the uv group across 1 directory with 7 updates #3041
  • deps: add Renovate configuration #3042
  • renovate: update configuration file #3051
  • stopwatch: simplify stopwatch API #3048
  • deps: update python dependencies (minor/patch) #3055
  • deps: update github actions #3065
  • dao: add matrix mapper tests for filesystem dao #3072
  • scenario-builder: change foreign keys #3086
  • ui-studies: cap explorer sections height to keep external tree visible #3097
  • deps: update dependency PyJWT to ~=2.12.0 #3099
  • ui: update to react 19 #3032
  • uv: use astral uv to manage project environment #2796
  • ui: update MUI to v7 and MUI X Tree View to v8 #3076

v2.29.0 (2026-02-24)

Features

  • ui: improve study tree UX with collapsible sections, consistent icons, and stability fixes #3014
  • ui-studies: scope study search recursively to selected managed directory #3017
  • user-resources: implement database support #3006
  • matrix-store: add an admin endpoint to solve app issues #3010
  • ui-studies: make search global across all directories #3011
  • st-storage: implement database support #3008
  • dao: support renewable clusters in DB #3002
  • ui-bc,ui-storages: add enabled status icon to constraints lists #3003
  • ui-config: add new group for thematic trimming and new buttons by group #3000
  • hydro: dao db hydro #2985
  • ui-studies: add managed studies tree explorer #2986
  • favorite directory: adding favorite directory class #2984
  • dao: support study settings inside DB #2977
  • ui-output: add export variable view button #2988
  • dao: thermal clusters DAO #2978
  • layer: implement database support #2970
  • dao: add link matrices in DB #2975
  • ui-hydro: add compatibility form and new hydro matrices #2982
  • ui-config: simplify TS generation form #2971
  • launcher: add export mps option #2980
  • xpansion: support new fields inside settings #2960
  • dao: support links inside DB #2965
  • district: implement database support #2956
  • hydro: implement cr23 for rte-i #2966
  • area: add matrices inside DB DAO #2957
  • favorite: add backend favorite #2925
  • area: implement dao for properties #2952
  • area: implement database support #2780
  • ui-storages: add efficiency cross-validation #2950

Bug Fixes

  • ui: update incorrect query param key for st_storage in DTO adapter #3015
  • launcher: fix typo in export mps option #3001
  • celery: fix logging setup #2999
  • debug: add matrix prefix for the front-end #3004
  • ui-study: error displayed when opening the study home directly #2995
  • ui-outputs: add study id output id and area to download variable view button #2997
  • ui: issue with FormContext #2994
  • ci: fix broken deps #2990
  • tests: add retry for flaky tests #2993
  • sonar: fix sonar errors #2992
  • layer: remove optional fields in layer model #2989
  • celery: fix setup #2976
  • favorite: replace user id in favorite queries #2968
  • xpansion: allow candidate creation with integer name #2979
  • ui-queries: default staleTime #2973
  • alembic: merge heads #2962
  • alembic: create enum before migration #2963
  • alembic: bug during migration #2953
  • constraint: fix bug when deleting additionnal constraints #2958

Performances

  • archive: improve perfs #2987
  • ui: rework variants tree with responsive layout #3005
  • db: perform less select inside DAO methods #2996
  • aggregation: use polars instead of pandas #2943

Refactorings

  • dao: introduce a factory to initialize studies #2981
  • dao: add a utility upsert method #2983
  • ui: replace React Router by Tanstack Router #2888

Miscellaneous

  • db: ensure we only have one head for alembic #2972
  • matrix: various cleaning and improve some test performance #2935 Breaking change

v2.28.0 (2026-01-27)

Features

  • variable-view-gc: clean old materialized output variable view #2932
  • study: introduce roundtrip method #2823
  • thematic-trimming: add new fields #2924
  • output: add variables view export endpoint #2912
  • cr18: forced and planned outage counting for thermal time series #2892
  • compression_seven_zip: added compression parameter to the GET request and the export_study method #2881
  • ui-results: add variable per variable views dates column #2899
  • ui-results: introduce results variable per variable views #2887

Bug Fixes

  • ui-storages: add efficiency cross-validation (#2950) #2954
  • matrices: change Simulator default values #2938
  • ui-storages: allow efficiency > 100% for storages in study v9.2+ #2942
  • matrix: fix a potential issue with polars array transposition #2940
  • links: change default matrix values #2933
  • desktop: prevent console window to pop on study run #2911
  • ui: refetch districts after area changes to prevent invalid state #2909
  • st-storage: clean the sc-builder after deleting object #2903
  • ui-results: reset variable per variable selectors on data type change #2901
  • output: return the right MC years inside the variables view #2900
  • matrix-gc: don't clean variant used matrices in a limit case #2890
  • ui: prevent SplitView layout corruption on conditional children changes #2883
  • app: set threadpool size in anyio instead of asyncio #2886

Performances

  • matrix: use polars instead of pandas in the back-end #2926 Breaking change
  • matrix: perform less DB calls when normalizing/denormalizing #2896
  • aggregation: faster aggregation for clusters #2902
  • matrix: add in-memory predefined matrices #2894
  • ui-variants: remove commands.length dependency to prevent duplicate API calls #2871

Refactorings

  • output: move all output related features to output module #2919
  • db: migrate some remaining queries to SQLAlchemy 2.0 API #2910
  • matrix: remove study download level dto #2913
  • ui: move study details inline with breadcrumb and simplify display #2908
  • output: use aggregation code inside /download imagrid endpoint #2868 Breaking change
  • output: isolate the output storage #2882
  • celery: watcher task #2929
  • celery: implement maintenance container #2878
  • tasks: change task status type #2879

Miscellaneous

  • matrix: fix unit test and revert lock around polars #2934
  • logs: fixing some usage of stopwatch, adding logs to download api #2930
  • ci: update copyright year 2026 #2927
  • installer,desktop: remove dead code #2920
  • variable-views: stronger typing upfront #2915
  • ci: use uv to install dependencies #2917
  • mypy: fix typing after pandas-stub update #2916
  • pydantic: remove pydantic deprecated class-based config #2905
  • tests: fix random test failures where study is not yet scanned #2907
  • test: remove pytest related warnings #2906
  • archives: remove caching of zip file lists #2904
  • deps: bump fastapi #2801
  • output: change some logic inside the /variables-views endpoints #2893
  • desktop: bump pyinstaller to avoid numpy v2 issue #2895
  • db: initialize DB only once for all integration tests #2891
  • app: bump some backend dependencies #2889

v2.27.1 (2026-01-21)

Bug Fixes

  • study: make matrix default values consistent with antares-solver #2939

v2.27.0 (2025-12-09)

Features

  • output: add first variables view endpoint #2833
  • output: save variables views inside db #2847
  • metrics: add current requests gauge, fix exception handling #2851
  • metrics: add workspaces disk usage metrics #2852
  • metrics,db: add select event type #2866
  • metrics: avoid arbitrary metrics creation #2873

Performances

  • output: use Response instead of Pydantic object inside variables endpoint #2865
  • matrix: use polars library #2880
  • output: use polar inside aggregation #2884

Documentation

  • readme: re-write readme and add contributing instructions #2841

Bug Fixes

  • study: bug that would create a study even if the user does not belong to group #2834
  • tasks: task status update on restart must be done only once #2828
  • ui-studies: prevent study name truncation to avoid user errors #2836
  • variables: fix path concatenation for relative paths #2850
  • launcher: permission-denied-at-variant-simulation-launch #2845
  • matrix: use open with truncate instead of touch #2853
  • db,metrics: always explicitly close transactions on session exit #2861
  • db: remove nested sessions #2863
  • study-ui: rely on parent id to clean stale variants map and synthesis #2856
  • study-ui: remove double fetch study call #2869
  • user: always override data inside user folder #2864

Refactorings

  • output: do not use download mechanism inside variables endpoint #2846
  • ui-launcher: auto modification of field values related to launcher selection #2849
  • dao: add several missing methods #2825
  • ui-xpansion: update UI labels with explicit units and improve layout consistency #2858
  • study: remove study additional data #2838
  • ui-xpansion: update save button color for consistency #2867
  • ui-xpansion: update save button color for consistency #2875
  • ui,api: use semver library to compare versions on the front-end #2854

Miscellaneous

  • web: remove rate limiter #2848
  • datetime: introduce an utils method to get current datetime #2855
  • metrics: simplify exception handling #2860
  • logging: log server errors with request or task context #2862
  • alembic: add a test for alembic migrations #2872
  • utils: remove unused methods and classes #2876

Full Changelog: https://github.com/AntaresSimulatorTeam/AntaREST/compare/v2.26.0...v2.27.0

v2.26.0 (2025-11-07)

Features

  • study_editor: added study author and editor in study metadata dto 2743
  • ui-matrices: add new export formats with header 2769
  • desktop: allow to run without systray app 2786
  • ui-bc: add manual submit and constraint duplication 2762
  • output: add endpoint to retrieve time index for output matrices 2782
  • output: add endpoint to retrieve metadata on available columns 2770
  • study: add new endpoint for antares-craft to read a study 2742 Breaking change
  • ui-studies: add filters for unmanaged and unarchived studies 2787
  • metrics: introduce prometheus metrics 2783
  • user: create a blobstore for variant user resources 2777
  • metrics: add labels to task metrics 2798
  • ui-scenario: allow resetting cells to "rand" state 2806
  • ui-tasks: display all clusters metrics on Tasks view 2793
  • task_list_get_to_post: replacing post api method task_list by get 2808
  • launcher: add support for solver presets 2763
  • directory: implement directory management backend 2774
  • aggregate: add custom file download expiration time 2797
  • ui-tasks: add simulation tasks cluster display 2813
  • launcher: add versions in the /launchers endpoint 2837
  • ui-launcher: add solver configuration choice 2826

Bug Fixes

  • scenario-builder: validate data against study version 2750
  • ui: typescript issue 2778
  • study: remove output section and use camelCase inside /data endpoint 2790
  • generaldata: allow reading with missing sections 2799
  • ui-tasks: jobs without owner trigger an error 2792
  • generaldata: read sections with names not in lower case 2803
  • auto-archiver: fix bug auto-archiver 2804
  • output: fix issue inside links variables retrieval 2810
  • tasks: fix enum handling in API 2814
  • migrations: resolve alembic divergent heads 2815
  • presets: fix issue inside solver call 2819
  • build: add explicit type 2822
  • launcher: fix launcher argument naming in /versions endpoint 2821
  • ui-maps: view breaks when parent study gets a new area 2817
  • tasks: remove irrelevant status updates 2802
  • tasks: fix a memory leak 2824
  • layer: bug update layer 2829
  • ui: SelectFE prevalidation 2839
  • ui-studies: prevent study name truncation to avoid user errors 2840

Refactorings

  • area-properties: implement dao interface 2740
  • districts: introduce dao 2686 Breaking change
  • area-ui: adjust models and update logic for area UI properties 2747 Breaking change
  • hydro: introduce DAO for allocation 2753
  • hydro: introduce DAO for hydro correlation 2759 Breaking change
  • ui-launcher: update adequacyCriterion field 2766
  • area: implement dao 2756
  • ui: update RHF version and use the new feature to get dirty values 2768
  • ui: migrate Layers and Districts to glide data grid 2788
  • ui: migrate scenariobuilder from handsontable to glide 2789
  • ui: remove auto submit feature from Form 2794
  • output: adapt /variables endpoint to use new code 2791
  • launcher: add integration test solver presets 2820

Miscellaneous

  • deps: upgrade dependencies and refactor optional field handling 2754
  • version: bump default study version to 9.3 inside back-end 2758
  • sts: remove unused endpoints 2771 Breaking change
  • dao: move some methods inside the filestudy implem 2775
  • launcher: remove dead code 2776
  • datetime: clean deprecated method utc_now 2773
  • variants: remove useless UpdateConfig command at variant creation 2779
  • pydantic: remove legacy models 2781
  • test: clean mypy issues 2785
  • blobstore: initialize blobstore in test path 2795
  • binding-constraints: deprecate term-related endpoints 2812
  • test: remove useless markers in pyproject and tests 2811
  • desktop: remove desktop related resources 2807
  • api: misc cleanups 2818
  • ci: add more time for windows ci 2816

Full Changelog: https://github.com/AntaresSimulatorTeam/AntaREST/compare/v2.25.0...v2.26.0

v2.25.0 (2025-10-14)

Features

  • ui-matrix: add separate enable flags for Matrix filters and resize 2697
  • sts: add new field allow-overflow for v9.3+ studies 2708
  • ui: use custom dialog instead of window.confirm for unsaved/ongoing submit warning 2696
  • ui-launcher: update the dialog 2711
  • ui-scenario: filter scenario builder tabs by version 2698
  • ui-studies: add scope filter and a button to show/hide variants 2714
  • ui-studies: add folder navigation to individual study views 2710
  • ui-matrix: enable temporal filters where missing 2715
  • ui-matrix: enable filters on Inflows matrix 2717
  • ui: add threshold-based color for cluster computing indicators 2722
  • ui-debug: include filename in delete confirmation dialogs 2724
  • ui-matrix: recalculate stats based on filtered data when filters active 2723
  • xpansion: support reading and editing adequacy criterion inside back-end 2726
  • launcher: add new endpoint for launchers 2727 Breaking change
  • xpansion: support adequacy_criterion option inside slurm launcher 2734
  • area: rename some models 2695 Breaking change
  • ui: add filename to delete confirmation dialogs 2728
  • ui-studies: move favorites studies from Studies sidenav to main app sidebar 2730
  • ui-studies: make search field manual 2739
  • study_editor: added study author and editor in study metadata 2749
  • ui-studies: add study editor field display 2755
  • editor: updating editor name when modifying file studies 2700
  • ui-launcher: add adequacyCriterions field 2757

Bug fixes

  • bc: fix a bug when creating new bc 2699
  • ui-matrix: enable temporal filters for matrices with fixed column names 2709
  • ui-studies: minor changes on launch dialog 2716
  • ui-tasks: bug admin tasks invisible 2721
  • study: bug deleting raw study with variants 2720
  • upgrade: allow version to be given as 9.2 instead of 920 2725
  • desktop: re-enable watcher config 2731
  • xpansion: rollback default value for max_iteration 2733
  • commands: use impersonator instead of id for user_id attribute 2735
  • launcher: change cmd line for local launcher with v9.3 2732
  • output: remove zipped output after unarchiving for all studies 2736
  • ui-study: variant not visible after creation 2729
  • launcher: remove duplicate launcher id argument and fix API call 2738
  • output: allow aggregation with columns mismatch 2718 Breaking change
  • launcher: fix arguments handling in local launcher 2741
  • worker: fix archive worker startup 2748
  • adequacy-criterion: fix simulation calls 2764

Refactorings

  • user: introduce dao for user commands 2692
  • ui-common: improve SplitView prop naming and fix decimal precision in localStorage 2693
  • scenario_builder: introduce dao 2719
  • ui-studies: update launch dialog 2746

Full Changelog: https://github.com/AntaresSimulatorTeam/AntaREST/compare/v2.24.0...v2.25.0

v2.24.0 (2025-09-08)

What's Changed

Features

  • cluster: use free groups for thermal and renewable in v9.3 2613
  • optimization: implements DAO for optimization config 2598
  • generalconfig: add dao for config general 2579
  • study: enable study 9.3 creation 2626
  • thematic-trimming: support new 9.3 fields 2625
  • sts: support additional constraints 2557
  • matrix: when denormalizing, only write content if it isn't the default one 2632
  • matrix: add arrow format for input matrices inside GET /raw endpoint 2624
  • ui-api: add storage additional constraints functions 2610
  • ui-storages: add storages additional constraints view 2639
  • scenario-builder: support sts inflows 2636
  • ui-storages: update additional constraints 2643
  • ui-storages: allow inflows matrix resize for v9.3 studies 2649
  • ui-sts: add additional constraints matrix 2650
  • parameters: return model inside edition endpoints responses 2659
  • matrix_usage_provider: add usage provider 2583
  • matrixstore: add a retention time inside the garbage collector 2664
  • matrix_references: finished matrix references and unit testing 2673
  • solver: add new solver options for linear and quadratic 2680
  • ui-sts: add occurrences edition in additional constraints form 2666
  • layer: storage isolation 2677
  • scenariobuilder: handle storages additional constraints 2681
  • ui-scenario: add sts constraints scenario builder UI 2687
  • ui-playlist: disable action buttons when no year is selected 2688
  • ui-matrix-filter: enable granular removal of filter values via separate chips 2682

Bug fixes

  • alembic: fix concat not supported on sqlite 2618
  • sts-matrix: restore deprecated enpoint as a security net 2616
  • tests: remove inter-test dependency 2627
  • matrix: don't raise when optional matrices don't exist 2631
  • outputs: allow study copy with archived outputs 2634
  • general: write building mode in lower case 2644
  • general: remove building_mode from the generaldata.ini 2645
  • sts: make constraints matrices optional 2646
  • table-mode: remove cluster column for additional constraints 2648
  • ui-bc: exclude filterSynthesis and filterYearByYear for study versions < 8.3 2654
  • migration: fixes migration for sqlite 2657
  • thematic-trimming: regression introduced by the DAO 2656
  • st-storage: fix issue when reading hours field for additional constraints 2661
  • matrix: fix missing import in matrix service 2662
  • raw: fix getting link output data 2660
  • matrix-gc: fix singleton services creation 2663
  • tests: fix random failure in matrix gc tests 2668
  • ui: resolve z-index conflicts for dropdowns and MatrixFilter drawer in dialogs 2658
  • ui-sts: preserve active tab when saving a matrix 2674
  • ui: preserve tab state by passing ReactNode to TabsView content 2676
  • ui-optimization: add new options for 'exportMps' field 2669
  • ui-districts: update erase areas 2684
  • matrix-gc: reduce matrix gc memory usage 2689
  • scenario: fix scenario builder API regressions 2691

Performances

  • matrix: write matrices as integers when possible 2641
  • matrix: return matrices as integers when possible inside endpoint 2655
  • raw: avoid double tree parsing when getting file content 2667

Refactorings

  • advanced parameters: introduce dao and new classes design 2628
  • xpansion: implement dao and new class design for candidates 2614
  • thematic-trimming: introduce DAO and associated command 2635
  • adequacy-patch: introduce DAO and new class design 2629
  • xpansion: introduce DAO and new class design for settings 2637
  • settings: implement DAO for timeseries configuration 2640
  • xpansion: introduce DAO for resources 2653
  • dao: use dao inside the generate thermal timeseries command 2665
  • scenario_builder: improve scenario builder implementation 2679 Breaking change
  • comments: introduce dao 2685
  • playlist: introduce dao and new class design 2683 Breaking change

Chore

  • mypy: fix issue due to deps bump 2622
  • node: clean normalization / denormalization methods 2633
  • release: v2.23.0 2642
  • patch: remove "patch" related dead code 2652
  • study: remove unused validation feature 2670 Breaking change

v2.23.0 (2025-08-07)

What's Changed

Features

  • ui-tasks: filter tasks by user 2547
  • matrix: add different handling of matrix for managed and unmanaged study 2515
  • matrixstore: add get matrices endpoint 2541
  • scenario_builder: handle hydro final levels inside the front-end 2562
  • thematic-trimming: add value to unselect constraints results 2567
  • ui-matrix: add advanced filtering and bulk editing system 2522
  • st-storage: add coherence checks for v9.2 2577
  • matrix: normalize study at import and copy 2580
  • ui-studies: add select/deselect all in outputs fields in copy dialog 2561
  • desktop: ui improvement 2575
  • matrix: add endpoint to normalize studies 2586
  • ui-sts: allow in study >= 9.2 to see the legacy group list in group text field 2595
  • study: forbid illegal characters in study name and folder path 2594
  • generaldata: remove v9.3 depreciated properties in general data 2604
  • study: add editor field in study 2546

Bug fixes

  • study: copied study's outputs not downloadable 2539
  • bc: forbid area/cluster deletion when referenced in a constraint 2550
  • launcher: forbid single quotes in other_options 2560
  • matrix: change default simulator matrices for thermals 2569
  • clusters: perform whole data validation before modifying files 2570
  • matrix-filter: incorrect callback signatures for column filter controls 2574
  • ui-matrix: update default values preventing import and matrix updates 2578
  • xpansion: change validation rule for xpansion field 2585
  • desktop: fix broken explorer tests 2593
  • ui-results: resolve variant data display, infinite loops, and state inconsistencies 2564
  • ui-matrix: use UTC for date/time display to avoid DST issues 2584
  • xpansion: forbid capacity deletion if referenced inside a candidate 2596
  • matrix: fix concurrent matrix write 2599
  • xpansion: forbid candidate deletion when referenced in sensitivity 2601
  • studies: make all managed studies folder end with id 2600
  • alembic: alembic merge heads 2612
  • alembic: fix migration syntax for postgresql 2617
  • sts-matrix: restore deprecated enpoint as a security net 2620
  • alembic: fix migration for sqlite 2619
  • matrix: don't raise when optional matrices don't exist 2630
  • launcher: remove processing of other_options 2545
  • output: remove renaming aggregation 2607

Performances

  • ui-matrix-filter: remove date parsing 2606
  • cluster: optimize a bit the update methods 2608
  • cache: re-use the cache more often 2609
  • app-version: refactor version endpoint 2582

Refactorings

  • st-storage: introduce the DAO layer and improve classes design 2513
  • ui-studies: update StudyPathFE pre-validation 2591
  • allocation: replace list matrix type by numpy array 2581
  • ui-commons: update NewSelectFE and replace deprecated SelectFE with it 2602
  • hydro: introduce the dao layer and improve class design 2590

Build

  • deps: bump pydantic and fastapi 2555
  • deps: bump uvicorn and python-multipart 2556
  • launcher: bump launcher to v1.4.5 to benefit from improved retries 2597
  • sqlalchemy: bump to v2.0 2576
  • simulator-version: bump antares-solver to v8.8.17 2592

Miscellaneous

  • mypy: fix issue due to deps bump 2623

Full Changelog: https://github.com/AntaresSimulatorTeam/AntaREST/compare/v2.22.1...v2.23.0

v2.22.1 (2025-07-07)

What's Changed

Features

  • thematic-trimming: add variable NPCAP HOURS 2568

Bug fixes

  • watcher: watcher should not be started when not asked for 2565
  • output: dont scan whole output dir recursively 2563
  • ui: remove the column name from the copy on DataGrid 2566

Full Changelog: https://github.com/AntaresSimulatorTeam/AntaREST/compare/v2.22.0...v2.22.1

v2.22.0 (2025-06-25)

What's Changed

Features

  • launcher: support multiple launchers 2466
  • ui-desktop: show recursive scan checkbox only on desktop 2494
  • desktop: system workspaces 2459
  • ui-study,ui-studies: uniformize context menu 2496
  • ui-study: add copy dialog and rename action in context menu 2514
  • ui-study: add destination folder in copy dialog 2516
  • output: result aggregation as a task 2485 Breaking change
  • ui-study: add outputs list in copy dialog 2518
  • ui-debug: move the save button on menu bar in JSON view 2520
  • ui-debug: update style of JSON view 2521
  • version: support Simulator version 9.2 2428 Breaking change
  • study-tree,ui-study-tree: preview studies not scanned yet 2524
  • sts: handle additional constraints files inside the tree 2533
  • ui-studies: update name and folder fields validation 2534

Bug fixes

  • study: rename variable for study copy 2486 Breaking change
  • launcher: fix local launcher unit test 2498
  • bc: allow updates for bc with a name as an integer 2497
  • ui-studies: minor workspaces related fixes 2499
  • desktop: add missing name field to config.yml desktop template 2503
  • lint: remove obsolete type: ignore 2510
  • study: fix a bug when renaming study then archive and unarchive 2517
  • link: handle legacy commands 2519
  • login: prevent crash inside /users and /groups endpoints 2525
  • launcher: job owner launches the unarchiving task 2526
  • output: reduce memory consumption of output download 2531
  • simulation: allow study to be run with expansion mode 2492
  • study-version: bug parsing study version 2535
  • results: normalize mode output path segment 2536
  • links: allow legacy parsing for create link command 2537
  • desktop: clean deleted studies desktop mode 2532
  • ui-bc: cannot create BC on study < 8.7 2542
  • ui-study,model: update delete message 2538
  • ui-studies: make study folder fields optional 2544
  • imagrid: use economy instead of Economy 2548
  • groups: distinguish between group and creation DTO 2543
  • workers: use gunicorn to autorepair load balanced workers 2540
  • study: copied study's outputs not downloadable 2539

Refactorings

  • links: introduce a DAO layer and improve classes design 2454
  • thermal: introduce the DAO layer for thermal clusters 2502 Breaking change
  • ui-tokens: optimize the view 2508
  • renewable: introduce the DAO layer and improve classes design 2509
  • bc: introduce the DAO layer and improve classes design 2523

Full Changelog: https://github.com/AntaresSimulatorTeam/AntaREST/compare/v2.21.0...v2.22.0

v2.21.0 (2025-05-26)

What's Changed

Features

  • ui-playlist: update the dialog by 2473
  • aggregation: streamed aggregation by 2484
  • workspaces: forbid additional workspaces on desktop by 2394

Bug fixes

  • scan: use workspace and study path as key of missing studies 2480
  • thermal: return hard coal group in lower case 2487
  • desktop: allow users to create empty studies 2488
  • bc: fix issue when updating time_step via table-mode 2489
  • ui-studytree: minor fixes and improvement 2477
  • scan: properly filter default workspace 2483
  • desktop: use antares-solver_windows instead of rte-antares--installer-64bits 2457
  • study: fix a bug when deleting all tags 2493
  • import: reduce memory use when importing large files 2500
  • user: allow to fetch ldap users 2501
  • ui-playlist: some issues 2495

Performances

  • db: remove N+1 requests when getting users and groups list 2490

Refactorings

  • login: remove RequestParameters class 2467
  • matrix: remove ContextServer and simplify UriResolverService 2463

Full Changelog: https://github.com/AntaresSimulatorTeam/AntaREST/compare/v2.20.0...v2.21.0

v2.20.0 (2025-04-30)

What's Changed

Features

  • ui-api, digest: enhance DigestDialog and add dedicated endpoint for digest UI 2240
  • matrices: allow other formats for internal matrices storage 2113
  • area: move area command creation 2322
  • ini: allow custom parsers/serializers for ini options 2332
  • matrix: never return empty matrix 2296
  • properties: add two fields to area properties form 2347
  • ui-matrix: enable flexible row count configuration 2345
  • xpansion: create remove_xpansion_configuration command 2361
  • renewable: add update renewable cluster command 2352
  • xpansion: introduce create_xpansion_configuration command 2366
  • st-storage: add update st storage command 2354
  • xpansion: add remove_xpansion_resource command 2368
  • ui: update MUI theme 2335
  • xpansion: add create_xpansion_resource commands 2371
  • thermal: add update thermal cluster command 2356
  • ui-matrix: add MatrixResize allowing columns resize on matrices 2340
  • xpansion: add candidate commands 2367
  • binding-constraints: create UpdateConstraints command 2274
  • hydro: add update hydro management option command 2374
  • xpansion: add update_xpansion_settings command 2393
  • area: replace update config in table mode areas 2350
  • adequacy_patch: update default values in adequacy patch form, in english and french view 2402
  • logs: add task_id and user.id to logs 2414
  • hydro: add new endpoint to get hydro related properties for the whole study 2420
  • variant_study: copy variant as raw study 2405
  • ui-studies: display the study list in the tree even if folder list is loading 2427
  • study: copy study with specific path 2439
  • ui-matrix: add copy paste and keybinds support 2441
  • study: copy only selected outputs 2447
  • aggregator_manager: enable aggregation size on endpoint 2451
  • matrix: support matrices with headers inside the matrixstore 2450

Bug fixes

  • all: multiple warnings fix 2318
  • explorer: normalize folder path 2329
  • commands: fix error on command notifications 2323
  • st-storage: fix ST storage groups case for v8.6 2342
  • scan: fix workspaces can't overlap nor be renamed 2334
  • ui-debug: treat 'file://*.json' files as JSON instead of unsupported 2346
  • study-tree-ui: add exist true filter to studies request 2339
  • ini: ignore case when performing update and delete of ini files 2353
  • xpansion: allow matrices normalization 2369
  • matrix: change headers inside GET /raw endpoint when formatted is False 2375
  • all: refactor the camel case model annotation 2376
  • hydro_management: fix read and write in hydro.ini 2370
  • mypy: change writing inside pandas replace method 2391
  • ui-matrix: prevent fill handle updates for read-only matrices 2383
  • ui-digest: conditionally render digest button based on synthesis availability 2389
  • study: allow creating old studies with new version format 2400
  • perfs, variant: avoid loading study from disk for snapshot generation 2386
  • areas: allow negative spread costs 2407
  • bc: allow terms writing in any case and allow area/cluster names in endpoint 2406
  • adequacy_patch: fix bad tooltip 2415
  • study-tree-ui: fix several bugs and major refactoring 2348
  • adequacy-patch: fix serialization issue inside the ini file 2418
  • terms: revert breaking change 2421
  • ui-matrix: disable resize on non-timeseries matrices 2419
  • ui: multiple new theme issues 2422
  • db: fix relationship issues inside tests 2429
  • tests: fix relative import issue 2432
  • commands: use ids inside newly introduced update commands 2424
  • area: fix bug on allocation and correlation views 2434
  • variants: don't raise Exeptions when deleting a variant 2437
  • ui-adequacy-patch: remove unwanted fields and fix display 2436
  • ui: theme issues 2443
  • ui-studies: folder filter hide all studies 2445
  • raw: raise Exception when modifying expansion folder inside variant 2446
  • ui-storages: disable resize on inflow matrix 2442
  • ui-matrix: disable keybinds on read-only matrices 2453
  • ui-adq-patch: fix display of includeHurdleCostCsr switch 2458
  • ui-matrix: ensure consistent column sizing when switching between matrices 2461
  • aggregation: allow aggregation for variants 2462
  • ui-matrix: add aggregates columns calculation on matrix resize 2456
  • ui-digest: make first column fixed 2460
  • ui-clusters: handle area/cluster navigation by properly updating URL segments 2455
  • matrixstore: ensure we can read legacy null matrix 2465
  • ui-settings: style issues in form dialogs 2468
  • hydro: allow negative values for hydro allocation coefficients 2464

Performances

  • links: improve drastically perfs for update links inside table-mode 2381
  • ui-results: prevent infinite rendering in results matrices 2388
  • table-mode: speed-up mass update for thermal clusters 2416
  • table-mode: speed-up mass update for renewable clusters 2423
  • table-mode: speed-up mass update for short term storages 2425

Chore

  • group: enforce lower case for item groups 2333
  • simulator: bump simulator v8.8 version inside Desktop app 2355
  • deps: use antares-study-version package for study creation 2358
  • patch: remove patch service 2359
  • dev: share pre-commit configuration for local dev 2360
  • typing: add TypeAlias where missing 2401
  • config: remove unused cache dict 2404
  • ci: remove ubuntu20 from the ci 2426
  • tests: remove useless zip and introduce new study fixtures 2431
  • variant: remove obsolete execute_or_add_commands method 2438
  • outputs: create a dedicated output service to separate concerns 2448

Refactorings

  • ui-clusters: update clusters group names to lowercase 2341
  • all: remove pydantic v1 dependencies 2344
  • services: fix wrong dependency from business to service 2343
  • thermal: improve classes design for thermal clusters 2430
  • commands: remove apply config 2449

Build

  • lint: use ruff instead of isort and black 2349

Tests

  • sts, renewable: add command dto unit tests 2392

Documentation

  • fix broken links and disable default expansion 2435
  • add some docstring to some important database classes 2440

Full Changelog: https://github.com/AntaresSimulatorTeam/AntaREST/compare/v2.19.2...v2.20.0

v2.19.2 (2025-03-17)

What's Changed

Bug fixes

  • commands: fix create_st_storage v1 parsing 2408

v2.19.1 (2025-03-11)

What's Changed

Bug fixes

  • commands: add missing index on commands table, for performances 2373
  • bc: allow term modification 2372
  • groups: groups in lowercase 2377
  • ini: ignore case when performing update and delete of ini files 2378
  • commands: remove command notifications 2379
  • hydro: case insensitive read and write in hydro.ini 2387
  • debug: ensure .json files with prefix file:// proper rendering 2390

Perfs

  • links: improve drastically perfs for links inside table-mode 2384

Full Changelog: https://github.com/AntaresSimulatorTeam/AntaREST/compare/v2.19.0...v2.19.1

v2.19.0 (2025-02-10)

What's Changed

Features

  • ts-gen: add failing area and cluster info inside error msg 2227
  • commands: add study_version information inside commands 2202
  • matrix: allow import for comma-separated csv 2237
  • ui-commons,ui-api: allow to export matrices to CSV 2236
  • link: add update endpoint for link 2175
  • raw: allow folder creation inside user folder 2216
  • clusters: convert groups and names to lower case 2182
  • commands: add creation timestamp and user name inside commands 2252
  • ui-cmd: add command details on variants commands panel 2265
  • ui-debug: add unsupported files handling 2260
  • aggregation-apis: rename aggregation cols 2250
  • api,ui-studies: update study move 2239
  • raw-api: add an endpoint to retrieve files in their original format 2244
  • ui-links: set first link as default when component mounts 2268
  • ui-studies: add on click fetch and display list of non studies folder 2224
  • ui-debug: add download in original file format 2277
  • variant: add reason when variant generation fails 2290
  • launcher: allow local launcher to work with xpress 2251
  • installer: update installer for v2.19 2297
  • bc: add constraint duplication endpoint 2295
  • ui-api, studies: optimize studies listing 2288
  • ui-tablemode,ui-playlist: replace Handsontable by Glide Data Grid 2289
  • feat: add an endpoint to allow multiple deletion of binding constrain… 2298
  • ui-hooks: update useSafeMemo and useUpdatedRef 2309
  • ui-studies: sort study tree folders 2300
  • study: normalize study path 2316
  • feat(ts-gen): replace legacy endpoints with new ones 2303
  • ui-commons: allow multiple cells to be pasted in DataGridForm 2328

Bug fixes

  • link: fix empty string handling in filter conversion 2232
  • ci: use fixed versions for gh actions for build stability 2255
  • links: fix a bug that occurred when updating links via table-mode 2256
  • tasks: fix frozen task with load balanced pgpool 2263
  • ui-bc: use matrixindex timesteps for row display 2262
  • xpansion: fix several issues related to weights and constraints 2273
  • ui: fix untranslated message 2275
  • link: add comment attribute in link that was missing and causing an 422 error 2281
  • matrix: remove columns full of NaN inside matrices at the import 2287
  • matrix: return default empty matrix even when called with formatted=False 2286
  • list_dir: check permissions and consider workspace filters config 2279
  • raw: change bytes serialization when formatting is False 2292
  • desktop: fixes calendar issue when reading matrices on Linux 2291
  • disk-usage: suppress exceptions 2293
  • study-tree: fix tooltip message key 2306
  • matrix: allow odd matrix format when importing 2305
  • ui: resolve sonar complexity warning 2311
  • ui-studies: display 'default' workspace even if empty 2301
  • ui-studies: 615 minor fixes 2314
  • bc: fix a bug that would occurs after deleting multiple bc 2317
  • ui-tablemode: adjust the size of the column with the initial data 2320
  • ui-tablemode: prevent small values from being cut off and remove empty space at the bottom 2321
  • ui-commons: keep auto size for DataGrid 2324

Chore

  • upgrader: remove duplicated tests 2235
  • commands: fix user name display in commands 2284
  • ui: update license year 2307
  • ui: bump vite from 5.4.8 to 5.4.14 2308
  • ui: disable TS null assertion and update the code that use it 2312
  • commands: remove obsolete variant-related features 2326
  • ui-common: bump MUI to v6.4.3 to resolve Select list bug causing crashes 2330
  • all: bump pydantic and linting packages 2331
  • copyright: Update year in copyright headers 2299

Continuous integration

  • commitlint: add new rules for scope 2319
  • mypy: enforce explicit overrides 2270
  • github: add PR title lint job 2304

Breaking changes

  • ts-gen: replace legacy endpoints with new ones 2303

Full Changelog: https://github.com/AntaresSimulatorTeam/AntaREST/compare/v2.18.3...v2.19.0-test

v2.18.3 (2024-12-17)

What's Changed

Bug Fixes

  • ui-results: resolve data misalignment in matrix column filtering 2269

Full Changelog: https://github.com/AntaresSimulatorTeam/AntaREST/compare/v2.18.2...v2.18.3

v2.18.2 (2024-12-11)

What's Changed

Bug Fixes

  • tasks: frozen tasks with pgpool 2264

Full Changelog: https://github.com/AntaresSimulatorTeam/AntaREST/compare/v2.18.1...v2.18.2

v2.18.1 (2024-12-02)

What's Changed

Bug Fixes

  • ui-tablemode: style missing 2257
  • ui-studies: multiple API calls on study list view 2258
  • events: avoid slow processing of events 2259

Full Changelog: https://github.com/AntaresSimulatorTeam/AntaREST/compare/v2.18.0...v2.18.1

v2.18.0 (2024-11-29)

What's Changed

Features

  • ui-common: integrate GlideDataGrid into MatrixGrid 2134
  • pydantic: use pydantic serialization 2139
  • aggregation-api: delete index from the response file 2151
  • variant: add new endpoint to clear snapshots 2135
  • version: use class StudyVersion to handle versions 2156
  • Increase cleaning snapshot frequency 2173
  • tests: add tests on matrix index 2180
  • desktop: open browser when server is started 2187
  • ui-tablemode: prevent duplicate columns 2190
  • watcher: filter out upgrade and TS generation .tmp folders 2189
  • installer: update installer version and improve desktop version launcher 2157
  • tasks: add new endpoint to fetch task progress 2191
  • bc: use update_config instead of update_bc for multiple updates 2105
  • ts-gen: display progress bar via websockets 2194
  • watcher: add new endpoint for optimized scanning 2193
  • ui-ts: update TimeSeriesManagement page to allow the generation of TS 2170
  • matrices: allow csv import 2211
  • matrix: allow import for various formats 2218
  • ui-results: enhance results columns headers 2207
  • auto_archive_service: increase cleaning snapshot frequency 2213
  • ui-study: change error display in FreezeStudy 2222
  • ui-settings: allow to change app language 2226
  • ui-results: add column filters 2230
  • ts-gen: add failing area and cluster info inside error msg (#2227) 2231
  • Add new build directory structure 2228
  • installer: update installer for new directory layout 2242
  • ui-studies: allow to move an archived study 2241
  • ui-i18n: change translations for thermal fields 2246

Bug Fixes

  • ci: multiply timeouts on windows platform 2137
  • playlist: change response model to accept optional answers 2152
  • api: allow nominalcapacity to be a float inside API response 2158
  • adq_patch: set default value for field enable-first-step to False 2160
  • pydantic: allow str fields to be populated by int 2166
  • api: allow min_stable_power to be a float inside API response 2167
  • snapshot_cleaning: set ref_id to None to prevent postgresql crash 2169
  • allocation: show matrix even with only one area 2168
  • Enable foreign keys for sqlite 2172
  • matrix-index: return the right year 2177
  • tests: adapt new year for index test 2178
  • db: migrate db to use foreign key inside sqlite 2185
  • Apidocs redirect 2186
  • bc: display matrix index according to frequency 2196
  • docker: reduce docker image size 2195
  • xpansion: fix typo inside backend api call 2197
  • matrix: return empty index for empty matrices 2198
  • archive: raise Exception when (un)archiving wrong outputs 2199
  • installer: update installer to fix install to wrong directory 2205
  • ts-gen: add failing info in the front and fix pandas issue in the back 2208
  • ui-ws: rename the task progress event type 2209
  • export: allow digest file download 2210
  • ui-maps: area positions are not saved 2212
  • ts-gen: bump package to avoid fo_rate or po_rate exceptions 2215
  • ui: progress bar issue 2217
  • ui-ts: submit partial values instead of all 2223
  • ui-tasks: add missing new task notifications 2225
  • ts-gen: make variant generation fail when it's supposed to 2234
  • desktop,windows: wait a few seconds for browser to open 2247
  • outputs: allow reading inside archive + output with . in the name 2249
  • export: allow export for zipped outputs 2253

Continuous Integration

  • tests: reduce number of workers for tests 2149

Documentation

  • Improve of the documentary tree and make some update 2243

Build

  • python: bump project dependencies 1728
  • ui: fix rollup issue 2161
  • ui: fix issue with build result not working 2163
  • deps: bump launcher and paramiko versions 2140
  • python: bump python version to use v3.11 2164

Chore

  • front-end: add license headers inside front-end 2145
  • variants: increase timeout duration for variant generation 2144
  • license: add a new ESLint rule to check license header 2150

Perf

  • scripts: improve load balancing 2165

Style

  • license: reformat license header inside front-end 2148
  • api: change apidoc example to make it work 2155
  • variant: improve logs 2179

Refactor

  • workers: remove the simulator worker 2184
  • ui: replace MatrixInput with Matrix Glide Data Grid integration 2138
  • aggregation-apis: remove time column from the aggregated data 2214

Tests

  • ui-utils: add tests for validation utils & refactor imports 2192

BREAKING CHANGES

  • archive-apis: use .7z format to archive studies 2013

Full Changelog: https://github.com/AntaresSimulatorTeam/AntaREST/compare/v2.17.6...v2.18.0

v2.17.6 (2024-09-25)

What's Changed

Features

  • upgrader: use antares-study-version package 2108
  • ts-gen: add timeseries generation 2112
  • bc: show existing matrices only 2109
  • aggregation-api: add new endpoint for economy/mc-all aggregation 2092
  • installer: add installer as a submodule 2110
  • ui-debug: update the view 2093

Bug Fixes

  • ui-areas: add correct unit in title in Properties form 2115
  • hydro: wrong frequency for inflow pattern 2116
  • adequacy-patch: csr relaxation must be an integer 2123
  • launcher-api: remove orphan JobResults visibility permissions 2128
  • ui: add missing i18n key and styles on EmptyView 2127

Continuous integration

  • github: split npm jobs and add dependency caching 2118
  • test: parallel pytest execution 2133

Documentation

  • Add installer directions 2114

Build

  • Move all build and project configuration to pyproject.toml 2122
  • Use relative paths in coverage report 2125
  • Remove auto-generated changelog from desktop package 2126

Chore

  • Fix licensing-related issues 2132
  • Add license headers for projects files 2130

BREAKING CHANGES

  • aggregation-api: add new endpoint for economy/mc-all aggregation 2092

Full Changelog: https://github.com/AntaresSimulatorTeam/AntaREST/compare/v2.17.5...v2.17.6

v2.17.5 (2024-08-05)

Bug Fixes

  • sonar: resolve sonar security issues 2098
  • sc_builder: make section case insensitive 2106
  • output: endpoint GET /variables works with no areas or links folder 2107

Full Changelog: https://github.com/AntaresSimulatorTeam/AntaREST/compare/v2.17.4...v2.17.5

v2.17.4 (2024-07-29)

Features

  • output: enhance output synthesis view 2088
  • ui-study: add button to display 'digest' file on successful tasks in task list 2101
  • ui-bc: increases constraint terms field size 2102
  • bc: avoid unnecessary creation of RHS matrices for binding constraints 2077
  • ui-results: add button to display 'digest' file in result list 2103

Bug Fixes

  • area: allow removal when aggregated mode used 2094
  • ui-map: prevent name field to overflow dialog box and add more space 2102

Full Changelog: https://github.com/AntaresSimulatorTeam/AntaREST/compare/v2.17.3...v2.17.4

v2.17.3 (2024-07-18)

Features

  • api: do not allow areas, links or thermals deletion when referenced in a binding constraint 2061
  • outputs: build outputs tree based on filesystem 2064
  • api-raw: raise a 404 Not Found error when a resource is missing in the study 2078

Bug Fixes

  • ui-clusters: improve cell number values accuracy by using rounding instead of truncating 2087
  • ui-commons: prompt from Form displayed on dialog validation 2089

Continuous integration

  • workflows: update Actions in GitHub workflows 2080

Documentation

  • user-guide: updating Binding Constraints Commands documentation and metadata for search 2082
  • user-guide: improve the user guide and add "How to Create a New Study?" topic 2081

Full Changelog: https://github.com/AntaresSimulatorTeam/AntaREST/compare/v2.17.2...v.2.17.3

v2.17.2 (2024-06-19)

Features

  • ui-api: add scenario builder v8.7 full support #2054
  • api,ui-config: add 'MILP' value option in 'Unit Commitment Mode' field for study >= v8.8 #2056
  • outputs: remove useless folder updated_links #2065
  • ui: add save button static at bottom and fix style issues #2068
  • ui-theme: increase scrollbar size #2069
  • desktop: add desktop version for ubuntu 22 #2072

Bug Fixes

  • variants: display variants in reverse chronological order in the variants tree #2059
  • table-mode: do not alter existing links that are not updated #2055
  • bc: only remove terms when asked #2060
  • table-mode: correct the update of the average_spilled_energy_cost field in table mode #2062
  • ui: hide "upgrade" menu item for variant studies or studies with children #2063
  • ui-commons: display a popup to warn of unsaved modifications on Form #2071

Continuous integration

  • worker: deploy AntaresWebWorker on its own #2066
  • sonar: bump github action download artifact #2070

Full Changelog: https://github.com/AntaresSimulatorTeam/AntaREST/compare/v2.17.1...v2.17.2

v2.17.1 (2024-06-10)

Features

  • launcher: add new API endpoint /v1/launcher/time-limit and update LauncherDialog #2012
  • raw: refactor aggregation endpoint #2031
  • ui-common: add validation message in ImportDialog and update style #2040
  • ui-studies: add studies "archive" tag #2043
  • ui: add a the new split view on multiple pages #2046
  • desktop: update Antares Web Desktop version #2036
  • ui-thermal: minor adjustments to v8.7 Thermal fields #2053
  • ui-bc: add empty screen #2052
  • ui-bc: prevent 404 error after deletion of the current or last constraint #2052

Bug Fixes

  • import: allow import for users that are reader only #2032
  • variant-command: correct behavior of creation command in special context #2041
  • ui-study: prevent CreateVariantDialog fields overflow #2044
  • ui-commons: add of extensions accepted for matrix import in MatrixInput #2048
  • api-aggregation: raise 404 HTTP exception for unfound output names #2050
  • scenario-builder: handle missing objects in Scenario Builder configuration #2038
  • variants: display variants in chronological order in the variants tree #2049
  • upgrade: raise an HTTP 417 exception when an upgrade has unmet requirements #2047
  • ui-study: disable Areas tab when no areas are present to prevent incorrect component display #2052
  • api-bc: ensure removal of the last term in binding constraints #2052

Refactoring

  • ui-storages: short-term storage update form #2025

Build System

  • pyinstaller: upgrade version of pyinstaller in build requirements #2030

v2.17 (2024-05-15)

Support for evolutions relating to studies in versions 8.7: - Scenarized RHS for binding constraints, - Thermal cluster new properties (cost generation mode, efficiency, variable OM cost)

Support for evolutions relating to studies in versions 8.8: - Short-term storage¶: add enabled property - Experimental "MILP" mode (using launcher options)

Features

  • bc: add endpoint for multiple terms edition #2020
  • table-mode: add missing properties for v8.6 and 8.7 #1643
  • ui-table-mode: translate table types in add/edit modal

Bug Fixes

  • bc: handle undefined v8.3 fields #2026
  • table-mode: hide adequacy_patch_mode column from table-mode before v8.3 #2022
  • ui-common: allow only import of TSV file in MatrixInput #2027
  • ui-settings: prevent false duplicates on group form updates #1998
  • ui-table-mode: reset 'column' field when 'type' field change in create/update modal
  • ui-table-mode: unable to edit tables with old types
  • ui-table-mode: add missing "ST Storage" in Table Mode template #2016
  • download: improve performance of Excel file download

v2.16.8 (2024-04-19)

Features

  • clusters: add new endpoint for clusters duplication #1972
  • clusters (ui): implement new duplication endpoint and optimistic update #1984
  • configuration: turn Thematic Trimming variable names in upper case
  • configuration (ui): replace underscore with space in Thematic Trimming variable names #2010
  • ui: enhance and refactor validation across UI components #1956

Bug Fixes

  • clusters (ui): totals are updated after a duplication and a deletion #1984
  • clusters (ui): issue with selecting and deleting rows #1984
  • st-storages (ui): correction of incorrect wording between "withdrawal" and "injection" #1977
  • st-storages (ui): change matrix titles #1994
  • st-storages: use command when updating matrices #1971
  • variants: avoid recursive error when creating big variant tree #1967
  • outputs: build outputs config even when using cache #1958
  • comments: use a command to update comments on a variant #1959
  • outputs (ui): correct weekly data formatting to support 53-week years #1975
  • configuration: add missing variables in Thematic Trimming for studies in version v8.6 or above #1992
  • configuration: version availability for "STS Cashflow By Cluster" variable is v8.8
  • launcher: upgrade the project dependencies to use Antares-Launcher v1.3.2
  • ssh: add retry loop around SSH Exceptions #68
  • retriever: avoid infinite loop when sbatch command fails #69
  • synthesis: prevent 500 error during study synthesis parsing #2011

v2.16.7 (2024-03-05)

Bug Fixes

  • desktop: correct configuration and launcher load indicator for Antares Web Desktop #1969

v2.16.6 (2024-03-04)

Features

  • ui-tasks: add launcher metrics #1960
  • ui-tasks: auto refresh launcher metrics #1963

Bug Fixes

  • ui-results: adjust date times for accurate frequency display #1960
  • ui-common: matrices display issues #1960
  • ui-common: download latest value of matrices #1962

v2.16.5 (2024-02-29)

Features

  • ui-results: add results matrix timestamps #1945

Bug Fixes

  • ui-hydro: add missing matrix path encoding #1940
  • ui-thermal: update cluster group options to handle Other 1 #1945
  • ui-results: prevent duplicate updates on same toggle button click #1945
  • ui-results: disable stretch to fix display issue #1945
  • ui-hydro: disable stretch to fix display issue on some matrices #1945
  • variants: correct the generation of variant when a snapshot is removed #1947
  • tags: resolve issue with study.additional_data.patch attribute reading #1944
  • study: correct access to study additional_data #1949
  • ui-tablemode: create modal is frozen when submitting without column #1946
  • ui-tablemode: 'co2' column not working #1952
  • ui: add missing i18n dependency #1954

v2.16.4 (2024-02-14)

Features

  • api-ui: add Inflow Structure form in Hydro #1919
  • db: index tables to improve study search and sorting performance #1902
  • packaging: update the packaging script to use Antares Solver v8.8.2 #1910
  • service: use slurm sinfo command to improve "cluster load" indicator #1664
  • study-search: optimize the studies search engine #1890
  • tags-db: add tag and study_tag tables to the db (migration) #1923
  • tags-db: update tags related services and endpoints #1925
  • ui-disk-usage: add disk usage to study details #1899

Bug Fixes

  • api-model: correct AllOptionalMetaclass for field validation in form models #1924
  • bc: correct case sensitivity for binding constraint term IDs #1903
  • config: add Swagger proxy settings in Vite configuration #1922
  • disk-usage: correct disk usage calculation for study variants with simulation results #1926
  • disk-usage: fix bug on variants #1915
  • packaging: fix packaging script for Windows (issue with Vite.js) #1920
  • thermals: correct the default value of the "gen-ts" property to use "use global" instead of "use global parameter" #1918
  • ui-home: load synthesis to get areas and links count #1911
  • ui-hydro,storage: correct labels and units in forms #1928
  • ui-map: reload map data on study revisit #1927

Build System

  • packaging: issue with desktop app packaging #1912
  • vite: replace create-react-app by Vite #1905

v2.16.3 (2024-01-17)

Features

  • api-filesystem: add new API endpoints to manage filesystem and get disk usage #1895
  • ui-district: enhance Scenario Playlist loading and remove Regional District menu #1897

Bug Fixes

  • config: use "CONG. PROB" for thematic trimming (fix typo) #1893
  • ui-debug: correct debug view for JSON configuration #1898
  • ui-debug: correct debug view for textual matrices #1896
  • ui-hydro: add areas encoding to hydro tabs path #1894

Refactoring

  • ui-debug: code review #1892

Continuous Integration

  • docker: add the ll alias in .bashrc to simplify debugging #1880

v2.16.2 (2024-01-10)

Features

  • bc: add input validation for binding constraint creation #1868
  • study-size: add new route to get a study disk usage (in bytes) #1878
  • table-mode: update Table Mode view #1883
  • thermals, st-storages: add a dialog to define a name when duplicating a cluster or a storage #1866
  • debug-view: introduce advanced JSONEditor and Debug view updates #1885

Performance

  • db: improve performance by using joins instead of N+1 queries #1848
  • raw-study: improve INI file reading performance for RAW studies #1879

Bug Fixes

  • bc: automatically change binding constraint matrix when changing frequency #1867
  • ci: avoid reflecting user-controlled data (SonarCloud issue) #1886
  • db: correct alembic migration script used to purge obsolete tasks #1881
  • db: add missing constraints and relationships in TaskJob table #1872
  • services: ensure all worker services run indefinitely #1870
  • study-factory: ignore non-existent files in archived studies during build #1871
  • thermals: correct TS Generator matrix index for thermal clusters #1882
  • ui: prevent synchro issues between tabs and react-router #1869
  • xpansion: update for improved parameter handling and code refactoring #1865

Documentation

  • st-storage: add ST-Storage documentation #1873

Tests

  • remove Locust dependency and unit tests (not really useful) 34c97e0

Refactoring

  • bc: remove duplicate class BindingConstraintType #1860

v2.16.1 (2023-12-14)

Features

  • ui: add manual submit on clusters form #1852
  • ui-modelling: add dynamic area selection on Areas tab click #1835
  • ui-storages: use percentage values instead of ratio values #1846
  • upgrade: correction of study upgrade when upgrading from v8.2 to v8.6 (creation of MinGen) #1861

Bug Fixes

  • bc: correct the name and shape of the binding constraint matrices #1849
  • bc: avoid duplicates in Binding Constraints creation through REST API #1858
  • ui: update current area after window reload #1862
  • ui-study: fix the study card explore button visibility #1842
  • ui-matrix: prevent matrices float values to be converted #1850
  • ui-matrix: calculate the prepend index according to the existence of a time column #1856
  • ui-output: add the missing "ST Storages" option in the Display selector in results view #1855

Performance

  • db-init: separate database initialization from global database session #1837
  • variant: improve performances and correct snapshot generation #1854

Documentation

  • config: enhance application configuration documentation #1710

Chore

  • deps: upgrade material-react-table #1851

v2.16.0 (2023-11-30)

Features

  • api: add renewable clusters to API endpoints #1798
  • api: add endpoint get_nb_cores #1727
  • api-raw: add the create_missing flag to allow creating missing files when uploading a file #1817
  • api-storage: update initial level field default value #1836
  • api-thermal: add clusters management endpoints 2fbfcfc
  • api-thermal: delay the import of transform_name_to_id 1d80ecf
  • api-thermal: implement the __repr__ method in enum classes for easier debugging 7e595a9
  • api-thermal: improve the ThermalClusterGroup enum to allow "Other 1" and "Other" values for the OTHER1 option c2d6bc1
  • binding-constraint: add the binding constraint series in the matrix constants generator c1b4667
  • common: add dynamic size for GroupedDataTable 116c0a5
  • job-result-dto: the JobResultDTO returns the owner (ID and name) instead of owner ID a53d1b2
  • launcher: add information about which user launched a study #1761
  • launcher: unzipping task raised by the user who launched the study f6fe27f
  • launcher: allow users with Permission.READ or above to unzip a study 4568b91
  • model: handling binding constraints frequency in study configuration parsing #1702
  • model: add a one-to-many relationship between Identity and JobResult e9a10b1
  • model: handling binding constraints frequency in study configuration parsing 1702 02b6ba7
  • permission: update permission types, replaced DELETE with WRITE for improved study control #1775
  • requirements: add py7zr to project requirements e10622e
  • simulation-ui: use API to get launcher number of cores #1776
  • st-storage: allow all parameters in endpoint for short term storage creation #1736
  • tests: add integration tests for outputs import a8db0b4
  • thermal: refactor thermal view #1733
  • ui: reduce studies header height #1819
  • ui: update LauncherDialog #1789
  • ui-areas: add version check for storage tab #1825
  • ui-common: add missing areaId param to routes 4c67f3d
  • ui-common: add missing areaId param to routes 3f09111
  • ui-launcher: block launch button if cores info cannot be get 4267028
  • ui-model: add validation rules for thermal renewable and storage forms 86fe2ed
  • ui-model: check integer fields da314aa
  • ui-npm: update packages 7e08826
  • ui-renewables: add new list view #1803
  • ui-storages: add storages list view and form #1791
  • ui-studies: rework study launch dialog #1784
  • ui-studies: update launcher dialog xpansion field 011fbc6
  • ui-thermal: update thermal clusters list view and form labels #1807
  • ui-thermal: minor user experience improvements 5258d14
  • ui-thermal: update thermal cluster view with new component eb93f72
  • ui-thermal: minor improvements 4434d7c
  • ui-thermal: add type for cluster capacity 10aaea3
  • ui-thermal: add error display on thermal clusters list 92e3132
  • upgrade: denormalize study only when needed 931fdae
  • utils: add 7z support for matrices import d53a99c
  • utils: support 7z import for studies, outputs and matrices a84d2aa
  • utils: add integration test for 7z study import 1f2da96
  • utils: add support for .7z 0779d88

Performance

  • api-study: optimize study overview display in Antares Web 52cf0ca
  • role-repository: optimize the query used in get_all_by_user to fetch roles and groups at once dcde8a3
  • study-factory: FileStudy creation is done with a file lock to avoid that two studies are analyzed at the same time 0bd9d5f
  • variant: correct slow variant study snapshot generation #1828

Bug Fixes

  • matrix: matrix ID validator now raise an exception if the ID is empty d483198
  • raw-study: correct matrix list generation for thermal clusters to handle non-lowercase IDs db86384
  • role-type: correct implementation of the __ge__ operator 379d4ae
  • service: allow unzipping with permission read 0fa59a6
  • st-storage: the initial_level value must be between 0 and 1 #1815
  • tests: fix unit test and refactor integration one 6bbbffc
  • ui: update dynamic areaId segment URL path on area change #1811
  • ui: i18next API change e8a8503
  • ui: TS issues ff8e635
  • ui: immer import change d45d274
  • ui: correct merge conflict imports 77fd1ad
  • ui-common: add case check for name in GroupedDataTable 586580b
  • ui-lancher: cores limit cannot be break d3f4b79
  • ui-launcher: add API values for min max number of cores ea188b1
  • ui-study: prevent study tasks list to contain all studies tasks #1820
  • ui-tasks: filter deleted studies jobs #1816
  • ui-thermal: update regex to prevent commas in id b7ab9a5
  • ui-thermal: update regex to avoid ReDoS vulnerabilities c837474
  • xpansion: add missing separation_parameter field in the settings #1831

Documentation

  • api-thermal: add the documentation of the thermal cluster endpoints c84c6cd
  • api-thermal: improve the documentation of the thermal manager 099e4e0
  • api-thermal: correct thermal manager doctrings 3d3f8c3
  • how-to: add a "How to import a compressed study?" topic in the documentation 28c654f
  • import-api: improve the documentation of the import API f1f2112
  • rtd: correct the configuration for ReadTheDocs #1833
  • study-service: improve documentation of the StudyService class 3ece436
  • upgrade: add little documentation 7075ed8

Tests

  • correct test_commands_service: ensure the admin user is in database #1782
  • add the DbStatementRecorder class to record SQL statements in memory to diagnose the queries performed by the application c02a839
  • add unit tests for antarest.core.utils.utils.extract_zip 4878878
  • add the compare_elements function to compare two XML and find differences 15753e3
  • api: added end-to-end test to ensure seamless functionality of API endpoints with the "bot" token #1770
  • api-user: correct API endpoint user_save 483d639
  • apidoc: add unit test for apidoc page #1797
  • integration: simplify the app fixture used in integration tests and add comments e48ce6d
  • login-service: refactor unit tests to use fixture instead of mocks 02f20f0
  • matrix-dataset: correct unit test test_watcher d829033
  • matrix-dataset: correct unit test test_dataset_lifecycle da6f84b
  • model: correct and improve the TestLdapService unit tests 84c0c05
  • model: don't decorate model classes with @dataclass 82d565b
  • study-comments: add integration tests for study synthesis endpoint f56a4ae
  • study-comments: add integration tests for study comments endpoints 3eb1491
  • study-comments: remove deprecated integration tests 7651438
  • thermal-manager: add unit tests for the TestThermalManager class d7f83b8
  • watcher: correct unit test test_partial_scan cf07093

Refactoring

  • cluster: improve the implementation of the thermal, renewable and the short terme storage 48c3352
  • commands: refactor the variant commands to use thermal / renewable configurations 996fb20
  • commands: simplify implementation of study variant commands and improve constraints 4ce9bd0
  • commands: refactor the variant commands to use thermal / renewable configurations ff3ccdf
  • config: create base classes use to configure thermal and renewable clusters and short term storage e7e7198
  • config: use create_st_storage_config during config parsing 0d1bac8
  • launcher-service: rename long variable name user_who_launched_the_study 4ec7cb0
  • login-model: drop superfluous __eq__ operator 73bc168
  • raw-study: the create_from_fs method is changed to return a NamedTuple (perf) 191fb98
  • role-type: replace is_higher_or_equals by __ge__ operator fc10814
  • st-storage: implement STStorageProperties using BaseClusterProperties class 0cc639e
  • table-mode: simplify implementation of the TableModeManager class 52fcb80
  • thermal-api: replace the DELETE permission with WRITE in the delete_thermal_clusters endpoint 37f99ac
  • thermal-manager: correct the update_cluster method to update only required and changed properties 9715add
  • utils: replace HTTP exception with BadArchiveContent in extract_zip function, and update documentation accordingly 2143dd7

Styles

  • api-thermal: sort imports and reformat source code. 451c27c
  • model: simplify typing imports 2d77d65
  • typing: replace IO[bytes] by typing.BinaryIO in function signatures 4e2e5f9
  • ui: update file with new Prettier version dfd79a7
  • ui: issue with Prettier b204b6a

Chore

  • fix typo in the documentation of shell scripts #1793
  • correct the typing of the camel_case_model decorator 4784a74
  • correct bad imports in unit tests 786de74
  • fix typing in CommandExtractor class 0da8f3e
  • handle all ancestor classes in AllOptionalMetaclass 7153292
  • correct indentation in docstring 6d19ebb
  • api: modify ThermalConfig in API example to avoid ValidationError #1795
  • api-thermal: improve typing of functions 36ea466
  • doc: correct image names and titles in the documentation b976713

Reverts

  • change requirements.txt to restore PyYAML~=5.4.1 cf47556

v2.15.6 (2023-11-24)

Performance

  • variant: correct slow variant study snapshot generation #1828

Documentation

Contributors

laurent-laporte-pro.

v2.15.5 (2023-11-16)

Features

  • Remove studies filters and search value from localStorage #1788
  • ui-study: translate generate button in command view #1801
  • launcher: add information about which user launched a study #1808

Bug Fixes

  • tasks: resolve incorrect UTC timezone usage for task completion dates in list view #1786
  • upgrade: remove tmp files when upgrading #1804
  • variant: generates cascades of variants synchronously to avoid timeout dead locks #1806

Contributors

laurent-laporte-pro, skamril, MartinBelthle

v2.15.4 (2023-10-25)

Tests

  • commands: refactored study variant command unit tests, improved coverage, and fixed deprecated attribute usage (8bd0bdf)

Bug Fixes

  • results-ui: display results for a specific year #1779
  • ui-study: remove popup to prevent close after variant creation #1773
  • raw: fix HTTP exception when going on debug view #1769

Contributors

laurent-laporte-pro, MartinBelthle

v2.15.3 (2023-10-12)

Hotfix

  • api-raw: correct the /studies/{uuid}/raw endpoint to return "text/plain" content for matrices #1766
  • model: error 500 in cluster list when area change 0923c5e

Performance

  • storage: make study_upgrader much faster #1533

v2.15.2 (2023-10-11)

Hotfix

  • service: user connected via tokens cannot create a study 1757 (f620197)

Features

  • binding-constraint: handling binding constraints frequency in study configuration parsing 1702 (703351a)
  • add the binding constraint series in the matrix constants generator (e00d58b)
  • command create_binding_constraint can check the matrix shape (68bf99f)
  • command update_binding_constraint can check the matrix shape (c962f73)
  • add missing command docstring (d277805)
  • reduce code duplication (b41d957)
  • correct test_command_factory unit test to ignore abstract commands (789c2ad)
  • api: add endpoint get_nb_cores 1727 (9cfa9f1)
  • st-storage: allow all parameters in endpoint for short term storage creation 1736 (853cf6b)

Chore

  • sonarcloud: correct SonarCloud issues (901d00d)

Contributors

laurent-laporte-pro, MartinBelthle

v2.15.1 (2023-10-05)

Features

  • ui-results: move filters on top of matrices #1751
  • ui-outputs: add outputs synthesis view #1737

Bug Fixes

  • api: allow NaN, +Infinity, and -Infinity values in JSON response 7394248
  • ui-xpansion: display issue in form #1754
  • raw: impossible to see matrix containing NaN values #1714
  • raw: allow NaN in matrices 0cad1a9

Tests

  • tests: add a test to ensure GET /raw endpoint reads NaN values 29b1f71

v2.15.0 (2023-09-30)

Features

  • antares-launcher: use antares launcher v1.3.1 #1743
  • api: add Properties form endpoint 31898a1
  • api: add api doc and integration test 51db54f
  • api: add new pollutants in thermal manager bcd5a01
  • api: change the response model of "launcher/_versions" endpoint to return a list of versions e7089a1
  • api: correct default values for "/launcher/versions" endpoint f87ccca
  • api: improve error handling in "launcher/_versions" endpoint f84ff84
  • api: improve exception handling in "launcher/_versions" endpoint 1263181
  • api: improves "launcher/_versions" endppoint ae6c7d6
  • api: replace "launcher/_versions" endpoint by "/launcher/versions" fb294dd
  • api-layers: minor improvements ef7e21f
  • business: add xpansion batch size back office #1485
  • commands: add ST-Storage commands #1630
  • common: add undo/redo to Form component fc02c00
  • common: multiple updates on Form component 2193e43
  • desktop: enable year-by-year & synthesis output in study "000 Free Data Sample" #1735
  • matrix: improve matrix read/write using NumPy #1452
  • matrix: improve matrix service read/write using NumPy 8c2f14f
  • matrix: improve unexpected exception error message #1635
  • matrix-service: improve the importation function to handle NumPy arrays directly without the necessity of converting them ecf971a
  • matrix-service: avoid having to save the matrix again a40ad09
  • matrix-service: enhance the ISimpleMatrixService class and sub-classes to support creating from NumPy array 93737ae
  • matrix-service: enhance the MatrixContentRepository class to support saving NumPy array directly 1bf113b
  • matrix-service: ensure exclusive access to the matrix file between multiple processes (or threads) 66ce1bc
  • model: handle 8.6 study model and study upgrader #1489
  • service: assign to a copied study all groups of the user #1721
  • service: set PublicMode.READ when importing is done by user with no groups #1649
  • service: set PublicMode to READ when importing is done by user with no groups 04d70ed
  • service: set the user's name as author in study.antares when creating a study #1632
  • st-storage: add ST Storage API endpoints #1697
  • storage: ini reader can now take ioTextWrapper as input 015bc12
  • style: code style and refactoring enhancements 8b4ec2e
  • ui: add and use correct launcher verisons instead of study's 1878617
  • ui: enable undo/redo on some forms d0d07e9
  • ui-common: add GroupedDataTable #1633
  • ui-common: add submitButtonIcon prop in Form 6b16e01
  • ui-common: display submit error in Form 92d5a1e
  • ui-common: increase the width of the first column on tables d3d70ff
  • ui-common: update ColorPickerFE 8347556
  • ui-config: enable undo/redo in adequacy patch form #1543
  • ui-i18n: add missing adequacy patch translations #1680
  • ui-lib: add material-react-table package e88fb69
  • ui-login: update form 9631045
  • ui-map: add map zoom buttons #1518
  • ui-study: enhance study upgrade dialog #1687
  • ui-thermal: add new pollutants 5164a4c

Bug Fixes

  • api: Correct endpoint for HTTPStatus.NO_CONTENT (204) b70bc97
  • api: add missing use_leeway field and validation rules #1650
  • api: correct API endpoints and CLI tools #1726
  • api: correct update_area_ui endpoint response model 963f5ee
  • api: correct exception handling in extract_file_to_tmp_dir af38216
  • api: correct response model of "/studies/_versions" endpoint 91da3e7
  • api: correct the regex in IniReader to match a section in square brackets 123d716
  • api: enhance Python detection in version info endpoint 86fb0e5
  • api: sanitize and avoid duplicates in group IDs lists 8c9ac99
  • api: standardize 'areas_ui' to dict format for single area case #1557
  • api: study data retrieval now considers document types, enabling retrieval of Microsoft Office documents. Binary data support has also been enhanced 8204d45
  • api,tablemode: wrong adequacy patch mode path and clean code 0d00432
  • api-layers: fixed issue preventing layers deletion when no areas b3f98f2
  • api-layers: remove unnecessary parameter that causes tests to fail 052a9f3
  • build: fix pyinstaller build #1551
  • command: change code according to comments f3c68d2
  • command: fix update_config to support API PUT v1/studies/{uuid}/raw ffed124
  • docs: update README, removing obsolete instructions #1552
  • export: ZIP outputs are now uncompressed before export #1656
  • filesystem: correct the handling of default matrices in InputSeriesMatrix node #1608
  • launcher: fixing launcher versions display and API endpoint for solver versions #1671
  • log-parser: simplify parsing and make it accurate #1682
  • matrix: correct the loading and saving of empty matrices as TSV files #1746
  • matrix: create empty file if the matrix is empty 9155566
  • matrix-service: correct the MatrixService.create so that the matrix file is not deleted in case of exception 1860379
  • matrix-service: prevent the use of scientific notation when saving matrices 7387248
  • model: wrong frequency for hydro energy credits matrices #1708
  • packaging: update the packaging script to use Antares Solver v8.6.1 #1652
  • service: set public mode to NONE and assign user groups to the study during copying #1620
  • service: set public mode to NONE and assign user groups to the study during import #1619
  • st-storage: add default value for st storage group f9a3af7
  • st-storage: allow DELETE endpoint to accept multiple IDs as parameters #1716
  • st-storage: correct docstring 60bdbbf
  • st-storage: fixing archived study configuration reading for short-term storages #1673
  • st-storage: parse_st_storage works with zipped study with version previous 860 0cae9f2
  • st-storage: replace inflow.txt by inflows.txt according to the changing doc #1618
  • st-storage: update "group" parameter values for Short-Term Storage #1665
  • storage: fix INI file writing anomaly in Antares study update #1542
  • table-mode: fixes the reading of UI information in the case where the study has only one area #1674
  • table-mode: issue to read area information in the case where the study has only one area #1690
  • tests: use deepcopy for dict to only modify the copy bca0d60
  • thematic-trimming: correct the name of the "Profit by plant" variable 7190ee1
  • ui-api: resolve Area deletion & Layers/Districts UI modification issues #1677
  • ui-common: error with formState in Form 121d4e5
  • ui-common: prevent null values for string cells in HandsonTable component #1689
  • ui-debug: issue to display json file in outputs #1747
  • ui-i18n: add missing key 685c487
  • ui-i18n: missing key 7c8de2a
  • ui-map: area persistence issue after deletion 47d6bb6
  • ui-model: update Properties form with the new endpoint 15d5964
  • ui-redux: missing state update for layers/districts after node deletion 42d698c
  • ui-redux: remove eslint no-param-reassign warning 3f88166
  • ui-xpansion: add the missing batch_size field in the Xpansion parameters view #1739
  • variant: enhance VariantCommandsExtractor for Renewable Clusters and Short-Term Storage #1688
  • variant: fixed TS deletion of renewable clusters and short-term storage #1693
  • variant-manager: correct the variant manager 5cc467f
  • web: change API response_model to avoid ValidationError #1526
  • worker: archive worker must be kept alive for processing #1558
  • xpansion: correct field names and types in Xpansion settings #1684
  • correct the import of declarative_base to avoid a deprecation warning. c8c8388

Documentation

  • api: improve the documentation of the study upgrade and import endpoints a8691bb
  • correct and improve the "Variant Manager" documentation #1637
  • update changelog for the v2.15 release ccd6496

Tests

  • api: correct JSON payloads for "table mode" 41b2cc8
  • api: correct unit tests for Xpansion-related endpoints to use bytes for file upload 7936312
  • api: improve unit test of get_dependencies endpoint 0524e91
  • api: simplify initialization of the database in unit tests #1540
  • api: update UploadFile object construction for Starlette >= 0.24 d9c5152
  • api: update integration tests for Starlette 0.21.0 ec3c7b7
  • api: update stream file download tests for compatibility with Requests and Httpx ce6bdc5
  • api-layers: add layers management tests 4523022
  • export: correct unit tests for VariantStudyService.generate_task method f533fdc
  • ini: correct the IniFileNode unit tests b96a92e
  • matrix: use NumPy arrays in parse_commands UT and correct path on Windows 2528cce
  • matrix-service: improve unit tests for MatrixContentRepository class e35639f
  • matrix-service: improve unit tests for MatrixService class 8cf9f94
  • st-storage: improve unit tests to check "group" default value and add typing a3051ac
  • thematic-trimming: correct unit test (study.version was not set) 28720f5
  • add Properties form test and fix others one 5267276
  • improve and correct unit tests for AreaManager e6f7ed2
  • improve fixtures in unit tests for better reuse #1638

Refactoring

  • allocation: remove deprecated class FixedAllocationKeyIniReader b1299fe
  • api: refactor data extraction logic in _extract_data_from_file function 219990b
  • api-model: improve transform_name_to_id implementation and add UT 24b1059
  • api-model: improve transform_name_to_id implementation for more efficiency #1546
  • command: improve implementation of area management #1636
  • command: rename "cluster" as "thermal cluster" #1639
  • matrix: improve implementation of dataframe saving c156c3b
  • matrix-service: improve implementation of create_by_importation b054b8b
  • matrix-service: simplify timestamp calculation used during MatrixDTO creation be5aafe
  • matrix-service: use matrix_id in favor of matrix_hash as matrix hashing is an implementation detail fc9e48c
  • rawstudy-filesystem: improve error message raised by ChildNotFoundError 9a6c4f9
  • tools: correct migration from Requests to httpx 09be12a
  • tools: prepare for migration from Requests to httpx f494188
  • variant: enhance implementation of variant commands #1539
  • avoid always returning the same value (reported by SonarCloud) 6e4d8cb
  • correct SonarCloud issues 39f584d
  • enhance code quality in variant commands implementation 608f0b3
  • fix lambda capturing name variable reported by SonarCloud cb3022c
  • refactoring of unit tests and Model improvement #1647

Styles

  • api: change field version check d99be3f
  • matrix-service: correct the Google docstring format 26bfc2d
  • ui: correct spelling mistake in webapp code #1570
  • ui-redux-map: minor improvements 27cb4be
  • add configuration for iSort cd6ae15
  • correct mypy issues 8f5f97b
  • ignore unused imports in dbmodel.py 853af50
  • reindent ini_reader.py d5fa83d
  • reindent project base code, scripts/ and unit tests using line-length = 120 51a0f27
  • reindent source code in unit tests 4515451
  • remove unused imports in production base code 9dc34ce
  • remove unused imports in unit tests 496f164
  • sort imports in project base code and unit tests using line_length = 120 13a5929
  • sort imports in project base code and unit tests using iSort 44ac3d8

Build System

  • launcher: use Antares-Launcher v1.3.0 which preserve the "output" directory required by the --step=sensitivity Xpansion option #1606
  • add iSort in the requirements-dev.txt e86b58f
  • include typing_extensions in the project requirements (new direct usage) 00ae992
  • move checksumdir and locust libraries from project requirements to tests requirements (only used in unit tests) f8d036e
  • remove unused Sphinx-related libraries from docs requirements 6c3f4bf
  • remove unused libraries from project requirements c4495a0
  • specify the node versions supported #1553
  • update project configuration, specify exclusion of non-package directories when using find_packages 236a2d7
  • update project's metadata in setup.py (author, author email, license, platforms, classifiers) 1de508e

Continuous Integration

  • change the configuration of mypy to ignore httpx package 6eab8ac
  • change the main GitHub action to run iSort for code style checking 837a229
  • correct the main GitHub action to use Black~=23.7.0 609d334
  • upgrade mypy to v1.4.1 and Black to v23.7.0 for improved typing and formatting #1685

Chore

  • github-actions: update Node.js version to 22.13.0 b9988f6
  • correct handling of base class with no __annotations__ in AllOptionalMetaclass d9ed61f
  • correct indentation 4af01b4
  • increase line length limit to 120 characters for Black and iSort 586fb43
  • remove # fmt: off/# fmt: on Black directives c970257

v2.14.6 (2023-09-01)

🚩 NOTE

From a user perspective, this release does not include any new features or bug fixes.

This release is solely focused on developers and aims to enhance code quality and readability by organizing imports and extending line width to 120 characters. We will now be using iSort for import sorting. The configuration for Black code formatting has been updated.

Styles

  • add configuration for iSort (0b20e5d)
  • sort imports in project base code and unit tests using iSort (ec8b757)
  • ignore unused imports in dbmodel.py (175b7fe)
  • remove unused imports in production base code (3d98f93)
  • remove unused imports in unit tests (6ea3370)
  • sort imports in project base code and unit tests using line_length = 120 (c0daaf7)
  • reindent project base code and unit tests using line-length = 120 (2280d27)
  • reindent scripts/ directory using line-length = 120 (c125fc7)

Chore

  • increase line length limit to 120 characters for Black and iSort (f8d45d4)
  • remove # fmt: off/# fmt: on Black directives (c29dcac)

Build System

  • add iSort in the requirements-dev.txt (b3ff6b9)

Continuous Integration

  • change the main GitHub action to run iSort for code style checking (b2efeab)
  • correct the main GitHub action to use Black~=23.7.0 (c72d0d5)

Code Refactoring

  • fix lambda capturing name variable reported by SonarCloud (42d2213)
  • correct SonarCloud issues (693ae07)
  • avoid always returning the same value (reported by SonarCloud) (314da0b)

Contributors

laurent-laporte-pro

v2.14.5 (2023-08-11)

Features

  • ui-i18n: add missing adequacy patch translations 1680 (8a06461)
  • ui: removed the "patch" number from the list of versions in the simulation launch dialog when it's equal to 0 1698 (1bc0156)

Bug Fixes

  • web: modified API response model to prevent Watcher's ValidationError 1526 (b0e48d1)
  • xpansion: corrected field types for Xpansion parameters (sensitivity analysis) (3e481b9)
  • variant: fixed implementation of the method for extracting the difference between two studies (c534785)
  • api: added missing use_leeway field and validation rules in the hydro configuration form 1650 (27e46e5)
  • export: ZIP outputs are no longer compressed before export (used by Xpansion) 1656 (cba6261)
  • log-parser: simplified analysis and improved accuracy in displaying simulation progress for a study 1682 (2442674)
  • table-mode: corrected reading of UI information when the study has only one area 1674 (55c4181)
  • table-mode: issue to read area information in the case where the study has only one area 1690 (87d9617)
  • command: improve INI reader to support API PUT /v1/studies/{uuid}/raw 1461 (9e5cf25)
  • variant: fixed time series deletion of renewable clusters 1693 (4ba1b17)
  • launcher: fixing launcher versions display and creation of the endpoint /v1/launcher/versions (410afc2) and 1672 (a76f3a9)
  • launcher: set the default number of cores to 22 (instead of 12) 1695 (2c89799)

Continuous Integration

  • upgrade mypy to v1.4.1 and Black to v23.7.0 for improved typing and formatting 1685 (7cff8c5)

Tests

  • enhanced integration tests: refactored fixtures and resources (70af9b1)

Contributors

laurent-laporte-pro, MartinBelthle, hdinia, skamril

v2.14.4 (2023-06-28)

Bug Fixes

  • launcher: take into account the nb_cpu in the local Solver command line 1603 (7bb4f0c)
  • api: resolve version display issue in Desktop's /version endpoint 1605 (a0bf966)
  • study: fixing case sensitivity issues in reading study configuration 1610 (f03ad59)
  • api: correct /kill end-point implementation to work with PyInstaller (213fb88)
  • fastapi: correct URL inconsistency between the webapp and the API 1612 (195d22c)
  • i18n: wrong translations and add missing keys 1615 (7a7019c)
  • deploy: change example study settings to allow parallel run 1617 (389793e)
  • variant: get synthesis now also works for level 2+ variants 1622 (661b856)
  • results: refresh study outputs when job completed and add back button 1621 (39846c0)
  • deploy: remove unnecessary Outputs from "000 Free Data Sample" study 1628 (a154dac)

Documentation

  • model: add documentation to the Matrix and MatrixDataSet classes (f7ae5f4)

Code Refactoring

  • api: remove unused protected function (6ea3ad7)

Contributors

laurent-laporte-pro, MartinBelthle, skamril

v2.14.3 (2023-06-20)

Bug Fixes

  • desktop: correct Antares Desktop packaging (95d7544)
  • error: improve error handling with enhanced error message 1590 (9e22aee)
  • matrix: significant performance enhancement for Time Series update 1588 (220107a)
  • launcher: correct the launching of the local Antares Solver (8a31514)
  • api: add missing "annual" key on correlation config for new areas 1600 (ac98a76)

Documentation

  • update user instructions for Antares Web Desktop version (98bcac5)

Features

  • common: display a snackbar error when async default values failed in Form 1592 (c213437)

Contributors

laurent-laporte-pro, skamril, hdinia

v2.14.2 (2023-06-12)

Bug Fixes

  • renewable: fixing issue with missing display of renewable cluster form 1545 (03c7628)
  • worker: archive worker must be kept alive for processing 1567 (34e1675)
  • build: fix pyinstaller build 1566 (2c7b899)
  • desktop: correct date parsing in localized environment 1568 (1d9177a)
  • matrix: check invalid params and empty matrix in matrix update 1572 (f80aa6b)
  • model: raise an error if the "about-the-study/parameters.ini" file is missing in the ZIP file 1582 (c04d467)

Features

  • matrix: improve matrix read/write using NumPy 1562 (2784828)

Contributors

laurent-laporte-pro

v2.14.1 (2023-05-15)

Bug Fixes

  • storage: performs a partial unzip to read the config of the simulation results (61e019d2)

v2.14.0 (2023-05-12)

Features

  • api-hydro: add allocation form endpoints (b2bee0e)
  • api: update optimization form endpoint and add adequacy patch form endpoint (dfa1b27)
  • ui-config: update optimization form and add adequacy patch form (f68c54b)
  • ui-hydro: add allocation form (5dbb85f)
  • ui-hydro: add inflows structure tab (a466e34)
  • ui-hydro: add row names (94dc38c)
  • ui-hydro: display area name instead of ID (0df0b21)
  • ui-hydro: update allocation form styles (ac470c1)
  • ui-matrix: update "Time" column and add index row headers (3d50bf9)
  • ui: add @total-typescript/ts-reset lib and tsUtils 1408 (aa5e3e8)
  • ui: update react-hook-form lib and use the new API 1444 (1d129d9)

Bug Fixes

  • common: field array change doesn't trigger on auto submit 1439 (910db64)
  • matrix: correct the frequency of some matrices 1384 (2644416)
  • ui-common: add matrices float handling (99ba81f)
  • ui-hydro: correct column names (e529a79)
  • ui-hydro: update hydro matrices columns (56641d7)
  • ui: fix typo on error page 1390 (da00131)
  • ui: size issue with HandsonTable (f63edda)

Styles

Documentation

  • api: add API documentation for the hydraulic allocation (and fix minor awkwardness) (08680af)
  • study-upgrade: add the "How to upgrade a study?" topic in the documentation 1400 (2d03bef)

IMPORTANT: The antares-launcher Git submodule is dropped.

Contributors

hdinia, skamril, flomnes, laurent-laporte-pro

v2.13.2 (2023-04-25)

Bug Fixes

  • api: fix uncaught exceptions stopping slurm launcher loop 1477 (2737914)

Contributors

Sylvain LECLERC

v2.13.1 (2023-04-11)

Bug Fixes

  • desktop: use Antares Solver v8.5 for Antares Web Desktop version 1414 (6979e87)
  • launcher: improved reliability of task state retrieval sent to SLUM 1417 (101dd8c)
  • api: show Antares Launcher version in the /version end point 1415 (12bfa84)
  • desktop: use Antares Solver v8.5.0 for Antares Web Desktop version 1419 (8f55667)
  • api: better handling of exception to catch the stacktrace 1422 (a2d0de0)

Contributors

Laurent LAPORTE, and MartinBelthle

v2.13.0 (2023-03-09)

Features

  • ui-common: add doc link on subsections 1241 (1331232)
  • api-websocket: better handle the events in eventbus braodcasting 1240 (99f2590)
  • ui-commands: add confirm dialog on delete command 1258 (0be70f8)
  • redux: extend left menu by default 1266 (1c042af)
  • ui-study: add text ellipsis on study name 1270 (6938114)
  • launcher: integrate Antares Solver v8.5.0. 1282 (57bbd3d)
  • ui: add tooltips to folded menu 1279 (b489dd9)
  • github: add feature request template 1284 (73aa920)
  • github: add bug report template 1283 (8e05370)
  • ui-results: add download button on results matrix 1290 (343df96)
  • ui-redux: add menu state in local storage 1297 (3160f29)
  • ui-study: add path tooltip on study title 1300 (429d288)
  • ui-map: add layers and districts French translations 1292 (12f4e92)

Code Refactoring

  • simplify the maintenance mode and service. (1590f84)
  • change the MaintenanceMode class to implement a conversion from/to bool. (a5a5689)

Bug Fixes

  • api-workers: Prevent scanning of the default workspace 1244 (06fd2bc)
  • ui-study: remove the create command button 1251 (463e7a7)
  • ui-wording: correct wording of user messages 1271 (7f66c1a)
  • ui-wording: correct french translations 1273 (f4f62f2)
  • api: correct the way the task completion is notified to the event bus 1301 (b9cea1e)
  • storage: ignore zipped output if an unzipped version exists 1269 (032b581)

Build System

  • update version to 2.13.0 (a44a896)
  • remove redundant call to mypy in GitHub actions. (96e2b82)
  • upgrade Black version in requirements-dev.txt and .github/workflows/main.yml. (464c7ff)

IMPORTANT: The antares-launcher project (source files) is no longer needed, because the Antares-Launcher Python library is now declared as a dependency in the requirements.txt file.

Styles

  • fix mypy error: Unused "type: ignore" comment. (86f9076)
  • Reformat the source code and unit tests in accordance with the rules of black v23.1.0 (new release). (73bc5b0)

Continuous Integration

Contributors

hdinia, Laurent LAPORTE, pl-buiquang, skamril, MartinBelthle