Revisions of erlang

Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 690636 from Gabriele Santomaggio's avatar Gabriele Santomaggio (gsantomaggio_suse) (revision 78)
- Update to 21.3.3:
- Changes for 21.3.3:
 * http://erlang.org/download/OTP-21.3.3.README
 * erts: Fixed a bug in seq_trace:reset_trace/0 that could crash
   the emulator.
 * erts: Fixed bug in process_info(reductions) causing it to
   sometimes return invalid results.
 * kernel/stdlib: Fixed a performance regression when reading files
   opened with the compressed flag.
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 688658 from Gabriele Santomaggio's avatar Gabriele Santomaggio (gsantomaggio_suse) (revision 77)
- Update to 21.3.2:
- Changes for 21.3.2:
 * http://erlang.org/download/OTP-21.3.2.README
 * erts: If a suspend/resume signal pair was sent to a process
   while it was executing dirty, the receiving process
   could later end up in a suspended state indefinitely.
   This bug was introduced in ERTS version 10.0 (OTP
   21.0).
 * etrs: Fix a possible deadlock when terminating the ERTS
   caused by a dirty scheduler not releasing it's
   run-queue lock when terminating.
 * xmerl: Handling of character references in attributes are
   fixed. 
 * xmerl:  Normalization of whitespace characters in attributes
   are fixed so it works when character references are
   used.
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 686938 from Gabriele Santomaggio's avatar Gabriele Santomaggio (gsantomaggio_suse) (revision 76)
- Update to 21.3.1:
- Changes for 21.3.1:
 * http://erlang.org/download/OTP-21.3.1.README
 * erl_interface: Fixed two bugs in the erl_call program. A missing
   initialization (introduced in erl_interface-3.11) which
   either caused a crash or failure to connect to or start
   a node, and an incorrectly calculated timeout which
   could cause failure to start an erlang node. These bugs
   only caused failures on some platforms.
 * ssl: The timeout for a passive receive was sometimes not
   cancelled and later caused a server crash. This bug has
   now been corrected.
 * ssl: Add tag for passive message (active N) in cb_info to
   retain transport transparency.  
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 685273 from Gabriele Santomaggio's avatar Gabriele Santomaggio (gsantomaggio_suse) (revision 75)
- Update to 21.3:
- Changes for 21.3:
 * http://erlang.org/download/OTP-21.2.7.README
 * Erlang/OTP 21.3 is the third service release for the 21st major release
   with improvements, as well as a few features
 * Highlights
 * Kernel: The standard logger handler, logger_std_h, now has a new internal
   feature for log rotation. For full information see the documentation.
 * SSL:The Reason part of the error return from the functions connect and
   handshake has a better and documented format. This is a potential
   incompatibility. See the documentation.
   Refactoring of state handling has improved the TLS application data
   throughput and reduced CPU overhead
   Code optimizations has reduced CPU load for encryption/decryption,
   especially for Erlang's distribution protocol over TLS
   Now supports active N
 * Erl_interface: Support for plugin of a user supplied socket implementation has been added.
 * OTP:The HTML reference documentation now shows the OTP version where
   modules and functions were first introduced. Versions of OTP older than R13B04 is not shown in the reference
   documentation
 * For a full list of details see:
   http://erlang.org/download/otp_src_21.3.readme
