Salesforce Summer18 release quick summary

Advertisements

Last Updated on April 15, 2019 by Rakesh Gupta

Currently, Summer’18 release is available under the pre-release program. On the 4th and 5th of May, Sandboxes will be upgraded; as a result, your organization will get the look and feel of Summer’18 releaseIn this release, you will find lots of new features, as well as, new enhancements related to Lightning Experience and Communities.

For example, features likeEncourage Users to Adopt Lightning Experience, Get Insight into User Activities with the Lightning Usage AppEliminate Duplicate RecordsSet Up Person Accounts in Lightning Experience and  Products: Work with Schedules in Lightning Experience are now available in Lightning Experience. 

Also, check out these beta and pilot features:

  • Keep List Email Under Lock and Key (Beta): – Keep your company compliant with regulations and obligations about personally identifiable information. Use Shield Platform Encryption to secure the names and email addresses used in list emails.
  • Increase Productivity with Inbox Beta for Outlook (Beta): – Inbox Beta for Outlook brings together the best features of Lightning for Outlook and Salesforce Inbox in one solution. It includes all the features of the free version of Lightning for Outlook, plus features to increase sales productivity while working in email.
  • Joined Reports Arrive in Lightning Experience (Beta): – Joined reports are perfect for analyzing Salesforce data across multiple report types (like Opportunities with Products joined to Cases with Assets) or getting multiple, simultaneous views of an object (like Closed Won Opportunities alongside Closed Lost Opportunities).

    Reference – Salesforce release notes

  • Use Sharing Sets with All Customer and Partner Licenses (Beta): – You can now use sharing sets with the Customer Community Plus and Partner Community licenses, or in other words, with role-based community licenses.
  • Use Triggers to Track Data Changes on External Objects with the OData 4.0 Adapter (Beta): – No need to build your own business logic with triggers that react to data changes on external standard and custom objects. With the OData 4.0 adapter for Salesforce Connect, you can track changes made to data that’s stored outside your Salesforce Org. You can then set up your org to react to those changes to increase productivity or provide a better experience for your customers. 
  • Keep Your External Data Up to Date with Change Data Capture (Pilot): – Receive near-real-time changes of Salesforce records, and synchronize corresponding records in an external data store. Change Data Capture publishes data change events, which represent changes to Salesforce records. Changes include creating a record, updating a record, deleting a record, and undeleting a record. The Data Change Capture pilot was offered the last release. This release includes some enhancements.
  • Scale Your Event-Based Apps with High-Volume Platform Events (Pilot): – Use high-volume platform events to publish and process millions of events efficiently. This pilot was offered the last release, and Salesforce has made enhancements for this release.

When a process fails at runtime, the user usually presented with cryptic error messages. The messages are now friendlier and include the process name and error ID. If the error occurs when creating or updating a record, the message also includes technical details for the user to give you to help with troubleshooting. For example, if the error occurs because of a validation rule, users get information that they can act on. 

Reference – Salesforce release notes 

Lightning Experience is supported by Apple® Safari® version 11.x+ on Mac OS X. The most recent stable versions of Microsoft® Edge, Mozilla® Firefox®, and Google Chrome™ are also supported. Salesforce now offering Extended Support for IE11. This extended support is available through December 31, 2020. You ca not access Lightning Experience via a mobile browser.

Salesforce Classic is supported with Microsoft® Internet Explorer® version 9, 10, and 11, Apple® Safari® version 11.x on Mac OS. The most recent stable versions of Microsoft® Edge, Firefox®, and Google Chrome™ are also supported.

Below is the quick summary of Summer’18 release from user’s /customer’s

Customers/Users Point of view

1. Get Insight into User Activities with the Lightning Usage App: – Track adoption and usage of Lightning Experience. The Lightning Usage App includes charts for daily and monthly active users, number of users switching to Salesforce Classic, and more. These quantifiable measures help you understand your users’ experience and optimize your resources for training and other support.

To access the Lightning Usage app, click on the App Launcher | Lightning Usage App | Lightning Usage. Click a tab under ACTIVITY or USAGE on the left side of the page to view the associated data.

