Cacher 2.9.0 Product Key  - Crack Key For U

The Luna PED and PED keys are the only means of accessing the PED-authenticated HSM's administrative functions. They prevent key-logging exploits on. The maximal time-to-live value that the scache(8) connection cache server allows. The lookup key to be used in local_login_sender_maps tables. The add-on has all features you will ever need to build a perfect online shop for your digital downloads: Single Click Activation (Auto-install & Activate).

Cacher 2.9.0 Product Key - Crack Key For U -

/ Getting Started

redis-py

The Python interface to the Redis key-value store.

CIdocsMIT licensedpypicodecovTotal alerts

Installation command" in :include: files (see aliases(5) for the text that defines this terminology).

Specify zero or more of: alias, forward or include, in order to allow commands in aliases(5), .forward files or in :include: files, respectively.

Example:

allow_mail_to_commands = alias,forward,include
allow_mail_to_files (default: alias, forward)

Restrict local(8) mail delivery to external files. The default is to disallow "/file/name" destinations in :include: files (see aliases(5) for the text that defines this terminology).

Specify zero or more of: alias, forward or include, in order to allow "/file/name" destinations in aliases(5), .forward files and in :include: files, respectively.

Example:

allow_mail_to_files = alias,forward,include
allow_min_user (default: no)

Allow a sender or recipient address to have `-' as the first character. By default, this is not allowed, to avoid accidents with software that passes email addresses via the command line. Such software would not be able to distinguish a malicious address from a bona fide command-line option. Although this can be prevented by inserting a "--" option terminator into the command line, this is difficult to enforce consistently and globally.

As of Postfix version 2.5, this feature is implemented by trivial-rewrite(8). With earlier versions this feature was implemented by qmgr(8) and was limited to recipient addresses only.

allow_percent_hack (default: yes)

Enable the rewriting of the form "user%domain" to "user@domain". This is enabled by default.

Note: as of Postfix version 2.2, message header address rewriting happens only when one of the following conditions is true:

To get the behavior before Postfix version 2.2, specify "local_header_rewrite_clients = static:all".

Example:

allow_percent_hack = no
allow_untrusted_routing (default: no)

Forward mail with sender-specified routing (user[@%!]remote[@%!]site) from untrusted clients to destinations matching $relay_domains.

By default, this feature is turned off. This closes a nasty open relay loophole where a backup MX host can be tricked into forwarding junk mail to a primary MX host which then spams it out to the world.

This parameter also controls if non-local addresses with sender-specified routing can match Postfix access tables. By default, such addresses cannot match Postfix access tables, because the address is ambiguous.

alternate_config_directories (default: empty)

A list of non-default Postfix configuration directories that may be specified with "-c config_directory" on the command line (in the case of sendmail(1), with the "-C" option), or via the MAIL_CONFIG environment parameter.

This list must be specified in the default Postfix main.cf file, and will be used by set-gid Postfix commands such as postqueue(1) and postdrop(1).

Specify absolute pathnames, separated by comma or space. Note: $name expansion is not supported.

always_add_missing_headers (default: no)

Always add (Resent-) From:, To:, Date: or Message-ID: headers when not present. Postfix 2.6 and later add these headers only when clients match the local_header_rewrite_clients parameter setting. Earlier Postfix versions always add these headers; this may break DKIM signatures that cover non-existent headers. The undisclosed_recipients_header parameter setting determines whether a To: header will be added.

always_bcc (default: empty)

Optional address that receives a "blind carbon copy" of each message that is received by the Postfix mail system.

Note: with Postfix 2.3 and later the BCC address is added as if it was specified with NOTIFY=NONE. The sender will not be notified when the BCC address is undeliverable, as long as all down-stream software implements RFC 3461.

Note: with Postfix 2.2 and earlier the sender will be notified when the BCC address is undeliverable.

Note: automatic BCC recipients are produced only for new mail. To avoid mailer loops, automatic BCC recipients are not generated after Postfix forwards mail internally, or after Postfix generates mail itself.

anvil_rate_time_unit (default: 60s)

The time unit over which client connection rates and other rates are calculated.

This feature is implemented by the anvil(8) service which is available in Postfix version 2.2 and later.

The default interval is relatively short. Because of the high frequency of updates, the anvil(8) server uses volatile memory only. Thus, information is lost whenever the process terminates.

Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).

anvil_status_update_time (default: 600s)

How frequently the anvil(8) connection and rate limiting server logs peak usage information.

This feature is available in Postfix 2.2 and later.

Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).

append_at_myorigin (default: yes)

With locally submitted mail, append the string "@$myorigin" to mail addresses without domain information. With remotely submitted mail, append the string "@$remote_header_rewrite_domain" instead.

Note 1: this feature is enabled by default and must not be turned off. Postfix does not support domain-less addresses.

Note 2: with Postfix version 2.2, message header address rewriting happens only when one of the following conditions is true:

To get the behavior before Postfix version 2.2, specify "local_header_rewrite_clients = static:all".

append_dot_mydomain (default: Postfix ≥ 3.0: no, Postfix < 3.0: yes)

With locally submitted mail, append the string ".$mydomain" to addresses that have no ".domain" information. With remotely submitted mail, append the string ".$remote_header_rewrite_domain" instead.

Note 1: this feature is enabled by default. If disabled, users will not be able to send mail to "user@partialdomainname" but will have to specify full domain names instead.

Note 2: with Postfix version 2.2, message header address rewriting happens only when one of the following conditions is true:

To get the behavior before Postfix version 2.2, specify "local_header_rewrite_clients = static:all".

application_event_drain_time (default: 100s)

How long the postkick(1) command waits for a request to enter the Postfix daemon process input buffer before giving up.

Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).

This feature is available in Postfix 2.1 and later.

authorized_flush_users (default: static:anyone)

List of users who are authorized to flush the queue.

By default, all users are allowed to flush the queue. Access is always granted if the invoking user is the super-user or the $mail_owner user. Otherwise, the real UID of the process is looked up in the system password file, and access is granted only if the corresponding login name is on the access list. The username "unknown" is used for processes whose real UID is not found in the password file.

Specify a list of user names, "/file/name" or "type:table" patterns, separated by commas and/or whitespace. The list is matched left to right, and the search stops on the first match. A "/file/name" pattern is replaced by its contents; a "type:table" lookup table is matched when a name matches a lookup key (the lookup result is ignored). Continue long lines by starting the next line with whitespace. Specify "!pattern" to exclude a name from the list. The form "!/file/name" is supported only in Postfix version 2.4 and later.

This feature is available in Postfix 2.2 and later.

authorized_mailq_users (default: static:anyone)

List of users who are authorized to view the queue.

By default, all users are allowed to view the queue. Access is always granted if the invoking user is the super-user or the $mail_owner user. Otherwise, the real UID of the process is looked up in the system password file, and access is granted only if the corresponding login name is on the access list. The username "unknown" is used for processes whose real UID is not found in the password file.

Specify a list of user names, "/file/name" or "type:table" patterns, separated by commas and/or whitespace. The list is matched left to right, and the search stops on the first match. A "/file/name" pattern is replaced by its contents; a "type:table" lookup table is matched when a name matches a lookup key (the lookup result is ignored). Continue long lines by starting the next line with whitespace. Specify "!pattern" to exclude a user name from the list. The form "!/file/name" is supported only in Postfix version 2.4 and later.

This feature is available in Postfix 2.2 and later.

authorized_submit_users (default: static:anyone)

List of users who are authorized to submit mail with the sendmail(1) command (and with the privileged postdrop(1) helper command).

By default, all users are allowed to submit mail. Otherwise, the real UID of the process is looked up in the system password file, and access is granted only if the corresponding login name is on the access list. The username "unknown" is used for processes whose real UID is not found in the password file. To deny mail submission access to all users specify an empty list.

Specify a list of user names, "/file/name" or "type:table" patterns, separated by commas and/or whitespace. The list is matched left to right, and the search stops on the first match. A "/file/name" pattern is replaced by its contents; a "type:table" lookup table is matched when a name matches a lookup key (the lookup result is ignored). Continue long lines by starting the next line with whitespace. Specify "!pattern" to exclude a user name from the list. The form "!/file/name" is supported only in Postfix version 2.4 and later.

Example:

authorized_submit_users = !www, static:all

This feature is available in Postfix 2.2 and later.

authorized_verp_clients (default: $mynetworks)

What remote SMTP clients are allowed to specify the XVERP command. This command requests that mail be delivered one recipient at a time with a per recipient return address.

By default, only trusted clients are allowed to specify XVERP.

This parameter was introduced with Postfix version 1.1. Postfix version 2.1 renamed this parameter to smtpd_authorized_verp_clients and changed the default to none.

Specify a list of network/netmask patterns, separated by commas and/or whitespace. The mask specifies the number of bits in the network part of a host address. You can also specify hostnames or .domain names (the initial dot causes the domain to match any name below it), "/file/name" or "type:table" patterns. A "/file/name" pattern is replaced by its contents; a "type:table" lookup table is matched when a table entry matches a lookup string (the lookup result is ignored). Continue long lines by starting the next line with whitespace. Specify "!pattern" to exclude an address or network block from the list. The form "!/file/name" is supported only in Postfix version 2.4 and later.

Note: IP version 6 address information must be specified inside in the authorized_verp_clients value, and in files specified with "/file/name". IP version 6 addresses contain the ":" character, and would otherwise be confused with a "type:table" pattern.

backwards_bounce_logfile_compatibility (default: yes)

Produce additional bounce(8) logfile records that can be read by Postfix versions before 2.0. The current and more extensible "name = value" format is needed in order to implement more sophisticated functionality.

This feature is available in Postfix 2.1 and later.

berkeley_db_create_buffer_size (default: 16777216)

The per-table I/O buffer size for programs that create Berkeley DB hash or btree tables. Specify a byte count.

This feature is available in Postfix 2.0 and later.

berkeley_db_read_buffer_size (default: 131072)

The per-table I/O buffer size for programs that read Berkeley DB hash or btree tables. Specify a byte count.

This feature is available in Postfix 2.0 and later.

best_mx_transport (default: empty)

Where the Postfix SMTP client should deliver mail when it detects a "mail loops back to myself" error condition. This happens when the local MTA is the best SMTP mail exchanger for a destination not listed in $mydestination, $inet_interfaces, $proxy_interfaces, $virtual_alias_domains, or $virtual_mailbox_domains. By default, the Postfix SMTP client returns such mail as undeliverable.

Specify, for example, "best_mx_transport = local" to pass the mail from the Postfix SMTP client to the local(8) delivery agent. You can specify any message delivery "transport" or "transport:nexthop" that is defined in the master.cf file. See the transport(5) manual page for the syntax and meaning of "transport" or "transport:nexthop".

However, this feature is expensive because it ties up a Postfix SMTP client process while the local(8) delivery agent is doing its work. It is more efficient (for Postfix) to list all hosted domains in a table or database.

biff (default: yes)

Whether or not to use the local biff service. This service sends "new mail" notifications to users who have requested new mail notification with the UNIX command "biff y".

For compatibility reasons this feature is on by default. On systems with lots of interactive users, the biff service can be a performance drain. Specify "biff = no" in main.cf to disable.

body_checks (default: empty)

Optional lookup tables for content inspection as specified in the body_checks(5) manual page.

Note: with Postfix versions before 2.0, these rules inspect all content after the primary message headers.

body_checks_size_limit (default: 51200)

How much text in a message body segment (or attachment, if you prefer to use that term) is subjected to body_checks inspection. The amount of text is limited to avoid scanning huge attachments.

This feature is available in Postfix 2.0 and later.

bounce_notice_recipient (default: postmaster)

The recipient of postmaster notifications with the message headers of mail that Postfix did not deliver and of SMTP conversation transcripts of mail that Postfix did not receive. This feature is enabled with the notify_classes parameter.

bounce_queue_lifetime (default: 5d)

Consider a bounce message as undeliverable, when delivery fails with a temporary error, and the time in the queue has reached the bounce_queue_lifetime limit. By default, this limit is the same as for regular mail.

Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is d (days).

Specify 0 when mail delivery should be tried only once.

This feature is available in Postfix 2.1 and later.

bounce_service_name (default: bounce)

The name of the bounce(8) service. This service maintains a record of failed delivery attempts and generates non-delivery notifications.

This feature is available in Postfix 2.0 and later.

bounce_size_limit (default: 50000)

The maximal amount of original message text that is sent in a non-delivery notification. Specify a byte count. A message is returned as either message/rfc822 (the complete original) or as text/rfc822-headers (the headers only). With Postfix version 2.4 and earlier, a message is always returned as message/rfc822 and is truncated when it exceeds the size limit.

Notes:

  • If you increase this limit, then you should increase the mime_nesting_limit value proportionally.

  • Be careful when making changes. Excessively large values will result in the loss of non-delivery notifications, when a bounce message size exceeds a local or remote MTA's message size limit.

bounce_template_file (default: empty)

Pathname of a configuration file with bounce message templates. These override the built-in templates of delivery status notification (DSN) messages for undeliverable mail, for delayed mail, successful delivery, or delivery verification. The bounce(5) manual page describes how to edit and test template files.

Template message body text may contain $name references to Postfix configuration parameters. The result of $name expansion can be previewed with "postconf -b file_name" before the file is placed into the Postfix configuration directory.

This feature is available in Postfix 2.3 and later.

broken_sasl_auth_clients (default: no)

Enable interoperability with remote SMTP clients that implement an obsolete version of the AUTH command (RFC 4954). Examples of such clients are MicroSoft Outlook Express version 4 and MicroSoft Exchange version 5.0.

Specify "broken_sasl_auth_clients = yes" to have Postfix advertise AUTH support in a non-standard way.

canonical_classes (default: envelope_sender, envelope_recipient, header_sender, header_recipient)

What addresses are subject to canonical_maps address mapping. By default, canonical_maps address mapping is applied to envelope sender and recipient addresses, and to header sender and header recipient addresses.

Specify one or more of: envelope_sender, envelope_recipient, header_sender, header_recipient

This feature is available in Postfix 2.2 and later.

canonical_maps (default: empty)

Optional address mapping lookup tables for message headers and envelopes. The mapping is applied to both sender and recipient addresses, in both envelopes and in headers, as controlled with the canonical_classes parameter. This is typically used to clean up dirty addresses from legacy mail systems, or to replace login names by Firstname.Lastname. The table format and lookups are documented in canonical(5). For an overview of Postfix address manipulations see the ADDRESS_REWRITING_README document.

Specify zero or more "type:name" lookup tables, separated by whitespace or comma. Tables will be searched in the specified order until a match is found. Note: these lookups are recursive.

If you use this feature, run "postmap /etc/postfix/canonical" to build the necessary DBM or DB file after every change. The changes will become visible after a minute or so. Use "postfix reload" to eliminate the delay.

Note: with Postfix version 2.2, message header address mapping happens only when message header address rewriting is enabled:

To get the behavior before Postfix version 2.2, specify "local_header_rewrite_clients = static:all".

Examples:

canonical_maps = dbm:/etc/postfix/canonical canonical_maps = hash:/etc/postfix/canonical
cleanup_service_name (default: cleanup)

The name of the cleanup(8) service. This service rewrites addresses into the standard form, and performs canonical(5) address mapping and virtual(5) aliasing.

This feature is available in Postfix 2.0 and later.

command_directory (default: see "postconf -d" output)

The location of all postfix administrative commands.

command_execution_directory (default: empty)

The local(8) delivery agent working directory for delivery to external command. Failure to change directory causes the delivery to be deferred.

The command_execution_directory value is not subject to Postfix configuration parameter $name expansion. Instead, the following $name expansions are done on command_execution_directory before the directory is used. Expansion happens in the context of the delivery request. The result of $name expansion is filtered with the character set that is specified with the execution_directory_expansion_filter parameter.

$user
The recipient's username.
$shell
The recipient's login shell pathname.
$home
The recipient's home directory.
$recipient
The full recipient address.
$extension
The optional recipient address extension.
$domain
The recipient domain.
$local
The entire recipient localpart.
$recipient_delimiter
The address extension delimiter that was found in the recipient address (Postfix 2.11 and later), or the system-wide recipient address extension delimiter (Postfix 2.10 and earlier).
${name?value}
Expands to value when $name is non-empty.
${name:value}
Expands to value when $name is empty.

Instead of $name you can also specify ${name} or $(name).

This feature is available in Postfix 2.2 and later.

command_expansion_filter (default: see "postconf -d" output)

Restrict the characters that the local(8) delivery agent allows in $name expansions of $mailbox_command and $command_execution_directory. Characters outside the allowed set are replaced by underscores.

command_time_limit (default: 1000s)

Time limit for delivery to external commands. This limit is used by the local(8) delivery agent, and is the default time limit for delivery by the pipe(8) delivery agent.

Note: if you set this time limit to a large value you must update the global ipc_timeout parameter as well.

compatibility_level (default: 0)

A safety net that causes Postfix to run with backwards-compatible default settings after an upgrade to a newer Postfix version.

With backwards compatibility turned on (the main.cfcompatibility_level value is less than the Postfix built-in value), Postfix looks for settings that are left at their implicit default value, and logs a message when a backwards-compatible default setting is required.

using backwards-compatible default setting name=value to [accept a specific client request] using backwards-compatible default setting name=value to [enable specific Postfix behavior]

See COMPATIBILITY_README for specific message details. If such a message is logged in the context of a legitimate request, the system administrator should make the backwards-compatible setting permanent in main.cf or master.cf, for example:

# postconfname=value # postfix reload

When no more backwards-compatible settings need to be made permanent, the administrator should turn off backwards compatibility by updating the compatibility_level setting in main.cf:

# postconf compatibility_level=N # postfix reload

For N specify the number that is logged in your postfix(1) warning message:

warning: To disable backwards compatibility use "postconf compatibility_level=N" and "postfix reload"

Starting with Postfix version 3.6, the compatibility level in the above warning message is the Postfix version that introduced the last incompatible change. The level is formatted as major.minor.patch, where patch is usually omitted and defaults to zero. Earlier compatibility levels are 0, 1 and 2.

NOTE: this also introduces support for the "<level", "<=level", and other operators to compare compatibility levels. With the standard operators "<", "<=", etc., compatibility level "3.10" would be smaller than "3.9" which is undesirable.

This feature is available in Postfix 3.0 and later.

config_directory (default: see "postconf -d" output)

The default location of the Postfix main.cf and master.cf configuration files. This can be overruled via the following mechanisms:

  • The MAIL_CONFIG environment variable (daemon processes and commands).

  • The "-c" command-line option (commands only).

With Postfix commands that run with set-gid privileges, a config_directory override either requires root privileges, or it requires that the directory is listed with the alternate_config_directories parameter in the default main.cf file.

confirm_delay_cleared (default: no)

After sending a "your message is delayed" notification, inform the sender when the delay clears up. This can result in a sudden burst of notifications at the end of a prolonged network outage, and is therefore disabled by default.

See also: delay_warning_time.

This feature is available in Postfix 3.0 and later.

connection_cache_protocol_timeout (default: 5s)

Time limit for connection cache connect, send or receive operations. The time limit is enforced in the client.

This feature is available in Postfix 2.3 and later.

connection_cache_service_name (default: scache)

The name of the scache(8) connection cache service. This service maintains a limited pool of cached sessions.

This feature is available in Postfix 2.2 and later.

connection_cache_status_update_time (default: 600s)

How frequently the scache(8) server logs usage statistics with connection cache hit and miss rates for logical destinations and for physical endpoints.

connection_cache_ttl_limit (default: 2s)

The maximal time-to-live value that the scache(8) connection cache server allows. Requests that specify a larger TTL will be stored with the maximum allowed TTL. The purpose of this additional control is to protect the infrastructure against careless people. The cache TTL is already bounded by $max_idle.

content_filter (default: empty)

After the message is queued, send the entire message to the specified transport:destination. The transport name specifies the first field of a mail delivery agent definition in master.cf; the syntax of the next-hop destination is described in the manual page of the corresponding delivery agent. More information about external content filters is in the Postfix FILTER_README file.

Notes:

cyrus_sasl_config_path (default: empty)

Search path for Cyrus SASL application configuration files, currently used only to locate the $smtpd_sasl_path.conf file. Specify zero or more directories separated by a colon character, or an empty value to use Cyrus SASL's built-in search path.

This feature is available in Postfix 2.5 and later when compiled with Cyrus SASL 2.1.22 or later.

daemon_directory (default: see "postconf -d" output)

The directory with Postfix support programs and daemon programs. These should not be invoked directly by humans. The directory must be owned by root.

daemon_table_open_error_is_fatal (default: no)

How a Postfix daemon process handles errors while opening lookup tables: gradual degradation or immediate termination.

no (default)

Gradual degradation: a daemon process logs a message of type "error" and continues execution with reduced functionality. Features that do not depend on the unavailable table will work normally, while features that depend on the table will result in a type "warning" message.
When the notify_classes parameter value contains the "data" class, the Postfix SMTP server and client will report transcripts of sessions with an error because a table is unavailable.

yes (historical behavior)

Immediate termination: a daemon process logs a type "fatal" message and terminates immediately. This option reduces the number of possible code paths through Postfix, and may therefore be slightly more secure than the default.

For the sake of sanity, the number of type "error" messages is limited to 13 over the lifetime of a daemon process.

This feature is available in Postfix 2.9 and later.

daemon_timeout (default: 18000s)

How much time a Postfix daemon process may take to handle a request before it is terminated by a built-in watchdog timer.

Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).

data_directory (default: see "postconf -d" output)

The directory with Postfix-writable data files (for example: caches, pseudo-random numbers). This directory must be owned by the mail_owner account, and must not be shared with non-Postfix software.

This feature is available in Postfix 2.5 and later.

debug_peer_level (default: 2)

The increment in verbose logging level when a nexthop destination, remote client or server name or network address matches a pattern given with the debug_peer_list parameter.

Per-nexthop debug logging is available in Postfix 3.6 and later.

debug_peer_list (default: empty)

Optional list of nexthop destination, remote client or server name or network address patterns that, if matched, cause the verbose logging level to increase by the amount specified in $debug_peer_level.

Per-nexthop debug logging is available in Postfix 3.6 and later.

Specify domain names, network/netmask patterns, "/file/name" patterns or "type:table" lookup tables. The right-hand side result from "type:table" lookups is ignored.

Pattern matching of domain names is controlled by the presence or absence of "debug_peer_list" in the parent_domain_matches_subdomains parameter value.

Examples:

debug_peer_list = 127.0.0.1 debug_peer_list = example.com
debugger_command (default: empty)

The external command to execute when a Postfix daemon program is invoked with the -D option.

Use "command .. & sleep 5" so that the debugger can attach before the process marches on. If you use an X-based debugger, be sure to set up your XAUTHORITY environment variable before starting Postfix.

Note: the command is subject to $name expansion, before it is passed to the default command interpreter. Specify "$$" to produce a single "$" character.

Example:

debugger_command = PATH=/usr/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5
default_database_type (default: see "postconf -d" output)

The default database type for use in newaliases(1), postalias(1) and postmap(1) commands. On many UNIX systems the default type is either dbm or hash. The default setting is frozen when the Postfix system is built.

Examples:

default_database_type = hash default_database_type = dbm
default_delivery_slot_cost (default: 5)

How often the Postfix queue manager's scheduler is allowed to preempt delivery of one message with another.

Each transport maintains a so-called "available delivery slot counter" for each message. One message can be preempted by another one when the other message can be delivered using no more delivery slots (i.e., invocations of delivery agents) than the current message counter has accumulated (or will eventually accumulate - see about slot loans below). This parameter controls how often is the counter incremented - it happens after each default_delivery_slot_cost recipients have been delivered.

The cost of 0 is used to disable the preempting scheduling completely. The minimum value the scheduling algorithm can use is 2 - use it if you want to maximize the message throughput rate. Although there is no maximum, it doesn't make much sense to use values above say 50.

The only reason why the value of 2 is not the default is the way this parameter affects the delivery of mailing-list mail. In the worst case, delivery can take somewhere between (cost+1/cost) and (cost/cost-1) times more than if the preemptive scheduler was disabled. The default value of 5 turns out to provide reasonable message response times while making sure the mailing-list deliveries are not extended by more than 20-25 percent even in the worst case.

Use transport_delivery_slot_cost to specify a transport-specific override, where transport is the master.cf name of the message delivery transport.

Examples:

default_delivery_slot_cost = 0 default_delivery_slot_cost = 2
default_delivery_slot_discount (default: 50)

The default value for transport-specific _delivery_slot_discount settings.

This parameter speeds up the moment when a message preemption can happen. Instead of waiting until the full amount of delivery slots required is available, the preemption can happen when transport_delivery_slot_discount percent of the required amount plus transport_delivery_slot_loan still remains to be accumulated. Note that the full amount will still have to be accumulated before another preemption can take place later.

Use transport_delivery_slot_discount to specify a transport-specific override, where transport is the master.cf name of the message delivery transport.

default_delivery_slot_loan (default: 3)

The default value for transport-specific _delivery_slot_loan settings.

This parameter speeds up the moment when a message preemption can happen. Instead of waiting until the full amount of delivery slots required is available, the preemption can happen when transport_delivery_slot_discount percent of the required amount plus transport_delivery_slot_loan still remains to be accumulated. Note that the full amount will still have to be accumulated before another preemption can take place later.

Use transport_delivery_slot_loan to specify a transport-specific override, where transport is the master.cf name of the message delivery transport.

default_delivery_status_filter (default: empty)

Optional filter to replace the delivery status code or explanatory text of successful or unsuccessful deliveries. This does not allow the replacement of a successful status code (2.X.X) with an unsuccessful status code (4.X.X or 5.X.X) or vice versa.

Note: the (smtp

The GWT Release Notes

  • 2.9.0 May 13, 2020
  • 2.8.2 Oct 19, 2017
  • 2.8.1 Apr 24, 2017
  • 2.8.0 Oct 20, 2016
  • 2.8.0 (RC3) Sept 29, 2016
  • 2.8.0 (RC2) Aug 11, 2016
  • 2.8.0 (RC1) July 29, 2016
  • 2.8.0 (Beta1) December 3, 2015
  • 2.7.0 November 20, 2014
  • 2.7.0 (RC1) October 30, 2014
  • 2.6.1 May 9, 2014
  • 2.6.0 January 23, 2014
  • 2.6.0 (RC4) January 9, 2014
  • 2.6.0 (RC3) December 5, 2013
  • 2.6.0 (RC2) December 2, 2013
  • 2.6.0 (RC1) November 7, 2013
  • 2.5.1 March 9, 2013
  • 2.5.1 (RC1) February 5, 2013
  • 2.5.0 October 25, 2012
  • 2.5.0 (RC2) October 4, 2012
  • 2.5.0 (RC1) June 27, 2012
  • 2.4.0 September 7, 2011
  • 2.3.0 May 2, 2011
  • 2.3.0 (M1) April 2, 2011
  • 2.2.0 February 11, 2011
  • 2.1.1 December 17, 2010
  • 2.1.0 October 27, 2010
  • 2.1.0 (RC1) October 12, 2010
  • 2.1.0 (M3) August 25, 2010
  • 2.1.0 (M2) July 2, 2010
  • 2.1.0 (M1) May 19, 2010
  • 2.0.4 June 30, 2010
  • 2.0.3 February 18, 2010
  • 2.0.2 February 12, 2010
  • 2.0.1 February 3, 2010
  • 2.0.0 December 9, 2009
  • 2.0.0 (RC2) November 25, 2009
  • 2.0.0 (RC1) November 17, 2009
  • 1.7.1 September 22, 2009
  • 1.7.0 July 14, 2009
  • 1.6.4 April 7, 2009
  • 1.6.3 March 31, 2009
  • 1.6.2 March 18, 2009
  • 1.5.3 October 17, 2008
  • 1.5.2 August 28, 2008
  • 1.5.1 (RC2) August 5, 2008
  • 1.5.0 (RC1) May 27, 2008
  • 1.4.60 August 28, 2007
  • 1.4.59 (RC2) August 20, 2007
  • 1.4.10 (RC) May 29, 2007
  • 1.3.3 January 18, 2007
  • 1.3.1 (RC)
  • 1.2.22
  • 1.2.21 (RC)
  • 1.1.10
  • 1.1.0 (RC)
  • 1.0.21

Note - M1 = first milestone, RC1 = first release candidate


Release Notes for 2.9.0

Highlights

  • Able to compile projects with jsinterop-base 1.0.0, elemental2 1.0.0, and jsinterop-annotations 2.0.0. With the exception of @JsAsync and @JsEnum, this brings GWT2 to be compatible across these tools with J2CL.

  • Added support for Java language levels 9, 10, and 11.

  • Officially, support is dropped for running the GWT compiler or server-side tooling on Java 7. The GWT distribution is still compiled to run on Java 7 for this release, but no guarantees are made about whether or not this will work. Future versions will compile bytecode for Java 8+. The release was tested and found to work cross platform when run with Java 8, 11, and 14.

Deprecations

  • Elemental has been officially deprecated - it is still included in this release, but may not appear in future releases. Instead, we encourage the use of the Elemental2 libraries, which are compatible with both GWT2 and J2CL.
  • Removed NoSuchMethodException emulation.

Bug fixes

  • Fixes Arrays.binarySearch semantics for float[] and double[]
  • Adds Support multi-line messages in errors/exceptions
  • Adds shutdown hook in DiskCache to clean up temp files
  • Cache Gecko version to lower CPU usage on FireFox
  • Do not assume that “this” is always non null.
  • Updates globals for Firefox version 60.0.2, Chrome 66.0.3359.45
  • Fixes String.regionMatches.
  • Native JsMethods allowed to coexist with implementations with the same name.
  • Make sure lambdas box, unbox and insert erasure casts when necessary.
  • Negative zero treated properly in Double/Float.compare()

Miscellaneous

  • Updates CLDR to version 34.
  • Arrays now implement Cloneable
  • Link backing errors together with a cause attribute, start tracking suppressed errors in addition to the cause in underlying error object.
  • Add AtomicReference to gwt/emul.
  • Propagate script nonces via ScriptInjector
  • Add partial emulation for ExecutorService and ScheduledExecutorService
  • Emulate java.util.concurrent.Flow
  • Emulate javax.annotation{,.processing}.Generated
  • Make sure “goog.global” is $wnd if not defined.
  • Add element definition
  • Add Reader and StringReader emulation.
  • Remove GWT version check.
  • Do not show “unusable-by-js” warning for synthetic methods.
  • Update unmodifiableList to throw on Java8 methods.
  • Disable DataflowOptimizer by default and emit a warning when used

For more detail, see the commit log.

Release Notes for 2.8.2

Highlights

  • Supports running in Java 9. Note that this does not yet mean that GWT can compile Java 9 sources, or support the Java 9 JRE changes, but that a Java 9 JRE can be used to compile a GWT project. Do note that the new flag is not supported, but must still be used as in the past.

  • Chrome 61 removed functionality that had been used for reading the absolute top/left values. The internal implementation has been updated to reflect modern standards.

  • Uncaught exception handler will now receive all errors on the page, as handled by . This may potentially be a breaking change if there were misbehaving scripts on the page. To disable this functionality, set the property to :

For more details, see .

Bug fixes

  • LookupMethodCreator creates too large method
  • NativeRegExp should use iframe instance, fixing Edge JIT bug
  • JsProperty getter/setter sometimes were reported as incompatible
  • Instantiating native JsTypes from JSNI results in InternalCompilerException
  • Remove the SUBSIZED characteristic from filtered streams
  • Internal compiler exception when using native JsType varargs in a JsMethod
  • Regression in String.toLowerCase and toUpperCase for some locales, specifically for Turkish
  • Missing bounds check in String.charAt
  • Fix AIOOBE when compiling method references involving varargs.
  • Apply HtmlUnit workaround ensuring that window.onerror is called correctly

Miscellaneous

  • Migrated lang/jre emulation JSNI to JsInterop to share with J2CL
  • Added ErrorProne to gwt builds
  • Improved compliance with CSP
  • Added emulation for java.io.Externalizable
  • Added emulation for java.lang.reflect.Array
  • JSO.equals/hashcode will delegate to the JS object if it has methods with those names
  • Removed outdated or unused parts of project
  • Migrate guava JRE emulation to GWT
  • HtmlUnit tests are now run in batch mode

For more detail, see the issue tracker and the commit log.

Release Notes for 2.8.1

Highlights

  • Elemental1’s JSON parser now correctly throws an exception when a string, object, or array is not correctly ended

  • Support filtering JsInterop types for export, with whitelist/blacklist and wildcards. The flag is still used to enable the feature, but and now exist to specify packages with optional wildcards. Later arguments and patterns override earlier ones.

  • Support “” (any) and “” (unknown) types as a JsType native name. The “Unknown” type can be referred over Object if the type is unknown, while “any” is prefered supertype of any JS type, including primitives.

Bug fixes

  • Fix loading bug in waitForBodyLoaded.js
  • Fix NPE compiling code with a constructor reference (Type::new).
  • Fix bad rewriting of default methods.
  • Make native NativeRegExp refer to the iframe instance.
  • Fix incorrect comparison of object arrays in Arrays.deepEquals.
  • Fixed NullPointerException in handling of Jetty arguments
  • Fixes a bug where JsOptional on override may fail
  • Clear persistent unit cache when relevant options change.
  • Rescue JSOs crossing JsInterop borders.
  • Rescue types represented as natives when supertypes cross JS boundaries.
  • Prevent errorneous floating point expression optimization.
  • Fix the implementation of Stream.anyMatch/allMatch/noneMatch to support streams with null elements.
  • Do not ignore return values of streams.
  • Fix ICE due to intersection types appearing as erasure casts.
  • Fix bad varargs conversion in method reference.
  • Fix: Add role attribute to last sortable column header
  • Properly preserve names in overrides of native methods.
  • Make Array.sort(float[]/double[]) JDK compliant

Miscellaneous

  • Small optimization in String.subString
  • Specialize Objects.equals for strings.
  • Improve primitive cast optimizations.
  • Update global blacklist to chrome 57.0.2987.74.
  • Improvements for compliance with Strict CSP
  • Remove Characteristics manipulation in Collectors

Deprecation

  • Adds deprecation to @GwtScriptOnly

Release Notes for 2.8.0

JsInterop

  • Cleanup/update javadoc for jsinterop annotations.
  • Allow native classes implement native interfaces with overlays.

Release Notes for 2.8.0 (RC3)

Bug fixes

  • Fix erroneous constant propagation in JsProperty field.
  • Fix missing bridges for default methods and functionnal expressions.
  • Fix ArrayDeque’s bug when expanding capacity.
  • Fix missing declaration/initialization of JsOverlay fields.
  • Fix missing error reporting in SDM that leads to NPE.
  • Fix NullPointerException in super dev mode due to Boolean/Double/String devirtualization.
  • Fix generation of methods to access GSS constant in InterfaceGenerator.
  • Fix incorrect property copying for native JsType subclasses.
  • Fix toString dispatch for subtypes of native JsTypes.

Miscellaneous

  • Improve JsInterop error messages on native type fieds.
  • Update globals for Chrome 54.0.2840.16.

Deprecation

  • Deprecate dangerous RootPanel#clear(boolean).

Release Notes for 2.8.0 (RC2)

Bug fixes

  • Fix incorrect unusable-by-js warning.
  • Fix an issue around DevMode server (jetty) restart.
  • Fix an issue in super dev mode with changing compiler options not triggering full recompiles.
  • Added missing command line parameters to DevMode entry point
  • Fixed a performance regression in String.

Release Notes for 2.8.0 (RC1)

Highlights

  • Partial support for Java 8 standard library APIs (see below for full list).
  • Fix memory leak with Java 8 compilation.
  • Source level set to Java 8.
  • Static and default methods in interfaces aren’t visible to generators. If you want to take advantage of those Java-8isms, you’re encouraged to switch to an annotation processor. This could break existing build if an interface is changed to turn a non-default method into a default method.

Deprecations

  • Classic dev mode deprecated.You can switch back to dev mode for your test cases temporarily by passing gwt.args=‘-devMode’.
  • Deprecate JSR 303 Bean Validation support (javax.validation, c.g.g.validation). The code hasn’t been maintained for years.

Breaking changes

Compiler

  • Update JS reserved keywords to ES6.
  • Fix instanceof for primitives & string.
  • Make exceptions work across Java/JavaScript boundary
  • Allow casting native arrays to Object[].
  • Use patched JDT to circumvent memory leak when compiling for Java 8.

JsInterop

  • Implement with default methods in Java8.
  • Disallow non-native on static methods.
  • Remove legacy JsInterop.
  • Add annotation (disallowed on primitive typed parameters).
  • Allow on effectively final methods.
  • Split JsInterop annotations into their own JAR when deploying to Maven:

UIBinder

  • Add support for class in UIBinder.

JDK emulation

  • Emulate .
  • Emulate and its int, long, double variants.
  • Emulate with message Supplier.
  • Fix Math.min/max(float/double) emulation behavior.
  • Emulate .
  • Emulate .
  • Emulate .
  • Emulate Java 8 API of
  • ,
  • ,
  • ,
  • ,
  • ,
  • ,
  • ,
  • ,
  • ,
  • ,
  • ,
  • ,
  • ,
  • ,

GSS

  • Add CSS3 and GSS support in InterfaceGenerator

Miscellaneous

  • Fixing up the Maven samples to work with GWT 2.8
  • Fixed spelling error when starting CodeServer
  • Update globals for Chrome 52.0.2743.24.
  • Update apache commons-collections to 3.2.2.
  • is now serializable. This enables storing JsonValues in the HTTP session on the server.

Release Notes for 2.8.0 (Beta1)

Highlights

  • Java 8 syntax supported.
  • JsInterop has graduated from experimental. See final JsInterop specification.
  • GSS is no longer considered as experimental and old CssResource is now deprecated.

Deprecations

  • Old CssResource syntax is now deprecated. For more information on GSS migration, please refer to this document

Compiler changes

  • Java 8 syntax is now supported by the compiler.
  • New optimizer framework that reruns the optimization process only on the part of the AST that were impacted by the changes since its last run. That speedup compilation of large application.
  • Added better type specialization that enables better optimizations.
  • Many bugfixes.

Library Changes

  • Generic Accessor for GWT Properties. You can now use to access the value of any configuration or binding property at compile time.
  • Configurable Checks
  • Added -setProperty flag

JDK emulation

  • Started using ES6 Maps when available for HashMap/HashSet that yields up 3x performance improvements.
  • Switch to new long emulation with significant performance improvements (e.g. divisions 50x faster for smaller numbers)
  • Double/Boolean are not boxed anymore.

Logging and Stack Traces

  • Improved logging and stack traces for superdev mode.

GSS support

  • GSS is no longer experimental but it’s not enabled by default for easier and smoother migration to GWT 2.8. The configuration property turns on GSS support. For more information on GSS migration, please refer to this document
  • “For loop support” added
  • a new function concat() is now available to concatenate variable and string literal.
  • @gen-webkit-keyframes annotation: generate automaticaly @-webkit-keyframes block

Dev Mode

  • Dev Mode is now deprecated

Super Dev Mode

  • SDM caches on disk the MinimalRebuildCache object, which speeds up the first SDM compile on a restart of the process.

Testing

For even more detail, see the Issue Tracker.

Release Notes for 2.7.0

This release fixes issues found while testing RC1.

For details, see the commit logs.

Known Issues

DevMode always starts in Super Dev Mode, so it’s not as easy to test in production mode. See issue 9004 for workarounds.

Release Notes for 2.7.0 (RC1)

Highlights

  • Super Dev Mode is now the default. DevMode automatically starts Super Dev Mode and reloading a web page automatically runs the compiler when necessary. (The flag may be used to revert to the old behavior.)

  • Compiling in Super Dev Mode is much faster after the first compile.

  • Experimental support for GSS, also known as Closure Stylesheets. (See below.)

Known Issues

  • gwttar files are incorrect. (Fixed in the next version.)

Deprecations

  • GWT Designer doesn’t work with 2.7 and is no longer supported. (Source code is available if someone wishes to revive this project.)

  • IFrameLinker and XSLinker are deprecated because they don’t work in Super Dev Mode. However, we don’t have suitable replacements for all use cases yet. For updates and possible workarounds, see issue 8997.

Compiler changes

  • In draft mode and Super Dev Mode, all compiler optimizations are turned off for better debugging. For example, null pointers are detected sooner.

  • JSNI references no longer require fully qualified class names when this wouldn’t be necessary in Java. (For example, imports work.)

  • We’ve started implementing JS Interop annotations, which will make it much easier to use GWT with JavaScript libraries. The specification is not final and there are bugs, so production GWT apps and libraries should continue to use JSNI for now. If you wish to experiment, you can enable JS Interop using the flag, which is available for the compiler and Super Dev Mode. (It doesn’t work with old DevMode.)

  • The experimental flag adds a property to each JavaScript function containing the name of the Java method. This makes Java method names available in browser debuggers at the expense of code size. (Also available in Super Dev Mode.)

  • Boxed JavaScript strings (created in JavaScript using ) are no longer considered equivalent to Java strings. They should be unboxed before being passed to Java.

  • Many bugfixes.

Library Changes

JDK emulation

  • Significant performance improvements in , , , and .

  • New emulated classes: , , and .

  • New emulated methods in , , , , , , , and .

  • extends and handles incorrect usage better.

Logging and Stack Traces

  • Better wrapping of exceptions thrown from JavaScript.

  • GWT apps that inherit the module have different default behavior for messages logged using the package. The new default is to log messages at level and above to the browser’s console. and are no longer enabled by default.

  • and have been removed. ()

Experimental GSS support

The configuration property turns on GSS support.

  • When enabled, resource files with a ‘gss’ extension are parsed as a Closure Stylesheet.

  • When enabled, GSS can be used in a UiBinder file by setting on a tag.

  • If the configuration property is set, .css resources and tags without will first be converted to GSS and then parsed as GSS.

UiBinder

  • The tag has new attributes: and .

GWT-RPC

  • The configuration property turns on experimental support for serializing final fields.

  • may be serialized without a serialization policy.

  • deRPC is removed.

RequestFactory

  • Support overridden methods and generics better.

  • Fix support for on methods.

Internationalization

Browser API changes

  • Updated support for typed arrays.

  • Added .

  • Fixed an issue with on Chrome.

Widgets

  • The deprecated package is removed.

  • Various bugfixes and minor improvements.

Developer Tool Changes

Dev Mode

  • The flag may be used to turn off Super Dev Mode and revert to old Dev Mode. (However, most current browsers no longer support Dev Mode plugins.)

  • The flag may be used to move DevMode’s output to a subdirectory of the war directory.

Super Dev Mode

  • Compiling is much faster after the first compile. (Compiling is skipped altogether if no files have changed.)

  • The first compile no longer happens at startup.

  • Chrome reloads the page faster while debugging. (Sourcemap file size is reduced.)

  • The flag may be used to avoid running the GWT compiler before starting Super Dev Mode. When enabled, Super Dev Mode writes stub .nocache.js files that automatically recompile the GWT app before loading it. Therefore the bookmarklets aren’t needed. (This feature is automatically enabled when launched via DevMode.)

  • The flag may be used to adjust how compile errors are reported.

  • The bookmarklet dialog shows whether Super Dev Mode is turned on for each module on the page.

  • Messages logged using at level and above are written to the browser console by default.

  • Fixed a startup failure caused by locked directories on Windows.

Testing

  • Better error reporting for compile errors while running tests.

  • Messages logged using at level and above are written to the browser console and test output by default.

  • may be used to open a JavaScript debugger window when running a test using HtmlUnit.

  • Removed and the tool.

  • Removed flags: , , . (GWTTestCase tests are always run in an HTML page in standards mode.)

For even more detail, see the Issue Tracker.

Release Notes for 2.6.1

This release contains bug fixes for GWT 2.6.0.

Highlights

A complete list of changes can be found here.

Release Notes for 2.6.0

This release includes minor updates to silence unnecessary debugging warnings. See the release notes for 2.6.0 (RC1) for the full list of features and bugs fixes included in the GWT 2.6.0 release.

Release Notes for 2.6.0 (RC4)

This release enabled the Super Dev Mode hook by default, updated the sample Maven POMs, included a Firefox memory leak fix for Dev Mode, and a few other minor regressions noted during release candidate testing.

Release Notes for 2.6.0 (RC3)

This release fixed an incompatibility with the Google Plugin for Eclipse, improved uncaught exception handling, and reverted some backwards-incompatible changes made since GWT 2.5.1.

Release Notes for 2.6.0 (RC2)

This release disabled the Opera permutation, added a more maintainable DOM event dispatch mechanism, and fixed a few GWT-RPC and IE11 issues raised during release candidate testing.

Release Notes for 2.6.0 (RC1)

Highlights

  • Java 7 is supported and is now the default. (This can be overridden using )
  • GWT Development Mode will no longer be available for Chrome sometime in 2014, so we improved alternate ways of debugging. There are improvements to Super Dev Mode, asserts, console logging, and error messages.
  • Internet Explorer cleanup: IE6/7 support is disabled by default in this release and will be gone in the next major release. IE10 is now a separate permutation.

Compiler changes

  • A annotation may be used to mark classes, methods, and fields that the GWT compiler should ignore. (Any annotation with this name can be used, regardless of package.)

Flag cleanup

Flags have been cleaned up for consistency, but the old flags are still supported for backward compatibility.

  • Arguments may be specified multiple times on the command line and the last one wins.
  • Boolean flags can consistently be disabled using ‘-no’.
  • Experimental flags consistently start with ‘-X’ or ‘-Xno’ to disable.
  • The deprecated flags were removed
  • Added flags for turning specific optimizations on and off.
  • The and options may be used to write source files used by the GWT app to an output directory. (Combined with the config property, it is possible to set up source-level debugging outside Super Dev Mode.)

Changes to generated JavaScript

  • Catching and rethrowing a JavaScript exception no longer wraps it in a Java exception (so the console will print it correctly, etc.)
  • Failed assertions stop in the browser’s debugger (if open)
  • Various code size improvements.

Code Splitting

  • Fragment merging is more reliable, works with soyc reports
  • GWT.runAsync: passing the same class is allowed, puts the code in the same fragment
  • GWT.runAsync always runs asynchronously; before it would sometimes be synchronous. (This behavior can be reverted by inheriting SynchronousFragmentLoadCallback.gwt.xml)
  • The configuration property sets a minimum size for fragments
  • AsyncProxy is deprecated
  • Various bugfixes

JavaScript Interoperability

  • JavaScriptObject: added createArray(size)
  • JsMixedArray: getString() fixed for nulls
  • JSNI: Allow line breaks (and other whitespace) within JSNI method references
  • JSNI: Don’t discard unary ‘+’ when it’s used to cast to a double issue 6373, 3942

Generator API

  • PropertyOracle: removed deprecated methods
  • JRawType.getImplementedMethods: fixed type parameters for inherited methods

Bugfixes

Libraries

JDK Emulation

  • java.lang.Class: added getSimpleName()
  • ArrayList.removeRange(): fixed
  • StringBuilder: added appendCodePointInt()
  • StringBuffer/Builder: added reverse()
  • Number subclasses:
    • integer parsing accepts initial ‘+’ (for Java 7 compatibility)
    • add compare methods (for Java 7)
    • fixed isFinite/isInfinite issue 8073
  • java.lang.reflect.Type: added
  • java.util.Objects: added (Java 7)
  • java.sql.Timestamp: fixed NullPointerException in equals() issue 6992

Core library fixes

  • GWT.debugger() emits a JavaScript statement
  • GWT.maybeReportUncaughtException() sends an exception to the uncaught exception handler (if any)
  • About: cleaned up
  • ConsoleLogHandler: fixed for IE and Firefox issue 6916, issue 8040
  • Stack traces fixed on iOS.
  • Timer: cancel() fixed for IE6-8 issue 8101

Browser permutation changes

  • The permutation (which also handles IE 7) is now disabled by default. Support for IE6 and IE7 will be removed in the next major GWT release.

  • Added the permutation. There’s no fallback value, so deferred bindings and conditional CSS that explicitly checks may need to be updated. (However, note that workarounds needed for previous versions of IE may no longer be necessary.)

  • UserAgent: new class to access

Browser API changes

  • Element methods that return sizes in pixels automatically convert subpixel values to int (for backward compatibility).

  • All API’s that used to take (which has long been deprecated) now take a instead.

  • DOM methods that take a URL now accept a SafeUri object as well.

  • Node: added removeAllChildren()

  • Element: added toggleClassName()
  • Element.hasTagName() is now case-insensitive
  • Element subclasses: added is() methods, for example DivElement.is(elem)
  • user.client.DOM: deprecate old methods
  • KeyCodes: many more key codes, added isArrowKey()
  • HandlerRegistrations: added compose() method
  • Canvas: added drawImage() overloads, wrap() method
  • Animation: added isRunning()
  • DOM events not known to GWT can handled using Widget.addBitlessDomHandler(). This allows third-party libraries to handle events that GWT itself doesn’t know about (such as MsPointerEvents). issue 8379

HTML generation changes

  • HtmlElementBuilder: supports the tag
  • HtmlBuilderFactory: return types are more specific
  • Builder methods that take a URL now accept SafeUri as well

CSS changes

  • @url now supports ImageResource
  • user.agent values have changed (see Browser permutation changes)

UiBinder changes

  • @UiHandler works with parameterized types issue 6091
  • @UiHandler works with bindery.event.shared.HandlerRegistration issue 7079

Widget changes

  • CellView: focus fix issue 8359
  • DataGrid fixes: style name, scroll bars issue 8309
  • DatePicker: lots of improvements.
  • DialogBox: fix auto-hide memory leak
  • FileUpload: fixed wrap() method issue 5055
  • HtmlTable,FlexTable,Grid: fixed memory leak in IE9/IE10 issue 6938
  • ListBox.setMultipleSelect undeprecated
  • MenuBar: focus fix issue 3884
  • RootPanel: added clear()
  • SimpleCheckBox: implement HasValue
  • SimplePager: added constructor to hide “first page” button
  • SingleSelectionModel: fixed getSelectedSet
  • SplitLayoutPanel: resizing fix issue 4755
  • SuggestBox:
    • changed to avoid firing events twice issue 3533
    • after selecting, move focus to the next field issue 8051
  • Tree/TreeItem: deprecated methods removed
  • ValueListBox: implement Focusable
  • ValuePicker: fixed setValue() to not fire events issue 7330

Accessibility

  • UiObject.setVisible() only adds aria-hidden for hidden objects

Internationalization

  • Document.{get,set}ScrollLeft(): fixed RTL for Safari and IE9
  • Plural rules updated for some Slavic languages
  • Fixed currency formatting when the currency symbol comes last (the symbol was added twice)
  • Number format constants upgraded to CLDR 21

Editor framework

  • CompositeEditor and subclasses take

RequestFactory

  • Added support for Maps issue 5524
  • Added support for enums as type parameters in requests
  • Added support for EntityProxyId as a request parameter
  • Fixed a NullPointerException when server returns null issue 8104

Server-side classes

  • StackTraceDeobfuscator cleaned up and moved to gwt.core.server

Developer Tools

Developer Mode

  • Starts the user’s preferred browser on Linux
  • Fixed primitive class references in JSNI code (e.g. @int::class)
  • Reduced memory leakage

Super Dev Mode

  • Security: with 2.6 we believe it’s safe to turn on the Super Dev Mode hook and leave it on in production. As an extra precaution, we recommend setting the devModeUrlWhitelistRegexp configuration property to ensure that it can only load JavaScript from localhost and your developers’ machines in your own domain.

  • Security: automatically disable Super Dev Mode on https pages (Another precaution, and it doesn’t work anyway due to mixed-content restrictions.)

  • WebAppCreator now creates Ant projects with a “superdevmode” target and Super Dev Mode enabled.

  • Most sample apps have a “superdevmode” target
  • GWT.log() works and prints basic stack traces
  • sourceUrl comment fixed so that in a JavaScript debugger, the JavaScript source shows up as ‘{module}-0.js’ instead of just ‘0.js’.
  • Grey out unused Java in source code listings on the code server.
  • RemoteServiceServlet: the gwt.codeserver.port parameter may be used to download serialization policies from a Super Dev Mode code server’s /policies/ directory. This can be used to avoid some server recompiles when working on GWT-RPC code.

Testing

  • Benchmarking and Profile support removed
  • GWTTestCase reports better error messages in many cases
  • GWTTestCase: always use an UTF-8 HTML page
  • GWTTestCase: removed supportsAsync, addCheckpoint, clearCheckpoint, getCheckpoints
  • GWTTestCase now uses its own uncaught exception handler to avoid conflicts when testing code that calls GWT.setUncaughtExceptionHandler.

Upgraded dependencies

  • HtmlUnit 2.13
  • Jetty 8.1
  • Servlet 3.0
  • Guava 15.0
  • Protobuf 2.5.0
  • ASM 4.1
  • JDT 3.8.3
  • Closure compiler 20131014

For even more detail, see Changelists up to 2.6.0-rc1 and the issue tracker.

Release Notes for 2.5.1

This release includes an update to the sample application’s Maven POM files. See the release notes for 2.5.1 (RC1) for the full list of features and bugs fixes included in the GWT 2.5.1 release.

Release Notes for 2.5.1 (RC1)

GWT 2.5.1 is a maintenance release including many bugfixes and minor improvements since GWT 2.5.

Changes since 2.5.0

Security Fixes

  • Fixed an XSS vulnerability in html files used by GWTTestCase (patch). These files will only be included in a GWT app if it depends on the JUnit module. Despite the fix, this is not recommended.

Compiler and Linkers

  • Minor optimization improvements.
  • Optimization bugfixes: ( 5739, 7818, 7683).
  • Apps built with DirectInstallLinker should work in a page where inline scripts are forbidden (e.g. a Chrome extension)

Developer Mode

  • Fixed compatibility with OpenJDK 7.
  • Removed GWTShell, an obsolete way of starting dev mode.
  • Added a checkbox to automatically scroll the log.

Also, the Chrome plugin is now in the Chrome store.

Super Dev Mode

  • Added a -noprecompile option for faster startup.
  • Added support for IE8 (recompiles only, not debugging).
  • Reduced download size by using gzip.
  • Fixed an incompatibility with the debugger in Chrome 24+.
  • Fixed an incompatibility with third-party JavaScript that modifies the Array prototype.

Core libraries and JDK emulation

  • Changed Window.Location to return the new parameter values after a call to window.history.pushState
  • Added an option to ScriptInjector that removes the tag from the page when done.
  • Added RequestBuilder.withCredentials().
  • Fixed a performance issue in RepeatingCommand (7307)
  • Fixed stack trace deobfuscation on iOS (7902)
  • Added the “webApiUsage” property. The default setting is “modern”. If set to “stable”, GWT libraries will avoid using prefixed web API’s. Currently, the only difference is that animation will use a timer. (7895)
  • Fixed Double.parseDouble() when called with Nan, Infinity, and leading zeros (7713, 7834)
  • Fixed Long.parseLong when called with MIN_VALUE (7308)
  • Fixed a bug in AbstractMap.remove (7856)

HTML, CSS, resource files

Widgets and Editors

  • Added Tree.setScrollIntoViewEnabled (2467)
  • Fixed a bug in SplitLayoutPanel.setWidgetHidden (7715)
  • Improved click handling in CellTable (7508)
  • Editor framework bugfixes: (5589, 6959)

Internationalization

  • Upgrades for ICU4J and CLDR
  • Fixed a bug in DateTimeFormat.parse() (7823)

RPC and server-side Java

  • Fixed incorrect GWT-RPC deserialization when an app is deployed after changing an enum and nothing else. (7836)
  • Fixed a GWT-RPC generator bug that can cause too many policy files to be generated, resulting in excessive server-side memory usage. (7791)
  • Fixed an infinite loop in server-side GWT-RPC when deserializing complicated generic types. (7779)
  • RequestFactory bug fix: (7900)
  • Added a constructor option to StackTraceDeobfuscator for conserving server memory.
  • Fixed an exception when using shared code that uses GWTBridge on the server (7527)

Release Notes for 2.5.0

This release includes some minor bug fixes found in the release candidate. See What’s New in GWT 2.5 plus the release notes for 2.5.0 (RC1) and 2.5.0 (RC2) for the full list of features and bugs fixes included in the GWT 2.5.0 release.

Security vulnerability from 2.4 to 2.5 Final

The GWT team recently learned that the Security vulnerability discovered in the 2.4 Beta and Release Candidate releases was only partially fixed in the 2.4 GA release. A more complete fix was added to the 2.5 GA release. If you have an app that’s been built with GWT 2.4 or one of the 2.5 RCs, then you’ll need to get the latest 2.5 release, recompile your app, and redeploy.

Release Notes for 2.5.0 (RC2)

This is release candidate 2 of GWT 2.5. See the What’s new in GWT 2.5 page as well as release notes below for the full list of features and bugfixes in this release.

Changes since RC1

  • The GWT tools can now run on JDK 7. (However, no JDK 7 language or library features are available in GWT code yet.)
  • The accessibility library introduced in RC1 has been cleaned up for release.
  • Support for validation is improved, documented, and no longer considered experimental.
  • Other fixes; see the issue tracker for more.

Release Notes for 2.5.0 (RC1)

This is release candidate 1 of GWT 2.5. See the What’s new in GWT 2.5 page as well as release notes below for the full list of features and bugfixes in this release.

Major Enhancements

  • Super Dev Mode, a replacement for Development Mode (experimental)
  • The Elemental library (experimental): efficient DOM access and HTML5 API’s (experimental)
  • New compiler optimizations from Closure
  • The fragment merging optimization, for reducing latency in large apps
  • Development mode performance and refresh time speedups
  • A new accessibility library for setting ARIA roles, states and properties on DOM elements
  • UIBinder enhancements for rendering cells and accessing inline styles

Other Fixes and Enhancements

  • Significant speedups in development refresh time as a result of generator result caching for the ClientBundle and RPC generators. Addition of a result caching API that generator writers can use (r10412, r10476).
  • Drastic improvement in RPC performance in development mode by providing a development-mode-only implementation for RPC.
  • Addition of source map support. See this document for more details.
  • Reduction of overhead of Java types in compiler output (r10435).
  • Addition of CellTableBuilder API, and an API for custom headers and footers in CellTables (r10435, r10581).
  • Addition of pre-deserialization type checking to reduce the number of error messages that occur from attempts to invoke an RPC method with type mismatches (r10518).
  • DynaTableRF and Validation samples now use Maven instead of ant.
  • DateCell now accepts a TimeZone as a constructor arg.
  • now supports the nested element for setting property values on a provided type (r10675).
  • Improvements in reporting of JavaScriptExceptions in development mode to include the method name and arguments.
  • Added ability to mock out Messages and CSSResources for better unit testing (r10723, r10768).
  • Added SafeHtml support to parts of the GWT user library.
  • CssResource @defs now support multiple values (r10667).
  • Added option to compile out logging calls below SEVERE and WARN (r10753).
  • CLDR data updated to v2.1.
  • Added simple and global currency patterns (r10742).
  • Update ISO-8601 time format to accept a timezone of a literal “Z” to mean GMT+0 (r10773).
  • Various fixes to stabilize the compiler output on null (no change) recompiles. Added the -Dgwt.normalizeTimestamps system property to zero out the date on output jar files to stabilize builds in build systems which rely on content-addressability (r10810).
  • Added GWT emulation for Float.intBitsToFloat, Float.floatToIntBits, Double.longBitsToDouble, and Double.doubleToLongBits.
  • Added support for typed arrays (r10839).
  • Greatly reduce symbol map size by removing already-pruned symbols from the map.
  • Allow absolute paths in ui:style’s src attribute.
  • Request methods that use Collections as parameters in RequestFactory’s JSON-RPC mode now properly encode Collections.

Breaking Changes and Other Changes of Note

  • If you previously linked against gwt-user.jar from pure Java code and now get ClassNotFoundExceptions, you may need to add gwt-dev.jar to your classpath as well.
  • Deprecated methods AbsractCellTable.doSelection(Event,Object,int,int), AbstractHasData.onUpdateSelection(), and CellList.doSelection(Event, Object, int) have been removed.
  • Major refactoring of IsRenderable API. See r10352 and r10421 for details.
  • The LEFT/RIGHT placement of text in SimplePager has been fixed, which may swap it for people who already worked around the issue. See r10907.
  • Tree[Item].addItem/insertItem(String html) have been deprecated due to potential XSS issues. Use Tree[Item].addTextItem/insertTextItem(String text) instead.
  • @GwtTransient will now work for any annotation that with that simple name (for example, com.foo.GwtTransient). This prevents library writers from having their library depend on the GWT distribution.
  • As part of the GWT compilation, an output file mapping full class names to CSS obfuscated names is generated. This is useful for debugging and testing (r10686).
  • Client-side JUnit classes are now available as a separate module without having to pull in GWTTestCase (r10689).
  • The permutation mapping file is now generated as part of every compile.
  • UIBinder.useLazyWidgets is now set to true by default. See r10730 for more details.
  • The following dependencies have been updated to the following versions:

    • Eclipse JDT 3.4.2_r894
    • Guava 10.0.1
    • HTMLUnit 2.9
    • Apache HTTP Client 4.1.2 (for HTMLUnit)
    • Apache Commons Lang 2.6 (for HTMLUnit)
    • NekoHTML 1.9.15 (for HTMLUnit)
  • json-1.5.jar is now bundled as a part of gwt-dev.jar. streamhtmlparser (rebased) has been removed from gwt-dev.jar and has been bundled as part of gwt-user.jar and gwt-servlet.jar.
  • The compiler metrics aspect of the Compile Report has been disabled by default. The compile report results in instability in the Compile Report. To add compiler metrics to the compilation report, use the -XcompilerMetrics flag.
  • The compiler.emulatedStack property should no longer be used. compiler.stackMode is what should be used instead.

In addition to the items mentioned above, see for a list of bug fixes and enhancements for 2.5.0 in the GWT issue tracker.

Known Issues

  • Clicking in the navigation area (but not on an actual item) of the Showcase sample results in the navigation area going blank.
  • Importing samples/Expenses into Eclipse fails with “Main Type Not Specified” dialog.
  • Mismatch in symbol map format between SpeedTracer and GWT results in SpeedTracer not being able to deobfuscate stack traces for GWT applications.

Release Notes for 2.4.0

This is the General Availability release of GWT 2.4. See the release notes below for the full list of features and bug fixes included in this release.

The 2.4 General Availability release of GWT contains new App Engine tools for Android, incremental RPC tooling, Apps Marketplace support, a faster UI Designer with better UiBinder support, a persistent unit cache for faster iterative development, a scrolling DataGrid with fixed header, Beans.isDesignTime() support, and bundled installers that make it easier to install and configure the GPE, GWT and GAE.

General Enhancements

  • App Engine tools for Android: Build installable Android apps that rely on App Engine for server-side support.
  • Incremental RPC Tooling: Add server-side methods to App Engine code and GPE will generate the necessary serialization and Android code on the fly.
  • Apps Marketplace Support: Deploy apps to the Google Apps Marketplace as easily as to App Engine.
  • UI Designer: Faster startup and editing times, split-mode editing support for UiBinder, simplified CSS property editing, UiBinder morphing, IsWidget support, and more.
  • Persistent Unit Cache: GWT Compiler and Development mode now cache compilation artifacts between runs. This results in faster startup time for iterative development.
  • Scrolling DataGrid (#188): The new DataGrid widget supports vertical scrolling with a fixed header (above) and footer (below).
  • Design Time Support (#226): The Beans.isDesignTime() method was added to the GWT emulation library in order to better isolate runtime-only code when a UI is edited in the UI Designer.

Noteworthy Fixed Issues

  • Polymorphism not supported by RequestFactory (#5367)
  • Support RequestFactory service inheritance on the client (#6234)
  • ListEditor subeditors’ value is not flushed when used with a RequestFactoryEditorDriver (#6081)
  • Memory-leak in pure-Java’s c.g.g.core.client.impl.WeakMapping (#6193)
  • GWT compiler dropping clinits (#5707)
  • Make RequestFactory type tokens more compact (#5394)
  • Editor framework does not support is / has methods (#6040)

See the complete list of bug fixes and enhancements for 2.4.0 in the GWT issue tracker.

See the complete list of breaking changes in the GWT issue tracker.

Security vulnerability in GWT 2.4

Recently, the GWT team discovered a cross-site scripting vulnerability in the 2.4 Beta and Release Candidate releases (not in v2.3 GA or v2.4 GA). This vulnerability was partially fixed in the 2.4 GA release and completely fixed in the 2.5 GA release. If you have an app that’s been built with 2.4 then you’ll need to get the latest 2.5 release, recompile your app, and redeploy.

Notes and Known Issues

  • GPE’s Maven support in Eclipse Indigo requires that the m2Eclipse WTP Integration plugin be installed. It can be installed via the JBoss Update site. See the Google Maven wiki page for the canonical reference for working with Maven in the latest GWT and GPE releases.
  • GWT’s new RequestFactory configuration is not enabled by default for plain GWT, App Engine, or GWT + App Engine projects. It is enabled by default for new Cloud-Connected Android Projects only. See the RequestFactoryInterfaceValidation wiki page for information on how to use the new RequestFactoryInterfaceValidator within Eclipse, Maven, or the command line.

Release Notes for 2.3.0

This is the General Availability release of GWT 2.3. See the release notes below for the full list of features and bug fixes included in this release.

General Enhancements

Noteworthy Fixed Issues

Known Issues

  • At compile time, you may see a warning similar to the following: “Configuration property UiBinder.useSafeHtmlTemplates is false! UiBinder SafeHtml integration is off, leaving your users more vulnerable to cross-site scripting attacks”. This warning occurs because although UiBinder HTML rendering has been updated to support SafeHtml, by default this is turned off (set to false), due to some minor bugs. If you wish, you can change the default by setting the “useSafeHtmlTemplates” property to true in UiBinder.gwt.xml. You can determine whether you are affected by the known bugs by checking the public bugs 6145, 6149, and 6198.

See the complete list of bug fixes and enhancements for 2.3.0 in the GWT issue tracker.


Release Notes for 2.3.0 (M1)

This is milestone 1 of GWT 2.3.

General Enhancements

  • Added the following functionality to the Google Plugin for Eclipse:

    • Google API integration
    • Project import from Google Project Hosting
    • Single sign on, for accessing Project Hosting and App Engine
  • Added GWT SDK support for HTML5 local storage

Noteworthy Fixed Issues

  • Updated GPE’s UIBinder editor to provide support for attribute auto-completion based on getter/setters in the owner type
  • Optimizations to speed up GPE launch configuration UI
  • “Check for Updates”, within GPE, will now detect updates to GWT and GAE SDKs
  • Launching against an external URL that contains a port number now works properly in Eclipse 3.6
  • Updated IE9 support (#5125)
  • Fixed iFrame loading issues within Internet Explorer (#1720)

See the complete list of bug fixes and enhancements for 2.3.0 M1 in the GWT issue tracker.


Release Notes for 2.2.0

The 2.2 release of GWT contains an integrated UI designer (part of the Google Plugin for Eclipse), support for HTML5 functionality, such as the Canvas/Audio/Video tags, an updated CellTable widget that now supports sortable columns and fixed column widths, and a more lenient SafeHtml template parser.

Also see What’s New in GWT 2.2?

General Enhancements

  • Touchstart, touchmove, touchend, touchcancel have been integrated into the GWT event framework (#5148)
  • Built-in bidi text support for widgets such as Label, HTML, Anchor, Hyperlink and ListBox. More information on this feature can be found here.

General Changes

  • GWT Designer v8.1.1 and earlier versions do not support GWT 2.2. To use GWT Designer with GWT 2.2, you need to uninstall the older version of GWT Designer and install the latest one.
  • Version 2.2 has deprecated support for Java 1.5, resulting in warnings when building applications. While Java 1.5 will still work for at least the next release of GWT, developers should upgrade their version of Java to correct these warnings and ensure compatibility with future versions of GWT.

Noteworthy Fixed Issues

  • RC releases are now being deployed as non-SNAPSHOTs in the maven repository (#5429)
  • Date/Time patterns are correct in the “sv” local (#5890)

See the complete list of bug fixes and enhancements for 2.2.0 M1, RC1 and final release in the GWT issue tracker.


Release Notes for 2.1.1

General Enhancements

  • Add a service layer to RequestFactory (#5111)

Noteworthy Fixed Issues

  • GPE flags as an error (#5453)
  • Unable to disable a MenuItem (#1649)
  • No way to set vertical/horizontal alignment of Cells in CellTable (#5623)

See the GWT issue tracker for the complete list of bug fixes and enhancements in this release.


Release Notes for 2.1.0

This release includes some minor bug fixes found in the release candidate. See What’s New in GWT 2.1 plus the release notes for 2.1.0 (RC1) for the full list of features and bugs fixes included in the GWT 2.1.0 release.


Release Notes for 2.1.0 (RC1)

This is release candidate 1 of GWT 2.1.

Fixed Issues

  • Creation broken if the entity id is of type String (#1430)
  • addon-gwt is putting a boolean isChanged method in each proxy, and those don’t work (#1457)
  • ValueListBox showing redundant entries (#1287)
  • Implement new update / create / acquire / delete events (#1238)
  • Ensure that DefaultValueStore is always responsive (#1217)
  • Allow both String and Long keys (#951)
  • Does the mobile.user.agent property provider actually work? (#1468)
  • Banging on the UI can produce NPEs in DevMode window (#1282)
  • NPE on resume in AbstractRecordListActivity(#1230)
  • RequestFactoryServlet always throws when debugging with Chrome (#1229)
  • Implement java.math.BigDecimal support for GWT
  • Update the Expenses sample to pull dependencies in via a Maven repo (#991)
  • Add the custom Expense Report as a sample (#965)
  • Find replacement for velocity (#956)
  • Hard coded refusal to send fields named “password” in servlet (#1262)
  • No uncaught exception handler in scaffold app (#1250)
  • Remove web.xml welcome file handling from GWT addon (#1512)
  • Use a publicly accessible DTD for ApplicationCommon.gwt.xml (#1271)

Known Issues

  • RequestFactory does not fail gracefully for primitive types (5357)
  • Allow CellTable headers/footers to be refreshed (5360)
  • Need to document what situations source change events (5361)
  • Enable tests for RequestFactoryPolymorphicTest (5364)
  • Bring history management to Expenses sample (5366)
  • Polymorphism not supported by Request Factory (5367)
  • Server cannot return unpersisted objects (5374)
  • Javadoc polymorphism rules (5374)
  • Stopping an ActivityManager from a PlaceChangeEvent might cause an NPE (5375)
  • Why is gwt-servlet.jar a compile-time dependency in the pom.xml generated by the expenses.roo script? (5376)
  • Why does gwt-user.jar have scope “provided” in the pom.xml generated by the expenses.roo script? (5377)
  • Server side domain classes cannot be resolved (5378)
  • Confirm logging compiles out of generated scaffold apps (5379)
  • Many classes added in 2.1 still have the experimental API warnings in their javadoc that need to be removed (5380)
  • Showcase Cell List show {2} in entries with JDK 1.5 (5385)
  • Many stale javadoc warnings of experimental API (5380)
  • Instance methods are not looked up properly in the OperationRegistry (5425)

Release Notes for 2.1.0 (M3)

This is milestone 3 release of 2.1.

Fixed Issues

  • Add History support to the generated GWT scaffold app (#883)
  • Logging Implementation for M3 (#888)
  • Implement remaining primitive property types, including List and Long (#933)
  • Add enum support (#935)
  • Introduce setter methods for Record objects (#938)
  • Spec the minimum work needed for user auth, sign in (#955)
  • gwt project won’t import properly in eclipse with m2eclipse, has errors (#1122)
  • RequestFactoryServlet assumes content-length is known, which it may not be (#1150)
  • Selecting “Delete” from an entity in the Scaffold app takes you to a list view that contains no data. (#1164)
  • Allow client code to call instance methods (#1185)
  • Creates are clobbering existing records (#1194)
  • Update generated pom.xml to reference 2.1-SNAPSHOT jars (#1200)
  • Cleanup the implementation hack in DeltaValueStoreJsonImpl… (#1209)
  • Hard coded exit points for AbstractRecordEditActivity (#1225)
  • Hard coded exit points for AbstractRecordListActivity (#1226)
  • Can’t create child resources from AbstractRecordEditActivity anymore (#1227)
  • Update addon-gwt to reference GWT’s M3 repo (#1236)
  • GWT addon has links to MVC scaffolded view artifacts (#1249)
  • RootPanel.get(id) fails to set ‘position:relative’ and ‘overflow:hidden’ (#1813)
  • UncaughtExceptionHandler not triggered for exceptions occurring in onModuleLoad() (#1617)

Release Notes for 2.1.0 (M2)

This is milestone 2 release of 2.1.


Release Notes for 2.1.0 (M1)

This is a preview release of 2.1, that contains a new set of Cell Widgets and an app framework that make it easier to build large scale business applications.

Known Issues

  • For App Engine-based apps, you will need to run Maven once from the command line before importing the app into STS. This could be as simple as running “mvn validate” or “mvn compile”, the point is to prep your local repo with an unzipped GAE SDK.
  • Compiling a new app and/or running it in dev mode, will generate error messages complaining about missing dependencies. These errors can be ignored as they are related to classes that are most likely not used by your app, and will be omitted during compilation, or while running in dev mode.

Fixed Issues

  • Image.onload event does not fire on Internet Explorer when image is in cache (#863)
  • Image should provide method to set alternative text (#1333)
  • setWordWrap() for CheckBox (#1483)
  • RichTextArea - setEnabled does not work (#1488)
  • ImageSrc6 throws native NPE exception (#1700)
  • Array returned inside Serializable field causes ClassCastException in web mode (#1822)
  • BigDecimal Support (#1857)
  • When a MenuBar loses focus, the MenuItem remains selected (#2458)
  • KeyPressEvent contains improper UTF codes (#3753)
  • Make RemoteServiceRelativePath annotation RetentionPolicy.RUNTIME (#3803)
  • TextBox fires JSException in IE ((#4027)
  • Format number wrong result ((#4173)
  • file:line citations in ui.xml files (#4194)
  • Remove method in SplitLayoutPanel is broken (#4217)
  • Refactor SessionHandler and BrowserChannelClient to allow other OOPHM clients than HtmlUnit (#4287)
  • FinallyCommand scheduled from within another FinallyCommand sometimes gets stuck (#4293)
  • Wrong result after formatting of a big number in the NumberFormat (#4473)
  • Dictionary.keySet() contains "__gwt_ObjectId" in DevMode (#4486)
  • JsStackEmulator may break up JsInvocation (#4512)
  • DOMImpl.g/setInnerText() use unnecessarily expensive node manipulation (#4586)
  • NumberFormat error formatting more than 6 decimal places (#4598)
  • DateBox can generate an untrapped exception if a non-default format is used (#4633)
  • PopupPanel.removeFromParent() dosen’t remove glass panel (#4720)
  • ClassNotFoundException from web.xml for configured listeners during devmode servlet validation (#4760)
  • Converting ImageBundle to ResourceBundle causes a regression if bundle is used on the server side as well (#4797)
  • Add java.util.logging emulation ([#4954](# https://code.google.com/p/google-web-toolkit/issues/detail?id=4954))

Release Notes for 2.0.4

This 2.0.4 release contains fixes that were not included in the 2.0.3 release.

Noteworthy Fixed Issues

  • Whole UI disappear in IE 7 when we Hover over the menubar menu item (#4532)
  • List.subList not fully compatible with java.util.List interface (#4993)
  • Safari 5 fails to execute non-integral right-shifts correctly (#5056)

Release Notes for 2.0.3

This 2.0.3 release contains fixes that were not included in the 2.0.2 release.

Noteworthy Fixed Issues

  • Using a PopupPanel in Internet Explorer without a history IFrame throws a NullPointerException (#4584)
  • Opera support for History is not working (#3956)

Release Notes for 2.0.2

This 2.0.2 release contains a fix that was not included in the 2.0.1 release.

Noteworthy Fixed Issues

  • Standard.css missing new layout styles (#4429)

Release Notes for 2.0.1

This 2.0.1 release contains fixes for bugs found in the 2.0.0 release.

Potentially breaking changes and fixes

  • Fixed a bug in how code generators collect method arguments from generated source, which impacted the Messages interfaces generated for UiBinder template files. In GWT 2.0, such argument names were incorrectly changed to ARGn. Most GWT applications will be unaffected, but external systems relying on these names will need to be updated.
  • The development mode server will, by default, only bind to localhost which will break cross-machine debugging. You can get the old behavior by specifying . Please see issue (#4322) for more details. For webAppCreator-generated ant files, you can pass this with .
  • The CurrencyList/CurrencyData APIs are now public - if you were relying upon these classes in their non-public location, you should only need to update your imports.

Noteworthy Fixed Issues

  • UiBinder Image class with resource attribute, removes styles on that image (#4415)
  • Widgets lose focus if its placed on FocusPanel (Opera, Safari) (#1471)
  • Remove method in SplitLayoutPanel is broken (#4217)
  • Splitter constructor hard codes the background color of the splitter to white (#4335)
  • Image should provide method to set alternative text (#4335)
  • CssResource cannot parse unescaped ‘-’, ’_’ in class selectors and unknown at-rules (#3946)
  • Focusable implementation breaks ScrollPanels in Safari (#1313)
  • RequestBuilder restricted to GET and POST (#3388)
  • HTMLTable.Cell.getElement() calls getCellFormatter().getElement() with row and column swapped RequestBuilder restricted to GET and POST (#3757)
  • MenuBar steals focus when hovered (#3884)
  • TabLayoutPanel tabs don’t line up properly on IE (#4447)
  • webAppCreator produces ant build files which support the gwt.args property for passing additional flags to the gwtc and devmode rules, such as .

See the GWT issue tracker for the complete list of bug fixes and enhancements in this release.


Release Notes for 2.0.0

This release includes some minor bug fixes found in the release candidate. See What’s New in GWT 2.0 plus the release notes for 2.0.0 (RC1) and 2.0.0-rc2 for the full list of features and bugs fixes included in the GWT 2.0.0 release.


Release Notes for 2.0.0 (RC2)

New Features

  • Window.Navigator now provides access to the native browser’s navigator object.

Breaking changes and known issues/bugs/problems

  • Windows users who have previously installed the GWT Developer Plugin for IE will have to uninstall the old version. Use the following steps:

    1. From the Windows “Start” Menu, open “Control Panel”
    2. Select “Add/Remove Programs”
    3. Select “GWT Developer Plugin for IE” then click “Uninstall”
    4. Run Internet Explorer and browse to http://gwtproject.org/missing-plugin/ to install the new version of the plugin
  • Running a as compiled script was previously done using . The argument is now deprecated in favor of , consistent with the terminology change from web mode to production mode.
  • The command line argument for and has changed to to be consistent with the new term code server.
  • The command line utility has been removed. Instead, the utility takes new argument: , which incorporates the functionality previously in junitCreator and generates targets.
  • When running development mode on on Chrome, any JavaScript objects that pass into Java code will be assigned a new property . This could break native code that looks iterates through the properties of such an object. To work around this issue, see this example of our changes to (scroll to the bottom).
  • Compile reports (formerly SOYC reports) are now generated with the command line flag to . The generated reports are now written to the private extra directory. If no argument is specified, this directory defaults to . This eliminates an unlikely security risk of accidentally deploying compile reports to a publicly accessible location.

Fixed Issues

  • In UiBinder blocks, css class names may contain dashes.
  • Non-Java method safe characters in inline <ui:style> class names doesn’t work (#4052)
  • @external does not work reliably for inline styles in <ui:style> (#4053)
  • Various false alarm warnings about invalid JSNI references have been fixed.
  • Various Swing UI improvements.
  • RPC calls leaking memory for IE (#4133)
  • deRPC raise an Error 500 instead of propagating the correct RuntimeException in ProdMode (#4237)

Release Notes for 2.0.0 (RC1)

This release contains big changes to improve developer productivity, make cross-browser development easier, and produce faster web applications.

Things that are changing with GWT 2.0 that might otherwise be

confusing without explanation

  • Terminology changes: We’re going to start using the term “development mode” rather than the old term “hosted mode.” The term “hosted mode” was sometimes confusing to people, so we’ll be using the more descriptive term “development mode” from now on. For similar reasons, we’ll be using the term “production mode” rather than “web mode” when referring to compiled script.
  • Changes to the distribution: Note that there’s only one download, and it’s no longer platform-specific. You download the same zip file for every development platform. This is made possible by the new plugin approach used to implement development mode (see below). The distribution file does not include the browser plugins themselves; those are downloaded separately the first time you use development mode in a browser that doesn’t have the plugin installed.

Major New Features

  • In-Browser Development Mode: Prior to 2.0, GWT hosted mode provided a special-purpose “hosted browser” to debug your GWT code. In 2.0, the web page being debugged is viewed within a regular-old browser. Development mode is supported through the use of a native-code plugin called the GWT Developer Plugin for many popular browsers. In other words, you can use development mode directly from Safari, Firefox, Internet Explorer, and Chrome.
  • Code Splitting: Developer-guided code splitting with GWT.runAsync() allows you to chunk your GWT code into multiple fragments for faster startup. Imagine having to download a whole movie before being able to watch it. Well, that’s what you have to do with most Ajax apps these days – download the whole thing before using it. With code splitting, you can arrange to load just the minimum script needed to get the application running and the user interacting, while the rest of the app is downloaded as needed.
  • Declarative User Interface: GWT’s UiBinder now allows you to create user interfaces mostly declaratively. Previously, widgets had to be created and assembled programmatically, requiring lots of code. Now, you can use XML to declare your UI, making the code more readable, easier to maintain, and faster to develop. The Mail sample has been updated to show a practical example of using UiBinder.
  • Bundling of resources via ClientBundle. GWT introduced ImageBundle in 1.4 to provide automatic spriting of images. ClientBundle generalizes this technique, bringing the power of combining and optimizing resources into one download to things like text files, CSS, and XML. This means fewer network round trips, which in turn can decrease application latency – especially on mobile applications.
  • Using HtmlUnit for running test cases based on GWTTestCase: Prior to 2.0, relied on SWT and native code versions of actual browsers to run unit tests. As a result, running unit tests required starting an actual browser. As of 2.0, no longer uses SWT or native code. Instead, it uses HtmlUnit as the built-in browser. Because HtmlUnit is written entirely in the Java language, there is no longer any native code involved in typical test-driven development. Debugging GWT Tests in development mode can be done entirely in a Java debugger.

Breaking changes and known issues/bugs/problems

  • Prior to 2.0, GWT tools such as the compiler were provide in a platform-specific jar (that is, with names like ). As of 2.0, GWT tools are no longer platform specific and they reside in generically-named . You are quite likely to have to update build scripts to remove the platform-specific suffix, but that’s the extent of it.
  • The development mode entry point has changed a few times since GWT 1.0. It was originally called , and in GWT 1.6 a replacement entry point called was introduced. As of GWT 2.0, to reflect the new “development mode” terminology, the new entry point for development mode is . Sorry to keep changing that on ya, but the good news is that the prior entry point still works. But, to really stay current, we recommend you switch to the new entry point.
  • Also due to the “development mode” terminology change, the name of the ant build target produced by has changed from to . In other words, to start development mode from the command-line, type .
  • HtmlUnit does not attempt to emulate authentic browser layout. Consequently, tests that are sensitive to browser layout are very likely to fail. However, since supports other methods of running tests, such as Selenium, that do support accurate layout testing, it can still make sense to keep layout-sensitive tests in the same test case as non-layout-sensitive tests. If you want such tests to be ignored by HtmlUnit, simply annotate the test methods with .
  • Versions of Google Plugin for Eclipse prior to 1.2 will only allow you to add GWT release directories that include a file with a name like . You can fool it by sym linking or copying gwt-dev.jar to the appropriate name.
  • The way arguments are passed to the GWT testing infrastructure has been revamped. There is now a consistent syntax to support arbitrary “run styles”, including user-written, with no changes to GWT itself. For example, has become . This change likely does not affect typical test invocation scripts, but if you do use to pass arguments to , be aware that you may need to make some changes.

Release Notes for 1.7.1

This release adds support for Mac OS X version 10.6 (Snow Leopard) by allowing hosted mode to run with a 1.6 JRE in 32-bit mode (using the -d32 flag).

Fixed Issues

  • Allow hosted mode using a 1.6 JRE with the -d32 flag (#3843, #3998)

Release Notes for 1.7.0

This release adds explicit support for Internet Explorer 8, Firefox 3.5, and Safari 4 as well as a few high-priority bug fixes. In all other respects, it is very similar to GWT 1.6. Note, however, that this release is version 1.7.0 rather than version 1.6.5 to signify a potentially breaking change for libraries that use deferred binding to specialize code based on user agent (see the next section for technical details).

Also see What’s New in 1.7?

Potentially breaking changes and fixes

  • This release includes explicit support for IE8, which has some significant behavioral changes from prior versions of IE. These changes are great enough that the new value has been added for the deferred binding client property. If you have deferred binding rules (i.e. or ) or property providers that are sensitive to , you may need to update them to account for the value. For more information, see the technical notes.

Fixed Issues

  • Updated GWT libraries to support IE8 (#3558, #3329)
  • Native exception in Node.is() (#3644)
  • Incorrect firing of two click events from CheckBox and a related issue (#3508, #3679)
  • Compiler java.lang.StackOverflowError if you don’t use -Xss to set a stack size (#3510)
  • Mouse wheel in FF3 (#2902)
  • GWT outputs expressions too long for WebKit (#3455)
  • java.sql.Date.valueOf error (#3731)
  • Added a workaround for Firefox 3.5 regression (bugzilla #497780)

Release Notes for 1.6.4

Fixed Issues

  • The classpath in the scripts created by junitCreator was updated to refer to rather than .

Release Notes for 1.6.3 (RC2)

Fixed Issues

  • Various servlet classpath issues introduced in 1.6.2 are resolved.
  • JSP compilation should work out of the box in hosted mode.

Release Notes for 1.6.2 (RC)

Please see What’s new in GWT 1.6? (online)


Release Notes for 1.5.3

Fixed Issues

  • RPC requests no longer fail on the embedded Android web browser
  • Leaf now line up with their non-leaf siblings
  • Removing the last child node from a no longer creates extra margins on the left
  • no longer uses POST instead of GET on some IE installs because of incorrect XHR selection
  • Compiler now uses a more reliable check to prevent methods with local variables from being inlined
  • can no longer return non-integral values
  • no longer fails to parse or incorrectly accepts .

See the GWT issue tracker for the complete list of bug fixes and enhancements in this release.


Release Notes for 1.5.2

Potentially breaking changes and fixes

  • has been added back (it was missing from 1.5 RC2) but is now deprecated. Application startup should be handled by calling the new .
  • Fields marked in serializable types will now generate a warning; the fact that they were not being serialized was a source of confusion. Mark such fields both and to avoid the warning.
  • Instance methods on overlay types cannot be accessed from JSNI. (This used to work in hosted mode, but failed at runtime in web mode.)
  • The hosted mode server no longer serves from a module’s public path; instead the file is read directly from the classpath. This file is tightly coupled with the hosted mode implementation and was not meant to be user overridable.

General Enhancements

  • and are now implemented.
  • The new class enables widget authors to add ARIA support to their widgets. Many GWT widgets come with ARIA support by default.
  • Improved exception stack traces in hosted mode when JSNI stack frames are present.

Fixed Issues

  • Fixed the relationship between the coordinates returned by and . can be used to account for the difference between these two coordinate systems.
  • Ctrl-Z should correctly perform an undo operation in RichTextArea on IE.

See the GWT issue tracker for the complete list of bug fixes and enhancements in this release.


Release Notes for 1.5.1 (RC2)

Support for Standards Mode

GWT 1.5 adds significantly more support for standards mode applications, but some widgets (especially those with table based layouts) may not behave as expected. The low level standards mode bugs (such as with ) have been addressed, but some of the constructs that our widgets rely on do not work in standards mode. For example, you cannot set the height and width of a widget relative to its parent if its parent is a table cell, and takes up much more vertical space than it should in Internet Explorer. All of our samples have been reverted back to quirks mode, and the defaults to quirks mode when creating a new GWT app.

You can still use standards mode for your GWT app, but please be aware that you may notice some layout issues. If you are switching an app from quirks mode to standards mode, your CSS styles might be applied differently, which could also affect your application. We will continue to address standards mode support in future GWT releases.

Potentially breaking changes and fixes

  • now takes into account the margin and border of the body element
  • In hosted mode, all methods now assert that the requested attribute is reliable across all supported browsers. This means that attempting to retrieve an attribute for an event that does not support that attribute will now throw an assertion error instead of returning a coerced value. Most notably, the click event throws an assertion error if you attempt to get the mouse button that was clicked.
  • The return value of methods are now coerced to 0 instead of -1 in web mode. In hosted mode, an assertion error will be thrown if the attribute is not defined for the given event, as described in the previous bullet.
  • Opera specific code has been upgraded to work with Opera 9.5, but may not work with older versions of Opera as we only support the most recent release. Specifically, some widgets may not be able to receive focus.
  • Calls to now trigger an event synchronously instead of asynchronously

General Enhancements

  • Added support for the event, which allows users to detect and override the browser’s default context menu
  • Improved performance of
  • Added support for altering the number of decimals in a currency in
  • Improved performance of Animations
  • Improved the appearance of the default GWT style themes
  • Improved the Showcase sample with more robust examples and more language translations
  • can now wrap an existing form and still submit it to a hidden iframe

Fixed Issues

  • and no longer log an exception to the console in Firefox 3
  • Fixed a memory leak in Internet Explorer
  • now takes into account the margin and border of the target element in Safari 3
  • Fixed some bugs associated with history support

See the GWT issue tracker for the complete list of bug fixes and enhancements in this release.


Release Notes for 1.5.0 (RC)

This release candidate is, in a word, huge. Rather than including all the details here, please see What’s New in GWT 1.5? for full details. The main thing you’ll want to know is that GWT 1.5 supports the Java 5 language features (generics, enumerated types, annotations, etc.). But check out the full notes, because there’s a lot of great stuff!


Release Notes for 1.4.60

This release has only a couple of minor changes from 1.4.59.

  • Fixed a bug in the benchmarking that prevented source code from showing up in reports.
  • Fixed a bug in the hosted mode servlet context emulation where getResource() would fail to find a file in a module’s public path.
  • Compiler output files of the form used to contain html intended as a helpful note to a developer. This message has now been removed because screen readers and some browsers would display this content to end users.

Release Notes for 1.4.59 (RC2)

This release includes numerous bugfixes and a few important changes. If you are upgrading from GWT 1.3.3, you are strongly encouraged to read the release notes for 1.4.10 first.

New Features

General Changes

  • Startup is now faster and more reliable. In particular, onModuleLoad() is now called as soon as the DOM is ready, which will generally be before the page’s body.onload() event is fired. This allows your application to startup before certain resources (such as images) are fully loaded.
  • Linux hosted mode should be less crashy. (#1105, #1281, #1358)
  • An important discussion of HTTP headers, caching, and HTTPS has been added to the ImageBundle documentation. (#1172)
  • PopupPanel.center() now causes the popup to be shown as well as centered. (#1120)
  • RichTextArea underwent number of bugfixes and should be stable now. (#1130, #1214, #1276)
  • New RPC warnings

    • Warn if a non-checked exception is used in the throws clause of a RemoteService method.
    • Warn if no concrete, serializable subclasses can be found for a given type declared in a RemoteService interface.
  • RPC now generates a serialization policy file during compilation. The serialization policy file contains a whitelist of allowed types which may be serialized. Its name is a strong hash name followed by . This file must be deployed to your web server as a public resource, accessible from a RemoteServiceServlet via . If it is not deployed properly, RPC will run in 1.3.3 compatibility mode and refuse to serialize types implementing Serializable. (#1297)
  • Panel.adopt(Widget, Element) and Panel.disown(Widget) have been deprecated. If you have subclassed Panel, please carefully review the new documentation for Panel.add(Widget) and Panel.remove(Widget) for details on the correct way to add and remove Widgets from Panels. (#1121)
  • The benchmark viewer application is now faster, prettier, and a bit more user friendly.

Retractions from 1.4.10

  • Breaking changes to the semantics of UIObject.setStyleName() have been backed out. All changes relative to 1.3.3 should now be backwards-compatible. (#1079)
  • The linux distribution of 1.4.10 bundled Mozilla 1.7.13 instead of version 1.7.12, which is bundled in previous releases. This change caused problems on some systems, so it’s been reverted back to Mozilla 1.7.12 again. (#1105)
  • Numerous RPC warnings were added in 1.4.10. One of these warnings would be issued when a class containing native methods was found to be serializable. This warning now only applies to automatically serialized types; types with custom serializers will no longer trigger this warning. (#1161)
  • A change to RPC in 1.4.10 would cause an error to be issued if a serializable type had any subtypes that were not serializable. This change caused code that worked in 1.3.3 to fail in 1.4.10. In this release, the error has been downgraded to a warning. (#1163)
  • A potentially breaking change to event bubbling in 1.4.10 has been backed out in favor of the 1.3.3 behavior. (#1159)

Fixed Issues

See the GWT issue tracker for the complete list of bug fixes in this release.


Release Notes for 1.4.10 (RC)

This is the Release Candidate for GWT 1.4, the first GWT release developed with major participation from GWT open source contributors. It’s been a long time coming, but we hope it’s been worth the wait. In addition to tons of new features, optimizations, and performance enhancements, we’ve fixed more than 150 bugs. There are some important behavioral and potentially breaking API changes; if you read nothing else, please read these following sections!

Behavioral Changes

Important changes in the behavior of existing GWT features.

Critical Changes to RPC

In previous versions, the RPC subsystem was too lenient and failed to warn at compile time about potential (though unusual) edge cases that could in theory cause problems at runtime. Beginning with version 1.4, the RPC subsystem emits additional warnings and errors to help you identify error-prone constructs. While this new behavior may seem annoying at first, rest assured that fixing your code to avoid RPC warnings will result in a smaller, faster, and more reliable app.

  • Bad code that happened to work before might not now

    Previously, if you declared one particular component type via @gwt.typeArgs at compile time, you could often get away with passing a different type at runtime. For example, placing a Date in an ArrayList of String might work. This type of code is less likely to work now and will likely become more strict in the future. Bottom line: don’t do this. Make sure collections only contain the declared item type (or subtypes thereof).

  • Serializable equivalent to IsSerializable

    Although GWT’s RPC mechanism doesn’t purport to honor the semantics of Java serialization, by popular demand, Serializable and IsSerializable are now equivalent for the purposes of RPC. This should improve server-side interoperability and remove much of the need for DTOs.

  • Warn about missing gwt.typeArgs Every Collection or Map type should have an associated gwt.typeArgs javadoc annotation. In the past, a missing @gwt.typeArgs would generally have no noticeable effect, because a bug in the RPC system would generate code for all available serializable types, even if they weren’t used in your service interface. Now that this bug has been fixed, you can achieve significant reduction in the size of your compiled output by fixing these warnings.
  • Warn about serializable subclasses that violate the serialization restrictions An RPC warning is emitted for classes that are assignable to IsSerializable or Serializable but that lack a default constructor or contain fields which cannot be serialized. It is important to resolve these warnings to avoid rare but confusing situations in which exceptions would be thrown at runtime.
  • Warn about non-transient, final instance fields

    RPC has never actually serialized instance fields, but now it explicitly warns about the existence of such fields unless they are also . Thus, the warning can be addressed by making instance fields as well, or it can be suppressed via a module property.

  • Warn about local and non-static nested types that implement IsSerializable or Serializable RPC has never serialized these kinds of classes and will now generate a warning.
  • Warn about native methods in serializable classes

    Attempting to serialize classes that contain methods will cause UnsatisfiedLinkErrors if such methods are called in server-side code.

Module Script Tags

  • In previous versions of GWT, including external JavaScript files via a module tag required a nested JavaScript expression — called a script-ready function — that would determine when the script had been successfully loaded. Script load order is now handled automatically and these expressions are ignored. A warning will be issued in hosted mode. For reference, see here.

Additional Hosted Mode Checks Related to JSNI

  • Previously, when passing values from JavaScript into Java, hosted mode would silently coerce a JavaScript value of an incorrect type into the declared Java type. Unfortunately, this would allow code to work in hosted mode that could fail in unexpected ways in web mode. Hosted mode will now throw a HostedModeException if you try to pass an incompatible type. See here for more details.

Breaking API Changes

This release also includes API changes that may require minor tweaks to existing code. Any such changes that affect you should only take a few minutes to rectify.

#### JavaScriptObject

  • Although subclassing JavaScriptObject is not supported, some people do so anyway at their own risk :) Please note that the existing (int) constructor has been removed in favor of a protected no-arg constructor. Read the source code for Element for an example of how JavaScriptObject must be subclassed now (that is, if subclassing were supported…which, of course, it isn’t).

#### DeferredCommand

  • The add() method is deprecated in favor of addCommand() in order to support the new IncrementalCommand interface. Had we simply added a new method overload, existing code that passed in a null literal would have failed to compile.
  • The new addPause() method should be used instead of add(null).

#### UIObject

  • The intended use and behavior of style names has been formalized in UIObject (and therefore in all widgets). All style names are now classified as “primary”, “secondary”, and “dependent” styles, the meanings of which are detailed in the UIObject documentation. The relevant method signatures remain unchanged (get/setStyleName(), add/removeStyleName()), and most widgets should be unaffected. One potentially breaking change, however, is that an exception is thrown if an attempt is made to remove the primary style name of a widget using removeStyleName(). See the UIObject documentation for a full explanation.

New Features

Here are a few of the coolest new features and enhancements in GWT 1.4.

  • Size and Speed Optimizations

    • New sizeimprovements in the GWT compiler produce JavaScript that is 10-20% smaller; just recompile your app with 1.4.
    • An enhanced startup sequence reduces the size of your module’s startup script by 80%. More importantly, the new startup sequence removes an HTTP round-trip, making startup latency about 33% faster.
    • The above optimizations combined with ImageBundle, make it possible for GWT-based applications to load surprisingly quickly. To see for yourself, check out startup time of the Mail sample.
  • Deployment Enhancements

    • GWT RPC is no longer tied to exclusively to servlets. New modularized RPC server code makes it easy to connect GWT RPC to your choice of Java back-ends.
    • Adding GWT modules to an HTML page has been simplified. Instead of adding a and , you just add a single script element for your module.
    • Cross-site script inclusion is now supported. The compiler produces a “-xs” (meaning “cross-site”) version of your module’s startup script that can be included without being restricted by the same-origin policy. WARNING: including scripts from other sites that you don’t fully trust is a big security risk.
  • Widget and Library Enhancements

    • RichTextArea allows “drop in” functionality for rich text editing.
    • SuggestBox makes it easy to add auto-complete functionality.
    • Splitters! HorizontalSplitPanel and VerticalSplitPanel enable you to resize portions of the user interface.
    • PushButton and ToggleButton are easy-to-customize button widgets that can enhance the look-and-feel of your UI.
    • DisclosurePanel is a simple, nice-looking panel that lets users easily hide and show portions of your application UI.
    • DateTimeFormat and NumberFormat make it easy to format and parse dates, times, and numbers for users all over the world.
    • IncrementalCommand helps you implement long-running tasks in your client code without triggering “slow script” warnings.
    • A new benchmarking subsystem integrates with JUnit to let you record and compare the speed of code snippets across multiple browsers and multiple parameter ranges. Benchmarking is a powerful way to identify bottlenecks and compare performance of alternative implementations.
    • The oft-requested java.io.Serializable is now included in the JRE emulation library and is synonymous with IsSerializable for the purpose of GWT RPC.
    • Mouse wheel events are now available on a variety of widgets.
  • ImageBundle

    • ImageBundle is the single biggest have-to-see-it-to-believe-it feature in this release. Image bundles make it trivially easy to combine dozens of images into a single “image strip”, collapsing what would have been dozens of HTTP requests into one: a single, permanently-cacheable image file.
    • Image bundles manage everything for you automatically, from computing clipping rectangles to making transparent PNGs work in IE6. You can even choose to get the clipped image as an Image widget or as pure HTML for inclusion in a larger HTML template.
    • In addition to enabling a blazing-fast startup, image bundles help make the UI look better during startup, too. Typical AJAX apps exhibit “bouncy relayout” as individual images are loaded one-at-a-time. Fixing this problem has historically required laboriously pre-initializing the width and height of each individual image ahead of time. Image bundles do the same thing automatically. The dimensions of each clipped image are computed at compile time while the bundled image file is being created. Voila! The result is a fast, non-ugly user startup experience that requires no extra work on the part of the GWT developer to keep up-to-date.
    • See the doc section for more details.

See the GWT issue tracker for the complete list of enhancements in this release.

Fixed Issues

See the GWT issue tracker for the complete list of bug fixes in this release.


Release Notes for 1.3.3

This version has only minor functional changes from 1.3.1, listed below.

Fixed Issues


Release Notes for 1.3.1 (RC)

This is the Release Candidate for GWT 1.3, the first completely open source version of GWT. This version has no new functionality, but we did make a lot of changes to get the source code and build scripts into presentable shape to prepare for ongoing open source development. Although the changes were relatively harmless – formatting, sorting, more documentation, and a new build system – there’s always a small chance of problems, so we plan to call this a Release Candidate until we’ve convinced ourselves it’s reliable.

Useful Links

  • Making GWT Better This is our new GWT open source charter that describes how we plan to operate the project and how you can access the GWT source, compile it yourself, and contribute.
  • The GWT Issue Tracker Please report any bugs in 1.3 RC that weren’t in 1.2.22 in the GWT issue tracker. These would be likely related to the new build, and we want to know ASAP so we can fix them.
  • The GWT Git Repository Visit the online repository to browse the GWT source without a Git client.

Release Notes for 1.2.22

This is the official GWT 1.2 release, the follow up to the GWT 1.2 Release Candidate. It includes all of the enhancements and bug fixes from GWT 1.2 RC as well as a few additional bug fixes that were reported against GWT 1.2 RC.

About OS X Hosted Mode Support

GWT’s hosted mode support is available only on OS X 1.4 (Tiger) or later.

Useful Links

Breaking API Changes

There are no breaking changes to pre-1.2 APIs, but one method has been renamed in a class that was new in 1.2 RC.

com.google.gwt.http.client.RequestBuilder

The method was renamed to to more clearly reflect its intent. You will only be affected by this change if you are using the new HTTP functionality available as of build 1.2.11.


Release Notes for 1.2.11 (RC)

This is the Release Candidate for GWT 1.2. Between this build and the subsequent GWT 1.2 official release, changes are limited to issues unique to GWT 1.2 RC.

See the GWT issue tracker for the complete list of enhancements and bug fixes in this release.

New Features

  • Full support for OS X developmentDevelop with GWT on OS X as easily as on Linux and Windows
  • Much faster hosted modeHosted mode startup time has improved significantly, but, even better, refreshes are now lightning fast — even when your source changes
  • **New HTTP request module **The HTTP functionality that GWT users have been asking for (custom headers, status code, timeouts, and more), all wrapped up in an API that’s easier to use than the JavaScript XMLHttpRequest object
  • **Widgets in TreeItems **Tree items can now contain arbitrary widgets…finally, you can easily create trees with checkboxes :-)

Release Notes for 1.1.10

Fixed Issues

  • Normalized behavior of GWT.getModuleBaseURL() with respect to hosted mode, web mode, RPC, and automatic resource injection ( post #1, post #2, post #3)
  • Clarified message in Grid class related to row/column out of bounds error (post)
  • i18nCreator fixed to work with Java 5.0 (post)
  • I18NSync (and therefore -i18n scripts) changed to replace dots with underscores when generating method names (post)
  • Additional character escaping in JSON strings (post)
  • Fixed bug calling toString() on nested JSON objects (post)
  • Fixed bug that caused the default font size of text in a FocusPanel to be zero post
  • Fixed TabPanel.insert() with asHTML argument (post)
  • Popups and DialogBoxes no longer underlap lists and combos in IE6 (post)
  • DialogBoxes can no longer be dragged beoynd the upper left corner of the browser window (post)
  • Buttons inside of FormPanels no longer automatically submit on Firefox; this is still a problem some versions of Safari and Opera (post)
  • TabPanel now sets the height of the internal DeckPanel to 100% to ensure all available space is used (post)
  • Fixed bug in Mozilla that was causing DialogBox.onKeyPressPreview() to see key as 0 (post)
  • DockPanel no longer lays out with a DeferredCommand; this makes it possible to correctly measure the size of PopupPanel (post)
  • SimplePanel is no longer abstract
  • Double click now fires correctly on IE6 (post)
  • Fixed RPC bug that caused deserialization errors or infinite loops with self-referential object graphs (post)
  • Fixed RPC bug that caused deserialization to fail on character arrays containing null characters (post)
  • Serializable classes whose superclass is serialized by a custom field serializer are now correctly deserialized on the server
  • Fixed bug related to FocusPanel that sometimes manifested during RPC async responses (post)
  • Fixed bug in JUnit assertEquals() for floating point values (delta was not honored correctly) (post)
  • Fixed internal compiler errors related to nested local subclasses, empty for loop expressions, and no-op unary plus operator. (post #1, post #2, post #3)
  • Fixed infinite loop in Integer.toHexString() (post)
  • Compiler now handling filesystem symbolic links in project structure (post)
  • Fixed rare JVM crash in Windows hosted mode related to JSNI function pointers

Release Notes for 1.1.0 (RC)

New Features

  • FileUpload widget The much-requested file upload widget
  • FormPanel widget Easily submit traditional HTML forms from GWT apps
  • RPC optimizations Client and server performance improvements and a more compact wire format
  • Automatic Resource Injection Modules can contain references to external JavaScript and CSS files, causing them to be automatically loaded when the module itself is loaded
  • Internationalization Easily localize strings and formatted messages
  • XML classes An XML library based on the W3C DOM
  • JSON classes JSON has moved into , and it’s much faster than the sample that shipped with 1.0.21
  • JUnit enhancements Unit tests are much, much faster than in 1.0.21, easier to configure, and you can now test asynchronous things like RPCs and timers
  • Javadoc Now included for your convenience, with sample code fragments
  • Although you should continue to build against as always, you only need to deploy with your webapps; it contains the subset of you’ll need to support RPC There are also a significant number of bug fixes from all the great feedback we’ve gotten from the developer forum. Please see the additional release notes for detailed information about other important changes in GWT since the previous release, including a few breaking API changes that we don’t want to catch you off guard.

Fixed Issues

See the appendix of fixed issues for the nitty-gritty list of things that we have fixed in this release, including smaller issues.

Behavioral Changes

Important changes in the behavior of existing GWT features.

Module Source and Public Paths

  • In previous versions of GWT, source and public path inclusions were based on physical directory structure; only files physically located with the module would be included. Going forward, source and public path inclusions are based on logical package structure. Once a package has been included, any files in that package become visible no matter where they are physically located.

JUnit Modules

  • GWT test modules (that is, modules intended to run GWTTestCase-derived JUnit test cases) no longer need to inherit the module. Additionally, it is no longer an error to declare entry points within a test module (they will be ignored when running under JUnit). Most test cases can now simply use the existing application module, which should simplify test case configuration.

Breaking API Changes

Based on user feedback, we’ve made a few API changes in this release that may require minor tweaks to your existing code when you upgrade. Any such changes that affect you should only take a few minutes to rectify.

com.google.gwt.user.client.ui.HasWidgets

  • We’ve moved add(), remove(), and clear() into this interface, so that any widget that can contain other widgets will be bound to this contract.
  • The add() method no longer returns a boolean. If a panel either cannot add a child widget without extra arguments, or cannot accept further widgets, it will throw an exception. This is in keeping with the fact that this is usually the result of an error in the code.
  • Its iterator is now required to support the remove() method.

com.google.gwt.user.client.ui.Composite

  • Composites must now call initWidget() in their constructors, rather than setWidget(). This is more indicative of its actual purpose, and also serves to clear up any confusion with SimplePanel’s setWidget() method. Composite.setWidget() is now deprecated.

com.google.gwt.user.client.ui.SimplePanel and subclasses

  • We have added setWidget() to SimplePanel, which has more appropriate semantics for a panel that can contain only one child. The add() method is still present through the HasWidgets interface, but will fail if a widget is already present. This change is most likely to affect you if you use DialogBox or PopupPanel. To fix it, simply change your call to add() to setWidget() instead.

com.google.gwt.user.client.Cookies

  • Cookies.getCookie() is now static, as it should have been from the beginning. There is no need to instantiate this class now.
  • You can now set cookies as well!

Appendix: Complete List of Fixed Issues

The list of issues below is a short synopsis of all of the major and minor issues fixed in this release. See the online GWT issues database for the important common issues.

  • String.matches(regex) should exist and doesn’t
  • Need a way to set individual List items selected/unselected (applies to multi-select listboxes)
  • DOM needs setBooleanAttribute, getBooleanAttribute.
  • HTMLTable.CellFormatter needs getStyleName() to match setStyleName().
  • FlexTable’s internal widget map does not correctly adjust for the user inserting rows and cells.
  • Window.getTitle/setTitle should be static

  • DynaTable has incorrect HTML
  • Change Timer API to use int not long
  • In hosted mode JSNI, marshall Java longs as VT_R8
  • Popups are not always positioned properly on Safari.
  • SWT source inclusion is wrong.
  • Safari crashes on exit under some circumstances.
  • TreeLogger throws away exception info in console mode.
  • Window needs a private ctor
  • Phone home version checking should actually compare ordering of version number
  • Hosted Mode server throws IllegalArgumentException when system is set to non-english locale
  • Trees have an unsightly 16-pixel left margin.
  • SimplePanel.remove() broken.
  • ScrollPanel doesn’t implement SourcesScrollEvents.
  • Make junit-web output to www dir
  • Add “hidden” feature to ArgHandler system.
  • JUnitShell could hang forever.
  • 1.5 VM fails to run junit because StackTraceElement 0-arg constructor disappeared.
  • Panel and ComplexPanel still have methods from old version of HasWidgets.
  • Nested tables can fire events from the wrong one.
  • Make sure JSNI refs to functions can be passed around and used as real function pointers.
  • AbsolutePanel doesn’t position its children consistently.
  • JSONParser does not handle generic JSONValues in the encoded json string correctly; always assumes its a JSONObject
  • Remove -notHeadless from GWTShell (only applies to GWTUnitTestShell)
  • Number of results returned from split() differs in Java/JavaScript (see description)
  • Helper scripts don’t work for base package.
  • Grid fails to update row count when removing.
  • JSONString, toString does not enclose its characters in double quotes
  • Selection issue when removing widgets from TabPanel.
  • JSONParser always assumes root type is JSONObject
  • ClassSourceFileComposer should not handle Class objects.
  • Modules cannot supercede files from inherited modules
  • Simple & ComplexPanel shouldn’t implement getChildCount(), getChild(), etc.
  • Negative byte values passed into JavaScript become positive
  • The rpc servlet needs a thread-local HttpServletResponse to match the thread-local request.
  • Appending char to a String behaves incorrectly.
  • Remove STL dependency from gwt-ll
  • Using xhtml doctype causes popups to be misplaced on Mozilla browsers.
  • JsniInjector fails to match lines when there are Javadoc comments.
  • Add whitelist bypass for hosted browser
  • PopupPanel example is wrong.
  • UIObject needs a title property.
  • JSNI methods in local classes don’t work in hosted mode.
  • HashMap throws a JavaScript error under some circumstances.
  • Source and Public module tags should be logical instead of physical.
  • Document that module source and public tags are now logical rather than physical.
  • Default .launch file fails to use project’s full classpath.

  • RemoteServiceServlet sends back HTTP 200 OK but no content under WebSphere.
  • Widget.onLoad() is called too early sometimes.
  • Is it really a good idea to have add(Widget) on Panel?
  • Web-mode JUnit that reports via RPC
  • Tree fires onTreeItemStateChanged twice.
  • Make JSON APIs part of gwt-user.jar
  • Async JUnit
  • String.equalsIgnoreCase(null) throws exception in web mode
  • Using a class literal for a pruned typed causes ICE
  • Make all built-in implementations of HasWidgets.iterator() support remove().
  • JSON is slow in Web mode
  • StringBuffer uses string concatenation, and is n-squared as a result
  • Identical Strings can compare false in web mode.
  • Tweaks to the property provider environment to support locale and improve code uniformity b/w hosted and web mode
  • Server-side serialization is unusably slow for large data sets

  • Client side serialization is unusably slow for large datasets
  • Format source for JUnitTestCaseStubGeneratorm, ServerSerializationStream
  • MethodDispatch not working correctly on IE.
  • JavaScriptObject rescuing is incomplete.
  • Reduce RPC wire size by not quoting non-strings.
  • Cyclic object graphs can be corrupted during deserialization on the server
  • Test methods that throw checked exceptions cause the generated code to fail to compile
  • Allow RemoteServiceResponse compression to be controlled by subclasses
  • Startup timing bug makes RootPanel.get(id) throw an NPE
  • Change whitelist/blacklist settings to be command-line switches rather than system properties
  • KeyCode is always 0 for keypress events on Mozilla.
  • Add Panel.remove(int) convenience method.
  • File Upload Widget
  • PopupPanel needs to deal better with being empty.
  • CheckBox.setEnabled() has reversed sense.
  • History tokens have problems with URL encoding.
  • Loosen restriction on when DockPanel.CENTER child may be added.
  • AbsolutePanel needs getWidgetLeft() and getWidgetTop().
  • Decision: how should FlowPanel behave?
  • Samples with composites need to call initWidget() instead of the deprecated setWidget().
  • RootPanel.get(String) should not be clearing the div’s contents.
  • ListBox, Image, and Hyperlink are missing style names, despite doc
  • Hyperlink.removeClickListener is broken.
  • Don’t allow tabs to word-wrap internally on TabPanel
  • Turkish locale problem with the RPC generated code - probably affects others too
  • StackPanel.add() totally screwy.
  • Referencing a field that could cause static initialization fails to cause a side effect.

Release Notes for 1.0.21

Fixed Issues

Источник: http://www.gwtproject.org/release-notes.html
lmtp)_delivery_status_filter is applied only once per recipient: when delivery is successful, when delivery is rejected with 5XX, or when there are no more alternate MX or A destinations. Use smtp_reply_filter or lmtp_reply_filter to inspect responses for all delivery attempts.

The following parameters can be used to implement a filter for specific delivery agents: lmtp_delivery_status_filter, local_delivery_status_filter, pipe_delivery_status_filter, smtp_delivery_status_filter or virtual_delivery_status_filter. These parameters support the same filter syntax as described here.

Specify zero or more "type:table" lookup table names, separated by comma or whitespace. For each successful or unsuccessful delivery to a recipient, the tables are queried in the specified order with one line of text that is structured as follows:

enhanced-status-code SPACE explanatory-text

The first table match wins. The lookup result must have the same structure as the query, a successful status code (2.X.X) must be replaced with a successful status code, an unsuccessful status code (4.X.X or 5.X.X) must be replaced with an unsuccessful status code, and the explanatory text field must be non-empty. Other results will result in a warning.

Example 1: convert specific soft TLS errors into hard errors, by overriding the first number in the enhanced status code.

/etc/postfix/main.cf: smtp_delivery_status_filter = pcre:/etc/postfix/smtp_dsn_filter
/etc/postfix/smtp_dsn_filter: /^4(\.\d+\.\d+ TLS is required, but host \S+ refused to start TLS: .+)/ 5$1 /^4(\.\d+\.\d+ TLS is required, but was not offered by host .+)/ 5$1 # Do not change the following into hard bounces. They may # result from a local configuration problem. # 4.\d+.\d+ TLS is required, but our TLS engine is unavailable # 4.\d+.\d+ TLS is required, but unavailable # 4.\d+.\d+ Cannot start TLS: handshake failure

Example 2: censor the per-recipient delivery status text so that it does not reveal the destination command or filename when a remote sender requests confirmation of successful delivery.

/etc/postfix/main.cf: local_delivery_status_filter = pcre:/etc/postfix/local_dsn_filter
/etc/postfix/local_dsn_filter: /^(2\S+ delivered to file).+/ $1 /^(2\S+ delivered to command).+/ $1

Notes:

  • This feature will NOT override the soft_bounce safety net.

  • This feature will change the enhanced status code and text that is logged to the maillog file, and that is reported to the sender in delivery confirmation or non-delivery notifications.

This feature is available in Postfix 3.0 and later.

default_destination_concurrency_failed_cohort_limit (default: 1)

How many pseudo-cohorts must suffer connection or handshake failure before a specific destination is considered unavailable (and further delivery is suspended). Specify zero to disable this feature. A destination's pseudo-cohort failure count is reset each time a delivery completes without connection or handshake failure for that specific destination.

A pseudo-cohort is the number of deliveries equal to a destination's delivery concurrency.

Use transport_destination_concurrency_failed_cohort_limit to specify a transport-specific override, where transport is the master.cf name of the message delivery transport.

This feature is available in Postfix 2.5. The default setting is compatible with earlier Postfix versions.

default_destination_concurrency_limit (default: 20)

The default maximal number of parallel deliveries to the same destination. This is the default limit for delivery via the lmtp(8), pipe(8), smtp(8) and virtual(8) delivery agents. With per-destination recipient limit > 1, a destination is a domain, otherwise it is a recipient.

Use transport_destination_concurrency_limit to specify a transport-specific override, where transport is the master.cf name of the message delivery transport.

default_destination_concurrency_negative_feedback (default: 1)

The per-destination amount of delivery concurrency negative feedback, after a delivery completes with a connection or handshake failure. Feedback values are in the range 0..1 inclusive. With negative feedback, concurrency is decremented at the beginning of a sequence of length 1/feedback. This is unlike positive feedback, where concurrency is incremented at the end of a sequence of length 1/feedback.

As of Postfix version 2.5, negative feedback cannot reduce delivery concurrency to zero. Instead, a destination is marked dead (further delivery suspended) after the failed pseudo-cohort count reaches $default_destination_concurrency_failed_cohort_limit (or $transport_destination_concurrency_failed_cohort_limit). To make the scheduler completely immune to connection or handshake failures, specify a zero feedback value and a zero failed pseudo-cohort limit.

Specify one of the following forms:

number
number / number
Constant feedback. The value must be in the range 0..1 inclusive. The default setting of "1" is compatible with Postfix versions before 2.5, where a destination's delivery concurrency is throttled down to zero (and further delivery suspended) after a single failed pseudo-cohort.
number / concurrency
Variable feedback of "number / (delivery concurrency)". The number must be in the range 0..1 inclusive. With number equal to "1", a destination's delivery concurrency is decremented by 1 after each failed pseudo-cohort.

A pseudo-cohort is the number of deliveries equal to a destination's delivery concurrency.

Use transport_destination_concurrency_negative_feedback to specify a transport-specific override, where transport is the master.cf name of the message delivery transport.

This feature is available in Postfix 2.5. The default setting is compatible with earlier Postfix versions.

default_destination_concurrency_positive_feedback (default: 1)

The per-destination amount of delivery concurrency positive feedback, after a delivery completes without connection or handshake failure. Feedback values are in the range 0..1 inclusive. The concurrency increases until it reaches the per-destination maximal concurrency limit. With positive feedback, concurrency is incremented at the end of a sequence with length 1/feedback. This is unlike negative feedback, where concurrency is decremented at the start of a sequence of length 1/feedback.

Specify one of the following forms:

number
number / number
Constant feedback. The value must be in the range 0..1 inclusive. The default setting of "1" is compatible with Postfix versions before 2.5, where a destination's delivery concurrency doubles after each successful pseudo-cohort.
number / concurrency
Variable feedback of "number / (delivery concurrency)". The number must be in the range 0..1 inclusive. With number equal to "1", a destination's delivery concurrency is incremented by 1 after each successful pseudo-cohort.

A pseudo-cohort is the number of deliveries equal to a destination's delivery concurrency.

Use transport_destination_concurrency_positive_feedback to specify a transport-specific override, where transport is the master.cf name of the message delivery transport.

This feature is available in Postfix 2.5 and later.

default_destination_rate_delay (default: 0s)

The default amount of delay that is inserted between individual message deliveries to the same destination and over the same message delivery transport. Specify a non-zero value to rate-limit those message deliveries to at most one per $default_destination_rate_delay.

The resulting behavior depends on the value of the corresponding per-destination recipient limit.

  • With a corresponding per-destination recipient limit > 1, the rate delay specifies the time between deliveries to the same domain. Different domains are delivered in parallel, subject to the process limits specified in master.cf.

  • With a corresponding per-destination recipient limit equal to 1, the rate delay specifies the time between deliveries to the same recipient. Different recipients are delivered in parallel, subject to the process limits specified in master.cf.

To enable the delay, specify a non-zero time value (an integral value plus an optional one-letter suffix that specifies the time unit).

Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).

NOTE: the delay is enforced by the queue manager. The delay timer state does not survive "postfix reload" or "postfix stop".

Use transport_destination_rate_delay to specify a transport-specific override, where transport is the master.cf name of the message delivery transport.

NOTE: with a non-zero _destination_rate_delay, specify a transport_destination_concurrency_failed_cohort_limit of 10 or more to prevent Postfix from deferring all mail for the same destination after only one connection or handshake error.

This feature is available in Postfix 2.5 and later.

default_destination_recipient_limit (default: 50)

The default maximal number of recipients per message delivery. This is the default limit for delivery via the lmtp(8), pipe(8), smtp(8) and virtual(8) delivery agents.

Setting this parameter to a value of 1 affects email deliveries as follows:

  • It changes the meaning of the corresponding per-destination concurrency limit, from concurrency of deliveries to the same domain into concurrency of deliveries to the same recipient. Different recipients are delivered in parallel, subject to the process limits specified in master.cf.

  • It changes the meaning of the corresponding per-destination rate delay, from the delay between deliveries to the same domain into the delay between deliveries to the same recipient. Again, different recipients are delivered in parallel, subject to the process limits specified in master.cf.

  • It changes the meaning of other corresponding per-destination settings in a similar manner, from settings for delivery to the same domain into settings for delivery to the same recipient.

Use transport_destination_recipient_limit to specify a transport-specific override, where transport is the master.cf name of the message delivery transport.

default_extra_recipient_limit (default: 1000)

The default value for the extra per-transport limit imposed on the number of in-memory recipients. This extra recipient space is reserved for the cases when the Postfix queue manager's scheduler preempts one message with another and suddenly needs some extra recipients slots for the chosen message in order to avoid performance degradation.

Use transport_extra_recipient_limit to specify a transport-specific override, where transport is the master.cf name of the message delivery transport.

default_filter_nexthop (default: empty)

When a content_filter or FILTER request specifies no explicit next-hop destination, use $default_filter_nexthop instead; when that value is empty, use the domain in the recipient address. Specify "default_filter_nexthop = $myhostname" for compatibility with Postfix version 2.6 and earlier, or specify an explicit next-hop destination with each content_filter value or FILTER action.

This feature is available in Postfix 2.7 and later.

default_minimum_delivery_slots (default: 3)

How many recipients a message must have in order to invoke the Postfix queue manager's scheduling algorithm at all. Messages which would never accumulate at least this many delivery slots (subject to slot cost parameter as well) are never preempted.

Use transport_minimum_delivery_slots to specify a transport-specific override, where transport is the master.cf name of the message delivery transport.

default_privs (default: nobody)

The default rights used by the local(8) delivery agent for delivery to external file or command. These rights are used when delivery is requested from an aliases(5) file that is owned by root, or when delivery is done on behalf of root. DO NOT SPECIFY A PRIVILEGED USER OR THE POSTFIX OWNER.

default_process_limit (default: 100)

The default maximal number of Postfix child processes that provide a given service. This limit can be overruled for specific services in the master.cf file.

default_rbl_reply (default: see "postconf -d" output)

The default Postfix SMTP server response template for a request that is rejected by an RBL-based restriction. This template can be overruled by specific entries in the optional rbl_reply_maps lookup table.

This feature is available in Postfix 2.0 and later.

The template does not support Postfix configuration parameter $name substitution. Instead, it supports exactly one level of $name substitution for the following attributes:

$client
The client hostname and IP address, formatted as name[address].
$client_address
The client IP address.
$client_name
The client hostname or "unknown". See reject_unknown_client_hostname for more details.
$reverse_client_name
The client hostname from address->name lookup, or "unknown". See reject_unknown_reverse_client_hostname for more details.
$helo_name
The hostname given in HELO or EHLO command or empty string.
$rbl_class
The denylisted entity type: Client host, Helo command, Sender address, or Recipient address.
$rbl_code
The numerical SMTP response code, as specified with the maps_rbl_reject_code configuration parameter. Note: The numerical SMTP response code is required, and must appear at the start of the reply. With Postfix version 2.3 and later this information may be followed by an RFC 3463 enhanced status code.
$rbl_domain
The RBL domain where $rbl_what is denylisted.
$rbl_reason
The reason why $rbl_what is denylisted, or an empty string.
$rbl_what
The entity that is denylisted (an IP address, a hostname, a domain name, or an email address whose domain was denylisted).
$recipient
The recipient address or <> in case of the null address.
$recipient_domain
The recipient domain or empty string.
$recipient_name
The recipient address localpart or <> in case of null address.
$sender
The sender address or <> in case of the null address.
$sender_domain
The sender domain or empty string.
$sender_name
The sender address localpart or <> in case of the null address.
${name?text}
Expands to `text' if $name is not empty.
${name:text}
Expands to `text' if $name is empty.

Instead of $name you can also specify ${name} or $(name).

Note: when an enhanced status code is specified in an RBL reply template, it is subject to modification. The following transformations are needed when the same RBL reply template is used for client, helo, sender, or recipient access restrictions.

  • When rejecting a sender address, the Postfix SMTP server will transform a recipient DSN status (e.g., 4.1.1-4.1.6) into the corresponding sender DSN status, and vice versa.

  • When rejecting non-address information (such as the HELO command argument or the client hostname/address), the Postfix SMTP server will transform a sender or recipient DSN status into a generic non-address DSN status (e.g., 4.0.0).

default_recipient_limit (default: 20000)

The default per-transport upper limit on the number of in-memory recipients. These limits take priority over the global qmgr_message_recipient_limit after the message has been assigned to the respective transports. See also default_extra_recipient_limit and qmgr_message_recipient_minimum.

Use transport_recipient_limit to specify a transport-specific override, where transport is the master.cf name of the message delivery transport.

default_recipient_refill_delay (default: 5s)

The default per-transport maximum delay between recipients refills. When not all message recipients fit into the memory at once, keep loading more of them at least once every this many seconds. This is used to make sure the recipients are refilled in timely manner even when $default_recipient_refill_limit is too high for too slow deliveries.

Use transport_recipient_refill_delay to specify a transport-specific override, where transport is the master.cf name of the message delivery transport.

This feature is available in Postfix 2.4 and later.

default_recipient_refill_limit (default: 100)

The default per-transport limit on the number of recipients refilled at once. When not all message recipients fit into the memory at once, keep loading more of them in batches of at least this many at a time. See also $default_recipient_refill_delay, which may result in recipient batches lower than this when this limit is too high for too slow deliveries.

Use transport_recipient_refill_limit to specify a transport-specific override, where transport is the master.cf name of the message delivery transport.

This feature is available in Postfix 2.4 and later.

default_transport (default: smtp)

The default mail delivery transport and next-hop destination for destinations that do not match $mydestination, $inet_interfaces, $proxy_interfaces, $virtual_alias_domains, $virtual_mailbox_domains, or $relay_domains. This information can be overruled with the sender_dependent_default_transport_maps parameter and with the transport(5) table.

In order of decreasing precedence, the nexthop destination is taken from $sender_dependent_default_transport_maps, $default_transport, $sender_dependent_relayhost_maps, $relayhost, or from the recipient domain.

Specify a string of the form transport:nexthop, where transport is the name of a mail delivery transport defined in master.cf. The :nexthop destination is optional; its syntax is documented in the manual page of the corresponding delivery agent. In the case of SMTP or LMTP, specify one or more destinations separated by comma or whitespace (with Postfix 3.5 and later).

Example:

default_transport = uucp:relayhostname
default_transport_rate_delay (default: 0s)

The default amount of delay that is inserted between individual message deliveries over the same message delivery transport, regardless of destination. Specify a non-zero value to rate-limit those message deliveries to at most one per $default_transport_rate_delay.

Use transport_transport_rate_delay to specify a transport-specific override, where the initial transport is the master.cf name of the message delivery transport.

Example: throttle outbound SMTP mail to at most 3 deliveries per minute.

/etc/postfix/main.cf: smtp_transport_rate_delay = 20s

To enable the delay, specify a non-zero time value (an integral value plus an optional one-letter suffix that specifies the time unit).

Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).

NOTE: the delay is enforced by the queue manager.

This feature is available in Postfix 3.1 and later.

default_verp_delimiters (default: +=)

The two default VERP delimiter characters. These are used when no explicit delimiters are specified with the SMTP XVERP command or with the "sendmail -V" command-line option. Specify characters that are allowed by the verp_delimiter_filter setting.

This feature is available in Postfix 1.1 and later.

defer_code (default: 450)

The numerical Postfix SMTP server response code when a remote SMTP client request is rejected by the "defer" restriction.

Do not change this unless you have a complete understanding of RFC 5321.

defer_service_name (default: defer)

The name of the defer service. This service is implemented by the bounce(8) daemon and maintains a record of failed delivery attempts and generates non-delivery notifications.

This feature is available in Postfix 2.0 and later.

defer_transports (default: empty)

The names of message delivery transports that should not deliver mail unless someone issues "sendmail -q" or equivalent. Specify zero or more names of mail delivery transports names that appear in the first field of master.cf.

Example:

defer_transports = smtp
delay_logging_resolution_limit (default: 2)

The maximal number of digits after the decimal point when logging sub-second delay values. Specify a number in the range 0..6.

Large delay values are rounded off to an integral number seconds; delay values below the delay_logging_resolution_limit are logged as "0", and delay values under 100s are logged with at most two-digit precision.

The format of the "delays=a/b/c/d" logging is as follows:

  • a = time from message arrival to last active queue entry
  • b = time from last active queue entry to connection setup
  • c = time in connection setup, including DNS, EHLO and STARTTLS
  • d = time in message transmission

This feature is available in Postfix 2.3 and later.

delay_notice_recipient (default: postmaster)

The recipient of postmaster notifications with the message headers of mail that cannot be delivered within $delay_warning_time time units.

See also: delay_warning_time, notify_classes.

delay_warning_time (default: 0h)

The time after which the sender receives a copy of the message headers of mail that is still queued. The confirm_delay_cleared parameter controls sender notification when the delay clears up.

To enable this feature, specify a non-zero time value (an integral value plus an optional one-letter suffix that specifies the time unit).

Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is h (hours).

See also: delay_notice_recipient, notify_classes, confirm_delay_cleared.

deliver_lock_attempts (default: 20)

The maximal number of attempts to acquire an exclusive lock on a mailbox file or bounce(8) logfile.

deliver_lock_delay (default: 1s)

The time between attempts to acquire an exclusive lock on a mailbox file or bounce(8) logfile.

Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).

destination_concurrency_feedback_debug (default: no)

Make the queue manager's feedback algorithm verbose for performance analysis purposes.

This feature is available in Postfix 2.5 and later.

detect_8bit_encoding_header (default: yes)

Automatically detect 8BITMIME body content by looking at Content-Transfer-Encoding: message headers; historically, this behavior was hard-coded to be "always on".

This feature is available in Postfix 2.5 and later.

disable_dns_lookups (default: no)

Disable DNS lookups in the Postfix SMTP and LMTP clients. When disabled, hosts are looked up with the getaddrinfo() system library routine which normally also looks in /etc/hosts. As of Postfix 2.11, this parameter is deprecated; use smtp_dns_support_level instead.

DNS lookups are enabled by default.

disable_mime_input_processing (default: no)

Turn off MIME processing while receiving mail. This means that no special treatment is given to Content-Type: message headers, and that all text after the initial message headers is considered to be part of the message body.

This feature is available in Postfix 2.0 and later.

Mime input processing is enabled by default, and is needed in order to recognize MIME headers in message content.

disable_mime_output_conversion (default: no)

Disable the conversion of 8BITMIME format to 7BIT format. Mime output conversion is needed when the destination does not advertise 8BITMIME support.

This feature is available in Postfix 2.0 and later.

disable_verp_bounces (default: no)

Disable sending one bounce report per recipient.

The default, one per recipient, is what ezmlm needs.

This feature is available in Postfix 1.1 and later.

disable_vrfy_command (default: no)

Disable the SMTP VRFY command. This stops some techniques used to harvest email addresses.

Example:

disable_vrfy_command = no
dns_ncache_ttl_fix_enable (default: no)

Enable a workaround for future libc incompatibility. The Postfix implementation of RFC 2308 negative reply caching relies on the promise that res_query() and res_search() invoke res_send(), which returns the server response in an application buffer even if the requested record does not exist. If this promise is broken, specify "yes" to enable a workaround for DNS reputation lookups.

This feature is available in Postfix 3.1 and later.

dnsblog_reply_delay (default: 0s)

A debugging aid to artificially delay DNS responses.

This feature is available in Postfix 2.8.

dnsblog_service_name (default: dnsblog)

The name of the dnsblog(8) service entry in master.cf. This service performs DNS allow/denylist lookups.

This feature is available in Postfix 2.8 and later.

dnssec_probe (default: ns:.)

The DNS query type (default: "ns") and DNS query name (default: ".") that Postfix may use to determine whether DNSSEC validation is available.

Background: DNSSEC validation is needed for Postfix DANE support; this ensures that Postfix receives TLSA records with secure TLS server certificate info. When DNSSEC validation is unavailable, mail deliveries using opportunistic DANE will not be protected by server certificate info in TLSA records, and mail deliveries using mandatory DANE will not be made at all.

By default, a Postfix process will send a DNSSEC probe after 1) the process made a DNS query that requested DNSSEC validation, 2) the process did not receive a DNSSEC validated response to this query or to an earlier query, and 3) the process did not already send a DNSSEC probe.

When the DNSSEC probe has no response, or when the response is not DNSSEC validated, Postfix logs a warning that DNSSEC validation may be unavailable.

Example:

warning: DNSSEC validation may be unavailable warning: reason: dnssec_probe 'ns:.' received a response that is not DNSSEC validated warning: reason: dnssec_probe 'ns:.' received no response: Server failure

Possible reasons why DNSSEC validation may be unavailable:

  • The local /etc/resolv.conf file specifies a DNS resolver that does not validate DNSSEC signatures (that's $queue_directory/etc/resolv.conf when a Postfix daemon runs in a chroot jail).
  • The local system library does not pass on the "DNSSEC validated" bit to Postfix, or Postfix does not know how to ask the library to do that.

By default, the DNSSEC probe asks for the DNS root zone NS records, because resolvers should always have that information cached. If Postfix runs on a network where the DNS root zone is not reachable, specify a different probe, or specify an empty dnssec_probe value to disable the feature.

This feature is available in Postfix 3.6 and later. It was backported to Postfix versions 3.5.9, 3.4.19, 3.3.16. 3.2.21.

dont_remove (default: 0)

Don't remove queue files and save them to the "saved" mail queue. This is a debugging aid. To inspect the envelope information and content of a Postfix queue file, use the postcat(1) command.

double_bounce_sender (default: double-bounce)

The sender address of postmaster notifications that are generated by the mail system. All mail to this address is silently discarded, in order to terminate mail bounce loops.

duplicate_filter_limit (default: 1000)

The maximal number of addresses remembered by the address duplicate filter for aliases(5) or virtual(5) alias expansion, or for showq(8) queue displays.

empty_address_default_transport_maps_lookup_key (default: <>)

The sender_dependent_default_transport_maps search string that will be used instead of the null sender address.

This feature is available in Postfix 2.7 and later.

empty_address_local_login_sender_maps_lookup_key (default: <>)

The lookup key to be used in local_login_sender_maps tables, instead of the null sender address.

This feature is available in Postfix 3.6 and later.

empty_address_recipient (default: MAILER-DAEMON)

The recipient of mail addressed to the null address. Postfix does not accept such addresses in SMTP commands, but they may still be created locally as the result of configuration or software error.

empty_address_relayhost_maps_lookup_key (default: <>)

The sender_dependent_relayhost_maps search string that will be used instead of the null sender address.

This feature is available in Postfix 2.5 and later. With earlier versions, sender_dependent_relayhost_maps lookups were skipped for the null sender address.

enable_errors_to (default: no)

Report mail delivery errors to the address specified with the non-standard Errors-To: message header, instead of the envelope sender address (this feature is removed with Postfix version 2.2, is turned off by default with Postfix version 2.1, and is always turned on with older Postfix versions).

enable_idna2003_compatibility (default: no)

Enable 'transitional' compatibility between IDNA2003 and IDNA2008, when converting UTF-8 domain names to/from the ASCII form that is used for DNS lookups. Specify "yes" for compatibility with Postfix ≤ 3.1 (not recommended). This affects the conversion of domain names that contain for example the German sz and the Greek zeta. See http://unicode.org/cldr/utility/idna.jsp for more examples.

This feature is available in Postfix 3.2 and later.

enable_long_queue_ids (default: no)

Enable long, non-repeating, queue IDs (queue file names). The benefit of non-repeating names is simpler logfile analysis and easier queue migration (there is no need to run "postsuper" to change queue file names that don't match their message file inode number).

Note: see below for how to convert long queue file names to Postfix ≤ 2.8.

Changing the parameter value to "yes" has the following effects:

  • Existing queue file names are not affected.

  • New queue files are created with names such as 3Pt2mN2VXxznjll. These are encoded in a 52-character alphabet that contains digits (0-9), upper-case letters (B-Z) and lower-case letters (b-z). For safety reasons the vowels (AEIOUaeiou) are excluded from the alphabet. The name format is: 6 or more characters for the time in seconds, 4 characters for the time in microseconds, the 'z'; the remainder is the file inode number encoded in the first 51 characters of the 52-character alphabet.

  • New messages have a Message-ID header with queueID@myhostname.

  • The mailq (postqueue -p) output has a wider Queue ID column. The number of whitespace-separated fields is not changed.

  • The hash_queue_depth algorithm uses the first characters of the queue file creation time in microseconds, after conversion into hexadecimal representation. This produces the same queue hashing behavior as if the queue file name was created with "enable_long_queue_ids = no".

Changing the parameter value to "no" has the following effects:

  • Existing long queue file names are renamed to the short form (while running "postfix reload" or "postsuper").

  • New queue files are created with names such as C3CD21F3E90 from a hexadecimal alphabet that contains digits (0-9) and upper-case letters (A-F). The name format is: 5 characters for the time in microseconds; the remainder is the file inode number.

  • New messages have a Message-ID header with YYYYMMDDHHMMSS.queueid@myhostname, where YYYYMMDDHHMMSS are the year, month, day, hour, minute and second.

  • The mailq (postqueue -p) output has the same format as with Postfix ≤ 2.8.

  • The hash_queue_depth algorithm uses the first characters of the queue file name, with the hexadecimal representation of the file creation time in microseconds.

Before migration to Postfix ≤ 2.8, the following commands are required to convert long queue file names into short names:

# postfix stop # postconf enable_long_queue_ids=no # postsuper

Repeat the postsuper command until it reports no more queue file name changes.

This feature is available in Postfix 2.9 and later.

enable_original_recipient (default: yes)

Enable support for the original recipient address after an address is rewritten to a different address (for example with aliasing or with canonical mapping).

The original recipient address is used as follows:

Final delivery
With "enable_original_recipient = yes", the original recipient address is stored in the X-Original-To message header. This header may be used to distinguish between different recipients that share the same mailbox.
Recipient deduplication
With "enable_original_recipient = yes", the cleanup(8) daemon performs duplicate recipient elimination based on the content of (original recipient, maybe-rewritten recipient) pairs. Otherwise, the cleanup(8) daemon performs duplicate recipient elimination based only on the maybe-rewritten recipient address.

Note: with Postfix ≤ 3.2 the "setting enable_original_recipient = no" breaks address verification for addresses that are aliased or otherwise rewritten (Postfix is unable to store the address verification result under the original probe destination address; instead, it can store the result only under the rewritten address).

This feature is available in Postfix 2.1 and later. Postfix version 2.0 behaves as if this parameter is always set to yes. Postfix versions before 2.0 have no support for the original recipient address.

enable_threaded_bounces (default: no)

Enable non-delivery, success, and delay notifications that link to the original message by including a References: and In-Reply-To: header with the original Message-ID value. There are advantages and disadvantages to consider.

advantage
This allows mail readers to present a delivery status notification in the same email thread as the original message.
disadvantage
This makes it easy for users to mistakenly delete the whole email thread (all related messages), instead of deleting only the non-delivery notification.

This feature is available in Postfix 3.6 and later.

error_notice_recipient (default: postmaster)

The recipient of postmaster notifications about mail delivery problems that are caused by policy, resource, software or protocol errors. These notifications are enabled with the notify_classes parameter.

error_service_name (default: error)

The name of the error(8) pseudo delivery agent. This service always returns mail as undeliverable.

This feature is available in Postfix 2.0 and later.

execution_directory_expansion_filter (default: see "postconf -d" output)

Restrict the characters that the local(8) delivery agent allows in $name expansions of $command_execution_directory. Characters outside the allowed set are replaced by underscores.

This feature is available in Postfix 2.2 and later.

expand_owner_alias (default: no)

When delivering to an alias "aliasname" that has an "owner-aliasname" companion alias, set the envelope sender address to the expansion of the "owner-aliasname" alias. Normally, Postfix sets the envelope sender address to the name of the "owner-aliasname" alias.

export_environment (default: see "postconf -d" output)

The list of environment variables that a Postfix process will export to non-Postfix processes. The TZ variable is needed for sane time keeping on System-V-ish systems.

Specify a list of names and/or name=value pairs, separated by whitespace or comma. Specify "{ name=value }" to protect whitespace or comma in parameter values (whitespace after the opening "{" and before the closing "}" is ignored). The form name=value is supported with Postfix version 2.1 and later; the use of {} is supported with Postfix 3.0 and later.

Example:

export_environment = TZ PATH=/bin:/usr/bin
extract_recipient_limit (default: 10240)

The maximal number of recipient addresses that Postfix will extract from message headers when mail is submitted with "sendmail -t".

This feature was removed in Postfix version 2.1.

fallback_relay (default: empty)

Optional list of relay hosts for SMTP destinations that can't be found or that are unreachable. With Postfix 2.3 this parameter is renamed to smtp_fallback_relay.

By default, mail is returned to the sender when a destination is not found, and delivery is deferred when a destination is unreachable.

The fallback relays must be SMTP destinations. Specify a domain, host, host:port, [host]:port, [address] or [address]:port; the form [host] turns off MX lookups. If you specify multiple SMTP destinations, Postfix will try them in the specified order.

Note: before Postfix 2.2, do not use the fallback_relay feature when relaying mail for a backup or primary MX domain. Mail would loop between the Postfix MX host and the fallback_relay host when the final destination is unavailable.

  • In main.cf specify "relay_transport = relay",
  • In master.cf specify "-o fallback_relay =" (i.e., empty) at the end of the entry.
  • In transport maps, specify "relay:nexthop..." as the right-hand side for backup or primary MX domain entries.

Postfix version 2.2 and later will not use the fallback_relay feature for destinations that it is MX host for.

fallback_transport (default: empty)

Optional message delivery transport that the local(8) delivery agent should use for names that are not found in the aliases(5) or UNIX password database.

The precedence of local(8) delivery features from high to low is: aliases, .forward files, mailbox_transport_maps, mailbox_transport, mailbox_command_maps, mailbox_command, home_mailbox, mail_spool_directory, fallback_transport_maps, fallback_transport and luser_relay.

fallback_transport_maps (default: empty)

Optional lookup tables with per-recipient message delivery transports for recipients that the local(8) delivery agent could not find in the aliases(5) or UNIX password database.

The precedence of local(8) delivery features from high to low is: aliases, .forward files, mailbox_transport_maps, mailbox_transport, mailbox_command_maps, mailbox_command, home_mailbox, mail_spool_directory, fallback_transport_maps, fallback_transport and luser_relay.

For safety reasons, this feature does not allow $number substitutions in regular expression maps.

This feature is available in Postfix 2.3 and later.

fast_flush_domains (default: $relay_domains)

Optional list of destinations that are eligible for per-destination logfiles with mail that is queued to those destinations.

By default, Postfix maintains "fast flush" logfiles only for destinations that the Postfix SMTP server is willing to relay to (i.e. the default is: "fast_flush_domains = $relay_domains"; see the relay_domains parameter in the postconf(5) manual).

Specify a list of hosts or domains, "/file/name" patterns or "type:table" lookup tables, separated by commas and/or whitespace. Continue long lines by starting the next line with whitespace. A "/file/name" pattern is replaced by its contents; a "type:table" lookup table is matched when the domain or its parent domain appears as lookup key.

Pattern matching of domain names is controlled by the presence or absence of "fast_flush_domains" in the parent_domain_matches_subdomains parameter value.

Specify "fast_flush_domains =" (i.e., empty) to disable the feature altogether.

fast_flush_purge_time (default: 7d)

The time after which an empty per-destination "fast flush" logfile is deleted.

You can specify the time as a number, or as a number followed by a letter that indicates the time unit: s=seconds, m=minutes, h=hours, d=days, w=weeks. The default time unit is days.

fast_flush_refresh_time (default: 12h)

The time after which a non-empty but unread per-destination "fast flush" logfile needs to be refreshed. The contents of a logfile are refreshed by requesting delivery of all messages listed in the logfile.

You can specify the time as a number, or as a number followed by a letter that indicates the time unit: s=seconds, m=minutes, h=hours, d=days, w=weeks. The default time unit is hours.

fault_injection_code (default: 0)

Force specific internal tests to fail, to test the handling of errors that are difficult to reproduce otherwise.

flush_service_name (default: flush)

The name of the flush(8) service. This service maintains per-destination logfiles with the queue file names of mail that is queued for those destinations.

This feature is available in Postfix 2.0 and later.

fork_attempts (default: 5)

The maximal number of attempts to fork() a child process.

fork_delay (default: 1s)

The delay between attempts to fork() a child process.

Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).

forward_expansion_filter (default: see "postconf -d" output)

Restrict the characters that the local(8) delivery agent allows in $name expansions of $forward_path. Characters outside the allowed set are replaced by underscores.

forward_path (default: see "postconf -d" output)

The local(8) delivery agent search list for finding a .forward file with user-specified delivery methods. The first file that is found is used.

The forward_path value is not subject to Postfix configuration parameter $name expansion. Instead, the following $name expansions are done on forward_path before the search actually happens. The result of $name expansion is filtered with the character set that is specified with the forward_expansion_filter parameter.

$user
The recipient's username.
$shell
The recipient's login shell pathname.
$home
The recipient's home directory.
$recipient
The full recipient address.
$extension
The optional recipient address extension.
$domain
The recipient domain.
$local
The entire recipient localpart.
$recipient_delimiter
The address extension delimiter that was found in the recipient address (Postfix 2.11 and later), or the system-wide recipient address extension delimiter (Postfix 2.10 and earlier).
${name?value}
Expands to value when $name is non-empty.
${name:value}
Expands to value when $name is empty.

Instead of $name you can also specify ${name} or $(name).

Examples:

forward_path = /var/forward/$user forward_path = /var/forward/$user/.forward$recipient_delimiter$extension, /var/forward/$user/.forward
frozen_delivered_to (default: yes)

Update the local(8) delivery agent's idea of the Delivered-To: address (see prepend_delivered_header) only once, at the start of a delivery attempt; do not update the Delivered-To: address while expanding aliases or .forward files.

This feature is available in Postfix 2.3 and later. With older Postfix releases, the behavior is as if this parameter is set to "no". The old setting can be expensive with deeply nested aliases or .forward files. When an alias or .forward file changes the Delivered-To: address, it ties up one queue file and one cleanup process instance while mail is being forwarded.

hash_queue_depth (default: 1)

The number of subdirectory levels for queue directories listed with the hash_queue_names parameter. Queue hashing is implemented by creating one or more levels of directories with one-character names. Originally, these directory names were equal to the first characters of the queue file name, with the hexadecimal representation of the file creation time in microseconds.

With long queue file names, queue hashing produces the same results as with short names. The file creation time in microseconds is converted into hexadecimal form before the result is used for queue hashing. The base 16 encoding gives finer control over the number of subdirectories than is possible with the base 52 encoding of long queue file names.

After changing the hash_queue_names or hash_queue_depth parameter, execute the command "postfix reload".

hash_queue_names (default: deferred, defer)

The names of queue directories that are split across multiple subdirectory levels.

Before Postfix version 2.2, the default list of hashed queues was significantly larger. Claims about improvements in file system technology suggest that hashing of the incoming and active queues is no longer needed. Fewer hashed directories speed up the time needed to restart Postfix.

After changing the hash_queue_names or hash_queue_depth parameter, execute the command "postfix reload".

header_address_token_limit (default: 10240)

The maximal number of address tokens are allowed in an address message header. Information that exceeds the limit is discarded. The limit is enforced by the cleanup(8) server.

header_checks (default: empty)

Optional lookup tables for content inspection of primary non-MIME message headers, as specified in the header_checks(5) manual page.

header_from_format (default: standard)

The format of the Postfix-generated From: header. This setting affects the appearance of 'full name' information when a local program such as /bin/mail submits a message without From: header through the Postfix sendmail(1) command.

Specify one of the following:

standard (default)
Produce a header formatted as "From:name <address>". This is the default as of Postfix 3.3.
obsolete
Produce a header formatted as "From:address(name)". This is the behavior prior to Postfix 3.3.

Notes:

  • Postfix generates the format "From:address" when name information is unavailable or the envelope sender address is empty. This is the same behavior as prior to Postfix 3.3.

  • In the standard form, the name will be quoted if it contains specials as defined in RFC 5322, or the "!%" address operators.

  • The Postfix sendmail(1) command gets name information from the -F command-line option, from the NAME environment variable, or from the UNIX password file.

This feature is available in Postfix 3.3 and later.

header_size_limit (default: 102400)

The maximal amount of memory in bytes for storing a message header. If a header is larger, the excess is discarded. The limit is enforced by the cleanup(8) server.

helpful_warnings (default: yes)

Log warnings about problematic configuration settings, and provide helpful suggestions.

This feature is available in Postfix 2.0 and later.

home_mailbox (default: empty)

Optional pathname of a mailbox file relative to a local(8) user's home directory.

Specify a pathname ending in "/" for qmail-style delivery.

The precedence of local(8) delivery features from high to low is: aliases, .forward files, mailbox_transport_maps, mailbox_transport, mailbox_command_maps, mailbox_command, home_mailbox, mail_spool_directory, fallback_transport_maps, fallback_transport and luser_relay.

Examples:

home_mailbox = Mailbox home_mailbox = Maildir/
hopcount_limit (default: 50)

The maximal number of Received: message headers that is allowed in the primary message headers. A message that exceeds the limit is bounced, in order to stop a mailer loop.

html_directory (default: see "postconf -d" output)

The location of Postfix HTML files that describe how to build, configure or operate a specific Postfix subsystem or feature.

ignore_mx_lookup_error (default: no)

Ignore DNS MX lookups that produce no response. By default, the Postfix SMTP client defers delivery and tries again after some delay. This behavior is required by the SMTP standard.

Specify "ignore_mx_lookup_error = yes" to force a DNS A record lookup instead. This violates the SMTP standard and can result in mis-delivery of mail.

import_environment (default: see "postconf -d" output)

The list of environment parameters that a privileged Postfix process will import from a non-Postfix parent process, or name=value environment overrides. Unprivileged utilities will enforce the name=value overrides, but otherwise will not change their process environment. Examples of relevant parameters:

TZ
May be needed for sane time keeping on most System-V-ish systems.
DISPLAY
Needed for debugging Postfix daemons with an X-windows debugger.
XAUTHORITY
Needed for debugging Postfix daemons with an X-windows debugger.
MAIL_CONFIG
Needed to make "postfix -c" work.

Specify a list of names and/or name=value pairs, separated by whitespace or comma. Specify "{ name=value }" to protect whitespace or comma in parameter values (whitespace after the opening "{" and before the closing "}" is ignored). The form name=value is supported with Postfix version 2.1 and later; the use of {} is supported with Postfix 3.0 and later.

in_flow_delay (default: 1s)

Time to pause before accepting a new message, when the message arrival rate exceeds the message delivery rate. This feature is turned on by default (it's disabled on SCO UNIX due to an SCO bug).

With the default 100 Postfix SMTP server process limit, "in_flow_delay = 1s" limits the mail inflow to 100 messages per second above the number of messages delivered per second.

Specify 0 to disable the feature. Valid delays are 0..10.

inet_interfaces (default: all)

The network interface addresses that this mail system receives mail on. Specify "all" to receive mail on all network interfaces (default), and "loopback-only" to receive mail on loopback network interfaces only (Postfix version 2.2 and later). The parameter also controls delivery of mail to .

Note 1: you need to stop and start Postfix when this parameter changes.

Note 2: address information may be enclosed inside , but this form is not required here.

When inet_interfaces specifies just one IPv4 and/or IPv6 address that is not a loopback address, the Postfix SMTP client will use this address as the IP source address for outbound mail. Support for IPv6 is available in Postfix version 2.2 and later.

On a multi-homed firewall with separate Postfix instances listening on the "inside" and "outside" interfaces, this can prevent each instance from being able to reach remote SMTP servers on the "other side" of the firewall. Setting smtp_bind_address to 0.0.0.0 avoids the potential problem for IPv4, and setting smtp_bind_address6 to :: solves the problem for IPv6.

A better solution for multi-homed firewalls is to leave inet_interfaces at the default value and instead use explicit IP addresses in the master.cf SMTP server definitions. This preserves the Postfix SMTP client's loop detection, by ensuring that each side of the firewall knows that the other IP address is still the same host. Setting $inet_interfaces to a single IPv4 and/or IPV6 address is primarily useful with virtual hosting of domains on secondary IP addresses, when each IP address serves a different domain (and has a different $myhostname setting).

See also the proxy_interfaces parameter, for network addresses that are forwarded to Postfix by way of a proxy or address translator.

Examples:

inet_interfaces = all (DEFAULT) inet_interfaces = loopback-only (Postfix version 2.2 and later) inet_interfaces = 127.0.0.1 inet_interfaces = 127.0.0.1, [::1] (Postfix version 2.2 and later) inet_interfaces = 192.168.1.2, 127.0.0.1
inet_protocols (default: see 'postconf -d output')

The Internet protocols Postfix will attempt to use when making or accepting connections. Specify one or more of "ipv4" or "ipv6", separated by whitespace or commas. The form "all" is equivalent to "ipv4, ipv6" or "ipv4", depending on whether the operating system implements IPv6.

With Postfix 2.8 and earlier the default is "ipv4". For backwards compatibility with these releases, the Postfix 2.9 and later upgrade procedure appends an explicit "inet_protocols = ipv4" setting to main.cf when no explicit setting is present. This compatibility workaround will be phased out as IPv6 deployment becomes more common.

This feature is available in Postfix 2.2 and later.

Note: you MUST stop and start Postfix after changing this parameter.

On systems that pre-date IPV6_V6ONLY support (RFC 3493), an IPv6 server will also accept IPv4 connections, even when IPv4 is turned off with the inet_protocols parameter. On systems with IPV6_V6ONLY support, Postfix will use separate server sockets for IPv6 and IPv4, and each will accept only connections for the corresponding protocol.

When IPv4 support is enabled via the inet_protocols parameter, Postfix will look up DNS type A records, and will convert IPv4-in-IPv6 client IP addresses (::ffff:1.2.3.4) to their original IPv4 form (1.2.3.4). The latter is needed on hosts that pre-date IPV6_V6ONLY support (RFC 3493).

When IPv6 support is enabled via the inet_protocols parameter, Postfix will do DNS type AAAA record lookups.

When both IPv4 and IPv6 support are enabled, the Postfix SMTP client will choose the protocol as specified with the smtp_address_preference parameter. Postfix versions before 2.8 attempt to connect via IPv6 before attempting to use IPv4.

Examples:

inet_protocols = ipv4 inet_protocols = all (DEFAULT) inet_protocols = ipv6 inet_protocols = ipv4, ipv6
info_log_address_format (default: external)

The email address form that will be used in non-debug logging (info, warning, etc.). As of Postfix 3.5 when an address localpart contains spaces or other special characters, the localpart will be quoted, for example:

from=<"name with spaces"@example.com>

Older Postfix versions would log the internal (unquoted) form:

from=<name with spaces@example.com>

The external and internal forms are identical for the vast majority of email addresses that contain no spaces or other special characters in the localpart.

The logging in external form is consistent with the address form that Postfix 3.2 and later prefer for most table lookups. This is therefore the more useful form for non-debug logging.

Specify "info_log_address_format = internal" for backwards compatibility.

Postfix uses the unquoted form internally, because an attacker can specify an email address in different forms by playing games with quotes and backslashes. An attacker should not be able to use such games to circumvent Postfix access policies.

This feature is available in Postfix 3.5 and later.

initial_destination_concurrency (default: 5)

The initial per-destination concurrency level for parallel delivery to the same destination. With per-destination recipient limit > 1, a destination is a domain, otherwise it is a recipient.

Use transport_initial_destination_concurrency to specify a transport-specific override, where transport is the master.cf name of the message delivery transport (Postfix 2.5 and later).

Warning: with concurrency of 1, one bad message can be enough to block all mail to a site.

internal_mail_filter_classes (default: empty)

What categories of Postfix-generated mail are subject to before-queue content inspection by non_smtpd_milters, header_checks and body_checks. Specify zero or more of the following, separated by whitespace or comma.

bounce
Inspect the content of delivery status notifications.
notify
Inspect the content of postmaster notifications by the smtp(8) and smtpd(8) processes.

NOTE: It's generally not safe to enable content inspection of Postfix-generated email messages. The user is warned.

This feature is available in Postfix 2.3 and later.

invalid_hostname_reject_code (default: 501)

The numerical Postfix SMTP server response code when the client HELO or EHLO command parameter is rejected by the reject_invalid_helo_hostname restriction.

Do not change this unless you have a complete understanding of RFC 5321.

ipc_idle (default: version dependent)

The time after which a client closes an idle internal communication channel. The purpose is to allow Postfix daemon processes to terminate voluntarily after they become idle. This is used, for example, by the Postfix address resolving and rewriting clients.

With Postfix 2.4 the default value was reduced from 100s to 5s.

Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).

ipc_timeout (default: 3600s)

The time limit for sending or receiving information over an internal communication channel. The purpose is to break out of deadlock situations. If the time limit is exceeded the software aborts with a fatal error.

Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).

ipc_ttl (default: 1000s)

The time after which a client closes an active internal communication channel. The purpose is to allow Postfix daemon processes to terminate voluntarily after reaching their client limit. This is used, for example, by the Postfix address resolving and rewriting clients.

Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).

This feature is available in Postfix 2.1 and later.

known_tcp_ports (default: lmtp=24, smtp=25, smtps=submissions=465, submission=587)

Optional setting that avoids lookups in the services(5) database. This feature was implemented to address inconsistencies in the name of the port "465" service. The ABNF is:

known_tcp_ports = empty

redis-py

The Python interface to the Redis key-value store.

CIdocsMIT licensedpypicodecovTotal alerts

Installation

LTS Changelog

What's new in 2.303.3 (2021-11-04)

What's new in 2.303.2 (2021-10-06)

What's new in 2.303.1 (2021-08-25)

Changes since 2.303:

  • Fix an issue unzipping archives in a corner case when entries have the same path prefix as the target location. (issue 66094)
  • Detect files in a symlink that points to a directory (regression in 2.301). Bump Commons IO to 2.11.0. (pull 5675, issue 66413, Apache Commons-IO issue 741)
  • Show tooltips when users hover on the SVG icons. (issue 65923)
  • Use Java 11 in Docker images instead of Java 8. (Blog post)
  • Allow Java 11 administrative monitor to be disabled with a system property. (issue 66177)

Notable changes since 2.289.3:

  • Fix SSH command line interface (CLI) authentication (regression in 2.284). (issue 65273)
  • Fix when using plugins that rely on bridge methods for compatibility (regression in 2.278). (issue 65605)
  • Remove Apache Commons Digester library and related code from Cacher 2.9.0 Product Key - Crack Key For U Jenkins core. (pull 5320, issue 65161, Announcement and upgrade guidelines)
  • Jenkins redirects users to the previous page after login even if they were able to view it while not logged in (regression in 2.266). (issue 64991)
  • Improve contrast for the checkbox in the login page. (pull 5536)
  • Recommend running on Java 11. (issue 65577)
  • Display Pipeline builds among user build history and remove incorrect warning about view build history. (issue 59412)
  • Show implied plugin dependencies or a count of dependencies for plugins split from core. (pull 5472)
  • Explain that some plugin updates can be unavailable even on the latest version of a given release line (i.e. LTS). (pull 5462)
  • Update French terminology for controller. (issue 65398)
  • Change the word 'number' to 'integer' in the error message of the number field. (pull 5538)
  • The Jenkins process management functionality now supports FreeBSD. (pull 5563)
  • Optimize access control checks affecting (at least) Pipeline steps. (pull 5586)
  • Remove JEP-200 compatibility workarounds for releases published before February 2018 of the following plugins: Maven Integration, Job DSL, Monitoring, Git Client, Pipeline: Supporting APIs, OWASP Dependency-Check. (pull 5454, Plugin versions with a fix, JEP-200)
  • Update Stapler from 1.263 to 1563.v3da2d02f9572 to improve performance when encoding unicode characters in JSON API. (pull 5422, Stapler 1527.ve41b3ce15c05 changelog, Stapler 1532.vfcf95addcb5f changelog, pull 5549, Stapler 1539.v2f05ce93882d changelog, Stapler 1563.v3da2d02f9572 changelog)
  • Stop bundling the External Monitor Job Type, LDAP, and PAM Authentication plugins. Jenkins will no longer automatically install the External Monitor Job Type, LDAP, or PAM Authentication plugins on startup if a plugin depending on Jenkins 1.467 or earlier is discovered. If you use such a plugin that also relies on the functionality provided by the External Monitor Job Type, LDAP, or PAM Authentication plugin and manage plugins outside Jenkins' plugin manager, you will now need to ensure that a recent release of the External Monitor Job Type, LDAP, or PAM Authentication plugin is installed. Jenkins will attempt to load such plugins but may fail at any time during startup or afterwards with or similar. (pull 5445, External Monitor Job Type plugin, LDAP plugin, PAM Authentication plugin)
  • Winstone 5.19: Update Jetty from 9.4.41.v20210516 to Jetty 9.4.42.v20210604. (pull 5589, Winstone 5.19 changelog, Jetty 9.4.42 changelog)
  • Bump spring-security-bom from 5.4.6 to 5.5.1. (pull 5505, Spring project spring-security 5.5.0 release notes, pull 5598, Spring project spring-security 5.5.1 release notes)
  • Bump sshd-core from 2.5.1 to 2.7.0 in Jenkins CLI. (pull 5547)
  • Add header to AJAX responses. (pull 5555)
  • Remove the Bytecode Compatibility Transformer library and related code from Jenkins core. Developer: Plugins that rely on the or fields must be updated to call the corresponding getters. (pull 5526, Vertx plugin, Slave Prerequisites plugin)
  • Stop sending HTTP response headers related to the remoting-based CLI (removed in 2.165). (pull 5452)
  • Internal: Upgrade from Remoting 4.7 to Remoting 4.10 with bugfixes and dependency updates. (pull 5478, issue 40700, Remoting 4.8 changelog, pull 5539, Remoting 4.9 changelog, pull 5607, Remoting 4.10 changelog)
  • Developer: Remove JTidy dependency from Jenkins core. Plugins that use JTidy functionality must be updated to explicitly declare a dependency on JTidy rather than relying on Jenkins core to provide this library. (pull 5521, NIS notification lamp plugin)
  • Developer: and its subclasses no longer extend or. (pull 5565)
  • Developer: Remove dependency from Jenkins core. Plugins that use functionality must be migrated from to. (pull 5560, Maven Repository Scheduled Cleanup plugin, SICCI for Xcode plugin, java.io.tmpdir cleaner plugin)
  • Developer: The and experimental class have been removed without replacement. (pull 5566, pull 5603)

What's new in 2.289.3 (2021-07-28)

What's new in 2.289.2 (2021-06-30)

  • Important security fixes. (security advisory)
  • Winstone 5.18: Update Jetty from 9.4.39.v20210325 to 9.4.41.v20210516 for bug fixes and enhancements. (issue 65624, pull 5437, pull 5540, Winstone 5.17 changelog, Winstone 5.18 changelog, Jetty 9.4.40 changelog, Jetty 9.4.41 changelog)
  • Update from xstream 1.4.16 to 1.4.17. (pull 5498, issue 65657, XStream 1.4.17)
  • Prepare for form submission changes in future Firefox releases. Adapt form validation for all web browsers and form validation test automation for HtmlUnit based tests. (issue 65585, pull 5479, pull 5405)
  • A race condition in class loading could result in a. (issue 65766)
  • Do not change fonts when build artifacts are as shown as a tree. (issue 65751)
  • Jenkins redirects users to the previous page after login even if they were able to view it while not logged in (regression in 2.266). (issue 64991)
  • Fix incorrect process termination issues when running on macOS. (issue 65195)
  • Add check to prevent out of bounds memory access error on macOS. (issue 64347)

What's new in 2.289.1 (2021-06-02)

Changes since 2.289:

  • Fix when using plugins that rely on bridge methods for compatibility (regression in 2.278). (issue 65605)
  • Fix form submission for some specific form validation cases (regression in 2.289). (issue 65585)
  • Wrap the build name in the build results list if it is too long. (issue 65190)
  • Improve performance for standard input of the Jenkins CLI, for example with the `install-plugin` command. (issue 64294)
  • Fix an issue archiving files greater than 4 GiB in size when creating ZIP64 archives. (issue 52356)

Notable changes since 2.277.4:

  • SSHD module is no longer bundled in Jenkins core. Provide SSHD as a plugin. (issue 55582, issue 64107, pull 5049, pull 5206, SSHD module repository)
  • Add modern icons: build status and weather. (pull 5065, pull 5392)
  • Add administrative monitors recommending no executors are configured on the controller. (pull 5337)
  • Add indicator for security-related entries in the global administrative monitors configuration. (pull 5078)
  • Improve UI of slow trigger administrative monitor. (pull 5424)
  • Support 'min' and 'max' values in field definitions of forms. (issue 63855)
  • Improve button focus states. (pull 5291)
  • Do not force plugin upgrades of recently detached plugins. (pull 5311)
  • Stop bundling the Ant and Javadoc plugins. Jenkins will no longer automatically install the Ant and Javadoc plugins on startup if a plugin depending on Jenkins 1.430 or earlier is discovered. If you use such a plugin that also relies on the functionality provided by the Ant or Javadoc plugin (e.g., the RAD Builder and manage plugins outside the Jenkins plugin manager, you will now need to ensure that a recent release of the Ant or Javadoc plugin is installed. Jenkins will attempt to load such plugins but may fail at any time during startup or afterwards with or similar. (pull 5338, Ant plugin, Javadoc plugin, RAD Builder plugin)
  • Improve performance when creating or deleting nodes by reducing queue-lock contention. (pull 5402, pull 5412, issue 65308)
  • Improve support for update site-defined setup wizard suggestions. (issue 65172)
  • Switch to sending POST requests by default for form validation URLs. (pull 4623)
  • Add a Jenkins User-Agent header to outgoing HTTP requests by default. Use to disable it if needed. (pull 5368)
  • Sort available plugins by name when popularity is equal. (pull 5359)
  • Honor the current folder when creating new views with the "New View" link. (issue 56934)
  • Do not render full error responses in case of internal errors when validating fields in configuration forms. (issue 65017)
  • Accept negative numbers in number input controls (regression in 2.274). (pull 5341)
  • Improve reconnection behavior for inbound TCP agents. (issue 64510)
  • Remove the hardcoded JKS key store so that other key stores can be used, like BCFKS from the FIPS version of Bouncy Castle. (pull 5266)
  • Upgrade from Remoting 4.6 to Remoting 4.7 with bugfixes and dependency updates. (pull 5292, Remoting 4.7 changelog)
  • Upgrade bouncycastle-api plugin from 2.16.0 to 2.20. Upgrade Bouncy Castle library to 1.64. (pull 5347, bouncycastle-api 2.20 changelog, bouncycastle-api 2.18 changelog, bouncycastle-api 2.17 changelog, bouncycastle-api 2.16.3 changelog, bouncycastle-api 2.16.2 changelog, bouncycastle-api 2.16.1 changelog, Bouncy Castle library 1.64 release notes)
  • Bump spring-security-bom from 5.4.5 to 5.4.6. (pull 5413, Spring project spring-security 5.4.6 release notes)
  • Internal: Update Stapler from 1.262.1 to 1.263 to use latest Apache commons-beanutils. Update Apache commons-beanutils from 1.9.3 to 1.9.4. (pull 5324, Stapler 1.263 release notes, Apache commons beanutils 1.9.4 release notes)
  • Developer: Add support for plugins to use external SVG sprites in their icons. (pull 5065, Example external SVG sprite implementation in GitHub Branch Source plugin)

What's new in 2.277.4 (2021-05-05)

  • Fix disabled dropdown items to appear disabled (regression in 2.277.1). (issue 65021)
  • Fix load statistics graph links to include correct graph duration (regression in 2.277.1). (issue 65336)
  • Honor the current folder when creating new views with the "New View" link. (issue 56934)
  • Upgrade from xstream 1.4.15 to 1.4.16. (pull 5360, issue 65281, XStream 1.4.16)

What's new in 2.277.3 (2021-04-20)

What's new in 2.277.2 (2021-04-07)

What's new in 2.277.1 (2021-03-10)

As described in the Major changes in the weekly release lineblog post, this release improves key user interface components. Configuration user interfaces now use html markup to present a better layout than the previous html layout. Configuration pages are now easier to read, easier to understand, and work better on a wide range of screens. See the Jenkins issue trackerfor a list of plugins known to have issues with the change.

 

As described in the Spring and XStream updates (breaking changes!) blog post, this release updates and replaces outdated internal components. The Acegi security library used for authentication has been replaced by Spring Security (JEP-227). See the Spring Security compatibility table for the latest plugin compatibility status. A fork of the XStream library used to read and write XML files has been replaced by the upstream version of XStream (JEP-228). See the XStream compatibility table for the latest plugin compatibility status.

 

Known IssuesIf your Jenkins instance was created before Jenkins 2.4 or 2.7.1 LTS, a Setup Wizard may appear on the startup after the upgrade. In such a case, a Jenkins admin may need to skip the plugin installation. See the upgrade guide for the detailed guidelines.

Changes since 2.277:

Notable changes since 2.263.4:

  • Change Jenkins configuration UI from tables to divs for layout in forms. (issue 56109, pull 3895, Table to div layout migration guide)
  • Massive performance enhancement to available plugins page of Plugin Manager. Exact matches of plugin name are moved to the top. (issue 64196)
  • Fix incorrect striping of rows on Cacher 2.9.0 Product Key - Crack Key For U page of Plugin Manager. (issue 63684)
  • Prevent user input of 'e' or 'E' as 'positive-number', 'non-negative-number', or 'number'. (issue 64439)
  • Change the standard URL for obtaining the inbound agent configuration file from to. The old name is obsolete and will be removed at a future time. (issue 35452)
  • Improve performance of authorisation strategies when the authentication realm is case insensitive. (issue 64039)
  • Add the ability to specify a reason for quieting down Jenkins ("Prepare for shutdown"). (issue 1877)
  • Dropped support for deprecated system properties:, and. Please use -prefixed SystemProperties. (pull 4962)
  • Remove administrative monitor offering to migrate on a ZFS filesystem. (pull 5047)
  • Show security and non-security notifications in separate categories with their associated icons. (issue 63977)
  • Reduce page load time by loading the administrative monitors popup on demand. Allow keyboard navigation even when there are active administrative monitors. (pull 5063)
  • Use a more accessible color palette in configuration form tabs. (pull 5176)
  • Improve fingerprint save performance. (pull 5190, pull 5198, issue 64670)
  • Add a system property to provide an alternate URL for inbound TCP agents. (issue 63222)
  • Drop support for deprecated system properties:, and. Please use -prefixed SystemProperties. (pull 4962)
  • Reduce lock contention around Jenkins queue. (issue 58101)
  • Stop bundling CVS plugin. Jenkins will no longer automatically install CVS plugin on startup if a plugin depending on Jenkins (then Hudson) 1.340 or earlier is discovered. If you use a plugin that relies on the functionality provided by CVS plugin and manage plugins outside the Jenkins plugin manager, you will now need to ensure yourself that a recent release of CVS plugin is installed. Jenkins will attempt to load such plugins but may fail at any time during startup or afterwards with or similar. (pull 5102)
  • Winstone 5.15: Update Jetty from 9.4.30.v20200611 to 9.4.38.v20210224 for bug fixes and enhancements. (issue 64035, pull 5034, pull 5122, pull 5332, Winstone 5.12 changelog, Winstone 5.13 changelog, Winstone 5.14 changelog, Winstone 5.15 changelog, Jetty 9.4.31.v20200723 changelog, Jetty 9.4.32.v20200930 changelog, Jetty 9.4.33.v20201020 changelog, Jetty 9.4.34 changelog, Jetty 9.4.35 changelog, Jetty 9.4.36 changelog, Jetty 9.4.37 changelog, Jetty 9.4.38 changelog)
  • Upgrade from Remoting 4.5 to Remoting 4.6 with bugfixes and dependency updates. (pull 5043, Remoting 4.6 changelog)
  • Update stapler to 1.262 to fix a number of when running on Java 11. (pull 5111, Stapler 1.262 changelog)
  • Update jnr-posix library from 3.0.45 to 3.1.4. (pull 5129, Commits from jnr-posix 3.0.45 to 3.1.4)
  • Update Java native access (jna) library from 5.3.1 to 5.6.0 for more recent platform library fixes and enhancements. (pull 5125, JNA 5.6.0 changelog, JNA 5.5.0 changelog, JNA 5.4.0 changelog)
  • Developer: Use an updated version of the XStream serialization library without custom patches. (pull 4944, pull 5115, JEP-227, Spring and XStream updates (breaking changes!) blog post, XStream 1.4.14 changelog, XStream 1.4.15 changelog)
  • Developer: Use Spring Security rather than its predecessor, Acegi Security. Other bundled Spring libraries are also updated. (pull 4948, pull 5166, JEP-228, Spring and XStream updates (breaking changes!) blog post, Spring Security 5.4.2 release notes)
  • Developer: Upgrade jQuery from 2.1.4 to 3.5.1. (pull 4929, jQuery older release notes (3.1.1, 3.2.1, 3.3.0, 3.3.1, 3.4.0, 3.4.1), jQuery 3.5.0 release notes, jQuery 3.5.1 release notes)

What's new in 2.263.4 (2021-02-10)

  • Improve performance in fingerprint file creation. (issue 64670)
  • Use the correct freestyle font-size for descriptions. (issue 64332)
  • Don't tell user's to signup when signup is not available. (issue 64426)

What's new in 2.263.3 (2021-01-25)

What's new in 2.263.2 (2021-01-13)

What's new in 2.263.1 (2020-12-03)

Changes since 2.263:

  • Fix hidden page elements from radio blocks showing up when they should not. (pull 5046, issue 64040, issue 64136)
  • Fix file handle leak when viewing corrupted build logs. Upgrade Stapler from 1.260 to 1.261. (pull 5038, Stapler 1.261 changelog)
  • Prevent the Build History Widget from crashing when users have Discover permissions without Read for folders. (issue 63868)
  • Winstone 5.12: Update Jetty from 9.4.30.v20200611 to 9.4.33.v20201020. Introduce LowResourceMonitor from Jetty by upgrading to Winstone 5.12. (issue 64035, pull 5034, pull 4975, Winstone 5.12 changelog, Jetty 9.4.31.v20200723 changelog, Jetty 9.4.32.v20200930 changelog, Jetty 9.4.33.v20201020 changelog)
  • Improve performance of authorisation strategies when the authentication realm is case insensitive. (issue 64039)

Notable changes since 2.249.3:

  • Fix Debian / Ubuntu Java version check for Java 11.0.9.1. (issue 64212, pull 198)
  • Graduate Overall/SystemRead permission to general availability (GA) status. (pull 4909, JEP-224)
  • SSHD module 2.7: Remove deprecated key exchange and MAC algorithms. (pull 4951, SSHD module 2.7 changelog)
  • SSHD module 2.7: Allow configuring disabled key exchange and MAC algorithms through system properties. (pull 4951, SSHD module 2.7 changelog)
  • Improve the layout and clarity of the page displayed when jobs are not yet created. (issue 63592)
  • Allow users with the Jenkins/MANAGE permission to restart and safe restart Jenkins. (issue 63795)
  • Set to. (pull 4910, Cross-Origin-Opener-Policy at developer.mozilla.org)
  • Improve the scripting capacity related to the API Token system. Provide a way to configure a fixed/default API Token for admin during installation phase. (issue 57484)
  • Hide description panel in sidebar if historyWidget.descriptionLimit is 0. (pull 4978, Features controlled with System Properties)
  • Prevent JavaScript error when registering validators in some cases. (issue 42228)
  • Prevent resource leak in the File Fingerprint Storage implementation. (pull 4992)
  • Developer: Improve the combobox component to support default value and readonly mode. (pull 4939)
  • Developer: Allow migration of fingerprints from local storage to external storage. (issue 62757)
  • Developer: Expose fingerprint range set serialization methods for plugins. (pull 4888)
  • Developer: Pluggable Artifact Storage: Make the API generally available to plugin developers. (pull 4974, JEP-202)
  • Developer: A or can now choose not to require a workspace context (working directory and launcher). (issue 46175)
  • Developer: Cloud implementations are given more context about ongoing planned nodes. Add to be passed to and methods. (pull 4922)

What's new in 2.249.3 (2020-11-04)

What's new in 2.249.2 (2020-10-07)

  • Fix migration of status filter when coming from an older version of Jenkins (regression in 2.249.1). (issue 62661)
  • Make alert colors consistent with 'Manage Jenkins' alert colors. (issue 63330)
  • Avoid warning on logs about Anonymous Class in. (issue 63563)
  • Fix NullPointerException pollution on logs if PluginDeprecationMonitor is enabled and some conditions are met. (issue 63562)
  • Developer: Make unavailable plugin background themeable. (issue 63331)

What's new in 2.249.1 (2020-09-09)

Changes since 2.249:

  • Important security fixes from Jenkins 2.252 and 2.235.4. (security advisory)
  • Stop pre-formatting agent logs to prevent deadlocks (regression in 2.231). (issue 63458)
  • Fix button that copies API token to clipboard (regression in 2.238). (issue 63274)
  • Restore wrapping tabs into multiple lines instead of overflowing (regression in Cacher 2.9.0 Product Key - Crack Key For U. (issue 63180)
  • Normalize widget colors to be consistent with the new color palette. (Fixes bread crumbs flash in Dark Theme)
  • Empty installed plugins table text is readable again (regression in 2.249). (issue 63276)
  • Show build time data in the Build Time Trend Page (regression in 2.245). (issue 63232)
  • Replace text references to slave with agent in Japanese documentation and messages. (issue 63166)
  • Fix backspace key sometimes did not delete text from the Script Console on a Mac (regression in 2.248). (issue 63342)
  • Fix regular expression validator UI location (regression in 2.244). (issue 63308)
  • Prevent concurrent build deletion. (issue 61687)

Notable changes since 2.235.5:

  • Release 'alpha' dark theme. (issue 60924, pull 4752, issue 62515, pull 4763, pull 4772, pull 4814, pull 4842, pull 4843, Dark Theme repository, Introducing the Jenkins Dark Theme)
  • Stop supporting .NET Framework 2.0 for launching Jenkins server and agents as a Windows service. .NET Framework 4.0 or above is now required. (announcement, upgrade guidelines, issue 60005, issue 61862, Windows support policy)
  • Update Windows Service Wrapper (WinSW) from 2.3.0 executable for .NET Framework 2.0 to 2.9.0 for .NET Framework 4.0. Includes numerous improvements and bugfixes. Most notably, the service installer will now ask for permission elevation if the required. (changes summary, full WinSW changelog, Windows Agent Installer 2.0 changelog)
  • Show in plugin manager when newer releases of plugins exist but aren't being offered due to unsatisfied requirements. Show warnings for deprecated plugins in the update manager and administrative monitors. (pull 4073, issue 59136, pull 4742, issue 62332)
  • Provide a more modern look and feel for the Jenkins UI. (issue 62698, pull 4808, issue 61973, pull 4700, issue 62750, pull 4816, issue 56109, pull 4820, issue 63002, pull 4835, Configuration UI Accessibility: Tables to Divs migration, pull 4782, issue 4767, issue 62175)
  • Remove page generation timestamp from the footer. (issue 61806)
  • Allow users with Overall/Manage permission to configure Node Monitoring and to reload configuration from disk. (issue 62264, pull 4724, issue 61458, pull 4728)
  • Add system read support for 'Node Monitoring Configuration', configuring clouds, viewing agent configuration, system information, and logs. (issue 61206)
  • Support Bearer tokens in Jenkins-CLI parameter. (pull 4673)
  • Security hardening: Always round-trip password form control values in an encrypted form, even if not backed by an encrypted field. In case of problems, this can be disabled by setting the system property to on startup. (issue 61808)
  • Security hardening: Always use a placeholder value for password form control values Cacher 2.9.0 Product Key - Crack Key For U item related configuration forms when the user is missing Item/Configure permission, even if not backed by an encrypted field. In case of problems, this can be disabled by setting the system property to. (issue 61808)
  • Fix the default domain name in Windows service configurations. (issue 12660, Windows Service Wrapper 2.7.0 changelog)
  • Update Winstone from 5.9 to 5.10. Update Jetty from 9.4.27.v20200227 to 9.4.30.v20200611. Add option that activates automatic HTTP request redirects to HTTPs. (pull 4811, 9.4.28.v20200408 changelog, 9.4.29.v20200521 changelog, 9.4.30.v20200611 changelog)
  • Fix option which had no effect (regression in 2.224). (issue 61823)
  • Update Stapler from 1.259 to 1.260. (issue 61438, pull 4813, Stapler 1.260 changelog)
  • Add the ability to filter out environment variables for Shell and Windows batch build steps. (issue 62014)
  • Fix error caused by misbehaviour in (regression in 2.241). (issue 62723)
  • Remove the fallback Jenkins URL from the JNLP launch file so that WebSocket agents can be connected over Java Web Start. (issue 63014)
  • Allow fingerprint storage engine to be selected from the configuration page. Add new external fingerprint storage API methods. (pull 4834, issue 62345, pull 4731, JEP-226, Fingerprint API Javadoc, Redis reference implementation)
  • Developer: Add banner. (issue 62747)
  • Developer: Add new extension points to define build step environment filters (currently in beta). (issue 62014)
  • Internal: Upgrade to Remoting 4.5. This switches agent.jar and remoting.jar to a code-signing certificate owned by the CDF. (pull 4832, Remoting 4.4 changelog, Remoting 4.5 changelog)

What's new in 2.235.5 (2020-08-17)

  • Important security fixes. (security advisory)
  • Major update of the Alpine-based Jenkins Docker image. Jenkins Docker image for Alpine now uses Alpine 3.12 and AdoptOpenJDK 8u262. (upgrade guide)

What's new in 2.235.4 (2020-08-12)

A new GPG signing key is used for the Jenkins long term support package repositories. Follow the instructions in the Linux repository signing blog post to install the new public key on your computer.

  • Important security fixes. (security advisory)
  • Use new 64 bit Windows installer with service account checks and port validation. Supports 64 bit Java 8 and 64 bit Java 11. (Announcement, Upgrade guide)
  • Allow graceful shutdown when SCM triggers are configured. (issue 62695)
  • Fix error caused by misbehaviour in (regression in 2.241). (issue 62723)

What's new in 2.235.3 (2020-07-27)

What's new in 2.235.2 (2020-07-15)

What's new in 2.235.1 (2020-06-17)

Changes since 2.235:

  • Make plugin manager work on Internet Explorer 11 again (regression in 2.231). (issue 62163)
  • Prevent telemetry warnings about missing classes when running with Java 11 (regression in 2.231). (issue 61920)
  • Fix a deadlock involving custom loggers during agent startup (regression in 2.231). (issue 62181)
  • Prevent Old Data Monitor from failing plugin loading in the case of class field unmarshalling issues. (issue 62231)

Notable changes since 2.222.4:

  • Various improvements to the plugin manager, including: It no longer shows all available plugins by default; use search field to find plugins. They are now sorted by popularity by default. Additionally, categories are no longer used to group plugins, instead they're shown as labels. (issue 61166, pull 4580, pull 4513, pull 4588, pull 4534, pull 4591, pull 4535, pull 4589, pull 4584)
  • Organize entries on the Manage Jenkins page into categories and show them in a grid. (pull 4546)
  • Remove 'auto refresh' feature, including now obsolete auto refresh telemetry capability. (pull 4503)
  • Users with extended read permission now get a more read-only looking UI. (issue 61202, pull 4479, Read-only Jenkins Configuration blog post)
  • Allow users with Overall/SystemRead permission to view About Jenkins, Manage Plugins, Global Security Configuration, and System Log. (issue 61205, issue 61201, issue 61203, issue 61207, issue 61455, issue 61208, issue 61208)
  • Distinguish between defined (*****) and undefined (N/A) password on read-only configuration forms for users with or permissions. (issue 61812)
  • Allow users with Overall/Manage permission to access the System Information, Prepare for Shutdown, and About Jenkins management links. Usage Statistics in Global Configuration is now also configurable by users with that permission. (issue 61456, issue 61453, issue 61457, issue 61455)
  • Use modern system fonts provided by the browser when possible. Changes font size for body copy and headings to improve consistency and legibility. (issue 60921)
  • Restyle buttons. Add support for large buttons, hyperlinks styled as buttons and icon-only buttons. (issue 61840)
  • Restyle the help icon. (pull 4663)
  • Improve styling of alert banners to be more visually appealing and to better match existing user interface components. Alerts now fully cover the navigation bar while they are displayed instead of covering only a portion of the navigation bar. (issue 61478)
  • Suppress error stack traces for non-administrator users as core capability. (issue 60410)

What's new in 2.222.4 (2020-05-24)

  • Prevent a form validation "404 Not Found" error when the resource root URL configuration points at a previously configured resource root URL (regression in 2.222.1). (issue 62133)
  • Upgrade to Remoting 4.2.1 to fix an issue with large payloads over WebSockets. Requires a matching with remoting 4.2.1 or later. (issue 61409, pull 4601, pull 4596, Remoting 4.2.1 changelog, WebSockets blog post, JEP-222)
  • Update Groovy Init hooks to run after all job configurations are adapted. (issue 61694)
  • Fix spacing between error messages in Setup Wizard (regression in 2.222.1). (issue 61660)
  • Fix input field hints for tools like the git plugin that search the PATH for their executable (regression in 2.222.1). (issue 61711)
  • Remove grey bar below eset smart security premium crack 2019 - Free Activators form elements for read only users. (issue 61284)
  • Distinguish between defined (*****) and undefined (N/A) password on read-only configuration forms for users with Overall/SystemRead or Item/ExtendedRead permissions. (issue 61812)
  • Users with extended read permission now get a more read-only looking UI. (issue 61202, pull 4479, issue 61321, pull 4541)

What's new in 2.222.3 (2020-04-24)

  • Use the saved global build discarder configuration on restart. (issue 61688)
  • Fix proxy form validation when a password is set (regression in Cacher 2.9.0 Product Key - Crack Key For U. (issue 61692)
  • Prevent NullPointerException when hitting Check Now against a custom update center without tool installer metadata. (issue 60788)
  • Prevent one occurrence of "Jenkins.instance is missing" during Jenkins restart. (pull 4525, issue 60454, issue 55070, issue 59992, issue 61192)
  • Developer: Make and work on objects that aren't. (issue 61465)
  • Developer: Prevent spurious deprecation messages by removing the deprecated findbugs-annotation. (issue 61279)

What's new in 2.222.2 (2020-04-22)

Jenkins 2.222.2 was not packaged or delivered. All changes planned for 2.222.2 are included in 2.222.3.

  • Jenkins 2.222.2 was not placed in the artifact repository or on the download site.

What's new in 2.222.1 (2020-03-25)

Global build discarder configuration is not loaded from disk when Jenkins starts (JENKINS-61688). Configuration is saved but not loaded on restart. Jenkins 2.222.1 will always start with the default configuration of the Job Build Discarder. Custom global build discarder configuration is ignored on restart. The default global build discarder is configured each time that Jenkins restarts.

Changes since 2.222:

Notable changes since 2.204.6:

  • Revamp the layout and icons of the header bar and breadcrumbs. Instances with plugins that depend on details of the Jenkins layout (e.g. Simple Theme Plugin) may experience UI/layout problems. A new experimental header color scheme can be enabled by setting the system property to. (issue 60920)
  • Add globally configured build discarders that delete old builds not marked as "keep forever" even if there is no, or a less aggressive, per-project build discarder configured, executed periodically and after a build finishes. (pull 4368)
  • Move cloud configuration from Configure System into its own configuration form on the Manage Nodes page. (pull 4339)
  • Remove Enable Security checkbox in the Global Security configuration. (issue 40228)
  • Remove the ability to disable CSRF protection. Instances upgrading from older versions of Jenkins will have CSRF protection enabled and the default issuer set if they currently have it disabled. (pull 4509)
  • Redesign password fields to prevent password auto-fill except for the login form. Reduce browsers offering to update stored passwords. Revert by setting the system property to. (pull 3991)
  • Deprecate the macOS native installer packaging. (Jenkins macOS native installer deprecation)
  • Remove old, deprecated, unsupported agent protocols, and. Update Remoting from 3.36 to 4.2 to remove unsupported protocols and add WebSocket support. (issue 60381, Remoting 3.40 release notes, Remoting 4.0 release notes, Remoting 4.0.1 release notes, Remoting 4.2 release notes)
  • Add experimental WebSocket support. (JEP-222, blog post)
  • Extends the current milestones so plugins can update jobs and configuration during Jenkins initialization. Adds initialization milestones:. (issue 51856)
  • Introduce a new experimental UI that can be enabled by setting the system property to. Currently it includes a new header color scheme, more changes to be added as a part of the UI/UX revamp. (pull 4463, issue 60920, JEP-223, Jenkins UX SIG)
  • Add a new experimental permission which allows a user to configure parts of the global Jenkins configuration without having the permission. This is an experimental feature, disabled by default, that can be enabled by setting the system property to. (pull 4501, issue 60266, JEP-223)
  • Add a new experimental permission, which gives (almost) full read access to the Jenkins instance. The permission is disabled by default, install the Extended Read Permission plugin to activate it. (pull 4506, issue 12548, JEP-224, Extended Read Permission plugin)
  • The environment variable may now be used from (non-Pipeline) builds to access a temporary directory associated with the build workspace. (issue 60634)
  • Deprecate the, and permissions. Permissions were announced as dangerous and disabled by default in major authorization plugins in 2017. Custom authorization strategy implementations that grant without implying one or more of these three permissions will no longer work as expected. Configurations that grant any of these permissions to users without will no longer work as expected. (pull 4365, issue 60266, JEP-223, 2017-04-10 security advisory for Matrix Authorization plugin, 2017-04-10 security advisory for Role-Based Authorization plugin)
  • Fix NullPointerException when getting a list of runs with a status threshold (regression in 2.202). (issue 60884)
  • User is no longer logged out when authenticating another user. (issue 59107)
  • Winstone 5.9: Fix support of system logging customization (regression in 2.204.5) (pull 4452, issue 57888, Winstone 5.9 changelog, Jetty 9.4.27 changelog)

What's new in 2.204.6 (2020-03-25)

What's new in 2.204.5 (2020-03-07)

System logging customization defect (JENKINS-57888 - system logging customization) from Jenkins 2.177.2.203.3 is reintroduced in this version as it is considered as less serious than the fixed regressions. There is a plan to fix it again in 2.222.1.

  • Fix propagation of the maximum form content size and form content keys number (regression in Jetty 9.4.20 and Jenkins 2.204.3). (issue 60409)
  • Fix improper reverse proxy redirects to 127.0.0.1 due to X-Forwarded-Host and X-Forwarded-Port ordering issue (regression in Jetty 9.4.20 and Jenkins 2.204.3). (issue 60199)
  • Revert Winstone from 5.8 to 5.3 to resolve embedded Jetty web container regressions in later Winstone versions. High default maximum form size limit and reverse proxy redirection are restored (regressions in 2.204.3). (issue 60409, issue 60199, Winstone changelog)

What's new in 2.204.4 (2020-03-03)

  • Fix a KeyStores with multiple certificates are not supported error from Jetty when passing certain kinds of certificates, such as domain wildcards (regression in 2.204.3). (pull 4539, issue 60857, Winstone 5.8 release notes)

What's new in 2.204.3 (2020-02-28)

  • Internal: Winstone 5.7: Change the Jetty thread pool name to "Jetty (winstone)" (pull 4452, issue 60821, Winstone 5.7 release notes)
  • If the Jenkins root URL has been configured by scripts prior to running the setup wizard, skip the location configuration panel even if selecting the option to skip creation of an admin user. (issue 60750)
  • Prevent inaccurate warnings about missing classes on Java 11 triggered by JavaMelody when Monitoring Plugin is installed. (issue 60725)
  • Include details in the system log when a build rotation fails. (issue 60716)
  • Fix java version check for AdoptOpenJDK 11. (issue 60678)
  • Prevent Jenkins page rendering from being blocked when the update center data parsing is in progress. (issue 60625)
  • Winstone 5.7: Fix support of system logging customization (regression in 2.177). (pull 4452, issue 57888, Winstone 5.7 release notes)
  • Fix null pointer exception in Agent API when the agent is offline (e.g. retrieving agent version or OS description). (issue 42658)

What's new in 2.204.2 (2020-01-29)

  • Important security fixes. (security advisory)
  • User is no longer logged out when authenticating another user. (issue 59107)
  • Security hardening related to Stapler routing.
  • Security hardening: Set to in REST API responses.
  • Disable multiple deletion attempts if is zero. (issue 60351)
  • Prevent 'zombie' executors on built-in node by removing one-off executors in Computer.removeExecutor. (issue 57304)
  • Fix AtomicFileWriter performance issue on CephFS when creating an empty file. (issue 60167)
  • Developer: ViewGroupMixIn#getPrimaryView() may returnand needs to be checked by plugins depending on this version of weekly and beyond. It is an intermediate state until a default view is implemented. (issue 60092)

What's new in 2.204.1 (2019-12-18)

Configuration as code plugin users upgrading to Jenkins 2.204.1 should review the LTS upgrade guide global configuration save topic and the LTS upgrade guide download settings topic

Changes since 2.204:

  • Show a tooltip with the full link name when hovering over sidebar links. (issue 59508)
  • Prevent faulty subtask contributors from leaving builds running forever. (issue 59793)
  • Fix column sorting in the Plugin Manager Install pane. (issue 59665)

Notable changes since 2.190.3:

  • Prevent calls to persisting data before we have finished loading the in-memory model. This prevents possible corruption of the main Jenkins configuration. (issue 58993)
  • Remove the ability to download update center metadata using the user's browser (deprecated since 2015). Jenkins will no longer inform about available updates without a connection to update sites. We recommend the use of a local mirror of our update sites, or a self-hosted update center like Juseppe in these situations. (pull 3970)
  • Allow time zone to be set on a per-user basis. (issue virtual dj 8 pro infinity crack - Activators Patch
  • Add an option for a Resource Root URL through which Jenkins will serve user-generated static resources like workspace files or archived artifacts without the need for Content-Security-Policy headers. (issue 41891)
  • Stop bundling Maven Plugin, Subversion Plugin, and several other plugins inside the Jenkins war file. In very rare cases, this could result in problems when attempting to install plugins compatible with Jenkins before 1.310. The Jenkins project is currently not publishing any such plugins. (pull 4040)
  • Deprecate the macOS native installer in favor of Homebrew. (macOS Native Installer Deprecation blog post)
  • Revert changes in forms submission in Jenkins classic UI with Firefox have caused a regression on forms with "file" inputs. These were made to anticipate a bugfix in Firefox which has been backed out since. (regression in 2.173) (issue 58296, issue 53462, Firefox issue 1370630)
  • Remove 100 character length limitation of build description in build history widget. (issue 19760, issue 31209)
  • Update Remoting from 3.33 to 3.36. Adds a new connection mode for inbound TCP agents. Update minimum required remoting version to 3.14. Adds command line options "-help" and "-version". (Remoting 3.36 release notes, pull 4193, Remoting 3.35 release notes, pull 4208, pull 4186, issue 53461, pull 4165, Remoting 3.34 release notes, Remoting connection steps reduced)

What's new in 2.190.3 (2019-11-20)

  • Robustness: Do not allow users to resubmit requests using POST on URLs requiring a form submission, as that will fail anyway. (issue 59514)
  • The permalink was not being cached in the file. (issue 56809)
  • Fix labels to Atom feed links. (issue 48375)
  • Revert changes in forms submission in Jenkins classic UI with Firefox. Changes caused a regression on forms with "file" inputs. These were made to anticipate a bugfix in Firefox which has been backed out since. (regression in 2.164.3) (issue 58296, issue 53462, Firefox issue 1370630)

What's new in 2.190.2 (2019-10-28)

  • URLs of some projects with emojis in their name were inaccessible. (issue 59406)
  • Increase client-side keep-alive ping frequency on the HTTP-based CLI to prevent timeouts. (issue 59267)
  • Internal: returned when an error occurred even though it shouldn't. (issue 59580)

What's new in 2.190.1 (2019-09-25)

Changes since 2.190:

Notable changes since 2.176.4:

  • Jenkins no longer creates symbolic links inside project or build directories. The Build Symlink plugin may be installed to restore this functionality if desired. URLs such as are not affected, only tools which directly access the filesystem. (issue 37862)
  • Remove Trilead SSH library from Jenkins core and make it available in a new detached plugin. (issue 43610)
  • Add support of emojis and other non-UTF-8 characters in job names. 🎉 (issue 23349)
  • Update Windows Agent Installer from 1.10.0 to 1.11, enabling TLS 1.2 on agent downloads when running with .NET 4.6 or newer. (issue 51577, full changelog)
  • Update Winstone-Jetty from 5.2 to 5.3 to update Jetty to 9.4.18. (pull 4016, full changelog, Jetty 9.4.18 changelog, Jetty 9.4.17 changelog, Jetty 9.4.16 changelog)
  • Update JNA from 4.5.2 to 5.3.1 to fix issue with shared library loading on AIX when using OpenJDK. (issue 57515)
  • Update Remoting to 3.33. (issue 57959, issue 50095, issue 57713, full changelog)
  • Support setting excludes and case sensitivity in the build step in Pipeline and other job types. (documentation, pull 3915)
  • Improve Configuration-as-Code compatibility of. (issue 57121)
  • Stop using the argument in the CLI command. (pull 4123)
  • Remove obsolete session cookies when logging out, preventing errors related to headers being too large. (issue 25046)
  • Add support for IPv6 addresses in the Jenkins URL configuration. (issue 58041)
  • Allow distinguishing between new projects, disabled projects, and those with aborted builds through differently shaded build balls. (pull 3997)
  • Add a warning when cron trigger spends a long time in its execution. (issue 54854)
  • Batch up plugin installations in setup wizard to improve performance. (pull 4124)
  • The default interval for node monitors (e.g. free disk space) can now be changed by setting the system property. (pull 4105, Jenkins features controlled by system properties)

What's new in 2.176.4 (2019-09-25)

2.176.4 and 2.190.1 contain the same security fixes. We're providing an additional release of the 2.176.x LTS line to allow administrators to apply security updates without having to perform a major upgrade.

What's new in 2.176.3 (2019-08-28)

  • Important security fixes. (security advisory)
  • The plugin manager UI no longer prevents disabling a plugin when other plugins only have optional dependencies to it. (issue 33843)
  • Fix performance issue when using "Remember me". (regression in 2.160) (issue 56243)
  • Do not throw exception when testing proxy configuration. (regression in 2.168) (issue 57383)
  • Prevent occasional on Jenkins restart and invalidate the user session. (issue 55945)

What's new in 2.176.2 (2019-07-17)

  • Important security fixes. (security advisory)
  • A thread pool used to wait for external processes to complete could leak class loaders. (issue 57725)
  • Make sure detached plugins (plugins whose functionality used to be part of Jenkins itself) are installed upon Jenkins startup when needed as implied dependencies of other plugins which were already present. This simplifies compatibility for specialized installation scenarios not using the update center, such as when Jenkins is run from a Docker image prepackaged with some plugins. (issue 57528)
  • Update WinP from 1.27 to 1.28 to fix problems with a missing DLL and flickering console window in the Windows graceful process shutdown logic. (issue 57477, full changelog)
  • Replace some exception stack traces related to agent channels with simpler messages. (issue 57993)

What's new in 2.176.1 (2019-06-10)

Changes since 2.176:

  • Restore Chinese localized resources used by the setup wizard. (issue 57412)
  • Robustness: Do not put agent offline for runtime exceptions in. (issue 57111)

Notable changes since 2.164.3:

  • Support for the Remoting mode of the CLI ( option) has been removed. (pull 3838, announcement blog post)
  • Remove misleading symbol for password parameter definitions, since it's actually stored encrypted. (issue 56776)
  • Remove built-in support for CCtray (cc.xml) files. To restore this feature, install the CCtray XML Plugin. (issue 40750)
  • Add CLI command which allows aborting builds. (issue 11888)
  • Add support for turning off a log recorder in the logger configuration. (issue 56200)
  • Add the run parameter filter value to REST API responses. (issue 56554)
  • Update status icon of a build when the build is finished. (issue 16750)
  • Remove misleading references to Java Web Start and JNLP from GUI surrounding inbound Jenkins agents. (pull 3998)
  • Inform administrators about potentially unsafe permissions setup involving builds running as the virtual SYSTEM user. (issue 24513)
  • Add a log message to build logs when builds run with the virtual SYSTEM authentication. (pull 3908)
  • Migrate all Chinese localization resources into Localization: Chinese (Simplified) plugin. (pull 4008)
  • Adjust stream flushing behavior for code running remotely on agents for better performance. This may lead to loss of messages for plugins which print to a build log from the agent machine but do not flush their output. Use to restore the previous behavior for freestyle builds. Note that Pipeline builds always expect remote flush. (pull 3961)
  • Update Winstone from 5.1 to 5.2 to make HTTPS cipher exclusions configurable. (issue Cacher 2.9.0 Product Key - Crack Key For U 56591, full changelog)
  • Remove Mailer related localized strings from core. Make sure you use Mailer Plugin 1.23. (issue 55292)
  • Do not offer a workspace lease to a new build Cacher 2.9.0 Product Key - Crack Key For U it is already in use by a (Pipeline) build running across an agent reconnection. (issue 50504)
  • Developer: Update Stapler from 1.256 to 1.257 to add support for loading localized webapp resources from any plugin. Add interface for plugins to participate in localized resource lookup. (JEP-216, full changelog)
  • Developer: Update Localizer library from 1.24 to 1.26 allowing plugins to override the lookup for localized resource files. (pull 3896, JEP-216, full changelog)
  • Developer: Add Jelly UI component for multi-line secrets analogous to for single-line. (pull 3967, Storing Secrets in Jenkins)
  • Developer: may now be used from agent-side code. See. (pull 3961)

What's new in 2.164.3 (2019-05-09)

  • Corrupted console notes could cause an uninformative to be thrown from and build log display to be broken. (issue 45661)
  • The setup wizard did not properly escape passwords, resulting in errors with certain special characters. (issue 56856)
  • Make form submit buttons on the Jenkins classic UI compatible with potentially upcoming Firefox bug fix. (issue 53462, Firefox bug 1370630)
  • Properly flush output from the Maven console annotator. (issue 56995)
  • Make Debian/Ubuntu launcher script work with Java 11. (issue 57096)
  • Re-enable Stapler request Cacher 2.9.0 Product Key - Crack Key For U telemetry. (issue 57167)

What's new in 2.164.2 (2019-04-10)

  • Security fixes. (security advisory)
  • Workspace and artifacts browsing did not work on Windows Server 2016 with Microsoft Docker. (regression in 2.150.2) (issue 56114)
  • Prevent when discarding unreadable fingerprint data. (issue 43218)

What's new in 2.164.1 (2019-03-13)

Changes since 2.164:

    No notable changes in this release.

Notable changes since 2.150.3:

  • Java 11 is now fully supported. Multiple improvements for running Jenkins on Java 11 since 2.150.x, including support for plugins declaring a minimum Java version in their metadata and refusing to load incompatible plugins, and installation of a new JAXB plugin when running on Java 11 to allow use of JAXB APIs from plugins. (announcement blog post, running on Java 11, upgrading to Java 11, issue 52012, issue 52282, issue 55076, issue 55048, issue 55980, issue 55681, issue 52285)
  • The no longer lists items recursively when listing a specific folder. (issue 48220)
  • Add a new CLI command to disable one ore more installed plugins and optionally restart Jenkins. (issue 27177)
  • Update Trilead SSH library to add support for OpenSSH keys with AES256-CTR encryption. (issue 47603, issue 47458, issue 55133, issue 53653)
  • Add support for the ed25519 key algorithm in Jenkins CLI. (issue 45318)
  • Reduce the performance impact of the SECURITY-904 fix when downloading artifacts or workspaces as ZIP file. (issue 55050)
  • Add new category Languages to the plugin wizard, which automatically installs available localization plugins based on browser language. (pull 3626)
  • Update Windows Service Wrapper from 2.1.2 to 2.2.0 and Windows Agent Installer from 1.9.3 to 1.10.0 to support disabling, renaming and archiving service logs. (pull 3854, Windows Service Wrapper changelog, Windows Agent Installer Module changelog)
  • Update SSHD Module from 2.5 to 2.6 to apply a proper Apache Mina idle timeout value when a custom value was set using the. (issue 55978, full changelog)
  • Developer: Login and signup pages redesigned in 2.129 now can receive style contributions ( view for ) from multiple plugins. (issue 54325)

What's new in 2.150.3 (2019-02-13)

  • Improve robustness of console annotators such as the Timestamper plugin in conjunction with certain Pipeline steps such as on an agent with an old. (issue 55257)
  • User account creation by administrators did not show error messages when it failed. (regression in 2.129 and 2.138.1) (issue 52869)

What's new in 2.150.2 (2019-01-16)

  • Important security fixes. (security advisory)
  • Invalidate sessions and CLI authentication caches when changing the user password in the Jenkins user database.
  • Add support for killing child processes on AIX. (issue 16867)

What's new in 2.150.1 (2018-12-05)

Changes since 2.150:

  • Important security fixes. (security advisory)
  • Revert compatibility fix for future releases of Firefox due to regressions it caused since 2.148. (issue 54261, issue 54333, issue 54570)
  • Prevent error in case a CLI command finishes before the input is entirely read. (issue 54310)
  • Avoid error when using the CLI command. (issue 49196)
  • Do not cache CSS/JS resource files for console annotations like Timestamper Plugin across Jenkins restarts. (issue 38719)

Notable changes since 2.138.4:

  • Numerous fixes and improvements to better support running Jenkins on Java 11. (issue 46523, issue 46725, issue 51805, issue 52019, issue 52024, issue 53693, issue 53710, issue 53929, Parent POM 1.49 changelog, Winstone-Jetty 5.1 changelog, Groovy 2.4.12 changelog, Jetty 9.4.12 changelog)
  • Migrate most Simplified Chinese translations into Localization: Chinese (Simplified) Plugin. (pull 3667)
  • Allow use of the command with Job/Read permission. (issue 52181)
  • Wait up to two minutes for process termination before killing it (typically when aborting a build). (issue 17116)
  • Reduce logging level of restart and shutdown related notifications from SEVERE to INFO. (issue 53282)
  • New and environment variables can be used to configure the CLI authentication. (issue 53792)
  • Do not submit telemetry if there's no relevant data. (issue 54137)
  • Use per-trial correlation IDs for telemetry submissions. (issue 54136)
  • Update Remoting from 3.26 to 3.27 to eliminate a potential deadlock. (full changelog, issue 53569)
  • Developer: Add support for the lifecycle method annotation. (issue 52818)
  • Developer: Add interface that allows implementing s to skip explicit calls to. (issue 52818)
  • Developer: Introduce and methods in. (issue 53721)
  • Developer: Introduce new method. (pull 3656)
  • Developer: Add overridable to allow consistent hashing for Pipeline builds in the future. (issue 36547)
  • Developer: mishandled its type parameter, effectively forcing all implementations to use or raw types. (pull 3662)

What's new in 2.138.4 (2018-12-05)

What's new in 2.138.3 (2018-11-08)

  • The initial visibility of nested groups of radio buttons did not accurately reflect the current values. (issue 48516)
  • Improve robustness when search items don't specify a display name. (issue 50795)
  • Update Stapler from 1.254.2 to 1.255 to integrate a fix related to return value handling. (pull 3690, stapler/stapler#149)
  • Add telemetry trial related to Stapler request dispatching. (issue 54029)

What's new in 2.138.2 (2018-10-10)

What's new in 2.138.1 (2018-09-12)

Changes since 2.138:

  • A configured quiet period was interpreted as milliseconds, instead of seconds. (regression in 2.82) (issue 48770)

Notable changes since 2.121.3:

  • Redesigned login, signup, and Jenkins is (re)starting pages. Existing page decorators like Simple Theme Plugin will no longer work with these redesigned pages. (issue 50447, announcement blog post)
  • Replace single per-user API token with new system of multiple, revocable, unrecoverable API tokens with usage tracking. (issue 32442, issue 32776, blog post)
  • The deprecated Jenkins CLI Protocol versions 1 and 2, and Java Web Start Agent Protocol versions 1, 2, and 3 have been disabled. If you still use these protocols (e.g. remoting-based CLI, or old s on agents), you need to re-enable these protocols after upgrade, or upgrade the clients. The same recommendations as in The 2.121.x upgrade guide for remoting changes apply here. (issue 48480)
  • Check SHA-512 or SHA-256 checksums of update site and tool installer metadata and core and plugin downloads if the update site provides them. (pull 3356)
  • Optional extensions are now loaded without requiring to restart Jenkins after installing an optional dependency. (issue 50336)
  • Upgrade Winstone from 4.2 to 4.4 to update Jetty from 9.4.8.v20171121 to 9.4.11.v20180605, adding an option to enable JMX when running Jenkins using. (pull 3422, pull 3497, full changelog, Jetty 9.4.11 changelog, Jetty 9.4.10 changelog, Jetty 9.4.9 changelog, JMX Documentation for Jetty, full list of options)
  • Upgrade Remoting from 3.21.1 to 3.25 to have agents check availability of the controller's TCP Agent Listener port when connecting over TCP. (issue 51818, issue 52204, Remoting 3.22 changelog)
  • Upgrade Bytecode Compatibility Transformer from 1.8 to 2.0-beta-2, upgrading ASM from 5.0.1 to 6.2 to improve support of Java 9+ runtimes. (issue 51837, supported Java versions)
  • Update Executable WAR from 1.39 to 1.41 to allow running Jenkins with incompatible (too new) Java versions by setting the flag. (issue 51155, issue 51994, issue 46622, Executable WAR 1.40 changelog, Executable WAR 1.41 changelog, supported Java versions)
  • Update instance identity module from 2.1 to 2.2 to improve Java 11 compatibility. (issue 51965, full changelog)
  • Update JNA from 4.2.1 to 4.5.2 to add support for s390x, update GNU C minimal requirement to 2.7 on Unix platforms. (issue 52771)
  • Add a new CLI command to enable one or more installed plugins and optionally restart Jenkins. (issue 52822)
  • Add support for Zip files larger than 4 GB (Zip64). (issue 52356)
  • Add modification timestamp to files in directory browser views such as archived artifacts and workspaces. (issue 20998)
  • Export path to agent file system root directory in remote API. (pull 3206)
  • Jenkins remote API: Export fingerprints for builds which do not derive fromlike Pipeline builds. (issue 51667)
  • Some deserialization rejections are now logged on WARNING log level, instead of only on FINER. (issue 51666)
  • Instances of some item types could not be renamed. (regression in 2.110) (issue 52164)
  • Don't fail to archive artifacts when attributes cannot be preserved, instead log a message and proceed without preserving attributes. (regression in 2.120) (issue 52325)
  • Some types of builds, like pipelines, would sometimes run concurrently even when that was disabled. (issue 41127)
  • Developer: Introduce extension point, which allows decorating the redesigned login page. (announcement blog post)
  • Internal: Update parent POM. Jenkins now requires Maven 3.5.4 or newer to build. (pull 3567)
  • Internal: Various improvements related to incremental Maven releases. (issue 51187, issue 51247, pull 3430, JEP-305)

What's new in 2.121.3 (2018-08-15)

  • Security fixes. (security advisory)
  • Security hardening related to Stapler routing. (SECURITY-595 in the 2018-12-05 security advisory)
  • Robustness: Don't break queue processing when the configured queue sorter throws exceptions. (issue 52159)
  • Allow for use in XStream (XML serialization) and Remoting (agent communication). (issue 52534)
  • Fix a potential deadlock between queue maintenance and asynchronous execution. (issue 46248)
  • Security hardening: Prevent files in archives from being written to a path outside the destination directory. (issue 51777)
  • Dynamically loaded plugins now have any / extensions scheduled. (issue 28683)
  • Developer: Remove Beta API. (issue 52417)

What's new in 2.121.2 (2018-07-18)

  • Important security fixes. (security advisory)
  • Update Remoting from 3.20 to 3.21 to apply logging enhancements and better support. (issue 51223, issue 50965, issue 51551, Remoting 3.21 changelog)
  • Improve diagnostics of corrupted plugin archives during plugin dynamic loading. (issue 51608)
  • Robustness: A buggy implementation should not block Jenkins startup. (issue 50217)
  • Diagnostics: Log stack traces in JEP-200 rejection messages when logging level is or above. (issue 51355)
  • Improve Jenkins root URL validation. (issue 51158)
  • Do not remove workspaces for projects with builds in progress. (issue 27329)
  • If using the Artifact Manager on S3 plugin with the (non-default) option to delete artifacts, they were not deleted when the entire build was deleted. (issue 51819)
  • Don't monitor response time on offline agents. (issue 20272)
  • Copying Run parameters did not work as expected as called the wrong constructor. (issue 51650)
  • Restore implied dependency on JDK Tool Plugin from Apache HttpComponents Client 4 API Plugin to fix dependency problems. (issue 51483)
  • Actions created from a that got attached to an item in the queue are no longer persisted, which could previously lead to duplicate actions shown for builds. (issue 51584)
  • Prevent unhandled when loading fingerprints from corrupted files. (issue 51179)
  • Do not duplicate caller stack trace when fails. (issue 51082)
  • Fix behaviour of Advanced button when a element is nested inside. (issue 14632)
  • Developer: implementations can now set channels with a custom implementation. (issue 51541)
  • Developer/Internal: Remove use of a Guava method deleted in later versions, which could cause problems for plugins running functional tests. (issue 51779)
  • Developer API: now returns the default charset when it is not configured. (issue 51971)
  • Developer API: Prevent in with. (issue 51955)

What's new in 2.121.1 (2018-06-07)

Changes since 2.121:

  • Faster list rendering of Plugin Manager » Available. (issue 51205)

Notable changes since 2.107.3:

  • Install from java.sun.com installation method for JDK tools has been moved to a new JDK Tool Plugin. (issue 22367)
  • It is no longer possible to rename jobs from their configuration page. Jobs now have a link in the side panel titled "Rename" that links to a page specifically dedicated to renaming jobs. (issue 22936)
  • The Job/Build permission no longer implies the Job/Cancel permission. The latter needs to be granted explicitly to users who previously got it via this relationship. (issue 14713)
  • Update Remoting from 3.17 to 3.20 in order to apply various performance and diagnosability improvements, such as logging warnings when anonymous classes are serialized over a Remoting channel, and allowing Jenkins core to always deserialize exceptions even if they're not allowed. To benefit from the latter improvement, Remoting needs to be updated on the agent side as well. (issue 49415, issue 49472, issue 48561, issue 49994, issue 49618, full changelog)
  • Fix issue preventing process killing vetoes being effective on agents. (issue 9104,  extension point implementations)
  • Pipeline builds could not be started if the Authorize Project plugin was configured to associate the build with a user to whom the authorization strategy was configured to deny Agent/Build permission on the built-in node. (issue 46652)
  • in a Pipeline failed to throw a normal exception when there were no matches. (issue 47142)
  • Allow use of lists of options as provided by the Pipeline snippet generator for choice parameters. (issue 26143)
  • Default Crumb Issuer proxy compatibility can be enabled on first startup by setting the system property to on startup. (issue 50767, Jenkins features controlled by system properties)
  • Introduce system property to write logs usually written to to another location. (issue 50291)
  • Remove the options to define custom Build Record Root Directory and Workspace Root Directory on the Configure System form to prevent unexpected failures during runtime. Instead, these locations can now be customized using system properties on startup. (issue 50164, Jenkins features controlled by system properties)
  • Use case-insensitive autocompletion for item selection dialogs if the current user prefers case-insensitive search. (issue 38812)
  • Better autocompletion for loggers supporting multiple tokens and proposing useful parent loggers. (pull 3345)
  • Show more entries in the search results dropdown and search results page. (issue 47020)
  • Ensure as much as possible that the Jenkins root URL is defined by adding a new setup wizard page and an administrative monitor. (issue 31661)
  • Add symbol for a permanent agent in Structs Plugin based configuration. (issue 49661)
  • Issue warnings to the system log when attempts are made to use classes with unpredictable names and serial forms (such as anonymous classes) in Remoting or XStream (de)serialization. (issue 49795)
  • Update Winstone from 4.1.2 to 4.2 to update Jetty from 9.4.5 to 9.4.8 for various bugfixes and improvements. (full changelog, Jetty 9.4.6 changelog, Jetty 9.4.7 changelog, Jetty 9.4.8 changelog)
  • Archiving artifacts now preserves file permissions and last modification time. (issue 13128)
  • Prevent some cases of linkage errors relating to Servlet classes when code is run on an agent. (issue 46386)
  • Make the logic for adding nodes atomic, so that if a newly added node fails to be persisted it will not exist in a partly-initialized state. (issue 50599)
  • Update WinP from 1.25 to 1.26 to fix loading of WinP libraries on Windows inside Weblogic web container. (issue 48347, full changelog)
  • Developer: JEP-202: Extend API to streamline external artifact storage. API additions are marked beta and may change at any time. (JEP-202, pull 3302)
  • Developer: Subclasses of can implement and return true to get automatic support for renames. Subclasses are also able to dynamically validate renames by implementing. (issue 22936)
  • Internal: Choose more mnemonic s for modules not consumed externally. (pull 3311)

What's new in 2.107.3 (2018-05-09)

  • Important security fixes. (security advisory)
  • Allow and for use in XStream (XML serialization) and Remoting (agent communication). (issue 50939, issue 50616)
  • Internal: Add new update center root CA certificate. (INFRA-1502)
  • Don't log null pointer exceptions on some forms with validation button. (regression in 2.107.2) (issue 50748)
  • Allow users without Overall/Read access to use the and commands. (issue 50324)
  • Fix a race condition in the Setup Wizard that could lead to it being skipped on the first startup when groovy scripts or init scripts are pre-installed. (issue 49401)
  • In rare configurations, agents tried to load unloadable classes from the controller, resulting in on agents. (issue 46386)
  • Make Cancel Shutdown link in side panel work without requiring the page to be reloaded. (issue 44402)

What's new in 2.107.2 (2018-04-11)

  • Security fixes. (security advisory)
  • Display estimated remaining time again for Pipeline jobs. (regression in 2.89.4) (issue 48821)
  • Update Apache Mina SSHD Core from 1.6.0 to 1.7.0 in CLI client. (issue 49565, changelog)
  • Update Executable War from 1.37 to 1.38 to show an error when an attempt is made to run Jenkins on Java 9. (issue 49737, full changelog)
  • Always show the built-in node in the executors widget, even when it is offline. (issue 34712)
  • Periodically persist the build queue so it can be restored on abnormal process termination. (issue 30909)
  • Reduce memory footprint of in descending order. (issue 50056)
  • Add to white-listed classes for use in XStream (XML serialization) and Remoting (agent communication). (issue 49788)
  • JEP-200: Allow deserialization to prevent exception when listing agent files in non-existent directory or invalid filter. (issue 50237)
  • Clean up the files of parameterized projects that contained unnecessary serialized data. (issue 49795)
  • Restore of. (regression in 2.91) (issue 50124)
  • Prevent in in case of race condition. (issue 49971)
  • Make proxy views work inside folders. (issue 49642)
  • Upgrade Winstone from 4.1.0 to 4.1.2 to prevent User session memory leak by setting the default idle session eviction timeout to 30 minutes. (issue 49596, full changelog)
  • Fix translation of 'sign up' in Dutch, used to be 'sign in'. (issue 49498)
  • Improve robustness in case a build with parameters was stored with a list of parameters. (issue 39495)
  • Prevent in when the agent disconnects during a build. (issue 29470)

What's new in 2.107.1 (2018-03-14)

This is the first LTS release that includes the JEP-200 Remoting and XStream serialization allowlist. This core change requires corresponding changes in many plugins for them to be compatible. We strongly recommend that you read the LTS upgrade guide, make sure you have good backups before upgrading, and validate this release in a staging environment first.

Changes since 2.107:

  • Make JEP-200 serialization allowlist more reliable on old versions of Tomcat 8. (issue 49543)
  • Don't show input validation errors in optional numeric form fields. (regression in 2.105) (issue 49387, issue 49520)

Notable changes since 2.89.4:

  • Switch Remoting/XStream denylist to an allowlist. (issue 47736, upgrade guidelines for admins and plugin maintainers, list of plugins known to be impacted)
  • Jenkins now creates XML 1.1 files to be more accepting of unusual contents. (issue 48463)
  • Use Java NIO library instead of native code to create and detect symbolic links and Windows junctions to improve compatibility and robustness. (issue 36088, issue 39179)
  • Use Java NIO to read and write Unix file permissions by default. The previous behavior can be restored by setting the Java system property to. (issue 36088, Jenkins features controlled by system properties)
  • Improve robustness and error handling of various file operations by switching to NIO. (issue 47324, issue 48405)
  • Update Remoting from 3.14 to 3.17 to integrate multiple fixes and improvements. (full changelog, issue 37566, issue 37670, issue 38696, issue 46724, issue 47965, issue 48055, issue 48130, issue 48133, issue 48309, issue 47736, issue 48686, issue 27035, issue 49027)
  • Remove support for unbounded number of SCM polling threads. Previously, the default was infinite and could be set to between 10 and 100. Existing installations with unbounded SCM polling threads will now use the default of 10, and it is no longer possible to use a value outside of this range. (pull 3258)
  • Do not require CSRF crumb to be provided when the request is authenticated using API token. (issue 22474)
  • Introduce new to exit instead of restart. (issue 47043, Jenkins features controlled by system properties)
  • Upgrade Executable War from 1.36 to 1.37 to allow supplying command-line arguments via standard input using the parameter. (pull 3223, documentation)
  • Update SSHD Module 2.0 to 2.4 to update Apache Mina SSHD Core from 1.6.0 to 1.7.0, and fire authentication events in s when a user connects using SSH. (pull 3278, pull 3111, SSHD module changelog)
  • Export for agents and for applicable job types in remote API. (issue 25286)
  • Re-style the Manage Jenkins page, including administrative monitors. (issue 43786, blog post)
  • Define a minimum required version of the Remoting library (agent communication) and print warnings when an older version is connecting. (pull 3250)
  • When Jenkins fails to load plugins, show failures that users need to take action on separate from those due to other plugins failing to load. (pull 3256)
  • Updating Jenkins jobs and views by XML left fields at their old value if not defined in the new XML. (issue 21017)
  • Fix HTTP 404 error when clicking on New View sidebar link from another view. (issue 48447)
  • Upgrade Executable War from 1.36 to 1.37 to prevent multiple copies of in the temp folder from using up disk space needlessly. (issue 22088)
  • Update to task reactor version 1.5 to prevent hanging of Jenkins on startup/reload when an initialization task throws an unhandled exception. (issue 48725, full changelog)
  • Developer: is now deprecated as its semantics have been a source of confusion for some time. Use in typical cases and in rare cases (see Javadoc). (issue 48638)
  • Developer: Deprecate the ambiguous in favor of the or the new methods. (issue 47718)
  • Developer: Capture more authentication-related events in. (issue 27027)
  • Developer: Deprecate in favor of Java's. (pull 3191)

What's new in 2.89.4 (2018-02-14)

  • Important security fixes. (security advisory)
  • Security hardening to prevent problems like SECURITY-624 in the future. (2017-12-05 security advisory, Ant Plugin fix in 2018-01-22 security advisory)
  • Update Stapler from 1.253 to 1.254 to make the form that shows up when a URL requiring is accessed using a different HTTP verb work with CSRF protection enabled. (issue 34254, Stapler changelog)
  • Do not downgrade detached plugins when upgrading Jenkins while its previous version was not properly recorded. (issue 48899)
  • The setup wizard is now resumed upon restart if it hasn't been completed yet, instead of showing the regular login screen. (regression in 2.81) (issue 47439)
  • Reduce memory usage when scheduling pipelines on big clusters. (issue 48348)
  • Improve UI performance with long list of running builds by caching the estimated duration. (issue 48350)

What's new in 2.89.3 (2018-01-18)

  • Make sure detached plugins (plugins whose functionality used to be part of Jenkins itself) are installed when upgrading Jenkins past the version at which the plugin was detached. (issue 48365)
  • Make the system property actually work. (issue 48593, Jenkins features controlled by system properties)
  • Fix a performance regression in Jenkins 2.86 due to lock contention in. (issue 48505)
  • Prevent setup wizard from hanging when the two provided passwords differ, instead show a validation error. (issue 48080)
  • Prevent concurrent installation of Maven on the same node to prevent problems. (issue 34138)
  • Prevent potential when migrating the default "All View" name for a "My Views" user property. (issue 48157)
  • Cache permission names, allowing Jenkins to recover faster after "stop-the-world" Java GC pauses. (issue 48349)
  • Improve user lookup performance, for example from Git changelog calculation. (issue 47429)

What's new in 2.89.2 (2017-12-14)

What's new in 2.89.1 (2017-12-06)

Upgrading to Jenkins 2.89.1 does not install the Command Launcher plugin (see below) as it should. If you're using the Launch agent via execution of command on the master launch method for agents, or cloud provider plugins, make sure to manually install the plugin after upgrading, and restart Jenkins afterwards.

Changes since 2.89:

  • Recover from legacy user configuration folders with characters that are not part of hex escape sequences. (regression in 2.89) (issue 47909)
  • Fix Download from java.sun.com installation method for JDK for downloads requiring an Oracle login after change to the Oracle site. (issue 47448)
  • Update Remoting from 3.13 to 3.14 in order to apply various performance and stability improvements. (full changelog, issue 37566, issue 45294, issue 47425, issue 47901, issue 47942)
  • Update Windows Agent Installer from 1.9.1 to 1.9.2: Do not try to update on Unix agents when they connect. (full changelog, issue 47015)
  • (issue 43852)

Notable changes since 2.73.3:

  • Launch agent via execution of command on the master has been moved to a new Command Launcher plugin and integrated with the Script Security plugin. (issue 47393, Command Launcher plugin site entry, related security advisory)
  • Prevent core or plugin code from mistakenly attempting to serialize jobs, builds, and users except in their intended top-level XML file positions, preventing a class of serious deserialization-related errors. (issue 45892)
  • Developer: Fix time unit handling and its incorrect usage. uses milliseconds as the default unit. It was supposed to parse or suffix to interpret the number as seconds, but that never worked. (issue 44052)
  • Upgrade Stapler library from 1.250 to 1.253. (pull 2956, Stapler changelog)
  • Stapler 1.252: Prevent file handle leak in. (issue 45903)
  • Stapler 1.252: Restore ability to attach views to interfaces. (regression in 2.46) (issue 43715)
  • Stapler 1.253: Servlet 3.1 support, improved Blue Ocean performance and changes of interest to plugin developers. (issue 37062, Stapler changelog)
  • Update Remoting to improve stability and diagnosability. (issue 37567, issue 43985, issue 45522, issue 47132, issue 38711, full changelog)
  • Disable obsolete JNLP, JNLP2, and CLI protocols on new Jenkins installations during Setup Wizard. (issue 45841, announcement blog post)
  • Restart agent communication related threads on both controller and agents when encountering an unhandled exception, if possible, to improve stability. (issue 38711)
  • Default the built-in Jenkins Update Center URL to instead of obsolete HTTP endpoint. This requires a JRE compatible with Let's Encrypt, e.g. Oracle JRE 8u101. (pull 2996)
  • Moved Jenkins agent runtime to file name, and deprecate (but still support) use of legacy. Introduce the environment variable as replacement for. (issue 35451)
  • Improve error reporting when failing to archive artifacts. (pull 2976)
  • Enable to export jobs in folders recursively when accessed with a query parameter named. (issue 36282)
  • Add new administrative monitor warning users about disabled CSRF protection. (issue 47372)
  • Commons Codec library upgraded from 1.8 to 1.9. (pull 3033)
  • Agents JVM must be 1.8+ and a clear message is shown in connection logs if it is not. (issue 44851)
  • Add sidebar link to create new view. (issue 6290)

What's new in 2.73.3 (2017-11-08)

  • Security fixes. (security advisory)
  • Fix Download from java.sun.com installation method for JDK for downloads requiring an Oracle login after change to the Oracle site. (issue 47448)
  • Fix potential HTTP 414 error in form validation of long Batch/Shell tool installer scripts. (issue 47058)
  • Properly display agent launch arguments when using nested launch methods. (issue 47056)
  • Disconnect node on ping timeout instead of leaving the channel half open. (issue 46680)
  • Avoid a possible server-side timeout on long-running CLI commands using plain HTTP mode by sending periodic pings from the client. (issue 46659)

What's new in 2.73.2 (2017-10-11)

What's new in 2.73.1 (2017-09-13)

Two regressions since the previous LTS release have been identified in 2.73.1. One involved Remoting (agent) connections and the other concerns failures to use passphrase-protected ed25519 SSH keys. Please see the LTS upgrade guide for 2.73.1 for more information.

Changes since 2.73:

Notable changes since 2.60.3:

  • Upgrade Groovy from 2.4.8 to 2.4.11. (Groovy 2.4.9 changelog, Groovy 2.4.10 changelog, Groovy 2.4.11 changelog)
  • Integration of Winstone 4: Upgrade bundled Jetty from 9.2.15.v20160210 to 9.4.5.v20170502. This removes support for the deprecated SPDY protocol. The parameter has been removed accordingly and Jenkins may refuse to start if it's set. (full changelog)
  • Jetty 9.4.5: Prevent the 400 Bad Host header error for when operating behind reverse proxy. (issue 40693, corresponding Jetty issue)
  • Winstone 4.1: Add Jetty HTTP/2 connector and corresponding options for Winstone-Jetty. (issue 45438, enabling HTTP/2 support in Winstone-Jetty)
  • Update Remoting from 3.7 to 3.10 adding opt-in support for work directories and improving logging in Jenkins agents. (work directory documentation, logging documentation, remoting changelog, issue 39370)
  • Enable Remoting work directories by default for newly created agents launched via JNLP (Java Web Start Launcher). (issue 44112, feature documentation)
  • SSHD Module 2.0: Update from SSHD Core 0.14.0 to Apache MINA SSHD 1.6.0 in Jenkins DiskInternals Video Recovery 7.7.1.0 Registration key Crack and Jenkins CLI. (changelog, plugin compatibility notice, issue 43668)
  • SSHD Module 2.0: Enable aes192ctr and aes256ctr ciphers if JVM supports unlimited-strength encryption. (issue 39738)
  • Update WinP from 1.24 to 1.25 to improve performance and diagnostics of issues like JENKINS-30782. (full virtual dj 2020 download - Activators Patch
  • Update jnr-posix from 3.0.1 to 3.0.41 to pick up improvements and fixes in the POSIX platforms support. (pull 2904)
  • Freestyle projects may now list Pipeline jobs as downstream and trigger them, without needing to use the Parameterized Trigger plugin or reverse triggers ("Build after other projects are built"). (issue 28113)
  • Internal: Define enabling/disabling in rather than. (issue 27299)
  • Fixed Pipeline compatibility for a number of CLI commands (,and ), as well as some issues affecting error reporting in other commands when used with Pipeline. (issue 30785, issue 41527)
  • Enable simpler syntax for build trigger in pipelines. (issue 34464)
  • Minor optimization to queue maintenance routines and printing of console notes, mainly for the benefit of Pipeline node blocks. (issue 45553)
  • If you have the Authorize Project plugin installed and configured, its configuration will now be treated as final with respect to the behavior of Job/Build checks from Build other projects and Build after other projects are built. Formerly, if a Per-project configurable Build Authorization was enabled globally but some projects did not specify an Authorization, the two aforementioned checks would automatically fall back to checking as anonymous (typically denying build permission). To restore the former behavior, explicitly configure a Project default Build Authorization to be Run as anonymous. Note that this will affect all build-scoped permission checks, including for example Agent/Build. (issue 22949)
  • Internal API: now honors authentication contributed by extensions. (pull 2880)
  • Moved agent port and protocol configuration out of "security" (authentication and authorization) block in Configure Global Security. (issue 4478)
  • Don't reload user records from disk unless explicitly requested to improve performance of user record access. (issue 45737)
  • Plugin Development: Jenkins now no longer publishes a artifact. Plugins using 2.64 or a later version of Jenkins (including 2.73.1) as baseline need to use plugin parent POM 2.30 or later. (issue 24064)

What's new in 2.60.3 (2017-08-17)

  • Contributions to the PATH environment variable could result in malformed values on agents on a platform different from controller's. (issue 14807)
  • Robustness improvements related to agent connections. (issue 43496, issue 38527)
  • JNLP for launching agents now requests Java 8. (issue 45679)
  • Prevent in while the instance is not fully loaded yet. (issue 34914)
  • Fix when calculating culprits. (issue 45516)
  • The CLI command now waits until the reload is finished, and returns an error code if the reload failed. (issue 45256)
  • Remove the "JNLP" protocol references from the TCP Agent Listener log messages. (issue 44103)

What's new in 2.60.2 (2017-07-19)

  • Allow overriding the Jenkins session ID suffix so it doesn't change on every restart, possibly resulting in too many cookies. (how to set session ID, issue 25046, issue 44894)
  • Add documentation for time zone specification for cron patterns (e.g. SCM polling). (issue 9283)
  • Do not submit form when pressing in the plugin manager's filter field. (issue 44523)
  • Jenkins failed to perform some cleanup tasks, including saving the build queue, if stopped via RESTCLIor when restarting from
Источник: https://www.jenkins.io/changelog-stable/

The GWT Release Notes

  • 2.9.0 May 13, 2020
  • 2.8.2 Oct 19, 2017
  • 2.8.1 Apr 24, 2017
  • 2.8.0 Oct 20, 2016
  • 2.8.0 (RC3) Sept 29, 2016
  • 2.8.0 (RC2) Aug 11, 2016
  • 2.8.0 (RC1) July 29, 2016
  • 2.8.0 (Beta1) December 3, 2015
  • 2.7.0 November 20, 2014
  • 2.7.0 (RC1) October 30, 2014
  • 2.6.1 May 9, 2014
  • 2.6.0 January 23, 2014
  • 2.6.0 (RC4) January 9, 2014
  • 2.6.0 (RC3) December 5, 2013
  • 2.6.0 (RC2) December 2, 2013
  • 2.6.0 (RC1) November 7, 2013
  • 2.5.1 March 9, 2013
  • 2.5.1 (RC1) February 5, 2013
  • 2.5.0 October 25, 2012
  • 2.5.0 (RC2) October 4, 2012
  • 2.5.0 (RC1) June 27, 2012
  • 2.4.0 September 7, 2011
  • 2.3.0 May 2, 2011
  • 2.3.0 (M1) April 2, 2011
  • 2.2.0 February 11, 2011
  • 2.1.1 December 17, 2010
  • 2.1.0 October 27, 2010
  • 2.1.0 (RC1) October 12, 2010
  • 2.1.0 (M3) August 25, 2010
  • 2.1.0 (M2) July 2, 2010
  • 2.1.0 (M1) May 19, 2010
  • 2.0.4 June 30, 2010
  • 2.0.3 February 18, 2010
  • 2.0.2 February 12, 2010
  • 2.0.1 February 3, 2010
  • 2.0.0 December 9, 2009
  • 2.0.0 (RC2) November 25, 2009
  • 2.0.0 (RC1) November 17, 2009
  • 1.7.1 September 22, 2009
  • 1.7.0 July 14, 2009
  • 1.6.4 April 7, 2009
  • 1.6.3 March 31, 2009
  • 1.6.2 March 18, 2009
  • 1.5.3 October 17, 2008
  • 1.5.2 August 28, 2008
  • 1.5.1 (RC2) August 5, 2008
  • 1.5.0 (RC1) May 27, 2008
  • 1.4.60 August 28, 2007
  • 1.4.59 (RC2) August 20, 2007
  • 1.4.10 (RC) May 29, 2007
  • 1.3.3 January 18, 2007
  • 1.3.1 (RC)
  • 1.2.22
  • 1.2.21 (RC)
  • 1.1.10
  • 1.1.0 (RC)
  • 1.0.21

Note - M1 = first milestone, RC1 = first release candidate


Release Notes for 2.9.0

Highlights

  • Able to compile projects with jsinterop-base 1.0.0, elemental2 1.0.0, and jsinterop-annotations 2.0.0. With the exception of @JsAsync and @JsEnum, this brings GWT2 to be compatible across these tools with J2CL.

  • Added support for Java language levels 9, 10, and 11.

  • Officially, support is dropped for running the GWT compiler or server-side tooling on Java 7. The GWT distribution is still compiled to run on Java 7 for this release, but no guarantees are made about whether or not this will work. Future versions will compile bytecode for Java 8+. The release was tested and found to work cross platform when run with Java 8, 11, and 14.

Deprecations

  • Elemental has been officially deprecated - it is still included in this release, but may not appear in future releases. Instead, we encourage the use of the Elemental2 libraries, which are compatible with both GWT2 and J2CL.
  • Removed NoSuchMethodException emulation.

Bug fixes

  • Fixes Arrays.binarySearch semantics for float[] and double[]
  • Adds Support multi-line messages in errors/exceptions
  • Adds shutdown hook in DiskCache to clean up temp files
  • Cache Gecko version to lower CPU usage on FireFox
  • Do not assume that “this” is always non null.
  • Updates globals for Firefox version 60.0.2, Chrome 66.0.3359.45
  • Fixes String.regionMatches.
  • Native JsMethods allowed to coexist with implementations with the same name.
  • Make sure lambdas box, unbox and insert erasure casts when necessary.
  • Negative zero treated properly in Double/Float.compare()

Miscellaneous

  • Updates CLDR to version 34.
  • Arrays now implement Cloneable
  • Link backing errors together with a cause attribute, start tracking suppressed errors in addition to the cause in underlying error object.
  • Add AtomicReference to gwt/emul.
  • Propagate script nonces via ScriptInjector
  • Add partial emulation for ExecutorService and ScheduledExecutorService
  • Emulate java.util.concurrent.Flow
  • Emulate javax.annotation{.processing}.Generated
  • Make sure “goog.global” is $wnd if not defined.
  • Add element definition
  • Add Reader and StringReader emulation.
  • Remove GWT version check.
  • Do not show “unusable-by-js” warning for synthetic methods.
  • Update unmodifiableList to throw on Java8 methods.
  • Disable DataflowOptimizer by default and emit a warning when used

For more detail, see the commit log.

Release Notes for 2.8.2

Highlights

  • Supports running in Java 9. Note that this does not yet mean that GWT can compile Java 9 sources, or support the Java 9 JRE changes, but that a Java 9 JRE can be used to compile a GWT project. Do note that the new flag is not supported, but must still be used as in the past.

  • Chrome 61 removed functionality that had been used for reading the absolute top/left values. The internal implementation has been updated to reflect modern standards.

  • Uncaught exception handler will now receive all errors on the page, as handled by. This may potentially be a breaking change if there were misbehaving scripts on the page. To disable this functionality, set the property to :

For more details, see .

Bug fixes

  • LookupMethodCreator creates too large method
  • NativeRegExp should use iframe instance, fixing Edge JIT bug
  • JsProperty getter/setter sometimes were reported as incompatible
  • Instantiating native JsTypes from JSNI results in InternalCompilerException
  • Remove the SUBSIZED characteristic from filtered streams
  • Internal compiler exception when using native JsType varargs in a JsMethod
  • Regression in String.toLowerCase and toUpperCase for some locales, specifically for Turkish
  • Missing bounds check in String.charAt
  • Fix AIOOBE when compiling method references involving varargs.
  • Apply HtmlUnit workaround ensuring that window.onerror is called correctly

Miscellaneous

  • Migrated lang/jre emulation JSNI to JsInterop to share with J2CL
  • Added ErrorProne to gwt builds
  • Improved compliance with CSP
  • Added emulation for java.io.Externalizable
  • Added emulation for java.lang.reflect.Array
  • JSO.equals/hashcode will delegate to the JS object if it has methods with those names
  • Removed outdated or unused parts of project
  • Migrate guava JRE emulation to GWT
  • HtmlUnit tests are now run in batch mode

For more detail, see the issue tracker and the commit log.

Release Notes for 2.8.1

Highlights

  • Elemental1’s JSON parser now correctly throws an exception when a string, object, or array is not correctly ended

  • Support filtering JsInterop types for export, with whitelist/blacklist and wildcards. The flag is still used to enable the feature, but and now exist to specify packages with optional wildcards. Later arguments and patterns override earlier ones.

  • Support “” (any) and “” (unknown) types as a JsType native name. The “Unknown” type can be referred over Object if the type is unknown, while “any” is prefered supertype of any JS type, including primitives.

Bug fixes

  • Fix loading bug in waitForBodyLoaded.js
  • Fix NPE compiling code with a constructor reference (Type::new).
  • Fix bad rewriting of default methods.
  • Make native NativeRegExp refer to the iframe instance.
  • Fix incorrect comparison of object arrays in Arrays.deepEquals.
  • Fixed NullPointerException in handling of Jetty arguments
  • Fixes a bug where JsOptional on override may fail
  • Clear persistent unit cache when relevant options change.
  • Rescue JSOs crossing JsInterop borders.
  • Rescue types represented as natives when supertypes cross JS boundaries.
  • Prevent errorneous floating point expression optimization.
  • Fix the implementation of Stream.anyMatch/allMatch/noneMatch to support streams with null elements.
  • Do not ignore return values of streams.
  • Fix ICE due to intersection types appearing as erasure casts.
  • Fix bad varargs conversion in method reference.
  • Fix: Add role attribute to last sortable column header
  • Properly preserve names in overrides of native methods.
  • Make Array.sort(float[]/double[]) JDK compliant

Miscellaneous

  • Small optimization in String.subString
  • Specialize Objects.equals for strings.
  • Improve primitive cast optimizations.
  • Update global blacklist to chrome 57.0.2987.74.
  • Improvements for compliance with Strict CSP
  • Remove Characteristics manipulation in Collectors

Deprecation

  • Adds deprecation to @GwtScriptOnly

Release Notes for 2.8.0

JsInterop

  • Cleanup/update javadoc for jsinterop annotations.
  • Allow native classes implement native interfaces with overlays.

Release Notes for 2.8.0 (RC3)

Bug fixes

  • Fix erroneous constant propagation in JsProperty field.
  • Fix missing bridges for default methods and functionnal expressions.
  • Fix ArrayDeque’s bug when expanding capacity.
  • Fix missing declaration/initialization of JsOverlay fields.
  • Fix missing error reporting in SDM that leads to NPE.
  • Fix NullPointerException in super dev mode due to Boolean/Double/String devirtualization.
  • Fix generation of methods to access GSS constant in InterfaceGenerator.
  • Fix incorrect property copying for native JsType subclasses.
  • Fix toString dispatch for subtypes of native JsTypes.

Miscellaneous

  • Improve JsInterop error messages on native type fieds.
  • Update globals for Chrome 54.0.2840.16.

Deprecation

  • Deprecate dangerous RootPanel#clear(boolean).

Release Notes for 2.8.0 (RC2)

Bug fixes

  • Fix incorrect unusable-by-js warning.
  • Fix an issue around DevMode server (jetty) restart.
  • Fix an issue in super dev mode with changing compiler options not triggering full recompiles.
  • Added missing command line parameters to DevMode entry point
  • Fixed a performance regression in String.

Release Notes for 2.8.0 (RC1)

Highlights

  • Partial support for Java 8 standard library APIs (see below for full list).
  • Fix memory leak with Java 8 compilation.
  • Source level set to Java 8.
  • Static and default methods in interfaces aren’t visible to generators. If you want to take advantage of those Java-8isms, you’re encouraged to switch to an annotation processor. This could break existing build if an interface is changed to turn a non-default method into a default method.

Deprecations

  • Classic dev mode deprecated.You can switch back to dev mode for your test cases temporarily by passing gwt.args=‘-devMode&rsquo.
  • Deprecate JSR 303 Bean Validation support (javax.validation, c.g.g.validation). The code hasn’t been maintained for years.

Breaking changes

Compiler

  • Update JS reserved keywords to ES6.
  • Fix instanceof for primitives & string.
  • Make exceptions work across Java/JavaScript boundary
  • Allow casting native arrays to Object[].
  • Use patched JDT to circumvent memory leak when compiling for Java 8.

JsInterop

  • Implement with default methods in Java8.
  • Disallow non-native on static methods.
  • Remove legacy JsInterop.
  • Add annotation (disallowed on primitive typed parameters).
  • Allow on effectively final methods.
  • Split JsInterop annotations into their own JAR when deploying to Maven:

UIBinder

  • Add support for class in UIBinder.

JDK emulation

  • Emulate .
  • Emulate and its int, long, double variants.
  • Emulate with message Supplier.
  • Fix Math.min/max(float/double) emulation behavior.
  • Emulate .
  • Emulate .
  • Emulate .
  • Emulate Java 8 API of
  • ,
  • ,
  • ,
  • ,
  • ,
  • ,
  • ,
  • ,
  • ,
  • ,
  • ,
  • ,
  • ,
  • ,

GSS

  • Add CSS3 and GSS support in InterfaceGenerator

Miscellaneous

  • Fixing up the Maven samples to work with GWT 2.8
  • Fixed spelling error when starting CodeServer
  • Update globals for Chrome 52.0.2743.24.
  • Update apache commons-collections to 3.2.2.
  • is now serializable. This enables storing JsonValues in the HTTP session on the server.

Release Notes for 2.8.0 (Beta1)

Highlights

  • Java 8 syntax supported.
  • JsInterop has graduated from experimental. See final JsInterop specification.
  • GSS is no longer considered as experimental and old CssResource is now deprecated.

Deprecations

  • Old CssResource syntax is now deprecated. For more information on GSS migration, please refer to this document

Compiler changes

  • Java 8 syntax is now supported by the compiler.
  • New optimizer framework that reruns the optimization process only on the part of the AST that were impacted by the changes since its last run. That speedup compilation of large application.
  • Added better type specialization that enables better optimizations.
  • Many bugfixes.

Library Changes

  • Generic Accessor for GWT Properties. You can now use to access the value of any configuration or binding property at compile time.
  • Configurable Checks
  • Added -setProperty flag

JDK emulation

  • Started using ES6 Maps when available for HashMap/HashSet that yields up 3x performance improvements.
  • Switch to new long emulation with significant performance improvements (e.g. divisions 50x faster for smaller numbers)
  • Double/Boolean are not boxed anymore.

Logging and Stack Traces

  • Improved logging and stack traces for superdev mode.

GSS support

  • GSS is no longer experimental but it’s not enabled by default for easier and smoother migration to GWT 2.8. The configuration property turns on GSS support. For more information on GSS migration, please refer to this document
  • “For loop support” added
  • a new function concat() is now available to concatenate variable and string literal.
  • @gen-webkit-keyframes annotation: generate automaticaly @-webkit-keyframes block

Dev Mode

  • Dev Mode is now deprecated

Super Dev Mode

  • SDM caches on disk the MinimalRebuildCache object, which speeds up the first SDM compile on a restart of the process.

Testing

For even more detail, see the Issue Tracker.

Release Notes for 2.7.0

This release fixes issues found while testing RC1.

For details, see the commit logs.

Known Issues

DevMode always starts in Super Dev Mode, so it’s not as easy to test in production mode. See issue 9004 for workarounds.

Release Notes for 2.7.0 (RC1)

Highlights

  • Super Dev Mode is now the default. DevMode automatically starts Super Dev Mode and reloading a web page automatically runs the compiler when necessary. (The flag may be used to revert to the old behavior.)

  • Compiling in Super Dev Mode is much faster after the first compile.

  • Experimental support for GSS, also known as Closure Stylesheets. (See below.)

Known Issues

  • gwttar files are incorrect. (Fixed in the next version.)

Deprecations

  • GWT Designer doesn’t work with 2.7 and is no longer supported. (Source code is available if someone wishes to revive this project.)

  • IFrameLinker and XSLinker are deprecated because they don’t work in Super Dev Mode. However, we don’t have suitable replacements for all use cases yet. For updates and possible workarounds, see issue 8997.

Compiler changes

  • In draft mode and Super Dev Mode, all compiler optimizations are turned off for better debugging. For example, null pointers are detected sooner.

  • JSNI references no longer require fully qualified class names when this wouldn’t be necessary in Java. (For example, imports work.)

  • We’ve started implementing JS Interop annotations, which will make it much easier to use GWT with JavaScript libraries. The specification is not final and there are bugs, so production GWT apps and libraries should continue to use JSNI for now. If you wish to experiment, you can enable JS Interop using the flag, which is available for the compiler and Super Dev Mode. (It doesn’t work with old DevMode.)

  • The experimental flag adds a property to each JavaScript function containing the name of the Java method. This makes Java method names available in browser debuggers at the expense of code size. (Also available in Super Dev Mode.)

  • Boxed JavaScript strings (created in JavaScript using ) are Polaris Office 9.113 Build 63.43126 Crack+ Keygen Code 2021 - Activators Patch longer considered equivalent to Java strings. They should be unboxed before being passed to Java.

  • Many bugfixes.

Library Changes

JDK emulation

  • Significant performance improvements in,and .

  • New emulated classes:, and .

  • New emulated methods in,,and .

  • extends and handles incorrect usage better.

Logging and Stack Traces

  • Better wrapping of exceptions thrown from JavaScript.

  • GWT apps that inherit the module have different default behavior for messages logged using the package. The new default is to log messages at level and above to the browser’s console. and are no longer enabled by default.

  • and have been removed. ()

Experimental GSS support

The configuration property turns on GSS support.

  • When enabled, resource files with a ‘gss’ extension are parsed as a Closure Stylesheet.

  • When enabled, GSS can be used in a UiBinder file by setting on a tag.

  • If the configuration property is set. css resources and tags without will first be converted to GSS and then parsed as GSS.

UiBinder

  • The tag has new attributes: and .

GWT-RPC

  • The configuration property turns on experimental support for serializing final fields.

  • may be serialized without a serialization policy.

  • deRPC is removed.

RequestFactory

  • Support overridden methods and generics better.

  • Fix support for on methods.

Internationalization

Browser API changes

  • Updated support for typed arrays.

  • Added .

  • Fixed an issue with on Chrome.

Widgets

  • The deprecated package is removed.

  • Various bugfixes and minor improvements.

Developer Tool Changes

Dev Mode

  • The flag may be used to turn off Super Dev Mode and revert to old Dev Mode. (However, most current browsers no longer support Dev Mode plugins.)

  • The flag may be used to move DevMode’s output to a subdirectory of the war directory.

Super Dev Mode

  • Compiling is much faster after the first compile. (Compiling is skipped altogether if no files have changed.)

  • The first compile no longer happens at startup.

  • Chrome reloads the page faster while debugging. (Sourcemap file size is reduced.)

  • The flag may be used to avoid running the GWT compiler before starting Super Dev Mode. When enabled, Super Dev Mode writes stub .nocache.js files that automatically recompile the GWT app before loading it. Therefore the bookmarklets aren’t needed. (This feature is automatically enabled when launched via DevMode.)

  • The flag may be used to adjust how compile errors are reported.

  • The bookmarklet dialog shows whether Super Dev Mode is turned on for each module on the page.

  • Messages logged using at level and above are written to the browser console by default.

  • Fixed a startup failure caused by locked directories on Windows.

Testing

  • Better error reporting for compile errors while running tests.

  • Messages logged using at level and above are written to the browser console and test output by default.

  • may be used to open a JavaScript debugger window when running a test using HtmlUnit.

  • Removed and the tool.

  • Removed flags:. (GWTTestCase tests are always run in an HTML page in standards mode.)

For even more detail, see the Issue Tracker.

Release Notes for 2.6.1

This release contains bug fixes for GWT 2.6.0.

Highlights

A complete list of changes can be found here.

Release Notes for 2.6.0

This release includes minor updates to silence unnecessary debugging warnings. See the release notes for 2.6.0 (RC1) for the full list of features and bugs fixes included in the GWT 2.6.0 release.

Release Notes for 2.6.0 (RC4)

This release enabled the Super Dev Mode hook by default, updated the sample Maven POMs, included a Firefox memory leak fix for Dev Mode, and a few other minor regressions noted during release candidate testing.

Release Notes for 2.6.0 (RC3)

This release fixed an incompatibility with the Google Plugin for Eclipse, improved uncaught exception handling, and reverted some backwards-incompatible changes made since GWT 2.5.1.

Release Notes for 2.6.0 (RC2)

This release disabled the Opera permutation, added a more maintainable DOM event dispatch mechanism, and fixed a few GWT-RPC and IE11 issues raised during release candidate testing.

Release Notes for 2.6.0 (RC1)

Highlights

  • Java 7 is supported and is now the default. (This can be overridden using )
  • GWT Development Mode will no longer be available for Chrome sometime in 2014, so we improved alternate ways of debugging. There are improvements to Super Dev Mode, asserts, console logging, and error messages.
  • Internet Explorer cleanup: IE6/7 support is disabled by default in this release and will be gone in the next major release. IE10 is now a separate permutation.

Compiler changes

  • A annotation may be used to mark classes, methods, and fields that the GWT compiler should ignore. (Any annotation with this name can be used, regardless of package.)

Flag cleanup

Flags have been cleaned up for consistency, but the old flags are still supported for backward compatibility.

  • Arguments may be specified multiple times on the command line and the last one wins.
  • Boolean flags can consistently be disabled using ‘-no&rsquo.
  • Experimental flags consistently start with ‘-X’ or ‘-Xno’ to disable.
  • The deprecated flags were removed
  • Added flags for turning specific optimizations on and off.
  • The and options may be used to write source files used by the GWT app to an output directory. (Combined with the config property, it is possible to set up source-level debugging outside Super Dev Mode.)

Changes to generated JavaScript

  • Catching and rethrowing a JavaScript exception no longer wraps it in a Java exception (so the console will print it correctly, etc.)
  • Failed assertions stop in the browser’s debugger (if open)
  • Various code size improvements.

Code Splitting

  • Fragment merging is more reliable, works with soyc reports
  • GWT.runAsync: passing Cacher 2.9.0 Product Key - Crack Key For U same class is allowed, puts the code in the same fragment
  • GWT.runAsync always runs asynchronously; before it would sometimes be synchronous. (This behavior can be reverted by inheriting SynchronousFragmentLoadCallback.gwt.xml)
  • The configuration property sets a minimum size for fragments
  • AsyncProxy is deprecated
  • Various bugfixes

JavaScript Interoperability

  • JavaScriptObject: added createArray(size)
  • JsMixedArray: getString() fixed for nulls
  • JSNI: Allow line breaks (and other whitespace) within JSNI method references
  • JSNI: Don’t discard unary ‘+’ when it’s used to cast to a double issue 6373, 3942

Generator API

  • PropertyOracle: removed deprecated methods
  • JRawType.getImplementedMethods: fixed type parameters for inherited methods

Bugfixes

Libraries

JDK Emulation

  • java.lang.Class: added getSimpleName()
  • ArrayList.removeRange(): fixed
  • StringBuilder: added appendCodePointInt()
  • StringBuffer/Builder: added reverse()
  • Number subclasses:
    • integer parsing accepts initial ‘+’ (for Java 7 compatibility)
    • add compare methods (for Java 7)
    • fixed isFinite/isInfinite issue 8073
  • java.lang.reflect.Type: added
  • java.util.Objects: added (Java 7)
  • java.sql.Timestamp: fixed NullPointerException in equals() issue 6992

Core library fixes

  • GWT.debugger() emits a JavaScript statement
  • GWT.maybeReportUncaughtException() sends an exception to the uncaught exception handler (if any)
  • About: cleaned up
  • ConsoleLogHandler: fixed for IE and Firefox issue 6916, issue 8040
  • Stack traces fixed on iOS.
  • Timer: cancel() fixed for IE6-8 issue 8101

Browser permutation changes

  • The permutation (which also handles IE 7) is now disabled by default. Support for IE6 and IE7 will be removed in the next major GWT release.

  • Added the permutation. There’s no fallback value, so deferred bindings and conditional CSS that explicitly checks may need to be updated. (However, note that workarounds needed for previous versions of IE may no longer be necessary.)

  • UserAgent: new class Malwarebytes Anti-Malware 4.3.0.98Crack + License Key Free 2021 access

Browser API changes

  • Element methods that return sizes in pixels automatically convert subpixel values to int (for backward compatibility).

  • All API’s that used to take (which has long been deprecated) now take a instead.

  • DOM methods that take a URL now accept a SafeUri object as well.

  • Node: added removeAllChildren()

  • Element: added toggleClassName()
  • Element.hasTagName() is now case-insensitive
  • Element subclasses: added is() methods, for example DivElement.is(elem)
  • user.client.DOM: deprecate old methods
  • KeyCodes: many more key codes, added isArrowKey()
  • HandlerRegistrations: added compose() method
  • Canvas: added drawImage() overloads, wrap() method
  • Animation: added isRunning()
  • DOM events not known to GWT can handled using Widget.addBitlessDomHandler(). This allows third-party libraries to handle events that GWT itself doesn’t know about (such as MsPointerEvents). issue 8379

HTML generation changes

  • HtmlElementBuilder: supports the tag
  • HtmlBuilderFactory: return types are more specific
  • Builder methods that take a URL now accept SafeUri as well

CSS changes

  • @url now supports ImageResource
  • user.agent values have changed (see Browser permutation changes)

UiBinder changes

  • @UiHandler works with parameterized types issue 6091
  • @UiHandler works with bindery.event.shared.HandlerRegistration issue 7079

Widget changes

  • CellView: focus fix issue 8359
  • DataGrid fixes: style name, scroll bars issue 8309
  • DatePicker: lots of improvements.
  • DialogBox: fix auto-hide memory leak
  • FileUpload: fixed wrap() method issue 5055
  • HtmlTable,FlexTable,Grid: fixed memory leak in IE9/IE10 issue 6938
  • ListBox.setMultipleSelect undeprecated
  • MenuBar: focus fix issue 3884
  • RootPanel: added clear()
  • SimpleCheckBox: implement HasValue
  • SimplePager: added constructor to hide “first page” button
  • SingleSelectionModel: fixed getSelectedSet
  • SplitLayoutPanel: resizing fix issue 4755
  • SuggestBox:
    • changed to avoid firing events twice issue 3533
    • after selecting, move focus to the next field issue 8051
  • Tree/TreeItem: deprecated methods removed
  • ValueListBox: implement Focusable
  • ValuePicker: fixed setValue() to not fire events issue 7330

Accessibility

  • UiObject.setVisible() only adds aria-hidden for hidden objects

Internationalization

  • Document.{get,set}ScrollLeft(): fixed RTL for Safari and IE9
  • Plural rules updated for some Slavic languages
  • Fixed currency formatting when the currency symbol comes last (the symbol was added twice)
  • Number format constants upgraded to CLDR 21

Editor framework

  • CompositeEditor and subclasses take

RequestFactory

  • Added support for Maps issue 5524
  • Added support for enums as type parameters in requests
  • Added support for EntityProxyId as a request parameter
  • Fixed a NullPointerException when server returns null issue 8104

Server-side classes

  • StackTraceDeobfuscator cleaned up and moved to gwt.core.server

Developer Tools

Developer Mode

  • Starts the user’s preferred browser on Linux
  • Fixed primitive class references in JSNI code (e.g. @int::class)
  • Reduced memory leakage

Super Dev Mode

  • Security: with 2.6 we believe it’s safe to turn on the Super Dev Mode hook and leave it on in production. As an extra precaution, we recommend setting the devModeUrlWhitelistRegexp configuration property to ensure that it can only load JavaScript from localhost and your developers’ machines in your own domain.

  • Security: automatically disable Super Dev Mode on https pages (Another precaution, and it doesn’t work anyway due to mixed-content restrictions.)

  • WebAppCreator now creates Ant projects with a “superdevmode” target and Super Dev Mode enabled.

  • Most sample apps have a “superdevmode” target
  • GWT.log() works and prints basic stack traces
  • sourceUrl comment fixed so that in a JavaScript debugger, the JavaScript source shows up as ‘{module}-0.js’ instead of just ‘0.js&rsquo.
  • Grey out unused Java in source code listings on the code server.
  • RemoteServiceServlet: the gwt.codeserver.port parameter may be used to download serialization policies from a Super Dev Mode code server’s /policies/ directory. This can be used to avoid some server recompiles when working on GWT-RPC code.

Testing

  • Benchmarking and Profile support removed
  • GWTTestCase reports better error messages in many cases
  • GWTTestCase: always use an UTF-8 HTML page
  • GWTTestCase: removed supportsAsync, addCheckpoint, clearCheckpoint, getCheckpoints
  • GWTTestCase now uses its own uncaught exception handler winzip pro crack - Free Activators avoid conflicts when testing code that calls GWT.setUncaughtExceptionHandler.

Upgraded dependencies

  • HtmlUnit 2.13
  • Jetty 8.1
  • Servlet 3.0
  • Guava 15.0
  • Protobuf 2.5.0
  • ASM 4.1
  • JDT 3.8.3
  • Closure compiler 20131014

For even more detail, see Changelists up to 2.6.0-rc1 and the issue tracker.

Release Notes for 2.5.1

This release includes an update to the sample application’s Maven POM files. See the release notes for 2.5.1 (RC1) for the full list of features and bugs fixes included in the GWT 2.5.1 release.

Release Notes for 2.5.1 (RC1)

GWT 2.5.1 is a maintenance release including many bugfixes and minor improvements since GWT 2.5.

Changes since 2.5.0

Security Fixes

  • Fixed an XSS vulnerability in html files used by GWTTestCase (patch). These files will only be included in a GWT app if it depends on the JUnit module. Despite the fix, this is not recommended.

Compiler and Linkers

  • Minor optimization improvements.
  • Optimization bugfixes: ( 5739, 7818, 7683).
  • Apps built with DirectInstallLinker should work in a page where inline scripts are forbidden (e.g. a Chrome extension)

Developer Mode

  • Fixed compatibility with OpenJDK 7.
  • Removed GWTShell, an obsolete way of starting dev mode.
  • Added a checkbox to automatically scroll the log.

Also, the Chrome plugin is now in the Chrome store.

Super Dev Mode

  • Added a -noprecompile option for faster startup.
  • Added support for IE8 (recompiles only, not debugging).
  • Reduced download size by using gzip.
  • Fixed an incompatibility with the debugger in Chrome 24+.
  • Fixed an incompatibility with third-party JavaScript that modifies the Array prototype.

Core libraries and JDK emulation

  • Changed Window.Location to return the new parameter values after a call to window.history.pushState
  • Added an option to ScriptInjector that removes the tag from the page when done.
  • Added RequestBuilder.withCredentials().
  • Fixed a performance issue in RepeatingCommand (7307)
  • Fixed stack trace deobfuscation on iOS (7902)
  • Added the “webApiUsage” property. The default setting is “modern&rdquo. If set to “stable”, GWT libraries will avoid using prefixed web API’s. Currently, the only difference is that animation will use a timer. (7895)
  • Fixed Double.parseDouble() when called with Nan, Infinity, and leading zeros (7713, 7834)
  • Fixed Long.parseLong when called with MIN_VALUE (7308)
  • Fixed a bug in AbstractMap.remove (7856)

HTML, CSS, resource files

Widgets and Editors

  • Added Tree.setScrollIntoViewEnabled (2467)
  • Fixed a bug in SplitLayoutPanel.setWidgetHidden (7715)
  • Improved click handling in CellTable (7508)
  • Editor framework bugfixes: (5589, 6959)

Internationalization

  • Upgrades for ICU4J and CLDR
  • Fixed a bug in DateTimeFormat.parse() (7823)

RPC and server-side Java

  • Fixed incorrect GWT-RPC deserialization when an app is deployed after changing an enum and nothing else. (7836)
  • Fixed a GWT-RPC generator bug that can cause too many policy files to be generated, resulting in excessive server-side memory usage. (7791)
  • Fixed an infinite loop in server-side GWT-RPC when deserializing complicated generic types. (7779)
  • RequestFactory bug fix: (7900)
  • Added a constructor option to StackTraceDeobfuscator for conserving server memory.
  • Fixed an exception when using shared code that uses GWTBridge on the server (7527)

Release Notes for 2.5.0

This release includes some minor bug fixes found in the release candidate. See What’s New in GWT 2.5 plus the release notes for 2.5.0 (RC1) and 2.5.0 (RC2) for the full list of features and bugs fixes included in the GWT 2.5.0 release.

Security vulnerability from 2.4 to 2.5 Final

The GWT team recently learned that the Security vulnerability discovered in the 2.4 Beta and Release Candidate releases was only partially fixed in the 2.4 GA release. A more complete fix was added to the 2.5 GA release. If you have an app that’s been built with GWT 2.4 or one of the 2.5 RCs, then you’ll need to get the latest 2.5 release, recompile your app, and redeploy.

Release Notes for 2.5.0 (RC2)

This is release candidate 2 of GWT 2.5. See the What’s new in GWT 2.5 page as well as release notes below for the full list of features and bugfixes in this release.

Changes since RC1

  • The GWT tools can now run on JDK 7. (However, no JDK 7 language or library features are available in GWT code yet.)
  • The accessibility library introduced in RC1 has been cleaned up for release.
  • Support for validation is improved, documented, and no longer considered experimental.
  • Other fixes; see the issue tracker for more.

Release Notes for 2.5.0 (RC1)

This is release candidate 1 of GWT 2.5. See the What’s new in GWT 2.5 page as well as release notes below for the full list of features and bugfixes in this release.

Major Enhancements

  • Super Dev Mode, a replacement for Development Mode (experimental)
  • The Elemental library (experimental): efficient DOM access and HTML5 API’s (experimental)
  • New compiler optimizations from Closure
  • The fragment merging optimization, for reducing latency in large apps
  • Development mode performance and refresh time speedups
  • A new accessibility library for setting ARIA roles, states and properties on DOM elements
  • UIBinder enhancements for rendering cells and accessing inline styles

Other Fixes and Enhancements

  • Significant speedups in development refresh time as a result of generator result caching for the ClientBundle and RPC generators. Addition of a result caching API that generator writers can use (r10412, r10476).
  • Drastic improvement in RPC performance in development mode by providing a development-mode-only implementation for RPC.
  • Addition of source map support. See this document for more details.
  • Reduction of overhead of Java types in compiler output (r10435).
  • Addition of CellTableBuilder API, and an API for custom headers and footers in CellTables (r10435, r10581).
  • Addition of pre-deserialization type checking to reduce the number of error messages that occur from attempts to invoke an RPC method with type mismatches (r10518).
  • DynaTableRF and Validation samples now use Maven instead of ant.
  • DateCell now accepts a TimeZone as a constructor arg.
  • now supports the nested element for setting property values on a provided type (r10675).
  • Improvements in reporting of JavaScriptExceptions in development mode to include the method name and arguments.
  • Added ability to mock out Messages and CSSResources for better unit testing (r10723, r10768).
  • Added SafeHtml support to parts of the GWT user library.
  • CssResource @defs now support multiple values (r10667).
  • Added option to compile out logging calls below SEVERE and WARN (r10753).
  • CLDR data updated to v2.1.
  • Added simple and global currency patterns (r10742).
  • Update ISO-8601 time format to accept a timezone of a literal “Z” to mean GMT+0 (r10773).
  • Various fixes to stabilize the compiler output on null (no change) recompiles. Added the -Dgwt.normalizeTimestamps system property to zero out the date on output jar files to stabilize builds in build systems which rely on content-addressability (r10810).
  • Added GWT emulation for Float.intBitsToFloat, Float.floatToIntBits, Double.longBitsToDouble, and Double.doubleToLongBits.
  • Added support for typed arrays (r10839).
  • Greatly reduce symbol map size by removing already-pruned symbols from the map.
  • Allow absolute paths in ui:style’s src attribute.
  • Request methods that use Collections as parameters in RequestFactory’s JSON-RPC mode now properly encode Collections.

Breaking Changes and Other Changes of Note

  • If you previously linked against gwt-user.jar from pure Java code and now get ClassNotFoundExceptions, you may need to add gwt-dev.jar to your classpath as well.
  • Deprecated methods AbsractCellTable.doSelection(Event,Object,int,int), AbstractHasData.onUpdateSelection(), and CellList.doSelection(Event, Object, int) have been removed.
  • Major refactoring of IsRenderable API. See r10352 and r10421 for details.
  • The LEFT/RIGHT placement of text in SimplePager has been fixed, which may swap it for people who already worked around the issue. See r10907.
  • Tree[Item].addItem/insertItem(String html) have been deprecated due to potential XSS issues. Use Tree[Item].addTextItem/insertTextItem(String text) instead.
  • @GwtTransient will now work for any annotation that with that simple name (for example, com.foo.GwtTransient). This prevents library writers from having their library depend on the GWT distribution.
  • As part of the GWT compilation, an output file mapping full class names to CSS obfuscated names is generated. This is useful for debugging and testing (r10686).
  • Client-side JUnit classes are now available as a separate module without having to pull in GWTTestCase (r10689).
  • The permutation mapping file is now generated as part of every compile.
  • UIBinder.useLazyWidgets is now set to true by default. See r10730 for more details.
  • The following dependencies have been updated to the following versions:

    • Eclipse JDT 3.4.2_r894
    • Guava 10.0.1
    • HTMLUnit 2.9
    • Apache HTTP Client 4.1.2 (for HTMLUnit)
    • Apache Commons Lang 2.6 (for HTMLUnit)
    • NekoHTML 1.9.15 (for HTMLUnit)
  • json-1.5.jar is now bundled as a part of gwt-dev.jar. streamhtmlparser (rebased) has been removed from gwt-dev.jar and has been bundled as part of gwt-user.jar and gwt-servlet.jar.
  • The compiler metrics aspect of the Compile Report has been disabled by default. The compile report results in instability in the Compile Report. To add compiler metrics to the compilation report, use the -XcompilerMetrics flag.
  • The compiler.emulatedStack property should no longer be used. compiler.stackMode is what should be used instead.

In addition to the items mentioned above, see for a list of bug fixes and enhancements for 2.5.0 in the GWT issue tracker.

Known Issues

  • Clicking in the navigation area (but not on an actual item) of the Showcase sample results in the navigation area going blank.
  • Importing samples/Expenses into Eclipse fails with “Main Type Not Specified” dialog.
  • Mismatch in symbol map format between SpeedTracer and GWT results in SpeedTracer not being able to deobfuscate stack traces for GWT applications.

Release Notes for 2.4.0

This is the General Availability release of GWT 2.4. See the release notes below for the full list of features and bug fixes included in this release.

The 2.4 General Availability release of GWT contains new App Engine tools for Android, incremental RPC tooling, Apps Marketplace support, a faster UI Designer with better UiBinder support, a persistent unit cache for faster iterative development, a scrolling DataGrid with fixed header, Beans.isDesignTime() support, and bundled installers that make it easier to install and configure the GPE, GWT and GAE.

General Enhancements

  • App Engine tools for Android: Build installable Android apps that rely on App Engine for server-side support.
  • Incremental RPC Tooling: Add server-side methods to App Engine code and GPE will generate the necessary serialization and Android code on the fly.
  • Apps Marketplace Support: Deploy apps to the Google Apps Marketplace as easily as to App Engine.
  • UI Designer: Faster startup and editing times, split-mode editing support for UiBinder, simplified CSS property editing, UiBinder morphing, IsWidget support, and more.
  • Persistent Unit Cache: GWT Compiler and Development mode now cache compilation artifacts between runs. This results in faster startup time for iterative development.
  • Scrolling DataGrid (#188): The new DataGrid widget supports vertical scrolling with a fixed header (above) and footer (below).
  • Design Time Support (#226): The Beans.isDesignTime() method was added to the GWT emulation library in order to better isolate runtime-only code when a UI is edited in the UI Designer.

Noteworthy Fixed Issues

  • Polymorphism not supported by RequestFactory (#5367)
  • Support RequestFactory service inheritance on the client (#6234)
  • ListEditor subeditors’ value is not flushed when used with a RequestFactoryEditorDriver (#6081)
  • Memory-leak in pure-Java’s c.g.g.core.client.impl.WeakMapping (#6193)
  • GWT compiler dropping clinits (#5707)
  • Make RequestFactory type tokens more compact (#5394)
  • Editor framework does not support is / has methods (#6040)

See the complete list of bug fixes and enhancements for 2.4.0 in the GWT issue tracker.

See the complete list of breaking changes in the GWT issue tracker.

Security vulnerability in GWT 2.4

Recently, the GWT team discovered a cross-site scripting vulnerability in the 2.4 Beta and Release Candidate releases (not in v2.3 GA or v2.4 GA). This vulnerability was partially fixed in the 2.4 GA release and completely fixed in the 2.5 GA release. If you have an app that’s been built with 2.4 then you’ll need to get the latest 2.5 release, recompile your app, and redeploy.

Notes and Known Issues

  • GPE’s Maven support in Eclipse Indigo requires that the m2Eclipse WTP Integration plugin be installed. It can be installed via the JBoss Update site. See the Google Maven wiki page for the canonical reference for working with Maven in the latest GWT and GPE releases.
  • GWT’s new RequestFactory configuration is not enabled by default for plain GWT, App Engine, or GWT + App Engine projects. It is enabled by default for new Cloud-Connected Android Projects only. See the RequestFactoryInterfaceValidation wiki page for information on how to use the new RequestFactoryInterfaceValidator within Eclipse, Maven, or the command line.

Release Notes for 2.3.0

This is the General Availability release of GWT 2.3. See the release notes below for the full list of features and bug fixes included in this release.

General Enhancements

Noteworthy Fixed Issues

Known Issues

  • At compile time, you may see a warning similar to the following: “Configuration property UiBinder.useSafeHtmlTemplates is false! UiBinder SafeHtml integration is off, leaving your users more vulnerable to cross-site scripting attacks&rdquo. This warning occurs because although UiBinder HTML rendering has been updated to support SafeHtml, by default this is turned off (set to false), due to some minor bugs. If you wish, you can change the default by setting the “useSafeHtmlTemplates” property to true in UiBinder.gwt.xml. You can determine whether you are affected by the known bugs by checking the public bugs 6145, 6149, and 6198.

See the complete list of bug fixes and enhancements for 2.3.0 in the GWT issue tracker.


Release Notes for 2.3.0 (M1)

This is milestone 1 of GWT 2.3.

General Enhancements

  • Added the following functionality to the Google Plugin for Eclipse:

    • Google API integration
    • Project import from Google Project Hosting
    • Single sign on, for accessing Project Hosting and App Engine
  • Added GWT SDK support for HTML5 local storage

Noteworthy Fixed Issues

  • Updated GPE’s UIBinder editor to provide support for attribute auto-completion based on getter/setters in the owner type
  • Optimizations to speed up GPE launch configuration UI
  • “Check for Updates”, within GPE, will now detect updates to GWT and GAE SDKs
  • Launching against an external URL that contains a port number now works properly in Eclipse 3.6
  • Updated IE9 support (#5125)
  • Fixed iFrame loading issues within Internet Explorer (#1720)

See the complete list of bug fixes and enhancements for 2.3.0 M1 in the GWT issue tracker.


Release Notes for 2.2.0

The 2.2 release of GWT contains an integrated UI designer (part of the Google Plugin for Eclipse), support for HTML5 functionality, such as the Canvas/Audio/Video tags, an updated CellTable widget that now supports sortable columns and fixed column widths, and a more lenient SafeHtml template parser.

Also see What’s New in GWT 2.2?

General Enhancements

  • Touchstart, touchmove, touchend, touchcancel have been integrated into the GWT event framework (#5148)
  • Built-in bidi text support for widgets such as Label, HTML, Anchor, Hyperlink and ListBox. More information on this feature can be found here.

General Changes

  • GWT Designer v8.1.1 and earlier versions do not support GWT 2.2. To use GWT Designer with GWT 2.2, you need to uninstall the older version of GWT Designer and install the latest one.
  • Version 2.2 has deprecated support for Java 1.5, resulting in warnings when building applications. While Java 1.5 will still work for at least the next release of GWT, developers should upgrade their version of Java to correct these warnings and ensure compatibility with future versions of GWT.

Noteworthy Fixed Issues

  • RC releases are now being deployed as non-SNAPSHOTs in the maven repository (#5429)
  • Date/Time patterns are correct in the “sv” local (#5890)

See the complete list of bug fixes and enhancements for 2.2.0 M1, RC1 and final release in the GWT issue tracker.


Release Notes for 2.1.1

General Enhancements

  • Add a service layer to RequestFactory (#5111)

Noteworthy Fixed Issues

  • GPE flags as an error (#5453)
  • Unable to disable a MenuItem (#1649)
  • No way to set vertical/horizontal alignment of Cells in CellTable (#5623)

See the GWT issue tracker for the complete list of bug fixes and enhancements in this release.


Release Notes for 2.1.0

This release includes some minor bug fixes found in the release candidate. See What’s New in GWT 2.1 plus the release notes for 2.1.0 (RC1) for the full list of features and bugs fixes included in the GWT 2.1.0 release.


Release Notes for 2.1.0 (RC1)

This is release candidate 1 of GWT 2.1.

Fixed Issues

  • Creation broken if the entity id is of type String (#1430)
  • addon-gwt is putting a boolean isChanged method in each proxy, and those don’t work (#1457)
  • ValueListBox showing redundant entries (#1287)
  • Implement new update / create / acquire / delete events (#1238)
  • Ensure that DefaultValueStore is always responsive (#1217)
  • Allow both String and Long keys (#951)
  • Does the mobile.user.agent property provider actually work? (#1468)
  • Banging on the UI can produce NPEs in DevMode window (#1282)
  • NPE on resume in AbstractRecordListActivity(#1230)
  • RequestFactoryServlet always throws when debugging with Chrome (#1229)
  • Implement java.math.BigDecimal support for GWT
  • Update the Expenses sample to pull dependencies in via a Maven repo (#991)
  • Add the custom Expense Report as a sample (#965)
  • Find replacement for velocity (#956)
  • Hard coded refusal to send fields named “password” in servlet (#1262)
  • No uncaught exception handler in scaffold app (#1250)
  • Remove web.xml welcome file handling from GWT addon (#1512)
  • Use a publicly accessible DTD for ApplicationCommon.gwt.xml (#1271)

Known Issues

  • RequestFactory does not fail gracefully for primitive types (5357)
  • Allow CellTable headers/footers to be refreshed (5360)
  • Need to document what situations source change events (5361)
  • Enable tests for RequestFactoryPolymorphicTest (5364)
  • Bring history management to Expenses sample (5366)
  • Polymorphism not supported by Request Factory (5367)
  • Server cannot return unpersisted objects (5374)
  • Javadoc polymorphism rules (5374)
  • Stopping an ActivityManager from a PlaceChangeEvent might cause an NPE (5375)
  • Why is gwt-servlet.jar a compile-time dependency in the pom.xml generated by the expenses.roo script? (5376)
  • Why does gwt-user.jar have scope “provided” in the pom.xml generated by the expenses.roo script? (5377)
  • Server side domain classes cannot be resolved (5378)
  • Confirm logging compiles out of generated scaffold apps (5379)
  • Many classes added in 2.1 still have the experimental API warnings in their javadoc that need to be removed (5380)
  • Showcase Cell List show {2} in entries with JDK 1.5 (5385)
  • Many stale javadoc warnings of experimental API (5380)
  • Instance methods are not looked up properly in the OperationRegistry (5425)

Release Notes for 2.1.0 (M3)

This is milestone 3 release of 2.1.

Fixed Issues

  • Add History support to the generated GWT scaffold app (#883)
  • Logging Implementation for M3 (#888)
  • Implement remaining primitive property types, including List and Long (#933)
  • Add enum support (#935)
  • Introduce setter methods for Record objects (#938)
  • Spec the minimum work needed for user auth, sign in (#955)
  • gwt project won’t import properly in eclipse with m2eclipse, has errors (#1122)
  • RequestFactoryServlet assumes content-length is known, which it may not be (#1150)
  • Selecting “Delete” from an entity in the Scaffold app takes you to a list view that contains no data. (#1164)
  • Allow client code to call instance methods (#1185)
  • Creates are clobbering existing records (#1194)
  • Update generated pom.xml to reference 2.1-SNAPSHOT jars (#1200)
  • Cleanup the implementation hack in DeltaValueStoreJsonImpl… (#1209)
  • Hard coded exit points for AbstractRecordEditActivity (#1225)
  • Hard coded exit points for AbstractRecordListActivity (#1226)
  • Can’t create child resources from AbstractRecordEditActivity anymore (#1227)
  • Update addon-gwt to reference GWT’s M3 repo (#1236)
  • GWT addon has links to MVC scaffolded view artifacts (#1249)
  • RootPanel.get(id) fails to set ‘position:relative’ and ‘overflow:hidden’ (#1813)
  • UncaughtExceptionHandler not triggered for exceptions occurring in onModuleLoad() (#1617)

Release Notes for 2.1.0 (M2)

This is milestone 2 release of 2.1.


Release Notes for 2.1.0 (M1)

This is a preview release of 2.1, that contains a new set of Cell Widgets and an app framework that make it easier to build large scale business applications.

Known Issues

  • For App Engine-based apps, you will need to run Maven once from the command line before importing the app into STS. This could be as simple as running “mvn validate” or “mvn compile”, the point is to prep your local repo with an unzipped GAE SDK.
  • Compiling a new app and/or running it in dev mode, will generate error messages complaining about missing dependencies. These errors can be ignored as they are related to classes that are most likely not used by your app, and will be omitted during compilation, or while running in dev mode.

Fixed Issues

  • Image.onload event does not fire on Internet Explorer when image is in cache (#863)
  • Image should provide method to set alternative text (#1333)
  • setWordWrap() for CheckBox (#1483)
  • RichTextArea - setEnabled does not work (#1488)
  • ImageSrc6 throws native NPE exception (#1700)
  • Array returned inside Serializable field causes ClassCastException in web mode (#1822)
  • BigDecimal Support (#1857)
  • When a MenuBar loses focus, the MenuItem remains selected (#2458)
  • KeyPressEvent contains improper UTF codes (#3753)
  • Make RemoteServiceRelativePath annotation RetentionPolicy.RUNTIME (#3803)
  • TextBox fires JSException in IE ((#4027)
  • Format number wrong result ((#4173)
  • file:line citations in ui.xml files (#4194)
  • Remove method in SplitLayoutPanel is broken (#4217)
  • Refactor SessionHandler and BrowserChannelClient to allow other OOPHM clients than HtmlUnit (#4287)
  • FinallyCommand scheduled from within another FinallyCommand sometimes gets stuck (#4293)
  • Wrong result after formatting of a big number in the NumberFormat (#4473)
  • Dictionary.keySet() contains "__gwt_ObjectId" in DevMode (#4486)
  • JsStackEmulator may break up JsInvocation (#4512)
  • DOMImpl.g/setInnerText() use unnecessarily expensive node manipulation (#4586)
  • NumberFormat error formatting more than 6 decimal places (#4598)
  • DateBox can generate an untrapped exception if a non-default format is used (#4633)
  • PopupPanel.removeFromParent() dosen’t remove glass panel (#4720)
  • ClassNotFoundException from web.xml for configured listeners during devmode servlet validation (#4760)
  • Converting ImageBundle to ResourceBundle causes a regression if bundle is used on the server side as well (#4797)
  • Add java.util.logging emulation ([#4954](# https://code.google.com/p/google-web-toolkit/issues/detail?id=4954))

Release Notes for 2.0.4

This 2.0.4 release contains fixes that were not included in the 2.0.3 release.

Noteworthy Fixed Issues

  • Whole UI disappear in IE 7 when we Hover over the menubar menu item (#4532)
  • List.subList not fully compatible with java.util.List interface (#4993)
  • Safari 5 fails to execute non-integral right-shifts correctly (#5056)

Release Notes for 2.0.3

This 2.0.3 release contains fixes that were not included in the 2.0.2 release.

Noteworthy Fixed Issues

  • Using a PopupPanel in Internet Explorer without a history IFrame throws a NullPointerException (#4584)
  • Opera support for History is not working (#3956)

Release Notes for 2.0.2

This 2.0.2 release contains a fix that was not included in the 2.0.1 release.

Noteworthy Fixed Issues

  • Standard.css missing new layout styles (#4429)

Release Notes for 2.0.1

This 2.0.1 release contains fixes for bugs found in the 2.0.0 release.

Potentially breaking changes and fixes

  • Fixed a bug in how code generators collect method arguments from generated source, which impacted the Messages interfaces generated for UiBinder template files. In GWT 2.0, such argument names were incorrectly changed to ARGn. Most GWT applications will be unaffected, but external systems relying on these names will need to be updated.
  • The development mode server will, by default, only bind to localhost which will break cross-machine debugging. You can get the old behavior by specifying. Please see issue (#4322) for more details. For webAppCreator-generated ant files, you can pass this with .
  • The CurrencyList/CurrencyData APIs are now public - if you were relying upon these classes in their non-public location, you should only need to update your imports.

Noteworthy Fixed Issues

  • UiBinder Image class with resource attribute, removes styles on that image (#4415)
  • Widgets lose focus if its placed on FocusPanel (Opera, Safari) (#1471)
  • Remove method in SplitLayoutPanel is broken (#4217)
  • Splitter constructor hard codes the background color of the splitter to white (#4335)
  • Image should provide method to set alternative text (#4335)
  • CssResource cannot parse unescaped ‘-’, ’_’ in class selectors and unknown at-rules (#3946)
  • Focusable implementation breaks ScrollPanels in Safari (#1313)
  • RequestBuilder restricted to GET and POST (#3388)
  • HTMLTable.Cell.getElement() calls getCellFormatter().getElement() with row and column swapped RequestBuilder restricted to GET and POST (#3757)
  • MenuBar steals focus when hovered (#3884)
  • TabLayoutPanel tabs don’t line up properly on IE (#4447)
  • webAppCreator produces ant build files which support the gwt.args property for passing additional flags to the gwtc and devmode rules, such as .

See the GWT issue tracker for the complete list of bug fixes and enhancements in this release.


Release Notes for 2.0.0

This release includes some minor bug fixes found in the release candidate. See What’s New in GWT 2.0 plus the release notes for 2.0.0 (RC1) and 2.0.0-rc2 for the full list of features and bugs fixes included in the GWT 2.0.0 release.


Release Notes for 2.0.0 (RC2)

New Features

  • Window.Navigator now provides access to the native browser’s navigator object.

Breaking changes and known issues/bugs/problems

  • Windows users who have previously installed the GWT Developer Plugin for IE will have to uninstall the old version. Use the following steps:

    1. From the Windows “Start” Menu, open “Control Panel”
    2. Select “Add/Remove Programs”
    3. Select “GWT Developer Plugin for IE” then click “Uninstall”
    4. Run Internet Explorer and browse to http://gwtproject.org/missing-plugin/ to install the new version of the plugin
  • Running a as compiled script was previously done using. The argument is now deprecated in favor ofconsistent with the terminology change from web mode to production mode.
  • The command line argument for and has changed to to be consistent with the new term code server.
  • The command line utility has been removed. Instead, the utility takes new argument: which incorporates the functionality previously in junitCreator and generates targets.
  • When running development mode on on Chrome, any JavaScript objects that pass into Java code will be assigned a new property. This could break native code that looks iterates through the properties of such an object. To work around this issue, see this example of our changes to (scroll to the bottom).
  • Compile reports (formerly SOYC reports) are now generated with the command line flag to. The generated reports are now written to the private extra directory. If no argument is specified, this directory defaults to. This eliminates an unlikely security risk of accidentally deploying compile reports to a publicly accessible location.

Fixed Issues

  • In UiBinder blocks, css class names may contain dashes.
  • Non-Java method safe characters in inline <ui:style> class names doesn’t work (#4052)
  • @external does not work reliably for inline styles in <ui:style> (#4053)
  • Various false alarm warnings about invalid JSNI references have been fixed.
  • Various Swing UI improvements.
  • RPC calls leaking memory for IE (#4133)
  • deRPC raise an Error 500 instead of propagating the correct RuntimeException in ProdMode (#4237)

Release Notes for 2.0.0 (RC1)

This release contains big changes to improve developer productivity, make cross-browser development easier, and produce faster web applications.

Things that are changing with GWT 2.0 that might otherwise be

confusing without explanation

  • Terminology changes: We’re going to start using the term “development mode” rather than the old term “hosted mode.” The term “hosted mode” was sometimes confusing to people, so we’ll be using the more descriptive term “development mode” from now on. For similar reasons, we’ll be using the term “production mode” rather than “web mode” when referring to compiled script.
  • Changes to the distribution: Note that there’s only one download, and it’s no longer platform-specific. You download the same zip file for every development platform. This is made possible by the new plugin approach used to implement development mode (see below). The distribution file does not include the browser plugins themselves; those are downloaded separately the first time you use development mode in a browser that doesn’t have the plugin installed.

Major New Features

  • In-Browser Development Mode: Prior to 2.0, GWT hosted mode provided a special-purpose “hosted browser” to debug your GWT code. In 2.0, the web page being debugged is viewed within a regular-old browser. Development mode is supported through the use of a native-code plugin called the GWT Developer Plugin for many popular browsers. In other words, you can use development mode directly from Safari, Firefox, Internet Explorer, and Chrome.
  • Code Splitting: Developer-guided code splitting with GWT.runAsync() allows you to chunk your GWT code into multiple fragments for faster startup. Imagine having to download a whole movie before being able to watch it. Well, that’s what you have to do with most Ajax apps these days – download the whole thing before using it. With code splitting, you can arrange to load just the minimum script needed to get the application running and the user interacting, while the rest of the app is downloaded as needed.
  • Declarative User Interface: GWT’s UiBinder now allows you to create user interfaces mostly declaratively. Previously, widgets had to be created and assembled programmatically, requiring lots of code. Now, you can use XML to declare your UI, making the code more readable, easier to maintain, and faster to develop. The Mail sample has been updated to show a practical example of using UiBinder.
  • Bundling of resources via ClientBundle. GWT introduced ImageBundle in 1.4 to provide automatic spriting of images. ClientBundle generalizes this technique, bringing the power of combining and optimizing resources into one download to things like text files, CSS, and XML. This means fewer network round trips, which in turn can decrease application latency – especially on mobile applications.
  • Using HtmlUnit for running test cases based on GWTTestCase: Prior to 2.0, relied on SWT and native code versions of actual browsers to run unit tests. As a result, running unit tests required starting an actual browser. As of 2.0, no longer uses SWT or native code. Instead, it uses HtmlUnit as the built-in browser. Because HtmlUnit is written entirely in the Java language, there is no longer any native code involved in typical test-driven development. Debugging GWT Tests in development mode can be done entirely in a Java debugger.

Breaking changes and known issues/bugs/problems

  • Prior to 2.0, GWT tools such as the compiler were provide in a platform-specific jar (that is, with names like ). As of 2.0, GWT tools are no longer platform specific and they reside in generically-named. You are quite likely to have to update build scripts to remove the platform-specific suffix, but that’s the extent of it.
  • The development mode entry point has changed a few times since GWT 1.0. It was originally calledand in GWT 1.6 a replacement entry point called was introduced. As of GWT 2.0, to reflect the new “development mode” terminology, the new entry point for development mode is. Sorry to keep changing that on ya, but the good news is that the prior entry point still works. But, to really stay current, we recommend you switch to the new entry point.
  • Also due to the “development mode” terminology change, the name of the ant build target produced by has changed from to. In other words, to start development mode from the command-line, type .
  • HtmlUnit does not attempt to emulate authentic browser layout. Consequently, tests that are sensitive to browser layout are very likely to fail. However, since supports other methods of running tests, such as Selenium, that do support accurate layout testing, it can still make sense to keep layout-sensitive tests in the same test case as non-layout-sensitive tests. If you want such tests to be ignored by HtmlUnit, simply annotate the test methods with .
  • Versions of Google Plugin for Eclipse prior to 1.2 will only allow you to add GWT release directories that include a file with a name like. You can fool it by sym linking or copying gwt-dev.jar to the appropriate name.
  • The way arguments are passed to the GWT testing infrastructure has been revamped. There is now a consistent syntax to support arbitrary “run styles”, including user-written, with no changes to GWT itself. For example, has become. This change likely does not affect typical test invocation scripts, but if you do use to pass arguments tobe aware that you may need to make some changes.

Release Notes for 1.7.1

This release adds support for Mac OS X version 10.6 (Snow Leopard) by allowing hosted mode to run with a 1.6 JRE in 32-bit mode (using the -d32 flag).

Fixed Issues

  • Allow hosted mode using a 1.6 JRE with the -d32 flag (#3843, #3998)

Release Notes for 1.7.0

This release adds explicit support for Internet Explorer 8, Firefox 3.5, and Safari 4 as well as a few high-priority bug fixes. In all other respects, it is very similar to GWT 1.6. Note, however, that this release is version 1.7.0 rather than version 1.6.5 to signify a potentially breaking change for libraries that use deferred binding to specialize code based on user agent (see the next section for technical details).

Also see What’s New in 1.7?

Potentially breaking changes and fixes

  • This release includes explicit support for IE8, which has some significant behavioral changes from prior versions of IE. These changes are great enough that the new value has been added for the deferred binding client property. If you have deferred binding rules (i.e. or ) or property providers that are sensitive toyou may need to update them to account for the value. For more information, see the technical notes.

Fixed Issues

  • Updated GWT libraries to support IE8 (#3558, #3329)
  • Native exception in Node.is() (#3644)
  • Incorrect firing of two click events from CheckBox and a related issue (#3508, #3679)
  • Compiler java.lang.StackOverflowError if you don’t use -Xss to set a stack size (#3510)
  • Mouse wheel in FF3 (#2902)
  • GWT outputs expressions too long for WebKit (#3455)
  • java.sql.Date.valueOf error (#3731)
  • Added a workaround for Firefox 3.5 regression (bugzilla #497780)

Release Notes for 1.6.4

Fixed Issues

  • The classpath in the scripts created by junitCreator was updated to refer to rather than .

Release Notes for 1.6.3 (RC2)

Fixed Issues

  • Various servlet classpath issues introduced in 1.6.2 are resolved.
  • JSP compilation should work out of the box in hosted mode.

Release Notes for 1.6.2 (RC)

Please see What’s new in GWT 1.6? (online)


Release Notes for 1.5.3

Fixed Issues

  • RPC requests no longer fail on the embedded Android web browser
  • Leaf now line up with their non-leaf siblings
  • Removing the last child node from a no longer creates extra margins on the left
  • no longer uses POST instead of GET on some IE installs because of incorrect XHR selection
  • Compiler now uses a more reliable check to prevent methods with local variables from being inlined
  • can no longer return non-integral values
  • no longer fails to parse or incorrectly accepts .

See the GWT issue tracker for the complete list of bug fixes and enhancements in this release.


Release Notes for 1.5.2

Potentially breaking changes and fixes

  • has been added back (it was missing from 1.5 RC2) but is now deprecated. Application startup should be handled by calling the new .
  • Fields marked in serializable types will now generate a warning; the fact that they were not being serialized was a source of confusion. Mark such fields both and to avoid the warning.
  • Instance methods on overlay types cannot be accessed from JSNI. (This used to work in hosted mode, but failed at runtime in web mode.)
  • The hosted mode server no longer serves from a module’s public path; instead the file is read directly from the classpath. This file is tightly coupled with the hosted mode implementation and was not meant to be user overridable.

General Enhancements

  • and are now implemented.
  • The new class enables widget authors to add ARIA support to their widgets. Many GWT widgets come with ARIA support by default.
  • Improved exception stack traces in hosted mode when JSNI stack frames are present.

Fixed Issues

  • Fixed the relationship between the coordinates returned by and. can be used to account for the difference between these two coordinate systems.
  • Ctrl-Z should correctly perform an undo operation in RichTextArea on IE.

See the GWT issue tracker for the complete list of bug fixes and enhancements in this release.


Release Notes for 1.5.1 (RC2)

Support for Standards Mode

GWT 1.5 adds significantly more support for standards mode applications, but some widgets (especially those with table based layouts) may not behave as expected. The low level standards mode bugs (such as with ) have been addressed, but some of the constructs that our widgets rely on do not work in standards mode. For example, you cannot set the height and width of a widget relative to its parent if its parent is a table cell, and takes up much more vertical space than it should in Internet Explorer. All of our samples have been reverted back to quirks mode, and the defaults to quirks mode when creating a new GWT app.

You can still use standards mode for your GWT app, but please be aware that you may notice some layout issues. If you are switching an app from quirks mode to standards mode, your CSS styles might be applied differently, which could also affect your application. We will continue to address standards mode support in future GWT releases.

Potentially breaking changes and fixes

  • now takes into account the margin and border of the body element
  • In hosted mode, all methods now assert that the requested attribute is reliable across all supported browsers. This means that attempting to retrieve an attribute for an event that does not support that attribute will now throw an assertion error instead of returning a coerced value. Most notably, the click event throws an assertion error if you attempt to get the mouse button that was clicked.
  • The return value of methods are now coerced to 0 instead of -1 in web mode. In hosted mode, an assertion error will be thrown if the attribute is not defined for the given event, as described in the previous bullet.
  • Opera specific code has been upgraded to work with Opera 9.5, but may not work with older versions of Opera as we only support the most recent release. Specifically, some widgets may not be able to receive focus.
  • Calls to now trigger an event synchronously instead of asynchronously

General Enhancements

  • Added support for the event, which allows users to detect and override the browser’s default context menu
  • Improved performance of
  • Added support for altering the number of decimals in a currency in
  • Improved performance of Animations
  • Improved the appearance of the default GWT style themes
  • Improved the Showcase sample with more robust examples and more language translations
  • can now wrap an existing form and still submit it to a hidden iframe

Fixed Issues

  • and no longer log an exception to the console in Firefox 3
  • Fixed a memory leak in Internet Explorer
  • now takes into account the margin and border of the target element in Safari 3
  • Fixed some bugs associated with history support

See the GWT issue tracker for the complete list of bug fixes and enhancements in this release.


Release Notes for 1.5.0 (RC)

This release candidate is, in a word, huge. Rather than including all the details here, please see What’s New in GWT 1.5? for full details. The main thing you’ll want to know is that GWT 1.5 supports the Java 5 language features (generics, enumerated types, annotations, etc.). But check out the full notes, because there’s a lot of great stuff!


Release Notes for 1.4.60

This release has only a couple of minor changes from 1.4.59.

  • Fixed a bug in the benchmarking that prevented source code from showing up in reports.
  • Fixed a bug in the hosted mode servlet context emulation where getResource() would fail to find a file in a module’s public path.
  • Compiler output files of the form used to contain html intended as a helpful note to a developer. This message has now been removed because screen readers and some browsers would display this content to end users.

Release Notes for 1.4.59 (RC2)

This release includes numerous bugfixes and a few important changes. If you are upgrading from GWT 1.3.3, you are strongly encouraged to read the release notes for 1.4.10 first.

New Features

General Changes

  • Startup is now faster and more reliable. In particular, onModuleLoad() is now called as soon as the DOM is ready, which will generally be before the page’s body.onload() event is fired. This allows your application to startup before certain resources (such as images) are fully loaded.
  • Linux hosted mode should be less crashy. (#1105, #1281, #1358)
  • An important discussion of HTTP headers, caching, and HTTPS has been added to the ImageBundle documentation. (#1172)
  • PopupPanel.center() now causes the popup to be shown as well as centered. (#1120)
  • RichTextArea underwent number of bugfixes and should be stable now. (#1130, #1214, #1276)
  • New RPC warnings

    • Warn if a non-checked exception is used in the throws clause of a RemoteService method.
    • Warn if no concrete, serializable subclasses can be found for a given type declared in a RemoteService interface.
  • RPC now generates a serialization policy file during compilation. The serialization policy file contains a whitelist of allowed types which may be serialized. Its name is a strong hash name followed by. This file must be deployed to your web server as a public resource, accessible from a RemoteServiceServlet via. If it is not deployed properly, RPC will run in 1.3.3 compatibility mode and refuse to serialize types implementing Serializable. (#1297)
  • Panel.adopt(Widget, Element) and Panel.disown(Widget) have been deprecated. If you have subclassed Panel, please carefully review the new documentation for Panel.add(Widget) and Panel.remove(Widget) for details on the correct way to add and remove Widgets from Panels. (#1121)
  • The benchmark viewer application is now faster, prettier, and a bit more user friendly.

Retractions from 1.4.10

  • Breaking changes to the semantics of UIObject.setStyleName() have been backed out. All changes relative to 1.3.3 should now be backwards-compatible. (#1079)
  • The linux distribution of 1.4.10 bundled Mozilla 1.7.13 instead of version 1.7.12, which is bundled in previous releases. This change caused problems on some systems, so it’s been reverted back to Mozilla 1.7.12 again. (#1105)
  • Numerous RPC warnings were added in 1.4.10. One of these warnings would be issued when a class containing native methods was found to be serializable. This warning now only applies to automatically serialized types; types with custom serializers will no longer trigger this warning. (#1161)
  • A change to RPC in 1.4.10 would cause an error to be issued if a serializable type had any subtypes that were not serializable. This change caused code that worked in 1.3.3 to fail in 1.4.10. In this release, the error has been downgraded to a warning. (#1163)
  • A potentially breaking change to event bubbling in 1.4.10 has been backed out in favor of the 1.3.3 behavior. (#1159)

Fixed Issues

See the GWT issue tracker for the complete list of bug fixes in this release.


Release Notes for 1.4.10 (RC)

This is the Release Candidate for GWT 1.4, the first GWT release developed with major participation from GWT open source contributors. It’s been a long time coming, but we hope it’s been worth the wait. In addition to tons of new features, optimizations, and performance enhancements, we’ve fixed more than 150 bugs. There are some important behavioral and potentially breaking API changes; if you read nothing else, please read these following sections!

Behavioral Changes

Important changes in the behavior of existing GWT features.

Critical Changes to RPC

In previous versions, the RPC subsystem was too lenient and failed to warn at compile time about potential (though unusual) edge cases that could in theory cause problems at runtime. Beginning with version 1.4, the RPC subsystem emits additional warnings and errors to help you identify error-prone constructs. While this new behavior may seem annoying at first, rest assured that fixing your code to avoid RPC warnings will result in a smaller, faster, and more reliable app.

  • Bad code that happened to work before might not now

    Previously, if you declared one particular component type via @gwt.typeArgs at compile time, you could often get away with passing a different type at runtime. For example, placing a Date in an ArrayList of String might work. This type of code is less likely to work now and will likely become more strict in the future. Bottom line: don’t do this. Make sure collections only contain the declared item type (or subtypes thereof).

  • Serializable equivalent to IsSerializable

    Although GWT’s RPC mechanism doesn’t purport to honor the semantics of Java serialization, by popular demand, Serializable and IsSerializable are now equivalent for the purposes of RPC. This should improve server-side interoperability and remove much of the need for DTOs.

  • Warn about missing gwt.typeArgs Every Collection or Map type should have an associated gwt.typeArgs javadoc annotation. In the past, a missing @gwt.typeArgs would generally have no noticeable effect, because a bug in the RPC system would generate code for all available serializable types, even if they weren’t used in your service interface. Now that this bug has been fixed, you can achieve significant reduction in the size of your compiled output by fixing these warnings.
  • Warn about serializable subclasses that violate the serialization restrictions An RPC warning is emitted for classes that are assignable to IsSerializable or Serializable but that lack a default constructor or contain fields which cannot be serialized. It is important to resolve these warnings to avoid rare but confusing situations in which exceptions would be thrown at runtime.
  • Warn about non-transient, final instance fields

    RPC has never actually serialized instance fields, but now it explicitly warns about the existence of such fields unless they are also. Thus, the warning can be addressed by making instance fields as well, or it can be suppressed via a module property.

  • Warn about local and non-static nested types that implement IsSerializable or Serializable RPC has never serialized these kinds of classes and will now generate a warning.
  • Warn about native methods in serializable classes

    Attempting to serialize classes that contain methods will cause UnsatisfiedLinkErrors if such methods are called in server-side code.

Module Script Tags

  • In previous versions of GWT, including external JavaScript files via a module tag required a nested JavaScript expression — called a script-ready function — that would determine when the script had been successfully loaded. Script load order is now handled automatically and these expressions are ignored. A warning will be issued in hosted mode. For reference, see here.

Additional Hosted Mode Checks Related to JSNI

  • Previously, when passing values from JavaScript into Java, hosted mode would silently coerce a JavaScript value of an incorrect type into the declared Java type. Unfortunately, this would allow code to work in hosted mode that could fail in unexpected ways in web mode. Hosted mode will now throw a HostedModeException if you try to pass an incompatible type. See here for more details.

Breaking API Changes

This release also includes API changes that may require minor tweaks to existing code. Any such changes that affect you should only take a few minutes to rectify.

#### JavaScriptObject

  • Although subclassing JavaScriptObject is not supported, some people do so anyway at their own risk :) Please note that the existing (int) constructor has been removed in favor of a protected no-arg constructor. Read the source code for Element for an example of how JavaScriptObject must be subclassed now (that is, if subclassing were supported…which, of course, it isn’t).

#### DeferredCommand

  • The add() method is deprecated in favor of addCommand() in order to support the new IncrementalCommand interface. Had we simply added a new method overload, existing code that passed in a null literal would have failed to compile.
  • The new addPause() method should be used instead of add(null).

#### UIObject

  • The intended use and behavior of style names has been formalized in UIObject (and therefore in all widgets). All style names are now classified as “primary”, “secondary”, and “dependent” styles, the meanings of which are detailed in the UIObject documentation. The relevant method signatures remain unchanged (get/setStyleName(), add/removeStyleName()), and most widgets should be unaffected. One potentially breaking change, however, is that an exception is thrown if an attempt is made to remove the primary style name of a widget using removeStyleName(). See the UIObject documentation for a full explanation.

New Features

Here are a few of the coolest new features and enhancements in GWT 1.4.

  • Size and Speed Optimizations

    • New sizeimprovements in the GWT compiler produce JavaScript that is 10-20% smaller; just recompile your app with 1.4.
    • An enhanced startup sequence reduces the size of your module’s startup script by 80%. More importantly, the new startup sequence removes an HTTP round-trip, making startup latency about 33% faster.
    • The above optimizations combined with ImageBundle, make it possible for GWT-based applications to load surprisingly quickly. To see for yourself, check out startup time of the Mail sample.
  • Deployment Enhancements

    • GWT RPC is no longer tied to exclusively to servlets. New modularized RPC server code makes it easy to connect GWT RPC to your choice of Java back-ends.
    • Adding GWT modules to an HTML page has been simplified. Instead of adding a andyou just add a single script element for your module.
    • Cross-site script inclusion is now supported. The compiler produces a “-xs” (meaning “cross-site”) version of your module’s startup script that can be included without being restricted by the same-origin policy. WARNING: including scripts from other sites that you don’t fully trust is a big security risk.
  • Widget and Library Enhancements

    • RichTextArea allows “drop in” functionality for rich text editing.
    • SuggestBox makes it easy to add auto-complete functionality.
    • Splitters! HorizontalSplitPanel and VerticalSplitPanel enable you to resize portions of the user interface.
    • PushButton and ToggleButton are easy-to-customize button widgets that can enhance the look-and-feel of your UI.
    • DisclosurePanel is a simple, nice-looking panel that lets users easily hide and show portions of your application UI.
    • DateTimeFormat and NumberFormat make it easy to format and parse dates, times, and numbers for users all over the world.
    • IncrementalCommand helps you implement long-running tasks in your client code without triggering “slow script” warnings.
    • A new benchmarking subsystem integrates with JUnit to let you record and compare the speed of code snippets across multiple browsers and multiple parameter ranges. Benchmarking is a powerful way to identify bottlenecks and compare performance of alternative implementations.
    • The oft-requested java.io.Serializable is now included in the JRE emulation library and is synonymous with IsSerializable for the purpose of GWT RPC.
    • Mouse wheel events are now available on a variety of widgets.
  • ImageBundle

    • ImageBundle is the single biggest have-to-see-it-to-believe-it feature in this release. Image bundles make it trivially easy to combine dozens of images into a single “image strip”, collapsing what would have been dozens of HTTP requests into one: a single, permanently-cacheable image file.
    • Image bundles manage everything for you automatically, from computing clipping rectangles to making transparent PNGs work in IE6. You can even choose to get the clipped image as an Image widget or as pure HTML for inclusion in a larger HTML template.
    • In addition to enabling a blazing-fast startup, image bundles help make the Labyrinth of Legendary Loot 1.05 Free Download look better during startup, too. Typical AJAX apps exhibit “bouncy relayout” as individual images are loaded one-at-a-time. Fixing this problem has historically required laboriously pre-initializing the width and height of each individual image ahead of time. Image bundles do the same thing automatically. The dimensions of each clipped image are computed at compile time while the bundled image file is being created. Voila! The result is a fast, non-ugly user startup experience that requires no extra work on the part of the GWT developer to keep up-to-date.
    • See the doc section for more details.

See the GWT issue tracker for the complete list of enhancements in this release.

Fixed Issues

See the GWT issue tracker for the complete list of bug fixes in this release.


Release Notes for 1.3.3

This version has only minor functional changes from 1.3.1, listed below.

Fixed Issues


Release Notes for 1.3.1 (RC)

This is the Release Candidate for GWT 1.3, the first completely open source version of GWT. This version has no new functionality, but we did make a lot of changes to get the source code and build scripts into presentable shape to prepare for ongoing open source development. Although the changes were relatively harmless – formatting, sorting, more documentation, and a new build system – there’s always a small chance of problems, so we plan to call this a Release Candidate until we’ve convinced ourselves it’s reliable.

Useful Links

  • Making GWT Better This is our new GWT open source charter that describes how we plan to operate the project and how you can access the GWT source, compile it yourself, and contribute.
  • The GWT Issue Tracker Please report any bugs in 1.3 RC that weren’t in 1.2.22 in the GWT issue tracker. These would be likely related to the new build, and we want to know ASAP so we can fix them.
  • The GWT Git Repository Visit the online repository to browse the GWT source without a Git client.

Release Notes for 1.2.22

This is the official GWT 1.2 release, the follow up to the GWT 1.2 Release Candidate. It includes all of the enhancements and bug fixes from GWT 1.2 RC as well as a few additional bug fixes that were reported against GWT 1.2 RC.

About OS X Hosted Mode Support

GWT’s hosted mode support is available only on OS X 1.4 (Tiger) or later.

Useful Links

Breaking API Changes

There are no breaking changes to pre-1.2 APIs, but one method has been renamed in a class that was new in 1.2 RC.

com.google.gwt.http.client.RequestBuilder

The method was renamed to to more clearly reflect its intent. You will only be affected by this change if you are using the new HTTP functionality available as of build 1.2.11.


Release Notes for 1.2.11 (RC)

This is the Release Candidate for GWT 1.2. Between this build and the subsequent GWT 1.2 official release, changes are limited to issues unique to GWT 1.2 RC.

See the GWT issue tracker for the complete list of enhancements and bug fixes in this release.

New Features

  • Full support for OS X developmentDevelop with GWT on OS X as easily as on Linux and Windows
  • Much faster hosted modeHosted mode startup time has improved significantly, but, even better, refreshes are now lightning fast — even when your source changes
  • **New HTTP request module **The HTTP functionality that GWT users have been asking for (custom headers, status code, timeouts, and more), all wrapped up in an API that’s easier to use than the JavaScript XMLHttpRequest object
  • **Widgets in TreeItems **Tree items can now contain arbitrary widgets…finally, you can easily create trees with checkboxes :-)

Release Notes for 1.1.10

Fixed Issues

  • Normalized behavior of GWT.getModuleBaseURL() with respect to hosted mode, web mode, RPC, and automatic resource injection ( post #1, post #2, post #3)
  • Clarified message in Grid class related to row/column out of bounds error (post)
  • i18nCreator fixed to work with Java 5.0 (post)
  • I18NSync (and therefore -i18n scripts) changed to replace dots with underscores when generating method names (post)
  • Additional character escaping in JSON strings (post)
  • Fixed bug calling toString() on nested JSON objects (post)
  • Fixed bug that caused the default font size of text in a FocusPanel to be zero post
  • Fixed TabPanel.insert() with asHTML argument (post)
  • Popups and DialogBoxes no longer underlap lists and combos in IE6 (post)
  • DialogBoxes can no longer be dragged beoynd the upper left corner of the browser window (post)
  • Buttons inside of FormPanels no longer automatically submit on Firefox; this is still a problem some versions of Safari and Opera (post)
  • TabPanel now sets the height of the internal DeckPanel to 100% to ensure all available space is used (post)
  • Fixed bug in Mozilla that was causing DialogBox.onKeyPressPreview() to see key as 0 (post)
  • DockPanel no longer lays out with a DeferredCommand; this makes it possible to correctly measure the size of PopupPanel (post)
  • SimplePanel is no longer abstract
  • Double click now fires correctly on IE6 (post)
  • Fixed RPC bug that caused deserialization errors or infinite loops with self-referential object graphs (post)
  • Fixed RPC bug that caused deserialization to fail on character arrays containing null characters (post)
  • Serializable classes whose superclass is serialized by a custom field serializer are now correctly deserialized on the server
  • Fixed bug related to FocusPanel that sometimes manifested during RPC async responses (post)
  • Fixed bug in JUnit assertEquals() for floating point values (delta was not honored correctly) (post)
  • Fixed internal compiler errors related to nested local subclasses, empty for loop expressions, and no-op unary plus operator. (post #1, post #2, post #3)
  • Fixed infinite loop in Integer.toHexString() (post)
  • Compiler now handling filesystem symbolic links in project structure (post)
  • Fixed rare JVM crash in Windows hosted mode related to JSNI function pointers

Release Notes for 1.1.0 (RC)

New Features

  • FileUpload widget The much-requested file upload widget
  • FormPanel widget Easily submit traditional HTML forms from GWT apps
  • RPC optimizations Client and server performance improvements and a more compact wire format
  • Automatic Resource Injection Modules can contain references to external JavaScript and CSS files, causing them to be automatically loaded when the module itself is loaded
  • Internationalization Easily localize strings and formatted messages
  • XML classes An XML library based on the W3C DOM
  • JSON classes JSON has moved intoand it’s much faster than the sample that shipped with 1.0.21
  • JUnit enhancements Unit tests are much, much faster than in 1.0.21, easier to configure, and you can now test asynchronous things like RPCs and timers
  • Javadoc Now included for your convenience, with sample code fragments
  • Although you should continue to build against as always, you only need to deploy with your webapps; it contains the subset of you’ll need to support RPC There are also a significant number of bug fixes from all the great feedback we’ve gotten from the developer forum. Please see the additional release notes for detailed information about other important changes in GWT since the previous release, including a few breaking API changes that we don’t want to catch you off guard.

Fixed Issues

See the appendix of fixed issues for the nitty-gritty list of things that we have fixed in this release, including smaller issues.

Behavioral Changes

Important changes in the behavior of existing GWT features.

Module Source and Public Paths

  • In previous versions of GWT, source and public path inclusions were based on physical directory structure; only files physically located with the module would be included. Going forward, source and public path inclusions are based on logical package structure. Once a package has been included, any files in that package become visible no matter where they are physically located.

JUnit Modules

  • GWT test modules (that is, modules intended to run GWTTestCase-derived JUnit test cases) no longer need to inherit the module. Additionally, it is no longer an error to declare entry points within a test module (they will be ignored when running under JUnit). Most test cases can now simply use the existing application module, which should simplify test case configuration.

Breaking API Changes

Based on user feedback, we’ve made a few API changes in this release that may require minor tweaks to your existing code when you upgrade. Any such changes that affect you should only take a few minutes to rectify.

com.google.gwt.user.client.ui.HasWidgets

  • We’ve moved add(), remove(), and clear() into this interface, so that any widget that can contain other widgets will be bound to this contract.
  • The add() method no longer returns a boolean. If a panel either cannot add a child widget without extra arguments, or cannot accept further widgets, it will throw an exception. This is in keeping with the fact that this is usually the result of an error in the code.
  • Its iterator is now required to support the remove() method.

com.google.gwt.user.client.ui.Composite

  • Composites must now call initWidget() in their constructors, rather than setWidget(). This is more indicative of its actual purpose, and also serves to clear up any confusion with SimplePanel’s setWidget() method. Composite.setWidget() is now deprecated.

com.google.gwt.user.client.ui.SimplePanel and subclasses

  • We have added setWidget() to SimplePanel, which has more appropriate semantics for a panel that can contain only one child. The add() method is still present through the HasWidgets interface, but will fail if a widget is already present. This change is most likely to affect you if you use DialogBox or PopupPanel. To fix it, simply change your call to add() to setWidget() instead.

com.google.gwt.user.client.Cookies

  • Cookies.getCookie() is now static, as it should have been from the beginning. There is no need to instantiate this class now.
  • You can now set cookies as well!

Appendix: Complete List of Fixed Issues

The list of issues below is a short synopsis of all of the major and minor issues fixed in this release. See the online GWT issues database for the important common issues.

  • String.matches(regex) should exist and doesn’t
  • Need a way to set individual List items selected/unselected (applies to multi-select listboxes)
  • DOM needs setBooleanAttribute, getBooleanAttribute.
  • HTMLTable.CellFormatter needs getStyleName() to match setStyleName().
  • FlexTable’s internal widget map does not correctly adjust for the user inserting rows and cells.
  • Window.getTitle/setTitle should be static

  • DynaTable has incorrect HTML
  • Change Timer API to use int not long
  • In hosted mode JSNI, marshall Java longs as VT_R8
  • Popups are not always positioned properly on Safari.
  • SWT source inclusion is wrong.
  • Safari crashes on exit under some circumstances.
  • TreeLogger throws away exception info in console mode.
  • Window needs a private ctor
  • Phone home version checking should actually compare ordering of version number
  • Hosted Mode server throws IllegalArgumentException when system is set to non-english locale
  • Trees have an unsightly 16-pixel left margin.
  • SimplePanel.remove() broken.
  • ScrollPanel doesn’t implement SourcesScrollEvents.
  • Make junit-web output to www dir
  • Add “hidden” feature to ArgHandler system.
  • JUnitShell could hang forever.
  • 1.5 VM fails to run junit because StackTraceElement 0-arg constructor disappeared.
  • Panel and ComplexPanel still have methods from old version of HasWidgets.
  • Nested tables can fire events from the wrong one.
  • Make sure JSNI refs to functions can be passed around and used as real function pointers.
  • AbsolutePanel doesn’t position its children consistently.
  • JSONParser does not handle generic JSONValues in the encoded json string correctly; always assumes its a JSONObject
  • Remove -notHeadless from GWTShell (only applies to GWTUnitTestShell)
  • Number of results returned from split() differs in Java/JavaScript (see description)
  • Helper scripts don’t work for base package.
  • Grid fails to update row count when removing.
  • JSONString, toString does not enclose its characters in double quotes
  • Selection issue when removing widgets from TabPanel.
  • JSONParser always assumes root type winzip crack 64 bit - Crack Key For U JSONObject
  • ClassSourceFileComposer should not handle Class objects.
  • Modules cannot supercede files from inherited modules
  • Simple & ComplexPanel shouldn’t implement getChildCount(), getChild(), etc.
  • Negative byte values passed into JavaScript become positive
  • The rpc servlet needs a thread-local HttpServletResponse to match the thread-local request.
  • Appending char to a String behaves incorrectly.
  • Remove STL dependency from gwt-ll
  • Using xhtml doctype causes popups to be misplaced on Mozilla browsers.
  • JsniInjector fails to match lines when there are Javadoc comments.
  • Add whitelist bypass for hosted browser
  • PopupPanel example is wrong.
  • UIObject needs a title property.
  • JSNI methods in local classes don’t work in hosted mode.
  • HashMap throws a JavaScript error under some circumstances.
  • Source and Public module tags should be logical instead of physical.
  • Document that module source and public tags are now logical rather than physical.
  • Default .launch file fails to use project’s full classpath.

  • RemoteServiceServlet sends back HTTP 200 OK but no content under WebSphere.
  • Widget.onLoad() is called too early sometimes.
  • Is it really a good idea to have add(Widget) on Panel?
  • Web-mode JUnit that reports via RPC
  • Tree fires onTreeItemStateChanged twice.
  • Make JSON APIs part of gwt-user.jar
  • Async JUnit
  • String.equalsIgnoreCase(null) throws exception in web mode
  • Using a class literal for a pruned typed causes ICE
  • Make all built-in implementations of HasWidgets.iterator() support remove().
  • JSON is slow in Web mode
  • StringBuffer uses string concatenation, and is n-squared as a result
  • Identical Strings can compare false in web mode.
  • Tweaks to the property provider environment to support locale and improve code uniformity b/w hosted and web mode
  • Server-side serialization is unusably slow for large data sets

  • Client side serialization is unusably slow for large datasets
  • Format source for JUnitTestCaseStubGeneratorm, ServerSerializationStream
  • MethodDispatch not working correctly on IE.
  • JavaScriptObject rescuing is incomplete.
  • Reduce Iobit uninstaller 8.5 crack - Activators Patch wire size by not quoting non-strings.
  • Cyclic object graphs can be corrupted during deserialization on the server
  • Test methods that throw checked exceptions cause the generated code to fail to compile
  • Allow RemoteServiceResponse compression to be controlled by subclasses
  • Startup timing bug makes RootPanel.get(id) throw an NPE
  • Change whitelist/blacklist settings to be command-line switches rather than system properties
  • KeyCode is always 0 for keypress events on Mozilla.
  • Add Panel.remove(int) convenience method.
  • File Upload Widget
  • PopupPanel needs to deal better with being empty.
  • CheckBox.setEnabled() has reversed sense.
  • History tokens have problems with URL encoding.
  • Loosen restriction on when DockPanel.CENTER child may be added.
  • AbsolutePanel needs getWidgetLeft() and getWidgetTop().
  • Decision: how should FlowPanel behave?
  • Samples with composites need to call initWidget() instead of the deprecated setWidget().
  • RootPanel.get(String) should not be clearing the div’s contents.
  • ListBox, Image, and Hyperlink are missing style names, despite doc
  • Hyperlink.removeClickListener is broken.
  • Don’t allow tabs to word-wrap internally on TabPanel
  • Turkish locale problem with the RPC generated code - probably affects others too
  • StackPanel.add() totally screwy.
  • Referencing a field that could cause static initialization fails to cause a side effect.

Release Notes for 1.0.21

Fixed Issues

Источник: http://www.gwtproject.org/release-notes.html
type]-doc' due to not recognizing keyword synonyms supported by Sphinx.

  • Added a new refactoring message, 'consider-merging-isinstance', which is emitted whenever we can detect that consecutive isinstance calls can be merged together.

    Closes issue #968

  • Fix a false positive of 'missing-param-doc' and 'missing-type-doc', occurred when a class docstring uses the 'For the parameters, see' magic string but the class __init__ docstring does not, or vice versa.

  • is now also emitted when a nested loop's target variable is the same as a target variable in an outer loop.

    Closes issue #911.

  • Added proper exception type inference for 'missing-raises-doc'.

  • Added InvalidMessageError exception class to replace asserts in pylint.utils.

  • More thorough validation in MessagesStore.register_messages() to avoid one message accidentally overwriting another.

  • InvalidMessageError, UnknownMessage, and EmptyReport exceptions are moved to the new pylint.exceptions submodule.

  • UnknownMessage and EmptyReport are renamed to UnknownMessageError and EmptyReportError.

  • Warnings 'missing-returns-type-doc' and 'missing-yields-type-doc' have each been split into two warnings - 'missing-[return name-to-port *("," name-to-port)
    name-to-port = 1*(service-name "=') port-number

  • The comma is required. Whitespace is optional but it cannot appear inside a service name or port number.

    This feature is available in Postfix 3.6 and later.

    line_length_limit (default: 2048)

    Upon input, long lines are chopped up into pieces of at most this length; upon delivery, long lines are reconstructed.

    lmdb_map_size (default: 16777216)

    The initial OpenLDAP LMDB database size limit in bytes. Each time a database becomes full, its size limit is doubled.

    This feature is available in Postfix 2.11 and later.

    lmtp_address_preference (default: ipv6)

    The LMTP-specific version of the smtp_address_preference configuration parameter. See there for details.

    This feature is available in Postfix 2.8 and later.

    lmtp_address_verify_target (default: rcpt)

    The LMTP-specific version of the smtp_address_verify_target configuration parameter. See there for details.

    This feature is available in Postfix 3.0 and later.

    lmtp_assume_final (default: no)

    When a remote LMTP server announces no DSN support, assume that the server performs final delivery, and send "delivered" delivery status notifications instead of "relayed". The default setting is backwards compatible to avoid the infinitesimal possibility of breaking existing LMTP-based content filters.

    lmtp_balance_inet_protocols (default: yes)

    The LMTP-specific version of the smtp_balance_inet_protocols configuration parameter. See there for details.

    This feature is available in Postfix 3.3 and later.

    lmtp_bind_address (default: empty)

    The LMTP-specific version of the smtp_bind_address configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_bind_address6 (default: empty)

    The LMTP-specific version of the smtp_bind_address6 configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_bind_address_enforce (default: empty)

    The LMTP-specific version of the smtp_bind_address_enforce configuration parameter. See there for details.

    This feature is available in Postfix 3.7 and later.

    lmtp_body_checks (default: empty)

    The LMTP-specific version of the smtp_body_checks configuration parameter. See there for details.

    This feature is available in Postfix 2.5 and later.

    lmtp_cache_connection (default: yes)

    Keep Postfix LMTP client connections open for up to $max_idle seconds. When the LMTP client receives a request for the same connection the connection is reused.

    This parameter is available in Postfix version 2.2 and earlier. With Postfix version 2.3 and later, see lmtp_connection_cache_on_demand, lmtp_connection_cache_destinations, or lmtp_connection_reuse_time_limit.

    The effectiveness of cached connections will be determined by the number of remote LMTP servers in use, and the concurrency limit specified for the Postfix LMTP client. Cached connections are closed under any of the following conditions:

    • The Postfix LMTP client idle time limit is reached. This limit is specified with the Postfix max_idle configuration parameter.
    • A delivery request specifies a different destination than the one currently cached.
    • The per-process limit on the number of delivery requests is reached. This limit is specified with the Postfix max_use configuration parameter.
    • Upon the onset of another delivery request, the remote LMTP server associated with the current session does not respond to the RSET command.

    Most of these limitations have been with the Postfix a connection cache that is shared among multiple LMTP client programs.

    lmtp_cname_overrides_servername (default: yes)

    The LMTP-specific version of the smtp_cname_overrides_servername configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_connect_timeout (default: 0s)

    The Postfix LMTP client time limit for completing a TCP connection, or zero (use the operating system built-in time limit). When no connection can be made within the deadline, the LMTP client tries the next address on the mail exchanger list.

    Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).

    Example:

    lmtp_connect_timeout = 30s
    lmtp_connection_cache_destinations (default: empty)

    The LMTP-specific version of the smtp_connection_cache_destinations configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_connection_cache_on_demand (default: yes)

    The LMTP-specific version of the smtp_connection_cache_on_demand configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_connection_cache_time_limit (default: 2s)

    The LMTP-specific version of the smtp_connection_cache_time_limit configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_connection_reuse_count_limit (default: 0)

    The LMTP-specific version of the smtp_connection_reuse_count_limit configuration parameter. See there for details.

    This feature is available in Postfix 2.11 and later.

    lmtp_connection_reuse_time_limit (default: 300s)

    The LMTP-specific version of the smtp_connection_reuse_time_limit configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_data_done_timeout (default: 600s)

    The Postfix LMTP client time limit for sending the LMTP ".", and for receiving the remote LMTP server response. When no response is received within the deadline, a warning is logged that the mail may be delivered multiple times.

    Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).

    lmtp_data_init_timeout (default: 120s)

    The Postfix LMTP client time limit for sending the LMTP DATA command, and for receiving the remote LMTP server response.

    Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).

    lmtp_data_xfer_timeout (default: 180s)

    The Postfix LMTP client time limit for sending the LMTP message content. When the connection stalls for more than $lmtp_data_xfer_timeout the LMTP client terminates the transfer.

    Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).

    lmtp_defer_if_no_mx_address_found (default: no)

    The LMTP-specific version of the smtp_defer_if_no_mx_address_found configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_delivery_status_filter (default: empty)

    The LMTP-specific version of the smtp_delivery_status_filter configuration parameter. See there for details.

    This feature is available in Postfix 3.0 and later.

    lmtp_destination_concurrency_limit (default: $default_destination_concurrency_limit)

    The maximal number of parallel deliveries to the same destination via the lmtp message delivery transport. This limit is enforced by the queue manager. The message delivery transport name is the first field in the entry in the master.cf file.

    lmtp_destination_recipient_limit (default: $default_destination_recipient_limit)

    The maximal number of recipients per message for the lmtp message delivery transport. This limit is enforced by the queue manager. The message delivery transport name is the first field in the entry in the master.cf file.

    Setting this parameter to a value of 1 changes the meaning of lmtp_destination_concurrency_limit from concurrency per domain into concurrency per recipient.

    lmtp_discard_lhlo_keyword_address_maps (default: empty)

    Lookup tables, indexed by the remote LMTP server address, with case insensitive lists of LHLO keywords (pipelining, starttls, auth, etc.) that the Postfix LMTP client will ignore in the LHLO response from a remote LMTP server. See lmtp_discard_lhlo_keywords for details. The table is not indexed by hostname for consistency with smtpd_discard_ehlo_keyword_address_maps.

    This feature is available in Postfix 2.3 and later.

    lmtp_discard_lhlo_keywords (default: empty)

    A case insensitive list of LHLO keywords (pipelining, starttls, auth, etc.) that the Postfix LMTP client will ignore in the LHLO response from a remote LMTP server.

    This feature is available in Postfix 2.3 and later.

    Notes:

    lmtp_dns_reply_filter (default: empty)

    Optional filter for Postfix LMTP client DNS lookup results. See smtp_dns_reply_filter for details including an example.

    This feature is available in Postfix 3.0 and later.

    lmtp_dns_resolver_options (default: empty)

    The LMTP-specific version of the smtp_dns_resolver_options configuration parameter. See there for details.

    This feature is available in Postfix 2.8 and later.

    lmtp_dns_support_level (default: empty)

    The LMTP-specific version of the smtp_dns_support_level configuration parameter. See there for details.

    This feature is available in Postfix 2.11 and later.

    lmtp_enforce_tls (default: no)

    The LMTP-specific version of the smtp_enforce_tls configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_fallback_relay (default: empty)

    Optional list of relay hosts for LMTP destinations that can't be found or that are unreachable. In main.cf elements are separated by whitespace or commas.

    By default, mail is returned to the sender when a destination is not found, and delivery is deferred when a destination is unreachable.

    The fallback relays must be TCP destinations, specified without a leading "inet:" prefix. Specify a host or host:port. Since MX lookups do not apply with LMTP, there is no need to use the "[host]" or "[host]:port" forms. If you specify multiple LMTP destinations, Postfix will try them in the specified order.

    This feature is available in Postfix 3.1 and later.

    lmtp_generic_maps (default: empty)

    The LMTP-specific version of the smtp_generic_maps configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_header_checks (default: empty)

    The LMTP-specific version of the smtp_header_checks configuration parameter. See there for details.

    This feature is available in Postfix 2.5 and later.

    lmtp_host_lookup (default: dns)

    The LMTP-specific version of the smtp_host_lookup configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_lhlo_name (default: $myhostname)

    The hostname to send in the LMTP LHLO command.

    The default value is the machine hostname. Specify a hostname or [ip.add.re.ss].

    This information can be specified in the main.cf file for all LMTP clients, or it can be specified in the master.cf file for a specific client, for example:

    /etc/postfix/master.cf: mylmtp . lmtp -o lmtp_lhlo_name=foo.bar.com

    This feature is available in Postfix 2.3 and later.

    lmtp_lhlo_timeout (default: 300s)

    The Postfix LMTP client time limit for sending the LHLO command, and for receiving the initial remote LMTP server response.

    Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).

    lmtp_line_length_limit (default: 990)

    The LMTP-specific version of the smtp_line_length_limit configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_mail_timeout (default: 300s)

    The Cacher 2.9.0 Product Key - Crack Key For U LMTP client time limit for sending the MAIL FROM command, and for receiving the remote LMTP server response.

    Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).

    lmtp_mime_header_checks (default: empty)

    The LMTP-specific version of the smtp_mime_header_checks configuration parameter. See there for details.

    This feature is available in Postfix 2.5 and later.

    lmtp_min_data_rate (default: 500)

    The LMTP-specific version of the smtp_min_data_rate configuration parameter. See there for details.

    This feature is available in Postfix 3.7 and later.

    lmtp_mx_address_limit (default: 5)

    The LMTP-specific version of the smtp_mx_address_limit configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_mx_session_limit (default: 2)

    The LMTP-specific version of the smtp_mx_session_limit configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_nested_header_checks (default: empty)

    The LMTP-specific version of the smtp_nested_header_checks configuration parameter. See there for details.

    This feature is available in Postfix 2.5 and later.

    lmtp_per_record_deadline (default: no)

    The LMTP-specific version of the smtp_per_record_deadline configuration parameter. See there for details.

    This feature is available in Postfix 2.9 and later.

    lmtp_per_request_deadline (default: no)

    The LMTP-specific version of the smtp_per_request_deadline configuration parameter. See there for details.

    This feature is available in Postfix 3.7 and later.

    lmtp_pix_workaround_delay_time (default: 10s)

    The LMTP-specific version of the smtp_pix_workaround_delay_time configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_pix_workaround_maps (default: empty)

    The LMTP-specific version of the smtp_pix_workaround_maps configuration parameter. See there for details.

    This feature is available in Postfix 2.4 and later.

    lmtp_pix_workaround_threshold_time (default: 500s)

    The LMTP-specific version of the smtp_pix_workaround_threshold_time configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_pix_workarounds (default: empty)

    The LMTP-specific version of the smtp_pix_workaround configuration parameter. See there for details.

    This feature is available in Postfix 2.4 and later.

    lmtp_quit_timeout (default: 300s)

    The Postfix LMTP client time limit for sending the QUIT command, and for receiving the remote LMTP server response.

    Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).

    lmtp_quote_rfc821_envelope (default: yes)

    The LMTP-specific version of the smtp_quote_rfc821_envelope configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_randomize_addresses (default: yes)

    The LMTP-specific version of the smtp_randomize_addresses configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_rcpt_timeout (default: 300s)

    The Postfix LMTP client time limit for sending the RCPT TO command, and for receiving the remote LMTP server response.

    Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).

    lmtp_reply_filter (default: empty)

    The LMTP-specific version of the smtp_reply_filter configuration parameter. See there for details.

    This feature is available in Postfix 2.7 and later.

    lmtp_rset_timeout (default: 20s)

    The Postfix LMTP client time limit for sending the RSET command, and for receiving the remote LMTP server response. The LMTP client sends RSET in order to finish a recipient address probe, or to verify that a cached connection is still alive.

    Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).

    lmtp_sasl_auth_cache_name (default: empty)

    The LMTP-specific version of the smtp_sasl_auth_cache_name configuration parameter. See there for details.

    This feature is available in Postfix 2.5 and later.

    lmtp_sasl_auth_cache_time (default: 90d)

    The LMTP-specific version of the smtp_sasl_auth_cache_time configuration parameter. See there for details.

    This feature is available in Postfix 2.5 and later.

    lmtp_sasl_auth_enable (default: no)

    Enable SASL authentication in the Postfix LMTP client.

    lmtp_sasl_auth_soft_bounce (default: yes)

    The LMTP-specific version of the smtp_sasl_auth_soft_bounce configuration parameter. See there for details.

    This feature is available in Postfix 2.5 and later.

    lmtp_sasl_mechanism_filter (default: empty)

    The LMTP-specific version of the smtp_sasl_mechanism_filter configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_sasl_password_maps (default: empty)

    Optional Postfix LMTP client lookup tables with one username:password entry per host or domain. If a remote host or domain has no username:password entry, then the Postfix LMTP client will not attempt to authenticate to the remote host.

    lmtp_sasl_path (default: empty)

    Implementation-specific information that is passed through to the SASL plug-in implementation that is selected with lmtp_sasl_type. Typically this specifies the name of a configuration file or rendezvous point.

    This feature is available in Postfix 2.3 and later.

    lmtp_sasl_security_options (default: noplaintext, noanonymous)

    SASL security options; as of Postfix 2.3 the list of available features depends on the SASL client implementation that is selected with lmtp_sasl_type.

    The following security features are defined for the cyrus client SASL implementation:

    noplaintext
    Disallow authentication methods that use plaintext passwords.
    noactive
    Disallow authentication methods that are vulnerable to non-dictionary active attacks.
    nodictionary
    Disallow authentication methods that are vulnerable to passive dictionary attack.
    noanonymous
    Disallow anonymous logins.

    Example:

    lmtp_sasl_security_options = noplaintext
    lmtp_sasl_tls_security_options (default: $lmtp_sasl_security_options)

    The LMTP-specific version of the smtp_sasl_tls_security_options configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_sasl_tls_verified_security_options (default: $lmtp_sasl_tls_security_options)

    The LMTP-specific version of the smtp_sasl_tls_verified_security_options configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_sasl_type (default: cyrus)

    The SASL plug-in type that the Postfix LMTP client should use for authentication. The available types are listed with the "postconf -A" command.

    This feature is available in Postfix 2.3 and later.

    lmtp_send_dummy_mail_auth (default: no)

    The LMTP-specific version of the smtp_send_dummy_mail_auth configuration parameter. See there for details.

    This feature is available in Postfix 2.9 and later.

    lmtp_send_xforward_command (default: no)

    Send an XFORWARD command to the remote LMTP server when the LMTP LHLO server response announces XFORWARD support. This allows an lmtp(8) delivery agent, used for content filter message injection, to forward the name, address, protocol and HELO name of the original client to the content filter and downstream queuing LMTP server. Before you change the value to yes, it is best to make sure that your content filter supports this command.

    This feature is available in Postfix 2.1 and later.

    lmtp_sender_dependent_authentication (default: no)

    The LMTP-specific version of the smtp_sender_dependent_authentication configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_skip_5xx_greeting (default: yes)

    The LMTP-specific version of the smtp_skip_5xx_greeting configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_skip_quit_response (default: no)

    Wait for the response to the LMTP QUIT command.

    lmtp_starttls_timeout (default: 300s)

    The LMTP-specific version of the smtp_starttls_timeout configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_tcp_port (default: 24)

    The default TCP port that the Postfix LMTP client connects to. Specify a symbolic name (see services(5)) or a numeric port.

    lmtp_tls_CAfile (default: empty)

    The LMTP-specific version of the smtp_tls_CAfile configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_tls_CApath (default: empty)

    The LMTP-specific version of the smtp_tls_CApath configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_tls_block_early_mail_reply (default: empty)

    The LMTP-specific version of the smtp_tls_block_early_mail_reply configuration parameter. See there for details.

    This feature is available in Postfix 2.7 and later.

    lmtp_tls_cert_file (default: empty)

    The LMTP-specific version of the smtp_tls_cert_file configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_tls_chain_files (default: empty)

    The LMTP-specific version of the smtp_tls_chain_files configuration parameter. See there for details.

    This feature is available in Postfix 3.4 and later.

    lmtp_tls_ciphers (default: medium)

    The LMTP-specific version of the smtp_tls_ciphers configuration parameter. See there for details.

    This feature is available in Postfix 2.6 and later.

    lmtp_tls_connection_reuse (default: no)

    The LMTP-specific version of the smtp_tls_connection_reuse configuration parameter. See there for details.

    This feature is available in Postfix 3.4 and later.

    lmtp_tls_dcert_file (default: empty)

    The LMTP-specific version of the smtp_tls_dcert_file configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_tls_dkey_file (default: $lmtp_tls_dcert_file)

    The LMTP-specific version of the smtp_tls_dkey_file configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_tls_eccert_file (default: empty)

    The LMTP-specific version of the smtp_tls_eccert_file configuration parameter. See there for details.

    This feature is available in Postfix 2.6 and later, when Postfix is compiled and linked with OpenSSL 1.0.0 or later.

    lmtp_tls_eckey_file (default: empty)

    The LMTP-specific version of the smtp_tls_eckey_file configuration parameter. See there for details.

    This feature is available in Postfix 2.6 and later, when Postfix is compiled and linked with OpenSSL 1.0.0 or later.

    lmtp_tls_enforce_peername (default: yes)

    The LMTP-specific version of the smtp_tls_enforce_peername configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_tls_exclude_ciphers (default: empty)

    The LMTP-specific version of the smtp_tls_exclude_ciphers configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_tls_fingerprint_cert_match (default: empty)

    The LMTP-specific version of the smtp_tls_fingerprint_cert_match configuration parameter. See there for details.

    This feature is available in Postfix 2.5 and later.

    lmtp_tls_fingerprint_digest (default: see "postconf -d" output)

    The LMTP-specific version of the smtp_tls_fingerprint_digest configuration parameter. See there for details.

    This feature is available in Postfix 2.5 and later.

    lmtp_tls_force_insecure_host_tlsa_lookup (default: no)

    The LMTP-specific version of the smtp_tls_force_insecure_host_tlsa_lookup configuration parameter. See there for details.

    This feature is available in Postfix 2.11 and later.

    lmtp_tls_key_file (default: $lmtp_tls_cert_file)

    The LMTP-specific version of the smtp_tls_key_file configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_tls_loglevel (default: 0)

    The LMTP-specific version of the smtp_tls_loglevel configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_tls_mandatory_ciphers (default: medium)

    The LMTP-specific version of the smtp_tls_mandatory_ciphers configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_tls_mandatory_exclude_ciphers (default: empty)

    The LMTP-specific version of the smtp_tls_mandatory_exclude_ciphers configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_tls_mandatory_protocols (default: see postconf -d output)

    The LMTP-specific version of the smtp_tls_mandatory_protocols configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_tls_note_starttls_offer (default: no)

    The LMTP-specific version of the smtp_tls_note_starttls_offer configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_tls_per_site (default: empty)

    The LMTP-specific version of the smtp_tls_per_site configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_tls_policy_maps (default: empty)

    The LMTP-specific version of the smtp_tls_policy_maps configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_tls_protocols (default: see postconf -d output)

    The LMTP-specific version of the smtp_tls_protocols configuration parameter. See there for details.

    This feature is available in Postfix 2.6 and later.

    lmtp_tls_scert_verifydepth (default: 9)

    The LMTP-specific version of the smtp_tls_scert_verifydepth configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_tls_secure_cert_match (default: nexthop)

    The LMTP-specific version of the smtp_tls_secure_cert_match configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_tls_security_level (default: empty)

    The LMTP-specific version of the smtp_tls_security_level configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_tls_servername (default: empty)

    The LMTP-specific version of the smtp_tls_servername configuration parameter. See there for details.

    This feature is available in Postfix 3.4 and later.

    lmtp_tls_session_cache_database (default: empty)

    The LMTP-specific version of the smtp_tls_session_cache_database configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_tls_session_cache_timeout (default: 3600s)

    The LMTP-specific version of the smtp_tls_session_cache_timeout configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_tls_trust_anchor_file (default: empty)

    The LMTP-specific version of the smtp_tls_trust_anchor_file configuration parameter. See there for details.

    This feature is available in Postfix 2.11 and later.

    lmtp_tls_verify_cert_match (default: hostname)

    The LMTP-specific version of the smtp_tls_verify_cert_match configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_tls_wrappermode (default: no)

    The LMTP-specific version of the smtp_tls_wrappermode configuration parameter. See there for details.

    This feature is available in Postfix 3.0 and later.

    lmtp_use_tls (default: no)

    The LMTP-specific version of the smtp_use_tls configuration parameter. See there for details.

    This feature is available in Postfix 2.3 and later.

    lmtp_xforward_timeout (default: 300s)

    The Postfix LMTP client time limit for sending the XFORWARD command, and for receiving the remote LMTP server response.

    In case of problems the client does NOT try the next address on the mail exchanger list.

    Time units: s (seconds), m (minutes), h (hours), d (days), w (weeks). The default time unit is s (seconds).

    This feature is available in Postfix 2.1 and later.

    local_command_shell (default: empty)

    Optional shell program for local(8) delivery to non-Postfix command. By default, non-Postfix commands are executed directly; commands are given to the default shell (typically, /bin/sh) only when they contain shell meta characters or shell built-in commands.

    "sendmail's restricted shell" (smrsh) is what most people will use in order to restrict what programs can be run from e.g. .forward files (smrsh is part of the Sendmail distribution).

    Note: when a shell program is specified, it is invoked even when the command contains no shell built-in commands or meta characters.

    Example:

    local_command_shell = /some/where/smrsh -c local_command_shell = /bin/bash -c
    local_delivery_status_filter (default: $default_delivery_status_filter)

    Optional filter for the local(8) delivery agent to change the status code or explanatory text of successful or unsuccessful deliveries. See default_delivery_status_filter for details.

    This feature is available in Postfix 3.0 and later.

    local_destination_concurrency_limit (default: 2)

    The maximal number of parallel deliveries via the local mail delivery transport to the same recipient (when "local_destination_recipient_limit = 1") or the maximal number of parallel deliveries to the same local domain (when "local_destination_recipient_limit > 1"). This limit is enforced by the queue manager. The message delivery transport name is the first field in the entry in the master.cf file.

    A low limit of 2 is recommended, just in case someone has an expensive shell command in a .forward file or in an alias (e.g., a mailing list manager). You don't want to run lots of those at the same time.

    local_destination_recipient_limit (default: 1)

    The maximal number of recipients per message delivery via the local mail delivery transport. This limit is enforced by the queue manager. The message delivery transport name is the first field in the entry in the master.cf file.

    Setting this parameter to a value > 1 changes the meaning of local_destination_concurrency_limit from concurrency per recipient into concurrency per domain.

    local_header_rewrite_clients (default: permit_inet_interfaces)

    Rewrite message header addresses in mail from these clients and update incomplete addresses with the domain name in $myorigin or $mydomain; either don't rewrite message headers from other clients at all, or rewrite message headers and update incomplete addresses with the domain specified in the remote_header_rewrite_domain parameter.

    See the append_at_myorigin and append_dot_mydomain parameters for details of how domain names are appended to incomplete addresses.

    Specify a list of zero or more of the following:

    permit_inet_interfaces
    Append the domain name in $myorigin or $mydomain when the client IP address matches $inet_interfaces. This is enabled by default.
    permit_mynetworks
    Append the domain name in $myorigin or $mydomain when the client IP address matches any network or network address listed in $mynetworks. This setting will not prevent remote mail header address rewriting when mail from a remote client is forwarded by a neighboring system.
    permit_sasl_authenticated
    Append the domain name in $myorigin or $mydomain when the client is successfully authenticated via the RFC 4954 (AUTH) protocol.
    permit_tls_clientcerts
    Append Cacher 2.9.0 Product Key - Crack Key For U domain name in $myorigin or $mydomain when the remote SMTP client TLS certificate fingerprint or public key fingerprint (Postfix 2.9 and later) is listed in $relay_clientcerts. The fingerprint digest algorithm is configurable via the smtpd_tls_fingerprint_digest parameter (hard-coded as md5 prior to Postfix version 2.5).
    The default algorithm is sha256 with Postfix ≥ 3.6 and the compatibility_level set to 3.6 or higher. With Postfix ≤ 3.5, the default algorithm is md5. The best-practice algorithm is now sha256. Recent advances in hash function cryptanalysis have led to md5 and sha1 being deprecated in favor of sha256. However, as long as there are no known "second pre-image" attacks against the older algorithms, their use in this context, though not recommended, is still likely safe.
    permit_tls_all_clientcerts
    Append the domain name in $myorigin or $mydomain when the remote SMTP client TLS certificate is successfully verified, regardless of Cacher 2.9.0 Product Key - Crack Key For U it is listed on the server, and regardless of the certifying authority.
    check_address_maptype:table
    type:table
    Append the domain name in $myorigin or $mydomain when the client IP address matches the specified lookup table. The lookup result is ignored, and no subnet lookup is done. This is suitable for, e.g., pop-before-smtp lookup tables.

    Examples:

    The Postfix < 2.2 backwards compatible setting: always rewrite message headers, and always append my own domain to incomplete header addresses.

    local_header_rewrite_clients = static:all

    The purist (and default) setting: rewrite headers only in mail from Postfix sendmail and in SMTP mail from this machine.

    local_header_rewrite_clients = permit_inet_interfaces

    The intermediate setting: rewrite header addresses and append $myorigin or $mydomain information only with mail from Postfix sendmail, from local clients, or from authorized SMTP clients.

    Note: this setting will not prevent remote mail header address rewriting when mail from a remote client is forwarded by a neighboring system.

    local_header_rewrite_clients = permit_mynetworks, permit_sasl_authenticatedpermit_tls_clientcertscheck_address_maphash:/etc/postfix/pop-before-smtp
    local_login_sender_maps (default: static:*)

    A list of lookup tables that are searched by the UNIX login name, and that return a list of allowed envelope sender patterns separated by space or comma. These sender patterns are enforced by the Postfix postdrop(1) command. The default is backwards-compatible: every user may specify any sender envelope address.

    When no UNIX luminar 2018 activation code - Free Activators name is available, the postdrop(1) command will prepend "uid:" to the numerical UID and use that instead.

    This feature ignores address extensions in the user-specified envelope sender address.

    The following sender patterns are special; these cannot be used as part of a longer pattern.

    *
    This pattern allows any envelope sender address.
    <>
    This pattern allows the empty envelope sender address. See the empty_address_local_login_sender_maps_lookup_key configuration parameter.
    @domain
    This pattern allows an envelope sender address when the '@' and domain part match.

    Examples:

    /etc/postfix/main.cf: # Allow root and postfix full control, anyone else can only # send mail as themselves. Use "uid:" followed by the numerical # UID when the UID has no entry in the UNIX password file. local_login_sender_maps = inline:{ { root = *}, { postfix = * } }, pcre:/etc/postfix/login_senders /etc/postfix/login_senders: # Allow both the bare username and the user@domain forms. /(.+)/ $1 $1@example.com/

    This feature is available in Postfix 3.6 and later.

    local_recipient_maps (default: proxy:unix:passwd.byname $alias_maps)

    Lookup tables with all names or addresses of local recipients: a recipient address is local when its domain matches $mydestination, $inet_interfaces or $proxy_interfaces. Specify @domain as a wild-card for domains that do not have a valid recipient list. Technically, tables listed with $local_recipient_maps are used as lists: Postfix needs to know only if a lookup string is found or not, but it does not use the result from table lookup.

    Specify zero or more "type:name" lookup tables, separated by whitespace or comma. Tables will be searched in the specified order until a match is found.

    If this parameter is non-empty (the default), then the Postfix SMTP server will reject mail for unknown local users.

    To turn off local recipient checking in the Postfix SMTP server, specify "local_recipient_maps =" (i.e. empty).

    The default setting assumes that you use the default Postfix local delivery agent for local delivery. You need to update the local_recipient_maps setting if:

    Details are described in the LOCAL_RECIPIENT_README file.

    Beware: if the Postfix SMTP server runs chrooted, you need to access the passwd file via the proxymap(8) service, in order to overcome chroot access restrictions. The alternative, maintaining a copy of the system password file in the chroot jail is not practical.

    Examples:

    local_recipient_maps =
    local_transport (default: local:$myhostname)

    The default mail delivery transport and next-hop destination for final delivery to domains listed with mydestination, and for [ipaddress] destinations that match $inet_interfaces or $proxy_interfaces. This information can be overruled with the transport(5) table.

    By default, local mail is delivered to the transport called "local", which is just the name of a service that is defined the master.cf file.

    Specify a string of the form transport:nexthop, where transport is the name of a mail delivery transport defined in master.cf. The :nexthop destination is optional; its syntax is documented in the manual page of the corresponding delivery agent.

    Источник: http://www.postfix.org/postconf.5.html
    params / PREMiERE s/n: LOG-90LEI-5919B-51 .
    Legal Crime (C) Byte Enchanters Ltd. : s/n: 8984-55778-91061-74317-52635-113237-9256 .
    Legal Crime v1.0 Windows 95/NT : s/n: 10007-120140-133885-40781-80398-70216-7273 .
    Legal Crime : Complete Chart: Number1: 2000 Number2: 0 Number3: 0 Number4: 0 Number5: 0 Number6: 0 Number7: 0 .
    Legal Crime v1.1.5 : s/n: 31697 63840 113921 131461 87275 53103 6371 .
    Legend Of the Red Dragon (LORD) +v3.55 : bbs: G.!.$ Name: TeLLeRBoP s/n nr.1: 6264 .
    Lemmings for Windows : s/n: 168255 .
    Lemmings for Windows (CD-RiP) : s/n: 374892 .
    Lesson Planner v1.0 : Password: AJWLP9432845 .
    Lesson Planner v1.1 : Password: AJWLP9432845 .
    LetterPerfect 2.1.2 (mac) : F2USMLP21D .
    Lexicon v1.2a : RegNum: TKKZFKH/Bob Marsh/702-926-3969/Carson City,NV .
    Liason 2.0 : 40026825185 .
    LiaSon v2.0 or 3.0 : s/n: 40026825185 .
    Light Chat +v1.00 : Name: The GuaRDiaN aNGeL s/n: 1712260759 or Name: TeLLeRBoP s/n: 3129619046 .
    LightLib 3D Business Graphics Server Standard & Pro V2.0: Standard: 02-40-00-00-000000-00-2-D009 Pro: 02-80-00-00-000000-00-2-5EE9 .
    LightLib Docs & Images Standard & Pro. V2.0: Standard: 01-40-00-00-000000-00-2-D16F Professional: 01-80-00-00-000000-00-2-5F8F .
    LightLib Layers & Vectors Standard & Pro. V2.0: Standard: 08-40-00-00-000000-00-2-5451 Professional: 08-80-00-00-000000-00-2-DAB1 .
    LightNing CD : s/n: LC110014980 .
    Lightning V1.0 For Delphi 3 : Code: 919-878-3717 .
    LightNing Graphics C-version v4.0a : s/n: 004-922-C9D00 .
    Lights95 : Name: Barefoot Reg: Wingman .
    Line Explorer Lamps v1.2 : Name: Versus s/n: 2100510 .
    Linkbot v3.5 beta build 155 : Name: (Anything) s/n: 131313 Pin: 340270 (Standard) 331721 (Pro) .
    Linkbot 2.0b (Build 65)Pro(v3.0) : Name: Saltine Company: Phrozen Crew '97 s/n: 1997 PIN: 579353 .
    Linkbot 2.0b (Build 65)Standard(v3.0) : Name: Saltine Company: Phrozen Crew '97 s/n: 1997 PIN: 302674 .
    LinkBOT v2.0C Standard version : Name: rANDOM [UCF] Company: UCF s/n: 07211 PIN: 303994 .
    LinkBOT v2.0C Pro version : Name: rANDOM [UCF] Company: UCF s/n: 0190331 PIN: 315265 .
    Linkbot v3.0 build 122 : Name: Cosmo Cramer Company: Vandelay Industry s/n: 320793 PIN: 307737 .
    Linkbot v3.5 beta (build 162)Win95/NT : s/n: 007 PIN: 309768 .
    LinkBot 3.5.171 : Name: PGC Company: PGC s/n: 1997 Key: 302674 .

    Источник: http://www.frans-petrij.nl/serials.htm
    Cacher 2.9.0 Product Key  - Crack Key For U

    Notice: Undefined variable: z_bot in /sites/kadinca.us/product-key/cacher-290-product-key-crack-key-for-u.php on line 107

    Notice: Undefined variable: z_empty in /sites/kadinca.us/product-key/cacher-290-product-key-crack-key-for-u.php on line 107