- Update to 21.2.7:
- Changes for 21.2.7:
 * http://erlang.org/download/OTP-21.2.7.README
 * erts, otp: Fixes of install/release phase in build system.
   -- The source tree was modified when
   installing/releasing and/or applying a patch.
   -- Some files were installed with wrong access rights.
   -- If applying a patch (using otp_patch_apply) as
   another user (except root) than the user that built the
   source, the documentation was not properly updated. 
 * erts, kernel: Setting the recbuf size of an inet socket the buffer is
   also automatically increased. Fix a bug where the auto
   adjustment of inet buffer size would be triggered even
   if an explicit inet buffer size had already been set.
 * erts: Reading from UDP using active true or active N mode has
   been optimized when more packets than specified by
   read_packets are available on the socket. 
 * erts, kernel:  Setting the recbuf size of an inet socket the buffer is
   also automatically increased. Fix a bug where the auto
   adjustment of inet buffer size would be triggered even
   if an explicit inet buffer size had already been set.
 
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 677349 from Gabriele Santomaggio's avatar Gabriele Santomaggio (gsantomaggio_suse) (revision 74)
- Update to 21.2.6:
- Changes for 21.2.6:
 * http://erlang.org/download/OTP-21.2.6.README
 * erts: When using the {linger,{true,T}} option;
   gen_tcp:listen/2 used the full linger time before
   returning for example eaddrinuse. This bug has now been
   corrected.
 * stdlib: Optimize pretty printing of terms. The slower behaviour
   was introduced in Erlang/OTP 20.
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 672837 from Matwey Kornilov's avatar Matwey Kornilov (matwey) (revision 73)
- Drop unsupported openSUSE versions
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 671860 from Gabriele Santomaggio's avatar Gabriele Santomaggio (gsantomaggio_suse) (revision 72)
- Update to 21.2.5:
- Changes for 21.2.5:
 * http://erlang.org/download/OTP-21.2.5.README
 * inets: Fixed bug that causes a crash in http client when using
   hostnames (e.g. localhost) with the the option
   ipv6_host_with_brackets set to true.
   This change also fixes a regression: httpc:request
   fails with connection error (nxdomain) if option
   ipv6_host_with_brackets set to true and host component
   of the URI is an IPv6 address.  
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 668740 from Gabriele Santomaggio's avatar Gabriele Santomaggio (gsantomaggio_suse) (revision 71)
- update to 21.2.4:
- Changes for 21.2.4:
 * http://erlang.org/download/OTP-21.2.4.README
 * erts: Fix bug where doing a gen_tcp:send on a socket with
   delay_send set to true could cause a segfault if the
   other side closes the connection.
   Bug was introduced in erts-10.2 (OTP-21.2).
 * erts: Fix a race condition when a port program closes that
   could result in the next started port to hang during
   startup.
   Bug was introduced in erts-10.0 (OTP-21.0).
 * erts: Fix a bug where polling for external events could be
   delayed for a very long time if all active schedulers
   were 100% loaded.
   Bug was introduced in erts-10.2 (OTP-21.2).
 * inets: Make sure ipv6 addresses with brackets in URIs are
   converted correctly before passing to lower level
   functions like gen_tcp and ssl functions. Could cause
   connection to fail.
- update to 21.2.3:
- Changes for 21.2.3:
 * http://erlang.org/download/OTP-21.2.3.README
 * compiler: An optimization that avoided allocation of a stack
   frame for some case expressions was introduced in OTP
   21. (ERL-504/OTP-14808) It turns out that in rare
   circumstances, this optimization is not safe.
   Therefore, this optimization has been disabled.
 * erts: Fixed a crash when dangling files were closed after
   init:restart/0.
 * erts: A bug that could cause dirty schedulers to become
   unresponsive has been fixed.
 * ssl: Fix encoding of the SRP extension length field in ssl.
   The old encoding of the SRP extension length could
   cause interoperability problems with third party SSL
   implementations when SRP was used.
 * ssl: Guarantee active once data delivery, handling TCP
   stream properly.
   Correct gen_statem returns for some error cases
 * xmerl: The charset detection parsing crash in some cases when
   the XML directive is not syntactic correct.
       
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 662223 from Gabriele Santomaggio's avatar Gabriele Santomaggio (gsantomaggio_suse) (revision 70)
- update to 21.2.2:
- Changes for 21.2.2:
 * http://erlang.org/download/OTP-21.2.2.README
 * ssh: Fixed port leakage if a ssh:daemon call failed.