2. Search the Object You Want Easily from Anywhere: – When you want to search an object, cut the clutter, and see results only for what you’re searching for, from anywhere in the app. Choose any searchable object in the dropdown list next to the global search box. Enter your search term, and both instant results and full search results are limited to that object.

 you don’t select an object, search works, as usual, returning matches from different objects as you type. The Top Results page then shows you the most relevant matches from your most frequently used objects.

3. Streamline Your List Views with Detailed Filters: – You no longer have to switch to Salesforce Classic to use detailed list view filter criteria. Find important data in your list views with more detailed filters in Lightning Experience, and supercharge your sales reps.

Do you want to see all the open leads in your sales queue from a campaign? Stay on top of your accounts, contacts, leads, opportunities, and custom objects by surfacing the most relevant information when you need it. With these new filters, you can filter:

  • Accounts by territory
  • Contacts by campaign
  • Leads by queue and campaign
  • Opportunities by territory
  • Custom objects by a queue

4. Organize Records with Topics: – Topics provide a way to organize records by theme. Now you can use topics on records in Lightning Experience by adding the Topics component to record pages. Topics are automatically enabled for all available standard objects. If you used topics on records in Salesforce Classic, after you add the Topics component, your users see previously added topics on the same records in Lightning Experience.

You can able to configure the title, the placeholder text that appears in the topic editor, and the number of topics shown before the Show More link appears.

5. Tailor Survey Questions Based on Participant Responses: – Now you no longer have to require participants to click through every survey question. Instead, writing your own logic to present a participant a particular follow-up question based on the answer to a previous question. By adding logic rules, participants do not have to wade through irrelevant questions, and you can gather more accurate data.

Reference – Salesforce release notes

For example, you want to send a survey to attendees of an important event. You need to know if any attendees have dietary restrictions. If an attendee responds yes, you can follow up by asking about food allergies. If an attendee responds no, you can skip the question about food allergies.

6. Send List Emails to Campaign Members: – Now marketing users can save time and effort by sending list emails directly to members of a campaign. The emails appear in the campaign’s activity timeline and are associated with the campaign record.

7. Set Up Person Accounts in Lightning Experience: – You can now set up Person Account page layouts, record types, and compact layouts without wasting time switching to Salesforce Classic.

Reference – Salesforce release notes

8. Do More with Tasks from the List View: – Reps can do much more with tasks now that they can see a list view. Built-in list view filters let reps find tasks quickly, columns are sortable, and reps can apply filters to narrow down what they see.

Reps have three views to work with when viewing and managing tasks. Split view allows them to view record details side-by-side. 

9. Products: Work with Schedules in Lightning Experience: – Now product schedules fully available in Lightning Experience, reps can now do it all in one place. Establish, update, and delete revenue and quantity schedules on opportunities without leaving Lightning Experience. 

Sales reps can establish, update, and delete default schedules from the Product detail page.

10. Duplicate Management: Run Duplicate Jobs on Custom Objects: – Duplicate jobs are not just for accounts, contacts, and leads anymore. You can now run jobs on the custom objects you’ve created to support your business processes. Field-by-field comparison and merging of records aren’t supported. This only applies to Lightning Experience in Performance and Unlimited editions.

11. Use Responsive Layouts for Landing Pages (Pardot Specific): – Now you do not need to manually code responsive layout templates in Pardot. Salesforce now offers responsive prebuilt layouts that you can edit to suit your brand’s look and feel. Import one of five prebuilt layouts, customize it and then use it again to style your landing pages. You can also preview templates, so you can be confident about your design before publishing your template. This feature is available to users with a Salesforce Engage license.

12. Einstein Bots to the Rescue: Boost Service Team Productivity with Bots (Generally Available): – Make your service agents’ lives easier with Einstein Bots. Bots can handle routine and repetitive customer requests, freeing your agents to spend their time on more complex issues that are better suited for humans. Does your customer just need an order status? A password reset? Store hours and location? No problem – Einstein Bots can do it in their sleep!

Reference – Salesforce release notes

You can set up bots to gather pre-chat info such as contact details and a case number. Einstein Bots is available to orgs with Service Cloud and Live Agent user licenses. 

13. Resolve Cases with Chat and Lightning Guided Engagement (Generally Available): – Walk your agents through your business processes with Lightning Guided Engagement. When a chat is accepted, agents see the chat, contact details, and flows you have defined that must be completed. Agents can see appropriate business processes right next to their chat because of flows open as subtabs of the chat primary tab. Lightning Guided Engagement is great for support agents, and great for you – because you can configure all this functionality with clicks, not code.

