Project

General

Profile

Misc #15859

Is Unicode in beta?

Added by MSP-Greg (Greg L) 2 months ago. Updated 2 months ago.

Status:
Closed
Priority:
Normal
Assignee:
-
[ruby-core:92697]

Description

I'm not totally sure, but is this flag causing Unicode files to not be cached?

UNICODE_BETA = YES

https://github.com/ruby/ruby/blob/0723c107f4fb39f60113b44dd21d875c90da5456/common.mk#L22

Associated revisions

Revision 719ebbec
Added by nobu (Nobuyoshi Nakada) 2 months ago

Get rid of always updating Unicode files

[Misc #15859]

History

#1

Updated by MSP-Greg (Greg L) 2 months ago

  • Backport deleted (2.4: UNKNOWN, 2.5: UNKNOWN, 2.6: UNKNOWN)
  • Tracker changed from Bug to Misc

Updated by MSP-Greg (Greg L) 2 months ago

duerst (Martin Dürst)

Sorry for the ping, I noticed the commit where the flag was flipped. Appveyor (and maybe other CI) is having issues with reliable connections to Unicode.org. I think if this is reset, the Unicode files will be cached?

Updated by duerst (Martin Dürst) 2 months ago

The UNICODE_BETA = yes flag is causing a full download of the relevant index.html files to get the actual filenames of the files we need (because in beta, these do change). But we use If-Modified-Since even in BETA, so there are no actual downloads if there are no changes, only short connections to the server.

The reason Ruby isn't out of beta has to do with the fact that in the current setup, it's easier to get into beta than out of beta.

Updated by duerst (Martin Dürst) 2 months ago

  • Status changed from Open to Closed

Ruby came out of Unicode 12.1 BETA with commit e713c2bde8. So this issue can be closed.

The reason it is more difficult to get out of beta than to enter beta is because the behavior in beta is to always check for new versions of files. That makes sure we are always up to date with respect to Unicode. But the behavior for non-beta is not not really check (because nothing is supposed to change anyway).

This creates two potential problems:
1) Files change from the latest beta to the final version. In this case, if we switched to non-beta at the same time as Unicode, people who had compiled with beta wouldn't pick up the latest changes, but would think they are now on the final version.
2) People who don't recompile Ruby regularly. In this case, they risk to miss a beta version, and risk being on an outdated beta version when we switch to non-beta.

This time around, there were no changes in the data files relevant for Ruby from the last beta to final. So we didn't have to worry about 1). But 2) still was a concern. So we waited and stayed on beta for quite a bit after Unicode itself went out of beta (quite a bit of that delay was also caused by me getting used to git :-().

Fortunately, Unicode Versions are not very frequent, and we usually use UNICODE_BETA = YES only locally, and deploy after Unicode is out of beta. Unicode Version 12.1 was special, because the changes were needed in Japan for the change of the Emperor on May 1st, but Unicode 12.1 only came out of beta about a week later.

Also available in: Atom PDF