Changelog History
Page 11
-
v2.104.0 Changes
March 11, 2020- π
apos.utils.get
andapos.utils.post
now return a promise if invoked without a callback. This means you may useawait
with them. It is up to you to provide aPromise
polyfill if you use this feature without callbacks and intend to support IE11. For instance you could use thecore-js
library. These methods are similar to$.get
and$.post
but do not require jQuery.apos.utils.post
supports Apostrophe's CSRF protection natively so you do not have to add an exception if you use it. These methods are available in lean frontend mode. apos.utils.get
no longer adds an unnecessary?
to the URL it fetches ifdata
has no properties. In addition,apos.utils.get
leaves the URL unchanged ifdata
is null.- β Recursion warnings now include a hint to add a projection to pieces-widgets as well as more obvious joins.
- β‘οΈ Dependencies updated to reflect latest version of
emulate-mongo-2-driver
, which contains an important fix tocount
.
- π
-
v2.103.1 Changes
March 04, 2020- π An incompatibility with apostrophe-headless was introduced in Apostrophe 2.102.0. This version addresses that incompatibility, however you must also upgrade apostrophe-headless to version 2.9.3. The issue had to do with a change that was made to allow users to intentionally clear default values in forms. We are updating our regression test procedures to ensure that if a new release of apostrophe would break the unit tests of apostrophe-headless, it will not be published until that issue is resolved.
-
v2.103.0 Changes
March 02, 2020- Frustrations with conflict resolution have been much improved. First, Apostrophe no longer displays the "another user has taken control of the document" message multiple times in a row. Second, due to changes in what browsers allow to happen when you leave the page, beginning in version 2.102.0 Apostrophe displayed too many messages about a conflict with your own work in another tab. We no longer display these messages. However, if there really is work lost for the same document in another tab, Apostrophe will still tell you what happened in order to teach the habit of not editing the same page in two tabs simultaneously.
- You may now use
select
schema field with dynamic choices as a filter in "Manage Pieces." - π
required
is now enforced on the server side forjoinByOne
. However, note that it is always possible for the document you joined with to be moved to the trash at a later time. You must therefore always check that the join was really loaded before relying on it. Thanks to Ricardo JosΓ© RodrΓguez Γlvarez. - βͺ Hidden information at the bottom of certain modals has been restored to view.
-
v2.102.5 Changes
February 26, 2020- π Explicitly require emulate-mongo-2-driver 1.2.1 or better, to address a bug in 1.2.0.
-
v2.102.4 Changes
February 25, 2020- π Explicitly require emulate-mongo-2-driver 1.2.0 or better, which provides a deprecation-free wrapper for
count
and fixes bugs in the wrapper foraggregate
.
- π Explicitly require emulate-mongo-2-driver 1.2.0 or better, which provides a deprecation-free wrapper for
-
v2.102.3 Changes
February 24, 2020β‘οΈ Security fix for Prototype Override Protection Bypass vulnerability in the qs module. It appears this risk only occurs when our
build
Nunjucks filter is used in conjunction with a URL based on what the browser sent, rather than starting with the_url
property of the page and adding parameters to that withbuild
, thus it is not an issue "out of the box" in all or most ApostropheCMS sites. However the vulnerability should be patched promptly because it could definitely exist in current or future project level code that usesbuild
. To eliminate the risk, update to this version of Apostrophe and make sure you "npm update" to get the required updated version ofqs
via Apostrophe's dependencies.π This version also corrects a bug that prevented the recently released disableInactiveAccounts feature from working.
-
v2.102.2 Changes
February 11, 2020- β Removed the restriction preventing the use of
mongodb+srv
connection URIs with MongoDB.emulate-mongo-2-driver
has no problem with these, since it passes them on to the 3.x driver. - β‘οΈ Updated dependency to
emulate-mongo-2-driver
1.1.0, which knocks out 100% of the common MongoDB deprecation warnings when using Apostrophe, with one exception: you should set theuseUnifiedTopology: true
option yourself. We do not do this for you because we cannot break legacy configurations using other topologies. However most of you can just turn this option on and enjoy more reliable connections and no more warnings.
π§ Here is how to configure that in Apostrophe:
// in app.js, where your modules key is... modules: { 'apostrophe-db': { connect: { useUnifiedTopology: true } } }
- β Removed the restriction preventing the use of
-
v2.102.1 Changes
February 10, 2020- π Temporarily pinned to
less
version 3.10.x to work around an upstream bug that broke π deployments.
- π Temporarily pinned to
-
v2.102.0 Changes
January 30, 2020- Apostrophe now displays "Saving... Saved" indicators near the context β menu in the lower left indicator. In our UX tests, users often did not realize Apostrophe automatically saved their work and were concerned by the lack of an explicit save button. In addition, Apostrophe no longer π attempts to save your remaining changes via a synchronous HTTP request when you π close the page, because this is deprecated in all browsers and disabled in many. Instead, Apostrophe uses the standard "you have unsaved changes, are you sure you wish to leave this page?" dialog. Together with the "saving... saved" indicator, this provides a mechanism for preventing π» lost work that is robust in modern browsers.
This does impact Apostrophe's "advisory locking" mechanism that warns users π if another user is already editing. Since we cannot guarantee a synchronous request to unlock the page will ever be received, we have instead shortened the expiration time for document locks to 30 seconds. Since these are refreshed every 5 seconds there should be no negative impacts in typical use.
π Thanks to Freshworks for making this improvement possible via Apostrophe Enterprise Support.
- π New
disableInactiveAccounts
option, which can be set like so:javascript 'apostrophe-users': { disableInactiveAccounts: true }
0οΈβ£ By default, users from the "admin" group are whitelisted and the inactivity period is 90 days. This can be changed:
{ // in your project level lib/modules/apostrophe-users/index.js file disableInactiveAccounts: { neverDisabledGroups: [ 'test', 'otherGroup' ], // After 30 days without logging in, the account is marked disabled // on next login attempt, until an admin explicitly enables it again inactivityDuration: 30 } }
β‘οΈ A longstanding bug relating to schemas has been fixed. Previously, if you attempted to clear a string field that had a
def
property, that field would be repopulated with thedef
value. This was never intended;def
is only for the initial population of a newly created object. If you were relying on this bug, update your code to useapos.schemas.newInstance(schema)
from the start so that you begin with an object that has the right defaults for each field. Note that pieces, pages, etc. already do this.β Added a
bodyAttributes
block toouterLayoutBase.html
. You may override this block to add new attributes tobody
without overriding the entireouterLayoutBase.html
template. It is a best practice to not override this template, use the provided blocks.Fields of type
attachment
withrequired
not set totrue
now work properly.You may now set the
loginUrl
option of theapostrophe-login
module to change the login URL from/login
to something else. Thanks to Giuseppe Monteleone for this contribution.π
help
property is now supported for array fields.Uploads with a capitalized file extension are now accepted where appropriate. Thanks to Fernando Figaroli for this contribution.
When editing a join with pages, a nonfunctional edit pencil icon is no longer displayed. Actual inline editing of page settings from another page may be a 3.0 feature.
-
v2.101.1 Changes
January 08, 2020- π Dependency on
emulate-mongo-2-driver
is now explicitly set to require at least version 1.0.3 to bring in various fixes. - Reported
landscape
andportrait
properties of an image attachment object now correspond to the crop in use, if any.
- π Dependency on