14. Reimagine Reporting with Lightning Report Builder (Generally Available): – Give your users a powerful, intuitive tool for analyzing Salesforce data. The future in reporting has fully arrived with Lightning report builder becoming generally available. 

Lightning report builder is a powerful and intuitive tool for analyzing your Salesforce data. Group, filter, and summarize records to answer business questions like How much revenue did we generate from new business in California last quarter? For a visual overview of your data, add a report chart. When finished, run your report to see full results.

Now that Lightning Report Builder is generally available, Hide the embedded Salesforce Classic report builder in Lightning Experience replaces the Enable Lightning Report Builder (Beta) option on the Reports and Dashboards Settings page. If Enable Lightning Joined Reports (Beta) is selected, you can still access the Salesforce Classic report builder in Lightning Experience.

15. Organizing your Report and Dashboard Folders in Lightning Experience: – Life can be complicated, but organizing your content just got easier. With subfolders, you can quickly create a logical structure for your report and dashboard folders. The organization can be by region, role, or function, or whatever makes the most sense to you. Moving content between folders is also easier.

When you’re organizing reports and dashboards in folders, subfolders make life easier for everyone. For example, you are responsible for creating reports for your customer service organization. You already have a Sales Reports folder that you are sharing with Sales, so the sales reps can see what issues have come up. But the reps in each region only want to see the reports from customers in their own region. All you have to do is create a subfolder for each region in the sales folder, and woohoo!, the reps in each region get to see only what they’re interested in.

These changes apply to Lightning Experience in Group, Essentials, Professional, Enterprise, Performance, Unlimited, and Developer Editions.

16. Add Dashboard Subscriptions for Others in Lightning Experience: – You can now able to add additional people as dashboard subscribers. Everyone you add will receive a refreshed dashboard by email according to the schedule you set up.

For example, every Monday 8:00 AM sales meeting and your sales pipeline presentation. You are ready to present this week because your Sales Pipeline dashboard subscription ensures that your refreshed dashboard arrives by email with plenty of time for review. But you will be away next week. Your office mate has agreed to cover for you, but what about the pipeline presentation? Add him/her as a subscriber to your dashboard, that’s it.  

17. Improve Your Customer’s Community Experience with Progressive Rendering: – Now you have finer control of your community’s first impressions with Progressive Rendering. You can specify in which order components are displayed when the page loads to optimize your site’s speed. For instance, have material at the top of a long page display first while content that is not in screen view loads later. 

18. Show Your Trailhead Badges in Your Profile: – Now you have a ready view of your Trailhead accomplishments. Your user profile shows the Trailhead badges you have earned. It is a great way to show off all your hard work and expertise with your colleagues.

19. Override the Sender for Approval Request Email Notifications: – By default, the sender for email notifications about approval requests is the user who submitted for approval. Now you can override the sender with an organization-wide address, like info@aautomationchampion.com, from your process automation settings.

This change applies to both Lightning Experience and Salesforce Classic in Enterprise, Performance, Unlimited, Contact Manager, and Developer editions.

Additional enhancements worth noting!

1. Control Who Receives Flow and Process Error Emails: – When a process or flow interview fails, Salesforce sends a detailed flow error email to the admin who last modified the process or flow. But perhaps that admin is not the best person to read and act on the details of what was executed and what went wrong. Now you can send flow error emails to the Apex exception email recipients that you specify in Setup.

To change where flow error emails are sent, navigate to the Setup | Process Automation Settings | Send Process or Flow Error Email and update it. 

To specify users and email addresses as Apex exception email recipients, navigate to Setup | Apex Exception Email. Keep in mind that these users and email addresses also receive Apex exception emails.

2. Create Case Teams in Lightning Experience: – Now all your case team members can work together in Lightning Experience, as well as Salesforce Classic. A case team is a group of people that work together to solve cases.

This change applies to Lightning Experience in Essentials, Group, Professional, Enterprise, Performance, Unlimited, and Developer editions.

3. Control Who Can Access Campaign Members: – Keep lead and contact details private even when they’re added to campaigns. Let your marketing department see only the campaign member details that you want them to. Sharing rules for campaign members can inherit from lead and contact rules or from the campaign.

