Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -54,3 +54,4 @@ realm/realm-library/src/main/cpp/jni_include
realm/realm-library/distribution
# Cmake output
realm/realm-library/.externalNativeBuild
realm/realm-library/.cxx
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,23 @@
## 7.0.2(YYYY-MM-DD)

### Enhancements
* None.

### Fixes
* [ObjectServer] Calling `SyncManager.refreshConnections()` did not correctly refresh connections in all cases, which could delay reconnects up to 5 minutes. (Issue [#7003](https://github.com/realm/realm-java/issues/7003))
* Upgrading the file format result did in some cases not work correctly. This could result in a number of crashes, e.g. `FORMAT_UPGRADE_REQUIRED`. (Issue [#6889](https://github.com/realm/realm-java/issues/6889), since 7.0.0)
* Bug in memory mapping management. This bug could result in multiple different asserts as well as segfaults. In many cases stack backtraces would include members of the EncyptedFileMapping near the top - even if encryption was not used at all. In other cases asserts or crashes would be in methods reading an array header or array element. In all cases the application would terminate immediately. (Issue [#3838](https://github.com/realm/realm-core/pull/3838), since 7.0.0)

### Compatibility
* Realm Object Server: 3.23.1 or later.
* File format: Generates Realms with format v10 (Reads and upgrades all previous formats from Realm Java 2.0 and later).
* APIs are backwards compatible with all previous release of realm-java in the 7.x.y series.

### Internal
* Upgraded to Realm Sync 5.0.15.
* Upgraded to Realm Core 6.0.17.


## 7.0.1(2020-07-01)

### Enhancements
Expand Down
50 changes: 27 additions & 23 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,40 +1,51 @@
FROM ubuntu:16.04
FROM ubuntu:18.04

# Locales
RUN apt-get clean && apt-get -y update && apt-get install -y locales && locale-gen en_US.UTF-8
ENV LANG "en_US.UTF-8"
ENV LANGUAGE "en_US.UTF-8"
ENV LC_ALL "en_US.UTF-8"
ENV TZ=Europe/Copenhagen
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

# Set the environment variables
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64
ENV ANDROID_HOME /opt/android-sdk-linux
# Need by cmake
ENV ANDROID_NDK_HOME /opt/android-ndk
ENV ANDROID_NDK /opt/android-ndk
ENV PATH ${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/platform-tools
ENV PATH ${PATH}:${ANDROID_HOME}/emulator:${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/platform-tools
ENV PATH ${PATH}:${NDK_HOME}
ENV NDK_CCACHE /usr/bin/ccache
ENV CCACHE_CPP2 yes

# The 32 bit binaries because aapt requires it
# `file` is need by the script that creates NDK toolchains
# Keep the packages in alphabetical order to make it easy to avoid duplication
RUN DEBIAN_FRONTEND=noninteractive dpkg --add-architecture i386 \
# tzdata needs to be installed first. See https://askubuntu.com/questions/909277/avoiding-user-interaction-with-tzdata-when-installing-certbot-in-a-docker-contai
# `file` is need by the Android Emulator
RUN DEBIAN_FRONTEND=noninteractive \
&& apt-get update -qq \
&& apt-get install -y tzdata \
&& apt-get install -y bsdmainutils \
bridge-utils \
build-essential \
ccache \
curl \
file \
git \
libc6:i386 \
libgcc1:i386 \
libncurses5:i386 \
libstdc++6:i386 \
libz1:i386 \
jq \
libc6 \
libgcc1 \
libglu1 \
libncurses5 \
libstdc++6 \
libz1 \
libvirt-clients \
libvirt-daemon-system \
openjdk-8-jdk-headless \
qemu-kvm \
s3cmd \
unzip \
virt-manager \
wget \
zip \
&& apt-get clean
Expand All @@ -54,24 +65,17 @@ RUN sdkmanager --update
RUN yes | sdkmanager --licenses

# SDKs
# Please keep these in descending order!
# The `yes` is for accepting all non-standard tool licenses.
# Please keep all sections in descending order!
RUN yes | sdkmanager \
'platform-tools' \
'build-tools;29.0.2' \
'build-tools;29.0.3' \
'cmake;3.6.4111459' \
'emulator' \
'extras;android;m2repository' \
'platforms;android-29' \
'cmake;3.6.4111459'

# Install the NDK
RUN mkdir /opt/android-ndk-tmp && \
cd /opt/android-ndk-tmp && \
wget -q https://dl.google.com/android/repository/android-ndk-r21-linux-x86_64.zip -O android-ndk.zip && \
unzip android-ndk.zip && \
mv android-ndk-r21 /opt/android-ndk && \
rm -rf /opt/android-ndk-tmp && \
chmod -R a+rX /opt/android-ndk
'platform-tools' \
'ndk;21.0.6113669' \
'system-images;android-29;default;x86'

# Make the SDK universally writable
RUN chmod -R a+rwX ${ANDROID_HOME}
Loading