---

2023-12-19: JavaFX-related (in OpenJDK):
        - allow any script language in type-attribute for event scripts such that many can be used in the same FXML
        - use FFM to create a JavaScript engine
        - add any Java script language to HTML class
        - add a concrete Application class for scripts (setUp, run, tearDown)
        - allow Java script applications in jpackage (allow multi-platform support if necessary?)


---

2021-02-16:

        - DONE (2021-02-16): CLASSPATH: rewrite if * in it, if Rexx loads JVM (otherwise on Java 8 or later jar/JAR files not found!)

        - nested classes: add a routine like bsf.import that adds init and newStrict if concrete class?

        - creation of installation package
                - use ooRexx to create on all platforms (forgo shell programming)
                - single jar-file vs. multiple (bsf.jar, bsf4oorexx.jar, .netclr.jar, bsf4oorexx4uno.jar, ...) ?
                - NOTICES.txt file !!

        - installations
                - GUI-Mac installer: do not install ooRexx if already installed ? Supply two installers, one
                                     with ooRexx one without?
                - Linux: - make sure installs into /opt/bsf4oorexx and links to /usr/local/bin
                         - make sure to allow installation with apt/yum
                - .Net install: make it optional?
                - AOO/OOO/LO install: make it optional? allow support for multiple installations?
                - Support files (information, help files, samples): make it optional?
                - USB (minimal) install?

        - DONE new launcher: checks accessible/installed Java and uses it (even if not on PATH or /usr/local/bin)

        - DONE create a release for 4.1
        - DONE create immediately a beta requiring 5.0 and adding features only available there (create - even
                  redirectable - command environment; SendMessageScoped() to RexxProxy)



---
2020-06-04, rgf:

        - notices.txt file!

        - update xdg-tools (currently from 2011) ?

        - rgf: --2020-06-15: NOT APPLICABLE, he has a quite "strange" setup
          not adhering to standards; Till Winkler, e-Mail, 2020-06-04 abends

                "Habe festgestellt (was mir neu war) das wenn man symbolic links (ln -s)
                nach /usr/lib erstellt, die zwar ohne Fehlermeldung erzeugt werden,
                diese aber nicht funktionieren und auch nicht gefunden gefunden werden.

                Relative Softlinks ( ln -rs ) + ldconfig lösen bei mir aber das Problem.
                Ich glaube in deinem setupBSF script liegt der Fehler (line 901ff) in
                der Verwendung von ln -fsv
                ...
                Nachtrag: ln -fsrv statt ln -fsv in löst auch das LibreOffice Problem."

                - on Linux use "ln -fsrv" (on Mac the "r" option is not present) ?


---

2020-02-06, rgf: exits: check for thread, attach/detach if necessary

---

2019-08-13, rgf: maybe check in exits whether tid has changed (should not be necessary, maybe with command handlers)


---
2019-01-13, rgf, BSF4ooRexx.def, after ooRexx 5.0 goes GA:
        - remove "EXPORTS RexxGetPackage" from Window's, not necessary anymore for ooRexx 5.0
        - check whether all other entries are still needed for Windows (they are not for Linux and MacOS)

---
2019-01-07, rgf:
        - AOO/LO installations on Windows and Linux: no need to copy *CLS files to AOO/LO
          directory; they will be picked up via PATH

        - if ooRexx 5.0 based:
          - remove routine caching where possible (as RMG enhanced lookup times considerably)
          - try to use .package~local to store BSF- and UNO-classes, if they remain locatable
            by existing (also native!) code (should speed up lookup times)

        - DONE: have a Java-implemented "unbox" subfunction that returns non-wrapped values as is;
          adjust BSF.CLS unbox() routine accordingly


