Releases: YottaDB/YDB
[r2.00] Prepare for YottaDB r2.00 release
YottaDB r2.00
Release Note Revision History
Revision | Date | Summary |
---|---|---|
1.00 | February 23, 2024 | r2.00 Initial Release |
Contact Information
YottaDB LLC
https://yottadb.com / [email protected]
Support
Customers
Contact YottaDB or your YottaDB support channel for support with assured service levels from knowledgeable staff.
Others
For free (to you) support from members of communities who run widely available applications on YottaDB, please use an application-specific list where appropriate.
- For access from node.js via Nodem, post an Issue on the Nodem project.
- For access from QewdJS, or EWD.js, or from node.js via mg-dbx or mg-dbx-napi post to the Enterprise Web Developer community.
- For requests specific to the use of YottaDB with VistA flavors, post to the Hardhats list.
- For requests specific to use of YottaDB with the M Language, post to the Everything MUMPS list.
- For requests other than to the communities above:
- Join the YottaDB Discord server and post to one of the channels.
- Post an Issue and include the words "Help Wanted" in the Title.
r2.00
Overview
YottaDB r2.00 is a major new release with substantial new functionality and database format enhancements.
- Inherited from the upstream GT.M V7.0-000, YottaDB r2.00 creates database files of up to 16Gi blocks. For example, the maximum size of a database file with 4KiB blocks is 64TiB, which means you can use fewer regions for extremely large databases. With YottaDB r2.00, you can continue to use database files created by r1.x releases, except that the maximum size of a database file created with prior YottaDB releases remains unchanged.
- For direct mode, as well as utility programs, YottaDB can optionally use GNU Readline, if it is installed on the system. This includes the ability to access and use command history from prior sessions. (YDB#88)
- Listening TCP sockets can be passed between processes. (YDB#996)
- The
ydbinstall
/ydbinstall.sh
script has multiple enhancements.
In addition to enhancements and fixes made by YottaDB, r2.00 inherits numerous other enhancements and fixes from GT.M V7.0-000 and V7.0-001, all described in the Change History.
Platforms
A platform is a combination of a CPU architecture and an operating system. A platform is Supported, Supportable, or Unsupported.
- Supported means that we have the platform in our development environment, test each release on that platform, and provide a binary distribution for it.
- Supportable means that although we do not necessarily have such a platform in our environment, we have no reason to believe that the software will not run on it.
- All others are Unsupported.
CPU Architecture | Supported OS Version(s) | Notes |
---|---|---|
64-bit x86 | Ubuntu 22.04 LTS; Red Hat Enterprise Linux 8.x; Red Hat Enterprise Linux 9.x; SUSE Linux Enterprise 15.x; Debian GNU/Linux 12 (Bookworm) | There are separate binary distributions for each OS version, owing to differences in library versions of those distributions. |
64-bit ARM (Raspberry Pi 3 Model B) | Debian GNU/Linux 12 (Bookworm) | See below. |
32-bit ARM (Raspberry Pi Zero) | Debian GNU/Linux 12 (Bookworm) | See below. |
Recent releases of major GNU/Linux distributions with contemporary kernels, glibc and ncurses are Supportable. Specific notes:
- ydbinstall.sh recognizes Rocky Linux 8 as equivalent to RHEL 8, and OpenSUSE Leap 15.x as equivalent to SUSE Linux Enterprise 15.x, installing the releases for the corresponding distributions. Note that Rocky Linux and OpenSUSE Leap are Supportable, not Supported.
- On Arch Linux and other leading edge distributions such as OpenSUSE Tumbleweed, and newer OS versions such as Red Hat Enterprise Linux 9.x, YottaDB will need to be recompiled from source code owing to library and tool chain versions newer than those used in building Supported distributions. The
--from-source
option of ydbinstall.sh simplifies the process. - While YottaDB is Supportable on other ARMv6, ARMv7-A, and ARMv8-A CPUs, owing to variations in the implementations of ARM microarchitectures, we recommend that you ensure the software runs correctly before committing to any specific hardware other than those listed above. Please contact us if you want a specific combination of OS and CPU microarchitecture to be Supported.
Installation
See our Get Started page to use YottaDB.
We strongly recommend that you install YottaDB r2.00 in a newly created directory, different from those of prior YottaDB releases and any GT.M versions you may have installed on the system.
Removing an installed YottaDB release
Assuming $ydb_dist
points to the directory where YottaDB is installed:
- Cleanly shut down all application processes using that release.
- Execute
mupip rundown && mupip rundown -relinkctl
and review the output to ensure successful completion. - Ensure that there are no
gtcm*
orgtmsecshr
processes active. - Use
sudo lsof | grep $ydb_dist
to ensure there are no open files.- If there are links to files in
$ydb_dist
, e.g., from/usr/local/bin/
or/usr/local/etc/
, remove the links.
- If there are links to files in
- Delete the directory with
sudo rm -rf $ydb_dist
Upgrading to YottaDB r2.00
YottaDB r2.00 is upward compatible from YottaDB r1.38, GT.M V7.0-000 and V7.0-001. The minimal upgrade steps are:
- Install YottaDB r2.00. Use
ydbinstall
/ydbinstall.sh
to install plugins you use. - Install plugins you need in addition to those installed in the previous step, e.g., non-YottaDB plugins that are not installed by
ydbinstall
/ydbinstall.sh
. - Recompile object code, and recreate shared libraries if your application uses shared libraries.
- If your application uses encryption, compile and install the reference implementation plugin (if not done by the
ydbinstall
/ydbinstall.sh
script) or your customized plugin. - Cleanly shut down the application and ensure that the database files are shut down using MUPIP RUNDOWN from the prior release.
- Switch journal files with the new YottaDB release.
- Start using the new YottaDB release.
If the database has triggers defined with non-canonical numbers, or numbers specified as strings with any version prior to r1.28, or if you are unsure, extract the trigger definitions, delete existing triggers, and reload the trigger definitions. Issue [(430)(https://gitlab.com/YottaDB/DB/YDB/-/issues/430)] from r1.28 has a series of steps you can copy and execute. There is no need to do this if upgrading from r1.28 or later.
To upgrade from older GT.M releases, first upgrade to GT.M V6.0-000 or later and follow the steps above, or contact your YottaDB support cha...
r1.38
YottaDB r1.38
Binary Distributions
sha256sum | file |
---|---|
e0508848eac5963b73ca06f60132b4877f70d8d8f8398bd0c0e0b8713c814167 |
yottadb_r138_aarch64_debian11_pro.tgz |
c3fed1e2eccdbe0b8b33ba2d74524411cc8ce52b17621b32e50971d5f2477ed8 |
yottadb_r138_armv6l_debian11_pro.tgz |
0839b30f87f0e318b5819f17353e0c3da102c86210d306b468866be3b0dcfe81 |
yottadb_r138_x8664_debian11_pro.tgz |
d517e7329c8fbd22043db87bea29e9d77e9da0202d40261b8fef958dfe0c2d75 |
yottadb_r138_x8664_rhel8_pro.tgz |
f9d68ac3d748a9945b2a7e42c77d14c2ae00633af2312296f69831c95c8b0492 |
yottadb_r138_x8664_sle15_pro.tgz |
9fe0021cbb71eb7f1792e475c0c90872294316b4983fbdd2b3468fa5c5ffa905 |
yottadb_r138_x8664_ubuntu2204_pro.tgz |
Release Note Revision History
Revision | Date | Summary |
---|---|---|
1.00 | March 30, 2023 | r1.38 Initial Release |
Contact Information
YottaDB LLC
https://yottadb.com / [email protected]
Support
Customers
Contact YottaDB or your YottaDB support channel for support with assured service levels from knowledgeable staff.
Others
For free (to you) support from members of communities who run widely available applications on YottaDB, please use an application-specific list where appropriate.
- For requests other than to the communities below, post an Issue and include the words "Help Wanted" in the Title.
- For access from node.js via Nodem, post an Issue on the Nodem project.
- For access from QewdJS, or EWD.js, or from node.js via mg-dbx post to the Enterprise Web Developer community.
- For requests specific to the use of YottaDB with VistA flavors, post to the Hardhats list.
- For requests specific to the use of YottaDB with M other than for applications above, post to the comp.lang.mumps list.
r1.38
Overview
YottaDB r1.38 is a minor release that includes functionality needed by a customer on short notice.
- A MUPIP REPLICATE option provides for a replication stream to include updates made by triggers on the source instance. (722)
- $ZPEEK() and ^%PEEKBYNAME() provide direct access to an additional process-private structure. [986)
- The
-gui
option ofydbinstall
/ydbinstall.sh
installs the YottaDB GUI. (988) - Changes to the subscripts of ^ydbJNLFRECTBL and more meaningul SQL column names make %YDBJNLF more useful. (990)
The %YDBJNLF utility program, which was released as field-test software in r1.36, is considered Supported for production use in r1.38. Also, the Supported level of Ubuntu on x86_64 moves up from 20.04 LTS to 22.04 LTS.
While all YottDB software is free to use under our free / open-source software licensing, r1.38 illustrates the value of being a YottaDB customer rather than a user: in addition to support with assured service levels, we will work with you to prioritize enhancements and fixes you need.
As with all YottaDB releases, there are a number of fixes and smaller enhancements, as described in the Change History.
Platforms
A platform is a combination of a CPU architecture and an operating system. A platform is Supported, Supportable, or Unsupported.
- Supported means that we have the platform in our development environment and test each release on that platform.
- Supportable means that although we do not necessarily have such a platform in our environment, we have no reason to believe that the software will not run on it.
- All others are Unsupported.
CPU Architecture | Supported OS Version(s) | Notes |
---|---|---|
64-bit x86 | Ubuntu 22.04 LTS; Red Hat Enterprise Linux 8.x; SUSE Linux Enterprise 15.x; Debian GNU/Linux 11 (Bullseye) | There are separate binary distributions for each OS version, owing to differences in library versions of those distributions. |
64-bit ARM (Raspberry Pi 3 Model B) | Debian GNU/Linux 11 (Bullseye) | See below. |
32-bit ARM (Raspberry Pi Zero) | Debian GNU/Linux 11 (Bullseye) | See below. |
Recent releases of major GNU/Linux distributions with contemporary kernels, glibc and ncurses are Supportable. Specific notes:
- ydbinstall.sh recognizes Rocky Linux 8 as equivalent to RHEL 8, and OpenSUSE Leap 15.x as equivalent to SUSE Linux Enterprise 15.x, and installs the corresponding versions. Note that Rocky Linux and OpenSUSE Leap are Supportable, not Supported.
- On Arch Linux and other leading edge distributions such as OpenSUSE Tumbleweed, YottaDB will likely need to be recompiled from source code owing to library and tool chain versions newer than those used in building Supported distributions. The
--from-source
option of ydbinstall.sh simplifies the process. (754) - While YottaDB is Supportable on other ARMv6, ARMv7-A, and ARMv8-A CPUs, owing to variations in the implementations of ARM microarchitectures, we recommend that you ensure the software runs correctly before committing to any specific hardware other than those listed above. Please contact [email protected] if you want a specific combination of OS and CPU microarchitecture to be Supported.
Installation
See our Get Started page to use YottaDB.
We strongly recommend that you install YottaDB r1.38 in a newly created directory, different from those of prior YottaDB releases and any GT.M versions you may have installed on the system.
Removing an installed YottaDB release
Assuming $ydb_dist
points to the directory where YottaDB is installed:
- Cleanly shut down all application processes using that release.
- Execute
mupip rundown && mupip rundown -relinkctl
- Ensure that there are no
gtcm*
orgtmsecshr
processes active. - Use
sudo lsof | grep $ydb_dist
to ensure there are no open files. - Delete the directory with
sudo rm -rf $ydb_dist
Upgrading to YottaDB r1.38
As YottaDB r1.38 is upward compatible from YottaDB r1.36. The minimal upgrade steps are:
- Install YottaDB r1.38. Use
ydbinstall
/ydbinstall.sh
to install plugins you use. - Install plugins you need in addition to those installed in the previous step.
- Recompile object code, and recreate shared libraries if your application uses shared libraries.
- If your application uses encryption, compile and install...
YottaDB r1.36
YottaDB r1.36
Binary Distributions
sha256sum | file |
---|---|
49f1f0d2c468a986b9dcff4fce4644d828e792f5588545cfc1570d7f55048b52 |
yottadb_r136_aarch64_debian11_pro.tgz |
a99bee5d184f9e55965301b79ccdf7dd7955d73993e6dbd4742e2b4180f3b12c |
yottadb_r136_armv6l_debian11_pro.tgz |
ce7ba5e82163b95decc0fec18e09fccaf700bbac014e005aa7bf4e85ae1c0190 |
yottadb_r136_x8664_debian11_pro.tgz |
17199f85a910116d69cd5cc319f324519700f5913c416980fb0c413e0225fbe2 |
yottadb_r136_x8664_rhel8_pro.tgz |
c7ba7bb0a75838acf2daa1d3ecc1a98b38b800bfa3741195f0bdf0d78714dd92 |
yottadb_r136_x8664_sle15_pro.tgz |
92e316e279ab6352f02cc61d5ae7cdfb5a2ae23b71cf826376bafebcd438efd6 |
yottadb_r136_x8664_ubuntu2004_pro.tgz |
Release Note Revision History
Revision | Date | Summary |
---|---|---|
1.00 | 28th Dec 2022 | r1.36 Initial Release |
Contact Information
YottaDB LLC
https://yottadb.com / [email protected]
Support
Customers
Contact your YottaDB support channel.
Others
For free (to you) support from members of communities who run widely available applications on YottaDB, please use an application-specific list where appropriate.
- For requests other than to the communities below, post an Issue and include the words "Help Wanted" in the Title.
- For access from node.js via Nodem, post an Issue on the Nodem project.
- For access from QewdJS, or EWD.js, or from node.js via mg-dbx post to the Enterprise Web Developer community.
- For requests specific to the use of YottaDB with VistA flavors, post to the Hardhats list.
- For requests specific to the use of YottaDB with M other than for applications above, post to the comp.lang.mumps list.
r1.36
Overview
YottaDB r1.36 is a major release, not because it has a common theme, but because of the number of enhancements that it includes.
- On x86_64 architectures, SUSE Enterprise Linux 15.x is a Supported platform, and OpenSUSE Leap 15.x is Supportable. As OpenSUSE Tumbleweed is a rolling release, you may need to build the release from source code.
- There is new functionality for diagnostics, troubleshooting, and forensics, e.g.
- $zstatus after INVVARNAME identifies the offending variable name in $ZWRITE format (181)
- Easier use of journal extract data for troubleshooting and forensics (922)
- %YDBPROCSTUCKEXEC captures DSE file headers (937)
- The SYSCALL message identifies file name if $ZROUTINES has Permission denied error (954)
- YottaDB is friendlier to Kubernetes.
- YottaDB runs in environments where the OS reports the terminal name as an empty string (491)
- There are enhancements to make programming easier, e.g.
- ydb_buffer_t can now be used for passing string values between C and M (565)
- The COMMAND deviceparameter limit for PIPE devices is 1MiB (708)
- $ZGETJPI() time measurements for processes other than the current process (908)
- The %ZMVALID() utility function checks whether a string is a syntactically correct line of M code (919)
- SET $ZGBLDIR sets ydb_cur_gbldir env var to new value of $ZGBLDIR (941)
- VIEW "GBLDIRLOAD" refreshes cached copies of global directories (956)
r1.36 also inherits enhancements and fixes from GT.M V6.3-012, V6.3-013, and V6.3-014. Note that the %JSWRITE utility released with V6.3-012 is not publicly available, and is presumably therefore not available under a FOSS license. As there are numerous options to import and export global variables in JSON, please contact YottaDB to discuss what options might best fit your needs.
As with all YottaDB releases, there are a number of fixes and smaller enhancements, as described in the Change History.
Platforms
A platform is a combination of a CPU architecture and an operating system. A platform is Supported, Supportable, or Unsupported.
- Supported means that we have the platform in our development environment and test each release on that platform.
- Supportable means that although we do not necessarily have such a platform in our environment, we have no reason to believe that the software will not run on it.
- All others are Unsupported.
CPU Architecture | Supported OS Version(s) | Notes |
---|---|---|
64-bit x86 | Ubuntu 20.04 LTS; Red Hat Enterprise Linux 8.x; SUSE Linux Enterprise 15.x; Debian GNU/Linux 11 (Bullseye) | There are separate binary distributions for each OS version, owing to differences in library versions of those distributions. |
64-bit ARM (Raspberry Pi 3 Model B) | Debian GNU/Linux 11 (Bullseye) | See below. |
32-bit ARM (Raspberry Pi Zero) | Debian GNU/Linux 11 (Bullseye) | See below. |
Recent releases of major GNU/Linux distributions with contemporary kernels, glibc and ncurses are Supportable. Specific notes:
- Future releases of YottaDB will require 22.04 LTS as the minimum required Ubuntu version. Please contact your YottaDB support channel if this raises any concerns.
- ydbinstall.sh recognizes Rocky Linux 8 as equivalent to RHEL 8, and OpenSUSE Leap 15.x as equivalent to SUSE Linux Enterprise 15.x, and installs the corresponding versions. Note that Rocky Linux and OpenSUSE Leap are Supportable, not Supported.
- On Arch Linux and other leading edge distributions such as OpenSUSE Tumbleweed, YottaDB will likely need to be recompiled from source code owing to library and tool chain versions newer than those used in building Supported distributions. The
--from-source
option of ydbinstall.sh simplifies the process. (#754) - While YottaDB is Supportable on other ARMv6, ARMv7-A, and ARMv8-A CPUs, owing to variations in the implementations of ARM microarchitectures, we recommend that you ensure the software runs correctly before committing to any specific hardware other than those listed above. Please contact [email protected] if you want a specific combination of OS and CPU microarchitecture to be Supported.
Installation
See our Get Started page to use YottaDB.
We strongly recommend that you install YottaDB r1.36 in a newly created directory, different from those of prior YottaDB releases and any GT.M versions you may have installed on the system.
Removing an installed YottaDB release
Assuming $ydb_dist
points to the directory where YottaDB is installed:
- Cleanly shut down all application processes using that release.
- Execute
mupip rundown && mupip rundown -relinkctl
- Ensure that there are no
gtcm*
orgtmsecshr
processes active. - Use
sudo lsof | grep $ydb_dist
to ensure there are no open files. - Delete the directory with
sudo rm -rf $ydb_dist
Upgrading to YottaDB r1.36
As YottaDB r1.36 is upward compatible from YottaDB r1.34, GT.M V6.3-012, GT.M V6.3-013, and GT.M V6.3-014. The minimal upgrade steps are:
- Install YottaDB r1.36. Use
ydbinstall
/ydbinstall.sh
to install plugins you use. - Install plugins you need in addition to those installed in the previous step.
- Recompile object code, and recreate shared libraries if your application uses shared libraries.
- If your application uses encryption, compile and install the reference implemen...
r1.34
YottaDB r1.34
Binary Distributions
sha256sum | file |
---|---|
03856924e663ccef66a429dbe6c26b43535fd90577570b82a7552a9503abe184 |
yottadb_r134_aarch64_debian11_pro.tgz |
622a0d88771d7b512a6330bdfef25b174ab2a7e3e6df858e5345c57147184277 |
yottadb_r134_armv6l_debian11_pro.tgz |
1693d75934f6940cbd5bcd155886444fded0a6c496a1a012469ae45044631478 |
yottadb_r134_x8664_debian11_pro.tgz |
d68d51d1ee4da8837fab0b4651042081ce869d60f90760f6d56ed14f1519532d |
yottadb_r134_x8664_rhel7_pro.tgz |
91e435257716260de142fead85e038ea9f0b3d93ac9e7db071911aef9eebde5e |
yottadb_r134_x8664_rhel8_pro.tgz |
369f494711d4b1dae01b60917dbe3edcc020e88dd56510ebbf2c164a23292c48 |
yottadb_r134_x8664_ubuntu2004_pro.tgz |
Release Note Revision History
Revision | Date | Summary |
---|---|---|
1.00 | February 25, 2022 | r1.34 Initial Release |
Contact Information
YottaDB LLC
https://yottadb.com / [email protected]
Support
Customers
Contact your YottaDB support channel.
Others
For free (to you) support from members of communities who run widely available applications on YottaDB, please use an application-specific list where appropriate.
- For requests other than to the communities below, post an Issue and include the words "Help Wanted" in the Title.
- For access from node.js via Nodem, post an Issue on the Nodem project.
- For access from QewdJS, or EWD.js, or from node.js via mg-dbx post to the Enterprise Web Developer community.
- For requests specific to the use of YottaDB with VistA flavors, post to the Hardhats list.
- For requests specific to the use of YottaDB with M other than for applications above, post to the comp.lang.mumps list.
r1.34
Overview
While YottaDB r1.34 is an otherwise modest successor to r1.32, internal changes allow the popular programming language Python to be fully Supported. We are excited about making YottaDB available to the large Python user community. Here is a “Hello, World” Python program that updates the database and illustrates YottaDB's Unicode support:
import yottadb
if __name__ == "__main__":
yottadb.set("^hello", ("Python",), value="नमस्ते दुनिया")
The Python wrapper can be installed with pip install yottadb
. Full details of the API are in the Python wrapper user documentation. The Current Debian Docker image at Docker Hub includes the Python wrapper. We thank Peter Goss (@gossrock) for his contributions to the Python wrapper.
Python joins C, Go, M, node.js, Perl, and Rust as languages with an API to access YottaDB.
Owing to an internal change required to support the Python wrapper, application code written in Go and Rust will need to be compiled with new versions of the Go and Rust wrappers. We anticipate no regressions, and apologize for the inconvenience.
As discussed in our blog post Fuzz Testing YottaDB, adding a new type of testing exposed bugs previously neither encountered in our development environment nor reported by a user. Although fuzz testing generates syntactically correct but semantically questionable, contorted code that is unlikely to be part of any real application, the bugs are nevertheless defects. r1.34 includes the first tranche of fixes. As we are dedicating hardware to continuous fuzz testing, future YottaDB releases will include fixes for bugs found by fuzzing. We thank Zachary Minneker of Security Innovation for Fuzz Testing YottaDB and bringing its benefits to our attention.
In addition to fixes for issues, whether found by fuzz testing (828) or otherwise, YottaDB r1.34 has enhancements that make it faster and more friendly, e.g.,
- Faster stringpool garbage collection, thanks to Alexander Sergeev and Konstantin Aristov (@littlecat). (786)
- HOME and END keys work in direct mode for READ, thanks to Sergey Kamenev (@inetstar). (803)
- Multiple improvements to
ydbinstall
/ydbinstall.sh
. (705) (754) (764) (766) (829) (838) - Enhancements to
ydb_env_set
to improve performance under some conditions and to be compatible with existing environments created withoutydb_env_set
. (787) (842) - Enhancements to the %RSEL utility program. (772) (781)
YottaDB r1.34 also inherits enhancements and fixes from GT.M V6.3-011.
Details are in the Change History.
Platforms
A platform is a combination of a CPU architecture and an operating system. A platform is Supported, Supportable, or Unsupported.
- Supported means that we have the platform in our development environment and test each release on that platform.
- Supportable means that although we do not necessarily have such a platform in our environment, we have no reason to believe that the software will not run on it.
- All others are Unsupported.
CPU Architecture | Supported OS Version(s) | Notes |
---|---|---|
64-bit x86 | Ubuntu 20.04 LTS; Red Hat Enterprise Linux 7.x & 8.x; Debian GNU/Linux 11 (Bullseye) | There are separate binary distributions for each OS version, owing to differences in library versions of those distributions. |
64-bit ARM (Raspberry Pi 3 Model B) | Debian GNU/Linux 11 (Bullseye) | See below. |
32-bit ARM (Raspberry Pi Zero) | Debian GNU/Linux 11 (Bullseye) | See below. |
Recent releases of major GNU/Linux distributions with contemporary kernels, glibc and ncurses are Supportable. Specific notes:
- We intend to drop support for Red Hat Enterprise Linux 7.x for new YottaDB releases after June 2022. Of course, existing releases will continue to work. Please contact us if this a concern.
- ydbinstall.sh recognizes Rocky Linux 8 as equivalent to RHEL 8 and installs the RHEL 8 YottaDB build. Note that Rocky Linux is Supportable, not Supported.
- On Arch Linux and other leading edge distributions, YottaDB will likely need to be recompiled from source code owing to library and tool chain versions newer than those used in building Supported distributions. The
--from-source
option of ydbinstall.sh simplifies the process. (754) - While YottaDB is Supportable on other ARMv6, ARMv7-A, and ARMv8-A CPUs, owing to variations in the implementations of ARM microarchitectures, we recommend that you ensure the software runs correctly before committing to any specific hardware other than those listed above. Please contact [email protected] if you want a specific combination of OS and CPU microarchitecture to be Supported.
Installation
See our Get Started page to use YottaDB.
We strongly recommend that you install YottaDB r1.34 in a newly created directory, different from those of prior YottaDB releases and any GT.M versions you may have installed on the system.
Note that with this release ydbinstall.sh can install plugins into an installed YottaDB directory. (705)
Removing an installed YottaDB release
Assuming $ydb_dist
points to the directory where YottaDB is installed:
- Cleanly shut down all application processes using that release.
- Execute
mupip rundown && mupip rundown -relinkctl
- Ensure that there are no
gtcm*
orgtmsecshr
process...
r1.32
YottaDB r1.32
Binary Distributions
sha256sum | file |
---|---|
62f3e4763cf204bae4002f83d0a3b9f338a5c7ed6772557ba7e777b4596a673b |
yottadb_r132_aarch64_debian11_pro.tgz |
7d84a5dc5b4f5541bba29aefa0278c91f11538ceccea1c55ba1fadaec80b008b |
yottadb_r132_aarch64_ubuntu2004_pro.tgz |
fc14acfd91b19dca7f2100b0690dc714214b30548efe5c256fdb85769f49525a |
yottadb_r132_armv6l_debian11_pro.tgz |
ca14d0b14166b0711e5b4a5aa77a349f2f8dc71fb0693e33b8caf6cf0d46073c |
yottadb_r132_x8664_debian11_pro.tgz |
8526608d653a8ccad69456f105f6f205ad6ede8044ca5c037eb0c519bbfe5b37 |
yottadb_r132_x8664_rhel7_pro.tgz |
666b1a434f5f40761fa9d796d387d0eb02179a80d7195e87a7bb9a10e71604ad |
yottadb_r132_x8664_rhel8_pro.tgz |
24e27e4d9c77bd118cc519414f99e0c93a3adfe053f13d042ca89466b7add658 |
yottadb_r132_x8664_ubuntu2004_pro.tgz |
Release Note Revision History
Revision | Date | Summary |
---|---|---|
1.00 | July 13, 2021 | r1.32 Initial Release |
1.01 | July 13, 2021 | Updated Title and Description for #724 |
1.02 | July 22, 2021 | Added TRANSREPLJNL1GB (749), WORDEXPFAILED, and ZCCONVERT messages |
Contact Information
YottaDB LLC
40 Lloyd Avenue, Suite 104 Malvern, PA 19355, USA [email protected] +1 (610) 644-1898
Support
Customers
Contact your YottaDB support channel.
Others
For free (to you) support from members of communities who run widely available applications on YottaDB, please use an application-specific list where appropriate.
- For requests other than to the communities below, post an Issue and include the words "Help Wanted" in the Title.
- For requests specific to the use of YottaDB from node.js via Nodem, post an Issue on the Nodem project.
- For access from QewdJS, or EWD.js, post to the Enterprise Web Developer community.
- For requests specific to the use of YottaDB with VistA flavors, post to the Hardhats list.
- For requests specific to the use of YottaDB with M other than for applications above, post to the comp.lang.mumps list.
r1.32
Overview
Although there is no single theme to YottaDB r1.32, it qualifies as a major release because it includes a significant number of enhancements, including several to enable the Application Independent Metadata plugin. The plugin provides functionality for applications to push responsibility for maintaining cross references and statistics to YottaDB triggers, thereby reducing the code that applications must maintain. Enhancements include:
- The $ZYSUFFIX() function enables applications to create variable and routine names that are guaranteed for all practical purposes to be unique, as it uses the 128-bit MurmurHash3 non-cryptographic hash. (391)
- A $ZPARSE() option to follow symbolic links. (581)
- Sourcing
ydb_env_set
creates and manages a three-region database, and defaults to UTF-8 mode. (661) - An option to allow $ZINTERRUPT to be invoked for the USR2 signal. (678)
- The
--aim
option ofydbinstall
/ydbinstall.sh
installs the Application Independent Metadata plugin. - Shell-like word expansion with $VIEW("WORDEXP"). (731)
- Propagation downstream of context set by triggers. (727)
ydb_ci_*()
functions return the ZHALT argument for C code that calls M code which terminates with a ZHALT. (742)
From the upstream GT.M V6.3-009 and GT.M V6.3-010, which are included in the r1.32 code base, there are enhancements to operational functionality.
There are numerous smaller enhancements that make system administration and operations (DevOps) friendlier, and easier to automate. For example, %PEEKBYNAME() has an option to query global directory segments without opening the corresponding database files (730), orphaned relinkctl files are automatically cleaned up (695), and the --octo
option of ydbinstall
/ ydbinstall.sh
installs Octo such that octo --version
reports the git commit hash of the build (634).
As with any YottaDB release, there are numerous other enhancements and fixes, some specific to YottaDB (including fixes to issues discovered while merging and testing the upstream code), and others inherited from the upstream code.
YottadB r1.32 is upward compatible with YottaDB r1.30, GT.M V6.3-009, and GT.M V6.3-010.
Platforms
A platform is a combination of a CPU architecture and an operating system. A platform is Supported, Supportable, or Unsupported.
- Supported means that we have the platform in our development environment and test each release on that platform.
- Supportable means that although we do not necessarily have such a platform in our environment, we have no reason to believe that the software will not run on it.
- All others are Unsupported.
CPU Architecture | Supported OS Version(s) | Notes |
---|---|---|
64-bit x86 | Ubuntu 20.04 LTS; Red Hat Enterprise Linux 7.x & 8.x; Debian GNU/Linux 11 (Bullseye) | There are separate binary distributions for each OS version, owing to differences in library versions of those distributions. |
64-bit ARM (Raspberry Pi 3 Model B) | Ubuntu 20.04 LTS; Debian GNU/Linux 11 (Bullseye) | See below. |
32-bit ARM (Raspberry Pi Zero) | Debian GNU/Linux 11 (Bullseye) | See below. |
Recent releases of major GNU/Linux distributions with contemporary kernels, glibc and ncurses are Supportable. Specific notes:
- We intend to drop support for Red Hat Enterprise Linux 7.x for future YottaDB releases. Please contact us if this a concern.
- On Arch Linux and other leading edge distributions, YottaDB may need to be recompiled from source code owing to library and tool chain versions newer than those used in building Supported distributions.
- While YottaDB is Supportable on other ARMv6, ARMv7-A, and ARMv8-A CPUs, owing to variations in the implementations of ARM microarchitectures, we recommend that you ensure the software runs correctly before committing to any specific hardware other than those listed above. Please contact [email protected] if you want a specific combination of OS and CPU microarchitecture to be Supported.
Installation
See our Get Started page to use YottaDB.
We strongly recommend that you install YottaDB r1.32 in a newly created directory, different from those of prior YottaDB releases and any GT.M versions you may have installed on the system.
Removing an installed YottaDB release
Assuming $ydb_dist
points to the directory where YottaDB is installed:
- Cleanly shut down all application processes using that release.
- Execute
mupip rundown && mupip rundown -relinkctl
- Ensure that there are no
gtcm*
orgtmsecshr
processes active. - Use
sudo lsof | grep $ydb_dist
to ensure there are no open files. - Delete the directory with
sudo rm -rf $ydb_dist
Upgrading to YottaDB r1.32
As YottaDB r1.32 is upward compatible from YottaDB r1.30, GT.M V6.3-009 and GT.M V6.3-010, the minimal upgrade steps are:
- Install YottaDB r1.32. Use
ydbinstall
/ydbinstall.sh
to install plugins you use. - Install plugins you need in addition to those installed in the previous step.
- Recompile object code, and recreate shared libraries where appropriate.
- If you are using encryption, compile and install the reference implementation plugin (if not done by the
ydbinstall
/ydbinstall.sh
script) or your customized...
YottaDB r1.30
YottaDB r1.30
Binary Distributions
sha256sum | file |
---|---|
18c2d4ebc9835fff5ecb8c64de91ad1275720ccff92142c2374d8ff63b94be6c |
yottadb_r130_centos8_x8664_pro.tgz |
1531f418b42354ee4bb4dc1950e8e04362a564fd9aa39c63a03aaed5ed4e1d10 |
yottadb_r130_debian10_x8664_pro.tgz |
7f2a6dd825910b84c2b867a4e8337e26269344ba4712b5d69e3e33c93fcab4ac |
yottadb_r130_linux_aarch64_pro.tgz |
0c1ae0709c0eebca39687b57a36f435a10f3e785211b544648441b6d6b472aa1 |
yottadb_r130_linux_armv6l_pro.tgz |
1aebe61504478924c8831fc316ca1192de9ee024398462844295a68de1bcdba1 |
yottadb_r130_linux_armv7l_pro.tgz |
54825ec34ba8d0cc96d240bdc6edb2b9cf36be4136684ed55b0e6d7b74b68e53 |
yottadb_r130_linux_x8664_pro.tgz |
453701b2bf7b23093eabed9cf2fb7bdd29b6a183b3c834b3371c72c88ce2fcc7 |
yottadb_r130_rhel7_x8664_pro.tgz |
1cc45e62b25a7892470f7e7830c3003e4868ab127cd03b03031b0ae641e417d0 |
yottadb_r130_ubuntu2004_x8664_pro.tgz |
Release Note Revision History
Revision | Date | Summary |
---|---|---|
1.00 | August 14, 2020 | r1.30 Initial Release |
Contact Information
YottaDB LLC
40 Lloyd Avenue, Suite 104
Malvern, PA 19355, USA
[email protected]
+1 (610) 644-1898
Support
Customers
Contact your YottaDB support channel.
Others
For free (to you) support from members of communities who run widely available applications on YottaDB, please use an application-specific list where appropriate.
- For requests other than to the communities below, post an Issue and include the words "Help Wanted" in the summary.
- For requests specific to the use of YottaDB from node.js via nodem, post an Issue.
- For access from QewdJS, or EWD.js, post to the Enterprise Web Developer community.
- For requests specific to the use of YottaDB with VistA flavors, post to the Hardhats list.
- For requests specific to the use of YottaDB with M other than for applications above, post to the comp.lang.mumps list.
r1.30
Overview
YottaDB r1.30 is a major release with important new functionality that is required by the Octo 1.0 production release and the production release of the Rust wrapper. While some releases add major new functionality, r1.30 is a major release by the sheer volume of new functionality.
The most important new functionality, required by Octo to distinguish between the empty string (""
) and the absence of data (NULL), is the intrinsic special variable, $ZYSQLNULL, which can be used as a local variable subscript or node value. (484)
Other highlights include:
- The
ydbinstall
/ydbinstall.sh
scripts include--enclugin
,--octo
, and--posix
command line options to install respectively, the encryption plugin, Octo, and the POSIX plugin. (458), (457), (521) - The %YDBPROCSTUCKEXEC routine provides a standard action that can be invoked by
ydb_procstuckexec
. (579) - The call to $ZJOBEXAM() allows for specification of the data to dumped. So, for example, the dumping of local variables can be suppressed unless required, as local variables can contain confidential information. (482)
yottadb -version
provides a detailed report on the YottaDB build. (595)- For faster numeric base conversion, $ZCONVERT() converts between decimal and hexadecimal. (485)
- $ZYHASH() returns the 128-bit MurmurHash3 hash of a string. (390)
- Simple API functions use nanosecond timers internally. (388)
- A new implementation of $RANDOM(). (384)
- To facilitate migration to YottaDB from big endian versions of the upstream code base, YottaDB can automatically convert global directories from big to little endian formats. Note that all YottaDB platforms are little endian. (524)
- CentOS 8 and Ubuntu 20.04 LTS on x86_64 are Supported platforms with their own binary distributions.
YottadB r1.30 is upward compatible with YottaDB r1.28, as well as with GT.M V6.3-008.
There are significant internal changes to signal handling to make the Go wrapper more friendly to application developers, but access to YottaDB from other languages is unaltered.
As with any YottaDB release, there are numerous other enhancements and fixes, some specific to YottaDB (including fixes to issues discovered in the upstream code base), and others inherited from the upstream GT.M V6.3-008. See the Change History.
Platforms
A platform is a combination of a CPU architecture and an operating system. A platform is Supported, Supportable, or Unsupported.
- Supported means that we have the platform in our development environment and test each release on that platform.
- Supportable means that although we do not necessarily have such a platform in our environment, we have no reason to believe that the software will not run on it.
- All others are Unsupported.
CPU Architecture | Supported OS Version(s) | Notes |
---|---|---|
64-bit x86 | Ubuntu 18.04 & 20.04 LTS; Red Hat Enterprise Linux/CentOS 7.x & 8.x; Debian GNU/Linux 10 (Buster) | There are separate binary distributions for each OS version, owing to differences in library versions of those distributions. |
64-bit ARM (Raspberry Pi 3 Model B) | Ubuntu 18.04 LTS | See below. |
32-bit ARM (Raspberry Pi 3 Model B) | Raspbian GNU/Linux 10 (Buster) | See below. |
32-bit ARM (Raspberry Pi Zero) | Raspbian GNU/Linux 10 (Buster) | See below. |
Recent releases of major GNU/Linux distributions with contemporary kernels, glibc and ncurses are Supportable. Specific notes:
- For YottaDB releases after January 1, 2021, we intend to drop support for Ubuntu 18.04 LTS on x86_64. We have not made a decision about 64-bit ARM at this time.
- On Arch Linux and other leading edge distributions, YottaDB may need to be recompiled from source code owing to library and tool chain versions significantly newer than those used in building the distribution.
- While YottaDB is Supportable on other ARMv6, ARMv7-A, and ARMv8-A CPUs, owing to variations in the implementations of ARM microarchitectures, we recommend that you ensure the software runs correctly before committing to any specific hardware other than those Supported. Please contact [email protected] if you want a specific combination of OS and CPU microarchitecture to be Supported.
Installation
See our Get Started page to use YottaDB.
We strongly recommend that you install YottaDB r1.30 in a newly created directory, different from those of prior YottaDB releases and any GT.M versions you may have installed on the system.
Removing an installed YottaDB release
Assuming $ydb_dist
points to the directory where YottaDB is installed:
- Cleanly shut down all application processes using that release.
- Execute `mupip rundown ...
YottaDB r1.26
YottaDB r1.26
Binary Distributions
sha256sum | file |
---|---|
b32032401ff252cbd673b91cfa10a825ead02925397e84ff0c643570af83ac10 |
yottadb_r126_debian10_x8664_pro.tgz |
8a58a48530eb75600da5cb9f5ae7148347b546dc4d3469f6d6647e0c258612a0 |
yottadb_r126_linux_aarch64_pro.tgz |
92f57e33e956dfa57b3fc1737186a4516dc484deacdf7099a98779cfed31a5b7 |
yottadb_r126_linux_armv6l_pro.tgz |
ea0fd2a281e72de204870cbcd6f2c84fca51067d7fa57221e3c2380fad8ef282 |
yottadb_r126_linux_armv7l_pro.tgz |
71c128db3ce84b94151af61bcd1a62e28e1d5a0306dec1f0c1862c2acb98e232 |
yottadb_r126_linux_x8664_pro.tgz |
20984e82613307589200135d2a58b26667cc1fa7170d3e6732d27ea2fbddeb73 |
yottadb_r126_rhel7_x8664_pro.tgz |
Release Note Revision History
Revision | Date | Summary |
---|---|---|
1.00 | June 27, 2019 | r1.26 Initial Release |
Contact Information
YottaDB LLC
40 Lloyd Avenue, Suite 104
Malvern, PA 19355, USA
+1 (610) 644-1898
Support
Customers
Contact your YottaDB support channel.
Others
For free (to you) support from members of communities who run widely available applications on YottaDB, please use an application-specific list where appropriate.
-
For issues specific to the use of YottaDB from node.js via nodem, QewdJS or Enterprise Web Developer, post to the Enterprise Web Developer community.
-
For issues specific to the use of YottaDB with VistA flavors, post to the Hardhats list.
-
For issues specific to the use of YottaDB with M other than for applications above, post to the comp.lang.mumps list.
-
If you are not sure where to post, or for requests other than to the above communities, post an issue at https://gitlab.com/YottaDB/DB/YDB/issues and include the words "help wanted" in the summary.
r1.26
Overview
r1.26 is a major release that brings important new functionality to YottaDB.
Functions of the C Simple API to support multi-threaded applications, which were considered field test grade in r1.24 are considered production grade and fully Supported in r1.26. Their performance is also now comparable to functions for single-threaded applications.
There are numerous other enhancements, including:
-
Sourcing
ydb_env_set
addresses an expanded set of use cases, including setting up and automatically recovering a database (e.g., when coming up after a crash, for example). This brings to applications in all languages functionality that was previously available to M applications through theydb
script in a more limited form.ydb_env_set
also automatically sets environment variables to access YottaDB plugins that comply with the plugin architecture standard. -
More seamless integration between C and M code.
-
Debian GNU/Linux 10 (Buster) on x86_64 is a Supported platform.
-
The $ZTIMEOUT intrinsic special variable allows an application to create and manage software watchdog timers.
As with any YottaDB release, there are numerous additional enhancements for functionality, performance, usability, and robustness, as well as fixes. These are detailed in the complete release notes.
YottadB r1.26 is upward compatible with both YottaDB r1.24, GT.M V6.3-006, and GT.M V6.3-007.
Platforms
A platform is a combination of a CPU architecture and an operating system. A platform is Supported, Supportable, or Unsupported. Supported means that we have the platform in our development environment and test each release on that platform. Supportable means that although we do not necessarily have such a platform in our environment, we have no reason to believe that the software will not run on it. All others are Unsupported.
CPU Architecture | Supported OS Version(s) | Notes |
---|---|---|
64-bit x86 | Ubuntu 18.04 LTS; Red Hat Enterprise Linux 7.6; Debian GNU/Linux 10 (Buster) | There are separate binary distributions for each OS version , owing to differences in library versions of those distributions. |
64-bit ARM (Raspberry Pi 3 Model B) | Ubuntu 18.04 LTS | While YottaDB is Supportable on other ARMv8-A CPUs, owing to variations in the implementations of ARM microarchitectures, we recommend that you ensure the software runs correctly before committing to any specific hardware other than those Supported. Please contact [email protected] if you want a specific combination of OS and CPU microarchitecture to be Supported. |
32-bit ARM (Raspberry Pi Zero) | Raspbian GNU/Linux 9.1 | While YottaDB is Supportable on other ARMv6 CPUs, owing to variations in the implementations of ARM microarchitectures, we recommend that you ensure the software runs correctly before committing to any specific hardware other than those Supported. Please contact [email protected] if you want a specific combination of OS and CPU microarchitecture to be Supported. |
Recent releases of major GNU/Linux distributions with contemporary kernels, glibc and ncurses are Supportable. Specific notes:
- On Ubuntu releases after 18.04 LTS, YottaDB needs the libtinfo5 package to be installed.
- On Arch Linux) and other leading edge distributions, YottaDB may need to be recompiled from source code owing to library and tool chain versions significantly more recent than those used in building the distribution.
Installation
See our Get Started page to use YottaDB.
We strongly recommend that you install YottaDB r1.26 in a newly created directory, different from those of YottaDB r1.24 and any GT.M versions you may have installed on the system.
Removing an installed YottaDB release
Assuming $ydb_dist points to the directory where YottaDB is installed:
- Cleanly shut down all application processes using that release.
- Execute mupip rundown && mupip rundown -relinkctl.
- Ensure that there are no gtcm* or gtmsecshr processes active.
- Use sudo lsof | grep $ydb_dist to ensure there are no open files.
- Delete the directory with sudo rm -rf $ydb_dist.
Upgrading to YottaDB r1.26
As YottaDB r1.26 is upward compatible from YottaDB r1.24, GT.M V6.3-006 and GT.M V6.3-007, the minimal upgrade steps are:
- Install YottaDB r1.26.
- Recompile any object code, and recreate shared libraries where appropriate.
- If you are using encryption, compile and install the reference implementation plugin or your customized plugin.
- Cleanly shut down the application and ensure that the database files are shut down using mupip rundown from the prior release.
- Switch journal files with the new YottaDB release.
- Start using the new YottaDB release.
If the database has triggers defined with non-canonical numbers, or numbers specified as strings (Issue [#430]), or if you are unsure, you should extract the trigger definitions, delete existing triggers, and reload the trigger definitions. The Issue [#430] has a series of steps you can copy and execute.
To upgrade from older GT.M releases, first upgrade to GT.M V6.0-000 or later and follow the steps above, or contact your YottaDB support channel for assistance and guidance.
A more sophisticated upgrade technique is:
- Install YottaDB r1.26.
- Create a new replicated instance of your application (on the same system or a different system).
- Assuming the existing instance is A, and the new instance is B, upgrade B to r1.26 and start replicating from A to B.
- Once B catches up, switchover so that B is in a primary role replicating to A.
- Once you are satisfied with B, remove (or upgrade) A.
Change History
r1.26
YottaDB r1.26 includes the following changes from YottaDB r1.24.
| ID | Category | Summary |
| ---------- |...
YottaDB r1.24
YottaDB r1.24
Note that some of the internal links will not work because these release notes were manually brought over from the r1.24 release notes from the YottaDB project on GitLab
Binary Distributions
sha256sum | file |
---|---|
7e405a94e0be03ac24be5d6c2741f0195414c875b0a72fe8c6fdfb6d9693b375 |
yottadb_r124_linux_aarch64_pro.tgz |
e01dd5cebe5c407d0f32419eab08429765f653df24e7a2b857485d386abaed54 |
yottadb_r124_linux_armv6l_pro.tgz |
01c6f70216a5e07df0cba611c5d549c6caefc13fec43e481d8efe7a4c4679731 |
yottadb_r124_linux_armv7l_pro.tgz |
4010f898fc190dce8e3fe3b73e6e26b76461dd8352c372cc22731d85b0d6c943 |
yottadb_r124_linux_x8664_pro.tgz |
8e125474aed4b1aa0e0a66c527ad5f558da48353bd4b2b82bfd29e58fe1d26dd |
yottadb_r124_rhel7_x8664_pro.tgz |
Release Note Revision History
Revision | Date | Summary |
---|---|---|
1.01 | February 6, 2019 | Added additional error message information |
1.00 | January 31, 2019 | r1.24 Initial Release |
Contact Information
YottaDB LLC
40 Lloyd Avenue, Suite 104
Malvern, PA 19355, USA
[email protected]
+1 (610) 644-1898
Support
Customers
Contact your YottaDB support channel.
Others
For free (to you) support from members of communities who run widely available applications on YottaDB, please use an application-specific list where appropriate.
-
For issues specific to the use of YottaDB from node.js via nodem, QewdJS or Enterprise Web Developer, post to the Enterprise Web Developer community.
-
For issues specific to the use of YottaDB with VistA flavors, post to the Hardhats list.
-
For issues specific to the use of YottaDB with M other than for applications above, post to the comp.lang.mumps list.
-
If you are not sure where to post, or for requests other than to the above communities, post an issue at https://github.com/YottaDB/YottaDB/issues and include the words "help wanted" in the summary.
r1.24
Overview
r1.24 is a major release that brings much new functionality to YottaDB.
pkg-config is a standard tool on Linux systems for managing package versions, for example, to query the location and latest installed version of a package. YottaDB is now part of this ecosystem: the ydbinstall script creates a pkg-config file for YottaDB at /usr/share/pkgconfig/yottadb.pc
. In turn, this means that an application can write a script to use YottaDB without the script needing to be updated when a new YottaDB release is installed on a system, or if a YottaDB release is installed in different directories on different systems, e.g.
source $(pkg-config --variable=prefix yottadb)/ydb_env_set # setup environment
gcc -I $ydb_dist -L $ydb_dist -o myprog myprog.c -lyottadb
./myprog
or
source $(pkg-config --variable=prefix yottadb)/ydb_env_set # setup environment
mumps -run mypro
Fitting into the standard ecosystem becomes increasingly important as we release YottaDB wrappers providing standard APIs for a variety of languages starting with Go.
Released as field test grade functionality are Simple API functions that support multi-threaded applications. Although the YottaDB engine is itself single-threaded, it supports multi-threaded applications as described in our blog post YottaDB Support for Multi-threaded Applications and in the Simple API section of the Multi-Language Programmers Guide. An API with support for threads allows YottaDB to create wrappers for inherently multi-threaded language implementations such as Go, as described in the Programming in Go section of the Multi-Language Programmers Guide. Note that r1.24 is otherwise considered a production release. This means that we consider YottaDB r1.24 to be suitable for use in production except for functionality to support multi-thread applications which are suitable for use in development and testing, but not in production. In the next release, if not sooner, we intend for that functionality to be suitable for production use, like the rest of YottaDB.
64-bit ARM (aarch64) is a supported CPU architecture, running Ubuntu 18.04 LTS, tested on Raspberry Pi 3. If you need another distribution of Linux to be Supported, or testing on another hardware implementation of the architecture, please contact us. YottaDB thanks community member Steve Johnson for contributing the port.
r1.24 comes with numerous & noteworthy functional & performance enhancements, fixes (including fixes to issues in the upstream GT.M code base), as described below with full details on Gitlab.
YottadB r1.24 is upward compatible with both YottaDB r1.22 and GT.M V6.3-005.
Platforms
A platform is a combination of a CPU architecture and an operating system. A platform is Supported, Supportable, or Unsupported. Supported means that we have the platform in our development environment and test each release on that platform. Supportable means that although we do not necessarily have such a platform in our environment, we have no reason to believe that the software will not run on it. All others are Unsupported.
CPU Architecture | Supported OS Version(s) | Notes |
---|---|---|
64-bit x86 | Ubuntu 18.04 LTS; Red Hat Enterprise Linux 7.6 | There are separate binary distributions for Ubuntu and Red Hat, owing to differences in library versions of those distributions. |
64-bit ARM (Raspberry Pi 3 Model B) | Ubuntu 18.04 LTS | While YottaDB is Supportable on other ARMv8-A CPUs, owing to variations in the implementations of ARM microarchitectures, we recommend that you ensure the software runs correctly before committing to any specific hardware other than those Supported. Please contact [email protected] if you want a specific combination of OS and CPU microarchitecture to be Supported. |
32-bit ARM (Raspberry Pi 3 Model B; BeagleBone Black Wireless) | Raspbian GNU/Linux 9.1; Stretch IoT (non GUI) | While YottaDB r1.24 is Supportable on other ARMv7-A CPUs, owing to variations in the implementations of ARM microarchitectures, we recommend that you ensure the software runs correctly before committing to any specific hardware other than those Supported. Please contact [email protected] if you want a specific combination of OS and CPU microarchitecture to be Supported. |
32-bit ARM (Raspberry Pi Zero) | Raspbian GNU/Linux 9.1 | While YottaDB r1.24 is Supportable on other ARMv6 CPUs, owing to variations in the implementations of ARM microarchitectures, we recommend that you ensure the software runs correctly before committing to any specific hardware other than those Supported. Please contact [email protected] if you want a specific combination of OS and CPU microarchitecture to be Supported. |
Recent releases of major GNU/Linux distributions with contemporary kernels, glibc and ncurses are Supportable. Specific notes:
- On Ubuntu releases after 18.04 LTS, YottaDB needs the libtinfo5 package to be installed.
- On Arch Linux and possibly other leading edge distributions, YottaDB may need to be recompiled from source code owing to library and tool chain versions significantly more recent than those used in building the distribution.
Installation
See our Get Started page to use YottaDB.
We strongly recommend that you install YottaDB r1.24 in a newly created directory, different from those of YottaDB r1.22 and any GT.M versions you may have installed on the system.
Removing an installed YottaDB release
Assuming $ydb_dist points to the directory where YottaDB is installed:
- Cleanly shut down all application processes using that release.
- Execute mupip rundown && mupip rundown -relinkctl.
- Ensure that there are no gtcm* or gtmsecshr processes active.
- Use sudo lsof | grep $ydb_dist to ensure there are no open files.
- Delete the directory with sudo rm -rf $ydb_dist.
Upgrading to...
YottaDB r1.22
YottaDB r1.22
Release Note Revision History
Revision | Date | Summary |
---|---|---|
1.00 | May 15, 2018 | r1.22 Initial Release |
Contact Information
YottaDB LLC
40 Lloyd Avenue, Suite 104
Malvern, PA 19355, USA
[email protected]
+1 (610) 644-1898
Support
Customers
Contact your YottaDB support channel.
Others
For free (to you) support from members of communities who run widely available applications on YottaDB, please use an application-specific list where appropriate.
-
For issues specific to the use of YottaDB from node.js via nodem, QewdJS or Enterprise Web Developer, post to the Enterprise Web Developer community.
-
For issues specific to the use of YottaDB with VistA flavors, post to the Hardhats list.
-
For issues specific to the use of YottaDB with M other than for applications above, post to the comp.lang.mumps list.
-
If you are not sure where to post, or for requests other than to the above communities, post an issue at https://github.com/YottaDB/YottaDB/issues and include the words "help wanted" in the summary.
r1.22
Overview
YottaDB r1.22 is a minor release, primarily intended to make available in a YottaDB release the enhancements and fixes in the upstream GT.M release.
YottaDB r1.22 is built on (and except where explicitly noted, upward compatible with) both YottaDB r1.20 and GT.M V6.3-004.
As always, there as other enhancements and fixes, as noted below. See our Get Started page to use YottaDB.
Platforms
A platform is a combination of a CPU architecture and an operating system. A platform is Supported, Supportable, or Unsupported. Supported means that we have the platform in our development environment and test each release on that platform. Supportable means that although we do not necessarily have such a platform in our environment, we have no reason to believe that the software will not run on it. All others are Unsupported.
CPU Architecture | Supported OS Version(s) | Notes |
---|---|---|
64-bit x86 | Ubuntu 16.04 LTS; Red Hat Enterprise Linux 7.4 | Note that there are separate binary distributions for Ubuntu and Red Hat, owing to differences in library versions of those distributions. |
Raspberry Pi 3 Model B; BeagleBone Black Wireless | Raspbian GNU/Linux 9.1; Stretch IoT (non GUI) | While YottaDB r1.22 is Supportable on other ARMv7-A CPUs, owing to variations in the implementations of ARM microarchitectures, we recommend that you ensure the software runs correctly before committing to any specific hardware other than those Supported. Please contact [email protected] if you want a specific combination of OS and CPU microarchitecture to be Supported. |
Raspberry Pi Zero | Raspbian GNU/Linux 9.1 | While YottaDB r1.22 is Supportable on other ARMv6 CPUs, owing to variations in the implementations of ARM microarchitectures, we recommend that you ensure the software runs correctly before committing to any specific hardware other than those Supported. Please contact [email protected] if you want a specific combination of OS and CPU microarchitecture to be Supported. |
Recent releases of major GNU/Linux distributions with contemporary kernels, glibc and ncurses are Supportable. Running on Arch Linux requires the ncurses5-compat-libs package to be installed.
Installation
See our Get Started page to use YottaDB.
We strongly recommend that you install YottaDB r1.22 in a newly created directory, different from those of YottaDB r1.20 and any GT.M versions you may have installed on the system.
Removing an installed YottaDB release
Assuming $ydb_dist points to the directory where YottaDB is installed:
- Cleanly shut down all application processes using that release.
- Execute mupip rundown && mupip rundown -relinkctl.
- Ensure that there are no gtcm* or gtmsecshr processes active.
- Use sudo lsof | grep $ydb_dist to ensure there are no open files.
- Delete the directory with sudo rm -rf $ydb_dist.
Upgrading to YottaDB r1.22
As YottaDB r1.22 is upward compatible from both YottaDB r1.20 and GT.M V6.3-004, the minimal upgrade steps are:
- Install YottaDB r1.22.
- Recompile any object code, and recreate shared libraries where appropriate.
- If you are using encryption, compile and install the reference implementation plugin or your customized plugin.
- Cleanly shut down the application and ensure that the database files are shut down using mupip rundown from the prior release.
- Switch journal files with the new YottaDB release.
- Start using the new YottaDB release.
To upgrade from older GT.M releases, first upgrade to GT.M V6.0-000 or later and follow the steps above, or contact your YottaDB support channel for assistance and guidance.
A more sophisticated upgrade technique is:
- Install YottaDB r1.22.
- Create a new replicated instance of your application (on the same system or a different system).
- Assuming the existing instance is A, and the new instance is B, start replicating from A to B.
- Once B catches up, switchover so that B is in a primary role replicating to A.
- Once you are satisfied with B, remove (or upgrade) A.
Change History
r1.22
YottaDB r1.22 includes the following changes from YottaDB r1.20.
ID | Category | Summary |
---|---|---|
(#159) | Language | $TEXT returns source code lines with both carriage return and newline line terminators removed |
(#193) | Language | GDE @ command reports success after executing good command files |
(#197) | Language | ydb_env_set preserves ydb_gbldir/gtmgbldir and ydb_routines/gtmroutines |
(#207) | DB | TPRESTART syslog messages identify correct global name and message type |
(#209) | Other | Complete set of ydb_* environment variables corresponding to all gtm*/GTM* environment variables |
(#210) | Admin | Source Server errors always appear in the Source Server log file |
(#215) | Admin | Ctrl-Z (the suspend signal) is honored in all cases |
(#217) | DB | SET and $INCREMENT() work correctly without abnormal process termination in a very rare case |
(#218) | DB | ydb_app_ensures_isolation provides initial setting for global variables where application design ensures Isolation |
(#220) | Other | mumps -nowarning does not display BLKTOODEEP messages |
(#221) | Admin | ydb_* environment variables to drive operation of ydbinstall.sh script |
(#224) | Language | Certain edge cases of VIEW and $VIEW() work correctly without terminating the process |
(#228) | Language | $ZSEARCH() calls in a loop work correctly in certain edge cases |
(#233) | DB | Option to reduce IO impact of MUPIP REORG |
(#235) | Other | Source server fails rarely with JNLSWITCHRETRY error when instance is frozen |
(#237) | Other | Establish replication connections more efficiently in an edge case |
(#247) | DB | Epoch tapering works correctly without process termination from signal 8 in a rare case |
Database
- Type 0 and type 3 TPRESTART messages in the syslog (enabled by turning on TP restart logging) correctly report the global variable causing the restart. Furthermore, type 3 messages correctly identify themselves as type 3 messages. Previously, they could report an incorrect global variable reference, and type 3 messages were sometimes incorrectly identifi...
YottaDB r1.20
YottaDB r1.20
Release Note Revision History
Revision | Date | Summary |
---|---|---|
1.00 | March 29, 2018 | r1.20 Initial Release |
Contact Information
YottaDB LLC
40 Lloyd Avenue, Suite 104
Malvern, PA 19355, USA
[email protected]
+1 (610) 644-1898
Support
Customers
Contact your YottaDB support channel.
Others
For free (to you) support from members of communities who run widely available applications on YottaDB, please use an application-specific list where appropriate.
-
For issues specific to the use of YottaDB from node.js via nodem, QewdJSor Enterprise Web Developer, post to the Enterprise Web Developer community.
-
For issues specific to the use of YottaDB with VistA flavors, post to the Hardhats list.
-
For issues specific to the use of YottaDB with M other than for applications above, post to the comp.lang.mumps list.
-
If you are not sure where to post, or for requests other than to the above communities, post an issue at https://github.com/YottaDB/YottaDB/issues and include the words "help wanted" in the summary.
r1.20
Overview
YottaDB r1.20 is the most significant release to date from the YottaDB team. With the ability to call the data management engine directly from C, and eliminating the need for any application code to be written in M (by separating the M language from the database without compromising either in any way), YottaDB r1.20 represents a historic milestone for the YottaDB/GT.M code base.
YottaDB r1.20 is built on (and except where explicitly noted, upward compatible with) both YottaDB r1.10 and GT.M V6.3-003A. Highlights of enhancements and fixes made by the YottaDB team include:
-
A C API to call the data management engine directly. As C is the lingua franca of computer languages, this makes the engine accessible from other languages that can call C APIs. In the future, we anticipate creating standard wrappers to the engine from other languages, and we invite members of the community to do so as well.
-
An all-new manual, the Multi-Language Programmers Guide to access the C API.
-
At US $5 in retail quantities, a new Supported platform, the Raspberry Pi Zero is the lowest cost platform ever for the code base. This and the halving of the storage footprint of the database engine itself (14-15MB), makes YottaDB attractive for Internet of Things applications. Our blog post Edge Computing and YottaDB Everywhere touches on the benefits of YottaDB on low cost computing platforms.
-
Docker containers make it easy to get up and running with YottaDB for experimentation, DevOps and Microservices.
-
Performance improvements (up to two orders of magnitude in specific test cases) in large local arrays and garbage collection, especially in applications with large numbers of strings that change often.
-
The READ command supports a buffer of the same number of prior inputs that direct mode does.
Highlights from the upstream V6.3-003A code base, thanks to the GT.M team include:
-
Performance improvements when there are a large number of concurrent locks.
-
Introduced as field test grade functionality in a production release, the ability for a process to associated itself with different instances at run-time.
As is the case in every release, YottaDB r1.20 brings other enhancements, e.g., callin when an application is already inside a transaction processing fence, and sending syslog messages to stderr when there is no syslog, as well as fixes to issues as detailed below.
As always, there as other enhancements and fixes, as noted below. See our Get Started page to use YottaDB.
Platforms
A platform is a combination of a CPU architecture and an operating system. A platform is Supported, Supportable, or Unsupported. Supported means that we have the platform in our development environment and test each release on that platform. Supportable means that although we do not necessarily have such a platform in our environment, we have no reason to believe that the software will not run on it. All others are Unsupported.
CPU Architecture | Supported OS Version(s) | Notes |
---|---|---|
64-bit x86 | Ubuntu 16.04 LTS; Red Hat Enterprise Linux 7.4 | Note that there are separate binary distributions for Ubuntu and Red Hat, owing to differences in library versions of those distributions. |
Raspberry Pi 3 Model B; BeagleBone Black Wireless | Raspbian GNU/Linux 9.1; Stretch IoT (non GUI) | While YottaDB r1.20 is Supportable on other ARMv7-A CPUs, owing to variations in the implementations of ARM microarchitectures, we recommend that you ensure the software runs correctly before committing to any specific hardware other than those Supported. Please contact [email protected] if you want a specific combination of OS and CPU microarchitecture to be Supported. |
Raspberry Pi Zero | Raspbian GNU/Linux 9.1 | While YottaDB r1.20 is Supportable on other ARMv6 CPUs, owing to variations in the implementations of ARM microarchitectures, we recommend that you ensure the software runs correctly before committing to any specific hardware other than those Supported. Please contact [email protected] if you want a specific combination of OS and CPU microarchitecture to be Supported. |
Recent releases of major GNU/Linux distributions with contemporary kernels, glibc and ncurses are Supportable. Running on Arch Linux requires the ncurses5-compat-libs package to be installed.
Getting Started
See our Get Started page to use YottaDB.
We strongly recommend that you install YottaDB r1.20 in a newly created directory, different from those of YottaDB r1.10 and any GT.M versions you may have installed on the system.
Removing an Installed YottaDB Release
Assuming $ydb_dist
points to the directory where YottaDB is installed:
- Cleanly shut down all application processes using that release.
- Execute
mupip rundown && mupip rundown -relinkctl
- Ensure that there are nogtcm* or gtmsecshr processes active.
- Use
sudo lsof | grep $ydb_dist
to ensure there are no open files. - Delete the directory with
sudo rm -rf $ydb_dist
Upgrading to YottaDB r1.20
As YottaDB r1.20 is upward compatible from both YottaDB r1.10 and GT.M V6.3-003/-003A, the minimal upgrade steps are:
- Install YottaDB r1.20.
- Recompile any object code, and recreate shared libraries where appropriate.
- If you are using encryption, compile and install the reference implementation plugin or your customized plugin.
- Cleanly shut down the application and ensure that the database files are shut down using mupip rundown from the prior release.
- Switch journal files with the new YottaDB release.
- Start using the new YottaDB release.
To upgrade from older GT.M releases, first upgrade to GT.M V6.0-000 or later and follow the steps above, or contact your YottaDB support channel for assistance and guidance.
A more sophisticated upgrade technique is:
- Install YottaDB r1.20.
- Create a new replicated instance of your application (on the same system or a different system).
- Assuming the existing instance is A, and the new instance is B, start replicating from A to B.
- Once B catches up, switchover so that B is in a primary role replicating to A.
- Once you are satisfied with B, remove (or upgrade) A.
Change History
r1.20
ID | Category | Summary |
---|---|---|
(#23) | Admin | Change references to GT.M into references to YottaDB - shared libraries |
(#33) | Other | Reduce footprint of engine |
(#59) | Data | Directly access YottaDB data from C |
(#77) | Other | Fix reporting glitch in Indirection cache hit ratio when cache hits are greater than 43 million |
(#80) | Data | Improve performance of large local arrays |
(#83) | Language | Recall history for READ command to match direct mode |
(https://github.com/YottaDB/... |