Index: openacs-4/packages/acs-core-docs/www/release-notes.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/release-notes.adp,v diff -u -r1.8.2.12 -r1.8.2.13 --- openacs-4/packages/acs-core-docs/www/release-notes.adp 13 Jul 2023 12:43:22 -0000 1.8.2.12 +++ openacs-4/packages/acs-core-docs/www/release-notes.adp 1 Aug 2024 08:03:41 -0000 1.8.2.13 @@ -12,6 +12,126 @@
The release of OpenACS 5.10.1 contains the 97 packages of the +oacs-5-10 branch. These packages include the OpenACS core packages, +the major application packages (e.g. most the ones used on +OpenACS.org), and DotLRN 2.10.1.
Improved templating
Client-side double click prevention
Support for generic icon names, which can be mapped differently
+depending on the installed packages and themes: The generic names
+are supported via <adp:icon
+name="NAME" title=....>
. By using this feature,
+one can use font-based icons (like e.g. glyphicons of Bootstrap5,
+bootstrap-icons, fa-icons, ...) instead of the old-style .gif and
+.png images. This makes the appearance more uniform, has better
+resizing behavior, and works more efficiently (fewer requests for
+embedded resources). Most of the occurrences of the old-style
+images in standard core and non-core packages in oacs-5-10 are
+already replaced.
Support for listing registered URNs
Security improvements
Stronger password hashes (scram-sha-256
hash in addition to the
+classical salted-sha1
)
Added optional CSP rules based on MIME types. This is important
+for user-contributed content. When users upload e.g. SVG-files to
+the file storage, and the content is served from there, it poses a
+potential security hole. One can now define an additional parameter
+called StaticCSP
in the section
+ns/server/$server/acs
of the
+OpenACS configuration file to deactivate execution of script files
+from static content.
+ ns_param StaticCSP { + image/svg+xml "script-src 'none'" + } + ++
Cookie-Namespace: When multiple OpenACS instances are served
+from the same domain name, the same cookies (e.g. ad_session_id,
+ad_login, ...) are set to all servers. For sensible cases, a
+cookie-namespace can be used, which can be used as a replacement of
+the traditional ad_
prefix.
+This can be as well set in the section ns/server/$server/acs
of the OpenACS
+configuration file:
+ # Provide optionally a different cookie namespace + # (used for prefixing OpenACS cookies) + ns_param CookieNamespace "ad_" + ++
Further reduce divergence between Oracle and Postgres SQL. +Target version of Oracle could be 12.*, as Extended support ends in +2022 (see https://www.oracle.com/us/support/library/lifetime-support-technology-069183.pdf)
limit / rownum -> fetch first
use Postgres schemas for stored procedures so that they can be +invoked with the same Oracle idiom
Deprecated commands
acs_message_id contract
+filter
acs_privacy::*
acs_tcl_vars_list_to_ns_set
acs_tcl_vars_to_ns_set
ad_apply
ad_approval_system_inuse_p
ad_dateentrywidget
ad_db_select_widget
ad_decorate_top
ad_ns_set_to_tcl_vars
ad_package_admin_home
ad_parameter_all_values_as_list
ad_user_class_description
apm_file_type_keys
application_group::child_application_groups
attachments::root_folder_map_p
bulk_mail::parameter
bulk_mail::pretty_name
calendar_portlet_display::get_url_stub
calendar::adjust_date
calendar::assign_permissions
calendar::from_sql_datetime
calendar::item::assign_permission
calendar::make_datetime
content::revision::update_attribute_index
dotlrn_chat::add_portlet_helper
dt_widget_*
export_entire_form
export_entire_form_as_url_vars
export_ns_set_vars
+f::*
API that cannot be
+replaced by a drop-in alternative
forum::new_questions_allowed_p
forum::new_questions_allow
forum::new_questions_deny
fs::add_created_version
fs::get_archive_extension
fs::get_folder_contents
fs::item_editable_info
fs::torrent::get_hashsum
notification::get_delivery_method_id
notification::get_interval_id
oacs_util::vars_to_ns_set
template::adp_levels
template::form::export
template::util::array_to_vars
template::util::is_true
template::util::list_to_array
template::util::list_opts
template::util::nvl
template::util::tcl_to_sql_list
template::util::set_to_list
template::util::set_to_vars
template::util::vars_to_array
twt::server_url
twt::user::create
twt::user::delete
util_AnsiDatetoPrettyDate
util_commify_number
util_get_current_url
util_list_to_ns_set
util_ns_set_to_list
util_report_successful_library_load
util_report_library_entry
util::string_check_urlsafe
Color widget API
...
New proc ad_log_deprecated
:
+unified interface for logging deprecated usages The existing code
+used a larger variety of different messages to denote invocations
+of deprecated procs and other artifacts. ad_log_deprecated
provides a unified
+interface, and provides a usage hint what to use instead based on
+the API-doc definitions in the log-file.
Move deprecated code into separate files
Give people the chance to use OpenACS with WithDeprecatedCode
set to 0. When OpenACS
+is configured to omit loading of long deprecated code (WithDeprecatedCode
set to 0) files like
+deprecated-procs.tcl are not loaded. Therefore, these files should
+only contain code, which was deprecated at LEAST ONE RELEASE
+EARLIER, such that site admins have one release time to fix calls
+to deprecated code. This is especially important for public
+procs.
General cleanup/maintenance
Modernization of Tcl idioms.
Compliance of files, proc names, ... to the naming +conventions.
White space cleanup, indentation changes.
Improvement of public API documentation
Adjustment of proc protection levels (public, private)
Adjustment of log severity
Cleanup of obsolete files
Replacement of handcrafted forms by ad_form
Typo fixing
Editor hints
Replacement of deprecated calls
Addition of missing contracts
...
New Packages:
openacs-bootstrap5: Bootstrap 5 theme for OpenACS
bootstrap-icons: Free, high-quality, open-source icon library +with over 1,600 icons. Include them anyway you +like””SVGs, SVG sprite, or web fonts. Use them +with or without Bootstrap in any project
fa-icons: Free, high-quality, open-source icon library with over +2,000 free icons. As of 2020, Font Awesome was used by 38% of sites +that use third-party font scripts, placing Font Awesome in second +place after Google Fonts
highcharts: The Highcharts library is a JavaScript and +TypeScript package for producing data visualizations (line/bar/pie +charts etc.). The OpenACS package offers support to load this +library either via CDN or from a local installation (via acs-admin +and global administration UI)
Migrate to bootstrap 5. Bootstrap 3 reached EOL in 2019, +Bootstrap 4 had EOL 2022. See https://github.com/twbs/release +
Potential incompatibility with OpenACS 5.10.0: +"permission::permission_p" returns Boolean values as +"t" and "f" and not "1" and +"0". Avoid literal comparisons of the result and use +boolean tests available in Tcl/OpenACS.
Support for fresh installations on Oracle 19c.
Require NaviServer (i.e. drop AOLserver support). AOLserver +cannot be compiled with the required modules with recent Tcl +versions. Trying to backport NaviServer compatibility functions +seems to be an overkill for the OpenACS project.
Require Tcl 8.6, XOTcl 2.1, PostgreSQL 11 (PostgreSQL 10 EOL: +November 2022), tdom 0.9
Altogether, OpenACS 5.10.1 differs from OpenACS 5.10.0 by the +following statistics
+ 2886 files changed, 197060 insertions(+), 182613 deletions(-) + +
contributed by 6 committers (Antonio Pisano, Gustaf Neumann, +Günter Ernst, Héctor Romojaro, +Raúl RodrÃguez, Thomas Renner) and +additional 7 patch/bugfix providers (Felix +Mödritscher, Frank Bergmann, Franz Penz, Markus Moser, +Marty Israelsen, Monika Andergassen, Sebastian Scheder). All +packages of the release were tested with PostgreSQL 13.* and Tcl +8.6.*.
For more details, consult the raw +ChangeLog.
+The release of OpenACS 5.10.0 contains the 93 packages of the oacs-5-10 branch. These packages include the OpenACS core packages, @@ -1194,20 +1314,22 @@ turned off by default via the acs-kernel parameter ExcludedFiles in section request-processor (The variable provides a string match glob list of files and is defaulted to "*/CVS/* *~")