---
2019-01-04, rgf:
        - on MacOS: add explicitly the menus "Install AOO support", "Uninstall AOO Support", "Install LO Support", "Uninstall LO Support";
                    try to "unopkg add/remove --shared" without sudo (seems sudo installed extensions are not shown in the "Extensions"
                    menu


---

2018-12-10, rgf:
        - Revision: 11583; Date:     2018-12-08 23:04:15 +0000 (Sat, 08 Dec 2018):
          "DEF-file not needed for exporting the loader function anymore"
          -> remove DEF-file on Windows?

        - when ooRexx 5.0 and up only:

           - save classes in .package~local: still accessible for requirees then?
           - use StringTable (faster) instead of Directory ?


----

DONE, 2017-10-23, rgf:

        - resolving constructor, fields, methods reflectively should follow the same rules

        - resolving constructors: check whether argument implements interface that a constructor
          argument explicitly mandates; e.g. Java-Array as an argument to ArrayList(Java-Array)
          does not resolve currently; maybe because the reflection code does deploy an incomplete
          algorithm;

        - maybe defining two external classes that carry out reflection <=1.8/8 and one
          >= 9 for constructors, fields, methods;

        - check whether an omitted value is really null-string and not .nil for Java (one has
          to explicitly list .nil, which should not be necessary)

         jarr=.bsf~bsf.createJavaArrayOf("java.lang.String", "1_one", , "3_three", "4_four")
         do val over jarr       -- iterate over Java array
                ... will yield "" for second (.nil) item
         end
----

DONE, 2017-01-22, rgf:

        - Janino development has occurred, is up-to-date, which is great; actually no lambdas (rgf, 20181210)

        - ad ASM on Android: it seems that creating at runtime does no good as the created
          class files need to be signed before becoming available for use (needs to be
          confirmed); if Janino can be used on Android, it would be the solution to go for
          good


DONE, 2014, ---rgf:

        - Supplier.java / also in ArrayWrapper.java?

          - allow any collection to be wrapped as an array ?

            - allow at least to supply a "makearray", resp. create an own MakeArray.java ?
              maybe different something like EnumerationWrapper.java for all enumeration
              patterns in Java collections ?

-----------------------------


- Eventually use Apache Maven to create the binaries (http://maven.apache.org/)

- Once ooRexx debugging and profiling is available in the kernel

        - whenever debugging and/or profiling APIs are added to ooRexx, make them available to Java

2012-02-25, ---rgf

-----------------------------

DONE, - check on AOO MacOSX:

        - oxt is installable for "user", but not for "shared" !

2012-11-18, ---rgf

-----------------------------
COMMENT (2019-01-04): on Android no dynamic creation and usage of Java classes seems to be supported;
                      Janino is much easier to program and - more important therefore - to maintain

- remove Janino eventually and use asm exclusively; it's faster and has support for
  creating Android dex renderings on-the-fly of the Java byte code;
  2022-08-03: dex not maintained; need to research Android, should be possible
somehow :)

  - Janino would be nice as generating Java source code is easier than bytecode,
    however it seems stalled at Java 1.4 and there seems to be no further initiative
    to make it address the Android Dalvik VM

2013-01-06, ---rgf

-----------------------------

DONE
- adapt setupOOo.rex to honor the upcoming AOO 4.0 locations and Windows registry keys

        -------- Original Message --------
        Subject: 	Re: Adapt the naming of our project deliverables - "OpenOffice.org" --> "Apache OpenOffice"
        Date: 	Thu, 10 Jan 2013 15:56:02 +0100
        From: 	Oliver-Rainer Wittmann <orwittmann@googlemail.com>
        Reply-To: 	dev@openoffice.apache.org
        To: 	dev@openoffice.apache.org


        Hi,

        On 10.01.2013 11:55, Rony G. Flatscher wrote:
        > Hi Oliver-Rainer,
        >
        > On 10.01.2013 11:23, Oliver-Rainer Wittmann wrote:
        >> I have finished the renaming from "OpenOffice.org" to "Apache OpenOffice" - see issue 121388.
        >>
        >> Beside corresponding changes in the user interface this change has impact on the following
        >> important and critical stuff:
        >> - folder/directory names
        >> - package names
        >> - Windows registry key names and values
        >> - ...
        >>
        >> As the folder/directory path to the user profile is also changed, the user profile of a former
        >> installed AOO (or OOo) version is not taken over.
        > for installation script purposes of add-ons etc., where can one find the concrete strings for
        > folder/directory names on the various operating system platforms and the Windows registry key names
        > and values?
        >

        Unfortunately, there is no single place in the source code. I also had not the
        resources to clean this up during the renaming work - hint, hint, hint :-)

        Please have a look at issue 121388, the wiki page referenced in one of the
        issue's comments and the intrinsic changes I have made.

        The product installation folder is more or less a form of the $PRODUCTNAME +
        [major version number]. E.g.:
        - Windows: "Apache OpenOffice 3"
        - Linux: "apache_openoffice3"
        On Linux platforms we have also the basis installation folder. It name is found
        in /main/instsetoo_native/util/openoffice.lst

        The user profile folder is more or less $PRODUCTNAME/[major version number]/

        The Windows registry keys and values can be found in module main/scp2/

        I hope that helps a little bit.

        Best regards, Oliver.