- update to 21.2.1:
- Changes for 21.2.1:
 * http://erlang.org/download/OTP-21.2.1.README
 * erts: Fixed bug on big endian architectures when changing
   file permissions or ownership with file:change_mode,
   change_owner, change_group or write_file_info. Bug
   exists since OTP-21.0.
 * erts: Fixed bug in operator band of two negative operands
   causing erroneous result if the absolute value of one
   of the operands have the lowest N*W bits as zero and
   the other absolute value is not larger than N*W bits. N
   is an integer of 1 or larger and W is 32 or 64
   depending on word size. 
 * ssl:  Fixed renegotiation bug. Client did not handle server
   initiated renegotiation correctly after rewrite to two
   connection processes, due to ERL-622 commit
   d87ac1c55188f5ba5cdf72384125d94d42118c18. This could
   manifest it self as a " bad_record_mac" alert.
   Also included are some optimizations
- update to 21.2:
- Changes for 21.2:
 * http://erlang.org/download/OTP-21.2.README
 * HIGHLIGHTS
 * erts, sasl: New counters and atomics modules supplies access to
   highly efficient operations on mutable fixed word sized
   variables.
 * erts: There is a new module persistent_term that implements a
   term storage suitable for terms that are frequently
   used but never or infrequently updated. Lookups are
   done in constant time without copying the terms.
 * ssh: Requires OpenSSL 1.1.1 or higher as cryptolib under the
   OTP application crypto.
 * ssl: *** POTENTIAL INCOMPATIBILITY ***
   ssl now uses active n internally to boost performance.
   Old active once behavior can be restored by setting
   application variable see manual page for ssl
   application (man 6).
 * erts: Add a new pollset that is made to handle sockets that
   use {active, true} or {active, N}. The new pollset will
   not be polled by a pollthread, but instead polled by a
   normal scheduler.
   This change was made because of the overhead associated
   with constantly having to re-apply the ONESHOT
   mechanism on fds that all input events were
   interesting.
   The new pollset is only active on platforms that
   support concurrent kernel poll updates, i.e. Linux and
   BSD.
 * POTENTIAL INCOMPATIBILITIES:
   kernel: A new function, logger:update_handler_config/3 is
   added, and the handler callback changing_config now has
   a new argument, SetOrUpdate, which indicates if the
   configuration change comes from set_handler_config/2,3    
   or update_handler_config/2,3.
   This allows the handler to consistently merge the new
   configuration with the old (if the change comes from
   update_handler_config/2,3) or with the default (if the
   change comes from set_handler_config/2,3).
   The built-in handlers logger_std_h and
   logger_disk_log_h are updated accordingly. A bug which
   could cause inconsistency between the handlers'
   internal state and the stored configuration is also
   corrected.
 * ssl: ssl now uses active n internally to boost performance.
   Old active once behavior can be restored by setting
   application variable see manual page for ssl
   application (man 6).
 * full relase notes here: http://erlang.org/download/OTP-21.2.README
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 657877 from Matwey Kornilov's avatar Matwey Kornilov (matwey) (revision 69)
- Drop crypto.patch: isn't required anymore
  Reported by Gabriele Santomaggio
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 654385 from gabriele santomaggio's avatar gabriele santomaggio (gsantomaggio) (revision 68)
- update to 21.1.4:
- Changes for 21.1.4:
 * http://erlang.org/download/OTP-21.1.4.README
 * kernel: Fix bug causing net_kernel process crash on connection
   attempt from node with name identical to local node.