To let users see only the campaign members whose lead or contact records they have access to, in Sharing Settings choose Controlled by Lead or Contact. To let users who have access to a campaign see campaign member details, choose Controlled by Campaign.

Administrators/Developers Point of view

1. Use a Formula to Set a Predefined Value for a Picklist Field on an Action: – Now you can set a predefined value for a picklist field on a quick action. You can specify an item from the set of picklist values, or use a formula to set a second predefined value. Now you can easily move to Lightning Experience in case you are using JavaScript to set predefined field values. 

2. Create an External Service (Generally Available): – Use External Services to connect to an outside service, invoke methods based on the external source via a flow, and import the service data into Salesforce. For example, you can connect to a credit service that determines if credit is extended to a Salesforce account. Want to know the payment terms? Use External Services. When the flow runs, the output contains the credit decision and, if applicable, the payment terms. 

3. Make It Easy for Your External Users to Log In to Your Community with Passwordless Login: – Give your community members, customers, and other external users the convenience of logging in to your community with a verification code instead of a password. For example, have your external users log in with a code Salesforce sends in an email or text message. This feature is called passwordless login.

This feature is available for Lightning communities and Salesforce Tabs + Visualforce accessed through Lightning Experience and Salesforce Classic. Communities are available for Enterprise, Performance, Unlimited, and Developer editions.

4. Set When Links Expire in Welcome Emails: – No more endless welcomes. Verification links with a shorter validity period provide greater security for your Org. Configure welcome email links to expire after 1, 7 (the default), or 180 days. Previously, the default was six months. The default validity period also applies to welcome emails that you sent before Summer ’18.

To modify it, navigate to Setup | Session Settings page. 

5Rename Your My Domain When You Want: – If you have an existing My Domain subdomain, you can now rename it without contacting Salesforce Customer Support. My Domain lets you highlight your brand, so Salesforce is making it easier to change it when your company’s name or branding changes.

–> This change applies to Lightning Experience, Salesforce Classic, and all editions, except the Developer Edition.

6. Visual Flow Enhancements: – Flows is now available in Essentials and Professional editions. With these editions, you can have up to five active flows. There are several enhancements in Visual workflow, as follows:

A) Capture Date/Time Values in Flow Screens: – Use the new Date/Time screen field type in the Cloud Flow Designer to capture times in flows, such as when scheduling events or appointments. 

B) Debug Your Flows in Cloud Flow Designer: – Cloud Flow Designer now offers a debug option to help you test and troubleshoot your flows. Easily set input variables, quickly restart flows, and view all the gory details of what’s happening in real time as your flow executes.

Set the debug options and input variables. Then click on the Run button.

C) Process and Flow Error Emails: Generally Available with Org IDs and Recipient Control: – When a process or flow element fails to execute at runtime, Salesforce sends an email with the error message and details about the executed elements. Now Salesforce has added the org name and ID in the error email so that you know which org to troubleshoot if you are managing multiple orgs.

D) Monitor Process and Flow Usage Against Per-Transaction Governor Limits: – Processes and flows can do powerful things, and those things often count toward your per-transaction limits. Now you can use debug logs to identify which actions contribute the most against those limits. These details help you troubleshoot errors and monitor usage as you activate and distribute your processes and flows. You can also use these details while testing processes and flows that you’re building to prevent them from reaching governor limits at the runtime. Use these debug event types to monitor process and flow usage against per-transaction governor limits.

  • FLOW_START_INTERVIEW_LIMIT_USAGE – Includes how much of a limit is used by the transaction upon starting the process or flow interview but before executing process or flow elements. Also includes the per-transaction limit.
  • FLOW_ELEMENT_LIMIT_USAGE – Includes how much of a limit is used by the process or flow element, the total count used by the transaction after executing the element, and the per-transaction limit.
  • FLOW_BULK_ELEMENT_LIMIT_USAGE – Includes how much of a limit is used by the element executed in bulk, the total count used by the transaction after executing the element, and the per-transaction limit.

E) Make Sure That Flow and Process Bulk Operations Are Supported: – To check whether flow or process bulk operations aren’t executing in bulk, review the new FLOW_BULK_ELEMENT_NOT_SUPPORTED debug log line.