2013-01-10, ---rgf



DONE:
2025-09-02

        2024-09-16

                To inhibit the JVM warning use e.g.:

                   --enable-native-access=ALL-UNNAMED

                Cf. <https://openjdk.org/jeps/454>, <https://openjdk.org/jeps/412>,
                <https://docs.oracle.com/en/java/javase/21/core/call-native-functions-jextract.html#GUID-480A7E64-531A-4C88-800F-810FF87F24A1>,
                <https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/foreign/package-summary.html>

---

2022-08-03

        - remove rexxj-32.sh and rexxj-64.sh, JVMs 64-bit almost everywhere
    	DONE.


---

2021-07-28

        - Java: remove "finalize" (will be removed eventually from Java itself), use PhantomReference, e.g.
                <https://github.com/pfirmstone/JGDMS/blob/trunk/JGDMS/jgdms-collections/src/main/java/org/apache/river/concurrent/ReferenceProcessor.java>
                <https://www.baeldung.com/java-phantom-reference>

        DONE (using PhantomReferences).

---

2020-07-05, rgf: --2020-08-12: NOT NEEDED, everything needed already in place!
        - BSF.InputStream
        - BSF.OutputStream

                - allow switch to temporarily inhibit prefixes
                - change prefix to an attribute to allow its change

---

2020-07-02, rgf:

        - DONE: rgf: --2020-08-12: make JDBC samples for MiniSQL, MySQL, Postgress; DONE, also added
          MariaDB
        - DONE: create and add Tomcat-Taglib for script engines, have stdout
          use the document writer object without a "rexxOut>" prefix
          - may need rework of BSF.CLS redirections (individually turn on/off
            prefix, get/set prefix values)
        - DONE (they are!): check whether Tomcat "Rexx server pages (RSP)" are feasible


---
                DONE: 2020-01-26, rgf:
                        - re-capitlize and add engine names, e.g. "Rexx"

                        - make sure that CompiledScript objects gain the filename in engine scope Bindings,
                          if present/possible; DONE in RexxScriptEngine.compile(script,filename)

                        DONE remark (rgf): in the meantime I could officially add a proper filename creation in FXMLLoader
                                  which also gives exact location information in FXML files; will be part of JavaFX15
                                  to be released in fall 2020

---

2019-04-19, rgf, with ooRexx 5.0:
        - DONE add new SendMessageScoped() to RexxProxy

---

2019-01-28, rgf, with ooRexx 5.0:
        - DONE add external function to add command environment implemented in Java, using the new native C++ function
                - context->AddCommandEnvironment(name, handler, DIRECT_COMMAND_ENVIRONMENT);
                - context->AddCommandEnvironment(name, handler, REDIRECTING_COMMAND_ENVIRONMENT);
                - example usage, cf. native code segment in <http://sourceforge.net/p/oorexx/code-0/11697>

