Skip to content

Commit 50638ec

Browse files
authored
Changelog updates (#4357)
1 parent cedfc6e commit 50638ec

File tree

1 file changed

+63
-26
lines changed

1 file changed

+63
-26
lines changed

CHANGELOG-3.8.md

Lines changed: 63 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,42 @@
1+
# Ice 3.8 Changelog <!-- omit in toc -->
2+
13
The entries below contain brief descriptions of the changes in each release, in no particular order. Some of the
24
entries reflect significant new additions, while others represent minor corrections. Although this list is not a
35
comprehensive report of every change we made in a release, it does provide details on the changes we feel Ice users
46
might need to be aware of.
57

6-
# Changes in Ice 3.8.0
8+
- [Changes in Ice 3.8.0](#changes-in-ice-380)
9+
- [General Changes](#general-changes)
10+
- [Packaging Changes](#packaging-changes)
11+
- [Slice Language Changes](#slice-language-changes)
12+
- [IceSSL Changes](#icessl-changes)
13+
- [Integration with Platform SSL Engines](#integration-with-platform-ssl-engines)
14+
- [Removed Support for OpenSSL on Windows](#removed-support-for-openssl-on-windows)
15+
- [Removed IceSSL APIs](#removed-icessl-apis)
16+
- [Updated IceSSL Properties](#updated-icessl-properties)
17+
- [Removed IceSSL Properties](#removed-icessl-properties)
18+
- [C++ Changes](#c-changes)
19+
- [C# Changes](#c-changes-1)
20+
- [Java Changes](#java-changes)
21+
- [JavaScript Changes](#javascript-changes)
22+
- [MATLAB Changes](#matlab-changes)
23+
- [Objective-C Changes](#objective-c-changes)
24+
- [PHP Changes](#php-changes)
25+
- [Python Changes](#python-changes)
26+
- [Ruby Changes](#ruby-changes)
27+
- [Swift Changes](#swift-changes)
28+
- [Ice Service Changes](#ice-service-changes)
29+
- [DataStorm](#datastorm)
30+
- [Glacier2](#glacier2)
31+
- [IceGrid](#icegrid)
32+
- [IcePatch2](#icepatch2)
33+
- [IceStorm](#icestorm)
34+
35+
## Changes in Ice 3.8.0
736

837
These are the changes since the Ice 3.7.10 release in [CHANGELOG-3.7.md](./CHANGELOG-3.7.md).
938

10-
## General Changes
39+
### General Changes
1140

1241
- Replaced ACM and connection timeouts by idle, inactivity, connect, and close timeouts.
1342
- Idle timeout\
@@ -62,6 +91,8 @@ These are the changes since the Ice 3.7.10 release in [CHANGELOG-3.7.md](./CHANG
6291
seconds, as usual. You can also override this value for a specific object adapter with the configuration
6392
property `AdapterName.Connection.CloseTimeout`.
6493

94+
- Removed the `setHeartbeatCallback` operation on `Connection`.
95+
6596
- Add new properties for flow control.
6697
- Max dispatches\
6798
The maximum number of concurrent dispatches for each connection is now 100. You can change this value by setting
@@ -322,7 +353,13 @@ classDiagram
322353

323354
- Removed the `--impl` and `-E` options from the Slice compilers.
324355

325-
## Packaging Changes
356+
- Added stricter property validation. Ice now throws an exception during communicator initialization when an unknown
357+
Ice property is set.
358+
359+
- Added `getIceProperty`, `getIcePropertyAsInt`, and `getIcePropertyAsList` methods to `Properties`. These methods
360+
return the value of an Ice property, or the default value if the property is not set.
361+
362+
### Packaging Changes
326363

327364
- The Windows MSI installer is now built using the WiX Toolset. The WiX project files are included in the packaging/msi
328365
directory.
@@ -356,7 +393,7 @@ classDiagram
356393

357394
- The `slice2js` Slice compiler is now included in the `@zeroc/ice` NPM package.
358395

359-
## Slice Language Changes
396+
### Slice Language Changes
360397

361398
- Removed local Slice. `local` is no longer a Slice keyword.
362399

@@ -497,11 +534,11 @@ classDiagram
497534
- Sequences can no longer be used as dictionary key types.
498535
This feature has been deprecated since Ice 3.3.0.
499536

500-
## IceSSL Changes
537+
### IceSSL Changes
501538

502539
The SSL transport is no longer a plug-in. It is now built into the main Ice library and always available.
503540

504-
### Integration with Platform SSL Engines
541+
#### Integration with Platform SSL Engines
505542

506543
Ice 3.8 introduces new IceSSL configuration APIs that allow you to configure the SSL transport using platform-native
507544
SSL engine APIs. This provides significantly greater flexibility for advanced use cases.
@@ -513,13 +550,13 @@ SSL engine APIs. This provides significantly greater flexibility for advanced us
513550
> These APIs are platform-dependent. A good starting point is the `Ice/secure` demo for your target platform and
514551
> language mapping.
515552

516-
### Removed Support for OpenSSL on Windows
553+
#### Removed Support for OpenSSL on Windows
517554

518555
In Ice 3.7, IceSSL on Windows could be built with either Schannel or OpenSSL. In Ice 3.8, since IceSSL is now built-in,
519556
it always uses the platform’s native SSL APIs. On Windows, this means **Schannel is always used**;
520557
**OpenSSL is no longer supported** on Windows.
521558

522-
### Removed IceSSL APIs
559+
#### Removed IceSSL APIs
523560

524561
- **Certificate API**\
525562
The `IceSSL::Certificate` type and related APIs have been removed. Applications that require access to certificate
@@ -533,7 +570,7 @@ it always uses the platform’s native SSL APIs. On Windows, this means **Schann
533570
Password callback support has been removed. Applications can now provide certificates and keys directly through the
534571
new configuration APIs.
535572

536-
### Updated IceSSL Properties
573+
#### Updated IceSSL Properties
537574

538575
- **IceSSL.CertFile**\
539576
This property no longer accepts multiple files. In Ice 3.7, IceSSL with OpenSSL or Schannel allowed specifying two
@@ -556,7 +593,7 @@ it always uses the platform’s native SSL APIs. On Windows, this means **Schann
556593
the now-removed certificate verifier APIs. Applications requiring custom trust logic should use the new validation
557594
callbacks.
558595
559-
### Removed IceSSL Properties
596+
#### Removed IceSSL Properties
560597
561598
Several IceSSL properties have been removed in Ice 3.8, either because better alternatives are now available, they are
562599
no longer useful, or they go against best practices:
@@ -600,7 +637,7 @@ no longer useful, or they go against best practices:
600637
Previously used to set the maximum certificate chain length. This feature was rarely used. Applications requiring this
601638
functionality should implement a custom certificate validation callback.
602639
603-
## C++ Changes
640+
### C++ Changes
604641
605642
- There is now a single C++ mapping, based on the C++11 mapping provided by Ice 3.7. This new C++ mapping requires a
606643
C++ compiler with support for C++17 or higher.
@@ -643,7 +680,7 @@ See `InitializationData::pluginFactories`.
643680
`std::chrono::duration` values. The corresponding `ice_getInvocationTimeout` and `ice_getLocatorCacheTimeout` methods
644681
now return `std::chrono::milliseconds`.
645682
646-
## C# Changes
683+
### C# Changes
647684
648685
- Upgrade to .NET 8.0 / C# 12.
649686
@@ -686,7 +723,7 @@ plug-ins are created during communicator initialization. See `InitializationData
686723
687724
- Removed support for using `clr` as an alias for `cs` in metadata declarations.
688725
689-
## Java Changes
726+
### Java Changes
690727
691728
- Upgrade to Java 17.
692729
@@ -712,7 +749,7 @@ initialization. See `InitializationData.pluginFactories`.
712749
- Added support for the `Ice.ClassGraphDepthMax` property, which controls the maximum depth allowed when unmarshaling a
713750
graph of Slice class instances.
714751
715-
## JavaScript Changes
752+
### JavaScript Changes
716753
717754
- The Ice for JavaScript NPM package has been converted to a scoped package named `@zeroc/ice`.
718755
@@ -744,7 +781,7 @@ initialization. See `InitializationData.pluginFactories`.
744781
do not reliably report errors during connection establishment. We advise against using the WebSocket transport on
745782
these versions.
746783
747-
## MATLAB Changes
784+
### MATLAB Changes
748785
749786
- Upgrade to MATLAB 2024a.
750787
@@ -784,11 +821,11 @@ initialization. See `InitializationData.pluginFactories`.
784821
- The `slice2matlab` function has been updated to accept multiple arguments, which are passed directly to the
785822
`slice2matlab` compiler. In Ice 3.7, all arguments had to be provided as a single string, which was less convenient.
786823

787-
## Objective-C Changes
824+
### Objective-C Changes
788825

789826
- The Objective-C mapping was removed.
790827

791-
## PHP Changes
828+
### PHP Changes
792829

793830
- Removed the flattened mapping deprecated in 3.7.
794831

@@ -808,7 +845,7 @@ initialization. See `InitializationData.pluginFactories`.
808845
`ice_postunmarshal` only makes sense if the application can register a custom Slice loader and Ice for PHP does not
809846
provide custom Slice loaders.
810847

811-
## Python Changes
848+
### Python Changes
812849

813850
- Upgrade to Python 3.12.
814851

@@ -900,12 +937,12 @@ initialization. See `InitializationData.pluginFactories`.
900937
For example, `["python:memoryview:CustomFactory.myByteSeq:array.array"]` indicates that the factory function
901938
will return an `array.array`.
902939

903-
## Ruby Changes
940+
### Ruby Changes
904941

905942
- There are no Ruby-specific updates in this release. Nevertheless, we made many updates to Ice for Ruby: see
906943
[General Changes](#general-changes) and [Slice Language Changes](#slice-language-changes).
907944

908-
## Swift Changes
945+
### Swift Changes
909946

910947
- Upgrade to Swift 6.1.
911948

@@ -928,9 +965,9 @@ initialization. See `InitializationData.pluginFactories`.
928965

929966
- Added a SwiftPM plugin, `CompileSlice`, that lets you compile Slice files as part of SwiftPM and Xcode builds.
930967

931-
## Ice Service Changes
968+
### Ice Service Changes
932969

933-
### DataStorm
970+
#### DataStorm
934971

935972
- The DataStorm publisher/subscriber framework has been integrated into the Ice distribution, and is no longer a
936973
separate product.
@@ -946,7 +983,7 @@ initialization. See `InitializationData.pluginFactories`.
946983

947984
- Fixed a bug in filter initialization that can result in segmentation fault when using a key or a sample filter.
948985

949-
### Glacier2
986+
#### Glacier2
950987

951988
- Removed buffered mode. As a result, Glacier2 has now a single mode, the previous unbuffered mode.
952989

@@ -959,7 +996,7 @@ initialization. See `InitializationData.pluginFactories`.
959996
- Removed session timeouts configured using `Glacier2.SessionTimeout`. The Glacier2 router now relies on the common
960997
idle check described under [General Changes](#general-changes) for these connection-bound sessions.
961998

962-
### IceGrid
999+
#### IceGrid
9631000

9641001
- Removed deprecated server and application distributions in IceGrid. These distributions relied on the IcePatch2
9651002
service.
@@ -968,11 +1005,11 @@ service.
9681005
relies on the common idle check described under [General Changes](#general-changes) for these connection-bound
9691006
sessions.
9701007

971-
### IcePatch2 Changes
1008+
#### IcePatch2
9721009

9731010
- The IcePatch2 service was removed.
9741011

975-
### IceStorm Changes
1012+
#### IceStorm
9761013

9771014
- The IceStorm configuration now uses the `IceStorm` prefix instead of the IceBox service name as prefix.
9781015

0 commit comments

Comments
 (0)