F) More Granular Batching for Scheduled Actions and Flow Interviews Help You Avoid Runtime Errors: – This is a resolution of a known issueWhen Salesforce executes scheduled process actions or waiting flow interviews, it batches them together with other scheduled process actions or waiting flow interviews. Previously, a batch could include different process or flow versions started by different users. Not knowing what is included in the batch makes it hard to design processes or flows so that they don’t exceed limits or execute restricted operations. To help you avoid limits, scheduled actions or waiting interviews are executed together only if they have the same execution time, the same process or flow version ID, and the same user ID that triggered the process or interview.

G) Enable Partial Save for Create and Update Operations in Processes (Critical Update): – This update prevents a failed process from causing all running processes in the transaction to fail. Instead, Salesforce rolls back only the records that fail to save. Check out this article for more details. 

7Trigger Custom Application Logic When Users Log Out (Beta): – To increase security, use Apex triggers to subscribe to logout events to run custom processes. For example, you can revoke all OAuth sessions for users when they log out of your Org. Salesforce publishes logout events when the LogoutEventStream object is enabled. The LogoutEventStream object also has new fields: SessionLevel and SourceIp.

8. Enable Debug Mode for Only the Users Who Need It: – When debugging Lightning component JavaScript code, enable debug mode only for the users who are actively debugging to not affect the performance of Salesforce for other users of your Org. Salesforce is slower when running in debug mode. Now you can debug problems that appear in your production environment without worrying that other users will complain or even notice.

–> To enable debug mode for users in your org, navigate to Setup | Custom Code | Lightning Components| Debug Mode Users page in Setup. Find the relevant users in the list, check the box next to their name, and click Enable. To turn debugging off, click Disable.

9. New Lightning Navigation APIs for Lightning Components: – With the lightning:isUrlAddressable interface, you now control which Lightning components can be opened programmatically. You can also now easily capture URL parameters using the v.pageReference attribute and use the parameter values in your component. With the lightning:navigation component, define a pageReference object for navigating to a custom component that implements lightning:isUrlAddressable and set any attributes the component allows.

10. Quickly Identify the Salesforce Theme That Users See in JavaScript: – If you use a lot of JavaScript in your pages and apps, identifying the Salesforce user experience helps you manage navigation in your JavaScript code. Detecting the Salesforce theme used to require multiple steps and utility functions. The streamlined process involves one new function: UITheme.getUITheme()UITheme.getUITheme() returns a string that indicates the current user’s interface theme. 

function isLightningDesktop() { 

return UITheme.getUITheme === "Theme4d"; 

}

11. Simplify Your Code with the Apex Switch Statement: – Apex now provides a switch statement that tests whether an expression matches one of several values and branches accordingly.  The switch statement evaluates the expression and executes the code block for the matching when value. If no value matches, the code block for the when else block is executed. If there isn’t a when else block, no action is taken.

12. Get the Developer Name for Record Types More Easily: – There are new Apex methods to help you get the developer name for record types more easily. Previously, the developer name was accessible only via SOQL on the RecordType SObject, and not via describe information. You can use the following methods to get the developer name.

  • Schema.DescribeSObjectResult.getRecordTypeInfosByDeveloperName()
  • Schema.RecordTypeInfo.getDeveloperName()

13. Apex Code Size Limit Increased: – The maximum amount of Apex code that you can use in an org has been doubled, from 3 MB to 6 MB. If your org was previously approved for an increase above 6 MB, it remains unchanged.

14. Enable Access to Metadata Without Enabling Access to Data, Too (Beta): – If a user requires access to metadata but not to data, enable the new Modify Metadata permission to give the access the user needs without providing access to org data. Users can create, edit, and delete org metadata but not org data. Users must have appropriate access rights to the metadata they’re trying to modify. Modify Metadata is enabled automatically when the Deploy Change Sets permission is selected.

15. Update Multiple Validation Rules with Custom Metadata Type Records (Generally Available): – With custom metadata type records available for reference in the validation rules, you do not need to hardcode values. Reference the records directly within the validation rules to avoid adding the same values to each rule. It means now you can reference metadata record to better manage your validation rules, etc. 

The ability to reference custom metadata type records helps subscriber orgs, too. Previously, when you added a validation rule to a managed package, a subscriber could not edit it. Now you can define the logic and leave customization to a subscriber.