- update to 21.1.3:
- Changes for 21.1.3:
 * http://erlang.org/download/OTP-21.1.3.README
 * erts: Added an optional ./configure flag to compile the
   emulator with spectre mitigation:
   --with-spectre-mitigation
   Note that this requires a recent version of GCC with
   support for spectre mitigation and the
   --mindirect-branch=thunk flag, such as 8.1.
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 651654 from Matwey Kornilov's avatar Matwey Kornilov (matwey) (revision 67)
- Pack /etc/init.d/epmd only for systemd-less cases (boo#1116009)
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 647397 from Markos Chandras's avatar Markos Chandras (markoschandras) (revision 65)
- Fix instructions for changing address for epmd.socket service. The
  ListenStream option needs to be completely overriden otherwise the
  socket will be started with multiple ListenStream options and it
  will fail.
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 646128 from gabriele santomaggio's avatar gabriele santomaggio (gsantomaggio) (revision 64)
Update to 21.1.1 
Add the dejavu-fonts dependecy because is needed by fop, else it raises an error for missing font.
Rebuild all the patch files

- update to 21.1.1:
- Changes for 21.1.1:
 - http://erlang.org/download/OTP-21.1.1.README
 * erts: Fixed a memory leak on errors when reading files.
 * ssl:  From ssl-9.0.2. CLOSE ALERTS could under some
   circumstances be encoded using an incorrect cipher
   state. This would cause the peer to regard them as
   unknown messages.
 * ssl: Correct handling of socket packet option with new TLS
   sender process, from ssl-9.0.2. When changing the
   socket option {packet, 1|2|3|4} with ssl:setopts/2 the
   option must internally be propagated to the sender
   process as well as the reader process as this
   particular option also affects the data to be sent.
 * eldap: A race condition at close could cause the eldap client
   to exit with a badarg message as cause.
- Changes for 21.1:
 - http://erlang.org/download/OTP-21.1.README
 * ssh: The key exchange methods
   'curve25519-sha256@libssh.org', 'curve25519-sha256' and
   'curve448-sha512' are implemented. The last two are
   defined in
   https://tools.ietf.org/html/draft-ietf-curdle-ssh-curves
   They all depends on that OpenSSL 1.1.1 or higher is
   used as cryptolib.
 * crypto: The typing in the CRYPTO and PUBLIC_KEY applications
   are reworked and a few mistakes are corrected.
   The documentation is now generated from the typing and
   some clarifications are made.
   A new chapter on Algorithm Details such as key sizes
   and availability is added to the CRYPTO User's Guide.
 * erts: The socket options recvtos, recvttl, recvtclass and
   pktoptions have been implemented in the socket modules.
   See the documentation for the gen_tcp, gen_udp and inet
   modules. Note that support for these in the runtime
   system is platform dependent. Especially for pktoptions
   which is very Linux specific and obsoleted by the RFCs
   that defined it.
 * ssh: The cipher 'chacha20-poly1305@openssh.com' is now
   supported if OpenSSL 1.1.1 or higher is used as
   cryptolib.
- Changes for 21.0.9:
 - http://erlang.org/download/OTP-21.0.9.README
 * compiler: Fix a regression in OTP-15204 that removed .beam file
   metadata that some external build tools relied on.
 * erts: As of ERTS version 10.0 (OTP 21.0) the erl_child_setup
   program, which creates port programs, ignores TERM
   signals. This setting was unintentionally inherited by
   port programs. Handling of TERM signals in port
   programs has now been restored to the default behavior.
   That is, terminate the process.
 * erts: The fix made for OTP-15279 in erts-10.07 (OTP-21.0.8)
   was not complete. It could cause a new connection
   attempt to be incorrectly aborted in certain cases.
   This fix will amend that flaw.    
- Changes for 21.0.8:
 - http://erlang.org/download/OTP-21.0.8.
 * erts: A process could get stuck in an infinite rescheduling
   loop between normal and dirty schedulers. This bug was
   introduced in ERTS version 10.0.
 * erts: Garbage collection of a distribution entry could cause
   an emulator crash if net_kernel had not brought
   previous connection attempts on it down properly.
 * kernel: Fixed bug in net_kernel that could cause an emulator
   crash if certain connection attempts failed. Bug exists
   since kernel-6.0 (OTP-21.0).
- Changes for 21.0.7:
 - http://erlang.org/download/OTP-21.0.7.
 * erts: A race between termination of a process and resume of
   the same process via erlang:resume_process/1 could
   cause the VM to crash. This bug was introduced in erts
   version 10.0 (OTP 21.0).
 * erts: When tracing on running, in trace events could be lost
   when a process was rescheduled between a dirty and a
   normal scheduler.
- Changes for 21.0.6:
 - http://erlang.org/download/OTP-21.0.6.README
 * crypto: Update the crypto engine functions to handle multiple
   loads of an engine.
 * inets: Change status code for no mod found to handle request
   to 501
 * ssl: Correct cipher suite handling for ECDHE_*, the
   incorrect handling could cause an incorrrect suite to
   be selected and most likly fail the handshake.
- Changes for 21.0.5:
 - http://erlang.org/download/OTP-21.0.5.README
 * POTENTIAL INCOMPATIBILITIES erts:
   Fixed a bug causing some Erlang references to be
   inconsistently ordered. This could for example cause
   failure to look up certain elements with references as
   keys in search data structures. This bug was introduced
   in R13B02.
 * compiler: Fixed an issue where files compiled with the
   +deterministic option differed if they were compiled in
   a different directory but were otherwise identical.
 * crypto: Fixed a node crash in crypto:compute_key(ecdh, ...)
   when passing a wrongly typed Others argument.
 * erts: Fixed a bug which caused an emulator crash when
   enif_send() was called by a NIF that executed on a
   dirty scheduler. The bug was either triggered when the
   NIF called enif_send() without a message environment,
   or when the process executing the NIF was send traced.
- Changes for 21.0.4:
 - http://erlang.org/download/OTP-21.0.4.README
 * erts: Fixed a crash when matching directly against a literal
   map using a single key that had been saved on the
   stack.
 * erts: Fix node crash when passing a bad time option to
   file:read_file_info/2.
- Changes for 21.0.3:
 - http://erlang.org/download/OTP-21.0.3.README
 * otp: Build support for the erlang/corba repository.
 * erts: Fixed a scheduler bug that caused normal schedulers to
   run dirty code.
 * erts: Fixed a bug in erlang:trace_info/2 which caused the
   emulator to crash when a bad argument was passed. The
   bug was introduced in ERTS version 10.0.
- Changes for 21.0.2:
 - http://erlang.org/download/OTP-21.0.2.README
 * compiler: In rare cases involving matching of binary literal
   strings, the compiler could optimize away code that
   should be executed.
 * compiler:There could be an internal consistency check failure
   when compiling code that called map_get(Key, Map) and
   then updated the same map.
 * compiler: In rare circumstances, the compiler could crash in
   beam_jump when compiling a floating point operation.
 * erts: Fixed a rare bug that could cause processes to be
   scheduled after they had been freed
 * erts: Fixed a race condition in the inet driver that could
   cause receive to hang when the emulator was compiled
   with gcc 8.
 * public_key: Fix some of the keylengths in the newly generated moduli
   file in public_key are not universally supported. This
   could cause the SSH key exchange
   diffie-hellman-group-exchange-sha* to fail.
   Those keylengths are now removed.
 * stdlib: Fix a bug that could cause a crash when formatting a
   list of non-characters using the control sequences p or
   P and limiting the output with the option chars_limit.
- Changes for 21.0.1:
 - http://erlang.org/download/OTP-21.0.1.
 * compiler:The compiler could crash when compiling a
   complicated function that used the binary syntax.
- Changes for 21.0:
 - http://erlang.org/download/otp_src_21.0.readme
 * Erlang/OTP 21 is a new major release with new features, improvements as well as incompatibilities.
 * Potential Incompatibilities:
   - All Corba applications are now moved from the OTP repository
   - A new Corba repository will be created https://github.com/erlang
   - New applications ftp and tftp, moved from inets
   - ssl no longer supports 3_DES cipher suites or RSA-key exchange cipher suites by default
   - Erlang:monitor on a primitive node (erl_interface, jinterface, etc) will no longer fail with badarg exception. 
     Instead a monitor will be created, but it will only supervise the connection to the node.
 * Highlights:
 * Erts:
   - Enhanced IO scalability
   - Support for usage of distribution controller processes for alternative transports, routing etc
   - compact instructions on 64bit systems for code below 4GB 20% less memory for loaded code
   - Rewrite of the efile-driver with NIFs and "Dirty schedulers" resulting in faster file operations
     non-smp VM removed
   - link and monitor optimized for scalability
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 640127 from Dirk Mueller's avatar Dirk Mueller (dirkmueller) (revision 63)
- update to 20.3.8.9:
  - Changes for 20.3.8.9:
  - http://erlang.org/download/OTP-20.3.8.9.README
  * Fix a regression in OTP-15204 that removed .beam file metadata
  - Changes for 20.3.8.8:
  - http://erlang.org/download/OTP-20.3.8.8.README
  * inets: Do not use chunked-encoding with 1xx, 204 and 304
    responses when using mod_esi
  * inets: Add robust handling of chunked-encoded HTTP responses
    with an empty body (1xx, 204, 304)
  - Changes for 20.3.8.7:
  - http://erlang.org/download/OTP-20.3.8.7.README
  * crypto: Update the crypto engine functions to handle multiple
    loads of an engine
  * mnesia: Fixed a bug where the bag table index data was not
    deleted when objects were deleted.
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 596506 from Matwey Kornilov's avatar Matwey Kornilov (matwey) (revision 61)
- Update to 20.3.2
 * ssl: Added new API functions to facilitate cipher suite handling
 * erts, observer: More crash dump info such as: process binary
   virtual heap stats, full info for process causing out-of-mem
   during GC, more port related info, and dirty scheduler info.
 * inets: Add support for unix domain sockets in the http client.
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 571641 from Matwey Kornilov's avatar Matwey Kornilov (matwey) (revision 60)
- Update to 20.2.2.
- Changes for 20.2.2:
 * mnesia: Removed a quadratic behavior in startup. This change
   implies that backend plugins (if used) must be set when the
   schema is created or via configuration parameters before mnesia
   is started.
 * mnesia: Bad timing could crash mnesia after a checkpoint was
   deactivated and reactivated with the same checkpoint name on
   different tables.
- Changes for 20.2.1:
 * ssh: Fix problem with OpenSSH 7.2 (and later) clients that has
   used sha1 instead of sha2 for rsa-sha-256/512 user's public
   keys.
- Highlighted changes for 20.2:
 * crypto, ssl: The crypto API is extended to use private/public
   keys stored in an Engine for sign/verify or encrypt/decrypt
   operations. The ssl application provides an API to use this new
   engine concept in TLS.
 * ssh: SSH can now fetch the host key from the private keys stored
   in an Engine. See the crypto application for details about
   Engines.
 * ssl: A new command line option -ssl_dist_optfile has been added
   to facilitate specifying the many options needed when using SSL
   as the distribution protocol.
 * stdlib: Improve performance of the new string functionality when
   handling ASCII characters.
Matwey Kornilov's avatar Matwey Kornilov (matwey) accepted request 545828 from Matwey Kornilov's avatar Matwey Kornilov (matwey) (revision 59)
- Update to 20.1.5:
  * erts: Fixed a regression in zlib:gunzip/1 that prevented it
    from working when the decompressed size was a perfect multiple
    of 16384. This regression was introduced in 20.1.1
  * erts: Fixed a memory corruption bug in enif_inspect_iovec;
    writable binaries stayed writable after entering the iovec.
  * erts: Fixed a crash in enif_inspect_iovec on encountering empty
    binaries.
  * erts: zlib:deflateParams/3 will no longer return buf_error when
    called after zlib:deflate/2 with zlib 1.2.11.
  * inets: Correct the handling of location headers so that the
    status code is not hard coded. This should have been fixed by
    commit 2cc5ba70cbbc6b3ace81a2a0324417c3b65265bb but
    unfortunately was broken during a code refactoring and
    unnoticed due to a faulty placed test case.
- Update to 20.1.4:
  * inets: Fix broken handling of POST requests
  * inets: Make sure ints:stop/2 of the service httpd is
    synchronous
  * inets: Honor status code returned by ESI script and modernize
    "location" header handling.
- Update to 20.1.3:
  * diameter: A fault introduced in diameter 2.1 could cause decode
    errors to be ignored in AVPs following the header of aGrouped
    AVP.
  * erts: Added zlib:set_controlling_process/2 to move a zstream()
    between processes.
  * erts: Fix so that schedulers are bound correctly when the first
    available cpu is not the first detected cpu. e.g. when using
    "taskset -c X..Y" when X is not equal to 0.
  * snmp: The recbuf configuration option was not propagated
    correctly to the socket for the SNMP Manager. 
Displaying revisions 61 - 80 of 138
openSUSE Build Service is sponsored by