Releases: OasisLMF/OasisPlatform
Release 2.5.3
Oasis Release v2.5.3
Docker Images (Platform)
- coreoasis/api_server:2.5.3
- coreoasis/model_worker:2.5.3
- coreoasis/model_worker:2.5.3-debian
- coreoasis/piwind_worker:2.5.3
Docker Images (User Interface)
Components
Changelogs
OasisPlatform Changelog - 2.5.3
- #1379 - fix: chainmap import
- #1380 - Ktools options -> kernel options
- #1381 - enhancement/perils from OED
- #1382 - Fix CVE-2026-33034 CVE-2026-3902
- #1383 - Fix resource monitor for V2 worker runs
- #1387 - Added option to disable API authorization
- #1388 - Fix swagger file picker
- #1392 - Fix for 403 when calling analysis-task-statuses with no auth
OasisLMF Changelog - 2.5.3
- #1903 - remove pd from summarypy to save on memory usage
- #1920 - enhancement/lecpy_speed
- #1931 - Feature/cython write csv reverted
- #1935 - enhacement/peril info from OEDSpec
- #1939 - bug/move h3 tests
- #1941 - Fix #1936: correct UTC timestamps in get_utctimestamp
- #1945 - Fix resource monitor for V2 worker runs
- #1948 - fix/nonzero default fm profile
- #1951 - fix/join-summary-info-bugs
- #1956 - fix: reduce memory usage in FootprintBin/FootprintBinZ and skip footprint load when data_server active
- #1959 - API client, added option for disabled auth
- #1960 - Directly send port to gulmc gulpy and socket server
ODS_Tools Changelog - 5.0.4
- #238 - added oed test file generator
- #257 - enhancement/perf quantile loss sampling
- #262 - Deprecation from logger.warn -> logger.warning
- #265 - Add 'rl' perspective to model_settings_schema enums (#1495)
Release Notes
OasisPlatform Notes
Fix: Replace chainmap backport import with stdlib collections.ChainMap - (PR #1379)
src/conf/iniconf.py imported ChainMap from the standalone chainmap package (a Python 2 backport). This package was removed as a transitive dependency in 2.5.2 when oasislmf dropped it from its requirements, causing model_worker:2.5.2 to crash on startup with ModuleNotFoundError: No module named 'chainmap'. Replaced with from collections import ChainMap, which is available in Python 3.3+.
Fixes #1378
enhancement/perils from OED - (PR #1381)
- remove hardcoded peril info with perils inferred from OEDSchema
- related to OasisLMF/OasisLMF#1935
Fix CVE-2026-33034 CVE-2026-3902 - (PR #1382)
┌─────────┬────────────────┬──────────┬────────┬───────────────────┬───────────────────────┬──────────────────────────────────────────────────────────────┐
│ Library │ Vulnerability │ Severity │ Status │ Installed Version │ Fixed Version │ Title │
├─────────┼────────────────┼──────────┼────────┼───────────────────┼───────────────────────┼──────────────────────────────────────────────────────────────┤
│ django │ CVE-2026-33034 │ HIGH │ fixed │ 5.2.12 │ 6.0.4, 5.2.13, 4.2.30 │ Django: Django: Denial of Service via missing or understated │
│ │ │ │ │ │ │ Content-Length header in... │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-33034 │
│ ├────────────────┤ │ │ │ ├──────────────────────────────────────────────────────────────┤
│ │ CVE-2026-3902 │ │ │ │ │ Django: Django: Header spoofing via ambiguous header mapping │
│ │ │ │ │ │ │ https://avd.aquasec.com/nvd/cve-2026-3902 │
└─────────┴────────────────┴──────────┴────────┴───────────────────┴───────────────────────┴──────────────────────────────────────────────────────────────┘
Fix resource monitor for V2 worker runs - (PR #1383)
- needs OasisLMF/OasisLMF#1945
Option to disable API authorization - (PR #1387)
Added new option disabled for auth type. Setting the env variable OASIS_API_AUTH_TYPE=disabled allows all requests without any authorization checks
Fix swagger file picker - (PR #1388)
File picker is broken in swagger by #1340, fix settings to restore
Fix for 403 when calling analysis-task-statuses with no auth - (PR #1392)
Issue missed from #1387
OasisLMF Notes
remove pd from summarypy to save on memory usage - (PR #1903)
enhancement/lecpy_speed - (PR #1920)
Performance improvements to the Python LEC (Loss Exceedance Curve) calculation engine.
Changes
Separate row_used mask from OUTLOSS_DTYPE
- Extracted the
row_usedboolean field out ofoutloss_mean/outloss_samplestructured arrays into dedicatednp.bool_memmapped files (lec_row_used_mean.bdat,lec_row_used_sample.bdat) np.wherelookup is now computed once atAggReportsinitialisation and reused across all report types, avoiding repeated full-array scans
Replace nb.typed.Dict tail structures with flat ndarrays
- TVaR
tailandtail_sizeswere previously Numba typed dicts with dynamically resized array values - Replaced with pre-allocated flat
ndarray[TAIL_valtype]arrays indexed via pre-computedtail_offsets - Eliminates dict lookups, dynamic array resizing, and Python list accumulation in
write_tvar/write_tvar_wheatsheaf - Output arrays (
EPT_dtype/PSEPT_dtype) are now pre-allocated and written by position directly
Fix np.int32 overflow in memmap shape calculations
no_of_periodsandsample_sizeare read asnp.int32from binary headers; multiplying them to compute memmap shapes overflowed silently- Explicit
int()casts added before shape multiplications
Deduplicate row_used update logic
do_lec_output_agg_summarypreviously selected target array via a branch then updatedrow_usedthrough a shared code path- Each branch now handles its own array independently, removing the intermediate variable and making per-array updates explicit
Performance improvement (using binary outputs)
closes OasisLMF/OasisLMF#1680
Reverted and reopened - (PR #1931)
** packaging issue needs fix ** OasisLMF/OasisLMF#1894
enhacement/peril info from OEDSpec - (PR #1935)
- read the
perilsandperil_groupsinfo directly from the OEDSchema - remove redundant field
group_perilfromPERILS - change key for
PERILSandPERIL_GROUPSto peril code from OEDSpec. - add tests to ensure correct groups created
bug/move h3 tests - (PR #1939)
- move h3 tests to their own file so that
pytest.importorskipdoes not skip builtin tests
Fix resource monitor for V2 worker runs - [(PR #1945)](https://github.com...
Release 2.5.2
Oasis Release v2.5.2
Docker Images (Platform)
- coreoasis/api_server:2.5.2
- coreoasis/model_worker:2.5.2
- coreoasis/model_worker:2.5.2-debian
- coreoasis/piwind_worker:2.5.2
Docker Images (User Interface)
Components
Changelogs
OasisPlatform Changelog - 2.5.2
- #1340 - Move from drf-yasg to drf-spectacular
- #1346 - Added Numba JIT warm-up to worker startup
- #1347 - Fixed limiting cores on V2 workers
- #1351 - adding ods lmf to workflow for unittest
- #1352 - removed workaround for exposure run endpoint
- #1353 - Update release notes script
- #1354 - fix/CVE-2026-25673
- #1355 - remove validate option when uploading exposure file
- #1356 - Fix stalled CI pipelines in Piwind tests
- #1357 - combine remove analysis copying from inputs
- #1358 - fix
- #1361 - Set logger based on oasislmf log level
- #1362 - Remove Debian image from CI workflow
- #1363 - Feature/celery ssl support
- #1364 - Pin trivy-action to commit not a ref that is mutable
- #1365 - CVE udpate for march 2026
- #1367 - CI fix, run unittest with oasislmf main
- #1372 - auto release branch
- #1374 - fix worker build
OasisLMF Changelog - 2.5.2
- #1873 - Add docstrings and documentation to bash.py
- #1878 - Fix error handling and replaced row wise apply in loss computation
- #1891 - override exposure run files and testing on exposure run
- #1897 - use bin file in exposure run
- #1898 - Add resource monitor for pytools processes
- #1899 - Add Numba JIT cache warmup to eliminate cold-start overhead
- #1901 - Fix/chardet 7 support
- #1902 - Add option to set analyses chunk size for API client
- #1905 - fix/check_call
- #1907 - Fix failing Piwnd checks (v2)
- #1908 - fix/rogue_pytest_files
- #1909 - return period check
- #1912 - fix additional_fields pa_dtype keyerror issue
- #1913 - feat: Native Apple Silicon (macOS arm64) installation support
- #1914 - enhancement/wheatsheaf_zero_count
- #1915 - Fix updated CI platform checks
- #1916 - fix/cyber account profile to match OED spec
- #1919 - Optimize FootprintParquetDynamic for partitioned parquet
- #1921 - CI adjustment for External PR's
- #1923 - Add H3 hexagonal grid lookup to builtin keys server
- #1924 - fix: in special condition remove necessity for dummy layer with multiple cond peril
- #1925 - Fix package build warnings
- #1927 - Ci/automate release branch
- #1930 - Set CRS to WGS84 on location coordinates
- #1932 - fix twine upload
ODS_Tools Changelog - 5.0.3
- #240 - enhancement/group_fill_perspective option for ods_tools combine
- #246 - enhacement/download OEDSpec during editable setup
- #247 - fix chardetv6 - dummy special chars
- #249 - Added missing token ENV to workflow script
- #251 - set default dtype to pyarrow when pandas>=3
- #252 - enhancement/combine tool performance
- #255 - fix/schema-validation
- #256 - fix/combine summaryid eventid
- #260 - auto release pr
Release Notes
OasisPlatform Notes
Move from drg-yasg to spectacular - (PR #1340)
- Updated API spec to use OpenAPI 3
- Swagger generator is now drf-spectacular
- Update API spec tester
Added Numba JIT warm-up to worker startup - (PR #1346)
setting OASIS_NUMBA_WARMUP=True will trigger the workers to pre-compile numba's JIT functions before accepting any jobs, add an approx 1-2min extra to the startup time
Fixed limiting cores on V2 workers - (PR #1347)
When running with a single chunk, a worker in V2 mode with either multiprocess across all cores or check for kernel_num_processes, fixed so this value is read. not the prev ktools_num_processes
Update release notes script - (PR #1353)
- Always use PR title and description
- Bug fixes and improvements
fix/CVE-2026-25673 - (PR #1354)
fixes CVE-2026-25673
remove validate option when uploading exposure file - (PR #1355)
validatedoes not work for reinsurance files alone, requires location and account filevalidateoption when uploading a file runs on theapi_serverwhich can block it- can run validation of the entire portfolio usin
portfolios/{id}/validateendpoint- this endpoint also runs on the internal worker
Fix stalled CI pipelines in Piwid testing - (PR #1356)
- Fixes for OasisLMF/OasisLMF#1906 calls to API v2 endpoint were causing blocking calls without timeouts, locking up gunicorn workers.
combine remove analysis copying from inputs - (PR #1357)
- from OasisLMF/ODS_Tools#240 combine tool no longer needs
analysis_settings.jsonin root
More CI fixes following on from prev CI update - (PR #1358)
- Fixes for #1356
Set logger based on oasislmf log level - (PR #1361)
The worker env varOASIS_DEBUG=1 now sets logging level to debug, also the level and be set directly using OASIS_PACKAGE_LOG_LEVEL=<level>
Remove Debian image from CI workflow - (PR #1362)
At the moment there are two workers build one from ubuntu , the other debian. Better to keep things it to a single worker.
Feature/celery ssl support - (PR #1363)
Added support for AMQPS brokers with celery.
Note: workers below 2.5.2 will NOT work with AMPQS without this PR, because they'll need the change to the celery configuration to check for and enable ssl on the broker.
Pin trivy-action to commit not a ref that is mutable - (PR #1364)
trivy-action was hacked, replacing a tag with malicious code. Workflow should be...
Release 2.5.1
Oasis Release v2.5.1
Docker Images (Platform)
- coreoasis/api_server:2.5.1
- coreoasis/model_worker:2.5.1
- coreoasis/model_worker:2.5.1-debian
- coreoasis/piwind_worker:2.5.1
Docker Images (User Interface)
Components
Changelogs
OasisPlatform Changelog - 2.5.1
- #1344 - revert removal of
latestdocker image tag - #1345 - Exposure run fix for oasislmf 2.5.1
- #1322 - add platform interface for ORD combining tool
- #1334 - Update Oasis Data Manger
- #1332 - Kube test failing with authentik
- #1339 - fix/cve-2026-26007
- #1342 - fix/oidc_token_scopes
OasisLMF Changelog - 2.5.1
- #1885 - race condition with join-summary-info in generated bash script
- #1870 - Improve time and memory performance for big Portfolio
- #1870 - Improve time and memory performance for big Portfolio
- #1865 - latest docker tag repaced with 2.5
- #1866 - Fix typos and incorrect CLI docstrings
- #1869 - perf: Optimize GULMC performance - 4.5% faster standard, 76% faster dynamic footprint
- #1870 - Improve time and memory performance for big Portfolio
- #1872 - fix/lecpy_outofbounds
- #1874 - Update package readme
- #1821 - save combined analysis settings in outputs
- #1876 - Write binary files directly, bypass CSV intermediary
- #1879 - fix/oidc_header_fix
- #1882 - Package updates to either numpy or numba cause loss generation to fail.
- #1884, #1887 - Logs in main and tests in footprint_layer.py
ODS_Tools Changelog - 5.0.2
Release Notes
OasisPlatform Notes
revert removal of latest docker image tag - (PR #1344)
Exposure run fix for oasislmf 2.5.1 - (PR #1345)
feature - POST analyses/combine endpoint - (PR #1325)
- Implement the
analyses/combineendpoint to run theods_tools.combinetool- task runs on
oasis-internal-worker - creates a new
Analysisobject to contain the results via therecord_combine_task
- task runs on
- Removes
Analysis.modelrequired attribute fromAnalysisobjects - Added a new
AnalysisQuerySetto capture the endpoint.
Update Oasis Data Manger - (PR #1334)
- Add oasis data manager to version update
- set data manager to 0.2.0
Try to fix failing minikube ci - (PR #1335)
- Adds more memory to minikube
- Adds a swap file
- Adds seperate ci-values.yml file to change authtype just for CI
closes #1332
fix/cve-2026-26007 - (PR #1339)
fix/oidc_token_scopes - (PR #1342)
Adds offline_access scope to authorize and refresh endpoint scopes to allow authentik to actually return a refresh_token
helps with OasisLMF/OasisPythonUI#49
OasisLMF Notes
fix/join-summary-info-bash - (PR #1889)
moves join-summary-info commands to end of kat/aal/lec, gives them own jpids for multiprocessing
closes OasisLMF/OasisLMF#1885
Summary - (PR #1862)
Optimize get_gul_input_items and get_il_input_items functions for improved performance and add comprehensive documentation.
Changes
- Optimized DataFrame operations in
get_gul_input_itemsto reduce memory usage and improve speed - Optimized merge and groupby operations in
get_il_input_items - Added detailed docstrings explaining the processing flow, data structures, and key concepts
Performance Results
Big Dataset (disaggregation=False)
Initial locations: ~100k | GUL output rows: ~3.4M
| Function | main | branch | Speedup |
|---|---|---|---|
get_gul_input_items |
21.25s | 9.17s | 2.3x faster |
get_il_input_items |
151.99s | 129.07s | 1.18x faster |
Partial Dataset (disaggregation=True)
Initial locations: ~15k | GUL output rows: ~30M
| Function | main | branch | Speedup |
|---|---|---|---|
get_gul_input_items |
70.36s | 21.91s | 3.2x faster |
get_il_input_items |
431.42s | 299.02s | 1.44x faster |
Summary
get_gul_input_items: 2.3x to 3.2x fasterget_il_input_items: 1.18x to 1.44x faster
The disaggregation path shows larger improvements (3.2x for GUL, 1.44x for IL).
latest docker tag repaced with 2.5 - (PR #1865)
2.5 is now the latest set of images from 2.5.x oasis stable, same with 2.4 --> 2.4.x when they release
Refactor fmpy naming conventions and add comprehensive documentation - (PR #1871)
Summary
This PR improves the readability, maintainability, and documentation of the Financial Module (fmpy) computation code through systematic variable naming refactoring and comprehensive documentation additions.
fix/lecpy_outofbounds - (PR #1872)
The next_returnperiod_idx value isn't checked against the length of returnperiods before trying to access it.
This is an issue with write_ept, write_ept_weighted, write_psept, write_psept_weighted.
Update package readme - (PR #1874)
Update readmes supported versions
enhancement/root analysis_settings.json not updated when run is complete - (PR #1875)
- make
output-dir/analysis_settings.jsonmatchoutput-dir/output/analysis_settings.json
fix/oidc_header_fix - (PR #1879)
Sets "authorization" header in request for access_token, was missing when auth_type was token.
required for OasisLMF/OasisPythonUI#49 to work with authentik
ODS_Tools Notes
feature/date_validity_checks - (PR #218)
Adds check to ensure date columns are of format YYYY-MM-DD
closes OasisLMF/ODS_Tools#158
fix/CI issues - (PR #243)
- updates CI workflow file to look for renamed
oasislmfbuild name - fix version of
chardet<=5.2.0
Release 2.4.12
Oasis Release v2.4.12
Docker Images (Platform)
- coreoasis/api_server:2.4.12
- coreoasis/model_worker:2.4.12
- coreoasis/model_worker:2.4.12-debian
- coreoasis/piwind_worker:2.4.12
Docker Images (User Interface)
Components
Changelogs
OasisPlatform Changelog - 2.4.12
- #1323 - Server DB connection overload
- #1336 - update default branches and latest tag
- #1338 - Update/ci latest 2.4
- #1308 - Update test for analyses_settings computation_settings merge
- #1310 - Paths causing schema issue in v2
OasisLMF Changelog - 2.4.12
-
#1824 - Wrong insured loss with type 2 terms and disaggregation
-
#1155, #1807 - improve dtype coherence between files gen and pytools
-
#1861 - CI Fix - testinstall ods/piwind from last stable, not main
-
#1843 - support for pandas 3, fix BIPOI
-
#1846 - Fix FM stream output: validate index range when writing special sidx
-
#1816 - very low Insurance Loss values for portfolio with account level terms on version 2.4
-
#1851 - Bashgen fix - swap rl for ri when running summaypy
-
#1837 - Cyber FM fields not accounted for in oasis lmf profiles
-
#222 - bug/pandas v3.0 causing tests to fail
Release Notes
OasisPlatform Notes
Fix Gunicorn number of workers - (PR #1324)
Nproc returned the wrong number of core which caused the server overload its DB connections
Update/ci latest 2.4 - (PR #1336)
- Set default CI branches to stable
- latest tag is now
2.4 - Fix CVE's
Update test for analyses_settings computation_settings merge - (PR #1308)
- testing update needed for OasisLMF/OasisLMF#1813
OasisLMF Notes
fix: Wrong insured loss with type 2 terms and disaggregation - (PR #1825)
Use the correct term (type instead of code) to filter what term is an absolute value that needs to be dis-aggregated
improve dtype coherence between files gen and pytools - (PR #1827)
Incoherence between files generation and pytools load file dtype could lead to issue for example when loading file using np.loadtxt. This change unify the data type by making sure both side use the same source.
CI Fix - testinstall ods/piwind from last stable, not main - (PR #1861)
Need to test with prev versions not current development
fix BIPOI default value, provide support for pandas 3.0 - (PR #1843)
- fix the BIPOI 365d default value ignored
- provide multiple fix to support pandas v3.0
note 1: those issue are grouped together as a better handling of BIPOI is needed to correctly support pandas v3.
note 2: need Vinul great odstools fixes to fully function with pandas 3.0
Fix FM stream output: validate index range when writing special sidx - (PR #1846)
When outputting losses in the FM stream, special sidx values are written even when their loss is 0. Before writing, we check if the current sidx matches the special sidx we want to output.
The bug: The sidx value being checked could belong to the next node. IIf that value happens to match the special sidx we're looking for, we end up with an out of logical bound index. This causes the normal sample writing loop to never terminate, resulting in:
File "/usr/local/lib/python3.12/dist-packages/oasislmf/pytools/fm/stream_sparse.py", line 220, in load_event
if loss_val[node_loss_start + i_index]:
~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
IndexError: index 1425164 is out of bounds for axis 0 with size 1425164
To fix this, we add a check to make sure the sidx value we are looking at is part of the node logical range
fix IL for ptf with empty Policy layer level and account terms - (PR #1817)
Fix an issue on the prev_agg_id used for account terms for portfolio with no Policy layer level.
Bashgen fix - swap rl for ri when running summaypy - (PR #1851)
Fix for running "rl_output": true in analysis settings with "summarypy": true
support for cyber risk financial module - (PR #1852)
This PR adds support for cyber risk financial module (FM) terms to the OasisLMF framework, enabling the modeling of cyber insurance policies.
Added policy-level deductible and limit terms for 10 new cyber coverage types:
- NPBI (CoverageTypeID: 7) - Non-Physical Business Interruption
- CBI (CoverageTypeID: 8) - Contingent Business Interruption
- DIAS (CoverageTypeID: 9) - Data & Information Asset Security
- EXT (CoverageTypeID: 10) - Extortion
- FIN (CoverageTypeID: 11) - Financial
- INRE (CoverageTypeID: 12) - Incident Response
- LIA (CoverageTypeID: 13) - Liability
- REG (CoverageTypeID: 14) - Regulatory
- ENO (CoverageTypeID: 15) - Errors & Omissions
- CYB (CoverageTypeID: 16) - General Cyber
Updated exposure run logic to handle use cases without location files (e.g., cyber, marine), where exposures are defined at account level only.
ODS_Tools Notes
bug/pandas 3 tests failing - (PR #223)
Fixes tests for pandas=3.0.0
Fixes CI errors
Fixes incorrect handling of null values from str_replace
Release 2.3.20
Oasis Release v2.3.20
Docker Images (Platform)
- coreoasis/api_server:2.3.20
- coreoasis/model_worker:2.3.20
- coreoasis/model_worker:2.3.20-debian
- coreoasis/piwind_worker:2.3.20
Docker Images (User Interface)
Components
Changelogs
- #1337 - Update/ci latest 2.3
OasisLMF Changelog - 2.3.20
- #1824 - Wrong insured loss with type 2 terms and disaggregation
- #1846 - Fix FM stream output: validate index range when writing special sidx
- #1863 - fm: use correct term disaggreagtion filter (#1825) ~ backport
Release Notes
OasisPlatform Notes
Update/ci latest 2.3 - (PR #1337)
- fix CVE
- update latest tag
OasisLMF Notes
fix: Wrong insured loss with type 2 terms and disaggregation - (PR #1825)
Use the correct term (type instead of code) to filter what term is an absolute value that needs to be dis-aggregated
Fix FM stream output: validate index range when writing special sidx - (PR #1846)
When outputting losses in the FM stream, special sidx values are written even when their loss is 0. Before writing, we check if the current sidx matches the special sidx we want to output.
The bug: The sidx value being checked could belong to the next node. IIf that value happens to match the special sidx we're looking for, we end up with an out of logical bound index. This causes the normal sample writing loop to never terminate, resulting in:
File "/usr/local/lib/python3.12/dist-packages/oasislmf/pytools/fm/stream_sparse.py", line 220, in load_event
if loss_val[node_loss_start + i_index]:
~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
IndexError: index 1425164 is out of bounds for axis 0 with size 1425164
To fix this, we add a check to make sure the sidx value we are looking at is part of the node logical range
fm: use correct term disaggreagtion filter (#1825) ~ backport - (PR #1863)
... Release notes description / summary
... Any text between these two tags will be automatically pulled into the platform release notes
Release 2.5.0
Oasis Release v2.5.0
Docker Images (Platform)
- coreoasis/api_server:2.5.0
- coreoasis/model_worker:2.5.0
- coreoasis/model_worker:2.5.0-debian
- coreoasis/piwind_worker:2.5.0
Docker Images (User Interface)
Components
Changelogs
OasisPlatform Changelog - 2.5.0
- #1296, #1223 - Feature/generic OIDC
- #698 - RoE functionality in Platform
- #1316 - Fix/current platform errors
- #1317 - Use updated setting handlers from ods-tools
- #1320 - trivy
- #1315 - testing module
model_mommydeprecated - #1323 - Server DB connection overload
- #1327 - test CI
- #1330 - Update/ci publish
- #1307 - Update urllib3 to 2.6.0
- #1308 - Update test for analyses_settings computation_settings merge
- #1310 - Paths causing schema issue in v2
OasisLMF Changelog - 2.5.0
- #1811 - add environment variables and coerce into integers
- #1809 - Improve PlatformBase login flow and debug messages
- #1813 - Fixed merging analyses computation_settings on the platform
- #1815 - Changing non OASIS_ env vars
- #1816 - very low Insurance Loss values for portfolio with account level terms on version 2.4
- #1818 - use acc_id and loc_id from merge and agg_id generation in fm files generation
- #1822 - fixing docs to correctly give way of working
- #1823 - Added unit tests for exposure data preparation functions
- #1824 - Wrong insured loss with type 2 terms and disaggregation
- #1826 - Enhancement/platform roe
- #1155, #1807 - improve dtype coherence between files gen and pytools
- #1830 - fix date format in csvs
- #1832 - katpy help text and cli doesn't allow parquet
- #1828 - Remove ktools binaries from python package
- #1831 - haz_cdf_empty dimension issue
- #1840 - perfomance improvement in lookup
- #1843 - support for pandas 3, fix BIPOI
- #224 - Optimise FM
- #1846 - Fix FM stream output: validate index range when writing special sidx
- #1837 - Cyber FM fields not accounted for in oasis lmf profiles
- #1853 - fm financial terms supported document misleading
- #1857 - fixup parquet key file exposure run
- #1860 - CI Fix - test to use new m settings loader
- #1223 -
gulmcfails if vulnerability functions are numbered in non-contiguous way
ODS_Tools Changelog - 5.0.1
- #224 - Extra OED Version sources
- #233 - ods_tools package 5.0.0 does not include pyarrow despite needing it
- #217 - error in check if missing loc acc
- #219 - Update settings schema for ktools removal
- #221 - combine ORD files
- #222 - bug/pandas v3.0 causing tests to fail
Release Notes
OasisPlatform Notes
Add support for generic OIDC providers - (PR #1248)
Platform is currently locked into using keycloak
Add support for any OIDC provider, testing first with authentik
Use updated setting handlers from ods-tools - (PR #1317)
PR to match OasisLMF/ODS_Tools#219
Replaces the older settings validator (now removed) with the version used in oasislmf package
update model_mommy -> model_bakery - (PR #1321)
Fix Gunicorn number of workers - (PR #1324)
Nproc returned the wrong number of core which caused the server overload its DB connections
Platform CI fixes - (PR #1327)
- Updated python packages for CVE-2026-24049 CVE-2025-69662 CVE-2026-1312 CVE-2026-1287 CVE-2026-1207
- updated test OED data to use
latest version
Update urllib3 to 2.6.0 - (PR #1307)
Fix for CVE-2025-66418 and CVE-2025-66471
Update test for analyses_settings computation_settings merge - (PR #1308)
- testing update needed for OasisLMF/OasisLMF#1813
OasisLMF Notes
Environment Variable Overrides for min/max_bloc_size - (PR #1811)
Add environment variables to override the min/max_bloc_size in the BasicKeyServer
fix/platform_login - (PR #1812)
change platformbase login logic and debug messages for failed login attempts
closes OasisLMF/OasisLMF#1809
Fixed merging analyses computation_settings on the platform - (PR #1813)
The computation_settings sections in analyses and model settings are not pickup and merged by the platform.
Fixed so it works the same way as MDK
fix IL for ptf with empty Policy layer level and account terms - (PR #1817)
Fix an issue on the prev_agg_id used for account terms for portfolio with no Policy layer level.
use proxy acc_id and loc_id instead of LocNumber, AccNumber and PortNumber to speed up FM files generation - (PR #1818)
fix: Wrong insured loss with type 2 terms and disaggregation - (PR #1825)
Use the correct term (type instead of code) to filter what term is an absolute value that needs to be dis-aggregated
improve dtype coherence between files gen and pytools - (PR #1827)
Incoherence between files generation and pytools load file dtype could lead to issue for example when loading file using np.loadtxt. This change unify the data type by making sure both side use the same source.
fix date format in csvs - (PR #1830)
Switches all to YYYY-MM-DD
required for OasisLMF/ODS_Tools#158
fix/katpy_parquet - (PR #1833)
adds parquet option to katpy cli.py, amends help text. refactors code slightly
closes OasisLMF/OasisLMF#1832
Refactored package and removed C++ binaries - (PR #1836)
- Moved to using
pyproject.tomloversetup.py(and updated CI to match) - Dropped non-ORD outputs as options
- Pytools is now the main kernel option, ktools binaries are not built into the package
- Removed params that enabled pytools (now the only option)
- Removed 'legacy_stream' option
- Removed / Updated GenBash tests
- renamed parameters, anything using ktools- is now kernel-, so from
--ktools-alloc-rule-ilto--kernel-alloc-rule-il
fix size of haz_cdf_empty to match the intensity bin size - (PR #1838)
set the correct base size for haz_cdf_empty so it match the number of intensity bins.
Lookup performance improvements
Replaces row-by-row itera...
Release 2.4.11
Oasis Release v2.4.11
Docker Images (Platform)
- coreoasis/api_server:2.4.11
- coreoasis/model_worker:2.4.11
- coreoasis/model_worker:2.4.11-debian
- coreoasis/piwind_worker:2.4.11
Docker Images (User Interface)
Components
Changelogs
OasisPlatform Changelog - 2.4.11
- #1307 - Update urllib3 to 2.6.0
- #1308 - Update test for analyses_settings computation_settings merge
OasisLMF Changelog - 2.4.11
- #1816 - very low Insurance Loss values for portfolio with account level terms on version 2.4
- #1818 - use acc_id and loc_id from merge and agg_id generation in fm files generation
- #1811 - add environment variables and coerce into integers
- #1813 - Fixed merging analyses computation_settings on the platform
Release Notes
OasisPlatform Notes
Update urllib3 to 2.6.0 - (PR #1307)
Fix for CVE-2025-66418 and CVE-2025-66471
Update test for analyses_settings computation_settings merge - (PR #1308)
- testing update needed for OasisLMF/OasisLMF#1813
OasisLMF Notes
fix IL for ptf with empty Policy layer level and account terms - (PR #1817)
Fix an issue on the prev_agg_id used for account terms for portfolio with no Policy layer level.
use proxy acc_id and loc_id instead of LocNumber, AccNumber and PortNumber to speed up FM files generation - (PR #1818)
Environment Variable Overrides for min/max_bloc_size - (PR #1811)
Add environment variables to override the min/max_bloc_size in the BasicKeyServer
Fixed merging analyses computation_settings on the platform - (PR #1813)
The computation_settings sections in analyses and model settings are not pickup and merged by the platform.
Fixed so it works the same way as MDK
Release 2.4.10
Oasis Release v2.4.10
Docker Images (Platform)
- coreoasis/api_server:2.4.10
- coreoasis/model_worker:2.4.10
- coreoasis/model_worker:2.4.10-debian
- coreoasis/piwind_worker:2.4.10
Docker Images (User Interface)
Components
Changelogs
OasisPlatform Changelog - 2.4.10
- #1297 - Consistency with LMF oed_schema_info
- #1300 - Fix/minikube test always pass
- #1301 - Minikube cicd workflow
- #1298 - Server error with OIDC due to DB tables not matching
OasisLMF Changelog - 2.4.10
- #1793 - clearer step param help info
- #1794 - read coverages and lossfactors functions have faulty logic for stdin
- #1684 - Validate output OED fields against portfolio early in the model run
- #1803 - Port blocked issues
- #1798 - bug/summary-info files not grouping by fields from accounts file
- #1801 - allow selection of oed backend dtype (pyarrow of numpy)
- #1804 - Build_merge accepts only csv arguments
- #1800 - bug/
BIPOITypeandBIWaitingPeriodTypeloaded incorrectly
ODS_Tools Changelog - 4.0.5
- #209 - acceptance conditions for oed_schema
- #210 - support pyarrow backend dtype
- #212 - feature/allow additional fields dtypes in oed exposure
- #214 - Ci fix custom oed schema
Release Notes
OasisPlatform Notes
Fix server error - keycloak non staff user - (PR #1303)
Fixes #1298
OasisLMF Notes
Fix read coverages and lossfactors functions for stdin - (PR #1795)
Currently these functions wrongly check for an existing file before reading data, even when stdin is selected. Refactors functions to avoid this happening
Feature/analysis_settings_oed_fields_check - (PR #1796)
adds prelim check to GenerateFiles to check if oed_fields in analysis_settings are valid
Tries to solve OasisLMF/OasisLMF#1684
fix/summary-info files not merging on acc file fields - (PR #1799)
- fix issue with merging
acc_idxwhen generating summary-info in input generation
Add parameter oed_backend_dtype to allow selection of dtype when loading OED - (PR #1801)
Pandas now support two types of backend when loading csv files, pyarrow and numpy. this PR allow users to select which backend dtype ODS_tools should use
fix type of BIWaitingPeriodType and BIPOIType - (PR #1805)
ODS_Tools Notes
support pyarrow backend dtype - (PR #210)
Allow user to select pyarrow dtype as a backend when loading an exposure.
feature/allow additional fields dtypes in oed exposure - (PR #213)
- adds
additional_fieldsparameter toOedExposurewhich can load non OED fields with the provided dtype
CI fix - load in Custom OED spec - (PR #214)
- Fixed issue where CI failed when testing package from OED-exposure branch
- Fixed Rate limit when building ods-tools from github actions
Release 2.4.9
Oasis Release v2.4.9
Docker Images (Platform)
- coreoasis/api_server:2.4.9
- coreoasis/model_worker:2.4.9
- coreoasis/model_worker:2.4.9-debian
- coreoasis/piwind_worker:2.4.9
Docker Images (User Interface)
Components
Changelogs
OasisPlatform Changelog - 2.4.9
- #1240 - Add task redelivery check to V1 workers
- #1276 - Zombie celery processes or memory building up in worker.
- #1284 - update django CVE-2025-59681
- #1269 - python unit testing takes 1h
- #1291 - Fixes for CI
- #1293 - Enhancement/oed schema version
- #1294 - CVE-2025-64458
OasisLMF Changelog - 2.4.9
- #1775 - Fix: Giving df engine to exposure
- #1781 - Choice of OED schema
- #1782 - Revamp/il by level
- #8 - PiWind model run issues
- #1784 - CI fix pip-comple error
- #1785 - Lookup arg 'complex_lookup_config_fp' has unexpected value
ODS_Tools Changelog - 4.0.4
- #197 - RE: Config option for "engine" not propagating to Oasis Data Manager for pd read/write causing critical performance issues
- #200 - Added valid_pla_loss_factors_ids to event set options #199
- #201 - Fix CI build script for ODM branch select
- #202 - OEDSchema choice
- #8 - Parquet OED ReinsScope incorrectly fail validation
- #205 - Fix CI testing by pinning pip
- #206 - make nb_peril_groups_dict more friendly with numba caching function
- #207 - remove unused param
Release Notes
OasisPlatform Notes
Fix/1240 refactor celery error handler - (PR #1282)
Removed celery_request_handler from V2 workers and check_worker_lost from V1 workers, replacing both with a single OasisWorkerTask that performs the same role.
Added a pre-task check to detect if a worker died while processing a task, which triggers a retry. Once the maximum number of retries has been exceeded, the analysis is aborted.
feature/enable celery optimisation flags - (PR #1283)
enables the following flags:
OASIS_CELERY_WORKER_MAX_MEMORY_PER_CHILD:worker_max_tasks_per_childOASIS_CELERY_MAX_TASKS_PER_CHILD:worker_max_memory_per_child
update django CVE-2025-59681 - (PR #1284)
- updated to
django 5.2.7
fix/slow_pythonapi_tests - (PR #1289)
Python api unittests are much slower after the 2.4.7 release, specifically the django 5 PR. They take ~1hr to run rather than ~20min. There is no one specific test that is slow, rather a large number of tests take longer to run each example via hypothesis. This PR aims to fix the slow runtime.
Fixes for CI - (PR #1291)
- fixed mount point for postgres
- fixed pip-compile error
schema choice in platform - (PR #1293)
Goes with OasisLMF/ODS_Tools#203
the default schema version is set via the oasislmf package configuration option oed_schema_info
This can be overridden on a container by setting the environment variable OASIS_OED_SCHEMA_VERSION={OED-version} (either workers or server images)
Django update - (PR #1294)
- fix for CVE-2025-64458
OasisLMF Notes
rewrite insurance loss fm file generation to process level one at a time - (PR #1782)
- write il fm file one level at a time to reduce memory consumption and improve performance
- fix a rare issue on fmpy layer calculation where extra info for min and max deductible were incorrect when setting new layers
part of work needed for #1082
adds option to check analysis_settings for join_summary_info - (PR #1783)
Allows join_summary_info via analysis_settings.json as well as the previous oasislmf.json file.
CI fix pip-comple error - (PR #1784)
- Pinned pip package on failing test
- Fixed PostgreSQL docker image mount
- OasisLMF/OasisPiWind#198
Fixed bug when loading complex_lookup_config_fp - (PR #1790)
ODS_Tools Notes
Fix CI build script for ODM branch select - (PR #201)
Add input for ODM github ref when testing ODS-tools
Join Summary Info - (PR #204)
Adds option to analysis settings to allow users to set the join_summary_info field.
speed up peril filtering by making nb_peril_groups_dict more friendly with numba caching function - (PR #206)
peril filtering is used for example in fm file generation. By using this implementation, the jitted function is better cached and will be faster once it has been run one.
Release 2.3.19
Oasis Release v2.3.19
Docker Images (Platform)
- coreoasis/api_server:2.3.19
- coreoasis/model_worker:2.3.19
- coreoasis/model_worker:2.3.19-debian
- coreoasis/piwind_worker:2.3.19
Docker Images (User Interface)
Components
Changelogs
OasisPlatform Changelog - 2.3.19
- #1250 - Fix/CVE aug 2025 2.3.x
- #1280 - Backport - Azure Service Principal for Postgres SQL authentication (2.3.x)
- #1291 - Fixes for CI
- #1169 - Azure Service Principal for Postgres SQL authentication -
- #1170 - Azure Service Principal for Postgres SQL authentication - (#1169)
OasisLMF Changelog - 2.3.19
- #1784 - CI fix pip-comple error
- #1776 - fix simple step policies
- #1788 - bypass amplification.bin load in pla when uniform factor is provided (backport)
Release Notes
OasisPlatform Notes
Updated packages for CVE issues - (PR #1250)
- Updated pinned packages in requirements.in and requirements.txt files
Backport - Azure Service Principal for Postgres SQL authentication - (#1169) - (PR #1286)
See #1169
Fixes for CI - (PR #1291)
- fixed mount point for postgres
- fixed pip-compile error
OasisLMF Notes
CI fix pip-comple error - (PR #1784)
- Pinned pip package on failing test
- Fixed PostgreSQL docker image mount
- OasisLMF/OasisPiWind#198
fix simple step policies - (PR #1776)
Fix an issue in need_account_aggregation step that remove step id from the aggregation key thus removing step policies.
bypass amplification.bin load in post loss amplification when uniform factor is provided - (PR #1788)
When a uniform factor is provided, amplification.bin load is not needed. This PR remove this step and allow user to provide a uniform factor without the need to create the amplification.bin file