16. $CustomMetadata Global Variable: – $CustomMetadata is a global variable in validation rule formulas to dynamically reference custom metadata types using the syntax $CustomMetadata.type.record.field.

17. Store Larger Debug Logs with Changed Log Limits: – Salesforce has increased the size limit for debug logs from 2 MB per log to 5 MB. You can store up to 250 MB of debug logs at a time. System logs are now deleted automatically after 24 hours instead of after seven days. Monitoring logs are still saved for seven days.

Salesforce1 Enhancements

Your users have several options for accessing Salesforce on mobile devices that meet minimum platform requirements.

  • Install Salesforce for Android or iOS. Users can download the app from Google Play or the App Store.
  • Access Salesforce mobile web from a supported mobile browser on select Android, Apple, or Windows mobile devices. This option doesn’t require anything to be installed.

1Create and Update Person Accounts with Quick Actions – Let users add or update person accounts in a flash using global and object-specific quick actions in Lightning Experience. With person account quick actions, users can also update person accounts in related record components.

2See More on the Go with Enterprise Territory Management: – Mobile reps now get the Users in Assigned Territories related list on accounts. This change applies to all versions of the Salesforce app.

3Share Posts, Polls, and Questions on Mobile: – To align features across platforms, Salesforce now offer sharing in the Salesforce mobile browser app. Get a consistent sharing experience as you move from one mobile platform to another.

4Get Rich Text in Mobile (Generally Available): – Now you get the same formatting, list making, and code snippet and inline image inserting across all platforms. Your mobile devices are closer than ever to giving you the full Salesforce experience on the go.

5Keep Users in the Loop with Richer Full Content Push Notifications: – Fully encrypted push notifications give users more context for mentions and other important business tasks and updates happening in Salesforce. Salesforce admins control how much information push notifications include, keeping sensitive information inside the app. The new style of push notifications aligns with Lightning Experience, for a consistent user experience on the go. 

The new Display full content push notifications option is visible on the Manage Connected Apps page in Setup with the Summer ’18 release.

–> The new push notifications aren’t visible until after Salesforce for Android and iOS version 16.0 are released later this summer. The Enable full content in push notifications current functionality goes away later this summer after Salesforce for iOS and Android 16.0 are generally available.

Note: – You can download release notes in HTML format!, for PDF file.

🍔 🌮 🍪 🍰 I am thankful to Resco.net for sponsoring my blog.  🍔 🌮 🍪 🍰

Have feedback, suggestions for posts, or need more information about Salesforce online training offered by me? Say hello, and leave a message!

Preferred Timing(required)

9 thoughts on “Salesforce Summer18 release quick summary

  1. Thank you, Rakesh! Unfortunately, we still can’t use the TEXT() function in the formula to set a predefined field value. If others come across this issue, you can use a workaround of using ISPICKVAL() nested within an IF() statement. Thanks again!

    1. Rakesh Gupta – Mumbai – 9x Salesforce MVP | Senior Solution Architect | 8x Author | 5x Dreamforce Speaker | Salesforce Coach | Co-host of AutomationHour.com and AppXchangeHour.Com

      Thank you so much!

    1. Rakesh Gupta – Mumbai – 9x Salesforce MVP | Senior Solution Architect | 8x Author | 5x Dreamforce Speaker | Salesforce Coach | Co-host of AutomationHour.com and AppXchangeHour.Com

      🙂

    1. Rakesh Gupta – Mumbai – 9x Salesforce MVP | Senior Solution Architect | 8x Author | 5x Dreamforce Speaker | Salesforce Coach | Co-host of AutomationHour.com and AppXchangeHour.Com

      Thank you sir! 😊

  2. missylongshore – I've been working in the nonprofit sector since 1999. I'm a certified Salesforce Administrator and Developer and I've been working with nonprofits and foundations on their Salesforce implementations since 2009. I live in the East Bay and enjoy hiking.

    Report subfolders – woo hoo!!!!

    1. Rakesh Gupta – Mumbai – 9x Salesforce MVP | Senior Solution Architect | 8x Author | 5x Dreamforce Speaker | Salesforce Coach | Co-host of AutomationHour.com and AppXchangeHour.Com

      Woohoo…it is one of the most voted idea

Leave a ReplyCancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Discover more from Automation Champion

Subscribe now to keep reading and get access to the full archive.

Continue reading

Exit mobile version
%%footer%%