simantics issueshttps://gitlab.simantics.org/groups/simantics/-/issues2020-11-09T08:23:27Zhttps://gitlab.simantics.org/simantics/platform/-/issues/5Multiple readers in db client2020-11-09T08:23:27ZAntti VillbergMultiple readers in db client1.36.0Antti VillbergAntti Villberghttps://gitlab.simantics.org/simantics/platform/-/issues/1070Change SymbolProviderFactory implementation identity to be based on diagram t...2024-02-02T07:43:27ZTuukka LehtonenChange SymbolProviderFactory implementation identity to be based on diagram types, not diagram instancesCurrently the Symbols view (`PageBookView`) will construct a separate page for every single diagram editor. This makes way for a bad user experience since the user will have separate Symbols-view state for every single diagram editor ins...Currently the Symbols view (`PageBookView`) will construct a separate page for every single diagram editor. This makes way for a bad user experience since the user will have separate Symbols-view state for every single diagram editor instead of being able to share what's open and filtered into sight between same type of diagrams.
At the moment diagram instances are used in the identity of [SymbolProviderFactory](https://gitlab.simantics.org/simantics/platform/-/blob/8065ba6e3cdbadf71bee55dd878a8fcf896c0965/bundles/org.simantics.diagram/src/org/simantics/diagram/symbolcontribution/SymbolProviderFactory.java) implementations. This is done because the [SymbolContributionFilter](https://gitlab.simantics.org/simantics/platform/-/blob/8065ba6e3cdbadf71bee55dd878a8fcf896c0965/bundles/org.simantics.diagram/src/org/simantics/diagram/symbolcontribution/SymbolContributionFilter.java) implementations receive the diagram instance as parameter, giving the filters the possibility to do instance-specific tricks to filter out symbols from current contributions. This possibility is currently not used anywhere and all filters are essentially based on comparing the diagram types to something.
Using the diagram types (`ReadGraph.getPrincipalTypes(diagram)` or `ReadGraph.getTypes(diagram)`) for the identity of `SymbolProviderFactory` implementations instead of `diagram` will do the trick. But it must be noted that making this change will destroy the possibility to have completely diagram-specific filtering which is not obvious to symbol filter contributions and should be documented in the API.1.59.0Tuukka LehtonenTuukka Lehtonenhttps://gitlab.simantics.org/simantics/platform/-/issues/1066NPE from UC interface editor ConfigurationPropertiesSection2024-01-24T07:40:04ZTuukka LehtonenNPE from UC interface editor ConfigurationPropertiesSection```
ERROR [2024-01-24 09:11:13,281] org.simantics.modeling.ui.componentTypeEditor.ConfigurationPropertiesSection: Finding UserDefinedProperties failed.
java.lang.NullPointerException: Cannot read field "id" because "impl" is null
at ...```
ERROR [2024-01-24 09:11:13,281] org.simantics.modeling.ui.componentTypeEditor.ConfigurationPropertiesSection: Finding UserDefinedProperties failed.
java.lang.NullPointerException: Cannot read field "id" because "impl" is null
at org.simantics.db.impl.graph.ReadGraphImpl.isImmutable(ReadGraphImpl.java:5695)
at org.simantics.db.layer0.adapter.impl.EntityInstances$QueryIndex.isImmutable(EntityInstances.java:139)
at org.simantics.db.impl.query.ReadEntry.isImmutable(ReadEntry.java:210)
at org.simantics.db.impl.query.QueryListening.registerDependencies(QueryListening.java:103)
at org.simantics.db.impl.query.QueryCache.runnerReadEntry(QueryCache.java:696)
at org.simantics.db.impl.graph.ReadGraphImpl.syncRequest(ReadGraphImpl.java:1992)
at org.simantics.db.impl.graph.ReadGraphImpl.syncRequest(ReadGraphImpl.java:1985)
at org.simantics.db.layer0.adapter.impl.EntityInstances$QueryIndex.perform(EntityInstances.java:78)
at org.simantics.db.layer0.adapter.impl.EntityInstances$QueryIndex.perform(EntityInstances.java:1)
at org.simantics.db.impl.query.ReadEntry.computeForEach(ReadEntry.java:121)
... 13 common frames omitted
Wrapped by: org.simantics.db.exception.DatabaseException: java.lang.NullPointerException: Cannot read field "id" because "impl" is null
at org.simantics.db.impl.query.ReadEntry.computeForEach(ReadEntry.java:133)
at org.simantics.db.impl.query.QueryCache.runnerReadEntry(QueryCache.java:704)
at org.simantics.db.impl.graph.ReadGraphImpl.syncRequest(ReadGraphImpl.java:1992)
at org.simantics.db.impl.graph.ReadGraphImpl.syncRequest(ReadGraphImpl.java:1985)
at org.simantics.db.layer0.adapter.impl.EntityInstances.findRec(EntityInstances.java:156)
at org.simantics.db.layer0.adapter.impl.EntityInstances.find(EntityInstances.java:185)
at org.simantics.db.layer0.adapter.impl.EntityInstances.find(EntityInstances.java:56)
at org.simantics.modeling.ui.componentTypeEditor.ConfigurationPropertiesSection$8.perform(ConfigurationPropertiesSection.java:571)
at org.simantics.modeling.ui.componentTypeEditor.ConfigurationPropertiesSection$8.perform(ConfigurationPropertiesSection.java:1)
at fi.vtt.simantics.procore.internal.SessionImplSocket$6.run0(SessionImplSocket.java:1522)
at org.simantics.db.impl.query.QueryProcessor$SessionTask.run(QueryProcessor.java:236)
at fi.vtt.simantics.procore.internal.SessionRequestManager$1.run0(SessionRequestManager.java:127)
at org.simantics.db.impl.query.QueryProcessor$SessionTask.run(QueryProcessor.java:236)
at org.simantics.db.impl.query.QueryThread.run(QueryThread.java:155)
```
The problem is that https://gitlab.simantics.org/simantics/platform/-/blob/9f6568aedeb8ec93d70a81c22b0457a55df7e8be/bundles/org.simantics.modeling.ui/src/org/simantics/modeling/ui/componentTypeEditor/ConfigurationPropertiesSection.java#L569 can return null but this not checked and null is then passed over to `query.find` two lines later request which eventually results in this NPE.1.59.0Tuukka LehtonenTuukka Lehtonenhttps://gitlab.simantics.org/simantics/platform/-/issues/1031Persisting failed queries fails on shutdown2023-12-04T19:49:17ZJussi KoskelaPersisting failed queries fails on shutdown```
java.lang.ClassCastException: class org.simantics.db.exception.ResourceNotFoundException cannot be cast to class java.lang.Integer (org.simantics.db.exception.ResourceNotFoundException is in unnamed module of loader org.eclipse.osgi....```
java.lang.ClassCastException: class org.simantics.db.exception.ResourceNotFoundException cannot be cast to class java.lang.Integer (org.simantics.db.exception.ResourceNotFoundException is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @12bbfc54; java.lang.Integer is in module java.base of loader 'bootstrap')
at org.simantics.db.impl.query.URIToResource.serializeValue(Unknown Source)
at org.simantics.db.impl.query.CacheEntryBase.serialize(CacheEntryBase.java:329)
at org.simantics.db.impl.query.QueryProcessor.save(QueryProcessor.java:1116)
at fi.vtt.simantics.procore.internal.XSupportImpl.saveQueries(XSupportImpl.java:200)
at org.simantics.Simantics.saveQueries(Simantics.java:478)
at org.simantics.SimanticsPlatform.shutdown(SimanticsPlatform.java:1039)
at org.simantics.SimanticsPlatform.shutdown(SimanticsPlatform.java:995)
at org.simantics.workbench.internal.SimanticsWorkbenchAdvisor$1.run(SimanticsWorkbenchAdvisor.java:735)
at org.simantics.workbench.internal.SimanticsWorkbenchAdvisor$7.run(SimanticsWorkbenchAdvisor.java:788)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)
```1.59.0Antti VillbergAntti Villberghttps://gitlab.simantics.org/simantics/3d/-/issues/182Update to JogAmp 2.6.0 for get rid of illegal access warnings from gluegen-rt...2023-12-04T19:44:25ZTuukka LehtonenUpdate to JogAmp 2.6.0 for get rid of illegal access warnings from gluegen-rt.jarOriginally the idea was to upgrade to 2.4.0, but it seems to introduce regressions that are fixes in 2.6.0 but it is not yet released.
----
https://jogamp.org/deployment/v2.4.0/ contains the 2.4.0 JogAmp release which has been released...Originally the idea was to upgrade to 2.4.0, but it seems to introduce regressions that are fixes in 2.6.0 but it is not yet released.
----
https://jogamp.org/deployment/v2.4.0/ contains the 2.4.0 JogAmp release which has been released after many many years since the previous 2.3.2 version we've been using so far.
There are many fixes involved (https://jogamp.org/wiki/index.php/SW_Tracking_Report_Objectives_for_the_release_2.4.0) but one notable thing is modular java support to avoid these:
```
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.jogamp.common.os.NativeLibrary$3 (file:/C:/w/ws dir/apros/trunk/.metadata/.plugin/org.eclipse.pde.core/.bundle_pool/../../../../g3d/vtk.rendering/lib/gluegen-rt.jar) to method java.lang.ClassLoader.findLibrary(java.lang.String)
WARNING: Please consider reporting this to the maintainers of com.jogamp.common.os.NativeLibrary$3
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
```
I've tested simply replacing all the native DLLs with 2.4.0 versions of them and also `gluegen-rt.jar` and `jogl-all.jar`. This seems to work as before but without the above illegal reflective access warning.1.59.0Tuukka LehtonenTuukka Lehtonenhttps://gitlab.simantics.org/simantics/platform/-/issues/9201.59.0 release engineering2024-02-25T13:03:23ZTuukka Lehtonen1.59.0 release engineeringBranched projects:
* [ ] simantics/third-party@
* [ ] simantics/platform@
* [ ] simantics/fmil@
* [ ] simantics/matlab@
* [ ] simantics/python@
* [ ] simantics/r@
* [ ] simantics/interop@
* [ ] simantics/3d@
* [ ] members/simupedia@
* [ ...Branched projects:
* [ ] simantics/third-party@
* [ ] simantics/platform@
* [ ] simantics/fmil@
* [ ] simantics/matlab@
* [ ] simantics/python@
* [ ] simantics/r@
* [ ] simantics/interop@
* [ ] simantics/3d@
* [ ] members/simupedia@
* [ ] members/fmi@
* [ ] simantics/district@
* [ ] simantics/sysdyn@
* [ ] gold-members/proteus@1.59.0Tuukka LehtonenTuukka Lehtonen2024-02-21https://gitlab.simantics.org/simantics/platform/-/issues/808Remove dublincore.ontology from standard features2023-12-04T19:49:33ZTuukka LehtonenRemove dublincore.ontology from standard features`org.simantics.dublincore.ontology` can be kept in the P2 repository but there's really no point in including it in every single Simantics app as such.`org.simantics.dublincore.ontology` can be kept in the P2 repository but there's really no point in including it in every single Simantics app as such.1.59.0Tuukka LehtonenTuukka Lehtonenhttps://gitlab.simantics.org/simantics/platform/-/issues/664Move Tools/SearchSCL SCL module from Simupedia to platform2023-12-04T19:50:11ZTuukka LehtonenMove Tools/SearchSCL SCL module from Simupedia to platform`searchSCL` is very useful and it has absolutely no dependency on Simupedia and should be promoted to the platform.`searchSCL` is very useful and it has absolutely no dependency on Simupedia and should be promoted to the platform.1.59.0Tuukka LehtonenTuukka Lehtonenhttps://gitlab.simantics.org/simantics/platform/-/issues/541Bundle compatible JRE with Simantics Desktop product2023-12-04T19:51:37ZTuukka LehtonenBundle compatible JRE with Simantics Desktop productTo simplify things, especially after #524.
Add at https://gitlab.simantics.org/simantics/platform/-/blob/master/.gitlab-ci.yml#L181To simplify things, especially after #524.
Add at https://gitlab.simantics.org/simantics/platform/-/blob/master/.gitlab-ci.yml#L1811.59.0Tuukka LehtonenTuukka Lehtonenhttps://gitlab.simantics.org/simantics/district/-/issues/66Giving <= 0 visualization refresh interval causes exception to be thrown2023-12-04T19:50:46ZTuukka LehtonenGiving <= 0 visualization refresh interval causes exception to be thrownThere is no validation for the refresh interval input value.
Giving <= 0, causes this crash:
```
java.lang.IllegalArgumentException
at java.util.concurrent.ScheduledThreadPoolExecutor.scheduleWithFixedDelay(ScheduledThreadPoolExecutor...There is no validation for the refresh interval input value.
Giving <= 0, causes this crash:
```
java.lang.IllegalArgumentException
at java.util.concurrent.ScheduledThreadPoolExecutor.scheduleWithFixedDelay(ScheduledThreadPoolExecutor.java:589)
at org.simantics.district.network.ui.participants.DynamicVisualisationContributionsParticipant$2.run(DynamicVisualisationContributionsParticipant.java:161)
at org.simantics.db.common.request.ReadRequest.perform(ReadRequest.java:21)
at fi.vtt.simantics.procore.internal.SessionImplSocket$6.run(SessionImplSocket.java:1547)
at fi.vtt.simantics.procore.internal.SessionRequestManager$1.run(SessionRequestManager.java:127)
at org.simantics.db.impl.query.QueryThread.run(QueryThread.java:251)
```1.59.0Tuukka LehtonenTuukka Lehtonenhttps://gitlab.simantics.org/simantics/platform/-/issues/99Move developer & end user documentation to Markdown and store in git repository2023-12-04T19:50:33ZTuukka LehtonenMove developer & end user documentation to Markdown and store in git repositoryPros:
* Automatically version the documentation with the code and publish online in the same web-location as all the software components related to the release
* Also, every single version of the documentation will be readily available...Pros:
* Automatically version the documentation with the code and publish online in the same web-location as all the software components related to the release
* Also, every single version of the documentation will be readily available in the repository and publishable online
* More possibilities to transcode the documentation into other formats (gitbook, dita, docz, gatsbyjs, ...)
* Markdown is simpler and easier to read than the current mediawiki-formatted source
* No more updating, maintenance and migration of mediawiki-installations and fixing after OS upgrades
* ...
Cons:
* Editing the documentation isn't as easy as going into a wiki and changing it but this is nothing compared to the pros.
The pros outweight the cons by a mile.
Originally from [redmine 7674](https://www.simantics.org/redmine/issues/7674).
----
* [ ] Reformat all relevant documentation from the old wiki into [docs](docs/) in this repository in Markdown format
* [ ] While moving every single document, assess its up-to-dateness. Remove or rewrite deprecated instructions.
* [ ] Take the old wiki offline or make it read-only and available at some backup address
* [x] Switch to using DITA for conversions from Markdown to other formats, such as Eclipse help
* [ ] Generate public website into pages.simantics.org through gitlab's pages mechanism
The Markdown should be written so that it can be read as such via Gitlab as the authoritative source of documentation without any extra generation.
Transfer TODO list at [docs/Developer/TODO.md](/docs/Developer/TODO.md)1.59.0Tuukka LehtonenTuukka Lehtonenhttps://gitlab.simantics.org/simantics/platform/-/issues/10471.55.1 release engineering2023-12-12T12:10:23ZTuukka Lehtonen1.55.1 release engineeringBranched projects:
* [] simantics/third-party@
* [] simantics/platform@
* [] simantics/fmil@
* [] simantics/matlab@
* [] simantics/python@
* [] simantics/r@
* [] simantics/interop@
* [] simantics/3d@
* [] members/simupedia@
* [] members...Branched projects:
* [] simantics/third-party@
* [] simantics/platform@
* [] simantics/fmil@
* [] simantics/matlab@
* [] simantics/python@
* [] simantics/r@
* [] simantics/interop@
* [] simantics/3d@
* [] members/simupedia@
* [] members/fmi@
* [] simantics/district@
* [] simantics/sysdyn@
* [] gold-members/proteus@1.55.1Tuukka LehtonenTuukka Lehtonenhttps://gitlab.simantics.org/simantics/platform/-/issues/1099Option to disable selection rendering globally2024-03-20T10:18:00ZJussi KoskelaOption to disable selection rendering globallyEach node type has currently it's own way of disabling selection rendering. This leads to dirty code in which the caller is responsible for disabling the selection rendering for each node type case by case. With a global hint the impleme...Each node type has currently it's own way of disabling selection rendering. This leads to dirty code in which the caller is responsible for disabling the selection rendering for each node type case by case. With a global hint the implementation can be moved to node's local render method.
Also currently the Path node did not hide its selection when using the Copy as SVG feature.1.60.0Jussi KoskelaJussi Koskelahttps://gitlab.simantics.org/simantics/platform/-/issues/1089Trying to make a connection deemed CANBEMADELEGAL by IModelingRules results i...2024-03-04T06:53:31ZTuukka LehtonenTrying to make a connection deemed CANBEMADELEGAL by IModelingRules results in NPE```
ERROR [2024-03-04 08:28:09,766] org.simantics.utils.ui.ErrorLogger: java.lang.NullPointerException: Cannot invoke "org.simantics.structural2.modelingRules.IAttachmentRelationMap.get(org.simantics.db.ReadGraph, org.simantics.structura...```
ERROR [2024-03-04 08:28:09,766] org.simantics.utils.ui.ErrorLogger: java.lang.NullPointerException: Cannot invoke "org.simantics.structural2.modelingRules.IAttachmentRelationMap.get(org.simantics.db.ReadGraph, org.simantics.structural2.modelingRules.CPTerminal)" because "judgment.attachmentRelations" is null
Cannot invoke "org.simantics.structural2.modelingRules.IAttachmentRelationMap.get(org.simantics.db.ReadGraph, org.simantics.structural2.modelingRules.CPTerminal)" because "judgment.attachmentRelations" is null
java.lang.NullPointerException: Cannot invoke "org.simantics.structural2.modelingRules.IAttachmentRelationMap.get(org.simantics.db.ReadGraph, org.simantics.structural2.modelingRules.CPTerminal)" because "judgment.attachmentRelations" is null
at org.simantics.diagram.participant.ConnectionBuilder.chooseAttachmentRelationForNode(ConnectionBuilder.java:785)
at org.simantics.diagram.participant.ConnectionBuilder.chooseAttachmentRelationForNode(ConnectionBuilder.java:766)
at org.simantics.diagram.participant.ConnectionBuilder.create(ConnectionBuilder.java:325)
at org.simantics.diagram.participant.ConnectTool2$3.perform(ConnectTool2.java:1005)
at fi.vtt.simantics.procore.internal.SessionImplSocket$1.run0(SessionImplSocket.java:468)
at org.simantics.db.impl.query.QueryProcessor$SessionTask.run(QueryProcessor.java:230)
at fi.vtt.simantics.procore.internal.SessionRequestManager$3.run0(SessionRequestManager.java:187)
... 2 common frames omitted
Wrapped by: org.simantics.db.exception.DatabaseException: java.lang.NullPointerException: Cannot invoke "org.simantics.structural2.modelingRules.IAttachmentRelationMap.get(org.simantics.db.ReadGraph, org.simantics.structural2.modelingRules.CPTerminal)" because "judgment.attachmentRelations" is null
at fi.vtt.simantics.procore.internal.WriteStateBase.finish(WriteStateBase.java:67)
at fi.vtt.simantics.procore.internal.WriteState.finish(WriteState.java:27)
at fi.vtt.simantics.procore.internal.SessionRequestManager$4.run0(SessionRequestManager.java:261)
at org.simantics.db.impl.query.QueryProcessor$SessionTask.run(QueryProcessor.java:230)
at org.simantics.db.impl.query.QueryThread.run(QueryThread.java:155)
```
The `CANBEMADELEGAL` `ConnectionJudgement` which has `attachmentRelations == null` comes from here:
```
Thread [AWT-EventQueue-0] (Suspended (breakpoint at line 1116 in org.simantics.diagram.participant.ConnectTool2))
org.simantics.diagram.participant.ConnectTool2.canConnect(org.simantics.g2d.element.IElement, org.simantics.g2d.diagram.handler.Topology.Terminal) line: 1116
org.simantics.diagram.participant.ConnectTool2.processMouseMove(org.simantics.scenegraph.g2d.events.MouseEvent$MouseMovedEvent) line: 553
org.simantics.diagram.participant.ConnectTool2.handleEvent(org.simantics.scenegraph.g2d.events.MouseEvent) line: 519
jdk.internal.reflect.GeneratedMethodAccessor206.invoke(java.lang.Object, java.lang.Object[]) line: not available
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.lang.Object, java.lang.Object[]) line: 43
java.lang.reflect.Method.invoke(java.lang.Object, java.lang.Object...) line: 568
org.simantics.scenegraph.g2d.events.EventHandlerReflection$1.handleEvent(org.simantics.scenegraph.g2d.events.Event) line: 101
org.simantics.scenegraph.g2d.events.EventHandlerReflection$EventHandlerDefinition$1.handleEvent(org.simantics.scenegraph.g2d.events.Event) line: 144
org.simantics.scenegraph.g2d.events.EventHandlerStack.handleEvent(org.simantics.scenegraph.g2d.events.Event) line: 67
org.simantics.scenegraph.g2d.events.EventQueue.handleEvents() line: 110
org.simantics.g2d.canvas.impl.CanvasContext$1.run() line: 136
java.awt.event.InvocationEvent.dispatch() line: 318
java.awt.EventQueue.dispatchEventImpl(java.awt.AWTEvent, java.lang.Object) line: 771
java.awt.EventQueue$4.run() line: 722
java.awt.EventQueue$4.run() line: 716
java.security.AccessController.executePrivileged(java.security.PrivilegedAction<T>, java.security.AccessControlContext, java.lang.Class<?>) line: 776
java.security.AccessController.doPrivileged(java.security.PrivilegedAction<T>, java.security.AccessControlContext) line: 399
java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(java.security.PrivilegedAction<T>, java.security.AccessControlContext, java.security.AccessControlContext) line: 86
java.awt.EventQueue.dispatchEvent(java.awt.AWTEvent) line: 741
java.awt.EventDispatchThread.pumpOneEventForFilters(int) line: 203
java.awt.EventDispatchThread.pumpEventsForFilter(int, java.awt.Conditional, java.awt.EventFilter) line: 124
java.awt.EventDispatchThread.pumpEventsForHierarchy(int, java.awt.Conditional, java.awt.Component) line: 113
java.awt.EventDispatchThread.pumpEvents(int, java.awt.Conditional) line: 109
java.awt.EventDispatchThread.pumpEvents(java.awt.Conditional) line: 101
java.awt.EventDispatchThread.run() line: 90
```1.60.0Tuukka LehtonenTuukka Lehtonenhttps://gitlab.simantics.org/simantics/platform/-/issues/10841.60.0 release engineering2024-02-25T12:41:02ZTuukka Lehtonen1.60.0 release engineeringBranched projects:
* [ ] simantics/third-party@
* [ ] simantics/platform@
* [ ] simantics/fmil@
* [ ] simantics/matlab@
* [ ] simantics/python@
* [ ] simantics/r@
* [ ] simantics/interop@
* [ ] simantics/3d@
* [ ] members/simupedia@
* [ ...Branched projects:
* [ ] simantics/third-party@
* [ ] simantics/platform@
* [ ] simantics/fmil@
* [ ] simantics/matlab@
* [ ] simantics/python@
* [ ] simantics/r@
* [ ] simantics/interop@
* [ ] simantics/3d@
* [ ] members/simupedia@
* [ ] members/fmi@
* [ ] simantics/district@
* [ ] simantics/sysdyn@
* [ ] gold-members/proteus@1.60.0Tuukka LehtonenTuukka Lehtonen2024-05-22https://gitlab.simantics.org/simantics/platform/-/issues/1065Version incompatibility between os.db.common, os.db.impl and os.graph.db2024-03-01T11:29:45ZAntti VillbergVersion incompatibility between os.db.common, os.db.impl and os.graph.db1.60.0Antti VillbergAntti Villberghttps://gitlab.simantics.org/simantics/platform/-/issues/916Switch to tycho 4.0.3 and Java 172024-02-25T12:14:18ZTuukka LehtonenSwitch to tycho 4.0.3 and Java 17After #794 we should consider moving to Tycho 4.0.3 and JavaSE-17 for builds.
It is also possible to switch Simantics to JavaSE-17 for source/target compatibility as well.
Benefits would include:
* General VM/GC performance improvemen...After #794 we should consider moving to Tycho 4.0.3 and JavaSE-17 for builds.
It is also possible to switch Simantics to JavaSE-17 for source/target compatibility as well.
Benefits would include:
* General VM/GC performance improvements (e.g. https://kstefanj.github.io/2021/11/24/gc-progress-8-17.html)
* Plenty of syntactic sugar
* More informative `NullPointerException`s
* This is already attained by just using JRE 17 as a runtime
* `instanceof` pattern matching (`if (s instanceof Rectangle2D r) ...`)
* More pattern matching everywhere
* records
* ...
Tycho 3.x includes support for mixed products defined using both features and plug-ins, which is supported also in the Eclipse IDE after the 2023-09 release.1.60.0Tuukka LehtonenTuukka Lehtonenhttps://gitlab.simantics.org/simantics/platform/-/issues/10851.61.0 release engineering2024-02-25T12:41:02ZTuukka Lehtonen1.61.0 release engineeringBranched projects:
* [ ] simantics/third-party@
* [ ] simantics/platform@
* [ ] simantics/fmil@
* [ ] simantics/matlab@
* [ ] simantics/python@
* [ ] simantics/r@
* [ ] simantics/interop@
* [ ] simantics/3d@
* [ ] members/simupedia@
* [ ...Branched projects:
* [ ] simantics/third-party@
* [ ] simantics/platform@
* [ ] simantics/fmil@
* [ ] simantics/matlab@
* [ ] simantics/python@
* [ ] simantics/r@
* [ ] simantics/interop@
* [ ] simantics/3d@
* [ ] members/simupedia@
* [ ] members/fmi@
* [ ] simantics/district@
* [ ] simantics/sysdyn@
* [ ] gold-members/proteus@1.61.0Tuukka LehtonenTuukka Lehtonen2024-08-21https://gitlab.simantics.org/simantics/platform/-/issues/10861.62.0 release engineering2024-02-25T12:41:02ZTuukka Lehtonen1.62.0 release engineeringBranched projects:
* [ ] simantics/third-party@
* [ ] simantics/platform@
* [ ] simantics/fmil@
* [ ] simantics/matlab@
* [ ] simantics/python@
* [ ] simantics/r@
* [ ] simantics/interop@
* [ ] simantics/3d@
* [ ] members/simupedia@
* [ ...Branched projects:
* [ ] simantics/third-party@
* [ ] simantics/platform@
* [ ] simantics/fmil@
* [ ] simantics/matlab@
* [ ] simantics/python@
* [ ] simantics/r@
* [ ] simantics/interop@
* [ ] simantics/3d@
* [ ] members/simupedia@
* [ ] members/fmi@
* [ ] simantics/district@
* [ ] simantics/sysdyn@
* [ ] gold-members/proteus@1.62.0Tuukka LehtonenTuukka Lehtonen2024-11-20https://gitlab.simantics.org/simantics/platform/-/issues/10871.63.0 release engineering2024-02-25T12:40:09ZTuukka Lehtonen1.63.0 release engineeringBranched projects:
* [ ] simantics/third-party@
* [ ] simantics/platform@
* [ ] simantics/fmil@
* [ ] simantics/matlab@
* [ ] simantics/python@
* [ ] simantics/r@
* [ ] simantics/interop@
* [ ] simantics/3d@
* [ ] members/simupedia@
* [ ...Branched projects:
* [ ] simantics/third-party@
* [ ] simantics/platform@
* [ ] simantics/fmil@
* [ ] simantics/matlab@
* [ ] simantics/python@
* [ ] simantics/r@
* [ ] simantics/interop@
* [ ] simantics/3d@
* [ ] members/simupedia@
* [ ] members/fmi@
* [ ] simantics/district@
* [ ] simantics/sysdyn@
* [ ] gold-members/proteus@1.63.0Tuukka LehtonenTuukka Lehtonen2025-02-19